]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Handle slash in HFS label.
[grub2.git] / ChangeLog
CommitLineData
9f3fc883
VS
12012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Handle slash in HFS label.
4
5 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6 (grub_hfs_dir): Tanslate slash.
7 (grub_hfs_label): Don't translate slash.
8
54853fd7
VS
92012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
12 network protocol listing since it introduces problematic dependency on
13 net module.
14
4dc02ddf
VS
152012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
16
17 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
18
c50c867d
VS
192012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
20
21 Init video early on yeeloong to avoid being rebooted by watchdog.
22
23 * grub-core/Makefile.am (gensm712): New target.
24 (sm712_start.S): Likewise.
25 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
26 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
27 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
28 description.
29 * include/grub/vga.h: Move registry definitions to...
30 * include/grub/vgaregs.h: ... here.
31
5f92c8a1
VS
322012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
35 signedness.
36
e9e6f111
VS
372012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
40 platforms with firmware disk drivers in the core.
41
754ad9eb
VS
422012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
45 informative verbose message.
46 (read_lv): Handle 64-bit segment size.
47
315654c2
VS
482012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
51
fb022c79
VS
522012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
55 character but still remove trainling spaces.
56 (grub_fat_label): Ignore archive flag.
57
8645f72c
VS
582012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
61 cast between linux_kernel_header and linux_kernel_params.
62
36498496
VS
632012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
66 type for size.
67 (grub_raid6_recover_func_t): Likewise.
68 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
69 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
70
0b5ea6b8
VS
712012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
74
650cfcfe
GS
752012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
76
77 Fix overflow.
78
79 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
80 [__NetBSD__]: Add explicit cast before bitshift.
81
8a4d6a44
VS
822012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * configure.ac: Bump to 2.00~rc1.
85
2fb97ed3
VS
862012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
89 half of $a0.
90
1fa097dc
VS
912012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
922012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
93
94 * docs/grub.texi: Fix search syntax.
95 (Multi-boot manual config): Put msdos rather than GPT example.
96 Grammar corrections.
97
c890ba78
VS
982012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
101
0f92dca7
VS
1022012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
105
3988c4a0
VS
1062012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
109 message on double free. Put the value of magic in case of mismatch.
110
9e86d4c5
VS
1112012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
112
113 Speed-up video on yeeloong.
114
115 * grub-core/video/sm712.c (framebuffer): Remove render_target and
116 add cached_ptr.
117 (grub_video_sm712_video_fini): Unmap cached_ptr.
118 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
119 (grub_video_sm712_set_active_render_target): Removed.
120 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
121 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
122 sync caches.
123
ed24c312
VS
1242012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
125
126 Avoid flushing the same line multiple times on loongson.
127
128 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
129 Step in 32 bytes and not 1 byte.
130 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
131 Likewise.
132
d1718e7d
VS
1332012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
136 subvolumes.
137
982f1909
VS
1382012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
139
140 Implement flow control for http.
141
142 * grub-core/net/http.c (parse_line): Handle response 206.
143 (http_receive): Stall if too many packets are in the queue.
144 (http_establish): Fix range header.
145 (http_seek): Fix double free.
146 (http_close): Likewise.
147 (http_packets_pulled): New function.
148 (grub_http_protocol): Set http_seek
149 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
150 (ack_real): Set window depending on i_stall.
151 (grub_net_send_tcp_packet): Likewise.
152 (grub_net_tcp_stall): New function.
153 (grub_net_tcp_unstall): Likewise.
154 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
155 (grub_net_tcp_unstall): Likewise.
156
bd407d6e
VS
1572012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/net/tftp.c: Decrease stall to 50 packets.
160
c7564b8e
VS
1612012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
164
a3706162
VS
1652012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * tests/util/grub-shell.in: Fix a typo.
168
b27069e0
VS
1692012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
170
171 Implement flow control for tftp.
172
173 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
174 packets but stop only if stop condition is satisfied.
175 (grub_net_fs_read_real): Call packets_pulled after real read. Use
176 `stall' instead of `eof' as stop condition.
177 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
178 (http_err): Likewise.
179 * grub-core/net/tftp.c (ack): Replace the first argument with data
180 instead of socket.
181 (tftp_receive): Stall if too many packets are in wait queue.
182 (tftp_packets_pulled): New function.
183 (grub_tftp_protocol): Set packets_pulled.
184 * include/grub/net.h (grub_net_packets): New field count.
185 (grub_net_put_packet): Increment count.
186 (grub_net_remove_packet): Likewise.
187 (grub_net_app_protocol): New field `packets_pulled'.
188 (grub_net): New field `stall'.
189
6b9cfac6
VS
1902012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
191
192 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
193 sync part to handle them.
194
f35abd81
VS
1952012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
198 * grub-core/net/drivers/ieee1275/ofnet.c
199 (grub_ieee1275_net_config_real): Likewise.
200
0e7ec820
VS
2012012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
204 the direct route for server/gateway.
205
9d611a31
VS
2062012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
209 IP address to server name since we may not hame the DNS.
210
418f45ab
VS
2112012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
212
213 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
214 freeing random buffer on failure.
215 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
216
44a0efc1
VS
2172012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
220
531e2241
VS
2212012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
224 reserved bytes.
225 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
226 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
227 Handle malloc error correctly.
228
cde393c9
VS
2292012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
232 blocks.
233
538478d0
VS
2342012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
237 increment.
238
9b55efe0
VS
2392012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
242 none is explicitly specified.
243
9eb832c3
VS
2442012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
247 while reallocating.
248
d6b7c7c9
VS
2492012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
250
251 Respect netmask from bootp/dhcp.
252
253 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
254 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
255 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
256 into ...
257 (grub_net_add_ipv4_local): ... this.
258 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
259 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
260 (grub_net_add_ipv4_local): New proto.
261
67caf9eb
VS
2622012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
265 determining EFI memory map size.
266
43657558
VS
2672012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
270
eb6d0dd3
VS
2712012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
274 when looking for partition separator.
275
31230544
VS
2762012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
279 Escape commas.
280
918a2517
VS
2812012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
282
283 Restructure FAT driver to avoid hook in label reading as it hits a
284 GCC bug.
285
286 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
287 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
288 (grub_fat_iterate_dir): Split into ...
289 (grub_fat_iterate_init): ... this, ...
290 (grub_fat_iterate_fini): ... this, ...
291 (grub_fat_iterate_dir_next): ... and this. All users updated.
292
9f1d654e
VS
2932012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
296 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
297 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
298 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
299 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
300 New fields last_key and last_key_time.
301 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
302 extended key-esc into extended key-extended key.
303
52f0f643
VS
3042012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
305
306 Avoid unnecessary memcpy of whole video buffer.
307
308 * grub-core/video/fb/video_fb.c (dirty): New struct.
309 (framebuffer): Add members current_dirty and previous_dirty.
310 (dirty): New function.
311 (grub_video_fb_fill_rect): Update dirty.
312 (common_blitter): Likewise.
313 (grub_video_fb_scroll): Likewise.
314 (doublebuf_blit_update_screen): Copy only dirty part.
315 (doublebuf_pageflipping_update_screen): Likewise.
316 (grub_video_fb_doublebuf_blit_init): Init dirty.
317 (doublebuf_pageflipping_init): Likewise.
318 (grub_video_fb_setup): Likewise.
319
e169a180
VS
3202012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
323 poll rate.
324
48556879
VS
3252012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
326
327 Fix wildcard regexp dot and other special characters handling.
328 Reported by: Robert Mabee.
329
330 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
331 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
332 (split_path): Trigger expansion on '?'.
333 (unescape): New function.
334 (wildcard_expand): Unescape parts copied without globbing.
335 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
336 (grub_script_arglist_to_argv): Don't unescape expansions.
337
0494408e
VS
3382012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * include/grub/net.h (grub_net_card): New member txbufsize.
341 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
342 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
343 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
344 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
345 txbufsize.
346 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
347 compatible property to check for macs. Set
348 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
349 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
350 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
351 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
352 (send_card_buffer): Use txbuf.
353 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
354 nested function out of the parent while on it.
355
cc35fe8f
VS
3562012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
359 presence check.
360 (grub_ieee1275_net_config_real): Fix config pointer.
361
970a0a09
VS
3622012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
365 filename parsing to non-block devices.
366
3e19bf87
VS
3672012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/kern/device.c (grub_device_open): Remove dead code.
370
c62d1a0c
VS
3712012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
374 All users updated.
375
ef76bec3
VS
3762012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
379 UUID search command even if hints probing failed.
380
3812012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
382
383 * po/POTFILES.in: Regenerated.
384
70aaf305
VS
3852012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
386
387 Speed-up video on fuloong.
388
389 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
390 New function.
391 (grub_pci_device_unmap_range): Handle non-cached address.
392 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
393 add direct_ptr.
394 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
395 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
396 (grub_video_sis315pro_set_active_render_target): Removed.
397 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
398 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
399 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
400 sync caches.
401 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
402 New proto.
403
10400f0b
VS
4042012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * docs/grub.texi (Multi-boot manual config): New section.
407
ba67e2c6
VS
4082012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
409
410 Avoid slow read-back from VRAM.
411
412 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
413 Move from here ...
414 * grub-core/video/fb/video_fb.c
415 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
416 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
417 (front_target): Remove front_target. Add pages.
418 (grub_video_fb_init): Skip setting front_pages.
419 (grub_video_fb_fini): Likewise.
420 (doublebuf_blit_update_screen): Use pages.
421 (grub_video_fb_doublebuf_blit_init): Likewise.
422 (doublebuf_pageflipping_init): Allocate offscreen buffer.
423 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
424 (grub_video_fb_setup): Prefer doublebuffing.
425
377c98cb
VS
4262012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
429 gzio.
430
eac49cff
VS
4312012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
432
433 Add loongson tests.
434
435 * tests/util/grub-shell.in: Handle loongson.
436 * tests/partmap_test.in: Add loongson to the list of platform using ATA
437 drivers.
438 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
439 Reboot instead of shutdown if REBOOT is defined.
440
0321415e
VS
4412012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
444 sized ports since unlike on real hardware qemu supports only 32-bit
445 regs.
446
3f2bdd8f
VS
4472012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
448
449 * Makefile.util.def (grub-mkrescue): Enable on loongson.
450 * util/grub-mkrescue.in: Handle loongson.
451
29a049c9
VS
4522012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
455 Set is_part appropriately.
456 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
457 names. Canonicalize partition without full disk.
458
4abde346
VS
4592012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
460
461 Revert usb-quiesce since it's wrong.
462
463 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
464 (grub_ofdisk_init): Don't do quiesce.
465
61f1d93b
VS
4662012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
467
468 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
469 PowerMac workaround to Xserves as well.
470 Information supplied by: Benjamin Herrenschmidt.
471
a09eb541
VS
4722012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
473
474 Don't assume that beginning address is also the entry point on ppc.
475
476 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
477 (grub_linux_boot): Use linux_entry.
478 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
479 (grub_linux_load64): Likewise.
480
505b3c9b
VS
4812012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
484
cbe0b4ef
VS
4852012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
488 needlessly lose the console.
489
3006e981
VS
4902012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
493 space.
494
4e5a96b0
VS
4952012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
496
7da036bb
VS
497 Remove non-functional EFI grub_get_rtc. Put a better fatal message
498 than current grub_get_rtc() not implemented when booted with
499 coreboot without TSC.
500
501 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
502 Add machine/time.h to kernel headers on loongson.
503 * grub-core/Makefile.core.def (kernel): Remove
504 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
505 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
506 (grub_get_rtc): Likewise.
507 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
508 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
509 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
510 * grub-core/kern/i386/tsc.c (grub_tsc_init)
511 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
512 rather than installing known non-working time source.
513 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
514 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
515 * include/grub/time.h: Don't include machine/time.h.
516 * include/grub/efi/time.h: Removed.
517 * include/grub/i386/efi/time.h: Likewise.
518 * include/grub/i386/ieee1275/time.h: Likewise.
519 * include/grub/powerpc/ieee1275/time.h: Likewise.
520 * include/grub/sparc64/ieee1275/time.h: Likewise.
521 * include/grub/x86_64/efi/time.h: Likewise.
522
5232012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
524
525 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
526
527 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
528 value.
529 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
530 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
531 with dotless variants when any combining above is present.
532
5561c22d
VS
5332012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
536 text and not binary.
537
96f7e60e
VS
5382012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
539
540 Stop polling as soon as we have the packet we were waiting for.
541
542 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
543 All users updated.
544 * grub-core/net/arp.c (have_pending): New var.
545 (pending_req): Likewise.
546 (grub_net_arp_send_request): Fill pending_req and use have_pending as
547 stop indicator.
548 (grub_net_arp_receive): Set have_pending.
549 * grub-core/net/dns.c (recv_data): New field stop.
550 (recv_hook): Set stop.
551 (grub_net_dns_lookup): Init stop and use as stop condition.
552 * grub-core/net/http.c (http_establish): Use headers_recv as stop
553 condition.
554 * grub-core/net/net.c (grub_net_poll_cards): New argument
555 stop_condition. Stop when it goes true.
556 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
557 indicator.
558 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
559
3e747239
VS
5602012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
561
562 Keep TX and RX buffers on EFI rather than always allocate new ones.
563
564 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
565 card. All users updated.
566 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
567 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
568 (get_card_packet): Likewise.
569 (grub_efinet_findcards): Init new fields.
570
f695e99a
VS
5712012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
574 compilation error on sparc64.
575
9e5e66d1
VS
5762012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
577
578 Use ITC on IA64 rather than broken routine based on daytime.
579
580 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
581 ia64.
582 (grub_get_rtc) [__ia64__]: Likewise.
583 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
584 (get_itc): New function.
585 (grub_rtc_get_time_ms): Likewise.
586 (grub_machine_init): Calibrate ITC.
587 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
588 Keep only on non-ia64. Don't export since it's broken and used only
589 if TSC is unavailable.
590
a1767404
VS
5912012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
594 even if it's used.
595 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
596 Skip if parent is unused.
597
34b2bced
VS
5982012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
601
5e619f40
VS
6022012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
603
604 Fix wildcard escaping.
605
606 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
607 * grub-core/script/execute.c (wildcard_escape): .. to here.
608 Don't escape dot.
609 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
610 * grub-core/script/execute.c (wildcard_unescape): .. to here.
611 Don't escape dot.
612 * grub-core/script/execute.c (gettext_append): Always escape.
613 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
614 * grub-core/script/yylex.l: Don't cut away the escaping.
615 * tests/grub_script_echo1.in: Add tests with wildcard.
616
c8ca5855
VS
6172012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
620 (ftdi_hw_configure): Likewise.
621 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
622 define.
623 (real_config): Handle 1.5 stop bits.
624 (pl2303_hw_configure): Likewise.
625
7183452c
VS
6262012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * Makefile.am: Add ppc linux bootcheck.
629 * grub-core/tests/boot/linux-ppc.cfg: New file.
630 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
631
f57c84cd
VS
6322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * tests/grub_script_expansion.in: Skip network protocols.
635
ecfc6207
VS
6362012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
639
8d03d284
VS
6402012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
643 --rom-directory.
644 Add -graft-points.
645
61c42af0
VS
6462012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
647
648 ESCC serial driver for conducting sautomated tests in qemu.
649 Not tested on real hardware.
650
651 * include/grub/serial.h (grub_serial_port): New field escc_desc.
652 * grub-core/term/ieee1275/escc.c: New file.
653 * grub-core/Makefile.core.def (escc): New module.
654
08fd1291
VS
6552012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
658 invalid on error.
659 (serial_hw_fetch): Don't read invalid handle.
660 (serial_hw_put): Don't write into invalid handle.
661
08dafeea
VS
6622012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
663
664 Add a 1.5 stop bits value.
665
666 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
667 * include/grub/serial.h (grub_serial_stop_bits_t): Add
668 GRUB_SERIAL_STOP_BITS_1_5.
669
9068fdcf
VS
6702012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
673 value rather than let it uninited.
674
f4d5820f
VS
6752012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/commands/wildcard.c (+check_file): New function.
678 (wildcard_expand): Don't expand to non-existing files, expand with
679 suffix and not attempt to expand if not needed.
680
3d2de9a7
VS
6812012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
684 out of partitions containing other partitions.
685
c5c81ff9
VS
6862012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
687
688 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
689 on some qemu versions with GRUB.
690
691 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
692 define.
693 (grub_openbsd_bootarg_pcibios): New struct.
694 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
695 Add PCIINFO.
696
08a14e0b
VS
6972012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * tests/util/grub-shell.in: Trim firmware output on EFI.
700
cede3ca3
VS
7012012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
704 and coreboot since it's already in kernel.
705
558d3a60
VS
7062012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
709 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
710 to here. New return value start. All users updated.
711 Recursively scan linear mappings.
712 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
713 proto.
714 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
715 Use grub_util_get_dm_node_linear_info.
716 * util/getroot.c (convert_system_partition_to_system_disk): Use
717 grub_util_info rather than grub_dprintf.
718 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
719
60fde14d
VS
7202012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
721
722 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
723
724 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
725 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
726
24bd8838
VS
7272012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * include/grub/types.h (grub_set_unaligned64): New function.
730 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
731 (setup): Likewise.
732
7bc06a49
VS
7332012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
736 (grub_ofdisk_fini): Quiesce USB devices.
737
49cea015
VS
7382012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
741 caches.
742
8dcbe03b
VS
7432012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
746
5b258735
VS
7472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * grub-core/disk/pata.c (grub_pata_pio_read)
750 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
751 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
752
37ba07eb
VS
7532012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
754
755 Extend automated tests to qemu-mips.
756
757 * Makefile.am: reorganise tests and enable qemu-mips.
758 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
759 * grub-core/tests/boot/linux.init-mips.S: New file.
760 * tests/partmap_test.in: Handle ata0 disks.
761 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
762 non-pc i386.
763
070038f8
VS
7642012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
767 ia64.
768 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
769 quotes while on it.
770
004be2cd
VS
7712012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
774 (grub_halt): Likewise.
775 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
776
b1622487
VS
7772012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/term/serial.c (grub_serial_register)
780 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
781 the behaviour in line with x86 platforms.
782
b7b4ab33
VS
7832012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
786 (grub_ata_strncpy): Likewise.
787 (grub_ata_identify): Add missing byteswaps.
788
5e3535ae
VS
7892012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
792 byte-swap.
793 (screen_read_char): Likewise.
794 (grub_vga_text_cls): Likewise.
795
c21b17e6
VS
7962012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
799 filenames.
800 (make_file_path): Likewise.
801
bf293dec
VS
8022012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
805 machines.
806 Tested by: Paulo Flabiano Smorigo.
807 Crucial information about API supplied by: Coleen <Last name unknown>.
808 Reviewed by: Coleen <Last name unknown>.
809
81f6ef0e
VS
8102012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * util/grub-mkimage.c: Disable -Wcast-align.
813
7284143a
VS
8142012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
817 as they are fatal.
818
b99f3e00
VS
8192012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
822
944f752d
VS
8232012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * util/grub-probe.c (escape_of_path): Fix double free.
826
6cce6f38
VS
8272012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/commands/videoinfo.c (hook): Show pitch.
830
1e1eb50e
VS
8312012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * util/grub.d/20_linux_xen.in: Skip xen-syms.
834
1c715b5a
VS
8352012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
838 (probe): Add ieee1275 to OFW devices.
839
007ae52d
VS
8402012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
843
4557a36d
VS
8442012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
845
846 Handle IBM OFW path.
847
848 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
849 available.
850 (of_path_of_scsi): Handle vdevice.
851
efbeefe9
VS
8522012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
855 Allocate in multiples of 16 to avoid adding a few bytes free region the
856 windows bugs upon.
857
15a940bb
VS
8582012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
861 Allocate in multiples of 16 to avoid adding a few bytes free region the
862 windows bugs upon.
863 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
864
6e5efd60
VS
8652012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
868 resolutions.
869 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
870 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
871
0d3d137e
IS
8722012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
873
874 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
875
45dbe300
VS
8762012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
879 resulted in \\ at the end of the line.
880
6d8db947
VS
8812012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
884 (grub_parser_cmdline_state): Likewise.
885 (grub_parser_split_cmdline): Likewise.
886
de89d338
VS
8872012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
890 /dev/root and /dev/dm-*.
891
00d41dee
VS
8922012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
895 fix partially stale display.
896
f95d1f11
VS
8972012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
898
899 * grub-core/normal/menu_entry.c (backward_char): Use right line for
900 substraction.
901
6297e197
VS
9022012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
903
904 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
905 Fix MBR remapping workaround.
906 (grub_util_biosdisk_read) [__linux__]: Likewise.
907
8a7ecad3
VS
9082012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * util/grub-install.in: Check for ieee1275 and not ieee1276.
911
2b34f944
VS
9122012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * configure.ac: Bump to beta6.
915
684aef11
CW
9162012-05-31 Christer Weinigel <christer@weinigel.se>
917
918 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
919
05b0bb91
VS
9202012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
923 (grub_cmd_linux): Likewise.
924
bda36bfa
CW
9252012-05-31 Christer Weinigel <christer@weinigel.se>
926
927 Fix EHCI low-speed.
928
929 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
930 (GRUB_EHCI_MULT_TWO): Likewise.
931 (GRUB_EHCI_MULT_THREE): Likewise.
932 (GRUB_EHCI_CMASK_MASK): New enum value.
933 (GRUB_EHCI_SMASK_MASK): Likewise.
934 (GRUB_EHCI_CMASK_OFF): Likewise.
935 (GRUB_EHCI_SMASK_OFF): Likewise.
936 (grub_ehci_pci_iter): Enable periodic schedule.
937 (grub_ehci_parse_notrun): Likewise.
938 (grub_ehci_restore_hw): Likewise.
939 (grub_ehci_setup_qh): Set flags for low speed transfers.
940 (grub_ehci_find_qh): Use periodic list for low speed.
941 (grub_ehci_setup_transfer): Check periodic queue as well.
942 (grub_ehci_check_transfer): Likewise.
943 (grub_ehci_cancel_transfer): Cancel periodic transfer.
944
e12bcb1c
PFS
9452012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
946
947 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
948 parameter is used.
949
bcc75fb3
PJ
9502012-05-31 Peter Jones <pjones@redhat.com>
951
952 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
953 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
954 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
955
f19cb95e
VS
9562012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
959 uninited variable. Allocate at least setup_sects.
960
a4e5ca80
VS
9612012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
962
963 Fix handling of EFI with big memory maps.
964
965 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
966 (real_mode_mem): Likewise.
967 (real_mode_target): Likewise.
968 (real_mode_pages): Likewise.
969 (prot_mode_pages): Likewise.
970 (linux_params): New var.
971 (linux_cmdline): Likewise.
972 (free_pages): Don't set real mode variables.
973 (allocate_pages): Don't allocate real mode memory.
974 (grub_e820_add_region): Remove the limit.
975 (grub_linux_boot): Allocate and copy real mode memory.
976 (grub_linux_unload): Free linux_cmdline.
977 (grub_cmd_linux): Use temporary storage for parameters.
978 (grub_cmd_initrd): Likewise.
979 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
980 (linux_kernel_params): Make it 1K big.
981
ddb73558
VS
9822012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
983
984 * Makefile.util.def: Remove -Wno-format.
985 * grub-core/Makefile.core.def: Likewise.
986
1c4afb60
VS
9872012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * tests/cmp_unit_test.c: Add missing failure message.
990 * tests/example_unit_test.c: Likewise.
991 * tests/printf_unit_test.c: Likewise.
992
941e3a6d
VS
9932012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
996 relaxation of protective MBR requirements.
997
b105df76
VS
9982012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * configure.ac: Add condition for COND_HOST_XNU.
1001 * Makefile.util.def (10_xnu): New script.
1002 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1003
84e1569e
VS
10042012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1007 objconv bug.
1008
130c0f77
VS
10092012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1012 Binary on other platforms stays identical.
1013
6fd0b143
VS
10142012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1017 Apple.
1018
0af1751d
VS
10192012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1022
176d5f7d
VS
10232012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1026 rather than defining size_t ourselves to avoid conflict.
1027
7de5e20a
VS
10282012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1031 initialisation to avoid __bzero reference.
1032
f7143efe
VS
10332012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1036 version.
1037 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1038 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1039 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1040 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1041 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1042
e6ad0555
VS
10432012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1046 * grub-core/kern/misc.c: Likewise.
1047 * grub-core/loader/i386/xnu.c: Likewise.
1048 * include/grub/i386/tsc.h: Likewise.
1049 * include/grub/symbol.h: Likewise.
1050
4a5a3c4a
VS
10512012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1054 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1055 on older compiler.
1056
037f6d90
VS
10572012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1060 Implement Apple flavour.
1061 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1062
f7194551
VS
10632012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1066 (memmove) [__APPLE__]: Likewise.
1067 (memcpy) [__APPLE__]: Likewise.
1068 (memset) [__APPLE__]: Likewise.
1069 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1070 (memmove) [__APPLE__]: Likewise.
1071 (memcpy) [__APPLE__]: Likewise.
1072 (memset) [__APPLE__]: Likewise.
1073
85a730ca
VS
10742012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1077 dependency discard.
1078
40e80b94
VS
10792012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * grub-core/normal/main.c (read_config_file): Provide config_file and
1082 config_directory.
1083 * util/grub.d/41_custom.in: Use config_directoy when available.
1084
9da59c32
VS
10852012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1088 (grub_bfs_dir): Likewise.
1089
2787ae53
PJ
10902012-05-27 Peter Jones <pjones@redhat.com>
1091
1092 The old code gives arguments to a printf function which can't work
1093 correctly, and the compiler complains.
1094
1095 * grub-core/tests/example_functional_test.c (example_test): Add
1096 missing text.
1097 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1098 * include/grub/test.h (grub_test_assert_helper): New declaration.
1099 (grub_test_assert): Use grub_test_assert_helper.
1100
526ef13d
VS
11012012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1104 (exfctest): ... this to avoid overlong filenames.
1105 All users updated.
1106
20dd511c
VS
11072012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 Handle "." and ".." on squashfs.
1110
1111 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1112 Make inode numbers into stack.
1113 (grub_squash_read_symlink): Use stack.
1114 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1115 (make_root_node): Fill stack.
1116 (grub_squash_open): Use stack.
1117
1d80c62a
VS
11182012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1121 freeing.
1122
d336f652
VS
11232012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1126 stderr on test calls.
1127
8b43f587
VS
11282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1131
80a3dc3f
VS
11322012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1135
47e297d4
VS
11362012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1139 "..".
1140
df042ccb
VS
11412012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1144 (grub_hfsplus_iterate_dir): Add "." and "..".
1145
fc977f48
VS
11462012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1149 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1150
f3250e5f
VS
11512012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1154 (find_path): Handle "." and "..".
1155
fd8ed4c5
VS
11562012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1159 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1160 (grub_affs_iterate_dir): Handle hardlinks.
1161
4ce776d2
MG
11622012-05-26 Matthew Garrett <mjg@redhat.com>
1163
1164 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1165 (grub_efi_console_fini): Likewise.
1166 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1167 (grub_video_gop_fill_mode_info): Rename to ...
1168 (grub_video_gop_fill_real_mode_info): ... this.
1169 (grub_video_gop_fill_mode_info): New function.
1170 (grub_video_gop_setup): Setup double framebuffer.
1171 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1172 Free offscreen.
1173 (grub_video_gop_swap_buffers): Copy framebuffer.
1174 (grub_video_gop_fini): Free offscreen buffer.
1175 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1176 New enum.
1177 (grub_efi_gop_blt_pixel): New struct.
1178
683031ba
VS
11792012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * gentpl.py: Remove error disabling for objconv.
1182
c2deb798
VS
11832012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * configure.ac: Remove -Wunitialized as it's not available on older
1186 compilers.
1187
11882012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
1189
1190 Fix extent overflow comparator.
1191
1192 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1193 (grub_hfsplus_read_block): Set type.
1194 (grub_hfsplus_cmp_extkey): Compare type.
1195
d6b1fd36
VS
11962012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1199
0a9aa0f6
VS
12002012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1203 than 0.
1204
8360e159
VS
12052012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1208 (dejavu_bold_14.pf2): New target.
1209
501b9e4b
VS
12102012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * configure.ac: Fix djvu font detection.
1213
7026b0e2
VS
12142012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1217 ext* instead of ext2.
1218
c2a51ade
VS
12192012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1222 name with \0.
1223
8f803a5d
JU
12242012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1225
1226 * docs/grub-dev.texi: Remove dot from .png.
1227
13c6353f
VS
12282012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1229
1230 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1231 protective entry in any slot.
1232 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1233 if protective entry is found in any slot.
1234
1235 Protective entry in non-first slot make no sense but is a widespread
1236 brain damage.
1237
4cf6be1b
VS
12382012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1241
937d1c44
VS
12422012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1245 with old reiserfs.
1246 (grub_reiserfs_open): Don't free root.
1247
021d90ec
VS
12482012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1251 after freeing for safety.
1252
967b2b64
VS
12532012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1256 Reported by: Jordan Uggla.
1257
34274d02
JU
12582012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1259
967b2b64
VS
1260 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1261 actual implementation. Specifically, clarify that the grub menu will
1262 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1263 passed.
34274d02 1264
dcaaae9d
BH
12652012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1266
1267 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1268 of r0.
1269
7086ad52
VS
12702012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 Remove unjustified hard dependency of normal.mod on gfxterm.
1273
1274 * include/grub/term.h (grub_term_output): New member fullscreen.
1275 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1276 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1277 (grub_gfxterm): Set .fullscreen.
1278 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1279 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1280
37ed2c9b
VS
12812012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1284 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 1285 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 1286
a4469c88
VS
12872012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1290
4e461486
VS
12912012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1294 a bad FS.
1295
aa78f5c4
VS
12962012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1299 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1300
197626b5
VS
13012012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1304 (grub_jfs_mount): Fill caseins.
1305 (grub_jfs_find_file): Respect caseins.
1306
8ad3f28c
VS
13072012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1310 through UTF-16.
1311
0c6c324e
VS
13122012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1315 New argument origpath. All users updated.
1316
c6666ba6
VS
13172012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1320 (read_attr): Ensure that we read start of possibly compressed block.
1321
e28e5fe5
VS
13222012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1325 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1326 All users updated.
1327
5fc23ab2
VS
13282012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1331 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1332 (dejavu.pf2): Replace with ...
1333 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1334 this.
1335
79dbc21c
VS
13362012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * util/grub.d/20_linux_xen.in: Add missing line.
1339
d2fcfb0c
VS
13402012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1343 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1344 (grub_utf16_to_utf8): Likewise.
1345
5560e9d6
VS
13462012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1349 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1350 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1351 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1352 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1353 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1354
13552012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
1356
1357 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1358 a bad FS.
1359
5560e9d6 13602012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
1361
1362 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1363 (grub_udf_read_symlink): Handle read_string failure.
1364
5eae3175
VS
13652012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1368 comment.
1369
c1ad82db
VS
13702012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 Fix handling of UDF symlinks.
1373
1374 * grub-core/fs/udf.c (read_string): New argument outbuf.
1375 All users updated.
1376 (grub_ufs_read_symlink): Rename to ...
1377 (grub_udf_read_symlink): ... this. All users updated.
1378 Handle symlinks with more than one component.
1379
33eca6e0
VS
13802012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1383 symlinks. Replace leading colon with a slash.
1384
57f4a70b
VS
13852012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1388 filename.
1389
38c8ee20
VS
13902012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1393 match in inner node.
1394
2e57f28f
VS
13952012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1398 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1399 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1400 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1401 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1402 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1403 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1404 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1405 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1406
fe8c2f11
VS
14072012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 Use grub-probe and not cmp to check that disk is empty.
1410
1411 * util/grub-install.in: Use grub-probe for zero-check.
1412 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1413 (probe): Handle PRINT_ZERO_CHECK.
1414 (argp_parser): Handle -t zero_check.
1415
14162012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
1417
1418 Flush block cache on adding disk to device map.
1419
1420 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1421 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1422 adding.
1423 (read_device_map): Likewise.
1424 (open_device): Flush on opening.
1425
690434e8
VS
14262012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1429 (handle_symlink): Fix off-by-one error.
1430 Canonicalize the target.
1431 (grub_cpio_dir): Canonicalize the name.
1432 Fix memory leak.
1433 Set directory.
1434 (grub_cpio_open): Canonicalize the name.
1435
742d2be6
VS
14362012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1439 handling.
1440
3244fe96
VS
14412012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1444 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1445
8aeb1837
VS
14462012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1447
1448 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1449 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 1450 All users updated.
8aeb1837 1451
9133fd05
VS
14522012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1455 counterpart.
1456
6d521c5b
VS
14572012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 Fix UFS1 big file support.
1460
1461 * grub-core/fs/ufs.c (INODE): Removed.
1462 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1463 64-bit.
1464 (INODE_MODE): Simplify.
1465 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1466 (grub_ufs_lookup_symlink): Don't use INODE.
1467
21b82e17
VS
14682012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1471
1472 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1473 (grub_minix_data): Replace log_block_size with block_size.
1474 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1475 (grub_minix_mount): Fill block_size.
1476
14772012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
1478
1479 * configure.ac: Bump to beta5.
1480
f417ed04
VS
14812012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 Fix wrapped HFS+ handling.
1484
1485 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1486 blocks_start. All users updated.
1487 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1488 wrapping offset.
1489 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1490
607d282b
VS
14912012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 Fix long symlinks on reiserfs.
1494
1495 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1496 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1497 (grub_reiserfs_iterate_dir): Save size for non-directories.
1498 (grub_reiserfs_open): Don't reread stat block as we already know the
1499 size.
1500 (grub_reiserfs_read): Split into...
1501 (grub_reiserfs_read_real): ... and ...
1502 (grub_reiserfs_read): ...this.
1503
ae16024d
VS
15042012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 Fix non-indexed JFS.
1507
1508 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1509 (grub_jfs_data): New field namecomponentlen.
1510 (grub_jfs_mount): Fill namecomponentlen.
1511 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1512
eea1e26e
VS
15132012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1516 * tests/grub_script_echo1.in: Add tests.
1517
df760f77
VS
15182012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * util/grub-install.in: Ignore empty devicetree directory.
1521
5efb817d
B
15222012-05-08 Bean <bean123ch@gmail.com>
1523
1524 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
1525 All users updated.
1526 (free_rsm): Free header as well.
1527 (free_old_fragments): Fix memory leak.
1528 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
1529 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
1530 (destroy_pq): Likewise.
1531 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
1532
668ea6d2
VS
15332012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
1536 resulting hash as a precaution.
1537
1739b1fe
VS
15382012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
1541 '_' in variable names.
1542 * grub-core/net/net.c (grub_net_network_level_interface_register):
1543 Likewise.
1544
6ae485aa
VS
15452012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 Fix AFFS with non-512B blocks.
1548
1549 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
1550 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
1551 (grub_affs_data): Replace blocksize with log_blocksize.
1552 (grub_affs_read_block): Fix non-512B blocks.
1553 (grub_affs_read_symlink): Likewise.
1554 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
1555 (grub_affs_read): Fix non-512B blocks.
1556 (grub_affs_label): Likewise.
1557 (grub_affs_mtime): Likewise.
1558 (grub_affs_mount): Fix block detection routine.
1559
d20fab84
VS
15602012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 Add filesystem mtime to AFFS.
1563
1564 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
1565 (aftime2ctime): New function.
1566 (grub_affs_dir): Use aftime2ctime.
1567 (grub_affs_label): Fix return value.
1568 (grub_affs_mtime): New function.
1569 (grub_affs_fs): Add mtime.
1570
e87b10f5
VS
15712012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
1574 UTF-8.
1575
7dceec9b
VS
15762012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
1579 UTF-8.
1580
2f48221f
VS
15812012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
1584
dacd85cf
VS
15852012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
1588 flags.
1589 (FLAGS_CASE_SENSITIVE): New enum value.
1590 (cache_entry): New struct.
1591 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
1592 cache_size and cache.
1593 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
1594 Add log_blocksize and fshelp_flags.
1595 (grub_sfs_read_extent): Handle non-512 blocks.
1596 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
1597 (grub_sfs_read_file): Handle non-512 blocks.
1598 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
1599 fshelp_flags.
1600 (grub_sfs_read_symlink): Handle non-512 blocks.
1601 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
1602 (grub_sfs_dir): Free cache.
1603 (grub_sfs_close): Likewise.
1604
24e9a854
VS
16052012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
1608 filesystems.
1609
62ace64d
VS
16102012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
1613
83b2e89c
VS
16142012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
1617
75ccaea3
VS
16182012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
1621 (grub_sfs_read_extent): Likewise.
1622 (grub_sfs_read_block): Likewise.
1623 (grub_sfs_mount): Likewise.
1624 (grub_sfs_iterate_dir): Likewise.
1625 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
1626 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
1627
1b8463f2
VS
16282012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 Fix errors on compressed NTFS with 512B clusters.
1631
1632 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
1633 types.
1634 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
1635 not 0.
1636 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
1637 Relax check for inline extents.
1638 (ntfscomp): Return correct -1 on error and not 0.
1639
4f8e368f
VS
16402012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * util/grub-install.in: Fix handling of prefix containing spaces.
1643
6f5d5ee8
VS
16442012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
1647 (grub_squash_read_data): Fix offset byte-swapping.
1648
ce41ab7a
VS
16492012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
1652 per common usage and preffered in several parts of code.
1653 (grub_memcmp): Likewise.
1654 (grub_strncmp): Likewise.
1655 * include/grub/misc.h (grub_strcasecmp): Likewise.
1656 (grub_strncasecmp): Likewise.
1657 * Makefile.util.def (cmp_test): New test.
1658 (grub_script_strcmp): Likewise.
1659 * tests/cmp_unit_test.c: New file.
1660 * tests/grub_script_strcmp.in: Likewise.
1661 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
1662
49717bf4
VS
16632012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * include/grub/pci.h: Move enums into no-asm part.
1666
0a308f64
VS
16672012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
1670
1796965f
ST
16712012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1672
1673 * util/getroot.c (find_hurd_root_device): Try to make error message
1674 and comments to translators clearer.
1675
4e9b2819
VS
16762012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
1679
076aeb50
VS
16802012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
1683 btrfs.
1684
19424d94
VS
16852012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * docs/grub.cfg: Update.
1688
ebb73076
VS
16892012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * docs/grub.texi (PXE): Remove not present variables.
1692
9a1b669c
VS
16932012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/net/net.c (defserver_set_env): New function.
1696 (defserver_get_env): Likewise.
1697 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
1698
d38bf7d3
VS
16992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
1702 entries.
1703
17042012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
1705
1706 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
1707 * grub-core/kern/emu/hostdisk.c: Likewise.
1708
e5e4ca48
ST
17092012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
1710
1711 Handle hurd userspace partitions.
1712
1713 * util/getroot.c (find_hurd_root_device): New function.
1714 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
1715
56bb5dd5
VS
17162012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
1719 names.
1720 Reported by: Bastian Blank.
1721
9e8bc27a
VS
17222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
1725 crossing page boundary.
1726
aa01499d
VS
17272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 Fix B-tree search in BFS, especially in presence of non-ASCII
1730 characters.
1731
1732 * grub-core/fs/bfs.c (bfs_strcmp): New function.
1733 (find_in_b_tree): Use standard bsearch + btree algorithm.
1734
57006035
VS
17352012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
1738 and so on.
1739
9d34bb85
MG
17402012-05-03 Matthew Garrett <mjg@redhat.com>
17412012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 Suspend broadcom cards in order to stop their DMA.
1744
1745 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
1746 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
1747 (pci): Don't build on x86 EFI.
1748 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
1749 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
1750 New function.
1751 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
1752 stop_broadcom if running on EFI.
1753 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
1754 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
1755 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
1756 (grub_pci_find_capability): New proto.
1757
01aab997
VS
17582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * docs/grub.texi: Remove dot from the extension as it apparently
1761 doesn't work with some makeinfo versions.
1762
fbd8dca6
VS
17632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
1766 with GRUB expectance.
1767
dab797f4
VS
17682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
1771
1516bfb4
VS
17722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
1775 zero after directory block since last entry may be not 0-terminated if
1776 it ends on block boundary. Use continue instead of if spanning whole
1777 loop.
1778
a3a0eace
VS
17792012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 Support 4K sectors UDF inline files.
1782
1783 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
1784 (grub_udf_extended_file_entry): Likewise.
1785 (grub_fshelp_node): Name the anonymous union. Put block at the end.
1786 All users updated.
1787 (get_fshelp_size): New function.
1788 (grub_udf_read_icb): Read whole block.
1789 (grub_udf_iterate_dir): Likewise.
1790 (grub_udf_dir): Likewise.
1791 (grub_udf_open): Likewise.
1792
c82f16c1
VS
17932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
1796
59fd2aac
VS
17972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
1800 inline symlinks in addition to workaround.
1801
3b4afb4d
VS
18022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
1805
f45c794a
VS
18062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
1809
f25cecbd
VS
18102012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
1813
bb9a34e8
VS
18142012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 Fix reiserfs big seek times.
1817
1818 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
1819 exact. All users updated.
1820 (grub_reiserfs_read): Use nearest btree search for seeking.
1821 Fix return value on error.
1822
dc478aea
VS
18232012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
1826 entries.
1827 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
1828 * docs/grub.texi: Update menuentry description.
1829
8db10f47
VS
18302012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
1833 crash when embedding onto filesystem.
1834
bcb288ed
VS
18352012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
1838 name.
1839
a626fdd7
VS
18402012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
1843
b2f68477
VS
18442012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
1847 commit.
1848
ba15b2af
B
18492012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18502012-05-01 Bean <bean123ch@gmail.com>
1851
1852 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
1853
a188012e
VS
18542012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
1857 Special behaviour for len = 0 to read whole file isn't used anywhere and
1858 can cause buffer ovewrflows in several places.
1859
f0a53ed2
VS
18602012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
1863
5ed554f0
VS
18642012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 Handle RAIDZ on non-512B sectors.
1867
1868 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
1869 max_children_ashift.
1870 (fill_vdev_info_real): Fill max_children_ashift.
1871 (read_device): Use max_children_ashift.
1872
ddc58357
VS
18732012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
1876
e3282399
VS
18772012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
1880 disk names.
1881 * docs/grub.texi: Update device.map parts.
1882
ee618bd4
VS
18832012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 Don't scan into non-diskfilter devices having diskfilter names.
1886
1887 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
1888 (scan_disk): New argument accept_diskfilter. Fix recursion depth
1889 handling.
1890 (scan_disk_hook): New function.
1891
bdf88864
B
18922012-04-29 Bean <bean123ch@gmail.com>
1893
1894 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
1895 allocation.
1896
32745f51
MK
18972012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
1898
1899 * configure.ac: Detect starfield theme font path
1900 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
1901
bc95c8c0
VS
19022012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
1905 geometry on serial consoles.
1906
147fbcab
VS
19072012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
1910 because of network consoles.
1911
0f42c889
VS
19122012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
1915 handling.
1916
4a3594c9
VS
19172012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
1920 falls on Q syndrom.
1921
5cb53879
VS
19222012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
1925 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
1926
b282dfe5
VS
19272012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
1930 Allocate at lest 8192 for temporary buffer as required for lzo.
1931
daa59f47
VS
19322012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
1935 to cluster_bits, since it's already added in.
1936 (grub_fat_read_data): Likewise.
1937
986748ce
VS
19382012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
1941 as long as cluster size is multiple of 512 bytes.
1942
a20f6ad0
VS
19432012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * util/grub-mkrescue.in: Fix locale directory.
1946
385f9abb
VS
19472012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * grub-core/kern/emu/hostdisk.c (map): Make static.
1950
1c557d30
B
19512012-04-23 Bean <bean123ch@gmail.com>
1952
1953 * util/grub-fstest.c (fstest): Add missing break.
1954
524b5d3a
ST
19552012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
1956
1957 Fix hurd build.
1958
1959 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
1960 not define nr variable.
fe4824e9 1961 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
1962 find_root_devices_from_poolname, find_root_devices_from_libzfs,
1963 grub_find_device): Do not define.
524b5d3a 1964
9a06490c
VS
19652012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 Fix kfreebsd compile and behaviour.
1968
1969 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
1970 format-security.
1971 * util/getroot.c: Fix wait.h include.
1972 (grub_guess_root_devices): Error if grub_find_device fails.
1973 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
1974 (grub_util_get_dev_abstraction): Likewise.
1975 (grub_util_pull_device): Likewise.
1976 (grub_util_get_grub_dev): Likewise.
1977 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
1978
48143d96
VS
19792012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 Fix and unify wholedisk detection.
1982
1983 * util/getroot.c (convert_system_partition_to_system_disk): New argument
1984 is_part. All users updated.
1985 (device_is_wholedisk): Removed.
1986 (grub_util_biosdisk_get_grub_dev): Use is_part.
1987
ebbd24f3
VS
19882012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
1991 mode.
1992
56f7aa1e
VS
19932012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * configure.ac: Bump to beta4.
1996
9c815e01
VS
19972012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2000 --fs-uuid --set UUID syntax.
2001
59e2651a
VS
20022012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2005 disunification.
2006
54e03cfc
VS
20072012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2010
81092a75
MK
20112012-04-18 Mads Kiilerich <mads@kiilerich.com>
2012
2013 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2014
f8315e14
MG
20152012-04-18 Mike Gilbert <floppym@gentoo.org>
2016
2017 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2018
1501ac21
B
20192012-04-18 Bean <bean123ch@gmail.com>
2020
2021 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2022 place.
2023
cb7f944e
VS
20242012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2027 users updated.
2028 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2029 corresponding to GRUB partitions.
2030 (grub_util_biosdisk_write): Likewise.
2031
b72d44a1
VS
20322012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 Scan mdraid before LVM.
2035
2036 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2037 (grub_diskfilter_register_front): ... this.
2038 (grub_diskfilter_register_back): New function.
2039 All users of grub_diskfilter_register updated.
2040
33d918b8
VS
20412012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * util/grub-install.in: Fix an automatic target detection bug.
2044
c6ca973d
VS
20452012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * util/grub-install.in: New option --efi-directory.
2048
b41be562
VS
20492012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2052 boot services if we have no other choice.
2053
20542012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2057 document it.
2058 * tests/util/grub-shell.in: Update to --directory.
2059
e0595a73
VS
20602012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2063
4ed80652
VS
20642012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2067 (grub_minix_read_file): Likewise.
2068 (grub_minix_read_inode): Likewise.
2069 (grub_minix_find_file): Likewise.
2070 (grub_minix_dir): Likewise.
2071
56008077
VS
20722012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * util/grub-setup.c (setup): Fix partition handling and blocklist
2075 check.
2076
ee520775
VS
20772012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2080 redundant buggy overlap check.
2081
16fc9293
VS
20822012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2085 and grub-mknetdir.
2086
9bab65c4
VS
20872012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2090 kh.loadflags on pre-2.00 kernels.
2091
3c491b47
VS
20922012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 Terminate UNDI and PXE before launching the payload to avoid problems
2095 with DMA.
2096
2097 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2098 (grub_loader_flags): ... this. All users updated.
2099 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2100 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2101 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2102 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2103 function.
2104 (grub_pxe_restore): Likewise.
2105 (fini_hnd): New var.
2106 (GRUB_MOD_INIT): Register shutdown hook.
2107 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2108 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2109 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2110 (grub_loader_set): Rename second argument to flags.
2111
851ffada
VS
21122012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2115 written bytes.
2116 (grub_get_num_of_utf8_bytes): New function.
2117 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2118 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2119 executing it.
2120 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2121 (grub_ucs4_to_utf8): Change return type.
2122
491c57a8
VS
21232012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2126 warning.
851ffada
VS
2127 * grub-core/fs/bfs.c (hop_level): Likewise.
2128 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 2129
756773df
VS
21302012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/lib/adler32.c: Recode due to license unclearness.
2133
fd556a96
VS
21342012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2137 (test_header): Likewise.
2138
9f9d3f69
VS
21392012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 Fix --help formatting.
2142
2143 * util/grub-mkconfig_lib.in (print_option_help): New function.
2144 (grub_fmt): Likewise.
2145 * util/grub-install.in: Use print_option_help and grub_fmt.
2146 * util/grub-kbdcomp.in: Likewise.
2147 * util/grub-mkconfig.in: Likewise.
2148 * util/grub-mknetdir.in: Likewise.
2149 * util/grub-mkrescue.in: Likewise.
2150 * util/grub-mkstandalone.in: Likewise.
2151 * util/grub-reboot.in: Likewise.
2152 * util/grub-set-default.in: Likewise.
2153 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2154
561ec77e
VS
21552012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 * linguas.sh: Remove autogenerated *.po.
2158
7ec2b021
VS
21592012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * po/README: Move language fetcing to ...
2162 * linguas.sh: ... here.
2163 * po/README: Point to linguas.sh.
2164
a88f3270
VS
21652012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 * po/README: Exclude ko.po due to disclaimer problems.
2168
d61357ce
VS
21692012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2172 len = 0.
2173 (grub_gettext_translate_real): Handle 0th string.
2174 (grub_gettext_translate): Ensure that "" isn't translated.
2175
505e41dc
VS
21762012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2179 TRANSLATORS comment.
2180 (grub_diskfilter_print_partmap): Propagate changing of error into
2181 warning.
2182
e44092db
VS
21832012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2186 to uint64_t to prevent overflow.
2187 (grub_diskfilter_lv): Increase start_extent and extent_count
2188 to uint64_t to prevent overflow.
2189
9b83956a
VS
21902012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * configure.ac: Increase version.
2193
da0d5b3f
VS
21942012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2197
2198 * po/Rules-translit: New file.
2199 * po/arabic.sed: Likewise.
2200 * po/cyrillic.sed: Likewise.
2201 * po/greek.sed: Likewise.
2202 * po/hebrew.sed: Likewise.
2203 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2204 * po/Makefile.in.in: Add extra_dist4.
2205
ac66b453
VS
22062012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2209
2210 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2211 modify names. Introduce MODE_BIGENDIAN.
2212 * grub-core/fs/minix_be.c: New file.
2213 * grub-core/fs/minix2_be.c: Likewise
2214 * grub-core/fs/minix3_be.c: Likewise.
2215 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2216 minix3_be.
2217 * grub-core/Makefile.core.def (minix_be): New module.
2218 (minix2_be): Likewise.
2219 (minix3_be): Likewise.
2220
22212012-04-01 Felix <email@hamburg.de>
2222
2223 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2224 (devs): Add MBP 2011.
2225
0a2d5a82
VS
22262012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2229
d1625889
VS
22302012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/normal/cmdline.c (print_completion): New field
2233 prompt_len.
2234 (grub_cmdline_get): Handle width properly.
2235
6d36a236
VS
22362012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2239
9576977e
VS
22402012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 2243 after 29th of February.
9576977e 2244
d73ff15d
VS
22452012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 Fix exfat endianness handling.
2248
2249 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2250 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2251 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2252 Byte-swap utf16 when necessary.
2253 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2254
bbb39a45
AB
22552012-03-31 Anton Blanchard <anton@samba.org>
22562012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 Fix btrfs endianness handling.
2259
2260 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2261 (lower_bound): Make root uint64_t. Use root in le.
2262 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2263 (find_path): Fix template key init.
2264 (grub_btrfs_dir): Fix mtime byteswap.
2265 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2266
354e0af7
VS
22672012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2270 recursion_depth. Break infinite resursions. All users updated.
2271
4e75f21c
VS
22722012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2273
2274 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2275 after free.
2276 Reported by: Peter Jones.
2277
25581802
AB
22782012-03-31 Anton Blanchard <anton@samba.org>
2279
2280 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2281 8 bit values.
2282
08fbf92e
VS
22832012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * util/grub-install.in: Fix nvram call for PreP.
2286
5d1182a6
VS
22872012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2290 the error when some elements are missing into a warning.
2291
3f8cdd90
VS
22922012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2295
51006716
CW
22962012-03-28 Colin Watson <cjwatson@ubuntu.com>
2297
2298 * docs/grub.texi (Invoking grub-probe): New section.
2299 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2300
e1bd676b
VS
23012012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 Fix tab and wide character handling in editor and menu.
2304
2305 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2306 agglomerate control characters with combining marks.
2307 (bidi_line_wrap): Allow break on tab.
2308 (grub_unicode_get_comb_start): New function.
2309 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2310 and tab correctly.
2311 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2312 with a space.
2313 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2314 fixed_tab_size. All users updated.
2315 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2316 (grub_term_getcharwidth): Handle \t.
2317 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2318 and copy.
2319
22e6a774
VS
23202012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 Handle big-endian mdraid.
2323
2324 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2325 * grub-core/Makefile.core.def (mdraid09_be): New module.
2326 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2327 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2328 * grub-core/disk/mdraid_linux_be.c: New file.
2329
3c0eae66
VS
23302012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2333
b6cf74c9
VS
23342012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2337 missing quotes which caused confusion among translators.
2338
83c93b9c
VS
23392012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 * util/grub-mkconfig_lib.in: Fix typo.
2342
ac6fd218
VS
23432012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2346 spaces.
2347 * tests/grub_script_leading_whitespace.in: New file.
2348 * Makefile.util.def (grub_script_leading_whitespace): New test.
2349
ba287dd8
VS
23502012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2353 to work.
2354
d2d58d0a
VS
23552012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2358 starts with control character.
2359
0382d9bb
VS
23602012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2363 overflow.
2364 (grub_gdb_outbuf): Likewise.
2365
d83ff9f9
VS
23662012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2369 zero terminator. Fixes a crash.
2370
2282da4a
VS
23712012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2374 beyond 4 GiB.
2375 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2376 images independently of preffered adderss field.
2377
0ae4f0bd
VS
23782012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2381 * grub-core/commands/regexp.c: Likewise.
2382 * grub-core/loader/i386/linux.c: Likewise.
2383 * grub-core/partmap/msdos.c: Likewise.
2384 * grub-core/script/execute.c: Likewise.
2385 * grub-core/term/gfxterm.c: Likewise.
2386
546fbe9b
VS
23872012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 Add variable parsing in $"..." and fix several mismatches with bash.
2390
2391 * Makefile.util.def (grub_script_gettext): New test.
2392 * grub-core/script/execute.c (parse_string): New function.
2393 (gettext_append): Likewise.
2394 (grub_script_arglist_to_argv): Use gettext_append.
2395 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2396 * tests/grub_script_gettext.in: New file.
2397
9fdb2d7b
VS
23982012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 Fix handling of leading spaces in scripts.
2401
2402 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2403 spaces.
2404 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2405 other than skipping \r. All users updated.
2406 * tests/grub_script_echo1.in: Add space-related tests.
2407 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2408
1a1ac4f6
VS
24092012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2412
b63d89b6
VS
24132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * configure.ac: Bump up the version to beta2.
2416
17f38c0f
VS
24172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 Fix gettext reload bugs (e.g. inability to disable gettext
2420 once enabled).
2421
2422 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2423 main_context and secondary_context. All functions updated.
2424 (grub_gettext_translate): Rename to ...
2425 (grub_gettext_translate_real): ... this. Return NULL on failed
2426 translate.
2427 (grub_gettext_translate): Handle secondary context.
2428 (grub_gettext_delete_list): Close file and zero-out the context.
2429 (grub_mofile_open): Don't call grub_gettext_delete_list.
2430 Don't close file.
2431 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2432 if locale="" to avoid pointless error message.
2433 (grub_gettext_env_write_lang): Update lang even if load fails.
2434 Handle secondary context.
2435 (grub_gettext_reread_prefix): New function.
2436 (read_main): Likewise.
2437 (read_secondary): Likewise.
2438 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2439 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2440 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2441 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2442
8e56f870
VS
24432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * configure.ac: Decrease warning level to avoid spurious warnings and
2446 to be able to compile with GCC 4.2.
2447 * Makefile.util.def: Remove -Wno-error=logical-op.
2448
82f6d455
WB
24492012-03-10 William Bittner <william.bittner@gmail.com>
2450
2451 * util/import_unicode.py: Add missing brackets around string for
2452 python 3 support.
2453
1ecd61a4
VS
24542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 Fix efi chainloader on network root.
2457
2458 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2459 network devices.
2460 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2461 New function.
2462
14361ee8
VS
24632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2466 unused show_text member.
2467 * docs/grub.texi: Document "text" property.
2468
922aabf3
VS
24692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2472 in dprintf.
2473
ec316771
VS
24742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 Fix IMSM handling on Fedora.
2477
2478 * util/getroot.c (grub_util_is_imsm): New function.
2479 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2480
0f021838
VS
24812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * Makefile.am: Strip gold section.
2484 * conf/Makefile.common: Likewise.
2485 * gentpl.py: Likewise.
2486 * grub-core/Makefile.core.def: Likewise.
2487 * grub-core/genmod.sh.in: Likewise.
2488
1039c8eb
VS
24892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2492 * util/grub.d/20_linux_xen.in: Likewise.
2493 Based on Debian patch.
2494
6dd412cd
VS
24952012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * util/grub.d/10_linux.in: Fix syntax error resulting in
2498 Richard Laager's patch.
2499 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2500
3fd8bae5
VS
25012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2504 dependencies.
2505
7eea1671
RL
25062012-03-10 Richard Laager <rlaager@wiktel.com>
2507
2508 * util/grub.d/10_linux.in: Fix ZFS root passing.
2509
e8e0566b
VS
25102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2513 * grub-core/commands/xnu_uuid.c: Likewise.
2514 * grub-core/loader/efi/appleloader.c: Likewise.
2515 * grub-core/script/execute.c: Likewise.
2516 * grub-core/script/main.c: Likewise.
2517 * util/grub-mkfont.c: Likewise.
2518
1acc5b1f
VS
25192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * util/grub-mkfont.c (options): Use more appropriate "select" that
2522 "set" for face index.
2523
35d70620
VS
25242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * util/grub-editenv.c (options): Gettextize command summaries.
2527
c9eb96b5
VS
25282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
2531 "out of memory" error messagge.
2532
1f493136
VS
25332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
2536 of diskfilter for diskfilter on diskfilter support.
2537
6d790129
VS
25382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
2541
005f46c9
VS
25422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * util/grub-install.in: Check for themes/starfield/theme.txt and not
2545 themes/starfield.
2546
c8f778a0
VS
25472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
2550
de1e64eb
VS
25512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
2554
c6d54211
VS
25552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
2558 of error message.
2559
dd390777
VS
25602012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
2563
5fd1c522
VS
25642012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
2567 message.
c6d54211 2568 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 2569
fae01f6c
VS
25702012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
2573 Gettextize.
2574 * util/grub-mount.c (options): Likewise.
2575
292fdaff
VS
25762012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
2579 gettextize.
2580 * grub-core/commands/search_wrap.c (options): Likewise.
2581
ecdbae77
VS
25822012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
2585
52bfedfa
VS
25862012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
2589 size calculation.
2590 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
2591 none is known.
2592
55b20e58
VS
25932012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
2596 "temporary" since it's used in identifier and is limited in space.
2597
fda9d101
VS
25982012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * po/POTFILES.in: Regenerate. Include *.h since they contain
2601 translatable strings as well.
2602
6a0295e2
VS
26032012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2606 byte-swap on big-endian.
2607 Reported by: Lennart Sorensen
2608
807fb77c
VS
26092012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
2612 (allocate_pages): Improve dprintf.
2613 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
2614 code32_start. Fill code32_start and kernel_alignment in params.
2615 (grub_cmd_initrd): Use prot_init_space.
2616
61ac50ba
VS
26172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
2620
abdd26dd
VS
26212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * util/grub-install.in: Add missing dot at the end of sentence.
2624
6e69da9c
VS
26252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2628 * grub-core/commands/videotest.c: Likewise.
2629 * grub-core/loader/i386/linux.c: Likewise.
2630
4a929343
VS
26312012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
2634 sentence.
2635 Reported by: Milo Casagrande.
2636
bb51c6c6
VS
26372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
2640 * grub-core/commands/gptsync.c: Likewise.
2641 * grub-core/commands/hashsum.c: Likewise.
2642 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2643 * grub-core/commands/legacycfg.c: Likewise.
2644 * grub-core/io/gzio.c: Likewise.
2645 * grub-core/net/net.c: Likewise.
2646 * grub-core/term/gfxterm.c: Likewise.
2647 * grub-core/term/terminfo.c: Likewise.
2648 * grub-core/tests/test_blockarg.c: Likewise.
2649 * grub-core/video/video.c: Likewise.
2650 * util/grub-install.in: Likewise.
2651 * util/grub-mkfont.c: Likewise.
2652
b2b149cb
VS
26532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
2656
c7c080ad
VS
26572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 2660 Reported by: David Prévot.
c7c080ad 2661
f2e243c0
VS
26622012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
2665 description.
2666
09963c76
VS
26672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * util/grub-script-check.c (main): Fix a syntax error message which was
2670 unclear.
2671
a50514a8
VS
26722012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
2675
4650daec
VS
26762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
2679 messages.
2680
26812012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
2682
2683 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
2684 without argument.
2685 * util/grub-mount.c (options): Likewise.
2686
bbc5a342
VS
26872012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
2690
ef292a87
VS
26912012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * grub-core/net/http.c: Add TRANSLATORS comments.
2694 * grub-core/normal/cmdline.c: Likewise.
2695 * grub-core/normal/misc.c: Likewise.
2696 * grub-core/partmap/msdos.c: Likewise.
2697 * grub-core/parttool/msdospart.c: Likewise.
2698 * grub-core/script/execute.c: Likewise.
2699 * grub-core/script/main.c: Likewise.
2700 * grub-core/term/terminfo.c: Likewise.
2701 * grub-core/video/bitmap.c: Likewise.
2702 * util/grub-install.in: Likewise.
2703 * util/grub-mkimage.c: Likewise.
2704 * util/grub-mklayout.c: Likewise.
2705 * util/grub-setup.c: Likewise.
2706
0fc19bd0
VS
27072012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
2710 with similar messages in grub-fstest.
2711
d95862ef
VS
27122012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * util/grub-install.in: Unify "option requires an argument" message
2715 with similar messages in other files.
2716 * util/grub-mkconfig.in: Likewise.
2717
b7308f90
VS
27182012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * util/grub-set-default.in: Replace printf with gettext_printf (the
2721 string in in question is already translated from grub-reboot)
2722
559dc587
VS
27232012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 * configure.ac: Bump up the version to beta1.
2726
1a11761f
VS
27272012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
2730 case when min_align = 0.
2731
24539abd
VS
27322012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
2735 and fix a case when line_start overflows.
2736
32bd735b
VS
27372012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * util/grub-reboot.in (usage): Mention id posibility.
2740 * util/grub-set-default.in (usage): Likewise.
2741
1a2fd1e6
VS
27422012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
2745 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
2746 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2747 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2748 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2749 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2750 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2751
90eeab76
VS
27522012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * grub-core/commands/menuentry.c (options): Remove
2755 GRUB_ARG_OPTION_REPEATABLE.
2756 Reported by: Andreas Vogel
2757
5ad1be82
AV
27582012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
2759
2760 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
2761
cb055286
HE
27622012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
2763
2764 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
2765 error.
2766
93b1cd79
VS
27672012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 Use sort -V by the idea of Georgi Georgiev.
2770
2771 * util/grub-mkconfig_lib.in (version_sort): New function.
2772 (version_test_numeric): Use version_sort.
2773
0cdc126c
VS
27742012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 Use submenus in grub-mkconfig.
2777
2778 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
2779 * util/grub-mkconfig_lib.in (grub_quote): New function.
2780 (gettext_printf): Use gettext and not gettext_quoted to fix several
2781 messages.
2782 * util/grub.d/10_hurd.in: Use submenus.
2783 * util/grub.d/10_kfreebsd.in: Likewise.
2784 * util/grub.d/10_linux.in: Likewise.
2785 * util/grub.d/10_netbsd.in: Likewise.
2786 * util/grub.d/20_linux_xen.in: Likewise.
2787 * util/grub.d/30_os-prober.in: Likewise.
2788 * util/grub.d/10_illumos.in: Add missing quoting.
2789 * util/grub.d/10_windows.in: Likewise.
2790
d9bef9bc
VS
27912012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 Fix menu title instability bug.
2794
2795 * grub-core/commands/menuentry.c (options): New option --id.
2796 (grub_normal_add_menu_entry): New argument id. All users updated.
2797 (grub_cmd_menuentry): Handle --id.
2798 (grub_menu_init): Accept unknown arguments.
2799 * grub-core/normal/main.c (features): Add feature_menuentry_id and
2800 feature_menuentry_options.
2801 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
2802 saved_entry.
2803 (get_entry_number): Match with id as well.
2804 * include/grub/menu.h (grub_menu_entry): New member id.
2805 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
2806 * util/grub.d/00_header.in: Define menuentry_id_option.
2807 * util/grub.d/10_hurd.in: Define id.
2808 * util/grub.d/10_illumos.in: Likewise.
2809 * util/grub.d/10_kfreebsd.in: Likewise.
2810 * util/grub.d/10_linux.in: Likewise.
2811 * util/grub.d/10_netbsd.in: Likewise.
2812 * util/grub.d/10_windows.in: Likewise.
2813 * util/grub.d/20_linux_xen.in: Likewise.
2814 * util/grub.d/30_os-prober.in: Likewise.
2815
28162012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
2817
2818 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
2819 "scope" with "body".
2820
7c8d0ce7
VS
28212012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
2824 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
2825 prot_size and prot_file_size.
2826
49de079b
VS
28272012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
2830 All users updated. If easily=1 require raid-5/-6 to be full.
2831 (is_node_readable): Likewise.
2832 (scan_devices): Scan incomplete but readable LVs at the end.
2833 (grub_diskfilter_memberlist): Pull missing devices.
2834 (insert_array): Skip scanning until device is complete or scan is
2835 done otherwise.
2836 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
2837 check.
2838 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
2839 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
2840
aff05d45
MG
28412012-03-03 Matthew Garrett <mjg@redhat.com>
28422012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 Avoid EFI boot services when loading Linux.
2845
2846 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
2847 avoid_efi_bootservices. All users updated.
2848 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
2849 argument avoid_efi_bootservices. All users updated.
2850 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
2851 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
2852 align, min_align, relocatable, prefered_address. All users updated.
2853 Allocate avoiding boot services if kernel is relocatable.
2854 (grub_cmd_linux): Check if kernel is relocatable.
2855 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
2856 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
2857 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
2858 avoid_efi_boot_services.
2859 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
2860 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
2861 (linux_kernel_params): Likewise.
2862
3935dde2
MG
28632012-03-03 Matthew Garrett <mjg@redhat.com>
28642012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 Use EDID on EFI.
2867
2868 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
2869 datasize_out.
2870 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
2871 modes. Set gop_handle.
2872 (grub_video_gop_get_edid): New function.
2873 (grub_gop_get_preferred_mode): Likewise.
2874 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
2875 (grub_video_efi_gop_adapter): Set .get_edid.
2876 * include/grub/efi/edid.h: New file.
2877 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
2878
32107ec0
VS
28792012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * util/grub-install.in: Load efivars unconditionally.
2882
e70a2c50
VS
28832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 * po/Rules-piglatin: Change suffix from .po-update-en to
2886 .po-update-en-piglatin.
2887
8f9cace1
VS
28882012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 Add a pig farm.
2891
2892 * po/piglatin.sed: New file.
2893 * po/en@piglatin.header: Likewise.
2894 * po/Rules-piglatin: Likewise.
2895 * po/README: Add en@piglatin to autogenerated languages.
2896
8f95d002
VS
28972012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
2900 "Command for ...".
2901 * grub-core/commands/hdparm.c (options): Use "Display" rather than
2902 "Check" since we don't check anything.
2903 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
2904 is 64-bit one.
2905 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
2906 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
2907 (grub_md_sha512_real): Likewise.
2908
805a8dcc
VS
29092012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/commands/gptsync.c: Fix typographic quoting.
2912 * grub-core/commands/ieee1275/suspend.c: Likewise.
2913 * grub-core/commands/parttool.c: Likewise.
2914 * grub-core/commands/search_wrap.c: Likewise.
2915 * grub-core/commands/videoinfo.c: Likewise.
2916 * grub-core/gfxmenu/gui_label.c: Likewise.
2917 * grub-core/hello/hello.c: Likewise.
2918 * grub-core/kern/emu/main.c: Likewise.
2919 * grub-core/net/net.c: Likewise.
2920 * grub-core/normal/menu.c: Likewise.
2921 * grub-core/normal/menu_text.c: Likewise.
2922 * grub-core/normal/misc.c: Likewise.
2923 * util/grub-editenv.c: Likewise.
2924 * util/grub-install.in: Likewise.
2925 * util/grub-kbdcomp.in: Likewise.
2926 * util/grub-mkconfig.in: Likewise.
2927 * util/grub-mknetdir.in: Likewise.
2928 * util/grub-mkrescue.in: Likewise.
2929 * util/grub-mkstandalone.in: Likewise.
2930 * util/grub-reboot.in: Likewise.
2931 * util/grub-set-default.in: Likewise.
2932 * util/grub-setup.c: Likewise.
2933 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2934
40211ab8
VS
29352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
2938 * grub-core/commands/keystatus.c: Likewise.
2939 * grub-core/commands/loadenv.c: Likewise.
2940 * grub-core/commands/probe.c: Likewise.
2941 * grub-core/commands/regexp.c: Likewise.
2942 * grub-core/commands/true.c: Likewise.
2943 * grub-core/commands/videoinfo.c: Likewise.
2944 * grub-core/disk/cryptodisk.c: Likewise.
2945 * grub-core/disk/ldm.c: Likewise.
2946 * grub-core/disk/loopback.c: Likewise.
2947 * grub-core/disk/luks.c: Likewise.
2948 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2949 * grub-core/kern/disk.c: Likewise.
2950 * grub-core/kern/emu/hostdisk.c: Likewise.
2951
0c7d99c7
VS
29522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2953
2954 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
2955 * util/grub-install.in: Add missing quote in the comment.
2956
e7d2559b
VS
29572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
2960 * grub-core/commands/lsmmap.c: Likewise.
2961 * grub-core/commands/minicmd.c: Likewise.
2962 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2963 * grub-core/commands/regexp.c: Likewise.
2964 * grub-core/gdb/gdb.c: Likewise.
2965 * grub-core/term/gfxterm.c: Likewise.
2966 * util/grub-mkconfig.in: Likewise.
2967 * util/grub-mkfont.c: Likewise.
2968 * util/grub-mklayout.c: Likewise.
2969 * util/grub-mknetdir.in: Likewise.
2970 * util/grub-mkrescue.in: Likewise.
2971 * util/grub.d/30_os-prober.in: Likewise.
2972
49ce9e50
VS
29732012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
2976 with "Direct color" and "Packed" with "Packed pixel".
2977 (grub_cmd_videoinfo): Simplify legend.
2978
e4b791fa
VS
29792012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2982 absolutely unclear error message.
2983
fd1265cb
VS
29842012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * util/grub-mkstandalone.in: Remove confusing leftover print.
2987
8822a8a0
VS
29882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
2991 comments.
2992 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
2993 (GRUB_MOD_INIT): Likewise.
2994 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
2995 VGA mode.
2996 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
2997 comments.
2998 * util/grub-install.in (usage): Likewise.
2999 Spell ID in whole letters.
3000 Add missing ending dot.
3001 Quote variables.
3002 * util/grub-reboot.in: Fix capitalisation.
3003 * util/grub-set-default.in: Likewise.
3004
937fd0cc
VS
30052012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3008 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3009 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3010 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3011 Disable -Werror for -Wdeprecated-declarations.
3012 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3013 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3014 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3015 (grub_util_get_grub_dev): Make luks handling dependent on
3016 HAVE_DEVICE_MAPPER and not __linux__.
3017 (get_win32_path): Fix format security.
3018 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3019 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3020 Don't try grub_find_zpool_from_dir.
3021 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3022 #ifdef-out paresdir.
3023
1bab1ae3
VS
30242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * util/grub-pe2elf.c (usage): Add missing noreturn.
3027 (write_section_data): Rename name to shname to avoid shadowing.
3028 (write_symbol_table): Rename name to symname to avoid shadowing.
3029 Fix write_reloc_section call.
3030
ef023e42
VS
30312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3034 to ensure that it's after the last byte of .text.
3035
48afcb75
VS
30362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * util/ieee1275/ofpath.c (my_isdigit): New function.
3039 (trailing_digits): Use my_isdigit.
3040 (strip_trailing_digits): Likewise.
3041
88d51eff
VS
30422012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3045 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3046
17edc2ba
VS
30472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/kern/i386/pc/startup.S: Define __start.
3050
ad5518d7
VS
30512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3054 strip already transforms he format.
3055
9e95e1bf
VS
30562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3059
9cc3ee5c
VS
30602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * util/grub-install.in: Add missing gettext init.
3063 * util/grub-kbdcomp.in: Likewise.
3064 * util/grub-mkconfig.in: Likewise.
3065 * util/grub-mknetdir.in: Likewise.
3066 * util/grub-mkrescue.in: Likewise.
3067 * util/grub-mkstandalone.in: Likewise.
3068 * util/grub-reboot.in: Likewise.
3069 * util/grub-set-default.in: Likewise.
3070 * util/grub.d/00_header.in: Likewise.
3071 * util/grub.d/10_hurd.in: Likewise.
3072 * util/grub.d/10_windows.in: Likewise.
3073 * util/grub.d/30_os-prober.in: Likewise.
3074 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3075
49e08a06
VS
30762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * po/Rules-swiss: Fix header comment.
3079
3809cb41
AV
30802012-02-29 Andreas Vogel <anvoit>
3081
3082 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3083 resulted in leak of arguments.
3084
fa6ec573
VS
30852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3088 reed_solomon_size const definition instead of computing it since
3089 Apple assembler doesn't support the later.
3090
22899b9c
VS
30912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * gentpl.py (kernel): Rewrite Apple part.
3094
a132afc3
VS
30952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3098
9d742bd4
VS
30992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3102 ELF section gap.
3103 (load_image): Likewise.
3104
f04a9a21
VS
31052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * configure.ac: Fix a typo in previous commit.
3108
46cf439c
VS
31092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 Don't add -Wl,-N on Apple platform.
3112
3113 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3114 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3115
c4c48c54
VS
31162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * grub-core/Makefile.core.def (lzma_decompress): Use
3119 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3120
31a12124
VS
31212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/genmod.sh.in: Rewrite the Apple part.
3124
4f3aa1af
VS
31252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3128 comparison.
3129
7bd8b0c7
VS
31302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * acinclude.m4 (grub_CHECK_PIC): New test.
3133 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3134
97304d7c
VS
31352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3138 to avoid the warning.
3139
fb883812
VS
31402012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3143 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3144 after. All users updated.
3145
a121c964
VS
31462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 Use the common size routine in hostfs so we can read disks as well.
3149
3150 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3151 (grub_util_get_fd_size): ... this. Return size in bytes.
3152 All users updated.
3153 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3154 grub_util_get_fd_size.
3155
c66d6410
VS
31562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3159 Add blocksize retrieval.
3160
dfc8aeb0
VS
31612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * configure.ac: Restore CFLAGS after efiemu check.
3164
403e25a5
VS
31652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3168 Apple bug.
3169
382775d1
VS
31702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3173
6fd4e6e4
VS
31742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3177 (grub_cmd_halt): Likewise.
3178
bea359d6
VS
31792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3182 for local arithmetics.
3183 Break %sp init into 2 instructions.
3184 Add 0 byte at the end.
3185
32eb6ee1
VS
31862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3189 before loops.
3190
e8377389
VS
31912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3194 for context.
3195
8cb17de7
VS
31962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * grub-core/disk/ldm.c (make_vg): Init part.name.
3199 (grub_ldm_detect): Silence spurious warning.
3200 (grub_util_is_ldm): Likewise.
3201
595717e6
VS
32022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3205 sane value to avoid a spurious warning.
3206
c4b7e588
VS
32072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3210 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3211
59824957
VS
32122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3215 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3216
70115b99
VS
32172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3220 hardcoding the relevant info.
3221
56733740
VS
32222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3225 missing const qualifiers.
3226 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3227
43481481
VS
32282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 * util/getroot.c [__APPLE__]: Add missing includes.
3231 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3232
3cb38f01
VS
32332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3236
d9dbf11e
VS
32372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3240 avoid conflicts.
3241
0c42a45d
VS
32422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3245
46c34eb0
VS
32462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3249 and grub_file_close call.
3250
99ce1597
VS
32512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 Add LZSS Mach-O support (needed for new xnu kernelcache).
3254
3255 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3256 * grub-core/loader/lzss.c: New file.
3257 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3258 on Mach-O open failure.
3259 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3260 Don't free cmdsXX in uncompressedXX is set.
3261 (grub_macho_file): Init new fields.
3262 New argument is_64bit. All users updated.
3263 Handle compressed. Error out if no suitable architecture is found.
3264 Don't close file.
3265 (grub_macho_open): New argument is_64bit. All users updated.
3266 * grub-core/loader/macho32.c: Add defines for new fields.
3267 * grub-core/loader/macho64.c: Likewise.
3268 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3269 (grub_macho_parse): Handle compressed.
3270 Defer actual processing if compressed.
3271 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3272 "filename". All users updated.
3273 (grub_macho_size): New argument "filename". All users updated.
3274 (grub_macho_get_entry_point): Likewise.
3275 (grub_macho_load): Handle compressed.
3276 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3277 (GRUB_MACHO_LZSS_OFFSET): New define.
3278 (grub_decompress_lzss): New proto.
3279 * include/grub/machoload.h (grub_macho_file): New fields to handle
3280 compressed.
3281 (grub_macho_contains_macho64): Remove proto.
3282 (grub_macho_contains_macho32): Likewise.
3283 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3284
ebd17d6f
VS
32852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3288
2702b4e4
VS
32892012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 Fix make dist.
3292
3293 * Makefile.am (starfield_theme_files): New var.
3294 (starfield_DATA): Use starfield_theme_files.
3295 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3296 Add bootcheck-related files.
3297 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3298 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3299 and font_char_metrics.txt.
3300 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3301 (setjmp): Add lib/ia64/longjmp.S.
3302 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3303 * po/POTFILES.in: Regenerate.
3304 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3305 DISTFILES.common.extra1.
3306 * util/devicemap.c: Removed.
3307 * grub-core/lib/i386/relocator_backward.S: Likewise.
3308 * util/import_gcry.py: Remove unused files. Add extra_dist for
3309 ChangeLog.
3310
cf1adfdf
VS
33112012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3314 grub_gettext_delete_list before changing grub_gettext_max to avoid
3315 running out of array bounds.
3316
33172012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
3318
3319 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3320 grub_vga_text_init/grub_vga_text_fini.
3321
cf1adfdf 33222012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
3323
3324 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3325
541d92e9
VS
33262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * configure.ac: Bump to 2.00~beta0.
3329
7931dddf
VS
33302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3333 missing initialisation.
3334
f1b16fa3
VS
33352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3338
83ddae23
VS
33392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 Support v2 xnu boot arguments.
3342
3343 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3344 New argument fsbfreq_out.
3345 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3346 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3347 be used.
3348 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3349 darwin_version.
3350 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3351 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3352 (grub_xnu_boot_params): Rename to ...
3353 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3354 (grub_xnu_boot_params_v2): New struct.
3355
dc693fe6
VS
33562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3359 zeroing of CRC field before computing CRC.
3360
5a6e39c2
VS
33612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3364 Change order of allocations to decrease fragmentation.
3365
6c21f5d7
VS
33662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3367
3368 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3369
cfe456dc
CW
33702012-02-27 Colin Watson <cjwatson@ubuntu.com>
3371
3372 Use write-combining MTRR to speed up video with buggy BIOSes.
3373
3374 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3375 (cpuid): New define.
3376 (rdmsr): Likewise.
3377 (wrmsr): Likewise.
3378 (mtrr_base): Likewise.
3379 (mtrr_mask): Likewise.
3380 (grub_vbe_enable_mtrr_entry): New function.
3381 (grub_vbe_enable_mtrr): Likewise.
3382 (grub_vbe_disable_mtrr): Likewise.
3383 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3384 control off to BIOS.
3385 (grub_video_vbe_init): Fill mtrr.
3386 (grub_video_vbe_fini): Disable mtrr.
3387 (grub_video_vbe_get_info_and_fini): Likewise.
3388 (grub_video_vbe_setup): Enable mtrr.
3389
e3c78337
CW
33902012-02-27 Colin Watson <cjwatson@ubuntu.com>
3391
3392 * include/grub/partition.h (grub_partition_map): Change prototype of
3393 embed to take a maximum value for nsectors.
3394 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3395 * include/grub/fs.h (grub_fs): Likewise.
3396 * grub-core/partmap/msdos.c (embed_signatures): New array.
3397 (pc_partition_map_embed): Check for and avoid sectors matching any
3398 of the signatures in embed_signatures, up to max_nsectors.
3399 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3400 returned sector map to max_nsectors.
3401 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3402 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3403 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3404 * util/grub-setup.c (setup): Allow for the embedding area being
3405 split into multiple blocklists. Tell dest_partmap->embed the
3406 maximum number of sectors we care about.
3407
34082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3411 Specify blocklist_install and reserver_first_sector for all fs.
3412 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3413 blocklists.
3414
984b973f
VS
34152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 * util/grub-install.in: Clarify strings.
3418 Fix source dir check.
3419
f122e0d6
RL
34202012-02-27 Richard Laager <rlaager@wiktel.com>
3421
3422 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3423 "zfs" and "fuse.zfs" as synonyms.
3424
071114bb
VS
34252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * configure.ac: Put platform and target_cpu substitutions back since
3428 they are used for directories.
3429
817e6abc
RL
34302012-02-27 Richard Laager <rlaager@wiktel.com>
34312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3434 * util/grub.d/20_linux_xen.in: Likewise.
3435
897b7419
RL
34362012-02-27 Richard Laager <rlaager@wiktel.com>
3437
3438 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3439 with full paths.
3440
a414bd15
RL
34412012-02-27 Richard Laager <rlaager@wiktel.com>
3442
3443 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3444 unescape.
3445
30ac48c4
VS
34462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 Don't use insecure popen in getroot.
3449
3450 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3451 (exec_pipe): ... here.
3452 (find_root_devices_from_poolname): Use exec_pipe.
3453
53f13848
VS
34542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 Remove platform and target_cpu replacement.
3457
3458 * configure.ac: Remove platform and target_cpu substitutions.
3459 * tests/util/grub-shell.in: Use modinfo.
3460 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3461 explicitly.
3462
90cb2803
VS
34632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 Autodetect platform in grub-install but allow override.
3466
3467 * util/grub-install.in: Autodetect platform. Support --target and
3468 --directory. Read platform from modinfo.sh.
3469
b9136427
VS
34702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 Support btrfs multi-volume probe.
3473
3474 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3475 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3476 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3477 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3478 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3479 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3480 grub_find_root_devices_from_btrfs if on btrfs.
3481
c36e5cd1
VS
34822012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 Remove any awareness of *.c util files about target.
3485
3486 * Makefile.util.def (grub-setup): Split to ...
3487 (grub-bios-setup): ... and this.
3488 (grub-sparc64-setup): ... and this.
3489 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3490 * docs/man/grub-setup.h2m: Split into ...
3491 * docs/man/grub-sparc64-setup.h2m: ... this.
3492 * docs/man/grub-bios-setup.h2m: ... and this.
3493 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3494 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3495 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3496 (grub_target_addr_t): Remove.
3497 (grub_target_size_t): Remove.
3498 (grub_target_ssize_t): Remove.
3499 * util/grub-install.in: Use new grub-*-setup.
3500 * util/grub-mkimagexx.c (Elf_Word): New define.
3501 (Elf_Half): Likewise.
3502 (Elf_Section): Likewise.
3503 (ELF_ST_TYPE): Likewise.
3504 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3505 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3506
584b2f8a
VS
35072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 Replace grub_target_addr with more appropriate types.
3510
3511 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3512 grub_target_addr with grub_addr.
3513 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3514 grub_target_addr with grub_port.
3515 (grub_cmd_write): Likewise.
3516 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3517 grub_target_addr with grub_addr.
3518 (grub_cmd_write): Likewise.
3519 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3520
5a0dc6fb
VS
35212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
3524 const qualifier for vendor_guid.
3525
786aff6e
VS
35262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
3529 const qualifier.
3530 (efiemu_memequal): Likewise.
3531 (find_variable): Likewise.
3532
49017b17
VS
35332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 Fix missing console prototype on qemu-mips.
3536
3537 * include/grub/mips/qemu_mips/console.h: New file.
3538
c5988629
MG
35392012-02-27 Matthew Garrett <mjg@redhat.com>
35402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
3543 * include/grub/efi/efi.h: Likewise.
3544 * include/grub/efi/api.h: Add guid for EFI-specified variables.
3545 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
3546 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
3547 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
3548 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
3549 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
3550
e33f8d69
MG
35512012-02-27 Matthew Garrett <mjg@redhat.com>
3552
3553 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
3554
fb312cd9
VS
35552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
3558 error.
3559
7134247c
VS
35602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * configure.ac: Remove inappropriate use of program_transform_name
3563 on grubdir and bootdir but allow explicit specification of those
3564 variables.
3565
6a313124
VS
35662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 * util/grub-mknetdir.in (grub_prefix): Removed.
3569 (subdir): Use @bootdirname@ and @grubdirname@.
3570
2311c5ca
VS
35712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
3574
7d5d60f7
VS
35752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 * po/POTFILES.in: Regenerated.
3578
8151bc82
VS
35792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 Remove improper use of program_transform_name on pkglibrootdir.
3582
3583 * configure.ac (pkglibrootdir): Removed.
3584 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
3585 * util/grub-mkimage.c: Likewise.
3586
b4a6a533
VS
35872012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
3590 warning.
3591
668f304f
VS
35922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * util/grub-install.in: Use file identifier if no UUID is available
3595 or user explicitly prompted for it.
3596
665f2341
NP
35972012-02-27 Navdeep Parhar <nparhar@gmail.com>
3598
3599 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
3600 (freebsd_get_zfs): New function.
3601 (grub_freebsd_boot): Pass zfs UUID.
3602 (grub_cmd_freebsd): Set zfs UUID.
3603
8151bc82 36042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
3605
3606 * conf/Makefile.common (platformdir): Base on pkglibdir and not
3607 pkglibrootdir.
3608
e4c498a1
MG
36092012-02-27 Mike Gilbert <floppym@gentoo.org>
3610
3611 Add configure flag to control libzfs integration.
3612
3613 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
3614
1e9a9a3f
VS
36152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
3618 device.
3619 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
3620 small devices.
3621
036985b8
VS
36222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 Remove grub_{modname}_init and grub_{modname}_fini. They should never
3625 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
3626 be used on non-modules.
3627
3628 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
3629 Rename to grub_boot_init.
3630 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
3631 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
3632 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
3633 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
3634 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
3635 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
3636 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
3637 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
3638 includes.
3639 (grub_machine_init): Remove empty inits.
3640 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
3641 includes.
3642 (grub_machine_init): Remove empty inits.
3643 * grub-core/term/arc/console.c: Remove explicit proto.
3644 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
3645 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
3646 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3647 grub_at_keyboard_fini.
3648 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
3649 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
3650 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3651 grub_gfxterm_fini.
3652 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
3653 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
3654 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3655 grub_vgatext_fini.
3656 * grub-core/term/ieee1275/console.c: Remove explicit proto.
3657 * grub-core/term/serial.c (GRUB_MOD_INIT)
3658 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
3659 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3660 grub_serial_fini.
3661 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
3662 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
3663 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3664 grub_terminfo_fini.
3665 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
3666 (GRUB_MOD_FINI): Likewise.
3667 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
3668 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
3669 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3670 grub_video_radeon_fuloong2e_fini.
3671 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
3672 [LOONGSON]: Rename to grub_video_sis315pro_init.
3673 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3674 grub_video_sis315pro_fini.
3675 * grub-core/video/sm712.c (GRUB_MOD_INIT)
3676 [LOONGSON]: Rename to grub_video_sm712_init.
3677 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3678 grub_video_sm712_fini.
3679 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
3680 (grub_at_keyboard_fini): Likewise.
3681 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
3682 Don't declare grub_{modname}_init.
3683 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
3684 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
3685 New proto.
3686 (grub_keylayouts_fini) [!EMU]: Likewise.
3687 * include/grub/serial.h (grub_serial_init) [!EMU]:
3688 New proto.
3689 (grub_serial_fini) [!EMU]: Likewise.
3690 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
3691 New proto.
3692 (grub_terminfo_fini) [!EMU]: Likewise.
3693 * include/grub/video.h (grub_font_init) [!EMU]:
3694 New proto.
3695 (grub_font_fini) [!EMU]: Likewise.
3696 (grub_gfxterm_init) [!EMU]: Likewise.
3697 (grub_gfxterm_fini) [!EMU]: Likewise.
3698 (grub_video_sm712_init) [!EMU]: Likewise.
3699 (grub_video_sm712_fini) [!EMU]: Likewise.
3700 (grub_video_sis315pro_init) [!EMU]: Likewise.
3701 (grub_video_sis315pro_fini) [!EMU]: Likewise.
3702 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
3703 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
3704
d5534665
VS
37052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 Make nand a prefix for nand devices.
3708
3709 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
3710
10133b5f
VS
37112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
3714 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
3715
8e307a62
VS
37162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * include/grub/env.h (grub_env_find): Remove prototype.
3719 * grub-core/kern/env.c (grub_env_find): Make static.
3720 (grub_env_set): Remove useless set.
3721
a4c65f34
VS
37222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * grub-core/kern/i386/realmode.S: Remove useless align.
3725
d87893d5
VS
37262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * include/grub/dl.h (grub_dl_load_file): Don't export.
3729
50159add
VS
37302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
3733 grub_dprintf.
3734
b2582b84
VS
37352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
3738 grub_errors.
3739 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
3740 not reloading whole superblock but only the part which is really needed.
3741 Remove useless grub_errors.
3742 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
3743 grub_errors.
3744
e2a83395
VS
37452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 Don't export grub_get_rtc.
3748
3749 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
3750 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
3751
e7d2a906
VS
37522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
3755
6cf1363b
VS
37562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 3759 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 3760
eece3349
VS
37612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 Remove prio_list.
3764
3765 * include/grub/list.h (grub_prio_list): Removed.
3766 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
3767 GRUB_COMMAND_PRIO_MASK.
3768 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
3769 GRUB_COMMAND_FLAG_ACTIVE.
3770 (grub_prio_list_insert): Removed.
3771 (grub_prio_list_remove): Likewise.
3772 (GRUB_AS_PRIO_LIST): Likewise.
3773 (GRUB_AS_PRIO_LIST_P): Likewise.
3774 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
3775 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
3776 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
3777 * grub-core/kern/command.c (grub_register_command_prio): Inline
3778 the prio_list code.
3779 (grub_unregister_command): Likewise.
3780
94f064b4
VS
37812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 Fix interrupt mixup from previous commit.
3784
3785 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
3786 (grub_realidt): New var.
3787 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
3788 Load idt.
3789 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
3790 New declaration.
3791 (grub_relocator16_boot): Set grub_relocator16_idt.
3792 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
3793 (LOCAL(realidt)): ... this.
3794 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
3795 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
3796 (grub_realidt): New variable.
3797
27317084
VS
37982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
3801 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
3802 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
3803 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
3804 Gettextize.
3805 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
3806 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
3807 * po/POTFILES.in: Regenerate.
3808
47b40053
VS
38092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
3812 errors.
3813
2b343101
VS
38142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
3817 \0.
3818 (add_length): Likewise.
3819
ff27c3dd
LK
38202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
38212012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
3822
3823 GDB serial and backtrace support.
3824
3825 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
3826 (prot_to_real): Likewise.
3827 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
3828 * grub-core/Makefile.core.def (backtrace): New module.
3829 (gdb): Likewise.
3830 * grub-core/gdb/cstub.c: New file.
3831 * grub-core/gdb/gdb.c: Likewise.
3832 * grub-core/gdb/i386/idt.c: Likewise.
3833 * grub-core/gdb/i386/machdep.S: Likewise.
3834 * grub-core/gdb/i386/signal.c: Likewise.
3835 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 3836 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
3837 * include/grub/backtrace.h: Likewise.
3838 * include/grub/gdb.h: Likewise.
3839 * include/grub/i386/gdb.h: Likewise.
3840
38412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
3842
3843 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
3844 New function.
3845 (add_length): Likewise.
3846 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
3847 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
3848 proto.
3849 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
3850 __argp_get_display_len.
3851
ff27c3dd 38522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
3853
3854 $"..." support in scripts.
3855
3856 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
3857 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
3858 * grub-core/script/yylex.l: Likewise.
3859 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
3860 value.
3861
ff27c3dd 38622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
3863
3864 * gentpl.py: Remove obsolete pkglib_DATA handling.
3865
ff27c3dd 38662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
3867
3868 Don't transform PACKAGE_TARNAME following a discussion on autoconf
3869 mailing list.
3870
3871 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
3872 * util/grub-kbdcomp.in: Likewise.
3873 * util/grub-mkconfig.in: Likewise.
3874 * util/grub-mkconfig_lib.in: Likewise.
3875 * util/grub-mknetdir.in: Likewise.
3876 * util/grub-mkrescue.in: Likewise.
3877 * util/grub-mkstandalone.in: Likewise.
3878 * util/grub-reboot.in: Likewise.
3879 * util/grub-set-default.in: Likewise.
3880 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3881
ff27c3dd 38822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
3883
3884 Remove GRUB_PREFIX.
3885
3886 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
3887 * util/grub.d/00_header.in: Compute prefix in the only place it's still
3888 used for backward compatibility.
3889
ff27c3dd 38902012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
3891
3892 Add new all_video module.
3893
3894 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
3895 * grub-core/Makefile.core.def (all_video): New module.
3896 * grub-core/genmoddep.awk: Generate dependency of all_video from
3897 video.lst.
3898 * grub-core/lib/fake_module.c: New file.
3899 * grub-core/normal/main.c (features): Add feature_all_video_module.
3900 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
3901 don't do explicit search again.
47454da5 3902 insmod all_video in load_video if available.
22c7ce85 3903
ff27c3dd 39042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
3905
3906 Another round of string clarification and adding TRANSLATORS comments.
3907
ff27c3dd 39082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
3909
3910 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
3911
ff27c3dd 39122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
3913
3914 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
3915 to grub_ssize_t.
3916 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
3917 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
3918
ff27c3dd 39192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
3920
3921 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
3922 trailing newline implicitly. All users updated.
3923
ff27c3dd 39242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
3925
3926 Implement serial on IEEE1275 and EFI.
3927
3928 * docs/grub.texi (Platform-specific limitations): Fix the columen video
3929 on emu. Mention arc and emu as the only platforms without serial
3930 support.
3931 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
3932 ieee1275 platforms.
3933 * grub-core/term/efi/serial.c: New file.
3934 * grub-core/term/ieee1275/serial.c: Likewise.
3935 * grub-core/term/serial.c (grub_serial_find): Disable direct port
3936 specification if no ns8250 driver is available.
3937 (grub_cmd_serial): Likewise.
3938 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
3939 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
3940 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
3941 (grub_efi_parity_type_t): New type.
3942 (grub_efi_stop_bits_t): Likewise.
3943 (grub_efi_serial_io_interface): New struct.
3944 * include/grub/serial.h (grub_serial_port): Make 'broken' field
3945 available for all interfaces.
3946 Add EFI and IEEE1275 fields.
3947 (grub_ofserial_init): New proto.
3948 (grub_efiserial_init): Likeiwse.
3949 * util/grub.d/00_header.in: Don't check for the presence of serial
3950 module.
3951
ff27c3dd 39522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
3953
3954 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
3955 name as if it was an alias.
3956
114076ef
VS
39572012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * grub-core/commands/lsacpi.c (options): Fix typo.
3960
6a656b0e
VS
39612012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 Convert grub-emu to argp.
3964
3965 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
3966 emu.
3967 * util/argp_common.c: Rename to ...
3968 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
3969 Add missing includes.
3970 * grub-core/kern/emu/main.c: Convert to argp.
3971 * po/POTFILES.in: Regenerate.
3972 * util/grub-install.in (usage): Make first letter lowcase in messages
3973 for uniformity.
3974 * util/grub-setup.c (options): Likewise.
3975
1e3f8ae8
VS
39762012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
3979 Put back accidently commented-out code.
3980
ed167a80
VS
39812012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
3984 loop check using Brent algorithm.
3985 (grub_hfsplus_btree_search): Likewise.
3986
6753c0ec
VS
39872012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * util/grub-install.in: Fix usage of wrong device for PreP install.
3990
4e27343f
VS
39912012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * conf/Makefile.common (CFLAGS_GNULIB): Add
3994 -Wno-unsafe-loop-optimizations.
3995 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
3996 on tools.
3997 * grub-core/commands/legacycfg.c: Add pragma to skip
3998 -Wunsafe-loop-optimizations.
3999 (check_password_md5_real): Fix loop counter type.
4000 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4001 reading.
4002 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4003 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4004 loop condition.
4005 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4006 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4007 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4008 condition.
4009 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4010 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4011 avoid possible infinite loops.
4012 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4013 and -Wunsafe-loop-optimizations.
4014 * grub-core/script/yylex.l: Likewise.
4015 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4016 (print_glyphs): Avoid infinite loops.
4017 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4018
697f18b0
GS
40192012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4020
4021 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4022 to avoid infinite loop.
4023 (disp_acpi_rsdt_table): Likewise.
4024
274416e8
VS
40252012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * grub-core/font/font.c (grub_font_load): Add support for default
4028 path for fonts ($prefix/fonts).
4029 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4030 for checking if string is a path.
4031 * grub-core/normal/main.c (features): Add feature_default_font_path.
4032 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4033 * util/grub.d/00_header.in: Use default directory if possible.
4034 * util/grub-install.in: Install unicode.pf2.
4035
b3e08622
VS
40362012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4039 * po/Rules-swiss: New file.
4040 * po/swiss.sed: Likewise.
4041
fe42ce09
VS
40422012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * grub-core/fs/btrfs.c (find_device): Fix typos.
4045 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4046 * util/grub-mkrelpath.c (argp_parser): Likewise.
4047 Reported by: Yuri Chornoivan.
4048
72f1d065
DO
40492012-02-23 Dalet Omega <daletomega@gmail.com>
4050
4051 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4052 for usual informative messages.
4053
c5884973
DO
40542012-02-23 Dalet Omega <daletomega@gmail.com>
4055
4056 Starfield theme.
4057
4058 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4059 * conf/Makefile.common: Define starfielddir.
4060 * configure.ac: Configure starfield.
4061 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4062 * themes/starfield/README: Likewise.
4063 * themes/starfield/blob_w.png: Likewise.
4064 * themes/starfield/boot_menu_c.png: Likewise.
4065 * themes/starfield/boot_menu_e.png: Likewise.
4066 * themes/starfield/boot_menu_n.png: Likewise.
4067 * themes/starfield/boot_menu_ne.png: Likewise.
4068 * themes/starfield/boot_menu_nw.png: Likewise.
4069 * themes/starfield/boot_menu_s.png: Likewise.
4070 * themes/starfield/boot_menu_se.png: Likewise.
4071 * themes/starfield/boot_menu_sw.png: Likewise.
4072 * themes/starfield/boot_menu_w.png: Likewise.
4073 * themes/starfield/slider_c.png: Likewise.
4074 * themes/starfield/slider_n.png: Likewise.
4075 * themes/starfield/slider_s.png: Likewise.
4076 * themes/starfield/src/blob_nw.xcf: Likewise.
4077 * themes/starfield/src/bootmenu/: Likewise.
4078 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4079 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4080 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4081 * themes/starfield/src/slider_c.xcf: Likewise.
4082 * themes/starfield/src/slider_n.xcf: Likewise.
4083 * themes/starfield/src/slider_s.xcf: Likewise.
4084 * themes/starfield/src/terminalbox/: Likewise.
4085 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4086 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4087 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4088 * themes/starfield/starfield.png: Likewise.
4089 * themes/starfield/terminal_box_c.png: Likewise.
4090 * themes/starfield/terminal_box_e.png: Likewise.
4091 * themes/starfield/terminal_box_n.png: Likewise.
4092 * themes/starfield/terminal_box_ne.png: Likewise.
4093 * themes/starfield/terminal_box_nw.png: Likewise.
4094 * themes/starfield/terminal_box_s.png: Likewise.
4095 * themes/starfield/terminal_box_se.png: Likewise.
4096 * themes/starfield/terminal_box_sw.png: Likewise.
4097 * themes/starfield/terminal_box_w.png: Likewise.
4098 * themes/starfield/theme.txt: Likewise.
4099
17d73325
VS
41002012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * util/grub.d/00_header.in: Add missing export theme.
4103
dbebaf92
VS
41042012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4107 already included.
4108 Reported by: Eren D.
4109
3d68bffb
VS
41102012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * conf/Makefile.common (grubdatadir): Removed.
4113 (Makefile.am): Move eveything grubdata to pkgdata.
4114
4b59234d
VS
41152012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 * grub-core/commands/acpihalt.c (get_sleep_type):
4118 Remove unused variable.
4119
463dcadc
VS
41202012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4121
4122 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4123 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4124 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4125 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4126 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4127 i18n with gettext no-op.
4128 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4129 GRUB_ACPI_OPCODE_STRING_CONST.
4130 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4131 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4132
e5b90c82
VS
41332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * po/POTFILES.in: Regenerate.
4136
2a704ca9
VS
41372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4140 -Wno-error=missing-noreturn.
4141
84f9d341
VS
41422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4145 condition to avoid possibly infinite loops.
4146 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4147 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4148
d46683f9
VS
41492012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4152 condition to avoid possibly infinite loops.
4153
c44866b2
VS
41542012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4157 on show_error.
4158
96790539
VS
41592012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4162
1ba7e295
VS
41632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4166
21ffe8f1
VS
41672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * util/bin2h.c (usage): Add missing attribute noreturn.
4170
0ccb6b3c
VS
41712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4174 if the size isn't divisible by 512.
4175
b00d7fb6
VS
41762012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 Make list_push and list_remove functions rather than inline functions
4179 to decrease size and avoid aliasing violations.
4180
4181 * include/grub/list.h (grub_list_push): Move to ...
4182 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4183 * include/grub/list.h (grub_list_remove): Move to ...
4184 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4185
9d369087
VS
41862012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4189 and -Wunused-result.
4190
af0250d9
VS
41912012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4194 Reported by: Seth Goldberg
4195
aad32b14
VS
41962012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4199
ac96441c
ST
42002012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4201
4202 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4203 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4204 command line.
4205 * docs/grub.texi (Simple configuration): Document
4206 GRUB_CMDLINE_GNUMACH.
4207
42082012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
4209
4210 * conf/Makefile.common (platform_SCRIPTS): New variable.
4211 (platform_PROGRAMS): Likewise.
4212 * gentpl.py: Mark *,module and *.image for install.
4213 * grub-core/gdb_grub.in: Add a notice of expected environment.
4214 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4215 (gmodule.pl): Likewise.
4216
ac96441c 42172012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
4218
4219 Replace grub_checkkey with grub_getkey_noblock.
4220
4221 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4222 (grub_getkey_noblock): ... this. All users updated.
4223
ac96441c 42242012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
4225
4226 * grub-core/kern/emu/console.c: Move to ...
4227 * grub-core/term/emu/console.c: ...here.
4228 (grub_ncurses_getkey): Fix return value if no key is detected.
4229
e51b5666
VS
42302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4233 (grub_unit_test_fini): Likewise.
4234 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4235
42362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * include/grub/test.h (GRUB_UNIT_TEST)
4239
d9a62292
VS
42402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4243 Better error handling.
4244 (grub_script_return): Likewise.
4245 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4246
77c9182f
VS
42472012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4250 rimplicit redifinition.
4251
edb13cf9
VS
42522012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4255 GRUB.
4256
a9e9dc7c
VS
42572012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4260 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4261 prompt here.
4262
b4ba8e02
VS
42632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4266 as GRUB_ERR_BUG. Don't malloc if no device is available.
4267
dded5540
VS
42682012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4271 Mark calling with invalid term as GRUB_ERR_BUG.
4272
0cf69874
VS
42732012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4276 packets rather than raising an error.
4277
59bfe502
VS
42782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4281 in if.
4282
db5fc596
VS
42832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4286 diagnostic to dprintf.
4287 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4288
e4b7f404
VS
42892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4292 device name.
4293
e7b02f9e
VS
42942012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4297 (grub_ntfs_iterate_dir): Likewise.
4298
0331e102
VS
42992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 Efiemu stylistic fixes and gettext.
4302
4303 * grub-core/efiemu/i386/loadcore32.c
4304 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4305 * grub-core/efiemu/i386/loadcore64.c
4306 (grub_arch_efiemu_relocate_symbols64): Likewise.
4307 * grub-core/efiemu/i386/pc/cfgtables.c
4308 (grub_machine_efiemu_init_tables): Likewise.
4309 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4310 (grub_efiemu_loadcore_initXX): Add a filename argument.
4311 All users updated.
4312 Improved error message.
4313 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4314 Add a filename argument.
4315 All users updated.
4316 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4317 Reclassify double relocation as GRUB_ERR_BUG.
4318
306fc074
VS
43192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4322 handling.
4323
794d8ef2
VS
43242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4327 on partition.
4328
43292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
4330
4331 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4332
794d8ef2 43332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
4334
4335 Improve string. Gettextize.
4336
78dde88e
VS
43372012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4340 utils.
4341 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4342
4786a90f
VS
43432012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4346 [GRUB_UTIL]: New function.
4347 (insert_array) [GRUB_UTIL]: Store partmaps.
4348 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4349 partmaps.
4350 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4351 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4352 (probe_abstraction): Print diskfilter and not raid.
4353 Reported by: Lennart Sorensen
4354
0b6225bd
VS
43552012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4358 * util/grub-mkimagexx.c (MASK3): New define.
4359 (add_value_to_slot_20b): Use MASK3.
4360 (add_value_to_slot_21): Likewise.
4361 (relocate_addresses): Fix format specification.
4362 (load_image): Explicitly init symtab_section.
4363
b055f8f6
VS
43642012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4367 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4368
b77c2fb7
VS
43692012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4372 on powerpc.
4373 Reported by: Lennart Sorensen
4374
e3ec28ab
VS
43752012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * gentpl.py: Add missing license header.
4378 * docs/grub.texi: Update copyright year.
4379
c8d9ead6
GS
43802012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4381
4382 Source grub-mkconfig_lib from the build directory at build time.
4383 Suggested by: Vladimir Serbinenko.
4384
4385 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4386 * util/grub-install.in: Define pkgdatadir if not already set, and source
4387 grub-mkconfig_lib from there.
4388 * util/grub-kbdcomp.in: Likewise.
4389 * util/grub-mkconfig.in: Likewise.
4390 * util/grub-mknetdir.in: Likewise.
4391 * util/grub-mkrescue.in: Likewise.
4392 * util/grub-mkstandalone.in: Likewise.
4393 * util/grub-reboot.in: Likewise.
4394 * util/grub-set-default.in: Likewise.
4395 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4396
ebcecdf1
VS
43972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 Increase warning level.
4400
4401 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4402 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4403 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4404 (TARGET_CFLAGS): Likewise.
4405 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4406 * grub-core/Makefile.core.def (decompressor_xz): Add
4407 -Wno-unreachable-code.
4408 (normal): Add -Wno-redundant-decls.
4409 (xzio): Add -Wno-unreachable-code.
4410 (lzopio): Add -Wno-redundant-decls -Wno-error.
4411 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4412 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4413 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4414 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4415 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4416 * grub-core/kern/i386/coreboot/init.c: Add exception to
4417 -Wsuggest-attribute=noreturn.
4418 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4419 * grub-core/kern/ia64/dl_helper.c: Likewise.
4420 * grub-core/kern/mips/dl.c: Likewise.
4421 * grub-core/kern/sparc64/dl.c: Likewise.
4422 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4423 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4424 (memcmp): Likewise.
4425 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4426 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4427 * grub-core/loader/mips/linux.c: Likewise.
4428 * grub-core/loader/multiboot_elfxx.c: Likewise.
4429 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4430 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4431 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4432 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4433 fixme.
4434 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4435 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4436 Fix prototype.
4437
37bb97fe
VS
44382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4441 address.
4442
29a3550b
VS
44432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4446 Avoid improper use of strings.
4447 (grub_cmd_legacy_initrdnounzip): Likewise.
4448
dfdffd0d
VS
44492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4452 attribute.
4453 (grub_util_info): Likewise.
4454 (grub_util_error): Likewise.
4455
102fae4a
VS
44562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4459 * util/grub-fstest.c (fstest): Likewise.
4460
7e94d044
VS
44612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4464 (grub_md_sha512_real): Likewise.
4465 (grub_util_get_geli_uuid): Likewise.
4466 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4467 (grub_util_biosdisk_open): Fix format specification.
4468 Respect format security.
4469 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4470 (xrealloc): Likewise.
4471 (xasprintf): Likewise.
4472
5ebd9769
VS
44732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * util/import_gcry.py: Include grub/crypto.h in init.c.
4476
495fc8c1
VS
44772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4480 (generate_image): Make prefix a const char *.
4481 Fix format specifications. Respect format security.
4482 Avoid void * arithmetics.
4483 Avoid shadowing.
4484 (argp_parser): Remove unused variable. Respect format security.
4485 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4486 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4487 (count_funcs): Remove unused variable.
4488 (relocate_addresses): Fix format specification.
4489 Disable x86-64 with elf32. Remove unused variables.
4490 (add_fixup_entry): Avoid shadowing.
4491 (make_reloc_section): Fix format specification.
4492 Use assert.
4493 (locate_sections): Fix format specifications.
4494 (load_image): Avoid shadowing.
4495
043c2ea3
VS
44962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4499 Fix format specifications. Respect format security.
4500 Don't translate already translated grub_errmsg.
4501 (argp_parser): Remove unused variable
4502
3ec65a81
VS
45032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4506
a4d9fe4a
VS
45072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4510 (main): Likewise. Use xmalloc. Respect format security.
4511
15b81d49
VS
45122012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4515 a const char *.
4516 (argp_parser): Remove unused variable.
4517
31731fc0
VS
45182012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4521 (add_pixel): Make static.
4522 (add_font): Likewise.
4523 (write_string_section): Make name and str a const char *.
4524 (write_be16_section): Make name a const char *.
4525 (print_glyphs): Make static.
4526 (write_font_ascii_bitmap): Likewise.
4527 (write_font_width_spec): Likewise.
4528 (write_font_pf2): Likewise.
4529 (argp_parser): Remove unused variable.
4530 Respect format security.
4531 (main): Avoid shadowing. Respect format security.
4532
0809527b
VS
45332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * util/grub-editenv.c (argp_parser): Make static.
4536 (create_envblk_file): Use xmalloc.
4537 (open_envblk_file): Likewise.
4538 Resepect format security.
4539 (set_variables): Respect format security.
4540
45b0c8b7
VS
45412012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 * util/getroot.c (grub_find_device): Respect format security.
4544 (get_mdadm_uuid): Remove unused variable.
4545 (grub_util_pull_device): Dont call gettext on already translated
4546 grub_errmsg.
4547 (find_system_device): Remove unused variable.
4548 (grub_util_get_grub_dev): Likewise.
4549 (grub_make_system_path_relative_to_its_root): Respect format security.
4550
1b024b4e
VS
45512012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * util/grub-fstest.c (execute_command): Make first argument
4554 a const char *.
4555 (read_file): Avoid shadowing.
4556 Reuse underlying error message if device open fails.
4557 (cmd_cmp): Respect format security.
4558 (root): Make const char *.
4559 (fstest): Remove args argument and use global copy.
4560 Respect format security.
4561 (argp_parser): Make static.
4562 (main): Make default_root const char *.
4563
5d1d4e28
VS
45642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * util/grub-mount.c (root): Make const char *.
4567 (execute_command): Make first argument a const char *.
4568 (fuse_init): Respect format security.
4569 (argp_parser): Make static. Remove unused variable.
4570 (main): Make default_root a const char *.
4571 Respect format security.
4572
36eb7379
VS
45732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * util/grub-probe.c (probe): Don't call gettext on already translated
4576 grub_errmsg.
4577 Remove unused variables.
4578 (argp_parser): Remove unused variable.
4579
76fb2ea9
VS
45802012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * util/grub-script-check.c (argp_parser): Remove unused variable.
4583 (main): Rename read to curread to avoid shadowing.
4584
56c98584
VS
45852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * util/misc.c (grub_util_write_image_at): Fix format specification.
4588 (grub_util_write_image): Likewise.
4589 (grub_script_execute_argument_to_string): Removed (unused).
4590 (grub_script_execute_menuentry): Likewise.
4591 (grub_putchar): Likewise.
4592
164ebb48
VS
45932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
4596 (FUNCTION) [GRUB_UTIL]: Likewise.
4597 (VARIABLE) [GRUB_UTIL]: Likewise.
4598
44318d61
VS
45992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
4602 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
4603
31a26002
VS
46042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
4607 buffer.
4608
46092012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
4612 (LzmaEnc_SaveState): Removed (unused).
4613 (LzmaEnc_RestoreState): Likewise.
4614 (LzmaEnc_InitPriceTables): Made static.
4615 (LzmaEnc_Construct): Likewise.
4616 (LzmaEnc_FreeLits): Likewise.
4617 (LzmaEnc_Destruct): Likewise.
4618 (LzmaEnc_Init): Likewise.
4619 (LzmaEnc_InitPrices): Likewise.
4620 (LzmaEnc_Finish): Likewise.
4621 (LzmaEnc_PrepareForLzma2): Removed (unused).
4622 (LzmaEnc_MemPrepare): Likewise.
4623 (LzmaEnc_GetNumAvailableBytes): Likewise.
4624 (LzmaEnc_GetCurBuf): Likewise.
4625 (LzmaEnc_CodeOneMemBlock): Likewise.
4626
6fa67967
VS
46272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
4630 (grub_util_ldm_embed): Likewise.
4631
9a7428e6
VS
46322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 * util/grub-editenv.c (print_var): Rename name to varname to
4635 avoid shadowing.
4636 (main): Rename index to curindex to avoid shadowing.
31a26002 4637 Make filename a const char *.
9a7428e6 4638
4f96abd1
VS
46392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4642 to arg_getline to avoid shadowing.
4643
44d10dad
VS
46442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
4647 disk_ to avoid shadowing.
4648
340ba63e
VS
46492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
4652 curindex to avoid shadowing.
4653 Make static.
4654 (MatchFinder_GetNumAvailableBytes): Make static.
4655
22965bce
VS
46562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
4659 avoid shadowing.
4660
7b5784d4
VS
46612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
4664 argument from encrypt to do_encrypt to avoid shadowing.
4665
6f48ca01
VS
46662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
4669 incorrect nesting of #if's.
4670
a4ea2dff
VS
46712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
4674 checks which are always false on some platforms.
4675 (grub_cmd_lsacpi): Likewise.
4676 * grub-core/kern/misc.c (grub_strtoul): Likewise.
4677 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
4678 Likewise.
4679
def9fc1b
VS
46802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4681
4682 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
4683 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
4684
a67b2a04
VS
46852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
4688 re_dfa_t to avoid breaking alignment invariants.
4689 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
4690 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
4691
44c6828d
VS
46922012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
4695 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
4696
bebe0dd0
VS
46972012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
4700 Fix declaration.
4701
a9cdb3cf
VS
47022012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
4705 conserve alignment invariants.
4706 (grub_ehci_ehcc_read16): Likewise.
4707 (grub_ehci_oper_read32): Likewise.
4708 (grub_ehci_oper_write32): Likewise.
4709 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4710 Conserve alignment invariants.
4711
ccc3b1b8
VS
47122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
4715 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
4716 declarations.
4717
987fbd95
VS
47182012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
4721 Remove unused variable.
4722
0df363f3
VS
47232012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
4726 Remove set in if.
4727
b2c0c4a6
VS
47282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * include/grub/net.h: Remove double declarations.
4731
690c531f
VS
47322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 Remove "payload" command in ia64 Linux loader since I couldn't
4735 find any evidence of it being used for anything.
4736 Replace "relocate" command with an environment variable
4737
4738 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
4739 fields.
4740 (ia64_boot_payload): Removed.
4741 (last_payload): Likewise.
4742 (RELOCATE_OFF): Likewise.
4743 (RELOCATE_ON): Likewise.
4744 (RELOCATE_FORCE): Likewise.
4745 (relocate): Likewise.
4746 (free_pages): Don't free payloads.
4747 (grub_load_elf64): Use common error messages.
4748 Use "linux_relocate" variable.
4749 Increase the space after boot_params.
4750 (grub_cmd_payload): Removed.
4751 (grub_cmd_relocate): Likewise.
4752 (grub_cmd_fpswa): Improve messages.
4753 (cmd_payload): Removed.
4754 (cmd_relocate): Likewise.
4755 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
4756 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
4757
01783768
VS
47582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 Convert UHCI to DMA framework.
4761
4762 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
4763 (grub_uhci_pci_iter): Fill new members
4764 (grub_alloc_td): Use P2V and V2P functions.
4765 (grub_free_queue): Likewise.
4766 (grub_alloc_qh): Likewise.
4767 (grub_uhci_setup_transfer): Likewise.
4768 (grub_uhci_check_transfer): Likewise.
4769
43206939
VS
47702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
4773 Remove assignment in if while on it.
4774
571e140e
VS
47752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * util/grub-mkstandalone.in: Fix modules directory.
4778
a9d96eeb
VS
47792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
4782 on i386-pc target.
4783 (argp_parser): Accept "auto" as compression specification.
4784
e4e37e8d
VS
47852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 Fix `help' with unloaded modules.
4788
4789 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
4790 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
4791 (grub_dyncmd_dispatcher): Small stylistic fix.
4792 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
4793 explicit help is requested.
4794
e1ea3ade
VS
47952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
4798 Explicitly init restart while on it.
4799
27556881
VS
48002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
4803 uninited variable.
4804
d65f6b36
VS
48052012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * util/grub-mknetdir.in: Use . rather than source for POSIX
4808 compatibility.
4809
0a1e473c
VS
48102012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4811
4812 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
4813
ce6647c8
VS
48142012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
4817 variable.
4818
66747894
VS
48192012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
4822 without quotes.
4823
71645f6e
VS
48242012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
4827
0e1c1f61
VS
48282012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
4831 iteration of partitions.
4832
9c4b5c13
VS
48332012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 Improve gettext support. Stylistic fixes and error handling fixes while
4836 on it.
4837
215c90cb
VS
48382012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
4841 part. Instead setup the correct stack in RM.
4842 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
4843 for stack.
4844 * include/grub/i386/relocator_private.h: New file.
4845
b5c1f9bf
VS
48462012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
4849 argument.
4850 * util/grub-fstest.c (options): Add missing DEVICE part.
4851
b525fd83
VS
48522012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 Clarify and unify messages.
4855
4856 * grub-core/commands/hashsum.c (options): Unify messages.
4857 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
4858 literal-only message as translatable.
4859 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
4860 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
4861 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
4862 commands.
4863 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
4864 key, not the key used to unlock. Clarify what it's used for.
4865 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
4866 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
4867 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
4868 * util/grub-editenv.c (options): Unify "verbose" message.
4869 * util/grub-fstest.c (read_file): Unify error message.
4870 (fstest): Add quotes around commands.
4871 (options): Unify "verbose" message.
4872 * util/grub-install.in: Add quotes around variable name.
4873 * util/grub-kbdcomp.in: Unify error message.
4874 * util/grub-mkfont.c (main): Likewise.
4875 * util/grub-mkrescue.in: Likewise.
4876 * util/grub-mklayout.c (options): Unify "verbose" message.
4877 * util/grub-mkstandalone.in: Unify help and verbose messages.
4878 * util/grub-mount.c (options): Unify "verbose" message.
4879 * util/grub-probe.c (options): Likewise.
4880 * util/grub-script-check.c (options): Likewise.
4881 * util/grub-setup.c (setup): Unify no-terminator message.
4882 (options): Use DEVICE and not DEV.
4883 Unify "verbose" message.
4884 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
4885
0ae70393
VS
48862012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 Improve and unify messages.
4889
4890 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
4891 name. All users updated.
4892 Print filename in error.
4893 (read_device_map): Print filename in error.
4894 * util/getroot.c (grub_guess_root_devices): Print filename in error.
4895 (grub_util_get_os_disk): Likewise.
4896 (grub_util_biosdisk_get_grub_dev): Likewise.
4897 (grub_util_check_block_device): Likewise.
4898 (grub_util_check_char_device): Likewise.
4899 (grub_make_system_path_relative_to_its_root): Likewise.
4900 * util/grub-editenv.c (create_envblk_file): Likewise.
4901 (open_envblk_file): Likewise.
4902 (write_envblk): Likewise.
4903 * util/grub-fstest.c (cmd_cp): Likewise.
4904 (cmd_cat): Likewise.
4905 (cmd_cmp): Likewise.
4906 * util/grub-menulst2cfg.c (main): Likewise.
4907 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
4908 (write_font_width_spec): Likewise.
4909 (write_font_pf2): Likewise.
4910 * util/grub-mkimage.c (generate_image): New argument outname.
4911 All users updated.
4912 Remove unreacheable message.
4913 (options): Unify messages.
4914 (help_filter): Likewise.
4915 * util/grub-mklayout.c (usage): Removed (unused).
4916 (main): Print filename in error.
4917 * util/grub-mkrescue.in: Fix wrong quoting.
4918 * util/grub-setup.c (setup): Print filename in error.
4919 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
4920 (check_sas): Likewise.
4921 * util/misc.c (grub_util_get_fp_size): Removed.
4922 (grub_util_get_image_size): Print filename in error.
4923 (grub_util_read_at): Removed.
4924 (grub_util_read_image): Print filename in error.
4925 (grub_util_load_image): Likewise.
4926 (grub_util_write_image_at): New argument filename. All users updated.
4927 Print filename in error.
4928 (grub_util_write_image): New argument filename. All users updated.
4929 Print filename in error.
4930 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
4931 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
4932
0a96117d
VS
49332012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/Makefile.core.def (pxechain): New module.
4936 * grub-core/loader/i386/pc/pxechainloader.c: New file.
4937 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
4938 function.
4939 (grub_pc_net_config_real): Use grub_pxe_get_cached.
4940 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
4941
aca002f7
VS
49422012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
4945 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
4946 * include/grub/err.h (grub_error_saved): New struct.
4947 (grub_errmsg): Make array size explicit.
4948 * include/grub/misc.h (grub_error_save): New function.
4949 (grub_error_load): Likewise.
4950 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
4951 (grub_error_push): Update `errno' member name.
4952 (grub_error_pop): Likewise
4953 * grub-core/net/tftp.c (tftp_data): New member save_err.
4954 (tftp_receive): Save error.
4955 (tftp_open): Restore error.
4956
a51dab13
VS
49572012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
4960 to real mode down to execute A20-related code in protected mode as
4961 intended.
4962
eb6e6649
GS
49632012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4964
4965 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
4966 NULL when the argument `level' has an unexpected value.
4967
92cd0f6e
VS
49682012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 Move platform-dependent files from $prefix to $prefix/$platform.
4971
4972 * config.h.in (GRUB_TARGET_CPU): New definition.
4973 (GRUB_PLATFORM): Likewise.
4974 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
4975 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
4976 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4977 * grub-core/kern/dl.c (grub_dl_load): Likewise.
4978 * grub-core/normal/autofs.c (read_fs_list): Likewise.
4979 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
4980 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
4981 * grub-core/normal/term.c (read_terminal_list): Likewise.
4982 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
4983 $prefix/locale.
4984 (grub_gettext_init_ext): Likewise.
4985 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
4986 grub_platform.
4987 * util/grub-install.in: Update directories.
4988 * util/grub-mknetdir.in: Likewise.
4989 * util/grub-mkrescue.in: Likewise.
4990
db606889
VS
49912012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4992
4993 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
4994 grub_error framework. All users updated.
4995
c39992a4
VS
49962012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
4999 lists (by always binsearching), improve caching (cache strings
5000 used for binsearch, not only results), improve
5001 maintainability (by using more structured binary search) and correct
5002 error handling.
5003
1e5ec32f
VS
50042012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/script/execute.c (grub_script_return): Fix warning.
5007
ac576cde
VS
50082012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * grub-core/script/execute.c (grub_script_return): Fix potential
5011 NULL-dereference.
5012 Reported by: Jim Meyering.
5013
498453f6
VS
50142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * po/POTFILES.in: Regenerate.
5017 * util/grub-install.in: Gettextize the strings missed in first pass.
5018
8be63f2e
VS
50192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * Makefile.util.def (grub-mkdevicemap): Removed.
5022 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5023 * include/grub/util/deviceiter.h: Removed.
5024 * util/deviceiter.c: Likewise.
5025 * util/getroot.c (grub_util_get_os_disk): New function.
5026 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5027 replacement for EFI.
5028 * util/grub-mkdevicemap.c: Removed.
5029 * util/grub-probe.c (probe): Handle PRINT_DISK.
5030 (argp_parser): Handle -t disk.
5031
8e1e4e39
VS
50322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 * util/grub-mkfont.c: Migrate to argp.
5035 * util/grub-mklayout.c: Likewise.
5036 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5037 * util/grub-mkrelpath.c: Likewise.
5038 * util/grub-probe.c: Likewise.
5039 * util/grub-script-check.c: Likewise.
5040
4459819a
VS
50412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * util/grub-reboot.in: Add missing datarootdir.
5044 Add missing newline.
5045 * util/grub-set-default.in: Add missing datarootdir.
5046 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5047 * util/grub-mkrescue.in: Likewise.
5048
f65741c7
VS
50492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5052
c1a33466
VS
50532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * util/grub-kbdcomp.in: Add decent help and gettextize.
5056 * docs/man/grub-kbdcomp.h2m: New file.
5057
c76899a0
VS
50582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 Migrate grub-mkimage.c to argp.
5061
5062 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5063 (grub-setup): Likewise.
5064 * util/grub-setup.c (print_version): Move to ...
5065 * util/argp_common.c (print_version): ... here.
5066 * util/grub-setup.c (argp_program_version_hook): Move to ...
5067 * util/argp_common.c (argp_program_version_hook): ... here.
5068 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5069 safety.
5070 * util/grub-mkimage.c (main): Migrate to argp.
5071
57db0757
VS
50722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 * util/grub-mkrescue.in: Use same message as
5075 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5076 for better translations.
5077
18534ad9
VS
50782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5079
5080 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5081 options with generic grub-mkrescue.in with the goal of future
5082 merge.
5083
c84ba308
VS
50842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 * grub-core/kern/mm.c: Add missing include of i18n.h
5087 * grub-core/lib/relocator.c: Likewise.
5088
347998c2
VS
50892012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5092 error.
5093 (allocate_pages): Check return value.
5094 Replace fatal with error.
5095 (grub_linux_boot): Replace printf with dprintf.
5096 Check find_mmap_size return value.
5097 Replace fatal with error.
5098 Don't call grub_machine_fini.
5099 (grub_load_elf64): Replace printf with dprintf.
5100 (grub_cmd_linux): Likewise.
5101 (grub_cmd_initrd): Likewise.
5102 (grub_cmd_payload): Likewise.
5103
c779226e
VS
51042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5107 message.
5108 * grub-core/video/radeon_fuloong2e.c
5109 (grub_video_radeon_fuloong2e_setup): Likewise.
5110 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5111 * grub-core/video/video.c (grub_video_set_mode): Don't override
5112 standard out of memory message.
5113
dc87d45a
GS
51142012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5115
5116 NetBSD disk wedge support.
5117
5118 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5119 [__NetBSD__]: Handle NetBSD disk wedges.
5120 * util/getroot.c (convert_system_partition_to_system_disk)
5121 [__NetBSD__]: Likewise.
5122
055f856f
MW
51232012-02-03 Mark Wooding <mdw@distorted.org.uk>
5124
5125 * util/grub-mkconfig.in: Use umask rather than chmod to create
5126 grub.cfg.new to avoid insecure grub.cfg.
5127
4a9f8346
VS
51282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * grub-core/commands/ls.c: Gettextize.
5131 * grub-core/commands/setpci.c: Likewise.
5132 * grub-core/commands/videotest.c: Likewise.
5133 * grub-core/disk/geli.c: Likewise.
5134 * grub-core/kern/mm.c: Likewise.
5135 * grub-core/lib/relocator.c: Likewise.
5136 * grub-core/loader/efi/appleloader.c: Likewise.
5137 * grub-core/loader/i386/xnu.c: Likewise.
5138 * grub-core/loader/ia64/efi/linux.c: Likewise.
5139 * grub-core/loader/xnu.c: Likewise.
5140 * grub-core/net/dns.c: Likewise.
5141 * grub-core/net/net.c: Likewise.
5142 * grub-core/script/lexer.c: Likewise.
5143 * grub-core/script/parser.y: Likewise.
5144 * grub-core/script/yylex.l: Likewise.
5145 * util/getroot.c: Likewise.
5146 * util/grub-setup.c: Likewise.
5147
a646a366
VS
51482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5151 number.
5152
54e2be26
VS
51532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5156
f7c71e68
VS
51572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5160 macro.
5161 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5162 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5163
a32d5c71
VS
51642012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5167 * util/grub-install.in: Gettextize.
5168 * util/grub-mkconfig.in: Likewise.
5169 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5170 if not available.
5171 (grub_warn): Gettextize.
5172 * util/grub-mknetdir.in: Gettextize.
5173 * util/grub-mkrescue.in: Likewise.
5174 * util/grub-mkstandalone.in: Likewise.
5175 * util/grub-reboot.in: Likewise.
5176 * util/grub-set-default.in: Likewise.
5177 * util/grub.d/00_header.in: Likewise.
5178 * util/grub.d/10_hurd.in: Likewise.
5179 * util/grub.d/10_kfreebsd.in: Likewise.
5180 * util/grub.d/10_linux.in: Likewise.
5181 * util/grub.d/10_netbsd.in: Likewise.
5182 * util/grub.d/10_windows.in: Likewise.
5183 * util/grub.d/20_linux_xen.in: Likewise.
5184 * util/grub.d/30_os-prober.in: Likewise.
5185 * po/POTFILES-shell.in: Regenerate.
5186
69edd81a
RL
51872012-02-03 Richard Laager <rlaager@wiktel.com>
5188
5189 * util/grub-mkimage.c (main): Fix format-security warning.
5190 * util/grub-mkrelpath.c (main): Likewise.
5191 * util/grub-probe.c (main): Likewise.
5192
65f08dbf
RL
51932012-02-03 Richard Laager <rlaager@wiktel.com>
5194
5195 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5196 failure.
5197 Put back lost PRINT_DRIVE.
5198
e9084abe
RL
51992012-02-03 Richard Laager <rlaager@wiktel.com>
5200
5201 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5202 (grub_guess_root_devices): Replace strlen with sizeof.
5203 Avoid crash.
5204 (find_root_devices_from_poolname): Remove unused variable.
5205 Handle raidzN.
5206
cf5f7ee7
VS
52072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5208
5209 Support install on multi-device filesystems.
5210
5211 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5212 (grub_guess_root_devices): ...this. Return char **. All users updated.
5213 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5214 Removed.
5215 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5216 (find_root_devices_from_poolname): ... here.
5217 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5218 Support zfs-fuse.
5219 (grub_guess_root_device): Rename to ...
5220 (grub_guess_root_devices): ... this. Return char **. All users updated.
5221 * util/grub-install.in: Handle multi-device filesystems.
5222 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5223 argument. All users updated.
5224 Handle multi-device filesystems.
5225 Use 'delim' as separator.
5226 Remove device check to allow filesystems on file.
5227 (main): Support -0 argument. Handle multi-device.
5228 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5229 Fix a cross-device check while on it.
5230 (arguments): Remove root_dev.
5231 (argp_parser): Remove -r.
5232 (main): Remove root_dev.
5233
2f53a9ed
VS
52342012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5237
17e1d934
VS
52382012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5241 symbol.
5242 Reported by: NODA, Kai <nodakai>.
5243
d3e3fab5
VS
52442012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 Fix ehci on amd64.
5247
5248 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5249 pointers.
5250 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5251 (grub_ehci_setup_qh): Likewise.
5252 (grub_ehci_find_qh): Likewise.
5253 (grub_ehci_transaction): Likewise.
5254 (grub_ehci_setup_transfer): Likewise.
5255 (grub_ehci_check_transfer): Likewise.
5256 (grub_ehci_portstatus): Likewise.
5257 (grub_ehci_detect_dev): Likewise.
5258 (grub_ehci_transfer_controller_data): New field td_last_phys.
5259 (grub_ehci_setup_transfer): Fill td_last_phys.
5260 (grub_ehci_check_transfer): Use td_last_phys.
5261
3008675b
SG
52622012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5263
5264 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5265 if no submenu is present.
5266
fc9b5652
AN
52672012-02-01 Aleš Nesrsta <starous@volny.cz>
5268
5269 CBI support.
5270
5271 * include/grub/usb.h (grub_usbms_protocol_t): New values
5272 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5273 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5274 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5275 (grub_usbms_dev): Add subclass, protocol and intrpt.
5276 Remove in_maxsz and out_maxsz.
5277 (grub_usbms_reset): Rename to ...
5278 (grub_usbms_bo_reset): .. this.
5279 (grub_usbms_cbi_cmd): New function.
5280 (grub_usbms_cbi_reset): Likewise.
5281 (grub_usbms_reset): Likewise.
5282 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5283 (grub_usbms_transfer): Rename to ...
5284 (grub_usbms_transfer_bo): ... this.
5285 (grub_usbms_transfer_cbi): Likewise.
5286 (grub_usbms_transfer): Likewise.
5287
a2b81d53
AN
52882012-02-01 Aleš Nesrsta <starous@volny.cz>
52892012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5292 the support for the CS5536 modification thereos and few bugfixes.
5293
5294 * grub-core/Makefile.core.def (ehci): New module.
5295 * grub-core/bus/usb/ehci.c: New file.
5296 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5297 port and hubaddr. All users updated.
5298 Save port and hubaddr into dev structure.
5299 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5300 define.
5301 * include/grub/pci.h (grub_dma_phys2virt): New function.
5302 (grub_dma_virt2phys): Likewise.
5303 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5304
b1d51f02
VS
53052012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5308 check as some mkfs implementations omit it.
5309
fc694106
VS
53102012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5313
6c0920e3
VS
53142012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5317 Add new member volname2.
5318 (grub_jfs_label): Use volname2 if available.
5319
d1a46f9a
VS
53202012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5323 over last_mounted as seen in image generated by mkfs.nilfs2.
5324 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5325
dec8ed14
VS
53262012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5329 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5330 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5331
7397c69b
VS
53322012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5335 over the sector.
5336
b3fe42ad
VS
53372012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5340 subvolume name (by removing a bogus and useless check).
5341
10476bb0
VS
53422012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5345 sizeof while on it.
5346
9c08ad87
VS
53472012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5350 (grub_scsi_read_capacity10): ... this.
5351 (grub_scsi_read_capacity16): New function.
5352 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5353 0xffffffff.
5354 Fix off-by-one error.
5355 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5356 64-bit unsigned.
5357 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5358 (grub_scsi_read_capacity10): ... this.
5359 (grub_scsi_read_capacity_data): Rename to ...
5360 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5361 (grub_scsi_read_capacity16): New struct.
5362 (grub_scsi_read_capacity16_data): Likewise.
5363 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5364 grub_scsi_cmd_read_capacity10.
5365 New command grub_scsi_cmd_read_capacity16.
5366
bc8d0f45
VS
53672012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 SCSI >2TiB support.
5370
5371 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5372 (grub_scsi_write16): Likewise.
5373 (grub_scsi_read): Use read16 when necessary.
5374 (grub_scsi_write): Likewise.
5375 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5376 (grub_scsi_write16): Likewise.
5377 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5378
cc774926
VS
53792012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 SCSI write support (for usbms mainly).
5382
5383 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5384 a const pointer.
5385 (grub_scsi_write): Implement.
5386 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5387
67639fd7
VS
53882012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5391 variable.
5392
9079d3ed
VS
53932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5396
c6a6f204
VS
53972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * po/POTFILES.in: Regenerate.
5400
ecbf8cd1
VS
54012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5404 with grub_printf to avoid unnecessary fatal failure.
5405
0b3b3b38
VS
54062012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5409 (INT_MAX): Likewise.
5410 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5411 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5412 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5413 (strcpy): Likewise.
5414 (strstr): Likewise.
5415 (strchr): Likewise.
5416 (strncpy): Likewise.
5417 (strcat): Likewise.
5418 (strncat): Likewise.
5419 (strcoll): Likewise.
5420 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5421 (GRUB_INT_MAX): Likewise.
5422
db7337a3
VS
54232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5426 unexpected error.
5427 (optimize_utf8): Likewise.
5428 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5429
f37c87e1
VS
54302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * grub-core/boot/i386/pc/lnxboot.S: Use
5433 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5434 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5435 location.
5436 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5437 definition.
5438 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5439
63fe43f3
VS
54402012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5443 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5444 now to avoid double free.
5445 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5446 hostdisk.
5447 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5448 * util/grub-probe.c (escape_of_path): Always return a new copy.
5449 (print_full_name): Escape path.
5450 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5451 Fix hints on abstractions.
5452
ebe2c961
VS
54532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5456 Don't add "root" line if no compatibility hont is available.
5457 Suggested by: Seth Goldberg.
5458
2b5336a2
VS
54592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5462 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5463 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5464 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5465
74310bd8
VS
54662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5467
5468 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5469
c30582ba
VS
54702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 * util/grub-pe2elf.c (ehdr): Make static.
5473 (shdr): Likewise.
5474 (num_sections): Likewise.
5475 (offset): Likewise.
5476
5f47782c
VS
54772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 Eliminate ofpath limits and possible overflows.
5480
5481 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5482 (OF_PATH_MAX): Removed.
5483 (MAX_DISK_CAT): New const.
5484 (find_obppath): Use allocated rather than preallocated buffer.
5485 Return result. Argument of_path removed. All users updated.
5486 Add missing fdstat.
5487 (xrealpath): New function.
5488 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5489 Allocate rather than use preallocated buffer. All users updated.
5490 (__of_path_common): Use allocated rather than preallocatecd buffer.
5491 Return result. Argument of_path removed. All users updated.
5492 (vendor_is_ATA): Read only needed part form the file.
5493 (check_sas): Allocate depending on contents rather than fixed.
5494 (main) [STANDALONE]: Handle NULL result.
5495
f990cbf9
VS
54962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5499
9c6e84b8
VS
55002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 Cryptodisk write support.
5503
5504 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5505 (grub_cryptodisk_decrypt): Moved logic to ...
5506 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5507 (grub_cryptodisk_write): Implement.
5508 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5509 (grub_util_fd_write): ... this. Make global.
5510 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5511
87cf9744
VS
55122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * include/grub/list.h (grub_list_remove): Don't crash if element is
5515 removed twice.
5516
ca8c0baf
VS
55172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5518
5519 Rename ofconsole to console.
5520
5521 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
5522 as sysnonym to console.
5523 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
5524 * grub-core/term/ieee1275/console.c: ... this. All users updated.
5525 Rename grub_ofconsole_ to grub_console_. All users updated
5526 (grub_console_term_output): Rename "ofconsole" to "console".
5527 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
5528 as "console".
5529
64c8b8f6
VS
55302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
5533 handling.
5534 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
5535 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
5536 GRUB_DISK_DEVICE_FILE_ID.
5537
f6c434d5
VS
55382012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
5541 and improve performance.
5542
5858b42d
VS
55432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
5546 missing ieee1275/ prefix on whole disk.
5547
4ed3c26b
VS
55482012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
5551 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
5552
df71143e
VS
55532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
5556
076e7c0f
VS
55572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5558
5559 Merge common RAID and LVM logic to an abstract diskfilter.
5560 Add LDM support using the same framework.
5561
5562 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
5563 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
5564 (libgrubmods): Remove grub-core/disk/raid.c and
5565 grub-core/partmap/gpt.c.
5566 * grub-core/Makefile.core.def (ldm): New module.
5567 (raid): Renamed to diskfilter. All users updated.
5568 * grub-core/disk/raid.c: Moved to ...
5569 * grub-core/disk/diskfilter.c: ... here.
5570 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
5571 (lv_num): New var.
5572 (find_array): Renamed to ...
5573 (find_lv): ... this. Support multi-LV. Skip nameless LVs
5574 (grub_is_array_readable): Renamed to ...
5575 (grub_is_lv_readable): ... this. Support multinode hierarchy.
5576 (insert_array): New argument id.
5577 (is_node_readable): New function.
5578 (scan_device): Rename to ...
5579 (scan_disk): .. this. Restrict to one disk.
5580 (scan_devices): New function.
5581 (grub_diskfilter_iterate): Support multi-LV.
5582 Skip invisible and nameless LVs.
5583 (grub_diskfilter_memberlist): Support multi-LV.
5584 (grub_diskfilter_read_node): New function.
5585 (grub_raid_read): Most of logic moved to ...
5586 (read_segment): ... here
5587 (read_lv): New function.
5588 (grub_diskfilter_get_vg_by_uuid): New function.
5589 (grub_diskfilter_make_raid): Likewise.
5590 * grub-core/disk/ldm.c: New file.
5591 * grub-core/disk/lvm.c (vg_list): Removed.
5592 (lv_count): Likewise.
5593 (scan_depth): Likewise.
5594 (is_lv_readable): Likewise.
5595 (grub_lvm_getvalue): Advance pointer past the number.
5596 (find_lv): Removed.
5597 (do_lvm_scan): Refactored into ...
5598 (grub_lvm_detect): ... this. Support raid.
5599 (grub_lvm_iterate): Removed.
5600 (grub_lvm_memberlist): Likewise.
5601 (grub_lvm_open): Likewise.
5602 (grub_lvm_close): Likewise.
5603 (read_lv): Likewise.
5604 (read_node): Likewise.
5605 (is_node_readable): Likewise.
5606 (is_lv_readable): Likewise.
5607 (grub_lvm_read): Likewise.
5608 (grub_lvm_write): Likewise.
5609 (grub_lvm_dev): Use diskfilter
5610 (GRUB_MOD_INIT): Likewise.
5611 (GRUB_MOD_FINI): Likewise.
5612 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
5613 new interface.
5614 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
5615 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5616 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
5617 grub_diskfilter_read_node.
5618 Fix a bug with xor.
5619 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
5620 grub_diskfilter_read_node.
5621 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
5622 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
5623 (grub_disk_dev_iterate): Move from here...
5624 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
5625 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5626 Make global.
5627 (grub_hostdisk_find_partition_start): Likewise.
5628 (grub_hostdisk_os_dev_to_grub_drive): New function.
5629 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
5630 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
5631 * util/getroot.c (make_device_name): ... here.
5632 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5633 Move to ...
5634 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
5635 * grub-core/kern/emu/hostdisk.c
5636 (convert_system_partition_to_system_disk): Move to ...
5637 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
5638 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
5639 * util/getroot.c (device_is_wholedisk): ... here.
5640 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
5641 * util/getroot.c (find_system_device): ... here.
5642 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
5643 Move to ...
5644 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
5645 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5646 Move to ...
5647 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
5648 Handle LDM.
5649 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5650 Move to ...
5651 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
5652 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
5653 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
5654 DISKFILTER.
5655 * include/grub/raid.h: Renamed to ...
5656 * include/grub/diskfilter.h: ... this.
5657 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
5658 (GRUB_RAID_LAYOUT_*): Make into array.
5659 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
5660 (grub_diskfilter_vg): New struct.
5661 (grub_diskfilter_pv_id): Likewise.
5662 (grub_raid_member): Removed.
5663 (grub_raid_array): Likewise.
5664 (grub_diskfilter_pv): New struct.
5665 (grub_diskfilter_lv): Likewise.
5666 (grub_diskfilter_segment): Likewise.
5667 (grub_diskfilter_node): Likewise.
5668 (grub_diskfilter_get_vg_by_uuid): New proto.
5669 (grub_raid_register): Inline.
5670 (grub_diskfilter_unregister): Likewise.
5671 (grub_diskfilter_make_raid): New proto.
5672 (grub_diskfilter_vg_register): Likewise.
5673 (grub_diskfilter_read_node): Likewise.
5674 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
5675 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
5676 (grub_util_is_ldm): Likewise.
5677 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
5678 (grub_hostdisk_find_partition_start): Likewise.
5679 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
5680 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
5681 New definition.
5682 (grub_gpt_partition_map_iterate): New proto.
5683 * include/grub/lvm.h (grub_lvm_vg): Removed.
5684 (grub_lvm_pv): Likewise.
5685 (grub_lvm_lv): Likewise.
5686 (grub_lvm_segment): Likewise.
5687 (grub_lvm_node): Likewise.
5688 * util/getroot.c [...]
5689 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
5690 (probe_abstraction): Likewise.
5691 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
5692 (main): Remove dead logic.
5693
8a7f9b9c
VS
56942012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 Simplify root device discover and don't fail when trying to open
5697 incorrect devices.
5698
5699 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
5700 function.
5701 (get_diskname_from_path): Likewise.
5702 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
5703 of iterating.
5704
30545b85
VS
57052012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
5708
28ea58cf
VS
57092012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
5712 pastthe end.
5713
692dabca
VS
57142012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * util/grub-install.in: Add missing \.
5717 Reported by: gentoofan
5718
f6e4ea70
VS
57192012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5720
5721 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
5722 (direct_read): Use correct compressed size.
5723 (grub_squash_read_data): Likewise.
5724
57252012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
5726
5727 * docs/grub.texi (Platform limitations): New section.
5728 (Platform-specific operations): Likewise.
5729 * docs/grub-dev.texi (Porting): Likewise.
5730
76261110
VS
57312012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 IEEE1275 disk write support.
5734
5735 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
5736 const void *.
5737 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
5738 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
5739 and seek loginc to ...
5740 (grub_ofdisk_prepare): ... here.
5741 (grub_ofdisk_write): Implement.
5742
fc36d603
VS
57432012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 ARC disk write support.
5746
5747 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
5748 (reopen): New argument writable. All users updated.
5749 Handle required access mode.
5750 (grub_arcdisk_write): Implement.
5751 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
5752 (grub_arc_firmware_vector): Make buffer to write a const buffer.
5753
e06c2e7a
VS
57542012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
5757 (read_sblock): Don't attempt to read superblocks outside the disk size.
5758
ff447958
VS
57592012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
5762 first superblock to find the second one when possible.
5763
9e88df39
VS
57642012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * util/grub-install.in: Fix an ARC bug.
5767 Print a warning if no platform-specific setup is available.
5768
bb26e4ff
VS
57692012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 Use static allocation rather than scratch pointer in reed_solomon.
5772 It decreases its size significantly and avoids a variable in .text.
5773
5774 * grub-core/lib/reed_solomon.c (scratch): Removed.
5775 (chosenstat): New const or static array.
5776 (sigma): Likewise.
5777 (errpot): Likewise.
5778 (errpos): Likewise.
5779 (sy): Likewise.
5780 (mstat): Likewise.
5781 (errvals): Likewise.
5782 (eqstat): Likewise.
5783 (pol_evaluate): Replace x with log_x argument. All users updated.
5784 (syndroms): Removed.
5785 (gauss_solve): Use statically allocated arrays.
5786 (rs_recover): Likewise.
5787 Calculate syndroms directly.
5788 (decode_block): Use statically allocated arrays.
5789 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
5790 (main) [TEST]: Allow -DTEST -DSTANDALONE.
5791
2e13ede5
VS
57922012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 Eliminate fixed limit on reed solomon decoder length.
5795
5796 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
5797 rather than hardcoding the address.
5798 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
5799 no_reed_solomon_length.
5800 Move gate_a20 to no-reed-solomon part.
5801 Don't force a particular size of no reed-solomon part.
5802 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5803 Removed.
5804 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
5805 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
5806
f8a9ab12
VS
58072012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * grub-core/commands/wildcard.c (match_files): Handle filenames
5810 without explicit device.
5811 (wildcard_expand): Don't add explicit device if not already present.
5812 * tests/grub_script_echo1.in: Add a new expansion test.
5813
87edb894
VS
58142012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 Replace single-linked with double-linked lists. It results in more
5817 compact and more efficient code.
5818
5819 * grub-core/kern/list.c (grub_list_push): Moved from here ...
5820 * include/grub/list.h (grub_list_push): ... to here. Set prev.
5821 (grub_list_remove): Moved from here ...
5822 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
5823 (grub_prio_list_insert): Set prev.
5824 * include/grub/list.h (grub_list): Add prev. All users updated.
5825
48b391e9
VS
58262012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 Handle newer autotools. Add some missing quotes while on it.
5829
5830 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
5831 (pkglib_DATA): Move grub-mkconfig_lib from here ...
5832 (pkgdata_DATA): ... here.
5833 * Makefile.util.def (update-grub_lib): Removed.
5834 * conf/Makefile.common (pkglib_DATA): Removed.
5835 (pkglib_SCRIPTS): Likewise.
5836 (pkgdata_DATA): New variable.
5837 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
5838 needed.
5839 Add missing quotes.
5840 Remove unused variable while on it.
5841 * tests/util/grub-shell.in: Likewise.
5842 * util/grub-install.in: Likewise.
5843 * util/grub-mkconfig.in: Likewise.
5844 * util/grub-mknetdir.in: Likewise.
5845 * util/grub-mkrescue.in: Likewise.
5846 * util/grub-mkstandalone.in: Likewise.
5847 * util/grub.d/00_header.in: Likewise.
5848 * util/grub.d/10_hurd.in: Likewise.
5849 * util/grub.d/10_illumos.in: Likewise.
5850 * util/grub.d/10_kfreebsd.in: Likewise.
5851 * util/grub.d/10_linux.in: Likewise.
5852 * util/grub.d/10_netbsd.in: Likewise.
5853 * util/grub.d/10_windows.in: Likewise.
5854 * util/grub.d/20_linux_xen.in: Likewise.
5855 * util/grub.d/30_os-prober.in: Likewise.
5856 * util/update-grub_lib.in: Removed.
5857
58582012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
5859
5860 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
5861 a workaround for intel problem.
5862
66832792
PRP
58632012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
58642012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
58652012-01-23 pfsmorigo
5866
5867 * util/grub-install.in: Support dd'in into PreP partition.
5868 * util/grub-probe.c (probe): Support discovering partition type.
5869 (main): Support -t msdos_parttype.
5870
7816a17e
VS
58712012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
5874 infinite recursion using counter.
5875 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
5876 init to skip it if the magic check fails.
5877 (dec_stream_header): Init s->crc32.
5878
8f9d3a8c
ZB
58792012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
58802012-01-22 Zachary Bedell <pendorbound@gmail.com>
58812012-01-22 Richard Laager <rlaager@wiktel.com>
5882
5883 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
5884 All users updated.
5885 (find_bestub): Determine correct size.
5886 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
5887 (scan_disk): Align the size down.
5888 Call check pool before find_bestub to have ashift.
5889
b055dd32
VS
58902012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
5893 dprintf in no-malloc zone.
5894
d779e9bd
ML
58952012-01-22 Mario Limonciello <mario_limonciello@dell.com>
5896
5897 * configure.ac: Add back in test for limits.h.
5898
b508af69
VS
58992012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 Support 4K-sector NTFS.
5902
5903 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
5904 (grub_ntfs_data): Remove blocksize.
5905 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
5906 Remove data argument. All users updated.
5907
dad9c8b5
VS
59082012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
5911 being in .text to avoid dprel references.
5912 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
5913 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
5914 (grub_arch_highmemsize): Likewise.
5915 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
5916 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
5917 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
5918
d43a777e
VS
59192012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
5922
5923 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
5924 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
5925
34e4208f
VS
59262012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
5929 GRUB_UTIL.
5930 (grub_set_datetime_cmos): Likewise.
5931
3ec0fc1c
VS
59322012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 Make XZ compression parameters dependent on target and not host CPU.
5935
5936 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
5937 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
5938
22489834
VS
59392012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5940
5941 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
5942 set but not used variable.
5943
8502fbca
VS
59442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
5947 created when no uuid support is compiled into mkfs.reiser.
5948
76df2068
VS
59492012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
5952 (utf8_to_macroman): Do the opposite.
5953 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
5954
64e3f8f6
VS
59552012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * configure.ac: Refise build qemu_mips w/o unifont.
5958
9c271078
VS
59592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 Eliminate grub_min/grub_max prone to overflow usage.
5962
5963 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
5964 (poll_nonroot_hub): Likewise.
5965 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
5966 (grub_affs_label): Likewise.
5967 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
5968 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
5969 (grub_hfs_label): Likewise.
5970 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
5971 * grub-core/fs/zfs/zfs.c (MIN): Remove.
5972 (zap_leaf_array_equal): Use grub_size. Remove MIN.
5973 (zap_leaf_array_get): Likewise.
5974 (dnode_get_path): Likewise.
5975 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
5976 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
5977 * grub-core/script/execute.c (grub_script_break): Likewise.
5978 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
5979 grub_max.
5980 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
5981 * include/grub/misc.h (grub_min): Removed.
5982 (grub_max): Likewise.
5983
80662dbc
VS
59842012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5985
5986 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
5987 direct.inode = 0.
5988
e6da1467
VS
59892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
5992
b1ac4cb1
VS
59932012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
5996
b4bf7c3b
VS
59972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6000 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6001
8ee1101a
VS
60022012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6005 rather than a hack for grub_strncasemap.
6006
60072012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6008
6009 Support multiple initrds
6010 Note: part of this was accidently committed in r3739.
6011
6012 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6013 initrd.
6014 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6015 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6016 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6017 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6018 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6019
4d1e2bc9
VS
60202012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6023 disks with unknown size.
6024 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6025
75b49ebe
VS
60262012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 Remove defines pertaining to arbitrary limits not affecting GRUB
6029 anymore.
6030
6031 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6032 (EXT2_MAX_SYMLINKCNT): Likewise.
6033 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6034 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6035 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6036 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6037 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6038 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6039 (DN_MAX_OBJECT_SHIFT): Likewise.
6040 (DN_MAX_OFFSET_SHIFT): Likewise.
6041 (DN_MAX_OBJECT): Likewise.
6042 (DNODES_PER_LEVEL_SHIFT): Likewise.
6043 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6044 (SPA_MAXBLOCKSIZE): Likewise.
6045 (SPA_BLOCKSIZES): Likewise.
6046 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6047 (MZAP_MAX_BLKSZ): Likewise.
6048
74a1dce7
VS
60492012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6052 handle NULL appropriately.
6053 Remove MIN.
6054
30c7d3ce
VS
60552012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6056
6057 Fix efiemu.
6058
6059 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6060 cpu/types.h.
6061 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6062 * configure.ac: Fix efiemu check.
6063
3c76ea0c
VS
60642012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6067 grub_probe.
6068 Reported by: adamwill
6069
7e532280
SG
60702012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6071
6072 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6073
30492374
VS
60742012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 Fix handling of wide characters in gfxterm.
6077
6078 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6079 (clear_char): Likewise.
6080 (paint_char): Skip code == NULL chars.
6081 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6082
e70cb72f
VS
60832012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6084
6085 * grub-core/normal/charset.c: Move comment to right place.
6086
5c827cf9
VS
60872012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6090 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6091 (grub_affs_mount): Revert the correct version checking.
6092
53603892
VS
60932012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 * docs/grub.texi (Unicode): Mention several other unsupported features.
6096
ff094b9b
VS
60972011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6100 case statements as compile-time one.
6101 (direct_read): Prevent spurious warnings.
6102 (grub_squash_read_data): Likewise.
6103
c029da8a
VS
61042011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 Various squash4 fixes and LZO and XZ support.
6107
6108 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6109 Add xzembed source files.
6110 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6111 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6112 (grub_squash_inode): New subtype long_dir.
6113 (SQUASH_TYPE_LONG_DIR): New inode type.
6114 (COMPRESSION): New enum.
6115 (XZBUFSIZ): New const.
6116 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6117 (read_chunk): Use data->decompress.
6118 (zlib_decompress): New function.
6119 (lzo_decompress): Likewise.
6120 (xz_decompress): Likewise.
6121 (squash_mount): Set new data fields.
6122 (grub_squash_iterate_dir): Handle long dir.
6123 (squash_unmount): Free xzdec and xzbuf.
6124 (grub_squash_open): Check ino type.
6125 (direct_read): Stylistic fixes. Use data->decompress.
6126 (grub_squash_read_data): Likewise.
6127 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6128 (get_byte): Likewise.
6129 (grub_zlib_disk_read): Removed.
6130 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6131 (GRUB_POSIX_BOOL_DEFINED): New define.
6132 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6133 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6134 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6135 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6136
7a45a539
VS
61372011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 Don't override more informative errors.
6140
6141 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6142 * grub-core/font/font.c (open_section): Likewise.
6143 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6144 filename. Don't override errors.
6145 (grub_cmd_openbsd_ramdisk): Don't override errors.
6146 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6147 (grub_cmd_initrd): Likewise.
6148 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6149 (grub_cmd_initrd): Likewise.
6150 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6151 (grub_cmd_linux): Likewise.
6152 (grub_cmd_initrd): Likewise.
6153 (grub_cmd_payload): Likewise.
6154 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6155 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6156 (grub_cmd_module): Likewise.
6157 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6158 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6159 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6160 (grub_cmd_xnu_mkext): Likewise.
6161 (grub_cmd_xnu_ramdisk): Likewise.
6162 (grub_xnu_check_os_bundle_required): Likewise.
6163 (grub_xnu_load_kext_from_dir): Likewise.
6164 (grub_cmd_xnu_kextdir): Likewise.
6165 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6166
b2d004db
VS
61672011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6170 as 1024 in block size field. Found on one of my test images.
6171 Small optimisation while on it.
6172
ec000eac
VS
61732011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6176 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6177 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6178 performance fixes while on it.
6179 (grub_sfs_close): Fix memory leak while on it.
6180 (grub_sfs_label): Convert Latin1 to UTF-8.
6181
f50e1165
VS
61822011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6185 space to avoid overflows.
6186 (grub_hfs_label): Convert from macroman to UTF-8.
6187
2ae254de
VS
61882011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6189
6190 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6191
0108f491
VS
61922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6195
f45f5f89
VS
61962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * unicode: Import Unicode 6.0 data.
6199
4d8c4765
VS
62002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6201
63fa8ef9
VS
6202 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6203 outside of range.
6204
62052011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
6208
6209 * include/grub/charset.h (grub_getend): New function.
6210 * grub-core/script/function.c (grub_script_function_find): Use
6211 grub_getend.
6212 * grub-core/normal/completion.c (add_completion): Likewise.
6213
f3cb4a4e
VS
62142011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6217 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6218 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6219 (GRUB_UNICODE_TAG_END): Likewise.
6220 (GRUB_UNICODE_LAST_VALID): Likewise.
6221
5da8dbc5
VS
62222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6225 len and make it smaller. All users updated.
6226 * util/import_unicode.py: Put length and not end character.
6227 Check length.
6228
8569f13d
VS
62292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 Make better Unicode-compliant and unify some UTF-8 code pathes.
6232
6233 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6234 valid character.
6235 (grub_is_valid_utf8): Use grub_utf8_process.
6236 Check resulting code range.
6237 (grub_utf8_to_ucs4): Use grub_utf8_process.
6238 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6239 valid character.
6240
cc4fddf5
VS
62412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6244
bbc47747
VS
62452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 * docs/grub.texi (Filesystems): Mention AFS.
6248
f63d6bf4
VS
62492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * docs/grub.texi (Filesystems): Clarify restrictions.
6252 (Regexp): Mention non-Unicode regexp behaviour.
6253 (Other): Mention non-Unicode matching behaviour.
6254
74bbf0db
VS
62552011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6256
f63d6bf4 6257 Make HFS implementation use MacRoman.
74bbf0db
VS
6258
6259 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6260 (macroman): New const array.
6261 (macroman_to_utf8): New function.
6262 (utf8_to_macroman): Likewise.
6263 (grub_hfs_find_dir): Use utf8_to_macroman.
6264 (grub_hfs_dir): Use macroman_to_utf8.
6265 Set case_insensitive.
6266
4ea0316e
VS
62672011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6270
d3c13cbd
VS
62712011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 Integrate hints into autogeneration scripts.
6274
6275 * docs/grub.texi (Filesystems): Add a hostdisk example.
6276 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6277 (grub-probe): Add ofpath.
6278 * gentpl.py: Remove group nosparc64.
6279 * grub-core/commands/search.c (cache_entry): New struct.
6280 (cache): New var.
6281 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6282 * grub-core/commands/search_wrap.c (options): Add platform-specific
6283 hint options.
6284 (grub_cmd_search): Handle platform-specific hints.
6285 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6286 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6287 (grub_util_biosdisk_data): Likewise.
6288 (grub_util_biosdisk_open): Set device_map.
6289 (read_device_map): Handle "" as indication of no map.
6290 Set device_map.
6291 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6292 (grub_util_biosdisk_get_compatibility_hint): New function.
6293 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6294 * include/grub/emu/hostdisk.h
6295 (grub_util_biosdisk_get_compatibility_hint): New proto.
6296 * util/grub-install.in: Don't call grub-mkdevicemap.
6297 Add platform-specific hint to load.cfg.
6298 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6299 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6300 hints. Set root preliminary to compatibility hint, not to OS name.
6301 * util/grub-probe.c (PRINT_*): Add hints.
6302 (print): Make static.
6303 (escape_of_path): New function.
6304 (guess_bios_drive): Likewise.
6305 (guess_efi_drive): Likewise.
6306 (guess_baremetal_drive): Likewise.
6307 (print_full_name): Likewise.
6308 (probe): Handle hints.
6309 (main): Likewise.
6310 * util/ieee1275/devicemap.c: Removed.
6311 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6312 updated.
6313 (grub_util_devname_to_ofpath): Return NULL on failure.
6314
6315 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6316 resource leak.
6317 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6318
6319 * po/POTFILES.in: Regenerated.
6320
6321 Allow purely long options
6322
6323 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6324 (SHORT_ARG_USAGE): Likewise.
6325 (grub_arg_show_help): Compare opt with help_options.
6326 (parse_option): Receive opt as argument. If makes big simplificatons.
6327 All users updated
6328
00ce2df3
VS
63292011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6332 Restructure to avoid warning.
6333
e77e325f
VS
63342011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * util/grub-install.in: Account for possible escaped comma in device
6337 name.
6338
165099ea
VS
63392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6342 channel.
6343
ce4a999d
VS
63442011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6347 allocation and zero-setting.
6348 (grub_ieee1275_get_devname): Check that alias is complete.
6349
379586ad
VS
63502011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6353 unaligned segments.
6354
9197b0ad
VS
63552011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6358 prefix.
6359 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6360 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6361 Add ieee1275 prefix.
6362
edddb7f9
VS
63632011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * docs/grub.texi (Filesystems): Update.
6366
a1a8b1b9
VS
63672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 Support odc, newc and bigendian cpio formats.
6370
6371 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6372 * grub-core/Makefile.core.def (newc): New module.
6373 (odc): Likewise.
6374 (cpio_be): Likewise.
6375 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6376 (MAGIC): Likewise.
6377 (MAGIC2): Likewise.
6378 (head) [MODE_ODC]: Adapt for the format.
6379 (head) [MODE_NEWC]: Likewise.
6380 (head) [!MODE_*]: Write fields of interest as arrays.
6381 (MAGIC_USTAR): Removed.
6382 (read_number) [MODE_NEWC]: Change to hex.
6383 (read_number) [!MODE_*]: Parse binary arrays.
6384 (grub_cpio_find_file): Factor out the code for better structure and
6385 always use read_number.
6386 (grub_cpio_mount): Use MAGIC and MAGIC2.
6387 (grub_cpio_dir): Exit on first hook non-0 return.
6388 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6389 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6390 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6391 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6392 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6393 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6394 * grub-core/fs/newc.c: New file.
6395 * grub-core/fs/odc.c: Likewise.
6396 * grub-core/fs/cpio_be.c: Likewise.
6397
58eba9ee
VS
63982011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 Fix handling of tar numbers occupying the whole field.
6401
6402 * grub-core/fs/cpio.c (read_number): New function.
6403 (grub_cpio_find_file): Use read_number instead of strtoull.
6404
a54a0e12
VS
64052011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6408 occupying the whole field size.
6409
a6120aca
LA
64102011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6411
6412 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6413
a93964ce
VS
64142011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6417
3ea1ca46
SG
64182011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6419
6420 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6421 TARGET_IMG_LDFLAGS.
6422
b87f7ef2
VS
64232011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6426 (mountinfo_entry): Increase the field size to take escaping into
6427 account.
6428 (find_root_device_from_libzfs): Add one byte to size of strings for
6429 security.
6430
62092395
VS
64312011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6434 an assert.
6435 * util/grub-setup.c (setup): Likewise.
6436
1f0b1a77
VS
64372011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6440 _LzmaDecodeA.
6441
8eba9997
VS
64422011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * docs/grub.texi (Internationalisation): New section.
6445
dd0c91e9
VS
64462011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * docs/grub.texi (Loopback booting): New section.
6449
64502011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
6451
6452 * util/grub-mkstandalone.in: Fix minor typo errors.
6453
198e150a
VS
64542011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6455
6456 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6457
6458 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6459 net/icmp.c and net/icmp6.c.
6460 (http): New module.
6461 (priority_queue): Likewise.
6462 * grub-core/io/bufio.c: Rewritten.
6463 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6464 TYPE_WITH_CONFIGFILE_OPTION.
6465 (legacy_commands): Add bootp and dhcp.
6466 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6467 (grub_legacy_parse): Likewise.
6468 * grub-core/lib/priority_queue.c: New file.
6469 * grub-core/net/arp.c: Add missing license header.
6470 (arp_find_entry): Removed.
6471 (arp_find_entry): Likewise.
6472 (grub_net_arp_resolve): Rename to ...
6473 (grub_net_arp_send_request): ...this.
6474 (grub_net_arp_receive): New card argument.
6475 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6476 Set router and DNS server.
6477 (grub_net_configure_by_dhcp_ack): Handle routing information.
6478 (grub_cmd_bootp): Set checksum.
6479 (grub_bootp_init): Remove net_dhcp.
6480 * grub-core/net/dns.c: New file.
6481 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6482 completion.
6483 (get_card_packet): Handle allocation.
6484 (grub_efinet_findcards): Set mtu.
6485 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6486 (get_card_packet): Handle allocation.
6487 (emucard): Set mtu.
6488 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6489 (GRUB_MOD_INIT): Set mtu.
6490 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6491 mtu.
6492 (get_card_packet): Handle allocation.
6493 (grub_ofnet_findcards): Set mtu.
6494 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6495 assert.
6496 (grub_net_recv_ethernet_packet): Handle IPv6.
6497 * grub-core/net/http.c: New file.
6498 * grub-core/net/icmp.c: Likewise.
6499 * grub-core/net/icmp6.c: Likewise.
6500 * grub-core/net/ip.c (ip6addr): New type.
6501 (ip6hdr): Likewise.
6502 (reassemble): Likewise.
6503 (cmp): New function.
6504 (reassembles): New variable.
6505 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6506 (id): New variable.
6507 (send_fragmented): New function.
6508 (grub_net_send_ip_packet): Rename to ...
6509 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6510 Handle non-UDP.
6511 (grub_net_recv_ip_packets): Rename to ...
6512 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6513 (free_rsm): New function.
6514 (free_old_fragments): Likewise.
6515 (grub_net_recv_ip4_packets): New function.
6516 (grub_net_send_ip6_packet): Likewise.
6517 (grub_net_send_ip_packet): Likewise.
6518 (grub_net_recv_ip6_packets): Likewise.
6519 (grub_net_recv_ip_packets): Likewise.
6520 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6521 (LINK_LAYER_CACHE_SIZE): New const.
6522 (link_layer_find_entry): New function.
6523 (grub_net_link_layer_add_address): Likewise.
6524 (grub_net_link_layer_resolve_check): Likewise.
6525 (grub_net_link_layer_resolve): Likewise.
6526 (grub_net_ipv6_get_slaac): Likewise.
6527 (grub_net_ipv6_get_link_local): Likewise.
6528 (grub_cmd_ipv6_autoconf): Likewise.
6529 (parse_ip): Handle one number representation.
6530 (parse_ip6): New functoion.
6531 (match_net): Handle IPv6.
6532 (grub_net_resolve_address): Handle IPv6 and DNS.
6533 (grub_net_resolve_net_address): Handle IPv6.
6534 (route_cmp): New function.
6535 (grub_net_route_address): Find best route.
6536 (grub_net_addr_to_str): Handle IPv6.
6537 (grub_net_addr_cmp): New function.
6538 (grub_net_add_addr): Register local route.
6539 (print_net_address): Handle net address.
6540 (grub_net_poll_cards): Retransmit TCP.
6541 (grub_net_poll_cards_idle_real): Likewise.
6542 (have_ahead): New function.
6543 (grub_net_seek_real): Use underlying seek.
6544 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
6545 * grub-core/net/tcp.c: New file.
6546 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
6547 (cmp): New function.
6548 (ack): Likewise.
6549 (tftp_receive): Handle unordered input.
6550 (destroy_pq): New function.
6551 (tftp_close): Close pq.
6552 * grub-core/net/udp.c: Put missing license header.
6553 (grub_net_udp_socket): New function.
6554 (udp_socket_register): Likewise.
6555 (grub_net_udp_close): Likewise.
6556 (grub_net_recv_udp_packet): Check checksum.
6557 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
6558 * include/grub/misc.h (grub_memchr): New function.
6559 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
6560 (grub_net_card_driver): Return buf in recv.
6561 (grub_net_slaac_mac_list): New struct.
6562 (grub_network_level_protocol_id): Add ipv6.
6563 (grub_net_network_level_addr): Likewise.
6564 (grub_net_network_level_net_addr): Likewise.
6565 (grub_net_app_protocol): Add seek.
6566 (grub_net_socket): Removed.
6567 (grub_net_sockets): Likewise.
6568 (grub_net_socket_register): Likewise.
6569 (grub_net_socket_unregister): Likewise.
6570 (FOR_NET_SOCKETS): Likewise.
6571 (grub_net_add_addr): Add const.
6572 (GRUB_NET_BOOTP_*): New enum.
6573 (grub_net_addr_cmp): New proto.
6574 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
6575 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
6576 (grub_net_hwaddr_to_str): NEw proto.
6577 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
6578 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
6579 (grub_dns_init): New proto.
6580 (grub_dns_fini): Likewise.
6581 (grub_net_tcp_retransmit): Likewise.
6582 (grub_net_link_layer_add_address): Likewise.
6583 (grub_net_link_layer_resolve_check): Likewise.
6584 (grub_net_link_layer_resolve): Likewise.
6585 (grub_net_dns_lookup): Likewise.
6586 (grub_net_add_dns_server): Likewise.
6587 (grub_net_remove_dns_server): Likewise.
6588 (GRUB_NET_TRIES): New const.
6589 (GRUB_NET_INTERVAL): Likewise.
6590 * include/grub/net/arp.h: Mostly rewritten.
6591 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
6592 * include/grub/net/ip.h: Mostly rewritten.
6593 * include/grub/net/netbuff.h: Indent.
6594 * include/grub/net/tcp.h: New file.
6595 * include/grub/net/udp.h: Mostly rewritten.
6596 * include/grub/priority_queue.h: New file.
6597 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
6598 (grub_swap_bytes64_compile_time): Likewise.
6599 (grub_cpu_to_be16_compile_time): Likewise.
6600 (grub_cpu_to_be32_compile_time): Likewise.
6601 (grub_cpu_to_be64_compile_time): Likewise.
6602 (grub_be_to_cpu64_compile_time): Likewise.
6603
215c1800
VS
66042011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
6607 UINT_TO_PTR with cast.
6608
c17e546c
VS
66092011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
6612 don't use them.
6613
ff6b18b6
VS
66142011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
6617 already there.
6618
70ffcc93
VS
66192011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
6622 confusing ipxe.
6623
e5f4d260
VS
66242011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
6627 Add missing const attribute.
6628 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
6629 Likewise.
6630 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
6631 Likewise.
6632
8e54b4b7
VS
66332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
6636 misaligned access.
6637 (serpent_setkey): Likewise.
6638 (serpent_encrypt_internal): Likewise.
6639 (serpent_decrypt_internal): Likewise.
6640 (serpent_encrypt): Don't put an alignment-increasing cast.
6641 (serpent_decrypt): Likewise.
6642 (serpent_test): Likewise.
6643
813c0a2b
VS
66442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
6647
f2b60fbd
VS
66482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
6651
6652 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
6653 grub_addr_t casts.
6654 (PTR_TO_UINT64): Likewise.
6655 (PTR_TO_UINT32): Likewise.
6656
5ef5c511
VS
66572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * util/grub-mkimage.c (generate_image): Decrease the higher limit
6660 because of stack.
6661 * util/grub-setup.c (setup): Don't add redundancy past the higher load
6662 limit.
6663
c476e6df
VS
66642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
6667 text_width > available width a bit more gracefully.
6668
384ad7cc
VS
66692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
6672 current address calculation.
6673
96f8caf8
VS
66742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
6677 stack.
6678 (encode_block): Likewise.
6679
276b7a8b
VS
66802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
6683 certainety.
6684
e3fd394a
VS
66852011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
6688 non-RS part to avoid RS messing with GDT.
6689 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6690 Increase to suit in realmode routines.
6691
66922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * grub-core/kern/i386/realmode.S: Increase alignment.
6695 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
6696
ee9c2e7a
VS
66972011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
6700 be deterministic.
6701 (syndroms): Compute 0 syndrom.
6702 (rs_recover): Use 0 syndrom.
6703
7a7f7cc9
VS
67042011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
6707
a14b16d1
VS
67082011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
6711 brackets.
6712
9f59e9fc
VS
67132011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6714
ca1b552c
VS
6715 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
6716 account.
6717 (get_top_pad): Likewise.
6718 (get_right_pad): Likewise.
6719 (get_bottom_pad): Likewise.
6720
67212011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 6724
e739d698
VS
67252011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
6728 attribute as the structure isn't guaranteed to be properly aligned.
6729 (grub_efi_pci_device_path): Likewise.
6730 (grub_efi_pccard_device_path): Likewise.
6731 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
6732 specify the size of `memory_type'.
6733 (grub_efi_vendor_device_path): Likewise.
6734 (grub_efi_controller_device_path): Likewise.
6735 (grub_efi_acpi_device_path): Likewise.
6736 (grub_efi_expanded_acpi_device_path): Likewise.
6737 (grub_efi_atapi_device_path): Likewise.
6738 (grub_efi_scsi_device_path): Likewise.
6739 (grub_efi_fibre_channel_device_path): Likewise.
6740 (grub_efi_1394_device_path): Likewise.
6741 (grub_efi_usb_device_path): Likewise.
6742 (grub_efi_usb_class_device_path): Likewise.
6743 (grub_efi_i2o_device_path): Likewise.
6744 (grub_efi_mac_address_device_path): Likewise.
6745 (grub_efi_ipv4_device_path): Likewise.
6746 (grub_efi_ipv6_device_path): Likewise.
6747 (grub_efi_infiniband_device_path): Likewise.
6748 (grub_efi_uart_device_path): Likewise.
6749 (grub_efi_vendor_messaging_device_path): Likewise.
6750 (grub_efi_hard_drive_device_path): Likewise.
6751 (grub_efi_cdrom_device_path): Likewise.
6752 (grub_efi_vendor_media_device_path): Likewise.
6753 (grub_efi_file_path_device_path): Likewise.
6754 (grub_efi_protocol_device_path): Likewise.
6755 (grub_efi_piwg_device_path): Likewise.
6756 (grub_efi_bios_device_path): Likewise.
6757
cb8f88ea
VS
67582011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
6761 (grub_ucs4_to_utf8_alloc): Likewise.
6762 (grub_ucs4_to_utf8): Likewise.
6763 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
6764 (grub_ucs4_to_utf8_alloc): Likewise.
6765
309e5352
VS
67662011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 AFFS never uses unicode.
6769
6770 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
6771 (grub_latin1_to_utf8): New inline function.
6772 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
6773
e7987e1b
VS
67742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
6777 overflow.
6778
efc2616e
VS
67792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
6782 (grub_squash_dirent_header): Likewise.
6783 (read_chunk): Don't double swap.
6784 (grub_squash_iterate_dir): Fix swap sizes.
6785
3c349f5a
VS
67862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
6789
b453412d
VS
67902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
6793 (grub_hfs_iterate_dir): Likewise.
6794
12e9d4d1
VS
67952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 Fix video on platforms where unaligned access is forbidden.
6798 Make several optimisations while on it.
6799
6800 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
6801 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6802 (grub_video_fbblit_replace_32bit_1bit): Likewise.
6803 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6804 Disable.
6805 (grub_video_fbblit_replace_16bit_1bit):
6806 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6807 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6808 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
6809 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
6810 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6811 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6812 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
6813 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
6814 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
6815 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
6816 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
6817 (grub_video_fbblit_replace_index_RGB888): Likewise.
6818 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
6819 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
6820 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
6821 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6822 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
6823 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6824 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6825 Disable.
6826 (grub_video_fbblit_blend_XXX565_1bit):
6827 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6828 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
6829 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
6830 void *.
6831 * grub-core/video/fb/video_fb.c (common_blitter)
6832 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
6833 (grub_video_fb_create_render_target_from_pointer)
6834 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6835 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
6836 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
6837 definition.
6838 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
6839
ace96609
VS
68402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
6843 HH22 and HM10 relocations.
6844
fd261d73
VS
68452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
6848
e59b7857
VS
68492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
6852 allocation succeeded.
6853
9b4baaa4
VS
68542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6855
6856 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
6857 argument a u8 pointer. All users updated.
6858 Handle unaligned buffers.
6859
dc713193
VS
68602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
6863 add_part to workaround compiler bug.
6864
30dd48c2
VS
68652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
6868
0c6087a8
VS
68692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
6872 Reserve alignment invariants.
6873 (grub_multiboot_load): Likewise.
6874 (retrieve_video_parameters): Likewise.
6875 (grub_multiboot_make_mbi): Likewise.
6876
c2e77777
VS
68772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
6880 incorrect pointer.
6881
b70b6d11
VS
68822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6883
6884 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
6885 (grub_pata_pio_write): Likewise.
6886
02a2bf83
VS
68872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6888
6889 Add noreturn attributes and remove unreachable code.
6890
6891 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
6892 code.
6893 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
6894 code. Mark as noreturn.
6895 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
6896 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
6897 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
6898 unreachable code.
6899 * grub-core/kern/main.c (grub_main): Mark as noreturn.
6900 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
6901 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
6902 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
6903 * include/grub/kernel.h (grub_main): Mark as noreturn.
6904 * include/grub/reader.h (grub_rescue_run): Likewise.
6905
2019d09e
VS
69062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
6909 redundant declaration.
6910
d1c501ee
VS
69112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 * include/grub/net.h (grub_net_network_level_interfaces): Remove
6914 redundant declaration.
6915 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
6916
61664420
VS
69172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
6920 to ensure alignment.
6921 (grub_hdparm_print_identify): Make argument uint16 * to ensure
6922 alignment. Ensure tmp alignment.
6923 (grub_cmd_hdparm): Ensure buf alignment.
6924 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
6925 to ensure alignment.
6926 (grub_ata_dumpinfo): Ensure text alignment.
6927 (grub_atapi_identify): Preserve alignment invariant.
6928 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
6929
0d51ee20
VS
69302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
6933 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
6934 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
6935 * include/grub/misc.h (grub_reboot)
6936 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
6937 (grub_halt) [__mips__]: Likewise.
6938
753ef8c1
VS
69392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
6942 Remove redundant declaration.
6943 (grub_mmap_get_post64): Likewise.
6944 (grub_mmap_get_upper): Likewise.
6945 (grub_mmap_get_lower): Likewise.
6946
85c85365
VS
69472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
6950 uint32_t * to ensure alignment.
6951 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
6952
a23f2cc4
VS
69532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6954
93018f64
VS
6955 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
6956 uint16_t * to ensure alignment.
6957 (sun_pc_partition_map_iterate): Make `block' a union to ensure
6958 alignment.
6959
69602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
6963 to ensure alignment.
6964 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
6965
58acccd6
VS
69662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/fs/ntfs.c (u16at): Make into inline function.
6969 Handle unaligned pointers.
6970 (u32at): Likewise.
6971 (u64at): Likewise.
6972 (fixup): Use byte access instead of v16at.
6973 (find_attr): Fix imporper usage of v32at.
6974 (read_data): Likewise.
6975 (list_file): Handle byte-swapping and unaligned strings.
6976 (grub_ntfs_label): Likewise.
6977
9b05cad7
VS
69782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
6981 as it's not necessarily aligned.
6982
b3950b84
VS
69832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
6986 redundant declaration.
6987 (grub_serial_init): Likewise.
6988 (grub_terminfo_init): Likewise.
6989
fcd232b7
VS
69902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
6993 function.
6994 (ZAP_HASH_IDX): Likewise.
6995 (ZAP_LEAF_HASH_SHIFT): Likewise.
6996 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
6997 (LEAF_HASH): Likewise.
6998 (ZAP_LEAF_NUMCHUNKS): Likewise.
6999 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7000 alignment invariants. Return pointer. All users updated.
7001 (ZAP_LEAF_ENTRY): Make into inline function.
7002 (NBBY): Removed.
7003 (xor): LIkewise.
7004 (xor_out): Use grub_crypto_xor.
7005 (dnode_get_path): Use grub_get_unaligned.
7006 (nvlist_find_value): Likewise.
7007 (grub_zfs_nvlist_lookup_uint64): Likewise.
7008 (grub_zfs_nvlist_lookup_string): Likewise.
7009 (get_nvlist_size): Likewise.
7010 (grub_zfs_open): Likewise.
7011 (fill_fs_info): Likewise.
7012 (grub_zfs_dir): Likewise.
7013 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7014 alignment invariants.
7015 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7016 necessarily aligned.
7017
f138623a
VS
70182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7021
564840dc
VS
70222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7025 arithmetic to conserve alignment invariants.
7026
9b40df20
VS
70272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7030 redundant declaration.
7031 (grub_efiemu_mm_obtain_request): Likewise.
7032 (grub_efiemu_prepare): Likewise.
7033
d1c930f9
VS
70342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7037 to match types.
7038
4c5f3056
VS
70392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7042 case of aunaligned recptr.
7043 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7044 alignment.
7045 (grub_hfsplus_btree_search): Handle unaligned index.
7046
728cba91
VS
70472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7050 to get freetag and skip.
7051
eb561f31
VS
70522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7055 array.
7056 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7057 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7058
20993fbb
VS
70592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7062 name for checksum and fix allocation algorithm.
7063
1f313b94
VS
70642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * include/grub/types.h (grub_properly_aligned_t): New type.
7067 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7068 (grub_get_unaligned16): Add explicit casts.
7069 (grub_get_unaligned32): Likewise.
7070 (grub_get_unaligned64): Likewise.
7071 (grub_set_unaligned16): New function.
7072 (grub_set_unaligned32): Likewise.
7073
47ae27ec
VS
70742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7075
7076 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7077
78c2cd1c
VS
70782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7081 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7082 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7083
53072f9b
VS
70842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7087 conditionals.
7088
055dc239
VS
70892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7092 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7093
496bd074
VS
70942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 Unify and improve RAID and crypto xor.
7097
7098 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7099 changed to grub_crypto_xor
7100 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7101 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7102 Use bigger types when possible.
7103
ef6e4335
VS
71042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * grub-core/disk/raid.c (scan_devices): Fix condition.
7107
5d048bf2
VS
71082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7111 Make name a const ptr.
7112
ee533335
VS
71132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7116 first argument a const pointer.
7117 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7118 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7119 proto.
7120 (grub_children_iterate): Likewise.
7121 (grub_machine_mmap_iterate): Remove redundant declaration.
7122
cc8f3668
VS
71232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7126 (grub_cmd_acpi) [!x86]: Disable EBDA.
7127
c5fc563a
VS
71282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 Enable UTF8 in gnulib regexp.
7131
7132 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7133 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7134 (isupper): Use grub_isupper.
7135 (isascii): New inline function.
7136 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7137 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7138 * grub-core/normal/charset.c (grub_utf8_process): New function.
7139 (grub_utf8_to_utf16): Use grub_utf8_process.
7140 (grub_encode_utf8_character): New function.
7141 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7142 * include/grub/charset.h (grub_utf8_process): New declaration.
7143 (grub_encode_utf8_character): Likewise.
7144 * include/grub/misc.h (grub_islower): New inline function.
7145 (grub_isupper): Likewise.
7146 (grub_strchrsub): Moved down to fix the definitions.
7147
0af2346f
VS
71482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7151 specification.
7152
74dbd244
VS
71532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * include/grub/loader.h (grub_loader_register_preboot_hook):
7156 Use struct preboot * and not void * for handle. All users updated.
7157 (grub_loader_unregister_preboot_hook): Likewise.
7158
1bc8f60d
VS
71592011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7162 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7163 UTF-16-BE. All users updated.
7164 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7165 (grub_hfsplus_iterate_dir): Likewise.
7166 (grub_hfsplus_label): Likewise.
7167
48d6e456
VS
71682011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7171
bf3a3857
VS
71722011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 Add missing const qualifiers.
7175
7176 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7177 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7178 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7179 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7180 (grub_lvm_check_flag): Likewise.
7181 * grub-core/efiemu/i386/coredetect.c
7182 (grub_efiemu_get_default_core_name): Likewise
7183 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7184 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7185 * grub-core/fs/ntfs.c (fixup): Likewise.
7186 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7187 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7188 (fzap_lookup): Likewise.
7189 (zap_lookup): Likewise.
7190 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7191 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7192 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7193 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7194 (grub_freebsd_add_meta_module): Likewise.
7195 (grub_cmd_freebsd_module): Likewise.
7196 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7197 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7198 (grub_xnu_writetree_get_size): Likewise.
7199 (grub_xnu_writetree_toheap_real): Likewise.
7200 (grub_xnu_find_key): Likewise.
7201 (grub_xnu_create_key): Likewise.
7202 (grub_xnu_create_value): Likewise.
7203 (grub_xnu_register_memory): Likewise.
7204 (grub_xnu_check_os_bundle_required): Likewise.
7205 (grub_xnu_scan_dir_for_kexts): Likewise.
7206 (grub_xnu_load_kext_from_dir): Likewise.
7207 * grub-core/normal/color.c (color_list): Likewise.
7208 * grub-core/normal/completion.c (current_word): Likewise.
7209 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7210 * grub-core/term/serial.c (grub_serial_find): Likewise.
7211 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7212 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7213 Likewise.
7214 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7215 (grub_freebsd_add_meta_module): Likewise.
7216 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7217 * include/grub/net.h (grub_net_card_driver): Likewise.
7218 (grub_net_card): Likewise.
7219 (grub_net_app_protocol): Likewise.
7220 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7221 * include/grub/serial.h (grub_serial_find): Likewise.
7222 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7223 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7224 (grub_xnu_create_value): Likewise.
7225 (grub_xnu_find_key): Likewise.
7226 (grub_xnu_scan_dir_for_kexts): Likewise.
7227 (grub_xnu_load_kext_from_dir): Likewise.
7228
7229 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7230 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7231 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7232 Moved from here ...
7233 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7234
112b4837
CW
72352011-11-28 Colin Watson <cjwatson@ubuntu.com>
7236
7237 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7238
49e891ac
VS
72392011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7242 (read_device): Fix size calculation.
7243
fd258e5c
RM
72442011-11-25 Robert Millan <rmh@gnu.org>
7245
7246 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7247 (find_root_device_from_libzfs): Add zpool output parser to be used
7248 as fallback when libzfs isn't available.
7249
78845dc2
SG
72502011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7251
7252 * po/Makefile.in.in: Add missing escape-continuation.
7253
adac5211
VS
72542011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7257
10b64f1c
VS
72582011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7261
bb416954
VS
72622011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7265
bdfe9eeb
VS
72662011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7269
581ffa8a
VS
72702011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * grub-core/lib/adler32.c: Add missing license specification.
7273 * grub-core/lib/crc64.c: Likewise.
7274 * grub-core/loader/i386/pc/plan9.c: Likewise.
7275 * grub-core/partmap/plan.c: Likewise.
7276
2536cf64
LK
72772011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7278
7279 Add facility to debug GRUB with gdb under qemu.
7280
7281 * grub-core/gdb_grub.in: New file.
7282 * grub-core/gmodule.pl.in: Likewise.
7283 * grub-core/Makefile.core.def (gmodule.pl): New script.
7284 (gdb_grub): Likewise.
7285
bc108a4a
VS
72862011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 * util/grub-mount.c (argp_parser): Accept relative pathes.
7289 * util/grub-fstest.c (argp_parser): Likewise.
7290
111c1778
VS
72912011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 Plan9 support.
7294
7295 * Makefile.util.def (libgrubmods): Add
7296 grub-core/partmap/plan.c.
7297 * docs/grub.texi: Notice Plan9 support.
7298 * grub-core/Makefile.core.def (plan9): New module.
7299 (part_plan): Likewise.
7300 * grub-core/loader/i386/pc/plan9.c: New file.
7301 * grub-core/partmap/plan.c: Likewise.
7302 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7303 define.
7304 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7305 * include/grub/mm.h (grub_extend_alloc): New inline function.
7306
c30be3b6
VS
73072011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7308
7309 Make Reed-Solomon faster by using power of generator representation of
7310 GF(256)*.
7311
7312 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7313 (gf_double_t): Likewise.
7314 (gf_invert): Removed.
7315 (gf_powx): New array.
7316 (gf_powx_inv): Likewise.
7317 (scratch): Move higher.
7318 (gf_reduce): Removed.
7319 (gf_mul): Use powx.
7320 (gf_invert): Likewise.
7321 (init_inverts): Replaced with ...
7322 (init_powx): ...this. All users updated.
7323 (pol_evaluate): Replace multiplications with additions.
7324 (rs_encode): Likewise.
7325 (gauss_eliminate): Call gf_invert.
7326 (grub_reed_solomon_add_redundancy): Call init_powx.
7327 (grub_reed_solomon_recover): Call init_powx unconditionally.
7328
fa5aeffc
VS
73292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7332
a346b81c
VS
73332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7336 disk->partiton for safety.
7337
d89ee414
VS
73382011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7341 Fix a memory leak.
7342 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7343
91ee7b6d
VS
73442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7347
91e5a33d
VS
73482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7351
9edd7be2
VS
73522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 Fix spaces handling in proc/self/mountinfo.
7355
7356 * util/getroot.c (unescape): New function.
7357 (grub_find_root_device_from_mountinfo): Use unescape.
7358
ba102053
VS
73592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 Support ZFS embedding.
7362
7363 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7364 (grub_zfs_fs): Register grub_zfs_embed.
7365
aa94b870
VS
73662011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 Fix MIPS compilation.
7369
7370 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7371 * include/grub/offsets.h: Rename decompressor fields from
7372 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7373 * util/grub-mkimage.c (image_targets): Use new names.
7374
5fbdac14
VS
73752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 Defer multiboot device parsing until we're in compressed part.
7378
7379 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7380 bsd_part. setdevice has fallen into disuse.
7381 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7382 (bsd_part): Likewise.
7383 (boot_dev): New variable.
7384 (multiboot_trampoline): Don't parse multiboot device.
7385 Pass multiboot device in %edx.
7386 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7387 grub_boot_device.
7388 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7389 Likewise.
7390 * grub-core/kern/i386/pc/startup.S: Save edx.
7391 (grub_boot_drive): Removed.
7392 (grub_install_dos_part): Likewise.
7393 (grub_install_bsd_part): Likewise.
7394 (grub_boot_device): New variable.
7395 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7396 (grub_install_bsd_part): Likewise.
7397 (grub_boot_drive): Likewise.
7398 (grub_boot_device): New variable.
7399 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7400 Removed.
7401 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7402 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7403 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7404 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7405 * util/grub-install.in: Remove redundant condition.
7406
691cbb58
VS
74072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 Fix bug introduced by previous commit.
7410
7411 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7412
60240b8b
VS
74132011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 Use decompressors framework on i386-pc. It increases core size
7416 by 46 bytes but improves compatibility and maintainability.
7417
7418 * grub-core/Makefile.core.def (lzma_decompress): New image.
7419 (kernel): Add i386_pc_ldflags.
7420 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7421 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7422 to real_to_prot, prot_to_real and device info.
7423 * include/grub/offsets.h: Renamed decompressor offsets.
7424 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7425 (image_target_desc): Remove raw_size and rename decompressor fields.
7426 (compress_kernel): Handle lzma.
7427 (generate_image): Handle decompressors on i386-pc.
7428
e9d3421c
VS
74292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 * configure.ac: Add -fno-asynchronous-unwind-tables.
7432
2b23074a
VS
74332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 Move assembly code to C by using intwrap. It increases core size
7436 by 88 bytes but improves compatibility and maintainability.
7437
7438 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7439 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7440 ... here. Translated to C.
7441 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7442 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7443 ... here. Translated to C.
7444 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7445 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7446 ... here. Translated to C.
7447 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7448 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7449 ... here. Translated to C.
7450 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7451 * grub-core/term/i386/pc/console.c (grub_console_cls):
7452 ... here. Translated to C.
7453 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7454 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7455 ... here. Translated to C.
7456 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7457 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7458 Translated to C.
7459 * grub-core/term/i386/pc/console.c (int10_9): New function.
7460 (grub_console_putchar): Likewise.
7461 * include/grub/i386/pc/console.h: Removed the not anymore shared
7462 functions.
7463
678f4b67
VS
74642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 Move grub_chainloader_real_boot out of the kernel.
7467
7468 * grub-core/Makefile.am: Remove machine/loader.h.
7469 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7470 Removed.
7471 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7472 variable.
7473 (grub_relocator16_keep_a20_enabled): Likewise.
7474 (grub_relocator16_boot): Fill new variables.
7475 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7476 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7477 relocator.
7478 (grub_chainloader_unload): Likewise.
7479 (grub_chainloader_cmd): Likewise.
7480 * include/grub/i386/pc/loader.h: Removed.
7481 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7482 and esi. All initialisers updated.
7483
4626edf6
VS
74842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
74852011-11-12 Colin Watson <cjwatson@ubuntu.com>
7486
7487 * Makefile.util.def (grub-mount): New util.
7488 * .bzrignore: Add grub-mount.
7489 * configure.ac: Check for fuse and enable grub-mount if available.
7490 * docs/man/grub-mount.h2m: New file.
7491 * util/grub-mount.c: Likewise.
7492
10f0117b
VS
74932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * grub-core/commands/efi/fixvideo.c: Gettextize.
7496 * grub-core/commands/hashsum.c: Likewise.
7497 * grub-core/commands/i386/cmostest.c: Likewise.
7498 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7499 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7500 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7501 * grub-core/commands/lsmmap.c: Likewise.
7502 * grub-core/commands/menuentry.c: Likewise.
7503 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7504 * grub-core/commands/setpci.c: Likewise.
7505 * grub-core/loader/i386/bsd.c: Likewise.
7506 * grub-core/loader/i386/linux.c: Likewise.
7507 * util/getroot.c: Likewise.
7508 * util/grub-editenv.c: Likewise.
7509 * util/grub-fstest.c: Likewise.
7510 * util/grub-mkfont.c: Likewise.
7511 * util/grub-mkimage.c: Likewise.
7512 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7513 * util/grub-pe2elf.c: Likewise.
7514 * util/grub-probe.c: Likewise.
7515 * util/grub-setup.c: Likewise.
7516 * util/ieee1275/ofpath.c: Likewise.
7517 * util/misc.c: Likewise.
7518 * util/raid.c: Likewise.
7519
566f779b
RM
75202011-11-11 Robert Millan <rmh@gnu.org>
7521
7522 * util/getroot.c (grub_util_get_geom_abstraction): Remove
7523 __attribute__((unused)) from `os_dev', which *is* being used.
7524
b50787de
VS
75252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
7528 forgotten define.
7529 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
7530 GRUB_IA64_DL_GOT_ALIGN.
7531 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
7532 GRUB_IA64_DL_TRAMP_ALIGN.
7533
119d11c8
VS
75342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 Replace grub_fatal with normal errors in i386 linux loader.
7537
7538 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
7539 (allocate_pages): Check find_efi_mmap_size return value.
7540 (grub_e820_add_region): Return error.
7541 (grub_linux_boot): Check mmap return value.
7542
6e0632e2
VS
75432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * grub-core/commands/acpihalt.c: Gettextized.
7546 * grub-core/commands/cacheinfo.c: Likewise.
7547 * grub-core/commands/cmp.c: Likewise.
7548 * grub-core/commands/efi/loadbios.c: Likewise.
7549 * grub-core/commands/gptsync.c: Likewise.
7550 * grub-core/commands/ieee1275/suspend.c: Likewise.
7551 * grub-core/commands/legacycfg.c: Likewise.
7552 * grub-core/commands/memrw.c: Likewise.
7553 * grub-core/commands/minicmd.c: Likewise.
7554 * grub-core/commands/parttool.c: Likewise.
7555 * grub-core/commands/time.c: Likewise.
7556 * grub-core/commands/videoinfo.c: Likewise.
7557 * grub-core/disk/geli.c: Likewise.
7558 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
7559 * grub-core/disk/luks.c: Likewise.
7560 * grub-core/disk/lvm.c: Likewise.
7561 * grub-core/font/font_cmd.c: Likewise.
7562 * grub-core/fs/zfs/zfscrypt.c: Likewise.
7563 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7564 * grub-core/gfxmenu/view.c: Likewise.
7565 * grub-core/kern/emu/hostdisk.c: Likewise.
7566 * grub-core/kern/emu/main.c: Likewise.
7567 * grub-core/kern/emu/misc.c: Likewise.
7568 * grub-core/kern/emu/mm.c: Likewise.
7569 * grub-core/kern/mips/arc/init.c: Likewise.
7570 * grub-core/kern/mips/loongson/init.c: Likewise.
7571 * grub-core/kern/partition.c: Likewise.
7572 * grub-core/lib/i386/halt.c: Likewise.
7573 * grub-core/lib/mips/arc/reboot.c: Likewise.
7574 * grub-core/lib/mips/loongson/reboot.c: Likewise.
7575 * grub-core/loader/i386/pc/chainloader.c: Likewise.
7576 * grub-core/loader/i386/xnu.c: Likewise.
7577 * grub-core/loader/multiboot.c: Likewise.
7578 * grub-core/net/bootp.c: Likewise.
7579 * grub-core/net/net.c: Likewise.
7580 * grub-core/normal/term.c: Likewise.
7581 * grub-core/partmap/bsdlabel.c: Likewise.
7582 * grub-core/parttool/msdospart.c: Likewise.
7583 * grub-core/term/gfxterm.c: Likewise.
7584 * grub-core/term/terminfo.c: Likewise.
7585 * grub-core/video/i386/pc/vbe.c: Likewise.
7586 * util/grub-menulst2cfg.c: Likewise.
7587 * util/grub-mkdevicemap.c: Likewise.
7588 * util/grub-mklayout.c: Likewise.
7589 * util/grub-mkrelpath.c: Likewise.
7590 * util/grub-script-check.c: Likewise.
7591 * util/ieee1275/grub-ofpathname.c: Likewise.
7592 * util/resolve.c: Likewise.
7593
073aa7a9
VS
75942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 Support %1$d syntax.
7597
7598 * tests/printf_unit_test.c: New file.
7599 * Makefile.util.def (printf_test): New test.
7600 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
7601
c76b5417
VS
76022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
7605 fix.
7606
df067ad1
VS
76072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7608
7609 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
7610 dprintf.
7611 * grub-core/font/font.c (grub_font_load): Likewise.
7612
5b289bc5
VS
76132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * util/grub-macho2img.c: Add comment concerning gettext.
7616 * grub-core/lib/legacy_parse.c: Likewise.
7617
c1860f87
VS
76182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
7621 (grub_xvasprintf): Likewise.
7622
d35d0d37
VS
76232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 Add const keyword to grub_env_get and gettextize week days.
7626
7627 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
7628 (grub_read_hook_datetime): Return const char *.
7629 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
7630 updated.
7631 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7632 Mark for gettext.
7633 (grub_get_weekday_name): Return const char *. Call gettext.
7634 * grub-core/script/argv.c (grub_script_argv_append): Receive const
7635 char * and len as the argument. All users updated.
7636 (grub_script_argv_split_append): Receive const char *.
7637 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
7638 * include/grub/env.h (grub_env_get): Likewise.
7639 (grub_env_read_hook_t): Return const char *.
7640 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
7641 (grub_script_argv_split_append): Likewise.
7642
9aed8a71
VS
76432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
7646
067fdf00
VS
76472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
7650 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
7651
a8bd9d39
VS
76522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
7655 Fix prototype.
7656
f7ce5baf
VS
76572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 Fix mips compilation.
7660
7661 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
7662 normal decoder.
7663 (hashes): Use in embed decoder as well (for sizes).
7664 (dec_stream_header): Fix embed decompressor logic.
7665 (dec_stream_footer): Likewise.
7666
9bb182f3
VS
76672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
7670 an error and not a fatal on unrecognised relocation types.
7671
63a9e6f6
VS
76722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7673
7674 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7675 Issue error rather than printf on unknown arguments.
7676
4c458569
VS
76772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
7680 Make buf a const.
7681
e2d22baf
VS
76822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
7685 Fix module name.
7686
53dc8590
VS
76872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
7690 leftover debug printf.
7691
6c189294
VS
76922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
7695
f7688369
VS
76962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
7699 A stylistic fix.
7700
11a775a3
VS
77012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
7704
33f784e8
SL
77052011-11-10 Shea Levy <slevy@tieronedesign.com>
7706
7707 Allow all modules to perform serial IO
7708
7709 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
7710 * include/grub/serial.h (grub_serial_port_configure): New inline
7711 function.
7712 (grub_serial_port_fetch): Likewise.
7713 (grub_serial_port_put): Likewise.
7714 (grub_serial_port_fini): Likewise.
7715 (grub_serial_find): New proto.
7716
f6276525
VS
77172011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 Put symlink at the end of the node and fix a potential
7720 memory corruption.
7721
7722 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
7723 Make symlink into an array.
7724 (set_rockridge): Set have_symlink and alloc_dirents.
7725 (grub_iso9660_read_symlink): Use new layout.
7726 (grub_iso9660_iterate_dir): Fix memory corruption.
7727 Use new layout.
7728 (grub_iso9660_dir): Set have_symlink.
7729 (grub_iso9660_open): Likewise.
7730
c3591189
VS
77312011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 Remove local keyword.
7734
7735 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
7736 (version_test_gt): Likewise.
7737 (version_find_latest): Likewise.
7738 (gettext_printf): Likewise.
7739 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
7740
cb544caa
VS
77412011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
7744
45bd824d
VS
77452011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 Fix ZFS memory and resource leaks.
7748
7749 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
7750 All users updated.
7751 Free type on exit.
7752 (fill_vdev_info): New parameter inserted. All users updated.
7753 (check_pool_label): Likewise.
7754 (scan_disk): Likewise.
7755 (scan_devices): Close non-inserted disks.
7756 (fzap_iterate): Free l.
7757 (unmount_device): Free children descripto memory.
7758
ad9a2f44
VS
77592011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
7762 argument (access out of bounds).
7763
6b68db81
VS
77642011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
7767 >= 6 drives.
7768
28840fda
VS
77692011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
7772 Fix declaration.
7773
8a5a3a5b
VS
77742011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 Fix several memory leaks.
7777
7778 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
7779 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
7780 (grub_cpio_dir): Likewise.
7781 * grub-core/fs/fat.c (grub_fat_label): Likewise.
7782 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
7783 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
7784 (grub_romfs_label): Likewise.
7785 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
7786 (squash_unmount): New function.
7787 (grub_squash_dir): Fix memory leak.
7788 (grub_squash_open): Likewise.
7789 (grub_squash_read): Likewise.
7790 (grub_squash_mtime): Likewise.
7791 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
7792 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
7793 * util/grub-fstest.c (fstest): Likewise.
7794
57b01250
VS
77952011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
7798 avoid accessing beyond the array.
7799
19e81ba7
VS
78002011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
7803
52b656c0
VS
78042011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 Several AFFS fixes.
7807
7808 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
7809 (GRUB_AFFS_FLAG_FFS): Removed.
7810 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
7811 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
7812 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
7813 (grub_fshelp_node): Make block 32-bit.
7814 Add block_cache and last_block_cache.
7815 (grub_affs_read_block): Fill and use block cache.
7816 (grub_affs_read_file): Removed.
7817 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
7818 boot block.
7819 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
7820 safety.
7821 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
7822 space.
7823 (grub_affs_close): Free block cache.
7824 (grub_affs_read): Use grub_fshelp_read_file directly.
7825
438a746a
VS
78262011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
7829 with no error set.
7830
49a45021
VS
78312011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
7834 used variable.
7835 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7836 Likewise.
7837
3ae17eb8
VS
78382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
7841
7842 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
7843 byteswap when needed.
7844
27610c38
VS
78452011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 Fix FreeBSD compilation.
7848
7849 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
7850 to avoid circular dependency.
7851 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
7852 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
7853 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
7854
4a19b601
VS
78552011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 Fix ZFS crypto error types.
7858
7859 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
7860 (grub_gcm_decrypt): Likewise.
7861 (grub_zfs_load_key_real): Fix error code type. Handle possible error
7862 from PBKDF2.
7863
958ee221
VS
78642011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 Illumos support.
7867
7868 * Makefile.util.def (10_illumos): New script.
7869 * configure.ac: Set COND_HOST_ILLUMOS.
7870 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
7871 Support Illumos calls.
7872 (find_partition_start) [__sun__]: Likewise.
7873 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
7874 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
7875 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
7876 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
7877 device.
7878 * util/grub-probe.c (probe) [__sun__]: Do character check.
7879 * util/grub.d/10_illumos.in: New file.
7880
cac14fb6
VS
78812011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 Support escaped commas in hostdisk.
7884
7885 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
7886 (find_grub_drive): Use unescape_cmp.
7887 (make_device_name): Escape commas.
7888
78e08dc3
VS
78892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
7892
9f421dd1
VS
78932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
7896 variable.
7897
ed64e9e2
VS
78982011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 Support trampoline jumps on powerpc.
7901
7902 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
7903 __ia64__ path.
7904 (grub_dl_load_segments): Set mod->sz.
7905 (grub_dl_flush_cache): Flush whole space occupied by module, not just
7906 segments.
7907 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
7908 (jump): Likewise.
7909 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
7910 function.
7911 (trampoline): New struct.
7912 (trampoline_template): New const.
7913 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
7914 * include/grub/dl.h (grub_dl): Add sz element.
7915 [__powerpc__]: Follow __ia64__.
7916 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
7917 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
7918 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
7919 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
7920
3084ede4
VS
79212011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 ZFS crypto support.
7924
7925 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
7926 * grub-core/Makefile.core.def (zfscrypt): New module.
7927 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
7928 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
7929 it. All users updated.
7930 (grub_zfs_decrypt): New var.
7931 (grub_zfs_load_key): Likewise.
7932 (zio_checksum_functions): Add SHA256+MAC.
7933 (zio_checksum_verify): Handle incomplete comparison due to MAC.
7934 (zio_read): Handle encrypted blocks.
7935 (zap_verify): Remove incorrect check.
7936 (fzap_iterate): Handle non-standard fzap.
7937 (zap_iterate): Likewise.
7938 (zap_iterate_u64): New function.
7939 (dnode_get_fullpath): Load keys.
7940 * grub-core/fs/zfs/zfscrypt.c: New file.
7941 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
7942 (grub_crypto_ecb_encrypt): Make input const.
7943 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
7944 (grub_crypto_ecb_encrypt): Make input const.
7945 (GRUB_CIPHER_AES): New macro.
7946 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
7947 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
7948 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
7949 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
7950 prefix. All users updated.
7951 (grub_zfs_add_key): New proto.
7952 (grub_zfs_decrypt): Likewise.
7953 (grub_zfs_load_key): Likewise.
7954 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
7955 * util/grub-fstest.c (options): Add -K option.
7956 (argp_parser): Likewise.
7957
b632b404
VS
79582011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 Support zle compression on ZFS.
7961
7962 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
7963 (decomp_table): Add zle.
7964 * include/grub/zfs/zio.h (zio_compress): Add zle.
7965
c7ba4f69
VS
79662011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 Support BtrFS embedding.
7969
7970 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
7971 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
7972 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
7973 * util/grub-setup.c (setup): Use fs embedding if available.
7974 Add additional sanity check.
7975
455377d9
VS
79762011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * util/grub-install.in: Fix condition for config_opt.
7979
c2fd16ca
VS
79802011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 Support third redundancy strip on raidz3.
7983
7984 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
7985 Return error on singularity. All users updated.
7986 (read_device): Don't stop on 3rd failure on raidz3.
7987
8622923b
VS
79882011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 Support case-insensitive ZFS subvolumes.
7991
7992 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
7993 All users updated.
7994 (zap_hash): Likewise.
7995 (name_cmp): New function.
7996 (zap_leaf_array_equal): New parameter case_insensitive.
7997 All users updated.
7998 (zap_leaf_lookup): Likewise.
7999 (fzap_lookup): Likewise.
8000 (zap_lookup): Likewise.
8001 (dnode_get_path): New parameter case_insensitive. Retrieve case
8002 sensitiviness of a volume. All users updated.
8003 (dnode_get_fullpath): New parameter case_insensitive.
8004 All users updated.
8005 (grub_zfs_dir): Set info.case_insensitiveness.
8006
95f2e860
VS
80072011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 Support second redundancy strip on raidz(2,3).
8010
8011 * grub-core/fs/zfs/zfs.c (powx): New array.
8012 (powx_inv): Likewise.
8013 (poly): New const.
8014 (xor_out): New function.
8015 (gf_mul): Likewise.
8016 (recovery): Likewise.
8017 (read_device): Use second redundancy strip.
8018
11ee4389
VS
80192011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 Use a power of generator representation of GF(256) multiplication group
8022 to save space time and complexity.
8023
8024 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8025 (raid6_table2): Likewise.
8026 (powx): New array.
8027 (powx_inv): Likewise.
8028 (poly): New const.
8029 (grub_raid_block_mul): Replace with ...
8030 (grub_raid_block_mulx): ...this.
8031 (grub_raid6_init_table): Rewritten.
8032 (grub_raid6_recover): Use power of generator representation.
8033
09e2763f
VS
80342011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8037 for the right device.
8038
8bec9a28
VS
80392011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8040
8041 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8042 expected by grub-mkimage and it's more clear since there is no implicit
8043 padding.
8044
dbd3a32e
VS
80452011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8048 disk.
8049 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8050
182c872a
PMH
80512011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8052
8053 * util/grub-mkrescue.in: Fix handling xorriso option.
8054
1e51cabd
VS
80552011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8058 NULL.
8059
9cc3581d 80602011-11-03 crocket <crockabiscuit@gmail.com>
8061
8062 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8063
158dc1ea
VS
80642011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 XZ CRC64 and SHA256 support.
8067
8068 * Makefile.util.def (libgrubmods): Add crc64.c.
8069 * grub-core/Makefile.core.def (crc64): New module.
8070 * grub-core/lib/crc64.c: New file.
8071 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8072 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8073 Fix the type.
8074 (MAX_HASH_SIZE): New define.
8075 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8076 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8077 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8078 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8079 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8080 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8081 Handle non-crc32 hashes.
8082 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8083 (dec_stream_header): Handle non-crc32 hashes.
8084 (dec_stream_footer): Likewise.
8085 (dec_block_header): Likewise.
8086 (dec_main): Likewise.
8087 (xz_dec_init): Likewise.
8088 (xz_dec_reset): Likewise.
8089 (xz_dec_end): Likewise.
8090 * util/import_gcry.py: Add CRC64 line.
8091
9d9b3d2f
VS
80922011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8095 as well.
8096
7d0ac931
VS
80972011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 Make reiserfs label retrieval similar to other *_label functions.
8100
8101 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8102 (REISERFS_MAX_LABEL_LENGTH): Removed.
8103 (REISERFS_LABEL_OFFSET): Likewise.
8104 (grub_reiserfs_label): Rewritten.
8105
81062011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8109 field.
8110
cf5ba824
VS
81112011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8112
8113 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8114
17744004
VS
81152011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8118 drive failure on both raidz and raidz2.
8119
aca5aefc
VS
81202011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 Fix RAIDZ(2) for >= 5 devices.
8123
8124 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8125 asize argument. All users updated.
8126
ce8ca56e
VS
81272011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 Fix RAIDZ(2).
8130
8131 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8132 (fill_vdev_info_real): Set ashift.
8133 (read_device): Rewrite RAIDZ part based on reverse engineering.
8134
7c01e783
VS
81352011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8136
8137 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8138 don't report potentially unavialiable fields in debug output.
8139 (find_path): Fix double-free and memory leak.
8140
ce109e84
VS
81412011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 Read label on UFS1.
8144
8145 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8146 (grub_ufs_fs): Always set .label.
8147
87661123
VS
81482011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 Use shifts in UFS.
8151
8152 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8153 (grub_ufs_data): New field log2_blksz.
8154 (grub_ufs_read_file): Use shifts.
8155 (grub_ufs_mount): Check block size and logarithm it.
8156
46bc1dc2
VS
81572011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8160 long symlinks.
8161
19ee2987
VS
81622011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 Handle symlinks and long names on tar and cpio.
8165
8166 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8167 (ATTR_FILE): Likewise.
8168 (ATTR_DIR): Likewise.
8169 (ATTR_LNK): Likewise.
8170 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8171 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8172 L and K entries.
8173 (grub_cpio_mount): Zero-fill data.
8174 (handle_symlink): New function.
46bc1dc2
VS
8175 (grub_cpio_dir): Handle symlinks.
8176 (grub_cpio_open): Likewise.
8177 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 8178
c83a08d8
VS
81792011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 Fix iso9660 filename limitations and fix memory leaks.
8182
8183 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8184 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8185
45cdd3ea
VS
81862011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 Fix JFS file name length limitations.
8189
8190 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8191 (grub_jfs_diropen): Fix maximum filename length.
8192 (grub_jfs_getent): Fix filename length.
8193 (grub_jfs_lookup_symlink): Fix size checks.
8194
94ef05c2
VS
81952011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8198 string.
8199
785ab8c7
VS
82002011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8201
eb0b6b45
VS
8202 Leverage BFS implementation to read AFS.
8203
8204 * Makefile.util.def (libgrubmods): Add afs.c.
8205 * grub-core/Makefile.core.def (afs): New module
8206 * grub-core/fs/afs.c: New file.
8207 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8208
82092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 8212
c4a1628f
VS
82132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * grub-core/fs/bfs.c: Run indent.
8216
5825b379
VS
82172011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 BFS implementation based on the specification.
8220
8221 * grub-core/fs/bfs.c: New file.
8222 * Makefile.util.def (libgrubmods): Add bfs.c.
8223 * grub-core/Makefile.core.def (bfs): New module.
8224
42b2a706
VS
82252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * util/grub-fstest.c (cmd_cp): Clarify error message.
8228 (cmd_cmp): Likewise.
8229
61b99bfc
YB
82302011-10-30 Yves Blusseau <blusseau@zetam.org>
8231
8232 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8233 and befs_be.
8234
faba3d16
VS
82352011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 Remove afs and befs because of copyright problem.
8238
8239 * grub-core/fs/afs.c: Removed.
8240 * grub-core/fs/afs_be.c: Removed.
8241 * grub-core/fs/befs.c: Removed.
8242 * grub-core/fs/befs_be.c: Removed.
8243 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8244 * grub-core/Makefile.core.def (afs): Removed.
8245 (afs_be): Likewise.
8246 (befs): Likewise.
8247 (befs_be): Likewise.
8248
c39224b0
VS
82492011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 Prefer rockridge over Joliet.
8252
8253 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8254 to ...
8255 (set_rockridge): ... here.
8256 (grub_iso9660_mount): Check rockridge on the primary label when
8257 discovering. Ignore Joliet if Rockridge is present.
8258
e551115a
VS
82592011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 Use shifts in nilfs2.
8262
8263 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8264 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8265 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8266 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8267 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8268 (grub_nilfs2_entries_per_block): Replaced with ...
8269 (grub_nilfs2_log_entries_per_block_log): ... this.
8270 (grub_nilfs2_blocks_per_group): Replaced with ...
8271 (grub_nilfs2_blocks_per_group_log): ... this.
8272 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8273 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8274 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8275 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8276 (grub_nilfs2_palloc_entry_offset): Replaced ...
8277 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8278 (grub_nilfs2_dat_translate): Use shifts.
8279 (grub_nilfs2_read_inode): Likewise.
8280 (GRUB_MOD_INIT): Ensure that logs are correct.
8281
564dd58c
VS
82822011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 Use shifts in minix filesystem.
8285
8286 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8287 (GRUB_MINIX_ZONE2SECT): Likewise.
8288 (grub_minix_data): Replace block_size with log_block_size.
8289 (grub_minix_read_file): Use shifts.
8290 (grub_minix_mount): Check block size and take a logarithm.
8291
ed9ba06d
VS
82922011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 Use shifts in squash4.
8295
8296 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8297 (squash_mount): Check block size and take logarithm.
8298 (direct_read): Use shifts.
8299
ad03fe76
VS
83002011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 Correct befs block counting logic.
8303
8304 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8305 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8306 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8307 (grub_afs_read_inode): Use block_shift.
8308 (RANGE_SHIFT): New definition.
8309 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8310 unexpected conditions, use shifts and appropriate types.
8311 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8312
6563f63d
VS
83132011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * grub-core/disk/raid.c (scan_devices): Check partition.
8316 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8317
5b1ae25f
VS
83182011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 Support BFS (befs) UUID.
8321
8322 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8323 (grub_afs_small_data_element_header): New struct.
8324 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8325 (grub_afs_read_attribute) [MODE_BFS]: New function.
8326 (grub_afs_iterate_dir): Allocate for complete inode.
8327 (grub_afs_mount): Likewise.
8328 (grub_afs_uuid) [MODE_BFS]: New function.
8329 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8330
f8d82408
VS
83312011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8334 (zfs_unmount): Fix memory leak.
8335
5773fb64
VS
83362011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 Support NTFS reparse points.
8339
8340 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8341 (symlink_descriptor): New struct.
8342 (grub_ntfs_read_symlink): New function.
8343 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8344 (grub_ntfs_open): Likewise.
8345
91c3fdde
VS
83462011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8349
3be82e10
VS
83502011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 fstest xnu_uuid subcommand.
8353
8354 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8355 grub-core/commands/xnu_uuid.c.
8356 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8357 (fstest): Handle xnu_uuid.
8358 (options): Document xnu_uuid.
8359 (argp_parser): Parse xnu_uuid.
8360
8e32442e
VS
83612011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8364 -l argument. Add newline at the end if printing.
8365 (GRUB_MOD_INIT): Document -l.
8366
52a05075
VS
83672011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8370
1869edb5
VS
83712011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 ZFS multi-device and version 33 support.
8374
8375 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8376 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8377 (grub_zfs_data): Add multidev-ice-related fields.
8378 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8379 (dva_get_offset): Make dva const.
8380 (zfs_fetch_nvlist): New function.
8381 (fill_vdev_info_real): Likewise.
8382 (fill_vdev_info): Likewise.
8383 (check_pool_label): Likewise.
8384 (scan_disk): Likewise.
8385 (scan_devices): Likewise.
8386 (read_device): Likewise.
8387 (read_dva): Likewise.
8388 (zio_read_gang): Use read_dva.
8389 (zio_read_data): Likewise.
8390 (zap_leaf_lookup): Add missing endian conversion.
8391 (zap_verify): Add missing endian conversion. All users updated.
8392 (fzap_lookup): Likewise.
8393 (fzap_iterate): Likewise.
8394 (dnode_get_path): Handle SA bonus.
8395 (nvlist_find_value): Make input const. All users updated.
8396 (unmount_device): New function.
8397 (zfs_unmount): Use unmount_device.
8398 (zfs_mount): Use scan_disk.
8399 (zfs_mtime): New function.
8400 (grub_zfs_open): Handle system attributes.
8401 (fill_fs_info): Likewise.
8402 (grub_zfs_dir): Likewise.
8403 (grub_zfs_fs): Add mtime.
8404 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8405 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8406 (SA_MTIME_OFFSET): Likewise.
8407 (SA_SYMLINK_OFFSET): Likewise.
8408 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8409 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8410 (fstest): Support zfsinfo.
8411 (argp_parser): Likewise.
8412
186b4028
VS
84132011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8416 error.
8417
84182011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
8419
8420 ZFS fixes.
8421
8422 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8423 sharing the same block. Iterate over correct number of indices.
8424 (dnode_get_path): Handle symlinks correctly.
8425
c0584900
VS
84262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8429
67e2bd71
VS
84302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 Read label on HFS+.
8433
8434 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8435 (grub_hfsplus_btree_search): Fix types.
8436 (grub_hfsplus_label): Implement.
8437
e9cc6b7b
VS
84382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8439
8440 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8441
19832ddb
VS
84422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8445
66b40850
VS
84462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 Fix symlink handling on iso9660.
8449
8450 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8451 All users updated.
8452 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8453 (grub_iso9660_read_symlink): Moved most of code ...
8454 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8455
db821363
VS
84562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8459 Use union to avoid breaking strict-aliasing rules.
8460
e1211949
VS
84612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8462
8463 Support multi-extent iso files.
8464
8465 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8466 Add node.
8467 (grub_fshelp_node): Revamp. All users updated.
8468 (FLAG_*): New enum.
8469 (read_node): New function.
8470 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8471 All users updated.
8472 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8473 (get_node_size): New function.
8474 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8475 entries.
8476 Fix memory leak on . and ..
8477 (grub_iso9660_read): Use read_node.
8478 (grub_iso9660_close): Free node.
8479
d4888031
VS
84802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 Fix tar 4G limit and handle paths containing dot.
8483
8484 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8485 (canonicalize): New function.
8486 (grub_cpio_find_file): Use canonicalize. Store offs in
8487 grub_disk_addr_t.
8488 (grub_cpio_dir): Use grub_disk_addr_t.
8489 (grub_cpio_open): Likewise.
8490
9f12e664
VS
84912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8494
8495 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8496 unused flags.
8497 (grub_squash_inode): Add long_file and block_size.
8498 (grub_squash_cache_inode): New struct.
8499 (grub_squash_dirent): Make types into enum.
8500 (SQUASH_TYPE_LONG_REGULAR): New type.
8501 (grub_squash_frag_desc): Add field size.
8502 (SQUASH_BLOCK_FLAGS): New enum.
8503 (grub_squash_data): Use grub_squash_cache_inode.
8504 (grub_fshelp_node): Make ino_chunk 64-bit.
8505 (read_chunk): Minor argument change. All users updated.
8506 (squash_mount): Use correct le_to_cpu.
8507 (grub_squash_open): Handle LONG_REGULAR.
8508 (direct_read): New function.
8509 (grub_squash_read_data): Handle blocks correctly.
8510
9f326fba
VS
85112011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8514
f4d9b64b
VS
85152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8518
5bbd28b8
VS
85192011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 Fix 2G limit on ZFS.
8522
8523 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
8524 types.
8525 (uberblock_verify): Likewise.
8526 (dmu_read): Likewise.
8527 (grub_zfs_read): Likewise. Remove invalid cast.
8528
68c72069
VS
85292011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
8532 (grub_jfs_blkno): Fix incorrect shift.
8533 (grub_jfs_read_file): Use more appropriate types.
8534
6e536dc8
VS
85352011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 Support triple indirect on minix2 and minix3.
8538
8539 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
8540 Declare triple_indir_zone.
8541 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
8542 indirect.
8543
e0864e7a
VS
85442011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 Minix FS fixes.
8547
8548 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
8549 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
8550 Rename ctime to mtime. All users updated.
8551 (grub_minix_get_file_block): Fix types and double indirect computations.
8552
89481cab
VS
85532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
8556 if no label is found.
8557 (grub_fat_iterate_dir): Fix file size type.
8558 (grub_fat_iterate_dir): Likewise.
8559
f646e143
VS
85602011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
8563 save some space.
8564 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8565 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8566
534d769e
VS
85672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
8570
e084ba18
VS
85712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 * util/import_gcry.py: Accept space between # and include.
8574
3471ecdf
VS
85752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
8578
124df5f6
VS
85792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 Fine grainely disable warnings on lexer. Remove Wno-error on it.
8582
8583 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
8584 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
8585 yylex_strncpy.
8586 * grub-core/script/yylex.l: Add fine-grained #pragma.
8587
4defb8d5
VS
85882011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8589
8590 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
8591 New inline function.
8592 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
8593 Likewise.
8594 (memset) [GRUB_UTIL]: Likewise.
8595 (memcmp) [GRUB_UTIL]: Likewise.
8596
4e94ae65
VS
85972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8598
8599 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
8600 inline function rather than a define.
8601
18c575e5
VS
86022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 * util/grub-setup.c: Add missing include.
8605
f8bc22a8
VS
86062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * util/ieee1275/grub-ofpathname.c: Add missing include.
8609
3ce69fc9
VS
86102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8611
8612 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
8613 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
8614 Likewise.
8615
d1e293bb
VS
86162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
8619 grub_memcmp usage.
8620
7a5c54a4
VS
86212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * util/grub-install.in: Add datarootdir as per automake manual
8624 suggestion.
8625 * util/grub-mknetdir.in: Likewise.
8626
86272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
8628
8629 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
8630 suggestion.
8631 * util/grub.d/10_kfreebsd.in: Likewise.
8632 * util/grub.d/10_linux.in: Likewise.
8633 * util/grub.d/10_netbsd.in: Likewise.
8634 * util/grub.d/10_windows.in: Likewise.
8635 * util/grub.d/20_linux_xen.in: Likewise.
8636
766f7d08
VS
86372011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 Remove redundant grub_kernel_image_size.
8640
8641 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
8642 _edata and _start.
8643 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
8644 the small code. It moves it only by few bytes but simplifies the code.
8645 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
8646 _start.
8647 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
8648 (grub_kernel_image_size): Removed.
8649 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
8650 (grub_kernel_image_size): Removed.
8651 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
8652 compiled with Apple toolchain.
8653 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
8654 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
8655 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
8656 (grub_total_module_size): Likewise.
8657 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
8658 Removed.
8659 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
8660 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
8661 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8662 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
8663 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
8664 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
8665 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
8666 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
8667 Removed.
8668 (grub_total_module_size): Removed.
8669 * util/grub-mkimage.c (image_target_desc): Remove image_size.
8670 (image_targets): Likewise.
8671 Set .compressed_size to no field on sparc.
8672 (generate_image): Remove kernel_image_size handling.
8673
fcf1d672
SJ
86742011-10-19 Szymon Janc <szymon@janc.net.pl>
8675
8676 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
8677 NULL pointer dereference.
8678
de9c615e
VS
86792011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8680
8681 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
8682 done with a dedicated section.
8683
8684 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
8685 Ensure the correct position of boot_path.
8686 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
8687 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
8688 other fields.
8689 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
8690 * include/grub/boot.h: Removed. All references removed.
8691 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8692 Removed.
8693 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
8694
e55599dc
VS
86952011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
8698 name.
8699
36dd20ad
VS
87002011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8701
8702 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
8703
f8f72eb8
VS
87042011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8707 Don't add the bogus brackets.
8708
a374751b
VS
87092011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 ExFAT support.
8712
8713 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
8714 * grub-core/Makefile.core.def (exfat): New module.
8715 * grub-core/fs/exfat.c: New file.
8716 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
8717 (GRUB_FAT_ATTR_*): Make into an enum.
8718 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
8719 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
8720 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
8721 (GRUB_FAT_MAXFILE): Removed.
8722 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
8723 (grub_current_fat_bpb_t): New type.
8724 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
8725 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
8726 (grub_fat_dir_node_t): New type.
8727 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
8728 (fat_log2) [MODE_EXFAT]: Removed.
8729 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
8730 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
8731 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
8732 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
8733 (grub_fat_label) [MODE_EXFAT]: New function.
8734 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
8735 reserved_first_sector to 0.
8736
544c2487
VS
87372011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 Move grub_reboot out of the kernel.
8740
8741 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
8742 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
8743 * grub-core/lib/efi/reboot.c: ... here.
8744 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
8745 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8746 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
8747 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
8748 * grub-core/lib/i386/reboot_trampoline.S: ... here.
8749 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
8750 * grub-core/lib/ieee1275/reboot.c: ... here.
8751 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
8752 * grub-core/lib/mips/arc/reboot.c: ... here.
8753 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
8754 * grub-core/lib/mips/loongson/reboot.c: ...here.
8755 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
8756 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
8757 * include/grub/emu/misc.h (grub_reboot): New function declaration.
8758 * include/grub/i386/reboot.h: New file.
8759 * include/grub/mips/loongson/ec.h: Fix includes.
8760 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
8761 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
8762 * grub-core/lib/i386/reboot.c: New file.
8763
a97501d2
VS
87642011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 Make grub_prefix into module to fix the arbitrary limit and save
8767 some space.
8768
8769 * grub-core/kern/emu/main.c (grub_prefix): Removed.
8770 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
8771 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
8772 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
8773 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
8774 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
8775 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
8776 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
8777 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
8778 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
8779 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
8780 * include/grub/ia64/efi/kernel.h: Removed.
8781 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
8782 (grub_prefix): Removed.
8783 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
8784 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
8785 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
8786 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
8787 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
8788 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
8789 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
8790 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
8791 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
8792 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
8793 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8794 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8795 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8796 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8797 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
8798 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
8799 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
8800 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8801 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
8802 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
8803 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
8804 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
8805 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
8806 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
8807 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
8808 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
8809 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
8810 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
8811 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
8812 from module.
8813 * util/grub-mkimage.c (image_target_desc): Removed prefix and
8814 prefix_end.
8815 (image_targets): Likewise.
8816 (generate_image): Put prefix as a module.
8817
39705fad
VS
88182011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 Replace grub_module_iterate with FOR_MODULES.
8821
8822 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
8823 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
8824 (grub_efi_modules_addr): ...this.
8825 * grub-core/kern/efi/init.c (grub_modbase): New variable.
8826 (grub_efi_init): Set grub_modbase.
8827 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
8828 (grub_modbase): New variable.
8829 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
8830 (grub_modbase): New variable.
8831 (grub_machine_init): Set grub_modbase.
8832 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
8833 (grub_modbase): New variable.
8834 (grub_machine_init): Set grub_modbase.
8835 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
8836 (grub_modbase): New variable.
8837 (grub_machine_init): Set grub_modbase.
8838 * grub-core/kern/main.c (grub_module_iterate): Remove.
8839 (grub_modules_get_end): Use grub_modbase.
8840 (grub_load_modules): Use FOR_MODULES.
8841 (grub_load_config): Likewise.
8842 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
8843 (grub_modbase): New variable.
8844 (grub_machine_init): Set grub_modbase.
8845 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
8846 (grub_modbase): New variable.
8847 (grub_machine_init): Set grub_modbase.
8848 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
8849 Removed.
8850 (grub_modbase): New variable.
8851 (grub_machine_init): Set grub_modbase.
8852 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
8853 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
8854 (grub_module_iterate): Likewise.
8855 (grub_modbase): New variable declaration.
8856 (FOR_MODULES): New macro.
8857
2afb7f6c
VS
88582011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 * configure.ac: Check for __ctzdi2 and __ctzsi2.
8861 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
8862
366e34fa
VS
88632011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 Fix few obvious type discrepancies.
8866
8867 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
8868 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
8869 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
8870 variable.
8871 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
8872 and connected types.
8873 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
8874 offset.
8875 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
8876 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
8877 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
8878 and connected types.
8879
177b960e
VS
88802011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 Fix python 3.x incompatibilities.
8883
8884 * gentpl.py: Put brackets around print strings.
8885 * util/import_gcry.py: Open explicitly as utf-8.
8886 Use in instead of has_key.
8887
3b619ae1
VS
88882011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
8891 (GRUB_XFS_INO_AGBITS): Make into inline function.
8892 (GRUB_XFS_INO_INOINAG): Likewise.
8893 (GRUB_XFS_INO_AG): Likewise.
8894 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8895 (GRUB_XFS_EXTENT_OFFSET): Likewise.
8896 (GRUB_XFS_EXTENT_BLOCK): Likewise.
8897 (GRUB_XFS_EXTENT_SIZE): Likewise.
8898 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
8899 (GRUB_XFS_NEXT_DIRENT): Likewise.
8900 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
8901 (grub_xfs_read_file): Fix offset type.
8902
8bcebcb8
RM
89032011-10-15 Robert Millan <rmh@gnu.org>
8904
8905 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
8906
0017e5ef
RM
89072011-10-15 Robert Millan <rmh@gnu.org>
8908
8909 Fix build problem on FreeBSD and GNU/kFreeBSD.
8910
8911 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
8912
d8919552
VS
89132011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
8916
8917 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
8918 types.
8919 (grub_hfsplus_btree_recoffset): Likewise.
8920 (grub_hfsplus_btree_recptr): Likewise.
8921 (grub_hfsplus_find_block): Likewise.
8922 (grub_hfsplus_btree_search): Likewise.
8923 (grub_hfsplus_read_block): Likewise.
8924 (grub_hfsplus_read_file): Likewise.
8925 (grub_hfsplus_mount): Likewise.
8926 (grub_hfsplus_btree_iterate_node): Likewise.
8927 (grub_hfsplus_btree_search): Likewise.
8928 (grub_hfsplus_iterate_dir): Likewise.
8929 (grub_hfsplus_read): A small code simplification.
8930
c81296b6
VS
89312011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8932
8933 * grub-core/kern/emu/hostdisk.c
8934 (convert_system_partition_to_system_disk): Don't assume that children
8935 of mapper nodes are mapper nodes.
8936
0eb8ffb1
VS
89372011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
8940 * include/grub/misc.h (grub_isxdigit): New function.
8941 * grub-core/video/colors.c (my_isxdigit): Removed. All users
8942 switched to grub_isxdigit.
8943 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
8944 number starting with a letter.
8945
a98f4a08
RM
89462011-10-09 Robert Millan <rmh@gnu.org>
8947
8948 LVM support for FreeBSD and GNU/kFreeBSD.
8949
8950 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
8951 GNU/kFreeBSD.
8952 (LVM_DEV_MAPPER_STRING): Move from here ...
8953 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
8954 * util/getroot.c: Include `<grub/util/lvm.h>'.
8955 (grub_util_get_dev_abstraction): Enable
8956 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
8957 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
8958 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
8959 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
8960 support it.
8961 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
8962 GNU/kFreeBSD.
8963 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
8964 when LVM abstraction is required for ${GRUB_DEVICE}.
8965
050e8e90
SJ
89662011-10-06 Szymon Janc <szymon@janc.net.pl>
8967
8968 Add support for LZO compression in GRUB:
8969 - import of minilzo library,
8970 - LZO decompression for btrfs,
8971 - lzop files decompression.
8972
8973 * grub-core/io/lzopio.c: New file.
8974 * grub-core/lib/adler32.c: Likewise.
8975 * grub-core/lib/minilzo/lzoconf.h: Likewise.
8976 * grub-core/lib/minilzo/lzodefs.h: Likewise.
8977 * grub-core/lib/minilzo/minilzo.c: Likewise.
8978 * grub-core/lib/minilzo/minilzo.h: Likewise.
8979 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
8980 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
8981 grub-core/lib/minilzo/minilzo.c to common.
8982 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
8983 cflags in cppflags.
8984 * grub-core/Makefile.core.def (btrfs): Likewise.
8985 * grub-core/Makefile.core.def (lzopio): New module.
8986 (adler32): Likewise.
8987 * grub-core/fs/btrfs.c: Include minilzo.h.
8988 (GRUB_BTRFS_COMPRESSION_LZO): New define.
8989 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
8990 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
8991 (grub_btrfs_lzo_decompress): New function.
8992 (grub_btrfs_extent_read): Add support for LZO compression type.
8993 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
8994 (GRUB_USHRT_MAX): Likewise.
8995 (GRUB_UINT_MAX): Likewise.
8996 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
8997 (UINT_MAX): Likewise.
8998 (CHAR_BIT): Likewise.
8999 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9000 grub-core/lib/posix_wrap/limits.h
9001 (UCHAR_MAX): Likewise.
9002 * include/grub/file.h (grub_file_filter_id): New compression filter
9003 GRUB_FILE_FILTER_LZOPIO.
9004 * include/grub/file.h (grub_file_filter_id): Set
9005 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9006 * include/grub/types.h (grub_get_unaligned16): New function.
9007 (grub_get_unaligned32): Likewise.
9008 (grub_get_unaligned64): Likewise.
9009 * util/import_gcry.py (cryptolist): Add adler32.
9010
0eb8ffb1
VS
90112011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9014 in perspective decreases the complexity of build system and fixes
9015 compilation right now.
9016
ce79cc99 90172011-10-01 Ales Nesrsta <starous@volny.cz>
9018
9019 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9020 (fixed problem related to using UHCI with coreboot).
9021
8667a314
BC
90222011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9023
9024 * gentpl.py: Use Autogen macros so that the output template file
9025 (Makefile.tpl) size is reduced.
9026
fc5efcc0
MK
90272011-09-29 Mads Kiilerich <mads@kiilerich.com>
9028
9029 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9030 extra_dist.
9031
d1ab689d
ML
90322011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9033
9034 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9035 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9036
c05de032
ML
90372011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9038
9039 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9040 _fullpath.
9041
cca7ccd8
ML
90422011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9043
9044 Remove extra declaration of sleep for mingw32.
9045
9046 * util/misc.c (sleep) [__MINGW32__]: Removed.
9047 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9048
e0b0dc83
GS
90492011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9050
9051 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9052 type and packname.
9053 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9054 Resurrected.
9055 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9056 (grub_netbsd_btinfo_bootwedge): New struct.
9057 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9058 New function.
9059 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9060
91a1a164
TH
90612011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9062
9063 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9064 loader.
9065
2ded951e
AB
90662011-09-28 Andreas Born <futur.andy@googlemail.com>
9067
9068 Fix incorrect identifiers in bash-completion.
9069
9070 * util/bash-completion.d/grub-completion.bash.in
9071 (_grub_mkpasswd-pbkdf2): Rename to ...
9072 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9073 (_grub_script-check): Rename to ...
9074 (_grub_script_check): ... this. All users updated.
9075
69915030
VS
90762011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9079 Return 0 if disk isn't biosdisk.
9080
20fd15f9
GS
90812011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9082
9083 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9084 on NetBSD.
9085 * Makefile.util.def (grub-fstest): Likewise.
9086
1a7d7db9
GS
90872011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9088
9089 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9090 Get sector size from disk label.
9091
2221ab6c
CW
90922011-09-05 Colin Watson <cjwatson@ubuntu.com>
9093
9094 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9095 */README* as well as README*.
9096 Reported by: Axel Beckert.
9097
ca51c4a0
VS
90982011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9101 case of less than 256 MiB of RAM.
9102
ab80f326
VS
91032011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * grub-core/commands/wildcard.c (make_regex): Handle @.
9106
4155e697
VS
91072011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9110
ab178c08
SJ
91112011-08-21 Szymon Janc <szymon@janc.net.pl>
9112
9113 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9114 AC_LANG_CONFTEST macros.
9115
7dc3c686
SJ
91162011-08-20 Szymon Janc <szymon@janc.net.pl>
9117
9118 Add grub-fstest option to uncompress data for commands.
9119
9120 * util/grub-fstest.c (uncompress): New var.
9121 (options): New option -u.
9122
fe8d4a7b
SJ
91232011-08-20 Szymon Janc <szymon@janc.net.pl>
9124
9125 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9126 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9127
a5219af1
SJ
91282011-08-20 Szymon Janc <szymon@janc.net.pl>
9129
9130 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9131 file type was not recognized correctly (not gzip or corrupted).
9132
f87abff5
VS
91332011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9136 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9137
d94497ea
VS
91382011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9141 loongson.
9142 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9143 video_radeon_fuloong2e.
9144 * grub-core/video/radeon_fuloong2e.c: New file.
9145 * include/grub/video.h (grub_video_id_t): Add new ID
9146 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9147
0d1fd011
VS
91482011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9151 define.
9152 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9153 that PRID matches the detected subplatform and reset the subplatform
9154 if it doesn't.
9155
84beb0ee
VS
91562011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9159
1227c133
VS
91602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 Fix PCI iterating on functions >= 4.
9163
9164 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9165 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9166 Removed.
9167 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9168 (grub_pci_read): Fix bitmask.
9169 (grub_pci_read_word): Likewise.
9170 (grub_pci_read_byte): Likewise.
9171 (grub_pci_write): Likewise.
9172 (grub_pci_write_word): Likewise.
9173 (grub_pci_write_byte): Likewise.
9174
9594c689
VS
91752011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9178 can still be specified in TARGET_CFLAGS)
9179
14a2562c
VS
91802011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9183
9184 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9185 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9186 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9187 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9188 (FULOONG): Rename to ...
9189 (FULOONG2F): ... this. All users updated.
9190 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9191 (machtype_fuloong2f_str): ... this.
9192 (machtype_fuloong2e_str): New string.
9193 Check for machtype_fuloong2e_str.
9194 * grub-core/loader/mips/linux.c (loongson_machtypes)
9195 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9196 * grub-core/term/serial.c (loongson_defserial)
9197 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9198 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9199 loongson_defserial.
9200 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9201 Rename to ...
9202 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9203 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9204 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9205 to IMAGE_FULOONG2F_FLASH. All users updated.
9206 (image_targets): Rename images.
9207 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9208
b526cbb6
SJ
92092011-08-19 Szymon Janc <szymon@janc.net.pl>
9210
9211 Make enable of disk cache statistics code configurable.
9212
9213 * configure.ac: --enable-cache-stats added.
9214 * config.h.in (DISK_CACHE_STATS): New define.
9215 * grub-core/Makefile.core.def (cacheinfo): New command.
9216 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9217 * grub-core/commands/cacheinfo.c: New file.
9218 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9219 moved to cacheinfo.c.
9220 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9221 debug code.
9222 * include/grub/disk.h: Likewise.
9223
fb739ccd
SJ
92242011-08-19 Szymon Janc <szymon@janc.net.pl>
9225
9226 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9227 * grub-core/Makefile.am: Likewise.
9228
2bba8cfd
VS
92292011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9232 non-zero pull.
9233
43526629
VS
92342011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9237 All users updated.
9238 (grub_jfs_lookup_symlink): Use correct starting inode.
9239
5c144cc8
VS
92402011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 * util/grub-setup.c (main): Add missing gcry initialisation.
9243
b1257f65
VS
92442011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9245
9246 Don't accept text modes on EFI when booting Linux.
9247
9248 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9249 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9250
828bc390
ML
92512011-08-15 Mario Limonciello <mario_limonciello@dell.com>
92522011-08-15 Colin Watson <cjwatson@ubuntu.com>
9253
9254 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9255 use of "/path/.." as in grub-install for EFI as well as handling
9256 symlinks correctly.
9257 Fixes Debian bug #637768.
9258
5f60ccac
CW
92592011-08-15 Colin Watson <cjwatson@ubuntu.com>
9260
9261 * util/grub-probe.c: Remove duplicate #include.
9262
6dc212f9
RM
92632011-08-10 Robert Millan <rmh@gnu.org>
9264
9265 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9266
9267 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9268 function.
9269 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9270 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9271
66816d85
RM
92722011-08-03 Robert Millan <rmh@gnu.org>
9273
9274 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9275 la_array as packed.
9276 Reported by: Zachary Bedell
9277
20168fca
CW
92782011-07-26 Colin Watson <cjwatson@ubuntu.com>
9279
9280 * configure.ac: The Loongson port requires grub-mkfont due to its
9281 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9282 be built.
9283
303b6246
CW
92842011-07-26 Colin Watson <cjwatson@ubuntu.com>
9285
9286 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9287 processing arguments (otherwise help2man fails when GRUB has not yet
9288 been installed).
9289
6795300e
VS
92902011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9291
41aa28ea
VS
9292 New script grub-mkstandalone.
9293
9294 * Makefile.util.def (grub-mkstandalone): New script.
9295 * docs/man/grub-mkstandalone.h2m: New file.
9296 * util/grub-mkstandalone.in: Likewise.
9297
92982011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 Support ATA disks with 4K sectors.
6795300e
VS
9301
9302 * include/grub/ata.h (grub_ata): New member log_sector_size.
9303 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9304 (grub_ata_identify): Read sector size.
9305 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9306
92227597
VS
93072011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 * util/grub-install.in: Don't use uhci outside of x86.
9310
c77069f5
VS
93112011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * util/grub-mkrescue.in: Add missing quotes.
9314
93152011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
9316
9317 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9318 dereference.
9319
583168a2
VS
93202011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9323
6be1c01f
VS
93242011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 * include/grub/video.h: add missing EXPORT_FUND on
9327 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9328
a1167439
VS
93292011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9330
9331 * include/grub/mips/kernel.h: Fix define conflict.
9332
bf66054f
VS
93332011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9334
9335 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9336 all four ways.
9337
8fc4fa45
CW
93382011-07-21 Colin Watson <cjwatson@ubuntu.com>
9339
9340 Preferred resolution detection for VBE.
9341
9342 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9343 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9344 the Flat Panel extension, in line with the X.org VESA driver.
9345 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9346 New function.
9347 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9348 (grub_vbe_bios_read_edid): Likewise.
9349 (grub_vbe_get_preferred_mode): Likewise.
9350 (grub_video_vbe_setup): When the mode is "auto", try to get the
9351 preferred mode from VBE, and use the largest mode that is no larger
9352 than the preferred mode (some BIOSes expose a preferred mode that is
9353 not in their mode list!). If this fails, fall back to 640x480 as a
9354 safe conservative choice.
9355 (grub_video_vbe_get_edid): New function.
9356 (grub_video_vbe_adapter): Add get_edid.
9357 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9358 (struct grub_video_adapter): Add get_edid.
9359 (grub_video_edid_checksum): Add prototype.
9360 (grub_video_edid_preferred_mode): Likewise.
9361 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9362 structure.
9363
9364 * grub-core/commands/videoinfo.c (print_edid): New function.
9365 (grub_cmd_videoinfo): Print EDID if available.
9366
9367 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9368 is more appropriate on a wider range of platforms than 640x480.
9369 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9370 documentation.
9371
ca5572a9
VS
93722011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9375
e4bcf625
VS
93762011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9377
9378 * po/POTFILES.in: Regenerate.
9379
c4edd548
VS
93802011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9383 incorrect memory usage.
9384
16a2bab0
VS
93852011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * util/grub-install.in: Source grub-mkconfig_lib.
9388
2e418de6
VS
93892011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9390
9391 Remove getroot.c from core on emu platform.
9392
9393 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9394 kern/emu/raid.c.
9395 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9396 useless.
9397 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9398 * util/getroot.c (get_win32_path): ... here.
9399 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9400 * util/getroot.c (fini_libzfs): ... here.
9401 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9402 * util/getroot.c (grub_get_libzfs_handle): ... here.
9403 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9404 Moved from here...
9405 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9406 * grub-core/kern/emu/misc.c
9407 (grub_make_system_path_relative_to_its_root): Moved from here...
9408 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9409 * grub-core/kern/emu/getroot.c: Moved from here ...
9410 * util/getroot.c: ... here. All users updated.
9411 * grub-core/kern/emu/raid.c: Moved from here ...
9412 * util/raid.c: ... here. All users updated.
9413
def9832a
VS
94142011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * po/POTFILES.in: Regenerate.
9417
cd8fe79a
VS
94182011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 Fix compilation on GNU/Linux.
9421
9422 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9423 Disable geli.
9424 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9425 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9426 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9427
a251b719
VS
94282011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
94292011-07-07 Michael Gorven <michael@gorven.za.net>
94302011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9431
9432 LUKS and GELI support.
9433
9434 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9435 grub-core/disk/luks.c, grub-core/disk/geli.c,
9436 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9437 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9438 grub-core/lib/arg.c.
9439 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9440 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9441 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9442 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9443 (grub-bin2h): Add libgcry.a.
9444 (grub-mkimage): Likewise.
9445 (grub-mkrelpath): Likewise.
9446 (grub-script-check): Likewise.
9447 (grub-editenv): Likewise.
9448 (grub-mkpasswd-pbkdf2): Likewise.
9449 (grub-pe2elf): Likewise.
9450 (grub-fstest): Likewise.
9451 (grub-mkfont): Likewise.
9452 (grub-mkdevicemap): Likewise.
9453 (grub-probe): Likewise.
9454 (grub-ofpath): Likewise.
9455 (grub-mklayout): Likewise.
9456 (example_unit_test): Likewise.
9457 (grub-menulst2cfg): Likewise.
9458 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9459 * grub-core/Makefile.core.def (cryptodisk): New module.
9460 (luks): Likewise.
9461 (geli): Likewise.
9462 * grub-core/disk/AFSplitter.c: New file.
9463 * grub-core/disk/cryptodisk.c: Likewise.
9464 * grub-core/disk/geli.c: Likewise.
9465 * grub-core/disk/luks.c: Likewise.
9466 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9467 grub_util_is_lvm.
9468 (grub_util_get_dm_abstraction): New function.
9469 (grub_util_follow_gpart_up): Likewise.
9470 (grub_util_get_geom_abstraction): Likewise.
9471 (grub_util_get_dev_abstraction): Use new functions.
9472 (grub_util_pull_device): Pull GELI and LUKS.
9473 (grub_util_get_grub_dev): Handle LUKS and GELI.
9474 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9475 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9476 (follow_geom_up): Removed.
9477 (grub_util_fd_seek): New function.
9478 (open_device): Use grub_util_fd_seek.
9479 (nread): Rename to ..
9480 (grub_util_fd_read): ... this. All users updated.
9481 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9482 (grub_crypto_cbc_decrypt): Likewise.
9483 (grub_crypto_hmac_write): Likewise.
9484 (grub_crypto_hmac_buffer): Likewise.
9485 (grub_password_get): Extend to util.
9486 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9487 New member modname.
9488 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9489 * include/grub/cryptodisk.h: New file.
9490 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9491 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9492 LUKS and GELI.
9493 (grub_util_follow_gpart_up): New proto.
9494 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9495 (grub_util_fd_read): Likewise.
9496 (grub_cryptodisk_cheat_mount): Likewise.
9497 (grub_util_cryptodisk_print_uuid): Likewise.
9498 (grub_util_get_fd_sectors): Likewise.
9499 * util/grub-fstest.c (mount_crypt): New var.
9500 (fstest): Mount crypto if requested.
9501 (options): New option -C.
9502 (argp_parser): Parse -C.
9503 (main): Init and fini gcry.
9504 * util/grub-install.in: Support cryptodisk install.
9505 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9506 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9507 cryptodisk.
9508 (prepare_grub_to_access_device): Likewise.
9509 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9510 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9511 (probe_cryptodisk_uuid): New function.
9512 (probe_abstraction): Likewise.
9513 (probe): Use new functions.
9514 * util/import_gcry.py: Create Makefile.utilgcry.def.
9515 Add modname member.
9516
9bfdcbbc
VS
95172011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 Lazy device scanning.
9520
9521 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
9522 (grub-setup): Remove util/raid.c.
9523 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
9524 * grub-core/disk/lvm.c (scan_depth): New variable.
9525 (grub_lvm_iterate): Rescan if necessary.
9526 (find_lv): New function based on grub_lvm_open.
9527 (grub_lvm_open): Use find_lv. Rescan on error.
9528 (is_node_readable): New function.
9529 (is_lv_readable): Likewise.
9530 (grub_lvm_scan_device): Skip already found disks.
9531 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
9532 Stop if searched device is found and readable.
9533 * grub-core/disk/raid.c (inscnt): New variable.
9534 (scan_depth): Likewise.
9535 (scan_devices): New function based on grub_raid_register. Abort if
9536 looked for device is found.
9537 (grub_raid_iterate): Rescan if needed.
9538 (find_array): NEw function based on -grub_raid_open.
9539 (grub_raid_open): Use find_array and rescan.
9540 (insert_array): Set became_readable_at.
9541 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
9542 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
9543 New function.
9544 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
9545 (grub_util_pull_device): New function.
9546 (grub_util_get_grub_dev): Call grub_util_pull_device.
9547 * util/raid.c: Moved to ..
9548 * grub-core/kern/emu/raid.c: ... here.
9549 (grub_util_raid_getmembers): New parameter "bootable".
9550 All users updated. Support 1.x.
9551 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
9552 All users updated.
9553 * include/grub/disk.h (grub_disk_pull_t): New enum.
9554 (grub_disk_dev): Change iterate prototype.
9555 All users updated.
9556 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
9557 New proto.
9558 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
9559 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
9560 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
9561 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
9562 All users updated.
9563 * include/grub/util/raid.h: Removed.
9564
1c358e59
VS
95652011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * po/POTFILES.in: Regenerate.
9568
abee94ed
VS
95692011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 Unify sparc init with other ieee1275.
9572
9573 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
9574 instead of kern/sparc64/ieee1275/init.c.
9575 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
9576 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
9577 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
9578 grub/machine/kernel.h.
9579 (grub_ieee1275_original_stack) [__sparc__]: New variable.
9580 (grub_claim_heap) [__sparc__]: Use sparc version.
9581 (grub_machine_init): Moved args parsing to
9582 (grub_parse_cmdline): ...this.
9583 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
9584 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
9585 New definition.
9586 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
9587
9588 Move BOOTP to separate file.
9589
9590 * grub-core/Makefile.core.def (net): Add net/bootp.c.
9591 * grub-core/net/net.c: Move all BOOTP functions to
9592 * grub-core/net/bootp.c: ... here.
9593
9594 Use frame interface on PXE.
9595
9596 * grub-core/Makefile.core.def (pxecmd): Removed.
9597 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
9598 * grub-core/commands/i386/pc/pxecmd.c: Removed.
9599 * grub-core/i386/pc/pxe.c: Moved from here ...
9600 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
9601 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
9602 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
9603
9604 EFI network support.
9605
9606 * grub-core/Makefile.core.def (efinet): New module.
9607 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
9608 here...
9609 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
9610 All users updated.
9611 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
9612 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
9613 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
9614 * grub-core/net/drivers/efi/efinet.c: New file.
9615 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
9616 (grub_efi_net_config): New extern var.
9617
9618 Various cleanups and bugfixes.
9619
9620 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
9621 error.
9622 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
9623 disk declared as partition.
9624 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
9625 leak on failure.
9626 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
9627 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
9628 (grub_debug_zalloc): Likewise.
9629 (grub_debug_realloc): Likewise.
9630 (grub_debug_memalign): Likewise.
9631 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
9632 Check that target is IPv4.
9633 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
9634 local-mac-address as fallback.
9635 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
9636 memory leak.
9637 * grub-core/net/ip.c (ipchksum): Rename to ...
9638 (grub_net_ip_chksum): ... this. All users updated.
9639 (grub_net_recv_ip_packets): Special handling for DHCP.
9640 * util/grub-mkimage.c (generate_image): Zero-out aout header.
9641
9642 Unify prefix handling
9643
9644 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
9645 (grub_machine_get_bootlocation): ... this.
9646 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
9647 (grub_machine_get_bootlocation): ... this.
9648 (grub_prefix): New variable.
9649 (prefix): Removed.
9650 (root_dev): New variable.
9651 (dir): Likewise.
9652 (main): Use new variables.
9653 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
9654 Revamped into ...
9655 (grub_machine_get_bootlocation): ... this.
9656 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
9657 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
9658 (grub_machine_get_bootlocation): ... this.
9659 (grub_machine_set_prefix): Removed.
9660 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
9661 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
9662 Revamped into ...
9663 (grub_machine_get_bootlocation): ... this.
9664 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
9665 (grub_set_prefix_and_root): ... this. All users updated.
9666 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
9667 Revamped into ...
9668 (grub_machine_get_bootlocation): ... this.
9669 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
9670 (grub_machine_get_bootlocation): New proto.
9671 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
9672
9673 Less intrusive and more reliable seek on network implementation.
9674
9675 * grub-core/kern/file.c (grub_file_net_seek): Removed.
9676 (grub_file_seek): Don't call grub_file_net_seek.
9677 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
9678 (grub_net_fs_read_real): .. this.
9679 (grub_net_seek_real): Use net->offset.
9680 (grub_net_fs_read): Seek if necessary.
9681
9682 Unify IEEE1275 netwotk config with the other platforms.
9683
9684 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
9685 New variable.
9686 (grub_machine_get_bootlocation): Support network.
9687 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9688 Support type and device parsing.
9689 (grub_ieee1275_get_device_type): New function.
9690 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
9691 into ...
9692 (grub_ieee1275_net_config_real): ... this.
9693 (grub_ofnet_probecards): Removed.
9694 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
9695 * include/grub/ieee1275/ofnet.h: Removed.
9696 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
9697 extern var.
9698 (grub_ieee1275_get_device_type): New function.
9699
9700 Unify network device closing across platforms and make more robust.
9701
9702 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
9703 grub_grubnet_fini.
9704 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
9705 already.
9706 * grub-core/net/net.c (grub_net_network_level_interface_register):
9707 Update num_ifaces.
9708 (grub_net_card_unregister): Close all interfaces.
9709 (receive_packets): Don't poll if no iterfaces are registered.
9710 Open if necessary.
9711 (grub_net_fini_hw): New function.
9712 (grub_net_restore_hw): Likewise.
9713 (fini_hnd): New variable.
9714 (GRUB_MOD_INIT): Register preboot hook.
9715 (GRUB_MOD_FINI): Run and unregister preboot hook.
9716
9717 Poll network cards when idle.
9718
9719 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
9720 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
9721 * grub-core/net/net.c (receive_packets): Save last poll time.
9722 (grub_net_poll_cards_idle_real): New function.
9723 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
9724 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
9725 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
9726
9727 Rename ofnet interfaces.
9728
9729 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
9730 (grub_ofnet_findcards): Use ofnet_%s names.
9731
9732 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
9733
9734 Cleanup socket opening.
9735
9736 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
9737 (grub_net_fs_close): Likewise.
9738 (grub_net_fs_read_real): Use eof member.
9739 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
9740 (+grub_net_udp_close): New inline function.
9741
9742 * include/grub/net/tftp.h: Moved to the top of ...
9743 * grub-core/net/tftp.c: ... here.
9744 * include/grub/net/ip.h: Moved mostly to the top of ...
9745 * grub-core/net/ip.c: ... here.
9746 * include/grub/net/ethernet.h: Moved mostly to the top of ...
9747 * grub-core/net/ethernet.c: ... here.
9748
9749 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
9750
9751 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
9752 FS name.
9753
9754 * include/grub/net/ip.h (ipv4_ini): Removed.
9755 (ipv4_fini): Likewise.
9756
9757 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
9758 (grub_net_send_ip_packets): Likewise.
9759
cf1337aa
VS
97602011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
9763 grub_read_cmos prototype.
9764
93c06ff9
VS
97652011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 VGA text support in qemu-mips
9768
9769 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
9770 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
9771 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
9772 text.
9773 * grub-core/kern/i386/qemu/init.c: Renamed to ...
9774 * grub-core/kern/vga_init.c: ... this.
9775 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
9776 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
9777 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
9778 Adjust.
9779 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
9780 GRUB_MACHINE_PCI_IO_BASE.
9781
748ccabe
VS
97822011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 MIPS qemu flash support.
9785
9786 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
9787 magic.
9788 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
9789 (grub_machine_init): Probe memory if its size isn't known.
9790 * util/grub-mkimage.c (image_targets): Add flash targets.
9791 (generate_image): Handle flash targets.
9792
d7345994
VS
97932011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 MIPS qemu at_keyboard support.
9796
9797 * gentpl.py (videoinkernel): Add qemu-mips.
9798 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
9799 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
9800 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
9801 modules.
9802 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
9803 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
9804 * grub-core/term/serial.c (grub_serial_register)
9805 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
9806
a07a81b3
VS
98072011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 CMOS support on sparc.
9810
9811 * gentpl.py (cmos): Add powerpc and sparc.
9812 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
9813 powerpc and sparc.
9814 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
9815 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
9816 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
9817 grub_set_datetime_cmos.
9818 * grub-core/lib/ieee1275/cmos.c: New file.
9819 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
9820 (find_rtc): Set no_ieee1275_rtc on error.
9821 (grub_get_datetime): Call grub_get_datetime_cmos on error.
9822 (grub_set_datetime): Call grub_set_datetime_cmos on error.
9823 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
9824 fail. Move value to argument. All users updated
9825 (grub_cmos_write): Likewise.
9826 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
9827 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
9828 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
9829 grub_get_datetime_cmos and grub_set_datetime_cmos.
9830
77546584
GS
98312011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
9832
9833 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
9834 sourcing grub-mkconfig_lib.
9835 * util/update-grub_lib.in: Likewise.
9836 * util/grub.d/00_header.in: Likewise.
9837 * util/grub.d/10_hurd.in: Likewise.
9838 * util/grub.d/10_kfreebsd.in: Likewise.
9839 * util/grub.d/10_linux.in: Likewise.
9840 * util/grub.d/10_netbsd.in: Likewise.
9841 * util/grub.d/10_windows.in: Likewise.
9842 * util/grub.d/20_linux_xen.in: Likewise.
9843 * util/grub.d/30_os-prober.in: Likewise.
9844
54894791
CW
98452011-06-28 Colin Watson <cjwatson@ubuntu.com>
9846
9847 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
9848 default_bg_color rather than black.
9849 (grub_gfxterm_fullscreen): Likewise.
9850 (grub_gfxterm_background_color_cmd): Save new background color in
9851 default_bg_color.
9852
8d5d8444
VS
98532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
9856
5afeb5bd
VS
98572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9858
9859 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
9860 mismerge.
9861
ba7df45e
VS
98622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 Chainloading on coreboot support.
9865
9866 * grub-core/Makefile.core.def (chain): Add coreboot.
9867 * grub-core/loader/i386/coreboot/chainloader.c: New file.
9868
d0b526b2
VS
98692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
9872 if it happens.
9873
5ff1d945
VS
98742011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 Implement time command.
9877
9878 * grub-core/Makefile.core.def (time): New module.
9879 * grub-core/commands/time.c: New file.
9880 * grub-core/script/parser.y: Remove "time" keyword.
9881 * grub-core/script/yylex.l: Likewise.
9882
5ebaad7e
VS
98832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
9886
bdea3798
VS
98872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
9890 when handling leftovers.
9891
b28c5655
VS
98922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
9895 so that help2man doesn't fail.
9896
b6f945dc
VS
98972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
9900 type in pointers on sparc64.
9901 (get_card_packet): Likewise.
9902
f9b75e8a
CW
99032011-06-27 Colin Watson <cjwatson@ubuntu.com>
9904
9905 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
9906 with `*'.
9907 (grub_cmd_videoinfo): Fetch current video mode.
9908
1e3d9b86
VS
99092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
9912 because of underlying system restrictions.
9913
efff4b1c
VS
99142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
9917 necessary.
9918
9fc9ce37
VS
99192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 Coreboot video support.
9922
9923 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
9924 (vbe): Likewise.
9925 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
9926 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
9927 here ...
9928 * grub-core/kern/i386/int.S: ... here.
9929 * grub-core/video/i386/pc/vbe.c: Updated includes.
9930 * grub-core/video/i386/pc/vga.c: Likewise.
9931 * include/grub/i386/coreboot/memory.h
9932 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
9933 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
9934 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
9935 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
9936 Disable interrupts.
9937 * include/grub/i386/pc/vga.h: Removed. All users updated.
9938
41bec7fe
VS
99392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
9942 definitions for dprintf.
9943 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
9944
ca80309d
VS
99452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9946
9947 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
9948 prototype.
9949 (get_card_packet): Likewise.
9950
9e322ce8
YB
99512011-06-26 Yves Blusseau <blusseau@zetam.org>
9952
9953 Display the path of the file when file is not found
9954
9955 * grub-core/fs/fat.c: Display the filename when file is not found.
9956 * grub-core/fs/fshelp.c: Likewise.
9957 * grub-core/fs/hfs.c: Likewise.
9958 * grub-core/fs/jfs.c: Likewise.
9959 * grub-core/fs/minix.c: Likewise.
9960 * grub-core/fs/ufs.c: Likewise.
9961 * grub-core/fs/btrfs.c: Likewise.
9962 * grub-core/commands/i386/pc/play.c: Likewise.
9963
cbf597af
SJ
99642011-06-26 Szymon Janc <szymon@janc.net.pl>
9965
9966 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
9967 pointer checks before calling grub_free().
9968 * grub-core/commands/wildcard.c (match_devices): Likewise.
9969 * grub-core/commands/wildcard.c (match_files): Likewise.
9970 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
9971 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
9972 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
9973 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
9974 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
9975 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
9976 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
9977 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9978 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
9979
6295b32f
P
99802011-06-25 Patrick <p55@mailinator.com>
9981
9982 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
9983
77c0840b
VS
99842011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9985
9986 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
9987 (grub_pxe_send): Likewise.
9988 (GRUB_MOD_INIT): Fix types.
9989
40ea05de
SJ
99902011-06-24 Szymon Janc <szymon@janc.net.pl>
9991
9992 * grub-core/io/xzio.c: Fix code style issues
9993
90162423
MRA
99942011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
99952011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
9996
9997 Network infrastructure.
9998 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
9999
10000 * include/grub/net/arp.h: New file.
90162423
MRA
10001 * include/grub/net/device.h: Likewise.
10002 * include/grub/net/ethernet.h: Likewise.
10003 * include/grub/net/ip.h: Likewise.
10004 * include/grub/net/netbuff.h: Likewise.
10005 * include/grub/net/tftp.h: Likewise.
10006 * include/grub/net/udp.h: Likewise.
10007 * include/grub/ieee1275/ofnet.h: Likewise.
10008 * include/grub/emu/export.h: Likewise.
10009 * include/grub/net.h: Likewise.
10010 * grub-core/net/arp.c: Likewise.
10011 * grub-core/net/ethernet.c: Likewise.
10012 * grub-core/net/ip.c: Likewise.
10013 * grub-core/net/udp.c: Likewise.
10014 * grub-core/net/tftp.c: Likewise.
10015 * grub-core/net/netbuff.c: Likewise.
10016 * grub-core/net/net.c: Likewise.
10017 * grub-core/net/drivers/emu/emunet.c: Likewise.
10018 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10019 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10020 export.h.
10021 * grub-core/Makefile.core.def (net): New module.
10022 (tftp): Likewise.
10023 (ofnet): Likewise.
10024 (emunet): Likewise.
10025 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10026 network protocols.
10027 * grub-core/kern/device.c (grub_net_open) : New variable.
10028 (grub_device_open): Handle network device.
10029 (grub_device_close): Likewise.
10030 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10031 (grub_grubnet_fini): Likewise.
10032 (grub_file_seek): Seek in network device.
10033 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10034 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10035 network root.
10036 (grub_machine_fini): Call grub_grubnet_fini.
10037 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10038 network.
10039 (grub_ieee1275_get_aliasdevname): New function.
10040 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10041 Add unofficial Solaris network info.
10042 (grub_multiboot_make_mbi): Likewise.
10043 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10044 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10045 * include/grub/device.h (grub_fs): Removed.
10046 * include/grub/err.h (grub_err_t): Add network-related values.
10047 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10048 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10049 (grub_ieee1275_get_aliasdevname): New proto.
10050 * include/grub/net.h: Rewritten.
423a1849 10051
031f22a0
VS
100522011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10053
10054 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10055 names.
10056
4388ca72
VS
100572011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10060 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10061 it truncates the output.
10062 Reported by: Ximin Luo.
10063
98e2f506
VS
100642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10067
2a5e94d8
VS
100682011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10069
10070 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10071 partmap before abstraction.
10072
535c1910
AK
100732011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10074
10075 * util/grub-mkconfig_lib.in: Add missing quotes.
10076
bc09e1a2
VS
100772011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10080 old method if mountinfo would return /dev/root and /dev/root doesn't
10081 exist.
10082
290766fb
VS
100832011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10084
10085 ZFS zlib support
10086
10087 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10088 (decomp_table): Add zlib entries.
10089 (zio_read): USe 8 bits for compression function rather than 3.
10090 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10091
100922011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 * grub-core/disk/ahci.c: Add missing license statements.
10095 * grub-core/fs/romfs.c: Likewise.
10096 * grub-core/lib/ia64/setjmp.S: Likewise.
10097 * grub-core/loader/i386/pc/freedos.c: Likewise.
10098 * grub-core/loader/ia64/efi/linux.c: Likewise.
10099 * grub-core/video/colors.c: Likewise.
10100 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10101
5ab3f48a
VS
101022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10103
10104 AHCI support.
10105
10106 * grub-core/Makefile.core.def (ata_pthru): Removed.
10107 (ahci): New module.
10108 (pata): Likewise.
10109 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10110 on unload.
10111 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10112 readwrite.
10113 (grub_hdparm_do_check_powermode_cmd): Likewise.
10114 (grub_hdparm_do_smart_cmd): Likewise.
10115 (grub_hdparm_set_val_cmd): Likewise.
10116 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10117 * grub-core/disk/ahci.c: New file.
10118 * grub-core/disk/ata.c: Factor out the low-level part into ...
10119 * grub-core/disk/pata.c: ... here.
10120 * grub-core/disk/ata_pthru.c: Contents moved to ...
10121 * grub-core/disk/pata.c: ... here.
10122 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10123 (grub_scsi_iterate): Use grub_scsi_names.
10124 (grub_scsi_open): Likewise.
10125 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10126 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10127 (grub_ata_regs_t): New struct.
10128 (grub_disk_ata_pass_through_parms): Likewise.
10129 (grub_ata_device): Renamed to ...
10130 (grub_ata): ... this.
10131 (grub_ata_dev): New struct.
10132 Removed all low-level inline functions.
10133 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10134 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10135 iterate hooks and open. All users updated.
10136 * util/grub-install.in: Handle AHCI disk module.
10137
c31dc5f5
SJ
101382011-06-23 Szymon Janc <szymon@janc.net.pl>
10139
10140 Add support for DRI and RSTn markers in JPEG files.
10141
10142 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10143 (JPEG_MARKER_RST0): Likewise.
10144 (JPEG_MARKER_RST1): Likewise.
10145 (JPEG_MARKER_RST2): Likewise.
10146 (JPEG_MARKER_RST3): Likewise.
10147 (JPEG_MARKER_RST4): Likewise.
10148 (JPEG_MARKER_RST5): Likewise.
10149 (JPEG_MARKER_RST6): Likewise.
10150 (JPEG_MARKER_RST7): Likewise.
10151 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10152 (grub_jpeg_decode_dri): New function.
10153 (grub_jpeg_decode_sos): Move image data related part into
10154 grub_jpeg_decode_data function.
10155 (grub_jpeg_decode_data): New function.
10156 (grub_jpeg_reset): New function.
10157 (grub_jpeg_decode_jpeg): Handle new markers.
10158
fe12fd5b
VS
101592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * util/ieee1275/ofpath.c (check_sas): Close fd.
10162 (main): Free of_path.
10163 Reported by: David Volgyes <dvolgyes>.
10164
03147f46
VS
101652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10168 Reported by: David Volgyes <dvolgyes>.
10169
cad3237f
VS
101702011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10173 file after stat.
10174 Reported by: David Volgyes <dvolgyes>.
10175
13548d26
VS
101762011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10177
10178 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10179
10180 Reported by: David Volgyes <dvolgyes>.
10181
e061a1b5
VS
101822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10183
10184 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10185 Prevent memory leak.
10186
1abe47dc
VS
101872011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10190 (main): Close file.
e061a1b5 10191 Reported by: David Volgyes <dvolgyes>.
1abe47dc 10192
fbc62666
VS
101932011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10196 to continue if allocation is failed.
10197
10198 Reported by: David Volgyes <dvolgyes>.
10199
e98c83e9
DV
102002011-06-23 David Volgyes <dvolgyes>
10201
10202 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10203 dereference.
10204
a199a8cd
VS
102052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10206
10207 Fix spurious warning.
10208
10209 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10210 (acorn_partition_map_find): Use .bin member.
10211
e2d1dba0
VS
102122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10215 /dev/root as a valid device.
10216
8a5d6919
JM
102172011-06-23 Jim Meyering <meyering@redhat.com>
10218
e2d1dba0
VS
10219 Avoid NULL deref in grub_device_open.
10220
8a5d6919
JM
10221 * grub-core/kern/device.c (grub_device_open): Don't dereference
10222 a NULL pointer upon failed grub_env_get.
10223
f7db6f4a
VS
102242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 Support non-512B sectors and agglomerate reads.
10227
10228 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10229 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10230 (disk_io_guid): Removed.
10231 (make_devices): Locate solely by BlockIO.
10232 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10233 (grub_efidisk_read): Use read_blocks.
10234 (grub_efidisk_write): Use write_blocks.
10235 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10236 log_sector_size.
10237 (get_safe_sectors): Handle non-512B sectors.
10238 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10239 sectors.
10240 (grub_biosdisk_write): Handle non-512B sectors.
10241 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10242 (grub_scsi_read): Remove special non-512B block handling (now handled
10243 one level up).
10244 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10245 and do sanity checks.
10246 (grub_disk_adjust_range): Handle non-512B sectors.
10247 (transform_sector): New function.
10248 (grub_disk_read_small): Likewise.
10249 (grub_disk_read): Rewritten.
10250 (grub_disk_write): Handle non-512B sectors.
10251 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10252 log_sector_size.
10253 (open_device): Use log_sector_size.
10254 (grub_util_biosdisk_read): Likewise.
10255 (grub_util_biosdisk_write): Likewise.
10256 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10257 non-512B sectors.
10258 (pc_partition_map_embed): Likewise.
10259 * include/grub/disk.h (grub_disk): New field log_sector_size.
10260 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10261 (GRUB_DISK_CACHE_BITS): Increased to 6.
10262 * util/grub-fstest.c (fstest): New command testload.
10263 (argp_parser): Likewise.
10264
881ac815
RM
102652011-06-16 Robert Millan <rmh@gnu.org>
10266
10267 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10268 `ata' driver on kernel of FreeBSD 9.
10269
10270 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10271 (get_ataraid_disk_name): New functions.
10272 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10273 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10274 get_ataraid_disk_name() and get_ada_disk_name().
10275
1e9aef7d
CW
102762011-06-13 Colin Watson <cjwatson@ubuntu.com>
10277
10278 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10279 input format.
10280
351c7c8a
CW
102812011-05-29 Colin Watson <cjwatson@ubuntu.com>
10282
10283 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10284 `ftp.gnu.org' for `alpha.gnu.org'.
10285
6b4e6430
CW
102862011-05-27 Colin Watson <cjwatson@ubuntu.com>
10287
10288 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10289 partitions under /dev/disk/by-id/.
10290
c64db050
CW
102912011-05-27 Colin Watson <cjwatson@ubuntu.com>
10292
10293 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10294 after ten consecutive open failures. Scanning all the way up to
10295 10000 is excessive and can cause serious performance problems in
10296 some configurations.
10297 Fixes Ubuntu bug #787461.
10298
245f4aba
VS
102992011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10300
10301 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10302 opening new one.
10303
f767c929
VS
103042011-05-21 Colin Watson <cjwatson@ubuntu.com>
103052011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 Don't stat devices unless we have to.
10308
10309 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10310 dir == /dev/mapper.
10311 (grub_guess_root_device): Use already known os_dev if possible.
10312 * grub-core/kern/emu/hostdisk.c
10313 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10314 if device is known to be a dm one.
10315
f35fa3a6
CW
103162011-05-20 Colin Watson <cjwatson@ubuntu.com>
10317
10318 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10319 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10320 Reported by: Pawel Tecza.
10321
9a79fcf2
VS
103222011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10323
10324 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10325 (lsefisystab): Likewise.
10326 (lssal): Likewise.
10327 (lsefimmap): Likewise.
10328 (hdparm): Enable on qemu-mips.
10329 (setjmp): Add ia64 nodist.
10330 (serial): Simplify tags.
10331
63e3eea9
CW
103322011-05-18 Colin Watson <cjwatson@ubuntu.com>
10333
10334 * Makefile.util.def (grub-ofpathname): Install manual page.
10335
09728256
CW
103362011-05-18 Colin Watson <cjwatson@ubuntu.com>
10337
10338 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10339
8b63a142
CW
103402011-05-18 Colin Watson <cjwatson@ubuntu.com>
10341
10342 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10343
e775d8ed
VS
103442011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10347 into dprintf.
10348
bf947d36
VS
103492011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 Use full 64-bit division.
10352
10353 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10354 (grub_divmod64): ... this.
10355 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10356 version.
10357
b84f26c5
CW
103582011-05-18 Colin Watson <cjwatson@ubuntu.com>
10359
10360 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10361 `source'.
10362
5626056f
CW
103632011-05-18 Colin Watson <cjwatson@ubuntu.com>
10364
10365 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10366 to avoid accidents when debugging with 'sh -x'.
10367 * grub-core/gensyminfo.sh.in: Likewise.
10368 * tests/example_scripted_test.in: Likewise.
10369 * tests/grub_cmd_regexp.in: Likewise.
10370 * tests/grub_script_blanklines.in: Likewise.
10371 * tests/grub_script_dollar.in: Likewise.
10372 * tests/grub_script_expansion.in: Likewise.
10373 * tests/grub_script_final_semicolon.in: Likewise.
10374 * tests/partmap_test.in: Likewise.
10375 * tests/util/grub-shell-tester.in: Likewise.
10376 * tests/util/grub-shell.in: Likewise.
10377
e2965f4a
CW
103782011-05-18 Colin Watson <cjwatson@ubuntu.com>
10379
10380 Move gfxmenu color handling to video, so that gfxterm can use it
10381 too.
10382
10383 * grub-core/gfxmenu/named_colors.c: Move to ...
10384 * grub-core/video/colors.c: ... here. Rename
10385 grub_gui_get_named_color to grub_video_get_named_color.
10386 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10387 * grub-core/video/colors.c (my_isxdigit): ... here.
10388 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10389 Move to ...
10390 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10391 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10392 to ...
10393 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10394
10395 * include/grub/gui.h (grub_gui_color_t): Move to ...
10396 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10397 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10398 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10399 * include/grub/gui.h (grub_gui_map_color): Move to ...
10400 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10401 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10402 to ...
10403 * include/grub/video.h (grub_video_get_named_color): ... here.
10404 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10405 * include/grub/video.h (grub_video_parse_color): ... here.
10406
10407 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10408 video/colors.c.
10409 (gfxmenu): Remove gfxmenu/named_colors.c.
10410 (video) [videomodules]: Add video/colors.c.
10411
10412 Add a background_color command.
10413
10414 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10415 function.
10416 (GRUB_MOD_INIT): Register background_color command.
10417 (GRUB_MOD_FINI): Unregister background_color command.
10418 (redraw_screen_rect): Allow blend/replace of text layer to be
10419 controlled independently from whether there is a background bitmap.
10420 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10421 changing bitmap.
10422
1e4b4390
VS
104232011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10424
26618ff0
VS
10425 Patch BPB in ntldr and chainloader --bpb.
10426
1e4b4390
VS
10427 * grub-core/fs/fat.c: Include grub/fat.h.
10428 (grub_fat_bpb): Moved to ...
10429 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10430 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10431 grub/ntfs.h.
10432 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10433 Moved from here...
10434 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10435 here.
10436 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10437 New function.
10438 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10439 (GRUB_MOD_INIT): Show --bpb.
10440 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10441 * grub-core/normal/main.c (features): New variable.
10442 (GRUB_MOD_INIT): Set feature_* variables.
10443 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10444 proto.
10445 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10446
cf02731e
VS
104472011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10450 for cleanness.
10451
e3a1073f
VS
104522011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 FreeDOS direct loading support.
10455
10456 * docs/grub.texi (Supported OS): Add FreeDOS.
10457 * grub-core/Makefile.core.def (freedos): New module.
10458 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10459 variable.
10460 (grub_relocator16_boot): Handle %ebx.
10461 * grub-core/lib/i386/relocator16.S: Likewise.
10462 * grub-core/loader/i386/pc/freedos.c: New file.
10463
05caa461
VS
104642011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 Long Linux command line support.
10467
10468 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10469 (maximal_cmdline_size): New variable.
10470 (allocate_pages): Use maximal_cmdline_size.
10471 (grub_cmd_linux): Set and use maximal_cmdline_size.
10472 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10473 (allocate_pages): Use maximal_cmdline_size.
10474 (grub_cmd_linux): Set and use maximal_cmdline_size.
10475 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10476 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10477 and cmdline_size.
10478
a2491e23
VS
104792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
104802011-05-18 Colin Watson <cjwatson@ubuntu.com>
10481
10482 Improve devmapper support
10483
10484 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10485 (grub_util_is_lvm): New function.
10486 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10487 than lvm if not dmraid.
10488 Handle mapped md nodes.
10489 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10490 (grub_util_device_is_mapped): ... this. Make always available. All users
10491 updated.
10492 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10493 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10494 dmraid nodes.
10495 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10496
6ad6223e
VS
104972011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10500
10501 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10502 * grub-core/modinfo.sh.in: New file.
10503 * grub-core/Makefile.core.def (modinfo.sh): New script.
10504 * util/grub-mknetdir.in: Use modinfo.sh.
10505 * util/grub-mkrescue.in: Likewise.
10506
543a8f6e
VS
105072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10508
10509 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10510 Fix potential usage of Elf32 instead of Elf64 when compiling on
10511 32-bit architecture. Add endianness macros while on it.
10512
4959e111
VS
105132011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 Use mipsel- rather than mips- in directories involving mipsel ports to
10516 allow both endiannesses coexist.
10517
10518 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10519 mips. All conditions adjusted.
10520 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10521 variable.
10522 * util/grub-install.in: Adjust conditions to take renaming into account.
10523 * util/grub-mkimage.c (image_targets): Likewise. New target
10524 mips-qemu_mips-elf for bigendian mips.
10525
35341bbc
VS
105262011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 Avoid unnecessary copying on MIPS.
10529
10530 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
10531 early if src == dest.
10532 * util/grub-mkimage.c (generate_image): Arange for src == dest if
10533 compression is none.
10534
b772baed
VS
105352011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10536
10537 Reduce memory footprint on SGI by putting modules before the kernel
10538 as opposed to after.
10539
10540 * grub-core/Makefile.core.def (kernel): Increase linking address.
10541 (none_decompress): Likewise.
10542 (xz_decompress): Likewise.
10543 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
10544 address.
10545 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
10546 layout change.
10547 (grub_arch_modules_addr): New function.
10548 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
10549 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
10550 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
10551 here.
10552 * grub-core/kern/mips/startup.S (total_size): Rename to ...
10553 (grub_total_modules_size): ... this. Make global.
10554 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
10555 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
10556 New definition.
10557 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
10558 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
10559 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
10560 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
10561 * util/grub-mkimage.c (image_target_desc): New flag
10562 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
10563 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
10564 (generate_image): Handle images with modules before kernel.
10565
566a1917
VS
105662011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10567
10568 Prevent potential loss of memory map by overwrite on qemu-mips.
10569
10570 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10571 Save ram size in $s4.
10572 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
10573 All users changed to grub_arch_memsize.
10574 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
10575 Loongson.
10576 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
10577 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
10578 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
10579 external variable.
10580
5d420cd9
CW
105812011-05-17 Colin Watson <cjwatson@ubuntu.com>
10582
10583 * .bzrignore: Remove grub-dumpbios.
10584
d064b830
CW
105852011-05-17 Colin Watson <cjwatson@ubuntu.com>
10586
10587 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
10588 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
10589 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
10590 existing options which append).
10591 * docs/grub.texi (Simple configuration): Document new options.
10592 Reported by: Ian Jackson. Fixes Debian bug #617538.
10593
3ca2b466
CW
105942011-05-17 Colin Watson <cjwatson@ubuntu.com>
10595
10596 * util/grub-fstest.c (cmd_cat): New function.
10597 (fstest): Handle CMD_CAT.
10598 (options): Add cat.
10599 (argp_parser): Handle cat.
10600
24c9143a
CW
106012011-05-17 Colin Watson <cjwatson@ubuntu.com>
10602
10603 * Makefile.util.def (grub-bin2h): Don't install.
10604 * docs/man/grub-bin2h.h2m: Remove.
10605
90f7ac19
VS
106062011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
10609 place.
10610
8d4a5178
VS
106112011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10612
10613 Reenable qemu-mips port.
10614
10615 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
10616 Fix small arc bug while on it.
10617 * gentpl.py: Handle qemu_mips.
10618 * grub-core/Makefile.am: Likewise.
10619 * grub-core/Makefile.core.def: Likewise.
10620 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
10621 inappropriate includes.
10622 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
10623 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
10624 * grub-core/kern/main.c (grub_modules_get_end)
10625 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
10626 * grub-core/kern/mips/qemu-mips: Moved to ..
10627 * grub-core/kern/mips/qemu_mips: ... this.
10628 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
10629 (grub_machine_init): Call terminfo_init and serial_init.
10630 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
10631 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10632 New variable.
10633 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
10634 parameter passing.
10635 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
10636 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
10637 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
10638 * include/grub/mips/qemu_mips/cmos.h: New file.
10639 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
10640 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
10641 Removed.
10642 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
10643 Use correct mips-style address.
10644 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
10645 (GRUB_TICKS_PER_SECOND): Removed.
10646 (grub_get_rtc): Likewise.
10647 (grub_cpu_idle): Likewise.
10648 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
10649 New definition.
10650 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
10651 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
10652 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
10653 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
10654 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10655 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10656 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
10657 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
10658
400b9371
VS
106592011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10660
10661 SGI ARCS port.
10662
10663 * Makefile.util.def (libgrubmods.a): Add dvh.c.
10664 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
10665 platforms.
10666 * configure.ac: New target mips-arc.
10667 * gentpl.py: Likewise.
10668 * grub-core/Makefile.am: Likewise.
10669 * grub-core/Makefile.core.def: Likewise.
10670 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
10671 (none_decompress): Likewise.
10672 (lsdev): New module.
10673 (datetime): Use lib/arc/datetime.c on ARC.
10674 (part_dvh): New module.
10675 * grub-core/commands/arc/lsdev.c: New file.
10676 * grub-core/disk/arc/arcdisk.c: Likewise.
10677 * grub-core/kern/mips/arc/init.c: Likewise.
10678 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
10679 aligned addresses.
10680 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
10681 support.
10682 (grub_arch_dl_relocate_symbols): Likewise.
10683 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
10684 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
10685 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
10686 platforms.
10687 * grub-core/lib/arc/datetime.c: New file.
10688 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
10689 pci.h on non-loongson.
10690 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
10691 (grub_linux_boot): Set unused registers to 0.
10692 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
10693 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
10694 * grub-core/mmap/mips/uppermem.c: ...here.
10695 * grub-core/partmap/dvh.c: New file.
10696 * grub-core/term/arc/console.c: Likewise.
10697 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
10698 (grub_terminfo_set_current): Add terminal "arc".
10699 (grub_terminfo_readkey): Support ARC sequences.
10700 * include/grub/arc/arc.h: New file.
10701 * include/grub/arc/console.h: Likewise.
10702 * include/grub/disk.h (grub_disk_dev_id): Add
10703 GRUB_DISK_DEVICE_ARCDISK_ID.
10704 * include/grub/mips/arc/kernel.h: New file.
10705 * include/grub/mips/arc/memory.h: Likewise.
10706 * include/grub/mips/arc/time.h: Likewise.
10707 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
10708 * include/grub/mips/kernel.h (grub_halt): ... here.
10709 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
10710 here...
10711 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
10712 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
10713 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
10714 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
10715 proto.
10716 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
10717 from here ...
10718 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
10719 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
10720 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
10721 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
10722 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
10723 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
10724 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
10725 (grub_phys_addr_t): Moved from here ...
10726 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
10727 (grub_vtop): Moved from here ...
10728 * include/grub/mips/memory.h (grub_vtop): ... here.
10729 (grub_map_memory): Moved from here ...
10730 * include/grub/mips/memory.h (grub_map_memory): ... here.
10731 (grub_unmap_memory): Moved from here ...
10732 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
10733 (grub_machine_mmap_iterate): Moved from here ...
10734 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
10735 (grub_mmap_get_lower): Moved from here ...
10736 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
10737 (grub_mmap_get_upper): Moved from here ...
10738 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
10739 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10740 here ...
10741 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10742 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
10743 here ...
10744 * include/grub/mips/time.h (grub_get_rtc): ... here.
10745 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10746 here ...
10747 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10748 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
10749 here ...
10750 * include/grub/mips/time.h (grub_cpu_idle): ... here.
10751 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
10752 definition.
10753 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
10754 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
10755 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
10756 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
10757 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10758 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10759 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
10760 (GRUB_MACHINE_LINK_ADDR): Likewise.
10761 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
10762 to 6.
10763 * util/grub-install.in: Run dvhtool on ARC.
10764 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 10765 (generate_image): Handle ECOFF output for mips-arc.
400b9371 10766
c8ecc840
VS
107672011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
10770 blocks.
10771
153a4b55
VS
107722011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
10775 after enabling port.
10776
ff44d107
VS
107772011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 Skip incorrect USB devices.
10780
10781 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
10782 configcnt == 0.
10783 * include/grub/usb.h (grub_usb_err_t): New enum value
10784 GRUB_USB_ERR_BADDEVICE.
10785
638dbe4f
VS
107862011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10787
10788 Fuloong video init support.
10789
10790 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
10791 well.
10792 (grub_vga_read_arx): New function.
10793 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
10794 definition.
10795 (framebuffer): New members io, mmioptr and mmiobase.
10796 (read_sis_cmd): New function.
10797 (write_sis_cmd): Likewise.
10798 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
10799 rather than 640x400.
10800 * grub-core/video/sis315_init.c: New file.
10801
c3fc520c
VS
108022011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
10805 non-loongson.
10806 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
10807 to grub_dl_register_symbol.
10808
67b1e5c9
VS
108092011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10810
10811 Fix compilation errors.
10812
10813 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
10814 potentially unused.
10815 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
10816 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
10817 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
10818 to loongson machines.
10819
b756f75f
VS
108202011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10821
10822 Several FS mtime support.
10823
10824 * grub-core/fs/affs.c (grub_affs_time): New struct.
10825 (grub_affs_file): New field mtime.
10826 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
10827 type. Removed 'size'. New field 'di'. All users updated.
10828 (grub_affs_mount): Simplify checsum checking.
10829 (grub_affs_iterate_dir): New helper grub_affs_create_node.
10830 (grub_affs_dir): Handle mtime.
10831 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
10832 (grub_cpio_dir): Likewise.
10833 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
10834 (grub_hfs_filerec): New field mtime.
10835 (grub_hfs_dir): Handle mtime.
10836 (grub_hfs_mtime): New function.
10837 (grub_hfs_fs): Register grub_hfs_mtime.
10838 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
10839 (grub_iso9660_dir): New field mtime.
10840 (grub_fshelp_node): New field dirent.
10841 (iso9660_to_unixtime): New function.
10842 (iso9660_to_unixtime2): Likewise.
10843 (grub_iso9660_read_symlink): Use node->dirent.
10844 (grub_iso9660_iterate_dir): Likewise.
10845 (grub_iso9660_dir): Set mtime.
10846 (grub_iso9660_mtime): New function.
10847 (grub_iso9660_fs): Register grub_iso9660_mtime.
10848 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
10849 (grub_jfs_inode): New fields atime, ctime and mtime.
10850 (grub_jfs_dir): Set mtime.
10851 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10852 * grub-core/fs/ntfs.c (list_file): Set mtime.
10853 (grub_ntfs_dir): Likewise.
10854 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
10855 (grub_reiserfs_iterate_dir): Set mtime.
10856 (grub_reiserfs_dir): Likewise.
10857 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
10858 (grub_fshelp_node): Likewise.
10859 (grub_sfs_iterate_dir): Set mtime.
10860 (grub_sfs_dir): Likewise.
10861 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
10862 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
10863 (grub_xfs_inode): New fields atime, mtime, ctime.
10864 (grub_xfs_dir): Set mtime.
10865 * include/grub/datetime.h (grub_datetime2unixtime): New function.
10866 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
10867 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
10868
10869 Support UDF symlinks.
10870
10871 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
10872 (grub_ufs_read_symlink): New function. All users updated.
10873
10874 Check amiga partmap checksum.
10875
10876 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
10877 (grub_amiga_partition): Likewise.
10878 (amiga_partition_map_checksum): New function.
10879 (amiga_partition_map_iterate): Check checksum.
10880
5470225d
VS
108812011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 ROMFS support.
10884
10885 * Makefile.util.def (libgrubmods.a): Add romfs.
10886 * grub-core/Makefile.core.def (romfs): New module.
10887 * grub-core/fs/romfs.c: New file.
10888
d4680a35
VS
108892011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10890
10891 Squashfs v4 support.
10892
10893 * Makefile.util.def (libgrubmods.a): Add squash4.
10894 * grub-core/Makefile.core.def (squash4): New module.
10895 * grub-core/fs/squash4.c: New file.
10896 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
10897 disk_input_start, disk_input.
10898 (get_byte): Handle disk_input.
10899 (grub_zlib_disk_read): New function.
10900 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
10901
bcb18e74
FZ
109022011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
109032011-05-15 Feiran Zheng <famcool@gmail.com>
10904
10905 * Makefile.util.def (libgrubmods.a): Add minix3.
10906 * grub-core/Makefile.core.def (minix3): New module.
10907 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
10908 (GRUB_MINIX_BSIZE): Removed.
10909 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
10910 (grub_minix_ino_t): New type.
10911 (grub_minix_le_to_cpu_ino): New macro.
10912 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
10913 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
10914 (grub_minix_data): New field block_size.
10915 (grub_minix_read_file): Handle 64-bit correctly.
10916 * grub-core/fs/minix3.c: New file.
10917
32297d5f
TG
109182011-05-15 Tristan Gingold <gingold@free.fr>
109192011-05-15 Robert Millan <rmh.grub@aybabtu.com>
109202011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 IA64 support.
10923
10924 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
10925 * configure.ac: Add ia64-efi target.
10926 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
10927 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
10928 * gentpl.py: Add ia64_efi platform.
10929 Rename x86_efi to efi and Add ia64-efi. All users updated.
10930 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
10931 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
10932 Remove kern/generic/rtc_get_time_ms.c on EFI.
10933 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
10934 kern/ia64/dl_helper.c on ia64-efi.
10935 Add kern/emu/cache.c on emu.
10936 (linux): Use on loader/ia64/efi/linux.c on ia64.
10937 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
10938 whether symbol is a function.
10939 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
10940 (grub_symbol): New field 'isfunc'.
10941 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
10942 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
10943 (grub_dl_load_segments): Place all sections into the same region.
10944 [__ia64__]: Create trampolines and got.
10945 [GRUB_MACHINE_EMU]: Call mprotect.
10946 (grub_dl_resolve_symbols): Resolve symbol type as well.
10947 [__ia64__]: Create function descriptors.
10948 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
10949 (grub_rtc_get_time_ms): ... this. Expressions simplified.
10950 (grub_get_rtc): New function.
10951 * grub-core/kern/emu/cache.c [__ia64__]: New file.
10952 * grub-core/kern/emu/cache.S: Renamed to ...
10953 * grub-core/kern/emu/cache_s.S: ... this.
10954 [__ia64__]: Add a nop.
10955 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
10956 [__ia64__]: New function.
10957 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
10958 * grub-core/kern/ia64/dl.c: New file.
10959 * grub-core/kern/ia64/dl_helper.c: Likewise.
10960 * grub-core/kern/ia64/efi/init.c: New file.
10961 * grub-core/kern/ia64/efi/startup.S: Likewise.
10962 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
10963 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
10964 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
10965 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
10966 * grub-core/loader/ia64/efi/linux.c: New file.
10967 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
10968 (GRUB_MOD_DEP): Likewise.
10969 (grub_dl) [__ia64__]: New fields got and tramp.
10970 (grub_dl): New field 'base'.
10971 (grub_dl_register_symbol): New argument isfunc. All users updated.
10972 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
10973 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
10974 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
10975 (grub_ia64_dl_get_tramp_got_size): New proto.
10976 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
10977 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
10978 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
10979 * include/grub/efi/api.h: Skip call wrappers on ia64.
10980 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
10981 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
10982 * include/grub/elf.h (ELF_ST_INFO): New definition.
10983 * include/grub/ia64/efi/kernel.h: New file.
10984 * include/grub/ia64/efi/memory.h: Likewise.
10985 * include/grub/ia64/efi/time.h: Likewise.
10986 * include/grub/ia64/kernel.h: Likewise.
10987 * include/grub/ia64/setjmp.h: Likewise (from glibc).
10988 * include/grub/ia64/time.h: New file.
10989 * include/grub/ia64/types.h: Likewise.
10990 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
10991 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
10992 New protos.
10993 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
10994 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10995 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
10996 * util/grub-mkimage.c (image_target_desc): New field pe_target.
10997 All users updated.
10998 (EFI64_HEADER_SIZE): New definition. All users updated.
10999 (image_targets): Add ia64-efi.
11000 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11001 jumpers_addr. All users updated.
11002 Create function descriptors.
11003 (count_funcs): New function.
11004 (unaligned_uint32): New struct.
11005 (MASK20): New definition.
11006 (MASK19): Likewise.
11007 (MASKF21): Likewise.
11008 (add_value_to_slot_20b): New function.
11009 (add_value_to_slot_21_real): Likewise.
11010 (add_value_to_slot_21): Likewise.
11011 (ia64_kernel_trampoline): New struct.
11012 (nopm): New variable.
11013 (jump): Likewise.
11014 (make_trampoline): New function.
11015 (relocate_addresses): Handle ia64.
11016 (make_reloc_section): Likewise.
11017 (load_image): Likewise.
11018
983b414d
VS
110192011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11022 warning. Move variables before code while on it.
11023
5d063cdc
VS
110242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 Fuloong support.
11027
11028 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11029 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11030 * grub-core/boot/mips/loongson/fuloong.S: New file.
11031 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11032 Explicitly init CS5536.
11033 [FULOONG]: Don't use serial until CS5536 is available.
11034 Set GPIO based on dumps.
11035 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11036 [FULOONG]: Handle GPIO and memory controller differences.
11037 Parse machine type in $a2.
11038 * grub-core/boot/mips/startup_raw.S: Determine and save the
11039 architecture.
11040 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11041 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11042 init on architecture type.
11043 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11044 SIS315E. Don't init at_keyboard on fuloong.
11045 (grub_halt): Support Fuloong.
11046 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11047 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11048 (loongson_machtypes): New array.
11049 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11050 type.
11051 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11052 config. All users updated. Handle CS5536 serial.
11053 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11054 default port on machine type. Register serial as inactive.
11055 * grub-core/video/sis315pro.c: New file.
11056 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11057 definition.
11058 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11059 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11060 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11061 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11062 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11063 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11064 to ...
11065 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11066 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11067 definition.
11068 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11069 (grub_arch_machine): New extern var.
11070 * include/grub/mips/loongson/serial.h
11071 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11072 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11073 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11074 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11075 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11076 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11077 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11078 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11079 * include/grub/term.h (grub_term_register_input_inactive): New inline
11080 function.
11081 (grub_term_register_output_inactive): Likewise.
11082 * include/grub/video.h (grub_video_driver_id): New value
11083 GRUB_VIDEO_DRIVER_SIS315PRO.
11084 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11085 New field "names". All users updated.
11086 New field value IMAGE_FULOONG_FLASH.
11087 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11088
6ada82d1
JU
110892011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11090
11091 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11092 and add some clarification.
11093
90c571a4
VS
110942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11095
11096 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11097 platforms if kernel is compressed.
11098
de04eecf
VS
110992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11102 unused modules since currently referrence counter isn't reliable and
11103 there isn't much memory to recover there anyway.
11104
57688121
VS
111052011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11108 rather than resetting it to allow modules to reference themselves
11109 in init.
11110
3d2c7e35
VS
111112011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11114 counter on dependencies since grub_dl_unref already handles this.
11115
b25db218
VS
111162011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11119 on error if not already done.
11120
25a45338
VS
111212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 Fix few potential memory misusage.
11124
11125 * grub-core/font/font.c (load_font_index): Don't free char_index to
11126 avoid double free.
b25db218
VS
11127 (grub_font_load): Zero-fill font at alloc for safety.
11128 Close file on error.
11129 (free_font): Free bmp_idx.
25a45338 11130
0cac83df
VS
111312011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 * docs/grub.texi (Installation): Fix several outdated claims.
11134
2217a143
VS
111352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 Handle module_license on windows.
11138
11139 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11140 sections shifted.
11141 (insert_string): Make argument const char * instead of char *.
11142 (write_section_data): Handle long section names.
11143 Handle module_license.
11144
d4de6b01
VS
111452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11148 handle class-free menuentries.
11149 (grub_normal_add_menu_entry): Add a check to be sure.
11150
4c2a3b43
VS
111512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11152
11153 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11154 PgUp and PgDown.
11155
85c6210f
VS
111562011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 * configure.ac: Bump version to 1.99.
11159
36084912
VS
111602011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 Give ATA device a bit more time on first try in order to allow disks
11163 to spin up.
11164
11165 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11166 if dev->present is 1. Reset dev->present on failure.
11167 (grub_ata_device_initialize): Set dev->present to 1.
11168 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11169 (grub_ata_device): New member 'present'.
11170
bda0e219
VS
111712011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11172
11173 * util/grub-mkimage.c (generate_image): Update hash.
11174
19e1c41b
VS
111752011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11176
11177 Flush caches on DMA memory.
11178
11179 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11180 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11181 (grub_dma_free): Likewise.
11182 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11183
91bbcc0c
VS
111842011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11187 to avoid asm treating ld and sd as macros.
11188
60ddfad3
VS
111892011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11192 decompressor.
11193
a298aa04
VS
111942011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11197 grub_decompress_core since later would fail if grub_decompress_core
11198 is too far.
11199
9b44feca
VS
112002011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11201
11202 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11203 R_MIPS_JALR since it's used by newer compiler.
11204
56dbe7b4
VS
112052011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11208
52856af2
VS
112092011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11210
11211 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11212 file_path to 0 for surety.
11213 (grub_chainloader_boot): Set exit_data to NULL.
11214 Unset the loader once done.
11215 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11216
9c9bfc6d
VS
112172011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11220 unknown key into a dprintf.
11221
dd94a3df
VS
112222011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11225 on first non-existant partition.
11226
fa68d99c
VS
112272011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11228
11229 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11230 openning fails.
11231 Reported by: Mark Korenberg.
11232
157effb7
VS
112332011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11236 overflow.
11237
ea75312f
VS
112382011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11241 before closing to ensure that it will be readable by grub-setup.
11242
072b5d31
VS
112432011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11246 (devpath_1): Use MAKE_PIWG_PATH.
11247 (devpath_2): Likewise.
11248 (devpath_3): Likewise.
11249 (devpath_4): Likewise.
11250 (devpath_5): Likewise.
11251 (devpath_6): Likewise.
11252
11253 The appleldr.mod was checked that to be binary identical to previous
11254 version.
11255
7fae0051
Z
112562011-05-05 Zach <mikezackles>
11257
11258 Support 2010 Macbooks.
11259
11260 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11261 (devs): Add devpath_6.
11262
7c515bee
VS
112632011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11264
11265 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11266 /dev/random. /dev/urandom is good enough for our purposes (salting).
11267
ed660bd8
VS
112682011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11271
ee5614b7
VS
112722011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11273
11274 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11275 hexadecimal.
11276
664889a6
VS
112772011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11280 and not 0 on failure.
11281
bd405bbc
CW
112822011-05-03 Colin Watson <cjwatson@ubuntu.com>
11283
11284 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11285 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11286 disk; otherwise grub_fs_probe will not fall back to the next
11287 filesystem.
11288 (grub_pxefs_open): Likewise, for consistency.
11289 Reported and tested by: Ezekiel Grave.
11290
4ebff753
CW
112912011-05-03 Colin Watson <cjwatson@ubuntu.com>
11292
11293 * tests/partmap_test.in: Don't hardcode path to parted.
11294 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11295
8f942553
CW
112962011-05-01 Colin Watson <cjwatson@ubuntu.com>
11297
11298 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11299 of `ls' to find out which devices are available.
11300
3c62402d
VS
113012011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11304 than source address for efi mmap buffer.
11305
723f63f2
VS
113062011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11307
11308 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11309 wrong action on non-detecting the magic.
11310
68797f92
VS
113112011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11314 already supplied by another part of the module (fixes compilation on
11315 FreeBSD).
11316
6be8715d
VS
113172011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11320 match the one used by mdadm.
11321
e91dba5b
CW
113222011-04-21 Colin Watson <cjwatson@ubuntu.com>
11323
11324 * po/README: Add instructions for creating po/LINGUAS.
11325
c85140b3
CW
113262011-04-21 Colin Watson <cjwatson@ubuntu.com>
11327
11328 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11329 #551428.
11330
11331 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11332 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11333 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11334 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11335 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11336 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11337 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11338 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11339 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11340 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11341 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11342 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11343 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11344 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11345 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11346 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11347 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11348 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11349 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11350 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11351 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11352 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11353
92051871
CW
113542011-04-21 Colin Watson <cjwatson@ubuntu.com>
11355
11356 * grub-core/kern/emu/getroot.c
11357 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11358 test that was incorrectly reintroduced in r3214.
11359 Reported by: Ian Dall. Fixes Savannah bug #33133.
11360
b13f79a4
CW
113612011-04-21 Colin Watson <cjwatson@ubuntu.com>
11362
11363 Fix stack pointer handling in 16-bit relocator.
11364
11365 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11366 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11367 Fixes Ubuntu bug #683904.
11368
9b710a88
VS
113692011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 * configure.ac: Bump version to 1.99~rc2.
11372
d97e7b59
VS
113732011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11376 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11377 * grub-core/lib/x86_64/setjmp.S: Likewise.
11378 * grub-core/lib/mips/setjmp.S: Likewise.
11379 * grub-core/lib/powerpc/setjmp.S: Likewise.
11380 * grub-core/lib/sparc64/setjmp.S: Likewise.
11381
0624551c
VS
113822011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11385 * grub-core/lib/efi/datetime.c: Likewise.
11386
e8f28d4c
VS
113872011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11390 New function.
11391 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11392 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11393 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11394
bba79a15
VS
113952011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11396
11397 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11398 bitmap.
11399 (grub_gfxterm_term_init): Likewise.
11400
abc474ef
VS
114012011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 Take into account the decorations the computing menu entry width.
11404
11405 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11406 (grub_gfxmenu_create_box): Register get_border_width.
11407 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11408 if available.
11409 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11410 get_border_width.
11411
e74b3947
EP
114122011-04-18 Endres Puschner <code@e7p.de>
11413
11414 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11415 Don't skip first class.
11416
34faa595
VS
114172011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11420 chunks.
11421 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11422
93a777e3
VS
114232011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 Complete 64-bit division support.
11426
11427 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11428 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11429 * include/grub/misc.h (grub_divmod64): Rename to ...
11430 (grub_divmod64_full): ... this.
11431 (grub_divmod64): New inline function.
11432
a5102d94
VS
114332011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11436
f3fb7b36
VS
114372011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11440 performing the necessary test.
11441
9ac718b0
VS
114422011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11445 (kfreebsd.elf): Likewise.
11446 (pc-chainloader.elf): Likewise.
11447 (ntldr.elf): Likewise.
11448
50d2cc5a
VS
114492011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 Identify RAID by its UUID rather than (guessed) name.
11452
11453 * grub-core/disk/raid.c (ascii2hex): New function.
11454 (grub_raid_open): Accept mduuid/%s specification.
11455 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11456 (get_mdadm_uuid): ... this.
11457 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11458
e03f7bea
VS
114592011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11460
11461 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11462 to negative size.
11463
e74c3112
CW
114642011-04-13 Colin Watson <cjwatson@ubuntu.com>
11465
11466 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11467 btrfs subvolume.
11468 * util/grub.d/20_linux_xen.in: Likewise.
11469
78fa584f
CW
114702011-04-13 Colin Watson <cjwatson@ubuntu.com>
11471
11472 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11473 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11474
11475 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11476 Build a list of relevant visible mounts using the mnt_id and
11477 parent_mnt_id fields, and then scan that list at the end.
11478
9d5f8162
CW
114792011-04-12 Colin Watson <cjwatson@ubuntu.com>
11480
11481 * docs/grub.texi (normal): New section.
11482 (normal_exit): New section.
11483 (Embedded configuration): Add reference to normal.
11484 (GRUB only offers a rescue shell): Likewise.
11485 * docs/grub-dev.texi (Error Handling): Fix typo.
11486
09a9d66f
CW
114872011-04-12 Colin Watson <cjwatson@ubuntu.com>
11488
11489 * NEWS: Drop obsolete entry about probe-only btrfs support.
11490
0c676933
CW
114912011-04-12 Colin Watson <cjwatson@ubuntu.com>
11492
11493 * util/import_gcry.py: Fix typo.
11494
ec9f5e0d
VS
114952011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11496
11497 * NEWS: Add btrfs support.
11498
fe6b2cba
VS
114992011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
115002011-04-11 Colin Watson <cjwatson@ubuntu.com>
11501
11502 BtrFS support. Written by me (Vladimir) with important bugfixes and
11503 even more important testing by Colin.
11504
11505 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11506 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11507 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11508 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11509 mem_input_off and mem_input. All users updated to accept in-RAM input.
11510 (gzio_seek): New function.
11511 (test_zlib_header): Likewise.
11512 (grub_gzio_read): Likewise.
11513 (grub_zlib_decompress): Likewise.
11514 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11515 Accept partial and non-virtual mounts.
11516 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11517 avoid receiving /dev/dm-X as device.
11518 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11519 Handle bind and partial mounts.
11520 * grub-core/lib/crc.c: New file.
11521 * include/grub/deflate.h: Likewise.
11522 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
11523 proto.
11524 * include/grub/lib/crc.h: New file.
11525
e745cf0c
VS
115262011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11527
11528 Implement automatic module license checking according to new GNU
11529 guidelines.
11530
11531 * grub-core/kern/dl.c (grub_dl_check_license): New function.
11532 (grub_dl_load_core): Use grub_dl_check_license.
11533 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
11534 (GRUB_MOD_LICENSE): Likewise.
11535 (GRUB_MOD_DUAL_LICENSE): Likewise.
11536 All modules updated.
11537
2a9bc016
CW
115382011-04-11 Colin Watson <cjwatson@ubuntu.com>
11539
11540 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
11541 reserved_first_sector to 1. btrfs reserves plenty of space for boot
11542 loaders.
11543 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
11544
8a3bc88e
VS
115452011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
11548
af869a4a
VS
115492011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11550
11551 * util/grub-fstest.c (read_file): Report GRUB error if file opening
11552 failed.
11553
9ee8d94f
VS
115542011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11555
11556 * grub-core/kern/file.c (grub_file_open): Don't take into account the
11557 parenthesis in the middle of the filename.
11558
b01abe3e
VS
115592011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11560
11561 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
11562 rather than trying to put initrd way too high.
11563 Reported by: Ryan Lortie <desrt@desrt.ca>
11564
335bda1e
VS
115652011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
11568 improperly removed string.
11569
5ca1a64d
VS
115702011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11571
11572 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
11573 is_disk.
11574 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
11575 (open_device) Likewise.
11576 (grub_util_biosdisk_close): Likewise.
d8ce9995 11577 Reported by: Mark Korenberg.
5ca1a64d 11578
cbac5b1e
AK
115792011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
11580
11581 * util/grub-mkconfig_lib.in: Add missing quotes.
11582
088cdb65
CW
115832011-04-10 Colin Watson <cjwatson@ubuntu.com>
11584
11585 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
11586 is NULL.
11587
8b8a81fa
VS
115882011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11589
11590 Dynamically count the number of lines for the lower banner.
11591
11592 * grub-core/normal/menu_entry.c (per_term_screen): New member
11593 num_entries.
11594 (print_down): Use num_entries.
11595 (update_screen): Likewise.
11596 (grub_menu_entry_run): Set num_entries.
11597 * grub-core/normal/menu_text.c (menu_viewer_data): New member
11598 num_entries.
11599 (grub_print_message_indented): Move real part to ...
11600 (grub_print_message_indented_real): ... here. Additional argument
11601 dry_run.
11602 (draw_border): Additional argument num_entries.
11603 (print_message): Additional argument dry_run.
11604 (print_entries): Receive menu viewer data.
11605 (grub_menu_init_page): New argment num_entries.
11606 (menu_text_set_chosen_entry): Use num_entries.
11607 (grub_menu_try_text): Likewise.
11608 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
11609 All users updated.
11610 (grub_ucs4_count_lines): New function.
11611 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
11612 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
11613 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
11614 (grub_term_border_height): Likewise.
11615 (grub_term_num_entries): Likewise.
11616
277f955b
VS
116172011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
11620 Remove now unused string.
11621
536ce85a
CW
116222011-04-09 Colin Watson <cjwatson@ubuntu.com>
11623
11624 * docs/grub-dev.texi (Finding your way around): Update for 1.99
11625 build system.
11626 (Getting started): GRUB is developed in Bazaar now, not Subversion.
11627
11628 (Comment): Fix typo.
11629 (Getting started): General copy-editing.
11630 (Typical Development Experience): Likewise.
11631 (Error Handling): Likewise.
11632 (Video API): Likewise.
11633
2cf09e32
CW
116342011-04-09 Colin Watson <cjwatson@ubuntu.com>
11635
11636 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
11637 throughout.
11638
1ec652f4
VS
116392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 * util/grub-mkimage.c (main): Handle special naming of yeeloong
11642 directory.
11643
2c583728
CW
116442011-04-08 Colin Watson <cjwatson@ubuntu.com>
11645
11646 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
11647 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
11648 "development".
11649
d7a565e9
VS
116502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11651
11652 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
11653 grub_strcpy since the lines aren't necessarily 0-terminated.
11654
7c2e4909
VS
116552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
11658 root on legacy.
11659
34c09785
VS
116602011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11661
11662 * grub-core/commands/probe.c (options): Argument to set isn't optional.
11663 (GRUB_MOD_INIT): DEVICE isn't optional.
11664
6a6f8058
VS
116652011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
11668 word on new line if it's too long anyway. Fixes a hang.
11669
2e335e90
VS
116702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
11673 const.
11674 * util/grub-setup.c (main): Reuse md device name if available.
11675 * util/raid.c (grub_util_raid_getmembers): Receive device name and
11676 not GRUB name as argument.
11677 Based on patch by: Florian Wagner <fwagner>.
11678
10a7a867
VS
116792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11680
11681 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11682 Place mbi on low memory for better compatibility.
11683
7a3d6cd9
VS
116842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
11687
18dd6b47
VS
116882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
116892011-04-08 Colin Watson <cjwatson@ubuntu.com>
11690
11691 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 11692 * conf/Makefile.common: Likewise.
18dd6b47 11693
3c0e3f14
VS
116942011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11695
f7148863
VS
11696 * grub-core/normal/menu.c: Add missing include.
11697
116982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 11701
6d1fa41f
MZ
117022011-04-08 Martin Zuther <mzuther@mzuther.de>
11703
11704 * util/grub-mkconfig.in: Ignore emacsen backup.
11705
478182a8
VS
117062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11707
11708 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
11709 on open.
11710 (grub_util_biosdisk_close): Likewise.
11711
72a89a54
VS
117122011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
11715 const attribute and use grub_isdigit.
11716
b5ebecfa
A
117172011-04-06 Andrey <dev_null@ukr.net>
11718
11719 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
11720 gcc warning.
11721
7755f66e
VS
117222011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11723
11724 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
11725 useful grub_dprintf's.
11726
461121ff
VS
117272011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11728
11729 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
11730
2a961775
VS
117312011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
11734
adf594cc
VS
117352011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 Output errors if theme loading failed.
11738
11739 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
11740 grub_gfxterm_fullscreen on error paths to ...
11741 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
11742 theme loading error.
11743
665900a3
VS
117442011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
11747 space for older compilers.
11748 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11749
a562b479
VS
117502011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11751
11752 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
11753 and report them as not RAID members since they are useless for GRUB.
11754 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11755
850e9373
VS
117562011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 Increase LVM implementation robustness in order not to crash on
11759 configurations like pvmove. Previously code assumed that in some places
11760 only lvs or only pvs are used whereas it seems that they are used
11761 interchangeably.
11762
11763 * grub-core/disk/lvm.c (read_node): New function.
11764 (read_lv): Use read_node.
11765 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
11766 Match volumes only at the end when all lvs are found. Take both
11767 pvs (first) and lvs (second) into account.
11768 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
11769 mirror_* into node_*. All users updated.
11770 (grub_lvm_stripe): Merge this ...
11771 (grub_lvm_mirror): ... and this ...
11772 (grub_lvm_node): ... into this. All users updated.
11773
6f332153
VS
117742011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11775
11776 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
11777 of function to allow further scanning for LVMs.
11778
829ea451
VS
117792011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11780
11781 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
11782 on failed seek as it breaks open fd reusage.
11783
09ceb9a5
VS
117842011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11785
11786 * util/grub-install.in: Add a recommendation to use --recheck before
11787 reporting bugs.
11788
67e11623
VS
117892011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
11792 are obtained.
11793
caee5efd
VS
117942011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 GRUB developper manual based on existing Internals section and
11797 contributions by the various authors with active copyright assignment.
11798
11799 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
11800 * docs/font_char_metrics.png: New file.
11801 * docs/font_char_metrics.txt: Likewise.
11802 * docs/grub-dev.texi: Likewise.
11803 * docs/grub.texi (Internals): Move from here ...
11804 * docs/grub-dev.texi: ... here.
11805
2cccc747
CW
118062011-04-01 Colin Watson <cjwatson@ubuntu.com>
11807
11808 Store the loopback device as data on loopback grub_disk structures,
11809 rather than the file it points to. This fixes use of freed memory
11810 if an existing loopback device is replaced.
11811
11812 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
11813 disk->data, not dev->file.
11814 (grub_loopback_read): Adjust file assignment to match.
11815 Fixes Ubuntu bug #742967.
11816
186ae367
CW
118172011-04-01 Colin Watson <cjwatson@ubuntu.com>
11818
11819 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
11820 when replacing an existing device.
11821
cfed2ad0
VS
118222011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
11825 memory corruptions.
11826
11827 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
11828 unsigned.
11829 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
11830 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
11831 (grub_jfs_read_inode): Likewise.
11832 (grub_jfs_opendir): Likewise. Remove now useless casts.
11833 (grub_jfs_getent): Likewise.
11834 Make ino a grub_uint32_t rather than int.
11835 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
11836 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
11837 division and module with bit operations.
11838 (grub_jfs_find_file): Make ino a grub_uint32_t.
11839 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
11840
05d2ed32
CW
118412011-04-01 Colin Watson <cjwatson@ubuntu.com>
11842
11843 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
11844 warning. (This was in fact always initialised before use, but GCC
11845 wasn't smart enough to prove that.)
11846 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11847
91dc6073
VS
118482011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
11851 stack alignment.
11852 (efi_wrap_1): Likewise.
11853 (efi_wrap_2): Likewise.
11854 (efi_wrap_3): Likewise.
11855 (efi_wrap_4): Likewise.
11856 (efi_wrap_5): Likewise.
11857 (efi_wrap_6): Likewise.
11858 (efi_wrap_10): Likewise.
11859 Based on information by: Red Hat/Peter Jones.
11860
a8afc1d1
CW
118612011-03-31 Colin Watson <cjwatson@ubuntu.com>
11862
11863 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
11864 set-but-not-used variable.
11865
a826cc7d
CW
118662011-03-31 Colin Watson <cjwatson@ubuntu.com>
11867
11868 * docs/grub.texi (Simple configuration): Be more explicit about
11869 GRUB_DEFAULT, and add an example.
11870 Reported by: Leslie Rhorer.
11871
875b67ba
CW
118722011-03-30 Colin Watson <cjwatson@ubuntu.com>
11873
11874 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
11875 shell".
11876
fd7cd914
AS
118772011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11878
11879 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
11880 * util/grub.d/20_linux_xen.in: Likewise.
11881
090b1b6a
VS
118822011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11883
11884 * util/grub.d/10_linux.in: Try alternative config filenames where
11885 we parse config file.
11886 * util/grub.d/20_linux_xen.in: Likewise.
11887
baad885c
AS
118882011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11889
11890 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
11891 * util/grub.d/20_linux_xen.in: Likewise.
11892
241e41f5
VS
118932011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11894
11895 * grub-core/disk/raid.c (insert_array): Add few potentially
11896 useful grub_util_info.
11897 (grub_raid_register): Likewise.
11898
56445fb2
VS
118992011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11900
11901 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
11902 Preserve partition number in mdadm code path.
11903
c871b1c6
VS
119042011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
11907 few potentially useful grub_util_info.
11908
5e631b4f
CW
119092011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
11912
2d5d0333
CW
119132011-03-30 Colin Watson <cjwatson@ubuntu.com>
11914
11915 * docs/grub.texi (default): Use @example rather than nested
11916 itemized lists to avoid breaking gendocs.
11917
3d7ed04e
CW
119182011-03-30 Colin Watson <cjwatson@ubuntu.com>
11919
11920 * docs/grub.texi (Future): Update.
11921
abf04200 119222011-03-30 Colin Watson <cjwatson@ubuntu.com>
11923
11924 * docs/grub.texi (Environment): New chapter.
11925 (Changes from GRUB Legacy): Link to "Environment block" section for
11926 details of limitations.
11927 (Simple configuration): Likewise. Link to documentation of gfxmode
11928 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
11929 respectively.
11930 (Shell-like scripting): Note that normal variables are stored in the
11931 environment.
11932 (gettext): Link to documentation of lang and locale_dir.
11933 (list_env): New section.
11934 (load_env): New section.
11935 (save_env): New section.
11936
11937 (Reporting bugs): Fix typo.
11938
e1ad0edd
VS
119392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11940
11941 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
11942 the example.
11943
5d803174
VS
119442011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 * grub-core/term/at_keyboard.c (set_scancodes)
11947 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
11948
2a2da1d0
CW
119492011-03-30 Colin Watson <cjwatson@ubuntu.com>
11950
11951 * docs/grub.texi (Menu-specific commands): Remove some semantics
11952 that were true in GRUB Legacy but not in GRUB 2.
11953 (submenu): New section.
11954 (false): New section.
11955 (read): New section.
11956 (true): New section.
11957
a7527639
CW
119582011-03-30 Colin Watson <cjwatson@ubuntu.com>
11959
11960 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
11961
119622011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
11963
11964 * docs/grub.texi (Simple configuration): Explain some of the
11965 current limitations of grub-mkconfig.
8a748df2 11966 Reported by: Leslie Rhorer.
e30af029 11967
fc858482
VS
119682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11969
11970 Old macs search for boot.efi rather than for bootia32.efi.
11971
11972 * util/grub-install.in: Copy bootia32.efi to boot.efi.
11973 * util/grub-mkrescue.in: Likewise.
11974 Suggested by: Peter Jones.
11975
e1eb511d
VS
119762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
11979
70e75364
VS
119802011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
11983 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
11984 (grub_lvm_mirror): New struct.
11985 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
11986 (grub_lvm_iterate): Iterate only visible volumes.
11987 (grub_lvm_read): Factor out to ..
11988 (read_lv): ... this. Support mirrors.
11989 (grub_lvm_read): New wrapper function.
11990 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
11991 stripped or mirrored.
11992
fc18f6a3
VS
119932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11994
11995 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
11996
5c650f4c
CW
119972011-03-29 Colin Watson <cjwatson@ubuntu.com>
11998
11999 * docs/grub.texi (loopback): New section.
12000
61d7156b
CW
120012011-03-29 Colin Watson <cjwatson@ubuntu.com>
12002
12003 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12004 removed -p option.
12005
994b8264
CW
120062011-03-29 Colin Watson <cjwatson@ubuntu.com>
12007
12008 * docs/grub.texi (BIOS installation): New section, partly based on
12009 previous text in other sections.
12010 (Installing GRUB using grub-install): Replace BIOS discussion with a
12011 cross-reference.
12012 (Images): Likewise.
12013
9e4d19e0
VS
120142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12017 [HAVE_DIOCGDINFO]: Add safety checks.
12018
a307c0b2
VS
120192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12022 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12023
b4db4f39
CW
120242011-03-29 Colin Watson <cjwatson@ubuntu.com>
12025
12026 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12027 real_sb->size is zero (e.g. RAID-0), get the disk size from
12028 real_sb->data_size instead.
12029 Fixes Ubuntu bug #743136.
12030
35e5f84c
VS
120312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12032
12033 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12034 printf clauses for printing size and start.
12035
d2e29d81
VS
120362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12039 Reported and tested by: Timothy Nikkel.
12040
ed5587af
VS
120412011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12044 (dirty_region_add_real): ... this.
12045 (dirty_region_add): Don't discard margin refresh when performing
12046 scheduled repaint.
12047
a1dc717c
VS
120482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12049
12050 * grub-core/lib/relocator.c (allocate_regstart)
12051 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12052 terminals are capabple of malloc-free operation.
12053 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12054 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12055
9f3677d3
VS
120562011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12057
12058 * util/grub-setup.c: Copy the partition table zone if floppy support
12059 is disabled, even if no partition table is found.
12060
12061 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12062 during POST if an invalid partition table is contained in the PBR
12063 of the active partition when GRUB is installed to a partition.
12064
24148725
CW
120652011-03-28 Colin Watson <cjwatson@debian.org>
12066
12067 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12068 comment.
12069
f329eda7
CW
120702011-03-28 Colin Watson <cjwatson@debian.org>
12071
12072 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12073 to be specific about what kind of RAID device we're scanning for.
12074
c482ad98
SG
120752011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12076
12077 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12078 return freed string.
12079
5ee04984
VS
120802011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12083
f4727da9
VS
120842011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 Use libgeom on FreeBSD to detect partitions.
12087
12088 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12089 (grub-mkrelpath): Likewise.
12090 (grub-script-check): Likewise.
12091 (grub-editenv): Likewise.
12092 (grub-mkpasswd-pbkdf2): Likewise.
12093 (grub-fstest): Likewise.
12094 (grub-mkfont): Likewise.
12095 (grub-mkdevicemap): Likewise.
12096 (grub-probe): Likewise.
12097 (grub-setup): Likewise.
12098 (grub-ofpathname): Likewise.
12099 (grub-mklayout): Likewise.
12100 (example_unit_test): Likewise.
12101 (grub-menulst2cfg): Likewise.
12102 * grub-core/Makefile.core.def (grub-emu): Likewise.
12103 (grub-emu-lite): Likewise.
12104 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12105 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12106 define HAVE_DIOCGDINFO.
12107 (follow_geom_up) [FreeBSD]: New function.
12108 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12109 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12110 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12111 unconditionally of HAVE_DIOCGDINFO.
12112
82fe6c75
VS
121132011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 Fix FreeBSD compilation problem.
12116
12117 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12118 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12119
4c6c9431
CW
121202011-03-24 Colin Watson <cjwatson@ubuntu.com>
12121
12122 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12123 Switch back to page zero before loading a kernel, since some kernel
12124 drivers expect that.
12125 Thanks to: Felix Kuehling.
12126
c7064d94
VS
121272011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12130 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12131 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12132
3f71cded
VS
121332011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12134
12135 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12136 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12137
ef6de21a
VS
121382011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12139
12140 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12141 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12142 malloc is disabled.
12143
8bc66a2c
VS
121442011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12147 for modules headers when counting the needed allocation size.
12148
5657722c
VS
121492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12150
12151 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12152 if no ASCII character is found to prevent crash.
12153
41a85f55
AK
121542011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12155
12156 * grub-core/video/bitmap.c (match_extension): Ignore case.
12157
59e1e5f1
VS
121582011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12159
12160 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12161
bd4d051a
VS
121622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 * grub-core/script/parser.y: Declare "time" as valid argument.
12165
bae7fcc1
PJ
121662011-03-23 Peter Jones <pjones@redhat.com>
12167
12168 Fix incorrect assert failure reporting.
12169
12170 * grub-core/tests/example_functional_test.c (example_test): Add
12171 a failure comment.
12172 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12173 (failure_start): ...this. Check that malloc succeeded.
12174 Don't call xvasprintf. Return failure struct.
12175 (failure_append_vtext): New function.
12176 (failure_append_text): Likewise.
12177 (add_failure): Likewise.
12178 (grub_test_assert_helper): Likewise.
12179 * include/grub/test.h (grub_test_assert_helper): New declaration.
12180 (grub_test_assert): Macro rewritten.
12181
537dc9be
VS
121822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12183
12184 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12185
fa3e01bf
VS
121862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12189
b1d28404
VS
121902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12191
12192 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12193 into GRUB-style one.
12194
2e3e2e09
VS
121952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12196
12197 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12198 error and not grub_errno.
12199 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12200
ed57e557
VS
122012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12204 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12205
d1611f01
VS
122062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 * grub-core/efiemu/i386/pc/cfgtables.c
12209 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12210 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12211 (grub_xnu_unlock): Likewise.
12212 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12213
7d4e39d6
VS
122142011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12217 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12218 * grub-core/commands/hashsum.c (aliases): Likewise.
12219 * grub-core/commands/setpci.c (pci_registers): Likewise.
12220 * grub-core/disk/usbms.c (attach_hook): Likewise.
12221 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12222 (zio_checksum_table): Likewise.
12223 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12224 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12225 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12226 * grub-core/lib/relocator.c (leftovers): Likewise.
12227 (extra_blocks): Likewise.
12228 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12229 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12230 (modules_last): Likewise.
12231 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12232 (devices): Likewise.
12233 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12234 (modules_last): Likewise.
12235 * grub-core/normal/auth.c (users): Likewise.
12236 * grub-core/normal/context.c (initial_menu): Likewise.
12237 (current_menu): Likewise.
12238 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12239 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12240 (grub_serial_terminfo_input_template): Likewise.
12241 (grub_serial_terminfo_output_template): Likewise.
12242 (grub_serial_terminfo_input): Likewise.
12243 (grub_serial_terminfo_output): Likewise.
12244 (registered): Likewise.
12245 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12246
40fc4659
VS
122472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12250 grub_video_mode_type_t.
12251 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12252 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12253 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12254
2da48d28
VS
122552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12256
12257 * util/grub-install.in: Correct the x86-64 name as x86_64.
12258
9b43bf39
CW
122592011-03-11 Colin Watson <cjwatson@ubuntu.com>
12260
12261 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12262 initial chunk read from the kernel always includes GRUB's multiboot
12263 header, which is now outside the first sector.
12264
be1a7ce0
CW
122652011-03-09 Colin Watson <cjwatson@ubuntu.com>
12266
12267 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12268 cached mmap_size, so that this works correctly when called multiple
12269 times.
12270 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12271
83a3c48d
CW
122722011-03-09 Colin Watson <cjwatson@ubuntu.com>
12273
12274 * docs/grub.texi (Simple configuration): Tidy up formatting.
12275
57d75699
SJ
122762011-03-07 Szymon Janc <szymon@janc.net.pl>
12277
12278 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12279 Set-but-not-used variable removed.
12280
028501a0
VS
122812011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 Workaround yet another IEEE1275 bug.
12284
12285 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12286 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12287 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12288 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12289 is set.
12290 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12291 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12292
d998657d
VS
122932011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12296 error.
12297
fee7cdd4
CW
122982011-02-11 Colin Watson <cjwatson@ubuntu.com>
12299
12300 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12301 empty, since in that case we can only generate either nothing or a
12302 syntactically invalid configuration file.
12303 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12304
97286eb5
CW
123052011-02-09 Colin Watson <cjwatson@ubuntu.com>
12306
12307 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12308 (Making a GRUB bootable CD-ROM): Likewise.
12309 (Invoking grub-mkrescue): New section.
12310 Reported by: Yann Dirson. Fixes Debian bug #612585.
12311
22b28eb3
CW
123122011-02-09 Colin Watson <cjwatson@ubuntu.com>
12313
12314 * util/grub-install.in: Remove unnecessary brackets from tr
12315 arguments.
12316 * util/grub.d/10_hurd.in: Likewise.
12317 * util/grub.d/10_kfreebsd.in: Likewise.
12318 * util/grub.d/10_linux.in: Likewise.
12319 * util/grub.d/20_linux_xen.in: Likewise.
12320 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12321
7e735e43
CW
123222011-02-08 Colin Watson <cjwatson@ubuntu.com>
12323
12324 * include/grub/file.h (not_easly_seekable): Rename to ...
12325 (not_easily_seekable): ... this. Update all users.
12326
800f1881
CW
123272011-01-28 Colin Watson <cjwatson@ubuntu.com>
12328
12329 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12330 grub-mkrescue.
12331
3281d3d6
VS
123322011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12333
12334 * util/grub-mkimage.c (generate_image): Refuse to create the images
12335 bigger than the actual flash (512K) in Loongson machines. 512K is also
12336 the biggest chip supported by them.
12337
3533413c
VS
123382011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12339
12340 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12341
73ae4f4f
VS
123422011-01-22 Anthony DeRobertis <anthony@derobert.net>
12343
12344 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12345 super_offset field.
12346
37f4f608
VS
123472011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 * util/grub-install.in: Ignore install device on platforms
12350 where it doesn't make sense. Always use UUIDs except on pc, efi and
12351 sparc64.
12352 Reported by: Daniel Kahn Gillmor.
12353
03a4ccb5
VS
123542011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12357
ffc8f4d8
VS
123582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12361 (iterate_real): Don't rely on partition being non-NULL.
12362
80f23be7
VS
123632011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12364
12365 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12366 supported platforms. Put a compile time assert for this rather than
12367 generate a warning with 32-bit shift.
12368
5d4f4dd5
VS
123692011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12372 logical expression more readable.
12373
e489601a
VS
123742011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12377 even if some elements have a name.
12378 Reported by: Alexander GQ Gerasiov.
12379
96e0a6ea
CW
123802011-01-22 Colin Watson <cjwatson@ubuntu.com>
12381
12382 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12383 path unreadable if `grub-probe -t abstraction' fails, for example if
12384 memberlist fails on an LVM volume group.
12385 Reported by: Darius Jahandarie.
12386
81431e2b
CW
123872011-01-22 Colin Watson <cjwatson@ubuntu.com>
12388
12389 * docs/grub.texi (Simple configuration): Document
12390 GRUB_PRELOAD_MODULES.
12391
5e79d66a
CW
123922011-01-17 Colin Watson <cjwatson@ubuntu.com>
12393
12394 * .bzrignore: Remove nonexistent grub-pbkdf2.
12395
646ada34
VS
123962011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 * configure.ac: Bump version to 1.99~rc1.
12399
04360337
VS
124002011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12403 for safety.
12404
46c9db88
VS
124052011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12408 module.
12409
124102011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
12411
12412 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12413
4fbf1852
VS
124142011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12417 diskdevid.
12418
f1632d4d
VS
124192011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 Fix compilation on cygwin.
12422
12423 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12424 -R .drectve on cygwin.
12425 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12426 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12427 (COND_CYGWIN): New condition.
12428 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12429 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12430 not @TARGET_OBJ2ELF@.
12431 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12432 type to determine whether aux is to be used.
12433
0b5e127b
VS
124342011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12437 realpath'ed device string.
12438 Handle floppy (somewhat).
12439 Issue error in unknown case rather than garbage.
12440 Reported by: Axel Beckert.
12441
173b71e9
VS
124422011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 * util/grub.d/00_header.in (load_video): Handle the case when no video
12445 drivers available.
12446 Thanks to: Axel Beckert.
12447
f8f479db
VS
124482011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12449
12450 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12451 variable. Fixes problem on big endian platforms.
12452
8fc0a245
VS
124532011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12454
12455 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12456 It doesn't work well there.
12457
b8494fbe
VS
124582011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12461 warning.
12462 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12463 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12464 counter.
12465
b44a558c
VS
124662011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 Use alias->path rather than buggy "canon".
12469
12470 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12471 (ofdisk_hash_add): New argument curcan. All users updated.
12472
51fa856c
CW
124732011-01-11 Colin Watson <cjwatson@ubuntu.com>
12474
12475 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12476
9da068a5
VS
124772011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12480 loadmask before doing any calculations. Use correct type for offset.
12481 (grub_linux_load64): Likewise.
12482
86205c94
CW
124832011-01-11 Colin Watson <cjwatson@ubuntu.com>
12484
12485 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12486 with NULL.
12487 (console_grub_equivalences_unshift): Likewise.
12488 Reported by: Daniel Dehennin.
12489
4531a206
VS
124902011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12491
12492 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12493 (set_env_limn_ro): Likewise.
12494 (GRUB_MOD_INIT): Likewise.
12495 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12496 ARRAY_SIZE while on it.
12497 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12498 * grub-core/normal/context.c (grub_env_export): Move from here ...
12499 * grub-core/kern/env.c (grub_env_export): ... here.
12500 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12501 prefix.
12502 * grub-core/kern/main.c (grub_main): Export root and prefix.
12503 * include/grub/env.h (grub_env_export): Export.
12504 Reported by: Seth Goldberg.
12505
45146057
VS
125062011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12507
12508 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12509 Take into account space used by ELF sections and multiboot palette.
12510 Reported by: Grégoire Sutre.
12511
f093110b
VS
125122011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12513
12514 * BUGS: New file.
12515
3395fe52
VS
125162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12517
12518 Pass more appropriate video id to Linux.
12519
12520 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12521 grub_video_get_driver_id and variable gfxpayloadforcelfb to
12522 fill have_vga.
12523 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
12524 shift params->lfb_size.
12525 * include/grub/i386/linux.h: Make an enume out of have_vga values.
12526
c2fa6cbb
VS
125272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * util/grub-menulst2cfg.c: Add missing include of misc.h.
12530
b3ff6ff0
VS
125312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
12534 separator and pass bootpath/devid even if only one of them is available.
12535 Reported by: Seth Goldberg.
12536
ae67942e
VS
125372011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12538
12539 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
12540 implementations bug on them.
12541
12542 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
12543 memory.
12544 (filter_memory_map): Likewise.
12545
d570097a
VS
125462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
12549 Reported by: nebuchadnezzar.
12550
a508e776
VS
125512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
12554 Reported by: nebuchadnezzar.
12555
dcb883b1
VS
125562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 Submenu default support.
12559
12560 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
12561 auto_boot. All users updated.
12562 Declared static.
12563 Handle chosen and default with submenus.
12564 (grub_menu_execute_with_fallback): Declared static.
12565 Don't notify failure if autobooted. Upper level does it.
12566 (menuentry_eq): New function.
12567 (get_entry_number): Use menuentry_eq.
12568 (show_menu): New parameter "autobooted". All users updated.
12569 (grub_show_menu): Likewise.
12570 * include/grub/normal.h (grub_show_menu): Likewise.
12571 * include/grub/menu.h (grub_menu_execute_entry): Removed.
12572 (grub_menu_execute_with_fallback): Likewise.
12573
6fef99b4
VS
125742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12575
12576 * util/grub-mklayout.c (usage): Update help text.
12577
47a77af5
VS
125782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12579
12580 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
12581
ce6bb3ee
VS
125822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 * util/grub-menulst2cfg.c (main): Trim the line.
12585
db87be2a
VS
125862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
12589 (grub_machine_init): Don't check amount of low memory as reportedly
12590 INT 12h can be broken and if low memory is too low we wouldn't have
12591 gotten into grub_machine_init anyway.
12592
c49849cc
VS
125932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
12596 (grub_machine_mmap_iterate): Take low memory into account
12597
b1969b30
VS
125982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
12601 badfs.
12602 Reported by: TiCPU.
12603
cf0eaf13
VS
126042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12605
12606 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
12607 members errors.
12608
1f060f39
GS
126092011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12610
12611 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
12612 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
12613
a21e5672
GS
126142011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12615
12616 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
12617 openbsd and netbsd types being in part_bsd module.
12618
c88172fa
VS
126192011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
12622 (_FILE_OFFSET_BITS): Likewise.
12623 Reported by: Seth Goldberg.
12624
53798c4b
GS
126252011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12626
12627 * configure.ac: Check for libdevmapper header.
12628
e7121b69
VS
126292011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12630
12631 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
12632 avoid aliasing.
12633 (fzap_lookup): Likewise.
12634 (dnode_get): Likewise.
12635 (make_mdn): Likewise.
12636 (zfs_mount): Likewise.
12637 (fzap_iterate): Use temporary pointer to avoid aliasing.
12638 (grub_zfs_read): Likewise.
12639 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
12640 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
12641 pointers to avoid aliasing.
12642 (grub_cmd_xnu_kernel64): Likewise.
12643 (grub_xnu_load_driver): Likewise.
12644
fc836af9
VS
126452011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
12648 aliasing warning.
12649 (grub_cmd_terminal_output): Likewise.
12650 Reported and tested by: Grégoire Sutre.
12651
f9f37648
VS
126522011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12653
12654 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
12655 warning.
12656 Reported and tested by: Grégoire Sutre.
12657
ec1dfd63
VS
126582011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 * configure.ac: Do CPU substitution even if it's specified explicitly.
12661 Reported and tested by: Alain Greppin.
12662
9462775a
VS
126632011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
12666 Reported and tested by: Alain Greppin.
12667
0fd48e35
VS
126682011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 Satisfy some bison versions need for inttypes.h.
12671
12672 * grub-core/lib/posix_wrap/inttypes.h: New file.
12673 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
12674 (int16_t): Likewise.
12675 (int32_t): Likewise.
12676 (int64_t): Likewise.
12677 Reported and tested by: Alain Greppin.
12678
43f1bc83
VS
126792011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
12682 Silence spurious warning.
12683 Reported and tested by: Alain Greppin.
12684
64d1f041
SJ
126852011-01-07 Szymon Janc <szymon@janc.net.pl>
12686
12687 * docs/grub.texi (Support automatic decompression): Update with xz
12688 decompression support.
12689
25953e10
SJ
126902011-01-07 Szymon Janc <szymon@janc.net.pl>
12691
12692 Improve loaders' kernel command line handling.
12693
12694 * grub-core/lib/cmdline.c: New file.
12695 * include/grub/lib/cmdline.h: Likewise.
12696 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
12697 grub_create_loader_cmdline to create kernel command line.
12698 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12699 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
12700 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
12701 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
12702 (linux): Add lib/cmdline.c on common.
12703
e72d259f
VS
127042011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12705
12706 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
12707 inopos might be unaligned.
12708
c0cf26da
VS
127092011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12710
12711 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
12712 endian transformations.
12713 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12714 Based on report by: Doug Nazar.
12715
0ca09e6c
DN
127162011-01-07 Doug Nazar <nazard.michi@gmail.com>
12717
12718 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
12719 array->members[i].start_sector.
12720 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
12721
014b6806
VS
127222011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12723
12724 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
12725 Reported and tested by: Grégoire Sutre.
12726
415502c2
CW
127272011-01-06 Colin Watson <cjwatson@ubuntu.com>
12728
12729 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
12730 avoid causing test failures by clearing the screen.
12731
71b6a2b7
CW
127322011-01-06 Colin Watson <cjwatson@ubuntu.com>
12733
12734 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12735 Fix prefix check to handle the case where dir ends with a slash
12736 (most significantly, "/" itself).
12737 Reported by: Michael Vogt.
12738
b3f8d28a
VS
127392011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12740
12741 Run terminfo_cls on initing terminfo output to clear the screen and
12742 move the cursor to (0,0).
12743
12744 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
12745 Call grub_terminfo_output_init.
12746 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
12747 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
12748 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
12749
4c3e4f37
VS
127502011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
12753 only when needed.
12754
488f71f1
VS
127552011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12756
12757 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
12758 CTRL.
12759
18a38098
VS
127602011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12761
12762 The E820 type 5 is BADRAM, not EXEC_CODE.
12763
12764 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12765 (GRUB_E820_BADRAM): New define.
12766 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
12767 into reserved. Propagate BADRAM.
12768 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12769 (GRUB_E820_BADRAM): New define.
12770
9eae2084
VS
127712011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
12774 Ignore the memory post-4G.
12775 (grub_relocator_firmware_alloc_region): Additional debug statement.
12776
ebc71d28
VS
127772011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
12780 names.
12781 Reported by: David Pravec.
12782
446fa400
VS
127832011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
12786 BIOSes.
12787
a0159f37
VS
127882011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
12791 Prevent overflow.
12792 (grub_reed_solomon_recover): Likewise.
12793
e5146ca1
VS
127942011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
12797
127982011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
12799
12800 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
12801 variable.
12802
5b1bdf12
CW
128032011-01-04 Colin Watson <cjwatson@ubuntu.com>
12804
12805 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
12806 descriptions of extract_legacy_entries_source and
12807 extract_legacy_entries_configfile.
12808 Reported by: Seung Soo, Ha.
12809
99d925aa
CW
128102011-01-03 Colin Watson <cjwatson@ubuntu.com>
12811
12812 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
12813 on devices that do not implement function 0.
12814
4af0504b
DV
128152011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
12816
12817 * grub-core/fs/hfsplus.c: Make parent unsigned.
12818 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
12819 overflows.
12820 (grub_hfsplus_cmp_extkey): Likewise
12821
469ee10a
VS
128222011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12823
12824 * util/grub-install.in: Correctly use bootloader_id and not
12825 GRUB_DISTRIBUTOR on efibootmgr line.
12826
323a8e9c
VS
128272011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12828
12829 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
12830
1b394975
IC
128312010-12-31 Ian Campbell <ijc@hellion.org.uk>
12832
12833 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
12834 Xen and reorder menu item wording to make it clearer that this entry
12835 will launch Xen. Print separate messages when loading Xen and
12836 Linux.
12837
275bff5f
VS
128382010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
12841 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
12842 loop in case of incorrect amiga partmap.
12843
307806cb
VS
128442010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
12847 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
12848 Reported by:EHeM.
12849
b12b923e
VS
128502010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12851
12852 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
12853 spurious warning.
12854 Reported by: crocket
12855
14b48a19
VS
128562010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12857
12858 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
12859 Preload EFIemu.
12860 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
12861
693db2df
VS
128622010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12863
12864 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
12865 is loaded
12866 (grub_cmd_xnu_kextdir): Likewise.
12867 (grub_cmd_xnu_splash): Likewise.
12868
c7638645
VS
128692010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 Avoid using Reed-Solomon with 0 redundancy.
12872
12873 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
12874 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
12875 or 0 redundancy.
12876 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
12877 (grub_reed_solomon_recover): Likewise.
12878
25dd4780
VS
128792010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12880
12881 Don't use disk subsystem in freebsd_boot.
12882
12883 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
12884 (freebsd_biosdev): Likewise.
12885 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
12886 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
12887
0b2db943
VS
128882010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12889
12890 Handling of files of unknown size is currently limited. They can't be
12891 used e.g. for initrd or modules. Moreover gzip handling of not
12892 easily seekable files is buggy. Disable unknown file size for now. May
12893 be inefficient but works.
12894
12895 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
12896 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
12897
5c408d0f
MP
128982010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
12899
12900 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
12901 floppy probe.
12902
190a011a
JD
129032010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
12904
12905 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
12906
022d01b8
SL
129072010-12-25 Shea Levy <shlevy>
12908
12909 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
12910
c4855fdc
VS
129112010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
12914 Windows Server 2008.
12915 Reported by: Devin Giddings.
12916
0354b867
VS
129172010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
12920 writing an error message because of async power management.
12921 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
12922 (grub_reboot): Likewise.
12923
ab66c69f
JU
129242010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
12925
12926 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
12927 keep unit tests from failing when they shouldn't.
12928
1426ef35
CW
129292010-12-21 Colin Watson <cjwatson@ubuntu.com>
12930
12931 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
12932 previous patch increased the size of the RS code by 20 bytes (at
12933 least with gcc-4.4), so increase this by 20 bytes to match.
12934 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12935
20641b6b
CW
129362010-12-21 Colin Watson <cjwatson@ubuntu.com>
12937
12938 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
12939 scratch area. Make sure to initialise chosen in standalone mode as
12940 well as non-standalone.
12941 Reported by: Robert Hooker and Andy Whitcroft.
12942 Tested by: Andy Whitcroft.
12943
d060ad60
CW
129442010-12-21 Colin Watson <cjwatson@ubuntu.com>
12945
12946 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
12947 constructing a new unescaped string and passing it to grub_xputs in
12948 one go, rather than passing characters to grub_printf one at a time.
12949
b889cfad
CW
129502010-12-21 Colin Watson <cjwatson@ubuntu.com>
12951
12952 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
12953 initialising utf16.
12954
4e01b6c8
CW
129552010-12-21 Colin Watson <cjwatson@ubuntu.com>
12956
12957 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
12958 comment. Add an extra layer of quotation, requiring the output of
12959 this function to be used in a printf format string.
12960 (gettext_printf): New function.
12961 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
12962 Extract translatable strings from here-documents and use a temporary
12963 variable instead, so that xgettext can find them.
12964 * util/grub.d/10_kfreebsd.in: Likewise.
12965 * util/grub.d/10_linux.in: Likewise.
12966 * util/grub.d/20_linux_xen.in: Likewise.
12967
12968 * po/grub.d.sed: New file.
12969 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
12970 arguments. Set c-format flags on all strings extracted from
12971 util/grub.d/ (xgettext refuses to include these itself for strings
12972 it extracted from a shell file, but these really are c-format).
12973
5318fe98
VS
129742010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12975
12976 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
12977 Avoid next pointing to nowhere.
12978
6c85b743
VS
129792010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
12982 rather than assuming than rootblock is exactly in the middle.
12983 (grub_affs_label): Likewise.
12984
a2a08a35
VS
129852010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12986
12987 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
12988 reserved_first_sector to 0.
12989 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
12990 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
12991 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
12992
7059d1ec
VS
129932010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12994
12995 Fix handling of UTF-16 UDF labels.
12996
12997 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
12998 (read_string): .. here.
12999 (grub_udf_label): Use read_string.
13000
30aff4cb
BC
130012010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13002
13003 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13004 editor under argument scope.
13005 Reported by: Jordan Uggla
13006
5cf86f4b
VS
130072010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13008
13009 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13010
32570200
CW
130112010-12-18 Colin Watson <cjwatson@ubuntu.com>
13012
13013 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13014 line, and other keys scroll an entire page (previous handling was
13015 for \r and \n to scroll a page and other keys to scroll two lines).
13016
e1dffcf2
VS
130172010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13018
13019 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13020 Set ptrdest to correct get_physical_target_address rather than
13021 incorrect get_virtual_current_address.
13022
b04298cf 130232010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13024
13025 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13026 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13027
5367ecd3
CW
130282010-12-10 Colin Watson <cjwatson@ubuntu.com>
13029
13030 * .bzrignore: Ignore grub-core/rs_decoder.S.
13031
1fb430f8
CW
130322010-12-10 Colin Watson <cjwatson@ubuntu.com>
13033
13034 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13035 .mo/.mo.gz opening sequence to ...
13036 (grub_mofile_open_lang): ... here.
13037 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13038 * util/grub.d/00_header.in (grub_lang): Include country part of
13039 locale.
13040 Reported by: Mario Limonciello.
13041
a94a6671
RM
130422010-12-09 Robert Millan <rmh@gnu.org>
13043
13044 * NEWS: Document addition of ZFS support.
13045
24b7938b
CW
130462010-12-04 Colin Watson <cjwatson@ubuntu.com>
13047
13048 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13049 rather than `/ 2', as the latter requires -Wa,--divide which would
13050 require bumping our minimum binutils version.
13051
bddc3ef6
BC
130522010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13053
13054 * util/grub-script-check.c (main): Print script line number on
13055 error.
13056
bf78d5b2
RM
130572010-12-01 Robert Millan <rmh@gnu.org>
13058
13059 * grub-core/fs/zfs/zfs.c: New file.
13060 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13061 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13062 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13063 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13064
13065 * include/grub/zfs/dmu.h: Likewise.
13066 * include/grub/zfs/dmu_objset.h: Likewise.
13067 * include/grub/zfs/dnode.h: Likewise.
13068 * include/grub/zfs/dsl_dataset.h: Likewise.
13069 * include/grub/zfs/dsl_dir.h: Likewise.
13070 * include/grub/zfs/sa_impl.h: Likewise.
13071 * include/grub/zfs/spa.h: Likewise.
13072 * include/grub/zfs/uberblock_impl.h: Likewise.
13073 * include/grub/zfs/vdev_impl.h: Likewise.
13074 * include/grub/zfs/zap_impl.h: Likewise.
13075 * include/grub/zfs/zap_leaf.h: Likewise.
13076 * include/grub/zfs/zfs.h: Likewise.
13077 * include/grub/zfs/zfs_acl.h: Likewise.
13078 * include/grub/zfs/zfs_znode.h: Likewise.
13079 * include/grub/zfs/zil.h: Likewise.
13080 * include/grub/zfs/zio.h: Likewise.
13081 * include/grub/zfs/zio_checksum.h: Likewise.
13082
13083 * Makefile.util.def: Build ZFS into libgrubmods.
13084 * grub-core/Makefile.core.def: Build zfs.mod.
13085
3f0f3831
SJ
130862010-11-30 Szymon Janc <szymon@janc.net.pl>
13087
13088 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13089 variable.
13090 * grub-core/commands/wildcard.c (match_files): Likewise.
13091
3a4253b2
RM
130922010-11-30 Robert Millan <rmh@gnu.org>
13093
13094 * grub-core/loader/i386/bsd.c
13095 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13096 whether kernel is loaded using grub_loader_is_loaded(), rather
13097 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13098 certain error conditions.
13099
8c317b27
RM
131002010-11-30 Robert Millan <rmh@gnu.org>
13101
c5c9cd3e
RM
13102 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13103 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 13104
49d3ab46
VS
131052010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 Avoid using tricks for initialising endian variables.
13108
13109 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13110 Make const.
13111 (GRUB_MOD_INIT): Don't byte-swap.
13112 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13113 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13114 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13115 (grub_swap_bytes32_compile_time): Likewise.
13116 (grub_cpu_to_le32_compile_time): Likewise.
13117 (grub_cpu_to_le16_compile_time): Likewise.
13118
f420a804
VS
131192010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * util/grub-setup.c (setup): Stop recommending --force. People who
13122 understand the dangers of blocklists are able to find this option
13123 anyway and the ones who don't shouldn't use it anyway.
13124
4e7db17b
RM
131252010-11-26 Robert Millan <rmh@gnu.org>
13126
13127 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13128 Update all users.
13129
9be57a0d
CW
131302010-11-26 Colin Watson <cjwatson@ubuntu.com>
13131
13132 Fix LVM-on-RAID probing.
13133
13134 * util/grub-probe.c (probe): Remember which disk was detected as
13135 RAID (perhaps an LVM physical volume). Use that disk's raidname
13136 rather than that of the top-level disk.
13137
2c7859b3 131382010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 13139
d7647bb6
BC
13140 Fix cmdline argument quotes for setparams command of menuentry
13141 definitions.
7e623b0d
BC
13142
13143 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13144 quotes for arguments.
f866fe80 13145 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 13146 grub_strchrsub function instead.
f866fe80 13147
7955bea0 13148 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 13149
74f72a64
CW
131502010-11-24 Colin Watson <cjwatson@ubuntu.com>
13151
13152 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13153 effort by skipping "." and ".." entries up-front.
13154 Suggested by: Michael Lazarev.
13155
5a407278
CW
131562010-11-24 Colin Watson <cjwatson@ubuntu.com>
13157
13158 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13159 ldflags to ldadd, to fix link line ordering.
13160 (none_decompress): Likewise.
13161
3030d8ec
CW
131622010-11-24 Colin Watson <cjwatson@ubuntu.com>
13163
13164 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13165 platforms.
13166 (grub-emu-lite): Remove kern/emu/cache.S.
13167
b7fbac12
CW
131682010-11-23 Colin Watson <cjwatson@ubuntu.com>
13169
13170 * util/deviceiter.c (compare_devices): If the by-id link for a
13171 device couldn't be resolved, fall back to sorting by the by-id link
13172 rather than segfaulting.
13173 Reported and tested by: Daniel Mierswa.
13174
5225f328
CW
131752010-11-23 Colin Watson <cjwatson@ubuntu.com>
13176
13177 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13178 ldflags, to fix link line ordering.
13179
038b3ce8
CW
131802010-11-23 Colin Watson <cjwatson@ubuntu.com>
13181
13182 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13183 linkers are picky about this.
13184
bf16e98e
CW
131852010-11-23 Colin Watson <cjwatson@ubuntu.com>
13186
13187 * grub-core/Makefile.am (command.lst): Adjust sed expression
13188 ordering so that extended and priority commands aren't treated as
13189 ordinary commands.
13190
7242bab6
CW
131912010-11-23 Colin Watson <cjwatson@ubuntu.com>
13192
13193 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13194 Remove byte-swapping function calls, which are not valid in
13195 structure initialisers.
13196 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13197 non-const.
13198 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13199 grub_gpt_partition_type_bios_boot.
13200
14e8b279
CW
132012010-11-22 Colin Watson <cjwatson@ubuntu.com>
13202
13203 Fix test program build on GNU/kFreeBSD.
13204
13205 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13206 $(LIBNVPAIR)' library dependencies.
13207
e6f63338 132082010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
13209
13210 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13211
cf8ffc38
CW
132122010-11-22 Colin Watson <cjwatson@ubuntu.com>
13213
13214 * util/grub-install.in: Remove excessive quoting that broke
13215 installations to RAID devices.
13216
7f8b0fd7
VS
132172010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13218
13219 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13220 bootloader version instead of 0.
13221
dfd240b1
VS
132222010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13225 warning.
13226
7b61e609
VS
132272010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13230 retrieve the metadat sector if size isn't known.
13231 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13232
9dfe92d0
RM
132332010-11-18 Robert Millan <rmh@gnu.org>
13234
13235 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13236 with grub_memcmp().
13237
41cc919e
VS
132382010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13239
13240 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13241 arrow.
13242 Reported by: Jordan Uggla.
13243
1afcc914
VS
132442010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 Make better UTF compliant.
13247
13248 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13249 sequences as incorrect.
13250 (grub_is_valid_utf8): Likewise.
13251 (grub_utf8_to_ucs4): Likewise.
13252 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13253 (grub_ucs4_to_utf8_alloc): Likewise.
13254 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13255
f1808884
VS
132562010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 Make legacy_source behave like source.
13259
13260 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13261 grub_show_menu.
13262 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13263
24ec575b
CW
132642010-11-16 Colin Watson <cjwatson@debian.org>
13265
13266 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13267 (-Wunused implies -Wunused-parameter, but not vice versa).
13268
72b7c7aa
CW
132692010-11-16 Colin Watson <cjwatson@ubuntu.com>
13270
13271 * configure.ac: Make error messages less confusing by testing for
13272 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13273 accepted, but produces a diagnostic if something else is wrong).
13274
e98937aa
VS
132752010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13276
13277 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13278 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13279 (now unused).
13280 (grub_keyboard_controller_init)
13281 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13282 read the initial state since controller isn't inited yet.
13283
f6bbabc3
VS
132842010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13287 allocate_regbeg may need to create new chunk header.
13288
22e7dbb2
VS
132892010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 Fix quoting in legacy parser.
13292
13293 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13294 single quotes.
13295 (grub_legacy_parse): Likewise.
13296 Reported by: Jordan Uggla.
13297 Tested by: Jordan Uggla.
13298
03f80960
VS
132992010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 Don't add -lgcc on i386 and x86_64.
13302
13303 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13304 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13305 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13306
779dc15b
VS
133072010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 * configure.ac: Add -Wno-trampolines when supported.
13310
d20a3b37
MV
133112010-11-14 Modestas Vainius <modax@debian.org>
13312
13313 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13314 fakeraid.
13315
e5360933
GC
133162010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13317
13318 Add generic logical block size support for UDF.
13319
13320 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13321 (GRUB_UDF_BLKSZ): Removed.
13322 (struct grub_udf_data): New field "lbshift" to hold the logical block
13323 size of the file system in log2 format. All users updated.
13324 (sblocklist): Change type to unsigned.
13325 (grub_udf_mount): Change type of "sblklist" to unsigned.
13326 Move AVDP search before VRS recognition, because the latter requires
13327 knowledge of the logical block size, which is detected during the
13328 former.
13329 Detect and validate logical block size during AVDP search, adding
13330 support for block sizes 512, 1024 and 4096.
13331 Make VRS recognition independent of block size.
13332
cb0229c5
GC
133332010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13334
13335 Properly handle deleted files on UDF.
13336
13337 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13338 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13339 set.
13340
406858a8
GC
133412010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13342
13343 Support reading files larger than 2 GiB.
13344
13345 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13346 "offset" to grub_off_t.
13347 (grub_udf_read_file): Likewise for parameter "pos".
13348
130da6a7
VS
133492010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13352 unavailable.
13353 (Simple configuration): Refer to Changes from GRUB Legacy about
13354 save_env availability.
13355
65e93f6b
VS
133562010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * util/grub-install.in: Ignore empty partition table detection
13359 instead of trying to include part_ module.
13360
1fd08bf1
VS
133612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13364 LVM on RAID support.
13365
de1a024f
VS
133662010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13367
13368 Properly define WORDS_BIGENDIAN in wrapped environments.
13369
13370 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13371 definition.
13372 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13373
13374 Reported by: Manoel Rebelo Abranches.
13375 Tested by: Manoel Rebelo Abranches.
13376
bc5dd0b9
VS
133772010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 * util/grub-mkconfig.in: Fix quoting.
13380
58c184be
VS
133812010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13382
13383 Support big ext2 files.
13384
13385 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13386 (grub_ext2_read_block): Support triple indirect blocks.
13387 (grub_ext2_read_file): Use 64-bit types and read size_high.
13388 (grub_ext2_open): Read size_high.
13389 Reported by: Ximin Luo.
13390 Tested by: Manoel Rebelo Abranches.
13391
5f0c02b3
VS
133922010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13393
13394 * util/grub-install.in: Handle filenames containing spaces.
13395 Reported by: Jordan Uggla.
13396 Tested by: Jordan Uggla.
13397
4417aae6
VS
133982010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13399
13400 * util/grub-mkconfig.in (grub_script_check): New variable.
13401 Use grub_script_check instead of grub-script-check.
13402 Reported by: Barry Jackson.
13403
7625a68e
VS
134042010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * docs/grub.texi (menu): Correct the order.
13407 Reported by: D. Hugh Redelmeier.
13408
10001ac5
VS
134092010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13412 jump.
13413
9c4cf53b
MRA
134142010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13415
10001ac5
VS
13416 * include/grub/elfload.h (grub_elf32_size): New parameter.
13417 All users updated.
9c4cf53b
MRA
13418 Return maximum segments alignment.
13419 (grub_elf64_size): Likewise.
13420 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13421 Return maximum segments alignment.
13422 (grub_elf64_size): Likewise.
13423 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
13424 (grub_linux_claimmap_iterate): New function. Uses the
13425 "available" property in the "memory" node for memory allocation
13426 for kernel in the PowerPC loader.
9c4cf53b
MRA
13427 (grub_linux_load32): Correctly find linux entry point offset.
13428 (grub_linux_load64): Likewise.
13429
d2bf06bf
RM
134302010-11-07 Robert Millan <rmh@gnu.org>
13431
13432 On mips-yeeloong, build with -march=loongson2f when this flag is
13433 available (GCC >= 4.4).
13434 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13435 `-march=mips3'.
13436 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13437 or otherwise add -march=mips3.
13438
898c99a2
BC
134392010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13440
87220a68
BC
13441 Suppress shell expansion on echo '*' and echo "*" like cases.
13442 Reported by: Jordan Uggla.
898c99a2
BC
13443
13444 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13445 string arguments before shell expansion.
13446 * tests/grub_cmd_echo.in: New testcases.
13447
4f9b406a
RM
134482010-11-07 Robert Millan <rmh@gnu.org>
13449
13450 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13451 transition.
13452
80c6d25e
VS
134532010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * grub-core/kern/emu/hostdisk.c
13456 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13457
4a1a0153
VS
134582010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13459
13460 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13461 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13462 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13463
34706ddc
VS
134642010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13467
6972dea9
VS
134682010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * util/grub-install.in: Replace useless recomendation to pass
13471 --modules with a recomendation to report a bug.
13472
9c693bd6
VS
134732010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 Properly register serial terminfo.
13476 Reported by: Jordan Uggla
13477
13478 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13479 const.
13480 (grub_serial_terminfo_output_template): Likewise.
13481 (grub_cmd_serial): Register "serial" with terminfo.
13482 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13483 grub_serial_terminfo_output.
13484
6c9e4c0c
RM
134852010-11-05 Robert Millan <rmh@gnu.org>
13486
13487 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13488 needed).
13489
b9b3839f
RM
134902010-11-05 Robert Millan <rmh@gnu.org>
13491
13492 On Yeeloong, pass machine type information to Linux.
13493
13494 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13495 (LOONGSON_MACHTYPE): New macro, set to
13496 "machtype=lemote-yeeloong-2f-8.9inches".
13497 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13498 additional argument to Linux.
13499
1a3aaff4
RM
135002010-11-04 Robert Millan <rmh@gnu.org>
13501
13502 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13503 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13504 (its SATA disks are detected as slaveless IDE master drives on
13505 kFreeBSD).
13506 Reported by Carsten Aulbert.
13507
a75f4f62
CW
135082010-11-02 Colin Watson <cjwatson@ubuntu.com>
13509
13510 * util/bin2h.c (main): Fix spelling error in generated output.
13511
33b4b0c6
GS
135122010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13513
13514 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13515
2b36fbf4
VS
135162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13519 vga= option is supplied.
13520
74aaf558
VS
135212010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
13524 * util/grub.d/10_kfreebsd.in: Likewise.
13525 * util/grub.d/10_linux.in: Likewise.
13526 * util/grub.d/20_linux_xen.in: Likewise.
13527
6428dec3
VS
135282010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13529
13530 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
13531 argument as an argument to no-argument option.
13532
f8729d98
VS
135332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13534
13535 * util/grub.d/10_linux.in: Add missing load_video with explicit
13536 GRUB_GFXPAYLOAD_LINUX.
13537
89d68fa6
VS
135382010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
13541
3a1197cd
VS
135422010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
13545 elements with invlid index.
13546 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13547 * grub-core/disk/raid.c (insert_array): Automatically reallocate
13548 members.
13549 * include/grub/raid.h (grub_raid_member): New struct.
13550 (grub_raid_array): Transform devices and start_sector into usage of
13551 grub_raid_member. All users updated
13552 (allocated_devs): New member.
13553
71574288
VS
135542010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
13557 is modified
13558
8d40ec65
BC
135592010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
13560
13561 NetBSD build fix for getline function conflict from gnulib.
13562
13563 * Makefile.util.def (libgrubkern.a): New library for grub kernel
13564 components that depend on gnulib headers.
13565 (libgrubmods.a): Renamed from earlier libgrub.a.
13566 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
13567
95b9257e
VS
135682010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13569
13570 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
13571 install rather than creating a broken install.
13572
26c53dc6
VS
135732010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * util/grub-setup.c (argp): Remove misleading example of installing to
13576 a partition.
13577
4171b3c5
VS
135782010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 * util/grub-setup.c (setup): Clarify the error message.
13581
18568d18
VS
135822010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
13585
4f6a2e21
VS
135862010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 * grub-core/kern/emu/misc.c
13589 (grub_make_system_path_relative_to_its_root)
13590 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
13591
135922010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
13593
13594 * grub-core/kern/emu/misc.c
13595 (grub_make_system_path_relative_to_its_root): Revert r2882.
13596
e138c458
VS
135972010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
13600 useless field head. All users updated.
13601 (free_subchunk): Correct handling of IN_REGION subchunk.
13602
0cbcdf0e
CW
136032010-10-22 Colin Watson <cjwatson@ubuntu.com>
13604
13605 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
13606 (Supported kernels): Likewise.
13607
b65ea155
GS
136082010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13609
13610 Make mktemp invocations portable.
13611
13612 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
13613 exit if mktemp fails.
13614 * tests/grub_script_blockarg.in: Likewise.
13615 * tests/partmap_test.in: Likewise.
13616 * tests/util/grub-shell-tester.in: Likewise.
13617 * tests/util/grub-shell.in: Likewise.
13618 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13619 * Makefile.am: Likewise, and chain shell commands with `&&'
13620 instead of ';'.
13621 * util/grub-mkrescue.in: Use the same explicit template as above, and
13622 exit if mktemp fails.
13623
05f43cdd
BC
136242010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
13625
13626 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
13627 Linux kernel, reported by Dennis Schridde.
13628
800e6a9b
SJ
136292010-10-17 Szymon Janc <szymon@janc.net.pl>
13630
13631 * grub-core/normal/auth.c (grub_auth_check_authentication):
13632 Set-but-not-used variable removed.
13633
d82df574
VS
136342010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * docs/grub.texi (GNU/Linux): Document APM unavailability with
13637 32-bit linux protocol.
13638
7bced458
VS
136392010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
13642 cursor shape for sanity.
13643
5b027690
VS
136442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13645
13646 * docs/grub.texi (Installation): Document buggy BIOS install.
13647
ba5f65cf
VS
136482010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * docs/grub.texi (Installation): Indent.
13651
fdf2ec9c
VS
136522010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * util/grub-setup.c (setup): New parameter allow_floppy.
13655 (arguments): New member allow_floppy.
13656 (argp_parser): Handle --allow-floppy.
13657 (main): Pass allow_floppy.
13658 * util/grub-install.in: New option --allow-floppy passed though to
13659 grub-setup.
13660
861dfd4c
VS
136612010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13662
13663 * util/grub-install.in: Handle partitionless disks.
13664
f77a8c24
VS
136652010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13666
13667 * util/grub-setup.c (setup): Don't clean blocklists before readability
13668 verfification.
13669
27d9ee32
VS
136702010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13671
13672 * docs/grub.texi (Installation): Document embedding zone. Remove
13673 obsolete grub-install example.
13674
6bdda8f8
SJ
136752010-10-16 Szymon Janc <szymon@janc.net.pl>
13676
13677 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13678 Set-but-not-used variable ifdef'ed.
13679 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
13680 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
13681 variable removed.
13682 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
13683 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
13684 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13685 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
13686 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
13687 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13688 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
13689 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
13690 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
13691 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
13692 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
13693 Likewise.
13694
e19b016b
VS
136952010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
13698 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
13699 enum value.
13700
6c8d3002
VS
137012010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13702
13703 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
13704 synonym to _S5_. Needed for some DSDTs.
13705
c32b51c9
VS
137062010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13707
13708 Userspace ACPI parser debugging.
13709
13710 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
13711 headers and add relevant defines. Don't include standard headers.
13712 (main) [GRUB_DSDT_TEST]: New function.
13713 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
13714 Don't declare functions.
13715
fbfbeb39
VS
137162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13717
13718 Remove dead grub_efi_mm_fini.
13719
13720 * grub-core/kern/efi/mm.c (allocated_page): Removed.
13721 (ALLOCATED_PAGES_SIZE): Likewise.
13722 (MAX_ALLOCATED_PAGES): Likewise.
13723 (allocated_pages): Likewise.
13724 (grub_efi_allocate_pages): Don't record allocated pages.
13725 (grub_efi_free_pages): Likewise.
13726 (grub_efi_mm_init): Likewise.
13727 (grub_efi_mm_fini): Removed.
13728
65f7ed7c
VS
137292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
13732 (grub_efi_mm_init): Take into account the memory map size increase.
13733
24977b44
VS
137342010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13735
13736 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
13737 (serial_hw_put): Wait based on real time rather than port reads. Don't
13738 roken ports.
13739 * include/grub/serial.h (grub_serial_port): New field broken.
13740
1eb01cd2
RM
137412010-10-16 Robert Millan <rmh@gnu.org>
13742
13743 * grub-core/kern/emu/misc.c
13744 (grub_make_system_path_relative_to_its_root): Fix premature return
13745 when processing non-root ZFS filesystems.
5f8b440b 13746 Reported by Sergio Talens-Oliag.
1eb01cd2 13747
2d5fed60
RM
137482010-10-15 Robert Millan <rmh@gnu.org>
13749
13750 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
13751 guarantee compressed ones are processed first.
13752
d0f4c1ea
VS
137532010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
13756 grub_efiemu_autocore.
13757
d87c681f
VS
137582010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
13761 rather than 0x1b.
13762 (grub_console_getkey): Use correct jae opcode rather than ja.
13763
219b3564
RM
137642010-10-12 Robert Millan <rmh@gnu.org>
13765
13766 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
13767 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
13768 variable. All references updated.
13769
13770 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
13771
20c6bb7e
VS
137722010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
13773
13774 Correctly distinguish mdraid flavours.
13775
13776 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
13777 (insert_array): New argument raid.
13778 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
13779 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
13780 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
13781
74baff84
VS
137822010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
13785 handling of special keys.
13786
3ef068df 137872010-10-02 Aleš Nesrsta <starous@volny.cz>
13788
c7980ad9
VS
13789 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
13790 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 13791
a9455194 137922010-10-02 Aleš Nesrsta <starous@volny.cz>
13793
c7980ad9
VS
13794 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
13795 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
13796 users updated.
a9455194 13797 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 13798 Use right endpoint when querying descriptor.
a9455194 13799
441cfe65
VS
138002010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13801
13802 Clear out 0x80 color bit on EFI.
13803 Tested by: decoder
13804 Reported by: decoder and meta tech.
13805
13806 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
13807 (grub_console_setcolorstate): Clear out 0x80 bit.
13808 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
13809 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
13810 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
13811
bf26bcc4
VS
138122010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
13815 Set to "auto".
13816
6e3c515d
VS
138172010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
13820 mo_file after freeing.
13821
e6d983ba
VS
138222010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13823
13824 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
13825
74ccb5b5
VS
138262010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
13829 flags.
13830
17821956
VS
138312010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13832
13833 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
13834 usage.
13835
ee74fa48
VS
138362010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13837
13838 Put terminfo into core on ieee1275 and yeeloong (needed for console).
13839
13840 * gentpl.py: New groups terminfoinkernel and terminfomodule.
13841 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
13842 and terminfo.h when needed.
13843 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
13844 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
13845 (terminfo): Enable only on terminfokernel.
13846 (extcmd): Likewise.
13847 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
13848 * include/grub/lib/arg.h: Likewise.
13849 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
13850 incorrect usage of ->.
13851
aa438e68
VS
138522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13853
13854 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
13855 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
13856
57994012
VS
138572010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13858
13859 Fix coreboot compilation.
13860
13861 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13862 Take VBE info into account even if only text is supported.
13863 (fill_vbe_info): Take into account the case when only VGA text
13864 is supported.
13865 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
13866 on coreboot, multiboot and qemu.
13867
2a406611
VS
138682010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13869
13870 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
13871 debug messages.
13872 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
13873
d33613fc
VS
138742010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
13877 parameters.
13878
44a1b432
VS
138792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13880
13881 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
13882 if they were BSD-style.
13883
edde54e6
VS
138842010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13885
13886 * grub-core/boot/i386/pc/lnxboot.S: Replace
13887 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
13888 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
13889
b65830fa
VS
138902010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13891
13892 Write embedding zone using Reed-Solomon.
13893
13894 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
13895 * grub-core/Makefile.am (rs_decoder.S): New target.
13896 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
13897 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
13898 (multiboot): Move to RS part.
13899 (post_reed_solomon): New label.
13900 (grub_boot_drive): Move to non-RS part since it's modified in memory
13901 on boot.
13902 Include rs_decoder.S.
13903 * grub-core/lib/reed_solomon.c: New file.
13904 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
13905 New definition.
13906 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
13907 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
13908 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
13909 * include/grub/partition.h (grub_partition_map): Change prototype of
13910 embed to allow returning additional sectors.
13911 * include/grub/reed_solomon.h: New file.
13912 * util/grub-setup.c (setup): Handle Reed-Solomon.
13913
0b4b227f
CW
139142010-09-28 Colin Watson <cjwatson@ubuntu.com>
13915
13916 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13917 i386 and x86-64 definedness tests.
13918
f772623b
YB
139192010-09-27 Yves Blusseau <blusseau@zetam.org>
13920
13921 Fix generation of kernel_syms.lst
13922
13923 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
13924 ASM_PREFIX
13925
8e57a6ca
RM
139262010-09-26 Robert Millan <rmh@gnu.org>
13927
13928 Support degraded ZFS arrays in "grub-probe -t device" resolution.
13929
13930 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
13931 the pool is an array of devices, iterate through it and return the
13932 first device that passes a stat() test (instead of blindly returning
13933 the first one).
13934
f9130836
RM
139352010-09-26 Robert Millan <rmh@gnu.org>
13936
13937 Build fixes for GNU/kFreeBSD.
13938
13939 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
13940 to programs that require ZFS conversion.
13941 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
13942 kernels that don't have FLOPPY_MAJOR.
13943
96510faf
BC
139442010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13945
13946 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
13947
449333eb
BC
139482010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13949
13950 Fix grub-emu build.
13951
13952 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
13953 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
13954 mdraid09 and mdraid1x.
13955
e1fd1939
CW
139562010-09-24 Colin Watson <cjwatson@ubuntu.com>
13957
13958 Re-enable grub-extras.
13959
13960 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
13961 avoid confusing Automake. Run autogen only twice, once for the top
13962 level and once for grub-core. Add Makefile.util.def and
13963 Makefile.core.def from extra modules to the appropriate autogen
13964 invocations. If Makefile.common exists in an extra module, include
13965 it in both Makefile.util.am and grub-core/Makefile.core.am;
13966 similarly, include any Makefile.util.common file in Makefile.util.am
13967 and any Makefile.core.common file in grub-core/Makefile.core.am.
13968 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
13969 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
13970 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
13971 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
13972
13973 * gentpl.py (gvar_add): Turn GVARS into a set.
13974 (global_variable_initializers): Sort global variables on output.
13975 (vars_init): New function.
13976 (first_time): Likewise.
13977 (library): Ensure that non-global variable initialisations are
13978 emitted before the first time we emit code for a library block.
13979 Append to variables rather than setting them. Only emit
13980 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
13981 each conditional path.
13982 (program): installdir() emits an Autogen macro, so must be passed to
13983 var_add rather than gvar_add.
13984 (data): Likewise.
13985 (script): Likewise.
13986 (rules): New function, centralising handling for different target
13987 types. Set up Guile association lists for first_time and vars_init,
13988 and send most output to a diversion so that variable initialisations
13989 can be emitted first.
13990 (module_rules): Use new rules function.
13991 (kernel_rules): Likewise.
13992 (image_rules): Likewise.
13993 (library_rules): Likewise.
13994 (program_rules): Likewise.
13995 (script_rules): Likewise.
13996 (data_rules): Likewise.
13997
13998 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
13999
14000 * .bzrignore: Add contrib and grub-core/contrib. Remove
14001 grub-core/Makefile.gcry.am.
14002
1d12cf29
YB
140032010-09-24 Yves Blusseau <blusseau@zetam.org>
14004
14005 * grub-core/lib/LzFind.c: Add missing include.
14006 * grub-core/lib/LzmaEnc.c: Likewise.
14007 * grub-core/script/lexer.c: Likewise.
14008 * grub-core/script/yylex.l: Likewise.
14009 * util/grub-macho2img.c: Likewise.
14010 * util/grub-menulst2cfg.c: Likewise.
14011 * util/grub-mklayout.c: Likewise.
14012 * util/grub-mkpasswd-pbkdf2.c
14013 * util/grub-mkrelpath.c: Likewise.
14014 * util/resolve.c: Likewise.
14015
dd363028
BC
140162010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14017
14018 * Makefile.util.def (example_unit_test): Add
14019 grub-core/gnulib/libgnu.a.
14020
f5a109e2
GS
140212010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14022
14023 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14024
6d0fa83c
VS
140252010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14026
14027 Support xz compression on yeeloong.
14028
14029 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14030 * configure.ac: Check for LZMA.
14031 * grub-core/Makefile.core.def (xz_decompress): New target.
14032 (none_decompress): Likewise.
14033 * grub-core/boot/decompressor/minilib.c: New file.
14034 * grub-core/boot/decompressor/none.c: Likewise.
14035 * grub-core/boot/decompressor/xz.c: Likewise.
14036 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14037 * grub-core/kern/mips/cache_flush.S: Likewise.
14038 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14039 * grub-core/kern/mips/startup.S: Move first stage to ...
14040 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14041 nomacro.
14042 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14043 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14044 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14045 Allocate statically.
14046 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14047 Allocate statically or use scratch. Don't check CRC32.
14048 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14049 Allocate statically. Don't check CRC32.
14050 * include/grub/decompressor.h: New file.
14051 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14052 Removed.
14053 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14054 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14055 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14056 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14057 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14058 * util/grub-mkimage.c (grub_compression_t): New type.
14059 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14060 (image_target_desc): New field default_compression.
14061 (image_targets): Adjust yeeloong targets.
14062 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14063 (compress_kernel): New parameter comp.
14064 (generate_image): Likewise. Handle new compression case.
14065 (options): New option --compression
14066 (help): Likewise.
14067 (main): Handle new option.
14068
1b655af6
GS
140692010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14070
14071 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14072
8f03f0b5
CW
140732010-09-22 Colin Watson <cjwatson@ubuntu.com>
14074
14075 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14076 typo in __i386__ conditional.
14077
7835dfd3
VS
140782010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14079
14080 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14081 include.
14082
e255597e
VS
140832010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14084
6d0fa83c 14085 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
14086
14087 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14088 new tags as supported.
14089 (acpiv2_size): New function.
14090 (grub_multiboot_get_mbi_size): Take new tags into account.
14091 (grub_multiboot_make_mbi): Add new tags.
14092 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 14093
6cc14051 140942010-09-21 Aleš Nesrsta <starous@volny.cz>
14095
14096 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14097 Added missing configuration of USB device.
14098
df7769d8
CW
140992010-09-21 Colin Watson <cjwatson@ubuntu.com>
14100
14101 * grub-core/normal/menu_entry.c (run): Make sure we always return
14102 a value.
14103
b031012d
CW
141042010-09-21 Colin Watson <cjwatson@ubuntu.com>
14105
14106 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14107 NumberOfPages is UINT64 according to the UEFI specification, not
14108 UINTN. Fix printf format.
14109
174de8f3
CW
141102010-09-21 Colin Watson <cjwatson@ubuntu.com>
14111
14112 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14113 `err' to grub_usb_err_t.
14114 Reported and tested by: KESHAV P.R.
14115
d7dbe923
CW
141162010-09-21 Colin Watson <cjwatson@ubuntu.com>
14117
14118 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14119 tpart non-const, so that we can assign to it. (Since this is a
14120 typedef, the constness refers to the pointer rather than what it
14121 points to.)
14122
8d5e2af3
CW
141232010-09-21 Colin Watson <cjwatson@ubuntu.com>
14124
14125 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14126 $(top_srcdir)/grub-core/gnulib as well as
14127 $(top_builddir)/grub-core/gnulib.
14128 Reported by: KESHAV P.R.
14129
5c527783
CW
141302010-09-21 Colin Watson <cjwatson@ubuntu.com>
14131
14132 * util/grub-install.in: Fix the bootloader ID option to be
14133 consistently --bootloader-id, not --bootloader_id.
14134 Reported by: KESHAV P.R.
14135
d309a16e
CW
141362010-09-21 Colin Watson <cjwatson@ubuntu.com>
14137
14138 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14139 check hash checksum." consistently translatable.
14140
b830cd16
YB
141412010-09-21 Yves Blusseau <blusseau@zetam.org>
14142
14143 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14144 $(top_builddir).
14145
c4fe27a8
CW
141462010-09-21 Colin Watson <cjwatson@ubuntu.com>
14147
14148 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14149 (GRUB_MOD_INIT): Register sha1sum command.
14150 (GRUB_MOD_FINI): Unregister sha1sum command.
14151
a4c1d277
YB
141522010-09-21 Yves Blusseau <blusseau@zetam.org>
14153
14154 Keep boot and grub directory names in sync with utils scripts
14155
14156 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14157 * config.h.in: Add previous macros.
14158 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14159 * util/grub-install.in: Use $bootdir and $grubdir variables.
14160
4eff79d2
CW
141612010-09-21 Colin Watson <cjwatson@ubuntu.com>
14162
14163 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14164 convert partition names to disk names if the new `convert' parameter
14165 is set.
14166 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14167 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14168 disk in its own right. This can happen with Xen disk images.
14169
934d7e44
YB
141702010-09-21 Yves Blusseau <blusseau@zetam.org>
14171
14172 * util/grub-editenv.c: Update strings to avoid warnings when generating
14173 grub.pot file.
14174 * util/grub-setup.c: Likewise.
934d7e44 14175
df3367cc
VS
141762010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 * configure.ac: Change version to 1.99~beta0.
14179
77a94e98
VS
141802010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14181
14182 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14183 Add BADRAM.
14184 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14185 Likewise.
14186 * include/multiboot.h: Resynced with specification.
14187 * include/multiboot2.h: Likewise.
14188
269004c1
CW
141892010-09-21 Colin Watson <cjwatson@ubuntu.com>
14190
14191 Fix po directory handling.
14192
14193 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14194 * grub-core/gnulib/Makefile.am: Import gettext module.
14195 * m4/gnulib-cache.m4: Likewise.
14196 * m4/gnulib-comp.m4: Likewise.
14197 * m4/gettext.m4: New file, from gnulib.
14198 * m4/glibc2.m4: Likewise.
14199 * m4/iconv.m4: Likewise.
14200 * m4/intdiv0.m4: Likewise.
14201 * m4/intl.m4: Likewise.
14202 * m4/intldir.m4: Likewise.
14203 * m4/intlmacosx.m4: Likewise.
14204 * m4/intmax.m4: Likewise.
14205 * m4/inttypes-pri.m4: Likewise.
14206 * m4/lcmessage.m4: Likewise.
14207 * m4/lib-ld.m4: Likewise.
14208 * m4/lib-link.m4: Likewise.
14209 * m4/lib-prefix.m4: Likewise.
14210 * m4/lock.m4: Likewise.
14211 * m4/nls.m4: Likewise.
14212 * m4/po.m4: Likewise.
14213 * m4/printf-posix.m4: Likewise.
14214 * m4/progtest.m4: Likewise.
14215 * m4/threadlib.m4: Likewise.
14216 * m4/uintmax_t.m4: Likewise.
14217 * m4/visibility.m4: Likewise.
14218 * po/Makefile.am: Remove.
14219 * po/Makefile.in.in: New file, from gettext.
14220 ($(DOMAIN).pot-update): Support POTFILES-shell.
14221 * po/Makevars: New file.
14222 * po/POTFILES-shell: Rename to ...
14223 * po/POTFILES-shell.in: ... this. Update.
14224 * po/POTFILES: Rename to ...
14225 * po/POTFILES.in: ... this. Update.
14226 * po/Rules-quot: New file, from gettext.
14227 * po/boldquot.sed: Likewise.
14228 * po/en@boldquot.header: Likewise.
14229 * po/en@quot.header: Likewise.
14230 * po/insert-header.sin: Likewise.
14231 * po/quot.sed: Likewise.
14232 * po/remove-potcdate.sin: Likewise.
14233
3e0fa5d0
VS
142342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14237
ade9bd66
VS
142382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14239
14240 * util/grub.d/20_linux_xen.in: Use submenus.
14241
fc55cc4c
VS
142422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14243
14244 Support submenus.
14245
14246 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14247 parameter submenu. All users updated.
14248 * grub-core/normal/main.c (free_menu): Rename to ...
14249 (grub_normal_free_menu): ... this. Made global.
14250 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14251 if requested.
14252 * grub-core/normal/menu_entry.c (screen): New field submenu.
14253 (make_screen): Set submenu.
14254 (run): Open new context if requested.
14255 * include/grub/menu.h (grub_menu_entry): New field submenu.
14256 * include/grub/normal.h (grub_normal_free_menu): New proto.
14257
600cedf7
VS
142582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 Menu entries extractor.
14261
14262 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14263 variants.
14264 (GRUB_MOD_INIT): Register new variants.
14265 (GRUB_MOD_FINI): Unregister new variants.
14266 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14267 into grub_cmd_legacy_source.
14268 (grub_cmd_legacy_source): Implement extractor variants.
14269 (GRUB_MOD_INIT): Register new variants.
14270 (GRUB_MOD_FINI): Unregister new variants.
14271 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14272 as an extractor.
14273 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14274 search as an extractor.
14275 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14276 test as an extractor.
14277 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14278 as an extractor.
14279 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14280 (grub_env_new_context): New function.
14281 (grub_env_context_open): Likewise.
14282 (grub_env_extractor_open): Likewise.
14283 (grub_env_extractor_close): Likewise.
14284 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14285 grub_extractor_level.
14286 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14287 * include/grub/env.h (grub_env_extractor_open): New proto.
14288 (grub_env_extractor_close): Likewise.
14289 * include/grub/normal.h (grub_extractor_level): New external variable.
14290
7bda3a87
VS
142912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14292
14293 Make cutmem accept a region specification.
14294 Suggested by: Samuel Thibault
14295
14296 * grub-core/mmap/mmap.c (parsemem): New function.
14297 (grub_cmd_cutmem): Handle new arguments.
14298
2ea57f88
VS
142992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 New command cutmem.
14302
14303 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14304 (GRUB_MOD_INIT): Register new command.
14305 (GRUB_MOD_FINI): Unregister new command.
14306
74342e31
VS
143072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14308
14309 Support some annoying BSD and Minix subpartitions.
14310
14311 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14312 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14313 Properly handle concatenation.
14314 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14315 * grub-core/normal/completion.c (iterate_partition): Likewise.
14316 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14317 contain partition. All users updated.
14318 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14319 struct.
14320 (grub_openbsdlabel_partition_map): Likewise.
14321 (bsdlabel_partition_map_iterate): Rename to ..
14322 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14323 (bsdlabel_partition_map_iterate): New function.
14324 (netopenbsdlabel_partition_map_iterate): Likewise.
14325 (netbsdlabel_partition_map_iterate): Likewise.
14326 (openbsdlabel_partition_map_iterate): Likewise.
14327 (GRUB_MOD_INIT): Register new partmaps.
14328 (GRUB_MOD_FINI): Unregister new partmaps.
14329 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14330 (grub_partition_msdos_iterate): ... this. All users updated.
14331 Don't support embedding other than in a minix partition.
14332 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14333 proto.
14334 * include/grub/partition.h (grub_partition): New field msdostype.
14335 * util/grub-install.in: Handle openbsd and netbsd types being in
14336 part_bsd module.
14337
1e8d555b
VS
143382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14341
14342 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14343 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14344 (mdraid09): ... this.
14345 (mdraid1x): New module.
14346 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14347 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14348
899d8af4
VS
143492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14352 vsprintf.
14353
40901acd
CW
143542010-09-20 Colin Watson <cjwatson@ubuntu.com>
14355
14356 * grub-core/commands/efi/lsefimmap.c: Correct header.
14357 * NEWS: Update.
14358
dfe3b247
CW
143592010-09-20 Colin Watson <cjwatson@ubuntu.com>
14360
14361 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14362 as printf format strings; the translations might contain '%' which
14363 could cause a crash.
14364 (main): Likewise.
14365 * util/grub-fstest.c (argp_parser): Likewise.
14366 * util/grub-setup.c (argp_parser): Likewise.
14367 (main): Likewise.
14368
3286a4b4
VS
143692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 Use argp in grub-fstest.
14372
14373 * util/grub-fstest.c: Don't include getopt.h.
14374 Include argp.h.
14375 (root): New variable.
14376 (args_count): Likewise.
14377 (nparm): Likewise.
14378 (num_disks): Likewise.
14379 (images): Likewise.
14380 (cmd): Likewise.
14381 (debug_str): Likewise.
14382 (args): Likewise.
14383 (options): Transformed to argp.
14384 (usage): Removed.
14385 (main): Split argument parsing into ...
14386 (argp_parser): ... this. Changed to argp format.
14387 (argp): New variable.
14388 (main): Use argp_parse.
14389
3dccbe4b
TG
143902010-09-20 Tristan Gingold <gingold@free.fr>
143912010-09-20 Robert Millan <rmh.grub@aybabtu.com>
143922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14393
14394 * grub-core/commands/efi/lsefimmap.c: New file.
14395 * grub-core/Makefile.core.def (lsefimmap): New module.
14396 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14397
38c259a7
VS
143982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14399
14400 Pause the execution (10s max) if any errors are displayed so the user
14401 has a chance to see them.
14402
14403 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14404 (grub_print_error): Increment grub_err_printed_errors.
14405 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14406 execution if any errors were displayed.
14407 (show_menu): Remove old code for pause.
14408 * grub-core/normal/menu_entry.c (run): Likewise.
14409 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14410 users updated.
14411 (grub_normal_get_char_counter): Likewise.
14412 * include/grub/err.h (grub_err_printed_errors): New external variable.
14413 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14414
f218b09c
VS
144152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14416
14417 Support multiboot VBE info.
14418
14419 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14420 Take VBE info into account.
14421 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14422 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14423 Call fill_vbe_info when appropriate.
14424 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14425 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14426 as supported.
14427 (grub_multiboot_get_mbi_size): Take new tags into account.
14428 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14429 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14430 Call fill_vbe_tag when appropriate.
14431 (grub_multiboot_make_mbi): Properly align tags.
14432 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14433 function.
14434 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14435 proto.
14436 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14437
a9cc5438
VS
144382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14439
14440 Suport manual terminal geometry specification.
14441
14442 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14443 Save state in grub_ofconsole_terminfo_output.
14444 (grub_ofconsole_term): Use grub_terminfo_getwh.
14445 (grub_ofconsole_getwh): Removed.
14446 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14447 (grub_serial_term): Use grub_terminfo_getwh.
14448 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14449 (options): New struct.
14450 (OPTION_*): New enum.
14451 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14452 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14453 width and height.
14454 (grub_terminfo_getwh): New proto.
14455 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14456
1a8fed20
VS
144572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14458
14459 Handle legacy "terminal" command.
14460
14461 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14462 and FLAG_TERMINAL.
14463 (legacy_commands): Add terminal and title.
14464 (grub_legacy_parse): Handle terminal. Simplify title handling.
14465
41e9c57d
VS
144662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14467
14468 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14469 parameters overflow.
14470
61c874c5
CW
144712010-09-20 Colin Watson <cjwatson@ubuntu.com>
14472
14473 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14474 widthspec.h.
14475
14476 * docs/grub.texi (Shell-like scripting): Document `!'.
14477 (Network): Simplify using new i386-pc-pxe format. Mention
14478 grub-mknetdir.
14479
14480 * NEWS: Update.
14481
943682b4
CW
144822010-09-20 Colin Watson <cjwatson@ubuntu.com>
14483
14484 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14485 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14486 when needed.
14487
6d3d698d
CW
144882010-09-20 Colin Watson <cjwatson@ubuntu.com>
14489
14490 * grub-core/commands/efi/lsefisystab.c: Correct header.
14491 * grub-core/commands/efi/lssal.c: Likewise.
14492 * grub-core/commands/testload.c: Likewise.
14493
c982589f
CW
144942010-09-20 Colin Watson <cjwatson@ubuntu.com>
14495
14496 * util/grub-mkrescue.in: Add explicit root argument to --set to
14497 prevent the UUID being interpreted as an argument to --set (matches
14498 previous change to prepare_grub_to_access_device).
14499
a63c31b6
CW
145002010-09-20 Colin Watson <cjwatson@ubuntu.com>
14501
14502 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14503 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14504 the verbosity of later #ifs.
14505 (find_partition_start): Define this function on FreeBSD too.
14506 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14507 function.
14508 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14509 on FreeBSD.
14510
6439b8ee
YB
145112010-09-20 Yves Blusseau <blusseau@zetam.org>
14512
14513 * util/grub-editenv.c: Use argp instead of getopt.
14514
c5930ec8
YB
145152010-09-20 Yves Blusseau <blusseau@zetam.org>
14516
14517 * util/grub-setup.c: Use argp instead of getopt.
14518
15c69261
YB
145192010-09-20 Yves Blusseau <blusseau@zetam.org>
14520
14521 Use gnulib-tool to create gnulib source files.
14522
14523 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
14524 grub-core/gnulib directories
14525 * .bzignore: Add **/.deps and autogenerated gnulib files
14526 * configure.ac: Assign auxiliary directory to build-aux, add invocation
14527 of gnulib macros, add grub-core/gnulib/Makefile
14528 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
14529 include m4 directory to aclocal.
14530 * Makefile.util.def: Remove direct compilation of gnulib source files
14531 and use the new grub-core/gnulib/libgnu.a.
14532 * build-aux/config.rpath: move config.rpath from top directory to
14533 build-aux
14534 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
14535 in gnulib headers
14536 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
14537 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
14538 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
14539 header.
14540 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
14541 string.
14542
e511c9f5
YB
145432010-09-20 Yves Blusseau <blusseau@zetam.org>
14544
14545 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
14546 grub-core/genmod.sh and grub-core/gensyminfo.sh
14547
c2dede05
BC
145482010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
14549
14550 Add a test for echo command options.
14551
14552 * tests/grub_cmd_echo.in: New test.
14553 * Makefile.util.def: Rules for new test.
14554
c55f5018
SJ
145552010-09-20 Szymon Janc <szymon@janc.net.pl>
14556
14557 Remove crc.mod and move crc command to hashsum.mod.
14558 Remove lib/crc.c - users updated to use gcrypt implementation.
14559
14560 * grub-core/commands/crc.c: Removed.
14561 * grub-core/Makefile.core.def (crc): Module removed.
14562 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
14563 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
14564 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
14565 * grub-core/lib/crc.c: Removed.
14566 * include/grub/lib/crc.h: Removed.
14567 * Makefile.util.def (crc): Remove lib/crc.c
14568 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
14569 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
14570 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
14571 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
14572 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
14573 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
14574
e0337366
VS
145752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
14578
742f9232
VS
145792010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14580
14581 Split config.h for util and core.
14582
14583 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
14584 (ADDR32): Likewise.
14585 (DATA32): Likewise.
14586 (BSS_START_SYMBOL): Likewise.
14587 (END_SYMBOL): Likewise.
14588 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
14589 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
14590 * config.h.in: New file.
14591 * configure.ac: Use config-util.h as config define file.
14592 Rename MACHINE into GRUB_MACHINE. All users updated.
14593 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
14594 updated.
14595 (NESTED_FUNC_ATTR): Likewise.
14596 Substitue new variables.
14597 (COND_HAVE_ASM_USCORE): New conditional.
14598 * grub-core/Makefile.am (ASM_PREFIX): New variable.
14599 (kernel_syms.lst): Use ASM_PREFIX.
14600 * grub-core/kern/emu/console.c: Include config-util.h.
14601 * grub-core/kern/emu/misc.c: Likewise.
14602 * grub-core/kern/emu/mm.c: Likewise.
14603 * include/grub/emu/misc.h: Likewise.
14604 * include/grub/libgcc.h: Likewise.
14605
39feb0e8
VS
146062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
14609 constants usage.
14610 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
14611 Fix GRUB_TERM_KEY_* constants usage.
14612 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
14613
9af6dac3
VS
146142010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14615
14616 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
14617 print pointer.
14618 * grub-core/bus/usb/uhci.c: Remove empty define.
14619 (grub_uhci_check_transfer): Add missing cast.
14620 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
14621 print pointer.
14622 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
14623 PRIuGRUB_SIZE.
14624 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
14625
d6d94820
VS
146262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 * grub-core/Makefile.core.def (legacycfg): Add
14629 lib/i386/pc/vesa_modes_table.c on emu.
14630
3572f2b6
BC
146312010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14632
14633 Reduce number of temporary files generated by build system.
14634
14635 * grub-core/gencmdlist.sh: Removed.
14636 * grub-core/genfslist.sh: Removed.
14637 * grub-core/genhandlerlist.sh: Removed.
14638 * grub-core/genmodsrc.sh: Removed.
14639 * grub-core/genpartmaplist.sh: Removed.
14640 * grub-core/genparttoollist.sh: Removed.
14641 * grub-core/gentermiinallist.sh: Removed.
14642 * grub-core/genvideolist.sh: Removed.
14643
14644 * grub-core/genmod.sh.in: New file.
14645 * grub-core/gensyminfo.sh.in: New file.
14646
14647 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
14648 * conf/Makefile.extra-dist: Update with new files.
14649 * gentpl.py: Remove rules related to unnecessary temporary files.
14650 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
14651 and und-* files.
14652 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
14653 genmod.sh scripts.
14654 * grub-core/bus/usb/uhci.c: Remove empty #define.
14655 * grub-core/genmoddep.awk: Updated with new syminfo format.
14656 * util/bash-completion.d/Makefile.am: Add config.log to
14657 CLEANFILES.
14658
c836b030
YB
146592010-09-19 Yves Blusseau <blusseau@zetam.org>
14660
14661 * Makefile.util.def: Add forgotten $(LIBINTL) library.
14662
2f4e8053
BC
146632010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14664
14665 * util/grub-mkconfig.in: Check the config script for syntax errors
14666 before saving.
14667
75831c34
CW
146682010-09-19 Colin Watson <cjwatson@ubuntu.com>
146692010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 * Makefile.util.def (grub-install): Use util/grub-install.in on all
14672 platforms.
14673 * util/grub-install.in: Add EFI and IEEE1275 support.
14674 * util/i386/efi/grub-install.in: Removed.
14675 * util/ieee1275/grub-install.in: Likewise.
14676
eaf41b25
VS
146772010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14678
14679 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
14680 (grub_cmd_cmosclean): Likewise.
14681 (GRUB_MOD_INIT): Register command cmosclean.
14682 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
14683 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
14684
1a9130dd
CPE
146852010-09-18 Carles Pina i Estany <carles@pina.cat>
146862010-09-18 Aleš Nesrsta <starous@volny.cz>
146872010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14688
14689 Add keyboard layouts support.
14690
14691 * Makefile.util.def (grub-mklayout): New file.
14692 (grub-kbdcomp): New script.
14693 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
14694 Add keyboard_layouts.h.
14695 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
14696 commands/boot.c on yeeloong.
14697 (keylayouts): New module.
14698 * grub-core/bus/usb/ohci.c
14699 * grub-core/bus/usb/uhci.c
14700 * grub-core/bus/usb/usbhub.c (rescan): New variable.
14701 (grub_usb_add_hub): Poll interrupt pipe for device handling.
14702 (attach_root_port): Likewise.
14703 (poll_nonroot_hub): Likewise.
14704 (grub_usb_poll_devices): Likewise.
14705 (detach_device): Close transfer.
14706 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
14707 function.
14708 (grub_usb_bulk_setup_readwrite): Likewise.
14709 (grub_usb_bulk_finish_readwrite): Likewise.
14710 * grub-core/commands/keylayouts.c: New file.
14711 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
14712 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
14713 aliases.
14714 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
14715 support scancode 2.
14716 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
14717 * include/grub/keyboard_layouts.h: New file.
14718 * util/grub-mklayout.c: New file.
14719 * util/grub-kbdcomp.in: Likewise.
14720
a1d84a5e
VS
147212010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 Unify memory types.
14724
14725 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
14726 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
14727 types.
14728 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
14729 (grub_upper_mem): Likewise.
14730 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
14731 * include/grub/memory.h (grub_memory_type_t): New enum.
14732 All users updated.
14733
9696382e
VS
147342010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14735
14736 * grub-core/Makefile.core.def (lsapm): New module.
14737 * grub-core/commands/i386/pc/lsapm.c: New file.
14738 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
14739 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
14740 Likewise.
14741 * include/grub/i386/pc/apm.h: New file.
14742 * include/multiboot.h (multiboot_apm_info): New struct.
14743
147442010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14745
14746 GRUB-legacy configuration file support.
14747
14748 * Makefile.util.def (grub-menulst2cfg): New util.
14749 * docs/man/grub-menulst2cfg.h2m: New file.
14750 * grub-core/Makefile.core.def (legacycfg): New module.
14751 * grub-core/commands/legacycfg.c: New file.
14752 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
14753 (grub_normal_add_menu_entry): ... this.
14754 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
14755 (grub_normal_set_password): ...this.
14756 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
14757 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
14758 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
14759 * grub-core/lib/legacy_parse.c: New file.
14760 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
14761 * include/grub/i386/pc/vesa_modes_table.h: New file.
14762 * include/grub/legacy_parse.h: Likewise.
14763 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
14764 * util/grub-menulst2cfg.c: New file.
14765
bf8d1338
CW
147662010-09-17 Colin Watson <cjwatson@ubuntu.com>
14767
14768 * grub-core/kern/emu/hostdisk.c
14769 (convert_system_partition_to_system_disk): Initialise node.
14770
9c0bad2e
CW
147712010-09-17 Colin Watson <cjwatson@ubuntu.com>
14772
14773 * grub-core/kern/emu/hostdisk.c
14774 (convert_system_partition_to_system_disk): Fix devmapper memory pool
14775 leak.
14776 Reported and based on patch by: Modestas Vainius.
14777
a939d135
CW
147782010-09-17 Colin Watson <cjwatson@ubuntu.com>
14779
14780 Fix DM-RAID probing with recent versions of device-mapper udev
14781 rules.
14782
14783 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
14784 canonicalise device paths under /dev/mapper/.
14785 (convert_system_partition_to_system_disk): Compare the
14786 uncanonicalised path to /dev/mapper/ rather than the canonicalised
14787 path, since device nodes under /dev/mapper/ are often symlinks.
14788
0f7ee3c9
YB
147892010-09-17 Yves Blusseau <blusseau@zetam.org>
14790
14791 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
14792
10854d0d
YB
147932010-09-16 Yves Blusseau <blusseau@zetam.org>
14794
14795 * configure.ac: Avoid some annoying error messages if freetype-config
14796 program is not found.
14797
108538d8
CW
147982010-09-16 Colin Watson <cjwatson@ubuntu.com>
14799
14800 Support RAID on virtio devices, and others.
14801
14802 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
14803 Rename to ...
14804 [__MINGW32__] (grub_find_device): ... this.
14805 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
14806 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
14807 reasonable default if dir is NULL.
14808 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
14809 ...
14810 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
14811 (grub_guess_root_device): Update callers.
14812 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
14813
14814 * util/raid.c (grub_util_getdiskname): Remove.
14815 (grub_util_raid_getmembers): Use grub_find_device rather than
14816 grub_util_getdiskname.
14817
e5bfc130
CW
148182010-09-16 Colin Watson <cjwatson@ubuntu.com>
14819
14820 * docs/grub.texi (serial): Remove obsolete comment about GRUB
14821 needing to be compiled with serial support.
14822 (ls): Indicate that multiple files are accepted.
14823 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
14824 indicate that multiple files are accepted.
14825
be458ae2
CW
148262010-09-16 Colin Watson <cjwatson@ubuntu.com>
14827
14828 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
14829 libgrub_a_init.c, and util/bash-completion.d/grub.
14830
cb731b5e
VS
148312010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14832
14833 * util/grub-setup.c (setup): Fix incorrect container semantics.
14834
35139e8a
VS
148352010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14836
14837 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
14838 misusage.
14839 Reported by: J. Nick Terry
14840
e50fca4a
VS
148412010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14842
14843 Move embedding routines to partmap sources files.
14844
14845 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
14846 [GRUB_UTIL]: New variable.
14847 (gpt_partition_map_iterate): Set part.parent.
14848 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
14849 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
14850 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
14851 New function.
14852 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
14853 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
14854 (grub_partition_map) [GRUB_UTIL]: New field embed.
14855 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
14856 (setup): Use ->embed.
14857
f00478b7
VS
148582010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14859
14860 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
14861 function.
14862 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
14863 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
14864
2b94e3ff
YB
148652010-09-15 Yves Blusseau <blusseau@zetam.org>
14866
14867 Add function to get completions from usage.
14868
14869 * util/bash-completion.d/grub-completion.bash.in: Add function to get
14870 completions from usage. Use LC_ALL=C to get options properly.
14871
2e04a006
VS
148722010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14873
14874 * grub-core/gnulib/basename-lgpl.c: Imported.
14875 * grub-core/gnulib/basename.c: Likewise.
14876 * grub-core/gnulib/dirname-lgpl.c: Likewise.
14877 * grub-core/gnulib/dirname.c: Likewise.
14878 * grub-core/gnulib/dirname.h: Likewise.
14879 * grub-core/gnulib/stripslash.c: Likewise.
14880
5dcdf93a
VS
148812010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 * grub-core/gnulib/error.c: Resynced.
14884 * grub-core/gnulib/getopt.c: Likewise.
14885 * grub-core/gnulib/getopt_int.h: Likewise.
14886 * grub-core/gnulib/regex.h: Likewise.
14887 * grub-core/gnulib/regex_internal.c: Likewise.
14888 * grub-core/gnulib/regex_internal.h: Likewise.
14889
014f47b7
SJ
148902010-09-15 Szymon Janc <szymon@janc.net.pl>
14891
14892 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
14893 CRC calculations and validity checks.
14894 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
14895 calculations.
14896
dd521a4a
SJ
148972010-09-15 Szymon Janc <szymon@janc.net.pl>
14898
14899 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
14900
79c4eeb9
VS
149012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14902
14903 Fix incorrect echo options handling.
14904 Reported by: Yves Blusseau.
14905
14906 * include/grub/command.h (grub_command_flags_t): New flags
14907 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
14908 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
14909 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
14910
ed80f7d5
VS
149112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
14914 users updated.
14915 (GRUB_COMMAND_FLAG_MENU): Likewise.
14916 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14917 (GRUB_COMMAND_FLAG_TITLE): Removed.
14918 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14919 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
14920 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
14921 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
14922 (grub_command_flags_t): New enum. All users updated.
14923
5fe7620a
SG
149242010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
14925
14926 Fix solaris compilation.
14927
14928 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
14929 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
14930 (grub-emu-list): Likewise.
14931
545b752f
VS
149322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14933
14934 Remove deprecated root command.
14935
14936 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
14937 updated.
14938
6c1a338c
VS
149392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14940
14941 * util/i386/pc/grub-setup.c: Merge this ...
14942 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
14943 * util/grub-setup.c: ... into this.
14944 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
14945 New struct.
14946
149472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14948
14949 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
14950 possible.
14951
d2ea4551
VS
149522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14953
14954 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
14955 allocate p.
14956
3c3b5040
VS
149572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14958
14959 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14960 explicit root argument to set to prevent UUID to be interpreted as
14961 argument to set.
14962
b71c3fae
VS
149632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
14966
275433e6
VS
149672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14968
14969 Don't export grub_gate_a20.
14970
14971 * grub-core/kern/i386/pc/init.c: Remove leftovers.
14972 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
14973 to ...
14974 (grub_gate_a20): ... this. All users updated.
14975 * include/grub/i386/pc/init.h: Removed. All users updated.
14976
a5dbb1f1
VS
149772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 Create euro.pf2 which supports most European languages.
14980
14981 * Makefile.am (grubdata_DATA): Add euro.pf2.
14982 (euro.pf2): New target.
14983 (CLEANFILES): Add euro.pf2.
14984
62a747cb
VS
149852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14986
14987 * configure.ac: Disable emu-usb by default to prevent inadvertent
14988 device takeover.
14989
608e43b1
VS
149902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 Disable usbserial on grub-emu since our libusb code isn't good enough
14993 yet.
14994
14995 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
14996 (usbserial_pl2303): Likewise.
14997 (usbserial_ftdi): Likewise.
14998
94564f81
VS
149992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15000
15001 * include/grub/disk.h (grub_disk): Remove has_partitions.
15002 All users updated.
15003 * disk/loopback.c (grub_loopback): Remove has_partitions.
15004 All users updated.
15005 (options): Remove partitions. All users updated.
15006 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15007 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15008 actual partition table is found.
15009
3352800b
VS
150102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 Remove readability checks (too many false negatives).
15013
15014 * util/grub-install.in: Remove readability checks.
15015 * util/grub-mkconfig.in: Likewise.
15016 * util/grub.d/10_hurd.in: Likewise.
15017 * util/grub.d/10_kfreebsd.in: Likewise.
15018 * util/grub.d/10_linux.in: Likewise.
15019 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15020 way.
15021
2419f17a
VS
150222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15023
15024 Enable acpi shutdown on all ACPI platforms.
15025
15026 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15027 on coreboo, multiboot and EFI.
15028 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15029 (grub_acpi_halt): Likewise.
15030 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15031 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15032 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15033 * grub-core/lib/i386/halt.c (grub_halt)
15034 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15035
0575c7c3
VS
150362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15037
15038 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15039 context.
15040
54ac3cd1
VS
150412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15044 * grub-core/video/efi_uga.c: Likewise.
15045
b2a30ac5
VS
150462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 Filter devaliases and never open same device twice.
15049
15050 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15051 (last_ihandle): Likewise.
15052 (ofdisk_hash_ent): New member shortest.
15053 (ofdisk_hash_add): Add canonical path too.
15054 (scan): New function.
15055 (grub_ofdisk_iterate): Iterate over hashed entries.
15056 (compute_dev_path): Don't add :0.
15057 (grub_ofdisk_open): Don't really open the disk.
15058 (grub_ofdisk_close): Avoid closing unrelated disk.
15059 (grub_ofdisk_read): Implement reopen logic.
15060 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15061 New function.
15062 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15063 New proto.
15064
fb53b340
VS
150652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 Fix sparc64.
15068
15069 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15070 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15071 right address. Add sparc64_ieee1275_ldflags.
15072 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15073 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15074 to grub_host_to_target_addr
15075 (load_image): Likewise.
15076
f452b040
VS
150772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15078
15079 * grub-core/normal/completion.c (complete_file): Handle device
15080 containing slash.
15081 Fix based on patch by Doug Nazar.
15082
9b5b2541
VS
150832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 grub-mknetdir script.
15086
15087 * Makefile.util.def (grub-mknetdir): New module.
15088 * tests/util/grub-shell.in: Support boot=net
15089 * util/grub-mknetdir.in: New file.
15090
9d2be652
VS
150912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 videoinfo on non-vbe.
15094
15095 * grub-core/Makefile.core.def (vbeinfo): Removed.
15096 (vbetest): Removed.
15097 (videoinfo): New module.
15098 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15099 * grub-core/commands/i386/pc/vbetest.c: Removed.
15100 * grub-core/commands/videoinfo.c: New file.
15101 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15102 specification.
15103 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15104 as vbetest.
15105 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15106 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15107 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15108 mode_number. New parameter mode. All users updated.
15109 (grub_video_gop_iterate): New function.
15110 (grub_video_efi_gop): New member iterate.
15111 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15112 (grub_vbe_set_video_mode): Remove setting useless fields.
15113 (vbe2videoinfo): New function.
15114 (grub_video_vbe_iterate): Likewise.
15115 (grub_video_vbe_setup): Use vbe2videoinfo.
15116 (grub_video_vbe_print_adapter_specific_info): New function.
15117 (grub_video_vbe_adapter): New fields iterate and
15118 print_adapter_specific_info.
15119 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15120 All users updated.
15121 (grub_video_mode_info): New field mode_number.
15122 (grub_video_adapter): New fields iterate and
15123 print_adapter_specific_info.
15124
179503f5
TG
151252010-09-13 Tristan Gingold <gingold@free.fr>
151262010-09-13 Robert Millan <rmh.grub@aybabtu.com>
151272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15128
15129 * grub-core/commands/efi/lsefisystab.c: New file.
15130 * grub-core/commands/efi/lssal.c: Likewise.
15131 * grub-core/Makefile.core.def (lsacpi): New module.
15132 (lsefisystab): Likewise.
15133 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15134 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15135 (grub_efi_sal_system_table): New struct.
15136 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15137 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15138 (grub_efi_sal_system_table_platform_features): Likewise.
15139 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15140 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15141 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15142 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15143
cf9827de
VS
151442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15145
15146 Support explicit user claim that a device is BIOS-visible.
15147
15148 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15149 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15150 * grub-core/kern/emu/hostdisk.c
15151 (convert_system_partition_to_system_disk): Support mdX.
15152 (find_system_device): New parameter add. All users updated.
15153 (grub_util_biosdisk_is_present): New function.
15154 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15155 proto.
15156
53f0eb1f
VS
151572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 Search hints support.
15160
15161 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15162 All users updated.
15163
b23ffd70
YB
151642010-09-13 Yves Blusseau <blusseau@zetam.org>
15165
15166 Bash completion script for util commands
15167
15168 * Makefile.am: Add util/bash-completion.d directory
15169 * configure.ac: Likewise.
15170 * util/bash-completion.d/Makefile.am: New file.
15171 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15172
d547dc28
VS
151732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15176 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15177 Reported by: Yves Blusseau.
15178
2fc8ccb9
VS
151792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15180
15181 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15182 partition size and offset.
15183
d8a84076
VS
151842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15185
15186 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15187
84fb3b3d
VS
151882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15191
768ec2e2
VS
151922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15193
15194 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15195 (grub_xvasprintf): Likewise.
15196
4870900f
VS
151972010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15198
15199 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15200
faca6bec
VS
152012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15202
15203 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15204 args ending with NULL.
15205
152062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
15207
15208 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15209 pointer.
15210
3c70f225
SJ
152112010-09-11 Szymon Janc <szymon@janc.net.pl>
15212
15213 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15214
4df7996d
VS
152152010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 Shutdown using ACPI.
15218
15219 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15220 * grub-core/commands/acpihalt.c: New file.
15221 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15222 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15223 (grub_acpi_halt): New proto.
15224 (GRUB_ACPI_SLP_EN): New const.
15225 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15226 (GRUB_ACPI_OPCODE_*): New enum.
15227 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15228
126b4c32
TG
152292010-09-11 Tristan Gingold <gingold@free.fr>
152302010-09-11 Robert Millan <rmh.grub@aybabtu.com>
152312010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15232
15233 * commands/lsacpi.c: New file.
15234 * grub-core/Makefile.core.def (lsacpi): New module.
15235 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15236 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15237 (grub_acpi_madt_entry_header): New struct.
15238 (grub_acpi_madt): Likewise.
15239 (grub_acpi_madt_entry_interrupt_override): Likewise.
15240 (grub_acpi_madt_entry_sapic): Likewise.
15241 (grub_acpi_madt_entry_lsapic): Likewise.
15242 (grub_acpi_madt_entry_platform_int_source): Likewise.
15243 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15244 (PRIuGRUB_UINT32_T): Likewise.
15245 (PRIxGRUB_UINT64_T): Likewise.
15246
1aa4fe88
VS
152472010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15248
15249 Implement loading palette on ieee1275_fb.
15250
15251 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15252 (have_setcolors): Likewise.
15253 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15254 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15255 (grub_video_ieee1275_set_palette): Implement.
15256
25761e13
VS
152572010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
152582010-09-11 Colin Watson <cjwatson@ubuntu.com>
15259
15260 * util/grub-install.in (grub_partition): New variable.
15261 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15262 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15263 Fixes a bug reported by Yves Blusseau.
15264
050abaea
VS
152652010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15266
15267 Fix emu on mipsel.
15268
15269 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15270 =grub_cpu_flush_cache on all mips and not only yeeloong.
15271 * configure.ac (COND_mips): New conditional.
15272 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15273 platforms.
15274 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15275 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15276 [GRUB_LINKER_HAVE_INIT]: New function.
15277 (grub_emu_post_init): Likewise.
15278 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15279 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15280 * include/grub/cache.h (_mips): Include mips/cache.h.
15281 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15282 LVM and RAID prototypes.
15283 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15284 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15285 function.
15286
5ed7d816
CW
152872010-09-10 Colin Watson <cjwatson@ubuntu.com>
15288
15289 * util/grub-install.in: Don't try to verify core.img until after
15290 running grub-mkimage to create it.
15291
90367e04
RM
152922010-09-10 Robert Millan <rmh@gnu.org>
15293
15294 * util/grub.d/10_hurd.in: Add misc readability checks.
15295 * util/grub.d/10_kfreebsd.in: Likewise.
15296 * util/grub.d/10_linux.in: Likewise.
15297
c452fa66
CW
152982010-09-10 Colin Watson <cjwatson@ubuntu.com>
15299
15300 * util/grub-install.in: ${imgext} won't be defined here until the
15301 install branch is merged. For the meantime, only verify core.img on
15302 i386-pc and sparc64-ieee1275 platforms.
15303
c38fe9f4
RM
153042010-09-10 Robert Millan <rmh@gnu.org>
15305
15306 Solaris support in grub_find_zpool_from_dir(). Thanks
15307 Seth Goldberg for referring to getextmntent() facility.
15308
15309 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15310 `sys/mkdev.h'.
15311 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15312 `<sys/mnttab.h>'.
15313 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15314 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15315 method for finding zpool name.
15316
905f7773
CW
153172010-09-10 Colin Watson <cjwatson@ubuntu.com>
15318
15319 grub-fstest needs the host and hostfs modules while other utilities
15320 actively require those modules to be absent, so grub-fstest needs
15321 its own initialisation and finalisation code.
15322
15323 * Makefile.am (grub_fstest.pp): New target.
15324 (grub_fstest_init.lst): Likewise.
15325 (grub_fstest_init.c): Likewise.
15326 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15327
fb90b546
RM
153282010-09-10 Robert Millan <rmh@gnu.org>
15329
15330 * configure.ac: Check for `struct statfs.f_fstypename' and
15331 `struct statfs.f_mntfromname'.
15332
15333 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15334 kFreeBSD-specific code.
15335
66d4bea5
RM
153362010-09-10 Robert Millan <rmh@gnu.org>
15337
15338 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15339 on ZFS. Now non-main filesystems are supported as / too.
15340
b6a690ee
CW
153412010-09-09 Colin Watson <cjwatson@ubuntu.com>
15342
15343 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15344 and grub-core/disk/host.c to ...
15345 (grub-fstest): ... here. Having the host disk implementation
15346 present confuses grub-probe and other utility programs.
15347
15348 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15349 when writing to a file, not when writing to stdout.
15350
8901b00c 153512010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15352
15353 * tests/partmap_test.in: New test for partitions.
15354 * Makefile.util.def: Rules for new test.
15355
7bf45fdd
RM
153562010-09-09 Robert Millan <rmh@gnu.org>
15357
15358 * util/grub-probe.c (probe): Fix a pair of unhandled error
15359 conditions.
15360
4dfbc574
RM
153612010-09-09 Robert Millan <rmh@gnu.org>
15362
15363 Basic Btrfs support (detection and UUID).
15364
15365 * grub-core/fs/btrfs.c: New file.
15366 * Makefile.util.def (library): Register btrfs.c.
15367 * grub-core/Makefile.core.def: Likewise.
15368
6b8e78ae
RM
153692010-09-08 Robert Millan <rmh@gnu.org>
15370
15371 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15372 with (optional) parameters to specify device and relative path.
15373 * util/grub-install.in: Use is_path_readable_by_grub() to
15374 verify readability of a few critical files.
15375 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15376 verify readability of grub.cfg.new.
15377
27f21a8b
VS
153782010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 Split minix.mod into minix.mod and minix2.mod.
15381
15382 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15383 * grub-core/Makefile.core.def (minix2): New module.
15384 * grub-core/fs/minix.c: Use definitions instead of runtime version
15385 checking.
15386 * grub-core/fs/minix2.c: New file.
15387
c0e53ea5
YB
153882010-09-08 Yves Blusseau <blusseau@zetam.org>
15389
15390 Add new --boot-directory option to replace --root-directory
15391
15392 * util/grub-install.in: Add new --boot-directory option
15393 * util/grub-reboot.in: Likewise.
15394 * util/grub-set-default.in: Likewise.
15395
b9fe6ea2
YB
153962010-09-08 Yves Blusseau <blusseau@zetam.org>
15397
15398 * util/grub-mkconfig.in: Use new variable.
15399
d87aedff
YB
154002010-09-08 Yves Blusseau <blusseau@zetam.org>
15401
15402 * configure.ac: Define some useful variables.
15403
e55e8495
VS
154042010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15407 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15408 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15409 Use terminfo and don't use cursor-on/cursor-off unless it's known
15410 to work.
15411 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15412 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15413
6fa6d675
CW
154142010-09-08 Colin Watson <cjwatson@ubuntu.com>
15415
15416 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15417 starts with "(,", fill the drive containing the loaded image in
15418 between those two characters, but expect that a full partition
15419 specification including partition map names will follow.
15420
92f2aef0
RM
154212010-09-08 Robert Millan <rmh@gnu.org>
15422
15423 * configure.ac: Remove `--enable-grub-fstest' option.
15424 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15425
15426 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15427 `grub-fstest' instead of `grub-probe' for readability verification.
15428 * util/grub-probe.c (probe): Remove readability verification kludge.
15429
99fd620d
RM
154302010-09-08 Robert Millan <rmh@gnu.org>
15431
15432 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15433 initializing `GRUB_FS'.
15434
058e30ac 154352010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15436
15437 Not command (!) support to GRUB script.
15438
15439 * tests/grub_script_not.in: New test.
15440 * Makefile.util.def: Rules for new test.
15441
15442 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15443 ! command as a special case.
15444 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15445
b61d05ed 154462010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15447
058e30ac 15448 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15449 grub_free.
b61d05ed 15450
4d69c786 154512010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15452
15453 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15454
aa3119c4 154552010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15456
15457 * docs/grub.texi (Shell-like scripting): Documentation for break,
15458 continue, shift and return commands.
15459
db0f7e3d
VS
154602010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15461
15462 Rename CD-ROM to cd on BIOS.
15463
15464 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15465 "cd".
15466 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15467
88b87c93
VS
154682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15471 * util/grub-probe.c (main): Likewise.
15472 * util/i386/pc/grub-setup.c (main): Likewise.
15473 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15474 Reported and debugged by: alexxy
15475
294f324d
VS
154762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15479 diagnostic info.
15480
d7ee3441
JS
154812010-09-05 Jo Shields <directhex@apebox.org>
15482
15483 * util/grub.d/30_os-prober.in: Add missing classes.
15484
d7e06c1f
VS
154852010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15486
15487 * docs/grub.texi (Theme file format): Document new position format.
15488
fc157e53
VS
154892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15490
15491 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15492 a table. Use @code instead of @verbatim.
15493
506e9a1c
CB
154942010-09-05 Colin D Bennett <colin@gibibit.com>
15495
15496 Gfxmenu documentation.
15497
15498 * docs/grub.texi (Theme file format): New chapter.
15499
f0aff67c
SJ
155002010-09-05 Szymon Janc <szymon@janc.net.pl>
15501
15502 * grub-core/Makefile.core.def (xzio): New module.
15503 * grub-core/io/xzio.c: New file.
15504 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15505 * grub-core/lib/xzembed/xz_config.h: Likewise.
15506 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15507 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15508 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15509 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15510 * grub-core/lib/xzembed/xz_private.h: Likewise.
15511 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15512 * include/grub/file.h (grub_file_filter_id): New compression filter
15513 GRUB_FILE_FILTER_XZIO.
15514
82a85062
VS
155152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15516
15517 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15518 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15519 size.
15520
3579415d
VS
155212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
15524 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
15525
5124ae6d
VS
155262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15527
15528 Uncompressed checksum support.
15529
15530 * grub-core/commands/hashsum.c (options): Add option --uncompress.
15531 (check_list): New parameter uncompress.
15532 (grub_cmd_hashsum): Handle --uncompress.
15533
9aadb3d1
VS
155342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15535
15536 Reintroduce testload.
15537
15538 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
15539 from here ...
15540 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
15541 (GRUB_MOD_INIT): New function.
15542 (GRUB_MOD_FINI): Likewise.
15543 * grub-core/Makefile.core.def (testload): New module.
15544
a17792c3
SJ
155452010-09-05 Szymon Janc <szymon@janc.net.pl>
15546
15547 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
15548 (uint8_t): New type.
15549 (uint16_t): Likewise.
15550 (uint32_t): Likewise.
15551 (uint64_t): Likewise.
15552
b81e40a3
SJ
155532010-09-05 Szymon Janc <szymon@janc.net.pl>
15554
15555 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
15556
fc2ef117
VS
155572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15558
15559 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
15560 Made static.
15561 (grub_gzfile_open): Removed. All users updated.
15562 (GRUB_MOD_INIT): New function.
15563 (GRUB_MOD_FINI): Likewise.
15564 * grub-core/kern/file.c (grub_file_filters_all): New variable.
15565 (grub_file_filters_enabled): Likewise.
15566 (grub_file_open): Handle filters.
15567 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
15568 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
15569 * include/grub/file.h (grub_file_filter_id_t): New type.
15570 (grub_file_filter_t): Likewise.
15571 (grub_file_filters_all): New extern variable.
15572 (grub_file_filters_enabled): Likewise.
15573 (grub_file_filter_register): New inline function.
15574 (grub_file_filter_unregister): Likewise.
15575 (grub_file_filter_disable): Likewise.
15576 (grub_file_filter_disable_compression): Likewise.
15577 * include/grub/gzio.h: Removed.
15578
35ee15e0
BC
155792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15580
15581 Filename expansion support for wildcards in GRUB script.
15582
15583 * tests/grub_script_expansion.in: New test.
15584 * Makefile.util.def: Rule for new test.
15585
15586 * grub-core/commands/wildcard.c: New file, implements filename
15587 expansion support for GRUB script.
15588 * grub-core/Makefile.core.def: Rule update for regexp.mod.
15589 * grub-core/script/argv.c: Cosmetic changes.
15590 * grub-core/script/execute.c (grub_script_arglist_to_argv):
15591 Refactored to perform wildcard expansion on arguments.
15592 * include/grub/script_sh.h (grub_script_wildcard_translator): New
15593 struct.
15594
15595 * tests/util/grub-shell.in: Fix quoting for read input.
15596
5f0c4aca
BC
155972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15598
15599 Support for updating environment variables with matched substrings
15600 of regexp.
15601
15602 * tests/grub_cmd_regexp.in: New test.
15603 * Makefile.util.def: Rule for new test.
15604
15605 * grub-core/commands/regexp.c: New option -s to update environment
15606 variables with regexp matches.
15607
3759a35f
SJ
156082010-09-04 Szymon Janc <szymon@janc.net.pl>
15609
15610 * include/grub/file.h (grub_file): New member not_easly_seekable.
15611 (grub_file_seekable): New inline function.
15612 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
15613 easily seekable.
15614 (grub_gzio_open): Set not_easly_seekable.
15615 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
15616 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
15617
ed8c6dec
BC
156182010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15619
15620 Support for options to appear multiple times on cmdline.
15621
15622 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
15623 * grub-core/commands/extcmd.c: Support for repeatable option.
15624 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
15625 repeatable option support.
15626
15627 Refactor menuentry into a regular command.
15628
15629 * grub-core/commands/menuentry.c: New file, menuentry command
15630 implementation.
15631 * grub-core/Makefile.core.def: Rule update for normal.mod.
15632 * grub-core/normal/main.c: Moved menuentry creation to
15633 grub-core/commands/menuentry.c.
15634 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
15635 (grub_menu_execute_entry_real): Removed.
15636 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
15637 function.
15638 (grub_script_execute_menuentry): Removed.
15639 * grub-core/script/parser.y (menuentry): Removed.
15640 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
15641 * grub-core/script/yylex.l (menuentry): Removed.
15642 * include/grub/menu.h (grub_menu_init): New prototype.
15643 (grub_menu_fini): New prototype.
15644 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
15645 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
15646 (grub_script_execute_sourcecode): New prototype.
15647
dacd0cf0
BC
156482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15649
15650 "return" command for GRUB script functions.
15651
15652 * tests/grub_script_return.in: New test.
15653 * Makefile.util.def: Rules for new test.
15654
15655 * grub-core/script/execute.c (grub_script_return): New function.
15656 * grub-core/script/main.c: Register/unregister return commaond.
15657 * include/grub/script_sh.h (grub_script_return): New prototype.
15658
52e72f9d
BC
156592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15660
15661 "setparams" command to update positional parameters.
15662
15663 * tests/grub_script_setparams.in: New test.
15664 * Makefile.util.def: Rules for new test.
15665
15666 * grub-core/script/argv.c (grub_script_argv_make): New function.
15667 * grub-core/script/execute.c (replace_scope): New function.
15668 (grub_script_setparams): New function.
15669 * grub-core/script/lexer.c: Remove unused variables.
15670 * grub-core/script/main.c: Register/unregister setparams command.
15671 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
15672 (grub_script_setparams): New prototype.
15673
25b60c91
BC
156742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15675
15676 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
15677 grub_free order.
15678
37e7bf68
BC
156792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15680
15681 Support for passing block of commands as an argument to extcmds.
15682
15683 * Makefile.util.def: Rules for new test.
15684 * tests/grub_script_blockarg.in: New test.
15685 * grub-core/tests/test_blockarg.c: New file, block argument
15686 command used in the test.
15687
15688 * include/grub/extcmd.h (grub_extcmd_context): New struct.
15689 (grub_register_extcmd_prio): New function prototype.
15690 (grub_extcmd_dispatcher): New function prototype.
15691 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
15692 type.
15693 * include/grub/script_sh.h (struct grub_script): New members
15694 `children', `next_siblings' and `refcnt' for block arguments and
15695 reference counting.
15696 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
15697 (grub_script_arg): New member `script' for block argument.
15698 (grub_script_argv): New member `script' for block argument.
15699 (grub_parser_param): New member `scripts' for block argument.
15700 (grub_script_mem_free): New extern function prototype.
15701 (grub_script_ref): New function prototype.
15702 (grub_script_unref): New function prototype.
15703
15704 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
15705 extcmd form to support block arguments.
15706 * grub-core/script/argv.c: Block arguments support.
15707 * grub-core/script/execute.c: Likewise.
15708 * grub-core/script/lexer.c: Likewise.
15709 * grub-core/script/main.c: Likewise.
15710 * grub-core/script/script.c: Likewise.
15711 * grub-core/script/parser.y: Likewise. New `block' and `block0'
15712 non-terminals.
15713
15714 * grub-core/commands/acpi.c: Update extcmd implementations with
15715 grub_extcmd_context_t.
15716 * grub-core/commands/cat.c: Likewise.
15717 * grub-core/commands/echo.c: Likewise.
15718 * grub-core/commands/extcmd.c: Likewise.
15719 * grub-core/commands/hashsum.c: Likewise.
15720 * grub-core/commands/hdparm.c: Likewise.
15721 * grub-core/commands/help.c: Likewise.
15722 * grub-core/commands/hexdump.c: Likewise.
15723 * grub-core/commands/i386/cpuid.c: Likewise.
15724 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15725 * grub-core/commands/i386/pc/halt.c: Likewise.
15726 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15727 * grub-core/commands/iorw.c: Likewise.
15728 * grub-core/commands/keystatus.c: Likewise.
15729 * grub-core/commands/loadenv.c: Likewise.
15730 * grub-core/commands/ls.c: Likewise.
15731 * grub-core/commands/lspci.c: Likewise.
15732 * grub-core/commands/memrw.c: Likewise.
15733 * grub-core/commands/probe.c: Likewise.
15734 * grub-core/commands/search_wrap.c: Likewise.
15735 * grub-core/commands/setpci.c: Likewise.
15736 * grub-core/commands/sleep.c: Likewise.
15737 * grub-core/disk/loopback.c: Likewise.
15738 * grub-core/hello/hello.c: Likewise.
15739 * grub-core/loader/i386/bsd.c: Likewise.
15740 * grub-core/loader/xnu.c: Likewise.
15741 * grub-core/term/gfxterm.c: Likewise.
15742 * grub-core/term/serial.c: Likewise.
15743 * grub-core/tests/lib/functional_test.c: Likewise.
15744
888d1500
BC
157452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15746
15747 Multi-line quoted strings support.
15748
15749 * grub-core/script/lexer.c (append_newline): Removed.
15750 (grub_script_lexer_yywrap): Refactored.
15751 (grub_script_lexer_init): Refactored.
15752 * grub-core/script/yylex.l (yywrap): New function.
15753 (grub_lexer_resplit): New function.
15754 (grub_lexer_unput): New function.
15755 * include/grub/script_sh.h (grub_lexer_param): New members, unput
15756 and resplit.
15757 * tests/grub_script_echo1.in: Added few more testcases.
15758
dda060dd
VS
157592010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15760
15761 * grub-core/kern/misc.c: Don't add abort alias in utils.
15762 Reported by: echoline.
15763
6556eba9
BC
157642010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
15765
15766 Add missing files into "make dist" tarball for other platforms.
15767
15768 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
15769 * conf/Makefile.common (dist_noinst_DATA): New variable.
15770 * conf/Makefile.extra-dist: Added missing make dist files.
15771 * grub-core/Makefile.core.def: Likewise.
15772
c8e7bf5f
VS
157732010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15774
15775 Compress grub_prefix.
15776
15777 * grub-core/boot/i386/pc/lnxboot.S: Use
15778 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
15779 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
15780 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
15781 GRUB_MACHINE_PREFIX_END. All users updated.
15782 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
15783 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
15784 + 0x40.
15785 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15786 * util/grub-mkimage.c (image_target_desc): Change data_end to
15787 prefix_end. All users updated.
15788
a7c00cdb
VS
157892010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
15792 value.
15793 (grub_openbsd_boot): Likewise.
15794 (grub_netbsd_boot): Likewise.
15795 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
15796 (grub_xnu_boot): Likewise.
15797
9f915872
VS
157982010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * configure.ac: Clean LIBS variable after tests.
15801
efa1bee7
CW
158022010-09-02 Colin Watson <cjwatson@ubuntu.com>
15803
15804 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
15805
61d720e5
VS
158062010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15807
15808 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
15809 echo if libdevmapper will be used.
15810
ef8e0ec8
IT
158112010-09-02 Ian Turner <Ian.Turner@deshaw.com>
15812
15813 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
15814 constant for the same file.
15815
03e261d8
VS
158162010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
15819
c2a4eba6
CW
158202010-09-02 Colin Watson <cjwatson@ubuntu.com>
15821
15822 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
15823 grub-core/*.pp.
15824
9056cbf3
CW
158252010-09-02 Colin Watson <cjwatson@ubuntu.com>
15826
15827 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
15828 required by the boot protocol.
15829
15830 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
15831 ebp and edi members.
15832 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
15833 state.ebp and state.edi.
15834 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
15835 %ebp and %edi according to grub_relocator32_ebp and
15836 grub_relocator32_edi respectively.
15837 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
15838 and state.edi.
15839
529cc99a
VS
158402010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 Add i386-pc-pxe image target.
15843
15844 * util/grub-mkimage.c (image_target_desc): New enum value
15845 IMAGE_I386_PC_PXE.
15846 (image_targets): New target i386-pc-pxe.
15847 (generate_image): Handle i386-pc-pxe image.
15848
9a093920
VS
158492010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 Fix grub_pxe_scan.
15852
15853 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
15854 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
15855 All users updated.
15856 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
15857 (grub_pxe_pxenv): Correct type.
15858
f9cefc4e
CW
158592010-09-01 Colin Watson <cjwatson@ubuntu.com>
15860
15861 * NEWS: Document most of the important changes since 1.98.
15862
4066f57f
CW
158632010-09-01 Colin Watson <cjwatson@ubuntu.com>
15864
15865 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
15866 generated manual page) a little.
15867
da2891f9
CW
158682010-09-01 Colin Watson <cjwatson@ubuntu.com>
15869
15870 * docs/grub.texi: Add myself as an author.
15871
ad717fae
VS
158722010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15873
15874 * Makefile.util.def (libgrub.a): Add missing sunpc.
15875 Reported by: Seth Goldberg.
15876
eefe8abd
VS
158772010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15878
15879 Interrupt wrapping and code simplifications.
15880
9494ef9a
VS
15881 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
15882 x86_noieee1275 which are functionaly equivalent in this case.
15883 (grub-install): Make source on each platform explicit. Enable on
15884 all noemu.
15885 * gentpl.py (x86_efi_pc): Removed group.
15886 (x86_noefi): Likewise.
15887 (i386_noefi): Likewise.
15888 (x86_noieee1275): Likewise.
15889 (i386_noieee1275): Likewise.
15890 (i386_noefi_noieee1275): Likewise.
15891 (i386_pc_qemu_coreboot): Likewise.
15892 (i386_coreboot_multiboot): Likewise.
15893 (i386_pc_coreboot_multiboot_qemu): Likewise.
15894 (x86_noefi_mips): Likewise.
15895 (noieee1275): Likewise.
15896 (ieee1275_mips): Likewise.
15897 (noemu_noieee1275): Likewise.
15898 (cmos): New group.
15899 (usb): Likewise.
15900 (videoinkernel): Likewise.
15901 (videomodules): Likewise.
eefe8abd 15902 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
15903 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
15904 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
15905 include/grub/loader.h, include/grub/msdos_partition.h,
15906 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
15907 include/grub/machine/console.h, include/grub/machine/vga.h,
15908 include/grub/machine/vbe.h, include/grub/machine/init.h,
15909 include/grub/machine/kernel.h, include/grub/cpu/time.h,
15910 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 15911 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
15912 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
15913 * grub-core/Makefile.core.def (kernel): Explicit the source for
15914 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
15915 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
15916 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
15917 Use videoinkernel tag.
15918 (usb): Enable on all usb.
15919 (usbserial_common): Likewise.
15920 (usbserial_pl2303): Likewise.
15921 (usbserial_ftdi): Likewise.
15922 (uhci): Enable on all x86.
15923 (ohci): Enable on all pci.
15924 (cmostest): Enable on all CMOS.
15925 (acpi): Include commands/acpi.c on all platforms.
15926 (halt): Add relevant lib/*/halt.c.
15927 (hdparm): Enable on all pci.
15928 (lspci): Likewise.
15929 (usbtest): Enable on all usb.
15930 (ata): Enable on all pci.
15931 (ata_pthru): Likewise.
15932 (usbms): Enable on all usb.
15933 (usb_keyboard): Likewise.
15934 (font): Use tag videomodules.
15935 (bufio): Likewise.
15936 (datetime): Use tag cmos. Enable on all noemu.
15937 (mmap): Use tags common and x86.
15938 (gfxterm): Use tag videomodules.
15939 (bitmap): Likewise.
15940 (bitmap_scale): Likewise.
15941 (video_fb): Likewise.
15942 (video): Likewise.
15943 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
15944 adjust padding accordingly. All users updated.
15945 (grub_ohci_transaction): Fix bad format specification.
15946 (GRUB_MOD_INIT): Add asserts for struct size.
15947 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
15948 (grub_alloc_td): Likewise.
15949 (grub_free_queue): Likewise.
15950 (grub_uhci_transfer): Likewise.
15951 (grub_uhci_transaction): Fix bad format specification.
15952 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15953 (grub_usb_bulk_readwrite): Likewise.
15954 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
15955 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
15956 Made static.
15957 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
15958 Made static.
15959 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
15960 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
15961 Transformed into C.
15962 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
15963 Moved from here ...
15964 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
15965 ... here. Transformed into C. Made static.
15966 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
15967 Moved from here ...
15968 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
15969 ... here. Transformed into C. Made static.
15970 * grub-core/kern/i386/pc/startup.S
15971 (grub_biosdisk_check_int13_extensions): Moved from here ...
15972 * grub-core/disk/i386/pc/biosdisk.c
15973 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
15974 Made static.
15975 * grub-core/kern/i386/pc/startup.S
15976 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
15977 * grub-core/disk/i386/pc/biosdisk.c
15978 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
15979 Transformed into C. Made static.
15980 * grub-core/kern/i386/pc/startup.S
15981 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
15982 * grub-core/disk/i386/pc/biosdisk.c
15983 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
15984 Transformed into C. Made static.
15985 * grub-core/kern/i386/pc/startup.S
15986 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
15987 * grub-core/disk/i386/pc/biosdisk.c
15988 (grub_biosdisk_get_diskinfo_standard): ... here.
15989 Transformed into C. Made static.
15990 * grub-core/kern/i386/pc/startup.S
15991 (grub_biosdisk_get_num_floppies): Moved from here ...
15992 * grub-core/disk/i386/pc/biosdisk.c
15993 (grub_biosdisk_get_num_floppies): ... here.
15994 Transformed into C. Made static.
15995 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
15996 New function.
15997 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
15998 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
15999 Transformed into C. Made static.
16000 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16001 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16002 Transformed into C. Made static.
16003 * grub-core/kern/i386/ieee1275/init.c: Removed.
16004 * grub-core/kern/i386/misc.S: Likewise.
16005 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16006 Splitted from here ...
16007 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16008 Transformed into C. Made static. All users updated.
16009 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16010 Transformed into C. Made static. All users updated.
16011 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16012 Moved from here...
16013 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16014 Transformed into C. Made static. All users updated.
16015 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16016 Moved from here...
16017 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16018 Transformed into C. Made static. All users updated.
16019 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16020 Removed (replaced by C version).
16021 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16022 Moved from here...
16023 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16024 Transformed into C. Made static.
16025 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16026 Moved from here...
16027 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16028 ... here. Transformed into C.
16029 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16030 Moved from here...
16031 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16032 ... here. Transformed into C.
16033 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16034 Moved from here...
16035 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16036 ... here. Transformed into C. Made static.
16037 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16038 Moved from here...
16039 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16040 ... here. Transformed into C.
21ed554b
VS
16041 * grub-core/kern/i386/pc/startup.S
16042 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16043 * grub-core/video/i386/pc/vbe.c
16044 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
16045 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16046 Moved from here...
16047 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16048 ... here. Transformed into C.
16049 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16050 Moved from here...
16051 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16052 ... here. Transformed into C.
16053 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16054 Moved from here...
16055 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16056 ... here. Transformed into C.
16057 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16058 Moved from here...
16059 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16060 ... here. Transformed into C.
16061 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16062 Moved from here...
16063 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16064 ... here. Transformed into C. Made static.
16065 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16066 Moved from here...
16067 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16068 ... here. Transformed into C. Made static.
16069 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16070 Moved from here...
16071 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16072 ... here. Transformed into C. Made static.
16073 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16074 pxe_rm_entry as third argument.
16075 (grub_bios_interrupt): New function.
16076 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16077 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16078 of calling grub_stop.
16079 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16080 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16081 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16082 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16083 * grub-core/lib/i386/halt.c: Moved from here ...
16084 * grub-core/lib/i386/halt.c: ... here.
16085 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16086 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16087 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16088 grub_stop_floppy.
16089 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16090 * include/grub/i386/coreboot/init.h: Removed.
16091 * include/grub/i386/multiboot/init.h: Likewise.
16092 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16093 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16094 * include/grub/i386/pc/int.h: New file.
16095 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16096 (grub_pxe_scan): Removed.
16097 (grub_pxe_call): Update prototype.
16098 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16099 prototypes.
16100 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16101 * include/grub/i386/qemu/init.h: Removed.
16102 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16103 noreturn.
16104 (grub_halt): Likewise.
16105 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16106 (grub_reboot): Likewise.
16107 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16108 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
16109 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16110
215dd471
RM
161112010-08-30 Robert Millan <rmh@gnu.org>
16112
16113 * NEWS: Document addition of ZFS support in `grub-install' and
16114 `grub-mkconfig'.
16115
ebd65b82
BC
161162010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16117
16118 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16119 dprintf output.
16120
11721d19
VS
161212010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16122
16123 Remove leftover embedding of font objects.
16124
16125 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16126 * util/grub-install.in (font): Removed.
16127 * util/grub-mkimage.c (generate_image): Remove font support. All users
16128 updated.
16129
37837d4e
VS
161302010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16131
16132 Remove leftover embedding of font objects.
16133
16134 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16135 * util/grub-install.in (font): Removed.
16136 * util/grub-mkimage.c (generate_image): Remove font support. All users
16137 updated.
16138
b4c1aae0
VS
161392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16140
16141 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 16142 Reported by: Ian Turner
b4c1aae0 16143
8920a08d
VS
161442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16145
16146 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16147 timeout to avoid indefinite boot stalling.
16148
f21db033
VS
161492010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16152 (grub_env_write_color_highlight): Likewise.
16153
9a9de209
VS
161542010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * grub-core/normal/term.c (print_more): Return to normal and not
16157 to standard state after printing "---MORE---".
16158
3dca01d7
VS
161592010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16162 Mask out the bit 0x80 since it has other meaning that specifiing color.
16163
0b986c40
VS
161642010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 New relocator. Allows for more kernel support and more straightforward
16167 loader writing.
16168
16169 * Makefile.am (BOOTTARGET): New variable.
16170 (QEMU32): Likewise.
16171 (linux.init.x86_64): New target.
16172 (linux.init.i386): Likewise.
16173 (multiboot.elf): Likewise.
16174 (kfreebsd.elf): Likewise.
16175 (kfreebsd.aout): Likewise.
16176 (pc-chainloader.elf): Likewise.
16177 (pc-chainloader.bin): Likewise.
16178 (ntldr.elf): Likewise.
16179 (ntldr.bin): Likewise.
16180 (multiboot2.elf): Likewise.
16181 (kfreebsd.init.x86_64): Likewise.
16182 (kfreebsd.init.i386): Likewise.
16183 (knetbsd.init.i386): Likewise.
16184 (kopenbsd.init.i386): Likewise.
16185 (knetbsd.init.x86_64): Likewise.
16186 (kopenbsd.init.x86_64): Likewise.
16187 (linux-initramfs.i386): Likewise.
16188 (linux-initramfs.x86_64): Likewise.
16189 (kfreebsd-mfsroot.i386.img): Likewise.
16190 (knetbsd.image.i386): Likewise.
16191 (kopenbsd.image.i386): Likewise.
16192 (kopenbsd.image.x86_64): Likewise.
16193 (knetbsd.miniroot-image.i386.img): Likewise.
16194 (kfreebsd-mfsroot.x86_64.img): Likewise.
16195 (knetbsd.image.x86_64): Likewise.
16196 (knetbsd.miniroot-image.x86_64.img): Likewise.
16197 (kfreebsd-mfsroot.i386.gz): Likewise.
16198 (bootcheck-kfreebsd-i386): Likewise.
16199 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16200 (bootcheck-kfreebsd-x86_64): Likewise.
16201 (knetbsd.miniroot-image.i386.gz): Likewise.
16202 (bootcheck-knetbsd-i386): Likewise.
16203 (bootcheck-kopenbsd-i386): Likewise.
16204 (bootcheck-kopenbsd-x86_64): Likewise.
16205 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16206 (bootcheck-knetbsd-x86_64): Likewise.
16207 (bootcheck-linux-i386): Likewise.
16208 (bootcheck-linux-x86_64): Likewise.
16209 (bootcheck-linux16-i386): Likewise.
16210 (bootcheck-linux16-x86_64): Likewise.
16211 (bootcheck-multiboot): Likewise.
16212 (bootcheck-multiboot2): Likewise.
16213 (bootcheck-kfreebsd-aout): Likewise.
16214 (bootcheck-pc-chainloader): Likewise.
16215 (bootcheck-ntldr): Likewise.
16216 (CLEANFILES): Add new targets.
16217 (BOOTCHECKS): New variable.
16218 (.PHONY): Add bootchecks.
16219 (SUCCESSFUL_BOOT_STRING): New variable.
16220 (BOOTCHECK_TIMEOUT): Likewise.
16221 (bootcheck): New target
16222 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16223 * configure.ac: Correct efiemu excuse.
16224 * docs/grub.texi (Supported kernels): New chapter.
16225 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16226 include/grub/mm_private.h. Simplify inclusion of
16227 include/grub/boot.h, include/grub/loader.h
16228 and include/grub/msdos_partition.h
16229 (KERNEL_HEADER_FILES) [i386_coreboot]:
16230 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16231 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16232 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16233 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16234 include/grub/machine/loader.h.
16235 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16236 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16237 extra_dist.
16238 (pci.mod): Enable on i386-multiboot.
16239 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16240 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16241 i386-qemu.
16242 (relocator.mod): Rewritten.
16243 (aout.mod): Enable on all x86.
16244 (bsd.mod): Likewise.
16245 (ntldr.mod): New module.
16246 (linux.mod): Use loader/i386/linux.c on all x86.
16247 (xnu.mod): Enable on all x86.
16248 (vga_text.mod): disable on EFI and QEMU.
16249 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16250 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16251 * grub-core/efiemu/loadcore.c: Likewise.
16252 * grub-core/efiemu/main.c: Likewise.
16253 (grub_efiemu_exit_boot_services): Removed.
16254 (grub_efiemu_finish_boot_services): Likewise.
16255 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16256 function.
16257 * grub-core/efiemu/i386/nocfgtables.c: New file.
16258 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16259 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16260 (grub_efi_finish_boot_services): Moved from here ...
16261 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16262 Fille finish memory map and related data.
16263 (finish_mmap_buf): New variable.
16264 (grub_efi_uintn_t finish_mmap_size): Likewise.
16265 (grub_efi_uintn_t finish_key): Likewise.
16266 (grub_efi_uintn_t finish_desc_size): Likewise.
16267 (grub_efi_uint32_t finish_desc_version): Likewise.
16268 (grub_efi_is_finished): Likewise.
16269 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16270 finished.
16271 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16272 (grub_elf64_phdr_iterate): Likewise.
16273 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16274 (grub_os_area_size): Likewise.
16275 (grub_machine_init): Don't reserve os area.
16276 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16277 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16278 * grub-core/kern/i386/loader.S: Removed.
16279 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16280 (grub_os_area_size): Likewise.
16281 (grub_machine_init): Don't reserve os area.
16282 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16283 Don't call grub_dl_unload_all.
16284 Don't include loader.S.
16285 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16286 Declare the memory after _end as available.
16287 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 16288 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 16289 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
16290 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16291 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16292 * include/grub/mm_private.h (grub_mm_header): ... here.
16293 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16294 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
16295 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16296 (grub_mm_region): ..here. Removed addr. Added pre_size.
16297 All users updated.
16298 * grub-core/kern/mm.c (base): Renamed to ...
16299 (grub_mm_base): ... this. Made global.
16300 (grub_real_malloc): Alloc from end of region.
16301 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16302 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16303 * grub-core/kern/powerpc/cache_flush.S: ... here.
16304 * grub-core/lib/efi/relocator.c: New file.
16305 * grub-core/lib/i386/relocator.c: Rewritten.
16306 * grub-core/lib/i386/relocator16.S: New file.
16307 * grub-core/lib/i386/relocator32.S: Likewise.
16308 * grub-core/lib/i386/relocator64.S: Likewise.
16309 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16310 * grub-core/lib/i386/relocator_common.S: New file.
16311 * grub-core/lib/ieee1275/relocator.c: Likewise.
16312 * grub-core/lib/mips/relocator.c: Rewritten.
16313 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16314 stylistic adjustments.
16315 * grub-core/lib/powerpc/relocator.c: New file.
16316 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16317 * grub-core/lib/relocator.c: Rewritten.
16318 * grub-core/lib/x86_64/relocator_asm.S: New file.
16319 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16320 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16321 (bsd_tag): New struct.
16322 (tags): New variable.
16323 (tags_last): Likewise.
16324 (netbsd_module): New struct.
16325 (netbsd_mods): New variable.
16326 (netbsd_mods_last): Likewise.
16327 (openbsd_opts): New parameter "serial".
16328 (OPENBSD_SERIAL_ARG): New definition.
16329 (netbsd_opts): New parameter "serial".
16330 (NETBSD_SERIAL_ARG): New definition.
16331 (grub_freebsd_add_meta): Reorganised into ...
16332 (grub_bsd_add_meta): ...this. All users updated.
16333 (grub_freebsd_add_mmap): Reorganised into ...
16334 (generate_e820_mmap): ...this...
16335 (grub_bsd_add_mmap): ...and this. All users updated.
16336 (grub_freebsd_list_modules): Use tags.
16337 (grub_netbsd_add_meta_module): New function.
16338 (grub_netbsd_list_modules): Likewise.
16339 (grub_freebsd_boot): Use relocator and finish EFI.
16340 (grub_openbsd_boot): Likewise.
16341 (grub_netbsd_setup_video): New function.
16342 (grub_netbsd_add_modules): Likewise.
16343 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16344 and finish EFI.
16345 (grub_bsd_unload): Unload tags.
16346 (grub_bsd_load_aout): Use relocator.
16347 (grub_bsd_elf32_size_hook): New function.
16348 (grub_bsd_elf32_hook): Use relocator.
16349 (grub_bsd_elf64_size_hook): New function.
16350 (grub_bsd_elf64_hook): Use relocator.
16351 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16352 (grub_bsd_load): Zero-out openbsd_ramdisk.
16353 (grub_bsd_load): Use relocator.
16354 (grub_cmd_openbsd): Support serial.
16355 (grub_cmd_netbsd): Support modules.
16356 (grub_cmd_freebsd_module): Use relocator.
16357 (grub_netbsd_module_load): New function.
16358 (grub_cmd_netbsd_module): Likewise.
16359 (grub_cmd_openbsd_ramdisk): Likewise.
16360 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16361 kopenbsd_ramdisk.
16362 (GRUB_MOD_FINI): Unregister new commands.
16363 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16364 (grub_freebsd_load_elfmodule_obj): Use relocator.
16365 (grub_freebsd_load_elfmodule): Likewise.
16366 (grub_freebsd_load_elf_meta): Likewise.
16367 (grub_netbsd_load_elf_meta): New function.
16368 (grub_openbsd_find_ramdisk): Likewise.
16369 * grub-core/loader/i386/bsd_helper.S: Removed.
16370 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16371 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16372 * grub-core/loader/i386/efi/linux.c: Likewise.
16373 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16374 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16375 (DEFAULT_VIDEO_MODE): Likewise.
16376 (real_mode_target): New variable.
16377 (prot_mode_target): Likewise.
16378 (initrd_mem_target): Likewise.
16379 (relocator): Likewise.
16380 (efi_mmap_buf): Likewise.
16381 (efi_mmap_size): Likewise.
16382 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16383 (free_pages): Use relocator.
16384 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16385 (grub_linux_setup_video): Return error.
16386 (grub_linux_trampoline_start): Removed.
16387 (grub_linux_trampoline_end): Likewise.
16388 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16389 andd video parameters depending on firmware.
16390 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16391 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16392 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16393 (grub_cmd_initrd): Use relocator.
16394 * grub-core/loader/i386/linux_trampoline.S: Removed.
16395 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16396 (elf_sec_entsize): Likewise.
16397 (elf_sec_shstrndx): Likewise.
16398 (elf_sections): Likewise.
16399 (grub_multiboot_load): Use relocator.
16400 (grub_multiboot_get_mbi_size): Account for sections.
16401 (grub_multiboot_make_mbi): Use relocator and support sections.
16402 (grub_multiboot_add_elfsyms): New function.
16403 (grub_multiboot_free_mbi): Free sections.
16404 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16405 (grub_linux_real_target): Likewise.
16406 (grub_linux_real_chunk): Likewise.
16407 (grub_linux16_prot_size): Likewise.
16408 (grub_linux16_boot): Use relocator.
16409 (grub_linux_unload): Unload relocator.
16410 (grub_cmd_linux): Use relocator.
16411 (grub_cmd_initrd): Likewise.
16412 * grub-core/loader/i386/pc/ntldr.c: New file.
16413 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16414 Don't try to guess CPU frequency.
16415 (grub_xnu_set_video): Stretch bitmap.
16416 (grub_xnu_boot): Use relocator.
16417 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16418 (grub_linux_unload): Free relocator.
16419 (grub_linux_load32): Use relocator.
16420 (grub_linux_load64): Likewise.
16421 (grub_cmd_initrd): Likewise.
16422 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16423 (grub_multiboot_unload): Unload relocator.
16424 (grub_cmd_multiboot): Use relocator.
16425 (grub_cmd_module): Likewise.
16426 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16427 Use relocator and support sections.
16428 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16429 (elf_sec_entsize): Likewise.
16430 (elf_sec_shstrndx): Likewise.
16431 (elf_sections): Likewise.
16432 (grub_multiboot_load): Use relocator.
16433 (grub_multiboot_get_mbi_size): Account for sections.
16434 (grub_multiboot_make_mbi): Use relocator and support sections.
16435 (grub_multiboot_add_elfsyms): New function.
16436 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16437 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16438 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16439 Prototype changed. All users updated.
16440 (grub_xnu_align_heap): Simplified.
16441 (grub_xnu_writetree_toheap): Likewise.
16442 (grub_xnu_unload): Unload relocator.
16443 (grub_cmd_xnu_kernel): Use relocator.
16444 (grub_cmd_xnu_kernel64): Likewise.
16445 (grub_xnu_register_memory): Simplified.
16446 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
16447 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16448 EFI is finished.
16449 (grub_console_checkkey): Likewise.
16450 (grub_console_getkey): Likewise.
16451 (grub_console_getwh): Likewise.
16452 (grub_console_getxy): Likewise.
16453 (grub_console_gotoxy): Likewise.
16454 (grub_console_cls): Likewise.
16455 (grub_console_setcolorstate): Likewise.
16456 (grub_console_setcursor): Likewise.
16457 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16458 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16459 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16460 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16461 * grub-core/tests/boot/kernel-8086.S: Likewise.
16462 * grub-core/tests/boot/kernel-i386.S: Likewise.
16463 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16464 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16465 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16466 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16467 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16468 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16469 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16470 * grub-core/tests/boot/linux.cfg: Likewise.
16471 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16472 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16473 * grub-core/tests/boot/linux16.cfg: Likewise.
16474 * grub-core/tests/boot/multiboot.cfg: Likewise.
16475 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16476 * grub-core/tests/boot/ntldr.cfg: Likewise.
16477 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16478 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16479 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16480 New definition.
16481 * include/grub/dl.h (grub_dl_unload_all): Removed.
16482 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16483 (grub_efi_finish_boot_services): Change prototype.
16484 (grub_efi_is_finished): New variable.
16485 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16486 Changed prototype.
16487 (grub_efiemu_finish_boot_services): Removed.
16488 (grub_machine_efiemu_init_tables): New prototype.
16489 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16490 (grub_elf64_phdr_iterate): Likewise.
16491 * include/grub/i386/bsd.h: Include relocator.h.
16492 (freebsd_tag_header): New struct.
16493 (grub_openbsd_bios_mmap): Removed.
16494 (grub_unix_real_boot): Removed.
16495 (grub_freebsd_load_elfmodule32): Changed prototype.
16496 (grub_freebsd_load_elfmodule_obj64): Likewise.
16497 (grub_freebsd_load_elf_meta32): Likewise.
16498 (grub_freebsd_load_elf_meta64): Likewise.
16499 (grub_freebsd_add_meta): Removed.
16500 (grub_netbsd_load_elf_meta32): New prototype.
16501 (grub_netbsd_load_elf_meta64): Likewise.
16502 (grub_bsd_add_meta): Likewise.
16503 (grub_openbsd_ramdisk_descriptor): New struct.
16504 (grub_openbsd_find_ramdisk32): New prototype.
16505 (grub_openbsd_find_ramdisk64): Likewise.
16506 * include/grub/i386/coreboot/loader.h: Removed.
16507 * include/grub/i386/efi/loader.h: Likewise.
16508 * include/grub/i386/ieee1275/loader.h: Likewise.
16509 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16510 to grub_uint32_t.
16511 * include/grub/i386/loader.h: Removed.
16512 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16513 value.
16514 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16515 (grub_phys_addr_t): New type.
16516 (grub_vtop): New inline function.
16517 (grub_map_memory): Likewise.
16518 (grub_unmap_memory): Likewise.
16519 * include/grub/i386/multiboot/loader.h: Removed.
16520 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16521 (NETBSD_BTINFO_CONSOLE): New definition.
16522 (NETBSD_BTINFO_SYMTAB): Likewise.
16523 (NETBSD_BTINFO_MODULES): Likewise.
16524 (NETBSD_BTINFO_FRAMEBUF): Likewise.
16525 (grub_netbsd_bootinfo): New struct.
16526 (grub_netbsd_btinfo_common): Use explicit bitsize.
16527 (grub_netbsd_btinfo_mmap_entry): Removed.
16528 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
16529 (grub_netbsd_btinfo_bootdisk): New struct.
16530 (grub_netbsd_btinfo_symtab): Likewise.
16531 (grub_netbsd_btinfo_serial): Likewise.
16532 (grub_netbsd_btinfo_modules): Likewise.
16533 (grub_netbsd_btinfo_framebuf): Likewise.
16534 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
16535 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
16536 Likewise.
16537 (grub_openbsd_bootargs): Use explicit bitsize.
16538 (grub_openbsd_bootarg_console): New struct.
16539 (GRUB_OPENBSD_COM_MAJOR): New definition.
16540 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
16541 * include/grub/i386/pc/efiemu.h: Removed.
16542 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
16543 * include/grub/i386/qemu/loader.h: Removed.
16544 * include/grub/i386/relocator.h: Rewritten.
16545 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
16546 * include/grub/mips/memory.h: New file.
16547 * include/grub/mips/multiboot.h: Rewritten.
16548 * include/grub/mips/relocator.h: Rewritten.
16549 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
16550 (grub_vtop): New function.
16551 (grub_map_memory): Likewise.
16552 (grub_unmap_memory): Likewise.
16553 * include/grub/misc.h (ALIGN_DOWN): New definition.
16554 * include/grub/mm.h (grub_mm_check_real): New proto.
16555 (GRUB_MM_CHECK): New definition.
16556 * include/grub/mm_private.h: New file.
16557 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
16558 (grub_multiboot_get_mbi_size): Removed.
16559 (grub_multiboot_make_mbi): Change prottype.
16560 (grub_multiboot_set_accepts_video): New proto.
16561 (grub_multiboot_add_elfsyms): Likewise.
16562 (grub_multiboot_payload_eip): New variable.
16563 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
16564 New prototype.
16565 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
16566 New definition.
16567 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
16568 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
16569 * include/grub/powerpc/ieee1275/loader.h: Removed.
16570 * include/grub/powerpc/memory.h: New file.
16571 * include/grub/powerpc/relocator.h: Likewise.
16572 * include/grub/relocator.h: Likewise.
16573 * include/grub/relocator_private.h: Likewise.
16574 * include/grub/sparc64/ieee1275/loader.h: Removed.
16575 * include/grub/x86_64/memory.h: New file.
16576 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
16577 (grub_xnu_heap_malloc): Likewise.
16578 (grub_xnu_heap_real_start): Removed.
16579 (grub_xnu_heap_start): Likewise.
16580 (grub_xnu_relocator): New variable.
16581 (grub_xnu_heap_target_start): Likewise.
16582 * tests/util/grub-shell.in: Support non-pc.
16583 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 16584
5303b85d
VS
165852010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16586
16587 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
16588 on malloc error.
16589 (grub_bidi_logical_to_visual): Check that malloc succeded.
16590 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
16591 puts.
16592 (grub_xputs_normal): Likewise.
16593
d768d159
VS
165942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16595
16596 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
16597 extra_dist.
16598
165992010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16600
16601 * grub-core/efiemu/runtime/efiemu.sh: Removed.
16602
5bf84df4
VS
166032010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16604
16605 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
16606
3626810e
VS
166072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16608
16609 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
16610 dprintf.
16611
a7363f53
BC
166122010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
16613
16614 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
16615
902f75f6
VS
166162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16617
16618 * grub-core/normal/term.c (print_more): Fix a memory leak.
16619 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
16620 (grub_xputs_normal): Likewise.
16621
3c707967
VS
166222010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16623
16624 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
16625 the begining of the string
16626
2053cc07
VS
166272010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16628
16629 * grub-core/script/script.c (grub_script_parse): Free parsed on
16630 failure.
16631
46422ebf
VS
166322010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
16635 on failure.
16636
9e0fa3f6
VS
166372010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16638
16639 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
16640 return.
16641
3393cf16
VS
166422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16643
16644 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
16645 (scroll_up): Fix a memory leak.
16646
b17540cb
VS
166472010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16648
16649 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
16650 errors.
16651
67140446
VS
166522010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
16653
16654 Handle USB pendrives exposed as floppies.
16655
16656 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
16657 floppy.
16658 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16659 Check for partitions on all devices.
16660
e35e46fc
VS
166612010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16662
16663 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
16664 (readkey): Likewise.
16665
d24c6190
BC
166662010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16667
16668 Multiple variable names support to "export" command.
16669
16670 * normal/context.c (grub_cmd_export): "export" command supports
16671 multiple variable names.
16672
04ddcc6a
ST
166732010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
16674
16675 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
16676 --target=drive output to Mach device name.
16677
0c8b61d8
BC
166782010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16679
16680 New Automake based build system for GRUB.
16681
16682 * ABOUT-NLS: New file.
16683 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
16684 in Makefile.util.def file.
16685 * Makefile.util.def: New file. Autogen build definitions file for
16686 GRUB host utils.
16687 * conf/Makefile.common: New file. Common variables for GRUB host
16688 utils and target modules.
16689 * conf/Makefile.extra-dist: New file. Extra files for make dist.
16690 * docs/Makefile.am: New file. Automake file for docs.
16691 * gentpl.py: New file. Python script to generate Autogen
16692 template.
16693 * grub-core/Makefile.am: New file. GRUB target modules' rules
16694 that doesn't fit in Makefile.core.def file.
16695 * grub-core/Makefile.core.def: New file. Autogen build
16696 definitions file for GRUB target modules.
16697 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
16698 specific setjmp.S file.
16699 * po/Makefile.am: New file.
16700
16701 * .bzrignore: New ignores.
16702 * INSTALL: New requirements, without Ruby.
16703 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
16704 * autogen.sh: Updated to invoke autogen as necessary.
16705 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
16706 and defines for Automake conditionals.
16707 * geninit.sh: Refactoring.
16708
16709 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
16710 necessary.
16711 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
16712 New prototype.
16713
16714 * include/grub/test.h: Fix functional test modules' naming.
16715 * grub-core/tests/example_functional_test.c: Fix test module name.
16716
16717 * util/misc.c: Hosted versions' of grub functions for libgrub.a
16718 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
16719 * util/grub-editenv.c: Likewise.
16720 * util/grub-fstest.c: Likewise.
16721 * util/grub-mkdevicemap.c: Likewise.
16722 * util/grub-mkfont.c: Likewise.
16723 * util/grub-mkimage.c: Likewise.
16724 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16725 * util/grub-probe.c: Likewise.
16726 * util/grub-script-check.c: Likewise.
16727 * util/i386/pc/grub-setup.c: Likewise.
16728 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16729
16730 * tests/util/grub-shell.in: Fix override directory path.
16731 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
16732 * util/import_gcry.py: Create Makefile.gcry.def file instead.
16733
16734 * util/lvm.c: Update #includes.
16735 * util/raid.c: Likewise.
16736 * util/resolve.c: Likewise.
16737 * grub-core/bus/emu/pci.c: Likewise.
16738 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
16739 * grub-core/lib/posix_wrap/string.h: Likewise.
16740 * grub-core/kern/emu/main.c: Likewise.
16741
16742 * grub-core/gensymlist.sh: New file. Script for generating kernel
16743 symbols file.
16744 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
16745
16746 * grub-core/gentrigtables.c: Fix unused variable warnings.
16747
16748 * Makefile.in: Removed.
16749 * conf/any-emu.rmk: Removed.
16750 * conf/common.rmk: Removed.
16751 * conf/i386-coreboot.rmk: Removed.
16752 * conf/i386-efi.rmk: Removed.
16753 * conf/i386-ieee1275.rmk: Removed.
16754 * conf/i386-multiboot.rmk: Removed.
16755 * conf/i386-pc.rmk: Removed.
16756 * conf/i386-qemu.rmk: Removed.
16757 * conf/i386.rmk: Removed.
16758 * conf/mips-yeeloong.rmk: Removed.
16759 * conf/mips.rmk: Removed.
16760 * conf/powerpc-ieee1275.rmk: Removed.
16761 * conf/sparc64-ieee1275.rmk: Removed.
16762 * conf/tests.rmk: Removed.
16763 * conf/x86-efi.rmk: Removed.
16764 * conf/x86_64-efi.rmk: Removed.
16765 * gendistlist.sh: Removed.
16766 * geninitheader.sh: Removed.
16767 * genkernsyms.sh.in: Removed.
16768 * genmk.rb: Removed.
16769 * gensymlist.sh.in: Removed.
16770 * mkinstalldirs: Removed.
16771 * boot: Moved ...
16772 * grub-core/boot: ... to here.
16773 * bus: Moved ...
16774 * grub-core/bus: ... to here.
16775 * commands: Moved ...
16776 * grub-core/commands: ... to here.
16777 * disk: Moved ...
16778 * grub-core/disk: ... to here.
16779 * efiemu: Moved ...
16780 * grub-core/efiemu: ... to here.
16781 * font: Moved ...
16782 * grub-core/font: ... to here.
16783 * fs: Moved ...
16784 * grub-core/fs: ... to here.
16785 * gencmdlist.sh: Moved ...
16786 * grub-core/gencmdlist.sh: ... to here.
16787 * genemuinit.sh: Moved ...
16788 * grub-core/genemuinit.sh: ... to here.
16789 * genemuinitheader.sh: Moved ...
16790 * grub-core/genemuinitheader.sh: ... to here.
16791 * genfslist.sh: Moved ...
16792 * grub-core/genfslist.sh: ... to here.
16793 * genhandlerlist.sh: Moved ...
16794 * grub-core/genhandlerlist.sh: ... to here.
16795 * genmoddep.awk: Moved ...
16796 * grub-core/genmoddep.awk: ... to here.
16797 * genmodsrc.sh: Moved ...
16798 * grub-core/genmodsrc.sh: ... to here.
16799 * genpartmaplist.sh: Moved ...
16800 * grub-core/genpartmaplist.sh: ... to here.
16801 * genparttoollist.sh: Moved ...
16802 * grub-core/genparttoollist.sh: ... to here.
16803 * genterminallist.sh: Moved ...
16804 * grub-core/genterminallist.sh: ... to here.
16805 * gentrigtables.c: Moved ...
16806 * grub-core/gentrigtables.c: ... to here.
16807 * genvideolist.sh: Moved ...
16808 * grub-core/genvideolist.sh: ... to here.
16809 * gettext: Moved ...
16810 * grub-core/gettext: ... to here.
16811 * gfxmenu: Moved ...
16812 * grub-core/gfxmenu: ... to here.
16813 * gnulib: Moved ...
16814 * grub-core/gnulib: ... to here.
16815 * hello: Moved ...
16816 * grub-core/hello: ... to here.
16817 * hook: Moved ...
16818 * grub-core/hook: ... to here.
16819 * io: Moved ...
16820 * grub-core/io: ... to here.
16821 * kern: Moved ...
16822 * grub-core/kern: ... to here.
16823 * lib: Moved ...
16824 * grub-core/lib: ... to here.
16825 * loader: Moved ...
16826 * grub-core/loader: ... to here.
16827 * mmap: Moved ...
16828 * grub-core/mmap: ... to here.
16829 * normal: Moved ...
16830 * grub-core/normal: ... to here.
16831 * partmap: Moved ...
16832 * grub-core/partmap: ... to here.
16833 * parttool: Moved ...
16834 * grub-core/parttool: ... to here.
16835 * script: Moved ...
16836 * grub-core/script: ... to here.
16837 * term: Moved ...
16838 * grub-core/term: ... to here
16839 * tests/example_functional_test.c: Moved ...
16840 * grub-core/tests/example_functional_test.c: ... to here.
16841 * tests/lib/functional_test.c: Moved ...
16842 * grub-core/tests/lib/functional_test.c: ... to here.
16843 * tests/lib/test.c: Moved ...
16844 * grub-core/tests/lib/test.c: ... to here.
16845 * video: Moved ...
16846 * grub-core/video: ... to here.
16847
645586e6
BC
168482010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16849
16850 Replace --enable-grub-emu-modules with grub-emu-lite.
16851
16852 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
16853 cache.S.
16854
16855 * include/grub/emu/misc.h (grub_emu_init): New prototype.
16856 * kern/emu/full.c: New file. For grub-emu specific initialization.
16857 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
16858 * kern/emu/main.c: Call initialization function grub_emu_init.
16859
16860 * Makefile.in: Include grub-emu-lite in install.
16861 * commands/parttool.c: Use grub_no_autoload to differentiate
16862 between grub-emu and grub-emu-lite.
16863 * include/grub/misc.h: New variable grub_no_autoload.
16864
16865 * conf/any-emu.rmk: New rules for grub-emu-lite.
16866 * configure.ac: Remove --enable-grub-emu-modules.
16867 * genmk.rb: Cleanup unnecessary rules.
16868 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
16869
16870 * normal/main.c: Don't load list files on grub-emu-lite.
16871 * util/misc.c (grub_arch_sync_caches): Removed.
16872
f86a4030
CW
168732010-08-23 Colin Watson <cjwatson@ubuntu.com>
16874
16875 * kern/mips/startup.S (grub_prefix): Update comment to refer to
16876 grub-mkimage rather than grub-mkelfimage.
16877 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16878
06776944
VS
168792010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16880
16881 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
16882 a key after CapsLock or NumLock. It's just a qemu bug.
16883
df262419
VS
168842010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16885
16886 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
16887 needed by libusb wrapper.
16888
b40ea81b
ST
168892010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16890
16891 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
16892
dee50575
VS
168932010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
16896 --nounzip is passed.
16897
fb1d7b79
VS
168982010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
16899
16900 USB hotunplugging and USB serial support.
16901
16902 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
16903 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
16904 (grub_uhci_transfer): Respect timeout and set *actual.
16905 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
16906 non-standard length.
16907 (grub_usb_device_attach): Autoload modules.
16908 (GRUB_MOD_INIT): Set grub_term_poll_usb.
16909 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
16910 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
16911 users updated.
16912 (grub_usb_add_hub): Fill nports and children.
16913 (attach_root_port): Receive hub instead of controller.
16914 All users updated. Fill hub->devices.
16915 (grub_usb_root_hub): Allocate hub->devices.
16916 (detach_device): New function.
16917 (poll_nonroot_hub): Fill children and detach devices.
16918 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
16919 actual arguments. All users updated.
16920 (grub_usb_bulk_read_extended): New function.
16921 * bus/usb/serial/common.c: New file.
16922 * bus/usb/serial/ftdi.c: Likewise.
16923 * bus/usb/serial/pl2303.c: Likewise.
16924 * commands/terminal.c (handle_command): Support wildcard.
16925 * commands/usbtest.c: Output "Unknown" instead of empty string.
16926 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
16927 (usbserial_common_mod_SOURCES): New variable.
16928 (usbserial_common_mod_CFLAGS): Likewise.
16929 (usbserial_common_mod_LDFLAGS): Likewise.
16930 (pkglib_MODULES): Add usbserial_pl2303.mod.
16931 (usbserial_pl2303_mod_SOURCES): New variable.
16932 (usbserial_pl2303_mod_CFLAGS): Likewise.
16933 (usbserial_pl2303_mod_LDFLAGS): Likewise.
16934 (pkglib_MODULES): Add usbserial_ftdi.mod.
16935 (usbserial_ftdi_mod_SOURCES): New variable.
16936 (usbserial_ftdi_mod_CFLAGS): Likewise.
16937 (usbserial_ftdi_mod_LDFLAGS): Likewise.
16938 (pkglib_MODULES): Add serial.mod.
16939 (serial_mod_SOURCES): New variable.
16940 (serial_mod_CFLAGS): Likewise.
16941 (serial_mod_LDFLAGS): Likewise.
16942 * conf/i386-pc.rmk: Likewise.
16943 * conf/mips-yeeloong.rmk: Likewise.
16944 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
16945 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16946 * disk/usbms.c (first_available_slot): New variable.
16947 (grub_usbms_attach): Don't reuse free slots due to potential cache
16948 problems.
16949 * include/grub/serial.h: Moved to ..
16950 * include/grub/ns8250.h: ...this.
16951 * include/grub/serial.h: New file.
16952 * include/grub/term.h (grub_term_poll_usb): New variable.
16953 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
16954 readkey. All users updated.
16955 (grub_terminfo_output_state): Pass term to put.
16956 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
16957 (grub_usb_controller_dev): Add timeout and actual arguments to
16958 transfer. All users updated.
16959 (grub_usb_interface): New field detach_data.
16960 (grub_usb_device): New fields children and nports.
16961 (grub_usb_ep_type_t): New type.
16962 (grub_usb_get_ep_type): New function.
16963 (grub_usb_bulk_read_extended): Likewise.
16964 * include/grub/usbdesc.h (grub_usb_desc): New type.
16965 * include/grub/usbserial.h: New file.
16966 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
16967 * kern/term.c (grub_term_poll_usb): New variable.
16968 (grub_getkey): Call grub_term_poll_usb if set.
16969 (grub_checkkey): Likewise.
16970 (grub_getkeystatus): Likewise.
16971 * term/serial.c: Moved controller-specific parts to ...
16972 * term/ns8250.c: ... here.
16973 * term/serial.c: Mostly rewritten.
16974 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
16975 according to spec.
16976
21a313de
RM
169772010-08-20 Robert Millan <rmh@gnu.org>
16978
16979 Make kFreeBSD code more generic to support ext2fs as root, ufs as
16980 a separate module and maybe other interesting combinations.
16981
16982 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
16983 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
16984 (kfreebsd_entry): Add generic filesystem module load routine.
16985 Map GRUB `ext2' to kFreeBSD `ext2fs'.
16986
63c734a6
CW
169872010-08-20 Colin Watson <cjwatson@ubuntu.com>
16988
16989 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
16990 "numcenter" (I misunderstood the purpose of this entry).
16991 * docs/grub.texi (sendkey): Likewise.
16992
c4d16542
CW
169932010-08-20 Colin Watson <cjwatson@ubuntu.com>
16994
16995 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
16996 status flag options; simply omitting the option is equivalent and
16997 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
16998 (keysym_table): Rename "num5numlock" to "numlock".
16999 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17000 can uniformly say that only the last of multiple `sendkey'
17001 invocations has any effect.
17002 * docs/grub.texi (sendkey): New section.
17003
93541d66
CW
170042010-08-19 Colin Watson <cjwatson@ubuntu.com>
17005
17006 * commands/i386/pc/sendkey.c (options): Fix three typos.
17007
b4ece5e1
VS
170082010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17009
17010 Implement sendkey support.
17011
17012 * commands/i386/pc/sendkey.c: New file.
17013 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17014 (sendkey_mod_SOURCES): New variable.
17015 (sendkey_mod_CFLAGS): Likewise.
17016 (sendkey_mod_LDFLAGS): Likewise.
17017
51f1f5af
CW
170182010-08-18 Colin Watson <cjwatson@ubuntu.com>
17019
17020 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17021 fix warnings from Autoconf.
17022
9da94e05
CW
170232010-08-18 Colin Watson <cjwatson@ubuntu.com>
17024
17025 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17026 to avoid false positives with some assemblers that output things
17027 like "someprefix_func" as part of their output.
17028
729a0f2e
RM
170292010-08-15 Robert Millan <rmh@gnu.org>
17030
17031 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17032 errors.
17033 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17034 grub_get_libzfs_handle() errors.
17035
f3710e08
RM
170362010-08-14 Robert Millan <rmh@gnu.org>
17037
17038 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17039 filesystem is not ZFS.
17040
7a3c13de
BC
170412010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17042
17043 Fix for misspelled color names defaulting to black/black (bug
17044 reported by Doug Nazar)
17045
17046 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17047 status to prototype.
17048 * normal/color.c (grub_parse_color_name_pair): Return failure
17049 status.
17050 (grub_env_write_color_normal): Ignore bad color names.
17051 (grub_env_write_color_highlight): Likewise.
17052 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17053
ab8ba50d
BC
170542010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17055
17056 "shift" command support to GRUB script.
17057
17058 * include/grub/script_sh.h (grub_script_shift): New prototype.
17059 * script/execute.c (grub_script_shift): New function.
17060 * script/main.c (grub_script_init): Register shift command.
17061 (grub_script_fini): Unregister shift command.
17062 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17063
17064 * tests/grub_script_shift.in: New testcase.
17065 * conf/tests.rmk: Rules for new testcase.
17066
4d61999e
BC
170672010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17068
17069 "continue" command support to GRUB script.
17070
17071 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17072 (grub_script_break): Continue support.
17073 * script/main.c (grub_script_init): Register continue command.
17074 (grub_script_fini): Unregister continue command.
17075
17076 * tests/grub_script_continue.in: New testcase.
17077 * conf/tests.rmk: Rules for new testcase.
17078
4df51e00
BC
170792010-08-12 BVK Chaitanya <bvk@dbook>
17080
17081 "break" command support to GRUB script.
17082
17083 * conf/common.rmk: Rule updates to grub-script-check.
17084 * include/grub/misc.h (grub_min): New function.
17085 * include/grub/script_sh.h (grub_script_init): New prototype.
17086 (grub_script_fini): New prototype.
17087 (grub_script_break): New prototype.
17088 * script/main.c (grub_script_init): New function.
17089 (grub_script_fini): New function.
17090 * script/execute.c (grub_script_break): New function.
17091 * normal/main.c: Calls to grub_script_{init,fini}.
17092 * util/grub-script-check.c (grub_script_break): New function.
17093
17094 * tests/grub_script_break.in: New testcase.
17095 * conf/tests.rmk: Rules for new test case.
17096
f12c8420
BC
170972010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17098
17099 Function parameters support to GRUB script.
17100
17101 * script/yylex.l (VARIABLE): Regular expression update.
17102 * script/function.c (grub_script_function_call): Moved ...
17103 * script/execute.c (grub_script_function_call): ... to here.
17104 (grub_script_execute_arglist_to_argv): Removed.
17105 (grub_script_arglist_to_argv): New function.
17106 * script/argv.c: New file.
17107 (grub_script_argv_free): New function.
17108 (grub_script_argv_next): Likewise.
17109 (grub_script_argv_append): Likewise.
17110 (grub_script_argv_split_append): Likewise.
17111 * include/grub/script_sh.h (grub_script_argv): New struct.
17112 (grub_script_argv_free): New function.
17113 (grub_script_argv_next): Likewise.
17114 (grub_script_argv_append): Likewise.
17115 (grub_script_argv_split_append): Likewise.
17116
17117 * conf/common.rmk (normal.mod): New source script/argv.c.
17118
17119 * tests/grub_script_echo1.in: More tests.
17120 * tests/grub_script_vars1.in: Likewise.
17121 * tests/grub_script_functions.in: New test case.
17122 * conf/tests.rmk: Rules for new testcase.
17123
8022b748
BC
171242010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17125
17126 Remove grub_script_cmdblock struct.
17127
17128 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17129 * script/parser.y: Likewise.
17130 * script/execute.c: Rename cmdblock suffix to cmdlist.
17131 * script/script.c: Likewise.
17132 * util/grub-script-check.c: Likewise.
17133
79a6ba61
YB
171342010-08-11 Yves Blusseau <blusseau@zetam.org>
17135
17136 * .bzrignore: add grub-macho2img
17137
d04b9414
VS
171382010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17139
17140 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17141
f947ab49
VS
171422010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 Remove the dump of sm712 initialisation sequence.
17145
17146 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17147 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17148 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17149 (GRUB_VGA_CR_*): Added many registers.
17150 (GRUB_VGA_SR_*): Likewise.
17151 (GRUB_VGA_GR_*): Likewise.
17152 (grub_vga_write_arx): New function.
17153 (grub_video_hw_config): New struct.
17154 (grub_vga_set_geometry): New function.
17155 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17156 GRUB_PCI_CLASS_SUBCLASS_VGA.
17157 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17158 * video/sm712.c (grub_sm712_write_reg): New function
17159 (grub_sm712_read_reg): Likewise.
17160 (grub_sm712_sr_write): Likewise.
17161 (grub_sm712_gr_write): Likewise.
17162 (grub_sm712_cr_write): Likewise.
17163 (grub_sm712_write_arx): Likewise.
17164 (grub_sm712_cr_shadow_write): Likewise.
17165 (grub_sm712_write_dda_lookup): Likewise.
17166 (grub_video_sm712_setup): Initialise the video rather then
17167 blindly replay the dump.
17168 (main) [TEST]: Add a routine to be able to compile as standalone for
17169 tests.
17170 * video/sm712_init.c (sm712_init): Removed.
17171 (sm712_sr_seq1): New array.
17172 (sm712_sr_seq2): Likewise.
17173
f0206638
VS
171742010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17175
17176 * include/grub/vga.h: Add missing grub/pci.h include.
17177
2764da3b
YB
171782010-08-10 Yves Blusseau <blusseau@zetam.org>
17179
17180 * util/grub-macho2img.c (main): fix typo
17181
cf0c775e
VS
171822010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17185 (grub_vga_gr_read): Likewise.
17186 (grub_vga_cr_write): Likewise.
17187 (grub_vga_cr_read): Likewise.
17188 (grub_vga_sr_write): Likewise.
17189 (grub_vga_sr_read): Likewise.
17190 (grub_vga_palette_read): Likewise.
17191 (grub_vga_palette_write): Likewise.
17192 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17193 (grub_sm712_sr_read): New function.
17194 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17195 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17196
07f360e9
RM
171972010-08-09 Robert Millan <rmh@gnu.org>
17198
17199 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17200 out unused variables on non-ZFS build.
17201
346c2072
RM
172022010-08-08 Robert Millan <rmh@gnu.org>
17203
17204 Fix path generation for sub-filesystems in ZFS.
17205
17206 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17207 missing slash.
17208
71175420
RM
172092010-08-08 Robert Millan <rmh@gnu.org>
17210
17211 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17212
0d8286f3
RM
172132010-08-08 Robert Millan <rmh@gnu.org>
17214
17215 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17216 exist, issue a proper error message (rely on `ls' for translated
17217 strings).
17218
55dd2924
RM
172192010-08-08 Robert Millan <rmh@gnu.org>
17220
17221 Fix grub-probe invocation.
17222
17223 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17224
d3dd9e80
RM
172252010-08-04 Robert Millan <rmh@gnu.org>
17226
17227 * configure.ac: Remove checks for getfsstat() and getmntany().
17228 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17229 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17230 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17231 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17232 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17233 function.
17234 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17235 via find_mount_point_from_dir() and getfsstat() / getmntany().
17236
0de22aa9
RM
172372010-08-04 Robert Millan <rmh@gnu.org>
17238
17239 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17240 (grub_find_zpool_from_mount_point): Merge into ...
17241 (grub_find_zpool_from_dir): ... this.
17242 * kern/emu/misc.c: Likewise.
17243
17244 * kern/emu/misc.c
17245 (grub_make_system_path_relative_to_its_root): Replace
17246 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17247 with grub_find_zpool_from_dir().
17248 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17249
62858144
RM
172502010-08-04 Robert Millan <rmh@gnu.org>
17251
17252 Support OpenSolaris in ZFS device resolution.
17253
17254 * configure.ac: Check for getmntany().
17255 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17256 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17257 support.
17258
9dd6fd50
RM
172592010-08-03 Robert Millan <rmh@gnu.org>
17260
17261 Fix grub-emu build.
17262
17263 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17264 * include/grub/emu/misc.h: ... here.
17265
17266 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17267 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17268
17269 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17270 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17271 (grub_get_libzfs_handle): Move to ...
17272 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17273 (grub_get_libzfs_handle): ... here.
17274
c9f7ff97
BC
172752010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17276
17277 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17278 as command name case.
17279
a870a783
CW
172802010-08-02 Colin Watson <cjwatson@ubuntu.com>
17281
17282 * disk/raid.c (insert_array): Select unique numbers for named arrays
17283 as well, for use as keys in the disk cache.
17284
c7db243b
RM
172852010-08-01 Robert Millan <rmh@gnu.org>
17286
17287 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17288 kFreeBSD device name, except on ZFS where the filesystem label is
17289 used.
17290 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17291 `/boot/zfs/zpool.cache'.
17292 Set mountfrom kernel variable using ${kfreebsd_device}.
17293
f7abdefb
RM
172942010-08-01 Robert Millan <rmh@gnu.org>
17295
17296 Make it even harder to use uninitialized `libzfs_handle' (and
17297 make the interface a bit simpler).
17298
17299 * include/grub/util/misc.h (grub_util_init_libzfs)
17300 (libzfs_handle): Remove.
17301 (grub_get_libzfs_handle): New prototype.
17302
17303 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17304 attribute.
17305 (grub_util_init_libzfs): Remove.
17306 (grub_get_libzfs_handle): New function.
17307
17308 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17309 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17310 accessing `libzfs_handle' directly.
17311
c882acc0
RM
173122010-08-01 Robert Millan <rmh@gnu.org>
17313
17314 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17315 (grub_find_zpool_from_mount_point): New function prototypes.
17316
17317 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17318 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17319
17320 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17321 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17322 `static' attribute.
17323
17324 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17325 finding zpool from mount point into ...
17326 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17327
17328 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17329 requested path is part of a ZFS pool, use
17330 grub_find_zpool_from_mount_point() to detect its filesystem name,
17331 and generate a path with `/fsname@path' syntax.
17332
8bfe31d8
CW
173332010-08-01 Colin Watson <cjwatson@ubuntu.com>
17334
17335 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17336 (void) rather than () so that this is a proper prototype.
17337
553df63d
VS
173382010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17341
8687cf07
VS
173422010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17343
17344 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17345 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17346
ea9be8ea
CW
173472010-08-01 Colin Watson <cjwatson@ubuntu.com>
17348
17349 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17350
6eea041a
CW
173512010-08-01 Colin Watson <cjwatson@ubuntu.com>
17352
17353 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17354
2cfb45df
CW
173552010-08-01 Colin Watson <cjwatson@ubuntu.com>
17356
17357 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17358 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17359 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17360 disable gfxpayload.
17361 (Shell-like scripting): Add real content.
17362 (Serial terminal): Suggest `terminal_input serial; terminal_output
17363 serial' rather than putting the two commands on separate lines,
17364 since console input will be inoperative after the first command.
17365 (menuentry): Document --class, --users, and --hotkey options.
17366 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17367 Vladimir Serbinenko).
17368
7decd202
VS
173692010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
173702010-08-01 Colin Watson <cjwatson@ubuntu.com>
17371
17372 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17373
c882acc0
RM
173742010-08-01 Robert Millan <rmh@gnu.org>
17375
17376 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17377 (grub_find_zpool_from_mount_point): New function prototypes.
17378
17379 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17380 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17381
17382 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17383 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17384 `static' attribute.
17385
17386 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17387 finding zpool from mount point into ...
17388 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17389
17390 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17391 requested path is part of a ZFS pool, use
17392 grub_find_zpool_from_mount_point() to detect its filesystem name,
17393 and generate a path with `/fsname@path' syntax.
17394
deb0caa3
RM
173952010-08-01 Robert Millan <rmh@gnu.org>
17396
17397 Prevent accidental use of uninitialized libzfs_handle.
17398
17399 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17400 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17401 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17402
ce04ef47
CW
174032010-08-01 Colin Watson <cjwatson@ubuntu.com>
17404
17405 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17406 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17407
ebf53056
RM
174082010-08-01 Robert Millan <rmh@gnu.org>
17409
17410 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 17411
3710bb6b
RM
174122010-07-31 Robert Millan <rmh@gnu.org>
17413
17414 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17415
8072efeb
RM
174162010-07-31 Robert Millan <rmh@gnu.org>
17417
17418 * kern/emu/misc.c: Add missing license header.
17419
3169f4c7
RM
174202010-07-31 Robert Millan <rmh@gnu.org>
17421
17422 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17423
17424 * include/grub/util/libnvpair.h: Include `<config.h>'.
17425 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17426 declaring libnvpair prototypes ourselves.
17427 * include/grub/util/libzfs.h: Include `<config.h>'.
17428 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17429 declaring libzfs prototypes ourselves.
17430
17431 (libzfs_handle): Moved to ...
17432 * include/grub/util/misc.h (libzfs_handle): ... here.
17433 Include `<grub/util/libzfs.h>'.
17434
c9a00aee
RM
174352010-07-30 Robert Millan <rmh@gnu.org>
17436
17437 * include/grub/emu/misc.h: Add missing license header.
17438
a184f9c8
RM
174392010-07-30 Robert Millan <rmh@gnu.org>
17440
17441 Enable `grub-probe -t device' resolution on ZFS.
17442
17443 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17444 * include/grub/util/libnvpair.h: New file.
17445 * include/grub/util/libzfs.h: New file.
17446
17447 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17448 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17449 `<grub/util/libnvpair.h>'.
17450 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17451
17452 (find_mount_point_from_dir): New static function.
17453 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17454 function.
17455 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17456 find_root_device_from_libzfs() before ressorting to find_root_device().
17457
17458 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17459 prototype.
17460 * util/misc.c: Include `<grub/util/libzfs.h>'.
17461 (grub_util_init_libzfs): New function.
17462 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17463 [HAVE_LIBZFS] (fini_libzfs): New static function.
17464 (grub_util_init_libzfs): New function.
17465 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17466
f7790cdd
RM
174672010-07-30 Robert Millan <rmh@gnu.org>
17468
17469 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17470 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17471 `warn_unused_result' attribute.
17472 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17473 (grub_xasprintf, grub_xvasprintf): Likewise.
17474 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17475
0806b63c
RM
174762010-07-29 Robert Millan <rmh@gnu.org>
17477
17478 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17479 (probe): Handle `PRINT_FS_LABEL'.
17480 (main): Handle `-t fs_label'.
17481
9f841f5c
RM
174822010-07-29 Robert Millan <rmh@gnu.org>
17483
17484 * configure.ac: Remove grub-mkisofs checks.
17485
46371121
VS
174862010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17487
17488 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17489 Reported by: Lennart Sorensen.
17490
174912010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17492
17493 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17494 prior to terminal_input/terminal_output separation. It's been over 1.5
17495 years and those versions weren't widely deployed.
17496
a9600892
CW
174972010-07-22 Colin Watson <cjwatson@ubuntu.com>
17498
17499 * disk/raid.c (insert_array): Don't count named arrays when looking
17500 for unused array numbers.
697e053c 17501 Reported and tested by: Michael Guntsche.
a9600892 17502
c03507df
CW
175032010-07-20 Colin Watson <cjwatson@ubuntu.com>
17504
17505 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17506 implementation of this so that grub-emu links again, with a note
17507 that this should support hotplugging in the future.
17508
b26f1c11
CW
175092010-07-20 Colin Watson <cjwatson@ubuntu.com>
17510
17511 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17512
efc9d7f1
CW
175132010-07-20 Colin Watson <cjwatson@ubuntu.com>
17514
17515 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17516 handle on failure.
17517 (grub_loopback_close): Remove empty function.
17518 (grub_loopback_dev): Remove close method.
17519
dd8ff5c9
CW
175202010-07-20 Colin Watson <cjwatson@ubuntu.com>
17521
17522 Disable EFI cursor when the EFI console becomes inactive.
17523
17524 * term/efi/console.c (grub_efi_console_init): New function.
17525 (grub_efi_console_fini): New function.
17526 (grub_console_term_output): Register init and fini methods.
17527
5e3bec67
VS
175282010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17529
17530 * tests/util/grub-shell-tester.in: Remove bashism and declare as
17531 sh script.
17532
afaec079
VS
175332010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17534
17535 * disk/loopback.c (grub_loopback): Replace filename with file.
17536 (delete_loopback): Handle new semantics.
17537 (grub_cmd_loopback): Likewise.
17538 (grub_loopback_iterate): Likewise.
17539 (grub_loopback_close): Likewise.
17540
a6a11f3c
VS
175412010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17542
17543 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
17544 with -p "".
17545 Reported by: Tito Keitel.
17546
64a638b0
VS
175472010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17548
17549 * docs/grub.texi (Naming convention): Document new naming convention.
17550
ab8ba957
VS
175512010-07-20 Vadim Solomin <vadic052@gmail.com>
175522010-07-20 Colin Watson <cjwatson@ubuntu.com>
17553
17554 Generate device.map in something closer to the old ordering.
17555
17556 * util/deviceiter.c (struct device): New declaration.
17557 (compare_file_names): Rename to ...
17558 (compare_devices): ... this. Sort by kernel name in preference to
17559 the stable by-id name, but keep the latter as a fallback comparison.
17560 Update header comment.
17561 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
17562 of `struct device' rather than of plain file names.
17563
a29d6a4b
TF
175642010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
17565
17566 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
17567 on i386.
17568
39d824e8
VS
175692010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17570
17571 * commands/acpi.c (setup_common_tables): Use sizeof instead of
17572 hardcoding size.
17573 (setv1table): Likewise.
17574
f058276b
FZ
175752010-07-20 Colin Watson <cjwatson@ubuntu.com>
17576
17577 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
17578 removing the homehost if present.
17579 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
17580 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
17581 removing the homehost if present.
17582 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
17583 if possible.
17584 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
17585
17586 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
17587 parameter. Set its pointer target to 0.
17588 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
17589 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
17590 `data_offset' value from the superblock for 1.x metadata.
17591 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
17592 data on the device.
17593 (insert_array): Record the start sector of data on the device.
17594 (grub_raid_register): Pass start_sector parameters to
17595 grub_raid_list->detect and insert_array.
17596 * include/grub/raid.h (struct grub_raid_array): Add start_sector
17597 member.
17598 (struct grub_raid): Add start_sector parameter to `detect'.
17599
17600 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
17601 __attribute__ ((packed)), leaving a comment.
17602 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
17603 (grub_mdraid_detect_09): ... here and ...
17604 (grub_mdraid_detect_1x): ... here.
17605
176062010-07-20 Peter Henn <peter.henn@web.de>
17607
17608 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
17609 chunk size and disk size, which are already given as sector counts
17610 as distinct from the 0.90 units. Fetch the correct device number
17611 from the role table instead of using the table index.
17612
176132010-07-20 Felix Zielcke <fzielcke@z-51.de>
17614
17615 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
17616 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
17617 (WriteMostly1): New macro.
17618 Set array->name to NULL for metadata format 0.90. Add support for
17619 metadata 1.x. Fix some comments.
17620 * disk/raid.c (): Add support for name based RAID arrays. Fix a
17621 few comments.
17622 * util/getroot.c (grub_util_get_grub_dev): Add support for
17623 /dev/md/name style devices.
17624
4b761da9
CW
176252010-07-20 Colin Watson <cjwatson@ubuntu.com>
17626
17627 * .bzrignore: Ignore 20_linux_xen.
17628
5771289a
CW
176292010-07-17 Colin Watson <cjwatson@ubuntu.com>
17630
17631 * util/import_unicode.py: Remove unnecessary imports.
17632
5dab68df
AN
176332010-07-17 Aleš Nesrsta <starous@volny.cz>
17634
17635 Hotplugging and USB hub support.
17636
17637 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
17638 (grub_ohci): Likewise.
17639 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
17640 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
17641 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
17642 (GRUB_OHCI_CTRL_EDS): Likewise.
17643 (GRUB_OHCI_BULK_EDS): Likewise.
17644 (GRUB_OHCI_TDS): Likewise.
17645 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
17646 (grub_ohci_ed_phys2virt): New function.
17647 (grub_ohci_virt_to_phys): Likewise.
17648 (grub_ohci_td_phys2virt): Likewise.
17649 (grub_ohci_td_virt2phys): Likewise.
17650 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
17651 attachment.
17652 (grub_ohci_find_ed): New function.
17653 (grub_ohci_alloc_td): Likewise.
17654 (grub_ohci_free_td): Likewise.
17655 (grub_ohci_free_tds): Likewise.
17656 (grub_ohci_transfer): Use previously allocated memory.
17657 (grub_ohci_portstatus): Reset status changed bit.
17658 (grub_ohci_detect_dev): Supply status changed.
17659 (grub_ohci_fini_hw): Free memory.
17660 (grub_ohci_restore_hw): Reallocate memory.
17661 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
17662 Reset status change.
17663 (grub_uhci_detect_dev): Supply status_change.
17664 * bus/usb/usb.c (attach_hooks): New var.
17665 (grub_usb_device_attach): New function.
17666 (grub_usb_register_attach_hook_class): Likewise.
17667 (grub_usb_unregister_attach_hook_class): Likewise.
17668 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
17669 (grub_usb_add_hub): Reset connection changed bit.
17670 (attach_root_port): New function.
17671 (grub_usb_root_hub): Likewise.
17672 (poll_nonroot_hub): Likewise.
17673 (grub_usb_poll_devices): Likewise.
17674 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
17675 * disk/usbms.c (grub_usbms_open): Use device hooks.
17676 (grub_usbms_iterate) :Poll devices.
17677 (grub_usbms_finddevs): Split into ...
17678 (grub_usbms_attach): ... this ...
17679 (grub_usbms_attach): ... and this.
17680 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
17681 in detect_dev.
17682 (grub_usb_interface): New fields attached and detach_hook.
17683 (grub_usb_attach_hook_class): New type.
17684 (grub_usb_attach_desc): New struct.
17685 (grub_usb_register_attach_hook_class): New function.
17686 (grub_usb_unregister_attach_hook_class): Likewise.
17687 (grub_usb_poll_devices): Likewise.
17688 (grub_usb_device_attach): Likewise.
17689 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
17690 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
17691
3222efaf
VS
176922010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17693
17694 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
17695 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
17696 delta determination style. Works with most NetBSD partitions too.
17697
139b714a
VS
176982010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17699
17700 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
17701 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
17702
986aad56
VS
177032010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17704
17705 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
17706
99be513c
AB
177072010-07-14 Anton Blanchard <anton@samba.org>
17708
17709 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
17710 ET_DYN files.
17711
18075f62
GS
177122010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17713
17714 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
17715
8d9a5b15
GS
177162010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17717
17718 * kern/partition.c (grub_partition_check_containment): New function to
17719 check that a partition is physically contained in a parent. Since
17720 offsets are relative (and non-negative), this reduces to checking that
17721 the partition ends before its parent.
17722 (grub_partition_map_probe): Discard out-of-range sub-partitions.
17723 (grub_partition_iterate): Likewise.
17724 * include/grub/partition.h (grub_partition_map): Slightly more detailed
17725 comments.
17726 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
17727 partitions that start before their parent, and add debug printfs.
17728
19563c25
CW
177292010-07-13 Colin Watson <cjwatson@ubuntu.com>
17730
17731 * Makefile.in (.SUFFIX): Spell correctly, as ...
17732 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
17733 bare module name without `.mod', e.g. `test') tried to invoke a
17734 Modula-2 compiler.
17735
1a1f1e67
CW
177362010-07-13 Colin Watson <cjwatson@ubuntu.com>
17737
17738 * README: Point to the Info manual.
17739
811b0dca
JS
177402010-07-13 Jiro SEKIBA <jir@unicus.jp>
17741
17742 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
17743 2nd superblock position from partition size.
17744
e4f4eafc
CW
177452010-07-10 Colin Watson <cjwatson@ubuntu.com>
17746
17747 * Makefile.in (MAINTAINER_CLEANFILES): Remove
17748 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
17749 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
17750 outputs.
17751
4274c30f
VS
177522010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17753
17754 Restructure SCSI .id handling.
17755 Reported and tested by: Aleš Nesrsta.
17756
17757 * disk/ata.c (grub_atapi_close): Removed. All users updated.
17758 (grub_atapi_dev): Changed .name to "ata". New field .id.
17759 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
17760 (grub_usbms_dev): New field .id.
17761 * disk/scsi.c (grub_scsi_iterate): Generate name.
17762 (grub_scsi_open): Parse name.
17763 * include/grub/scsi.h (grub_make_scsi_id): New function.
17764 (grub_scsi_dev): Change iterate and open to number instead of naming
17765 busses. All users updated.
17766 (grub_scsi): Remove name. Add .bus.
17767
5bc24388
VS
177682010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17769
17770 * commands/help.c (grub_cmd_help): Fix a typo.
17771
249975ba
VS
177722010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
17775 Reported and tested by: Colin Watson.
17776
3eaac1a1
VS
177772010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17778
17779 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
17780 in this context.
17781
becce1b1
VS
177822010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17783
17784 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
17785
f7bf0918
CW
177862010-07-07 Colin Watson <cjwatson@ubuntu.com>
17787
17788 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
17789 indentation.
17790
0b0f9620
CW
177912010-07-06 Colin Watson <cjwatson@ubuntu.com>
17792
17793 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
17794 and disk/raid6_recover.c.
17795 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17796 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17797
1e545469
CW
177982010-07-06 Colin Watson <cjwatson@ubuntu.com>
17799
17800 * term/gfxterm.c (repaint_schedulded): Rename to ...
17801 (repaint_scheduled): ... this. Update all callers.
17802 (repaint_was_schedulded): Rename to ...
17803 (repaint_was_scheduled): ... this. Update all callers.
17804
5357687a
CW
178052010-07-06 Colin Watson <cjwatson@ubuntu.com>
17806
17807 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
17808 which we expect to be handled by upper layers.
17809
29d7e783
BC
178102010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
17811
17812 * bus/usb/usbhub.c: #include time.h header.
17813
37582066
CW
178142010-07-06 Colin Watson <cjwatson@ubuntu.com>
17815
17816 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
17817 entry_name also for entries without stat blocks (e.g. ".."); fixes
17818 corruption of the first entry in a directory.
17819
c8c06953
CW
178202010-07-06 Colin Watson <cjwatson@ubuntu.com>
17821
17822 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
17823 after setting gfxterm as the active terminal. GRUB_BACKGROUND
17824 doesn't work otherwise.
17825
e75056f1
CW
178262010-07-05 Colin Watson <cjwatson@ubuntu.com>
17827
17828 * docs/grub.texi (Features): Update list of supported file systems.
17829 (GNU/Linux): Update for GRUB 2.
17830 (Serial terminal): Remove mention of --disable-serial, which was a
17831 GRUB Legacy configure option. Update instructions to use
17832 `terminal_input' and `terminal_output' rather than `terminal'.
17833 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
17834 configuration' and `Installing GRUB using grub-install'.
17835 (Menu entry editor): Update for GRUB 2.
17836 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
17837 Document new -a, -u, and -v options.
17838 (initrd): New section.
17839 (initrd16): New section.
17840 (linux): New section.
17841 (linux16): New section.
17842 (search): The `var' argument to `--set' is optional.
17843 (GRUB only offers a rescue shell): Go into a little more detail on
17844 drive ordering.
17845
5cf69151
CW
178462010-07-05 Colin Watson <cjwatson@ubuntu.com>
17847
17848 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
17849
e3f90044
CW
178502010-07-05 Colin Watson <cjwatson@ubuntu.com>
17851
17852 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
17853 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
17854
38d8f4f3
CW
178552010-07-05 Colin Watson <cjwatson@ubuntu.com>
17856
17857 * util/i386/pc/grub-setup.c (setup): Rename prefix to
17858 install_prefix, in line with install_dos_part and install_bsd_part.
17859 Add new prefix variable, which is copied to install_prefix after
17860 comparing core.img in memory with the one read from disk in the
17861 no-embedding case, and use that rather than overwriting
17862 install_prefix immediately when installing to a partition.
17863 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
17864 Bicakci.
17865
57ebd41e
GS
178662010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17867
17868 * configure.ac: Avoid == in test command, it's not portable.
17869 * util/grub.d/30_os-prober.in: Likewise.
17870
cb7f64b2
CW
178712010-07-04 Colin Watson <cjwatson@ubuntu.com>
17872
17873 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
17874
6b654bb0
GS
178752010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17876
17877 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
17878 multiple (top-level) partmaps.
17879
72a2026d
VS
178802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17881
17882 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 17883 Reported by: Tino Keitel.
72a2026d 17884
df3eb88f
VS
178852010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17886
17887 Bidi and diacritics support.
17888
17889 * Makefile.in (widthspec.bin): New target.
17890 (widthspec.h): Likewise.
17891 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
17892 * autogen.sh: Generate unidata.c.
17893 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
17894 * commands/ls.c (grub_ls_list_devices): Likewise.
17895 (grub_ls_list_files): Likewise.
17896 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
17897 (grub_mini_cmd_lsmod): Likewise.
17898 * commands/read.c: Likewise.
17899 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
17900 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
17901 * lib/arg.c (grub_arg_show_help): Likewise.
17902 * lib/crypto.c (grub_password_get): Likewise.
17903 * normal/auth.c (grub_username_get): Likewise.
17904 * normal/misc.c (grub_normal_print_device_info): Likewise.
17905 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
17906 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
17907 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
17908 (normal/charset.c_DEPENDENCIES): New variable.
17909 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
17910 (pkglib_MODULES): Remove charset.mod.
17911 (charset_mod_SOURCES): Removed.
17912 (charset_mod_CFLAGS): Likewise.
17913 (charset_mod_LDFLAGS): Likewise.
17914 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
17915 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
17916 and term/tparm.c.
17917 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17918 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17919 (kernel_img_HEADERS): Add terminfo.h.
17920 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
17921 Fill ->font. Reverse ascii bitmaps.
17922 (grub_font_get_xheight): New function.
17923 * font/font.c (grub_font_get_string_width): Moved from here ...
17924 * gfxmenu/font.c (grub_font_get_string_width): ... here.
17925 * font/font.c (grub_font_draw_string): Moved from here ...
17926 * gfxmenu/font.c (grub_font_draw_string): ... here.
17927 * font/font.c (grub_font_dup_glyph): New function.
17928 (grub_font_blit_glyph): Likewise.
17929 (grub_font_blit_glyph_mirror): Likewise.
17930 (blit_comb): Likewise.
17931 (grub_font_construct_dry_run): Likewise.
17932 (grub_font_get_constructed_device_width): Likewise.
17933 (grub_font_construct_glyph): Likewise.
17934 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
17935 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
17936 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
17937 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
17938 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
17939 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
17940 (grub_font_get_xheight): New proto.
17941 (grub_font_get_constructed_device_width): Likewise.
17942 (grub_font_construct_glyph): Likewise.
17943 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
17944 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
17945 * include/grub/font.h (grub_font_draw_string): Moved from here ...
17946 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
17947 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
17948 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
17949 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
17950 (grub_console_getcharwidth): Likewise.
17951 * include/grub/misc.h (grub_xputs): New proto.
17952 (grub_puts): Inlined.
17953 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
17954 (grub_normal_get_line_counter): Removed.
17955 (grub_install_newline_hook): Likewise.
17956 (grub_normal_get_char_counter): New proto.
17957 (grub_normal_reset_more): Likewise.
17958 (grub_xputs_normal): Likewise.
17959 * include/grub/powerpc/ieee1275/console.h: Removed.
17960 * include/grub/sparc64/ieee1275/console.h: Likewise.
17961 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
17962 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
17963 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
17964 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
17965 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
17966 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
17967 (grub_term_input): Pass reference to self. All users updated.
17968 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
17969 Pass reference to self. New fields normal_color, highlight_color and
17970 data. All users updated.
17971 (grub_putchar): Removed.
17972 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
17973 (grub_unicode_estimate_width): New function.
17974 (grub_term_getcharwidth): Add defaults.
17975 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
17976 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
17977 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
17978 (grub_cls): Remove EXPORT_FUNC.
17979 (grub_setcolorstate): Inline.
17980 (grub_newline_hook): Removed.
17981 * include/grub/terminfo.h: Rewritten. All users updated.
17982 * include/grub/unicode.h: New file.
17983 * include/grub/video.h (grub_video_signed_rect): New type.
17984 * kern/emu/console.c (grub_console_highlight_color): Removed.
17985 (grub_console_normal_color): Likewise.
17986 (grub_console_standard_color): Made static.
17987 (grub_ncurses_putchar): Remove mapping.
17988 (grub_ncurses_getcharwidth): Removed.
17989 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17990 (grub_ncurses_setcolor): Removed.
17991 (grub_ncurses_getcolor): Likewise.
17992 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
17993 (grub_console_putchar): ... this.
17994 (grub_console_putchar): Handle argument difference.
17995 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
17996 console_init_early and console_init_lately.
17997 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
17998 * kern/misc.c (grub_puts): Removed.
17999 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18000 (grub_vsnprintf_real): Remove str = NULL support.
18001 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18002 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18003 * kern/term.c (grub_putcode): Renamed to ...
18004 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18005 (grub_putchar): Removed.
18006 (grub_xputs_dumb): New function.
18007 (grub_xputs): New variable.
18008 * lib/charset.c: Move from here ...
18009 * normal/charset.c: ... to here.
18010 (grub_ucs4_to_utf8): New function.
18011 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18012 (join_types): New variable.
18013 (unpack_join): New function.
18014 (bidi_types): New variable.
18015 (unpack_bidi): New function.
18016 (get_bidi_type): Likewise.
18017 (get_join_type): Likewise.
18018 (is_mirrored): Likewise.
18019 (grub_unicode_get_comb_type): Likewise.
18020 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18021 (is_type_after): Likewise.
18022 (grub_unicode_aglomerate_comb): Likewise.
18023 (bidi_line_wrap): Likewise.
18024 (grub_bidi_line_logical_to_visual): Likewise.
18025 (grub_bidi_logical_to_visual): Likewise.
18026 (grub_unicode_mirror_code): Likewise.
18027 (grub_unicode_shape_code): Likewise.
18028 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18029 Don't use grub_putchar.
18030 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18031 (grub_normal_reader_init): Likewise.
18032 (grub_xputs_saved): New variable.
18033 (GRUB_MOD_INIT): Set grub_xputs.
18034 (GRUB_MOD_FINI): Restore grub_xputs.
18035 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18036 (menu_init): Avoid printing gfxmenu error.
18037 (show_menu): Use grub_normal_get_char_counter.
18038 * normal/menu_entry.c (update_screen): Fix out-of-array.
18039 (complete): Avoid NULL dereferencing.
18040 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18041 * normal/menu_text.c (print_spaces): Removed.
18042 (grub_print_ucs4): Likewise.
18043 (grub_print_message_indented): Use grub_print_ucs4.
18044 (print_message): Use grub_putcode.
18045 (print_entry): Hanlde diacritics.
18046 * normal/term.c (term_state): New type.
18047 (grub_more_lines): Removed.
18048 (term_states): New variable.
18049 (grub_normal_line_counter): Renamed to ..
18050 (grub_normal_char_counter): ...this. All users updated.
18051 (grub_normal_get_line_counter): Renamed to ...
18052 (grub_normal_get_char_counter): ... this.
18053 (grub_normal_reset_more): New function.
18054 (process_newline): Removed.
18055 (print_more): New function.
18056 (grub_install_newline_hook): Removed.
18057 (map_code): New function.
18058 (grub_puts_terminal): Use grub_print_ucs4.
18059 (putglyph): New function.
18060 (putcode_real): Likewise.
18061 (grub_putcode): Use putcode_real.
18062 (get_maxwidth): New function.
18063 (get_startwidth): Likewise.
18064 (print_ucs4_terminal): Likewise.
18065 (find_term_state): Likewise.
18066 (put_glyphs_terminal): Likewise.
18067 (print_backlog): Likewise.
18068 (print_ucs4_real): Likewise.
18069 (grub_print_ucs4): Likewise.
18070 (grub_xputs_normal): Likewise.
18071 * term/efi/console.c (grub_console_putchar): Output diacritics.
18072 (grub_console_getcharwidth): Removed.
18073 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18074 * term/gfxterm.c (clear_char): Free chars.
18075 (scroll_up): Avoid leaking memory.
18076 (grub_gfxterm_putchar): Support diacritics.
18077 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18078 * term/i386/pc/console.c (grub_console_term_output): Declare as
18079 GRUB_TERM_CODE_TYPE_VGA.
18080 * term/i386/pc/vga.c (grub_vga_term): Declare as
18081 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18082 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18083 GRUB_TERM_CODE_TYPE_VGA.
18084 * term/i386/vga_common.c (map_char): Removed.
18085 (grub_console_putchar): Likewise.
18086 (grub_console_getcharwidth): Likewise.
18087 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18088 (colors): Reordered to match terminfo.
18089 (grub_ofconsole_normal_color): Removed.
18090 (grub_ofconsole_writeesc): Likewise.
18091 (grub_ofconsole_highlight_color): Likewise.
18092 (grub_ofconsole_getcharwidth): Likewise.
18093 (grub_ofconsole_setcolorstate): Likewise.
18094 (grub_ofconsole_setcolor): Likewise.
18095 (grub_ofconsole_getcolor): Likewise.
18096 (grub_ofconsole_readkey): Renamed to ...
18097 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18098 key.
18099 (grub_ofconsole_checkkey): Removed.
18100 (grub_ofconsole_getkey): Likewise.
18101 (grub_ofconsole_getxy): Likewise.
18102 (grub_ofconsole_gotoxy): Likewise.
18103 (grub_ofconsole_cls): Likewise.
18104 (grub_ofconsole_refresh): Likewise.
18105 (grub_ofconsole_terminfo_input): New struct.
18106 (grub_ofconsole_terminfo_output): Likewise.
18107 (grub_ofconsole_term_input): Use terminfo.
18108 (grub_ofconsole_term_output): Likewise.
18109 (grub_console_init): Split into ...
18110 (grub_console_init_early): ...this and ...
18111 (grub_console_init_lately): ...this. Use terminfo.
18112 (grub_ofconsole_putchar): Renamed to ...
18113 (put): ... this. Remove mapping.
18114 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18115 * term/serial.c: Simplify using terminfo.
18116 (xpos): Removed.
18117 (ypos): Likewise.
18118 (keep_track): Likewise.
18119 (registered): Likewise.
18120 (input_buf): Likewise.
18121 (npending): Likewise.
18122 (serial_translate_key_sequence): Likewise.
18123 (fill_input_buf): Likewise.
18124 (grub_serial_checkkey): Likewise.
18125 (grub_serial_getkey): Likewise.
18126 (grub_serial_getxy): Likewise.
18127 (grub_serial_gotoxy): Likewise.
18128 (grub_serial_putchar): Likewise.
18129 (grub_serial_cls): Likewise.
18130 (grub_serial_setcolorstate): Likewise.
18131 (grub_serial_setcursor): Likewise.
18132 (serial_hw_init): Use serial_hw_fetch.
18133 (grub_serial_terminfo_input): New variable.
18134 (grub_serial_terminfo_output): Likewise.
18135 (grub_serial_term_input): Use terminfo.
18136 (grub_serial_term_output): Likewise.
18137 * term/terminfo.c (putstr): Use put.
18138 (grub_terminfo_all_free): New function
18139 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18140 (grub_terminfo_output_register): New function.
18141 (grub_terminfo_output_unregister): Likewise.
18142 (grub_terminfo_getxy): Likewise.
18143 (grub_terminfo_readkey): Likewise.
18144 (grub_terminfo_checkkey): Likewise.
18145 (grub_terminfo_getkey): Likewise.
18146 (grub_terminfo_input_init): Likewise.
18147 (print_terminfo): Likewise.
18148 (grub_cmd_terminfo): Handle encoding.
18149 (grub_terminfo_gotoxy): Track position.
18150 (grub_terminfo_cls): Likewise.
18151 (grub_terminfo_putchar): Likewise.
18152 (grub_terminfo_setcolorstate): Handle colors
18153 (grub_terminfo_cursor_on): This ...
18154 (grub_terminfo_cursor_off): ... and this merged into ...
18155 (grub_terminfo_setcursor): ... this.
18156 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18157 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18158 * unicode/BidiMirroring.txt: Likewise.
18159 * unicode/UnicodeData.txt: Likewise.
18160 * unicode/COPYING: Likewise.
18161 * util/grub-editenv.c (grub_putchar): Removed.
18162 (grub_xputs_real): New function.
18163 (grub_xputs): New variable.
18164 * util/grub-fstest.c (grub_putchar): Removed.
18165 (grub_xputs_real): New function.
18166 (grub_xputs): New variable.
18167 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18168 (grub_xputs_real): New function.
18169 (grub_xputs): New variable.
18170 * util/grub-probe.c (grub_putchar): Removed.
18171 (grub_xputs_real): New function.
18172 (grub_xputs): New variable.
18173 * util/grub-script-check.c (grub_putchar): Removed.
18174 (grub_xputs_real): New function.
18175 (grub_xputs): New variable.
18176 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18177 (grub_xputs_real): New function.
18178 (grub_xputs): New variable.
18179 * util/import_unicode.py: New file.
18180 * util/grub-mkfont.c (ft_errmsgs): New array.
18181 (grub_glyph_info): Make bitmap a pointer.
18182 (file_formats): New type WIDTH_SPEC.
18183 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18184 (options): Add width-spec.
18185 (help): Likewise.
18186 (add_char): Renamed to ...
18187 (add_glyph): ... this.
18188 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18189 (glyph_replace): New type.
18190 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18191 (add_char): New function.
18192 (add_subst): Likewise.
18193 (process_cursive): Likewise.
18194 (add_font): Handle GSUB.
18195 (write_font_width_spec): New function.
18196 (main): Sort glyphs.
18197 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18198 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18199 * kern/term.c (grub_cls): Moved from here...
18200 * normal/term.c (grub_cls): ... here.
18201
50f0bcda
CW
182022010-07-02 Colin Watson <cjwatson@ubuntu.com>
18203
18204 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18205 suitable for using within the format argument of printf when
18206 converting grub_size_t.
18207 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18208 "x" to convert grub_size_t arguments.
18209
40372103
VS
182102010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18211
18212 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18213 too long captions.
18214 (list_get_minimal_size): Take selection box into account.
18215
942a10c7
VS
182162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18217
18218 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18219 NULL font.
18220
2bdb2892
CW
182212010-07-02 Colin Watson <cjwatson@ubuntu.com>
18222
18223 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18224 devices when iterating over /dev/disk/by-id; they will be handled
18225 later if appropriate, which they aren't always (e.g. LVM).
18226
e03ed6c1
CW
182272010-07-02 Colin Watson <cjwatson@ubuntu.com>
18228
18229 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18230 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18231 fails.
18232 (grub_halt): Likewise.
18233 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18234 reset-all fails.
18235 (grub_halt): Don't return, even if all of shut-down, power-off, and
18236 poweroff fail.
18237
47695765
CW
182382010-07-02 Colin Watson <cjwatson@ubuntu.com>
18239
18240 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18241 arguments, not three.
18242
507736c8
CW
182432010-07-02 Colin Watson <cjwatson@ubuntu.com>
18244
18245 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18246 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18247 LVM-on-RAID is handled correctly.
18248
e3c8cd37
CW
182492010-07-02 Colin Watson <cjwatson@ubuntu.com>
18250
18251 * docs/grub.texi (Changes from GRUB Legacy): New section.
18252 (Future): Fix typo.
18253
8d4a2fec
CW
182542010-07-02 Colin Watson <cjwatson@ubuntu.com>
18255
18256 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18257 grub.d/README accidentally ends up executable for one reason or
18258 another. Ignore it.
18259
1c4827be
VS
182602010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18261
18262 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18263 (gpt_partition_map_iterate): Support non-512B sectors.
18264
d9a0c941
VS
182652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18266
18267 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18268 Tested by: Seth Goldberg.
18269
48f27e87
VS
182702010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18271
18272 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18273 Properly align mbi.
18274 Reported by: Seth Goldberg.
18275
b0c4f956
VS
182762010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18277
18278 * util/grub-mkrescue.in: Avoid module duplication.
18279
105a2e8c
SF
182802010-07-01 Sean Finney <seanius@seanius.net>
18281
18282 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18283
5944958c
SF
182842010-07-01 Sean Finney <seanius@seanius.net>
18285
18286 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18287
182882010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18289
18290 * disk/lvm.c (grub_lvm_checkvalue): New function.
18291 (grub_lvm_check_flag): Likewise.
18292
b79889ba
RM
182932010-07-01 Robert Millan <rmh@gnu.org>
18294
18295 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18296 Support 'p' as partition separator on kernel of FreeBSD (used
18297 with GPT labels).
18298 (grub_util_biosdisk_get_grub_dev): Likewise.
18299
ec1d04f1
VS
183002010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18301
18302 Yeeloong firmware port.
18303
18304 * boot/mips/yeeloong/fwstart.S: New file.
18305 * bus/cs5536.c (gpiodump): New const.
18306 (set_io_space): New function.
18307 (set_iod): Likewise.
18308 (set_p2d): Likewise.
18309 (grub_cs5536_init_geode): Likewise.
18310 * commands/mips/yeeloong/lsspd.c: New file.
18311 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18312 (serial_mod_SOURCES): New variable.
18313 (serial_mod_CFLAGS): Likewise.
18314 (serial_mod_LDFLAGS): Likewise.
18315 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18316 term/terminfo.c and term/tparm.c.
18317 (pkglib_IMAGES): Add fwstart.img.
18318 (fwstart_img_SOURCES): New variable.
18319 (fwstart_img_CFLAGS): Likewise.
18320 (fwstart_img_ASFLAGS): Likewise.
18321 (fwstart_img_LDFLAGS): Likewise.
18322 (fwstart_img_FORMAT): Likewise.
18323 (pkglib_MODULES): Add lsspd.mod.
18324 (lsspd_mod_SOURCES): New variable.
18325 (lsspd_mod_CFLAGS): Likewise.
18326 (lsspd_mod_LDFLAGS): Likewise.
18327 (pkglib_MODULES): Add halt.mod.
18328 (halt_mod_SOURCES): New variable.
18329 (halt_mod_CFLAGS): Likewise.
18330 (halt_mod_LDFLAGS): Likewise.
18331 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18332 (serial_mod_SOURCES): Removed.
18333 (serial_mod_CFLAGS): Likewise.
18334 (serial_mod_LDFLAGS): Likewise.
18335 * disk/ata.c (check_device): New function.
18336 (grub_ata_device_initialize): Use check_device.
18337 (grub_ata_iterate): Recheck devices.
18338 (grub_ata_open): Likewise.
18339 (grub_atapi_iterate): Likewise.
18340 (grub_atapi_open): Likewise.
18341 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18342 (GRUB_ATA_CH1_PORT1): Likewise.
18343 (GRUB_ATA_CH0_PORT2): Likewise.
18344 (GRUB_ATA_CH1_PORT2): Likewise.
18345 * include/grub/mips/loongson.h: New file.
18346 * include/grub/mips/yeeloong/ec.h: Likewise.
18347 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18348 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18349 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18350 * include/grub/misc.h (grub_halt): Declare as noreturn.
18351 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18352 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18353 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18354 (UART_ENABLE_DTRRTS): Likewise.
18355 (UART_ENABLE_MODEM): Removed.
18356 (UART_ENABLE_OUT2): New const.
18357 * include/grub/term.h (grub_term_register_input_active): New function.
18358 (grub_term_register_output_active): Likewise.
18359 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18360 argument.
18361 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18362 (init_pci): New function.
18363 (grub_machine_init): Execute platform init when firmware. Init serial.
18364 (grub_halt): Implement.
18365 (grub_exit): Likewise.
18366 (grub_reboot): Likewise.
18367 * term/serial.c (serial_hw_init): Update macros.
18368 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18369 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18370 (image_targets): New target mipsel-yeeloong-flash.
18371 (generate_image): Support IMAGE_YEELOONG_FLASH.
18372 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18373 (grub_video_sm712_setup): Init card.
18374 (grub_video_sm712_set_palette): Removed.
18375 * video/sm712_init.c: New file.
18376
ff4a70d2
CW
183772010-06-30 Colin Watson <cjwatson@ubuntu.com>
18378
18379 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18380 PATH when running help2man and then run it on the unadorned
18381 executable names, rather than passing $(builddir)/* paths to
18382 help2man. This avoids the build directory ending up in generated
18383 manual pages.
18384
1246efeb
CW
183852010-06-29 Colin Watson <cjwatson@ubuntu.com>
18386
18387 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18388 to avoid accidents when debugging with 'sh -x'.
18389 * util/grub-mkrescue.in: Likewise.
18390 * util/grub.d/00_header.in: Likewise.
18391 * util/grub.d/10_hurd.in: Likewise.
18392 * util/grub.d/10_kfreebsd.in: Likewise.
18393 * util/grub.d/10_linux.in: Likewise.
18394 * util/grub.d/10_netbsd.in: Likewise.
18395 * util/grub.d/10_windows.in: Likewise.
18396 * util/grub.d/20_linux_xen.in: Likewise.
18397 * util/grub.d/30_os-prober.in: Likewise.
18398 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18399
1ba9b889
CW
184002010-06-29 Colin Watson <cjwatson@ubuntu.com>
18401
18402 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18403 last character in the buffer.
18404 Reported by: Vladimir Serbinenko.
18405
dccaf99d
RM
184062010-06-29 Robert Millan <rmh@gnu.org>
18407
18408 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18409 (Command-line and menu entry commands): Document `badram' command.
18410
d500ed12
RM
184112010-06-28 Robert Millan <rmh@gnu.org>
18412
18413 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18414 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18415 command using ${GRUB_BADRAM} as parameter.
18416
20bc84a6
CW
184172010-06-28 Colin Watson <cjwatson@ubuntu.com>
18418
18419 * docs/grub.texi (Device map): New section.
18420 (Themes): New section (stub).
18421 * Makefile.in (docs/grub.info): The info documentation now builds
18422 without errors. Make sure it stays that way.
18423
4045dee1
VS
184242010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18425
18426 Use normal parser for menu entries.
18427 Reported by: Thomas Frauendorfer
18428
18429 * include/grub/parser.h (grub_parser_execute): Don't export.
18430 * normal/menu.c (grub_menu_execute_entry_real): New function.
18431 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18432
bca58c7b
CW
184332010-06-28 Colin Watson <cjwatson@ubuntu.com>
18434
18435 * docs/grub.texi (Embedded configuration): New section (replacing
18436 old "Preset Menu" stub).
18437 (Images): New section.
18438 (configfile): Note that any menu entries defined in `file' are shown
18439 immediately.
18440
dec53e63
JT
184412010-06-28 Josh Triplett <josh@joshtriplett.org>
18442
18443 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18444
c06e40f7
CW
184452010-06-28 Colin Watson <cjwatson@ubuntu.com>
18446
18447 * util/grub-install.in: Add --debug-image= option.
18448
cb88052b
CW
184492010-06-28 Colin Watson <cjwatson@ubuntu.com>
18450
18451 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18452 possible on Linux.
18453
18454 * util/deviceiter.c (check_device): Rename to ...
18455 (check_device_readable_unique): ... this. Update all callers.
18456 Maintain and check a list of which devices (by canonicalized name)
18457 have already been seen.
18458 (clear_seen_devices): New function.
18459 (compare_file_names) [__linux__]: New function.
18460 (grub_util_iterate_devices): Clear the list of seen devices on exit
18461 and (just in case) on entry.
18462 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18463 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18464 seen-devices list, superseded by general code in check_device.
18465
bbe34652
CW
184662010-06-28 Colin Watson <cjwatson@ubuntu.com>
18467
18468 * commands/cat.c (options): New variable.
18469 (grub_cmd_cat): Parse options. If the --dos option is given, print
18470 DOS-style "\r\n" line endings as simple newlines (Debian bug
18471 #586358).
18472 (GRUB_MOD_INIT): Use extcmd.
18473 (GRUB_MOD_FINI): Likewise.
18474 * docs/grub.texi (cat): Document --dos.
18475
412e09f3
VS
184762010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18477
18478 XEN with Linux grub-mkconfig support.
18479
18480 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18481 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18482 GRUB_CMDLINE_XEN_DEFAULT.
18483 * util/grub.d/20_linux_xen.in: New file.
18484
53f3ef38 184852010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
18486
18487 Initialise VGA video on qemu ourselves.
18488
18489 * boot/i386/qemu/boot.S: Don't call 0xc000.
18490 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18491 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18492 (kernel_img_HEADERS): Add pci.h.
18493 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18494 * configure.ac: Force unifont on qemu and yeeloong.
18495 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18496 (grub_vga_palette_write): Use correct register.
18497 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18498 Call grub_qemu_init_cirrus.
18499 * kern/i386/qemu/init.c: New file.
18500 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18501
18502 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18503
c75be4fb
PR
185042010-06-26 Pavel Roskin <proski@gnu.org>
18505
18506 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18507 13.
18508
d8034603
CW
185092010-06-26 Colin Watson <cjwatson@ubuntu.com>
18510
18511 * docs/grub.texi (Simple configuration): Explain that
18512 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18513 set to `true' to disable their respective recovery entries, not
18514 merely set.
18515
3fa06487
CW
185162010-06-26 Colin Watson <cjwatson@ubuntu.com>
18517
18518 Make the `source' command slightly faster.
18519
18520 * normal/main.c (grub_normal_execute): Don't re-read list files when
18521 nested.
18522
e9b29642
CW
185232010-06-23 Colin Watson <cjwatson@ubuntu.com>
18524
18525 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
18526 field position and mask size to red fields from mode_info, not
18527 green.
18528 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
18529 Remove redundant tag->common.framebuffer_type assignment.
18530 Reported by: Seth Goldberg.
18531
e726542f
CW
185322010-06-23 Colin Watson <cjwatson@ubuntu.com>
18533
18534 Sync up other versions of the Linux loader with Robert Millan's
18535 change of 2010-01-09, "Make loader output a bit more user-friendly".
18536
18537 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
18538 grub_dprintf().
18539 (grub_cmd_linux): Likewise.
18540 (grub_cmd_initrd): Likewise.
18541 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
18542 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18543
d6e98a17
CW
185442010-06-21 Colin Watson <cjwatson@ubuntu.com>
18545
18546 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
18547 larger than MEMORY_MAP_SIZE.
18548
14d3f08e
BC
185492010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
18550
18551 Fix parallel build.
18552
18553 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
18554 dependency.
18555 * script/parser.y: #include grub_script.tab.h header.
18556
4f9613a3
VS
185572010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18558
18559 Support >3GiB and <16MiB RAM in i386-qemu.
18560
18561 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
18562 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
18563 (grub_lower_mem): Removed.
18564 (grub_upper_mem): Likewise.
18565 (mem_size): Made static.
18566 (above_4g): New variable.
18567 (grub_machine_mmap_init): Detect small mem_size and above_4g.
18568 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
18569 support.
18570
05e51879
VS
185712010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18572
18573 Cirrus 5446 and Bochs video cards support.
18574
18575 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
18576 video_bochs.mod
18577 (video_cirrus_mod_SOURCES): New variable.
18578 (video_cirrus_mod_CFLAGS): Likewise.
18579 (video_cirrus_mod_LDFLAGS): Likewise.
18580 (video_bochs_mod_SOURCES): Likewise.
18581 (video_bochs_mod_CFLAGS): Likewise.
18582 (video_bochs_mod_LDFLAGS): Likewise.
18583 * include/grub/vga.h: New file.
18584 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
18585 (grub_video_fb_set_page_t): New type.
18586 (grub_video_fb_setup): New prototype.
18587 (grub_video_fb_swap_buffers): Likewise.
18588 (grub_video_fb_get_info_and_fini): Likewise.
18589 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
18590 (CRTC_DATA_PORT): Likewise.
18591 (CRTC_CURSOR): Likewise.
18592 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18593 (CRTC_CURSOR_ADDR_LOW): Likewise.
18594 (CRTC_CURSOR_DISABLE): Likewise.
18595 (update_cursor): Use grub_vga_cr_write.
18596 (grub_vga_text_setcursor): Likewise.
18597 * video/bochs.c: New file.
18598 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
18599 (palette): Likewise.
18600 (palette_size): Likewise.
18601 (framebuffer): New variable.
18602 (grub_video_fb_init): Use 'framebuffer'.
18603 (grub_video_fb_fini): Likewise.
18604 (grub_video_fb_get_info): Likewise.
18605 (grub_video_fb_get_palette): Likewise.
18606 (grub_video_fb_set_palette): Likewise.
18607 (grub_video_fb_set_viewport): Likewise.
18608 (grub_video_fb_get_viewport): Likewise.
18609 (grub_video_fb_map_color): Likewise.
18610 (grub_video_fb_map_rgb): Likewise.
18611 (grub_video_fb_map_rgba): Likewise.
18612 (grub_video_fb_unmap_color): Likewise.
18613 (grub_video_fb_unmap_color_int): Likewise.
18614 (grub_video_fb_fill_rect): Likewise.
18615 (grub_video_fb_blit_bitmap): Likewise.
18616 (grub_video_fb_blit_render_target): Likewise.
18617 (grub_video_fb_scroll): Likewise.
18618 (grub_video_fb_create_render_target): Likewise.
18619 (grub_video_fb_doublebuf_blit_init): Likewise.
18620 (grub_video_fb_set_active_render_target): Handle doublebuffering.
18621 (doublebuf_pageflipping_update_screen): New function.
18622 (doublebuf_pageflipping_init): Likewise.
18623 (grub_video_fb_setup): Likewise.
18624 (grub_video_fb_swap_buffers): Likewise.
18625 (grub_video_fb_get_info_and_fini): Likewise.
18626 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
18627 All users updated.
18628 (doublebuf_pageflipping_commit): Restructured into ...
18629 (doublebuf_pageflipping_set_page): ... this.
18630 (doublebuf_pageflipping_update_screen): Removed.
18631 (doublebuf_pageflipping_init): Likewise.
18632 (double_buffering_init): Likewise.
18633 (grub_video_vbe_setup): Use grub_video_fb_setup.
18634 (grub_video_vbe_swap_buffers): Removed.
18635 (grub_video_vbe_set_active_render_target): Likewise.
18636 (grub_video_vbe_get_active_render_target): Likewise.
18637 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
18638 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
18639 grub_video_fb_set_active_render_target and
18640 grub_video_fb_get_active_render_target.
18641 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
18642 (SEQUENCER_DATA_PORT): Likewise.
18643 (MAP_MASK_REGISTER): Likewise.
18644 (CRTC_ADDR_PORT): Likewise.
18645 (CRTC_DATA_PORT): Likewise.
18646 (START_ADDR_HIGH_REGISTER): Likewise.
18647 (START_ADDR_LOW_REGISTER): Likewise.
18648 (GRAPHICS_ADDR_PORT): Likewise.
18649 (GRAPHICS_DATA_PORT): Likewise.
18650 (READ_MAP_REGISTER): Likewise.
18651 (INPUT_STATUS1_REGISTER): Likewise.
18652 (INPUT_STATUS1_VERTR_BIT): Likewise.
18653 (get_map_mask): Use grub_vga_sr_read.
18654 (set_map_mask): Use grub_vga_sr_write.
18655 (set_read_map): Use grub_vga_gr_write.
18656 (set_start_address): Use grub_vga_cr_write.
18657 * video/sm712.c (framebuffer): Remove leftover fields.
18658
4321c64a
CW
186592010-06-20 Colin Watson <cjwatson@ubuntu.com>
18660
18661 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
18662 setting GRUB_VIDEO_BACKEND. Make it available as a user override
18663 instead. Replace the gfxterm backend check with a check that
18664 ${GRUB_PREFIX}/video.lst is non-empty.
18665 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
18666 again.
18667 (load_video): New generated function. Call it before loading
18668 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
18669 * util/grub.d/10_linux.in (linux_entry): Call load_video.
18670 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
18671 * docs/grub.texi (Simple configuration): Document
18672 GRUB_VIDEO_BACKEND.
18673
186742010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18675
18676 Use video functions in linux and xnu loaders.
18677
18678 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
18679 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
18680 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
18681 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
18682 loader/i386/pc/linux.c.
18683 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
18684 (find_line_len): Removed.
18685 (find_framebuf): Likewise.
18686 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
18687 * loader/i386/efi/xnu.c: Removed.
18688 * loader/i386/pc/xnu.c: Moved from here...
18689 * loader/i386/xnu.c: ...here.
18690
18691 Enable priorities in video drivers.
18692
18693 * include/grub/video.h (grub_video_adapter_prio_t): New type.
18694 (grub_video_adapter): New field prio.
18695 (grub_video_register): Respect prio when inserting.
18696 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
18697 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
18698 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
18699 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
18700 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
18701 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
18702 * video/sm712.c (grub_video_sm712_adapter): Likewise.
18703
18704 Fix SDL driver ID.
18705
18706 * include/grub/video.h (grub_video_driver_id_t): New value
18707 GRUB_VIDEO_DRIVER_SDL.
18708 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
18709
7d24e434
CW
187102010-06-17 Colin Watson <cjwatson@ubuntu.com>
18711
18712 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
18713 argument to printf.
18714 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18715
c88a83f6
CW
187162010-06-17 Colin Watson <cjwatson@ubuntu.com>
18717
18718 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
18719 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18720
094dfb69
CW
187212010-06-17 Colin Watson <cjwatson@ubuntu.com>
18722
18723 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
18724 directly, and recommend grub-install instead.
18725 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18726
2164da6b
CW
187272010-06-17 Colin Watson <cjwatson@ubuntu.com>
18728
18729 Fix i386-pc prefix handling with nested partitions (Debian bug
18730 #585068). Note that the case where the core image is booted using
18731 multiboot and relocated from its original location still requires
18732 more work.
18733
18734 * kern/i386/pc/init.c (make_install_device): If the prefix starts
18735 with "(,", fill the boot drive in between those two characters, but
18736 expect that a full partition specification including partition map
18737 names will follow.
18738 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
18739 specified, write a prefix without the drive name but including a
18740 full partition specification.
18741
044e2e60
CW
187422010-06-16 Colin Watson <cjwatson@ubuntu.com>
18743
18744 * util/grub-mkconfig.in: Ignore non-option arguments, for
18745 compatibility with older versions (before 2010-06-12) which did the
18746 same. In particular, this makes it easier to ship an update-grub
18747 wrapper which is compatible with that used with GRUB Legacy (Debian
18748 bug #586056).
18749
5591324f
GS
187502010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18751
18752 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
18753 for manual page generation.
18754
662e24d5
GS
187552010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18756
18757 * po/POTFILES: Remove leftover commands/handler.c.
18758
8d70754e
CW
187592010-06-14 Colin Watson <cjwatson@ubuntu.com>
18760
18761 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
18762 left this script non-functional.
18763
41160e2e
CW
187642010-06-14 Colin Watson <cjwatson@ubuntu.com>
18765
18766 * docs/man/grub-emu.h2m: New file.
18767
b5309cc1
CW
187682010-06-13 Colin Watson <cjwatson@ubuntu.com>
18769
18770 * docs/grub.texi (Commands): Document reduced command set in rescue
18771 mode.
18772 (cpuid): New section.
18773
fcb2d090
GS
187742010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
18775
18776 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
18777 new partition naming style.
18778 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
18779
96e5c556
BC
187802010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
18781
18782 Add "-o grub.iso" like cmdline options support.
18783
18784 * util/grub-install.in: Improve cmdline option parsing.
18785 * util/grub-mkconfig.in: Likewise.
18786 * util/grub-mkrescue.in: Likewise.
18787 * util/grub-reboot.in: Likewise.
18788 * util/grub-set-default.in: Likewise.
18789 * util/i386/efi/grub-install.in: Likewise.
18790 * util/ieee1275/grub-install.in: Likewise.
18791 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18792
c16be99b
CW
187932010-06-12 Colin Watson <cjwatson@ubuntu.com>
18794
18795 * .bzrignore: Ignore 41_custom.
18796
ce08a9fb
TS
187972010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18798
18799 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
18800
7beac90c
CW
188012010-06-12 Colin Watson <cjwatson@ubuntu.com>
18802
18803 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
18804 prototype declarations.
18805
18806 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
18807 generating fs, partmap, and video lists.
18808 * include/grub/fs.h (grub_fs_register): Omit prototype if
18809 GRUB_LST_GENERATOR is defined.
18810 * include/grub/partition.h (grub_partition_map_register): Likewise.
18811 * include/grub/video.h (grub_video_register): Likewise.
18812
1c8f0f8d
JM
188132010-06-12 Javier Martín <lordhabbit@gmail.com>
18814
18815 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
18816
a6085973
TS
188172010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18818
18819 * util/grub-mkrescue.in: Support --xorriso argument.
18820
25c56d29
VS
188212010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18822
18823 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
18824 Suggested by: Thomas Schmitt.
18825
e03e4b24
VS
188262010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18827
18828 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
18829 Suggested by: Thomas Schmitt.
18830
57711df6
VS
188312010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18832
18833 custom.cfg support.
18834
18835 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
18836 * util/grub.d/41_custom.in: New file.
18837
ee62c427
CW
188382010-06-12 Colin Watson <cjwatson@ubuntu.com>
18839
18840 * util/grub-mkrescue.in (make_image): Remove sh module, which has
18841 been merged back into normal.
18842
283af07a
CW
188432010-06-11 Colin Watson <cjwatson@ubuntu.com>
18844
18845 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
18846 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
18847
56a0d956
CW
188482010-06-11 Colin Watson <cjwatson@ubuntu.com>
18849
18850 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
18851 when generating manual pages.
18852 * docs/man/grub-bin2h.h2m: New file.
18853 * docs/man/grub-editenv.h2m: New file.
18854 * docs/man/grub-fstest.h2m: New file.
18855 * docs/man/grub-install.h2m: New file.
18856 * docs/man/grub-macho2img.h2m: New file.
18857 * docs/man/grub-mkconfig.h2m: New file.
18858 * docs/man/grub-mkdevicemap.h2m: New file.
18859 * docs/man/grub-mkfont.h2m: New file.
18860 * docs/man/grub-mkimage.h2m: New file.
18861 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
18862 * docs/man/grub-mkrelpath.h2m: New file.
18863 * docs/man/grub-mkrescue.h2m: New file.
18864 * docs/man/grub-ofpathname.h2m: New file.
18865 * docs/man/grub-pe2elf.h2m: New file.
18866 * docs/man/grub-probe.h2m: New file.
18867 * docs/man/grub-reboot.h2m: New file.
18868 * docs/man/grub-script-check.h2m: New file.
18869 * docs/man/grub-set-default.h2m: New file.
18870 * docs/man/grub-setup.h2m: New file.
18871
3a37e322
VS
188722010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
18873
18874 Use FOR_* macros instead of *_iterate whenever possible.
18875
18876 * commands/handler.c: Removed.
18877 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
18878 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
18879 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18880 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
18881 (grub_probe_SOURCES): Remove kern/parser.c.
18882 (util/grub-script-check.c_DEPENDENCIES): Removed.
18883 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
18884 and grub_script_check_init.c.
18885 (grub_script_check_init.lst): Removed.
18886 (grub_script_check_init.h): Likewise.
18887 (grub_script_check_init.c): Likewise.
18888 (pkglib_MODULES): Remove handler.mod and sh.mod.
18889 (handler_mod_SOURCES): Removed.
18890 (handler_mod_CFLAGS): Likewise.
18891 (handler_mod_LDFLAGS): Likewise.
18892 (normal_mod_SOURCES): Remove normal/handler.c.
18893 Add script/main.c, script/script.c, script/execute.c,
18894 script/function.c, script/lexer.c, grub_script.tab.c
18895 and grub_script.yy.c.
18896 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18897 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18898 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
18899 (grub_setup_SOURCES): Remove kern/parser.c.
18900 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18901 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
18902 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18903 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18904 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18905 (grub_setup_SOURCES): Remove kern/parser.c.
18906 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18907 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
18908 * include/grub/command.h (grub_command_iterate): Removed.
18909 (FOR_COMMANDS): New macro.
18910 * include/grub/dl.h (grub_dl): New member next.
18911 (grub_dl_iterate): Removed.
18912 (grub_dl_head): New variable declaration.
18913 (FOR_DL_MODULES): New macro.
18914 * include/grub/fs.h: Include list.h.
18915 (grub_fs): Make next first element.
18916 (grub_fs_list): New variable declaration.
18917 (grub_fs_register): Make inline.
18918 (grub_fs_unregister): Likewise.
18919 (grub_fs_iterate): Removed.
18920 (FOR_FILESYSTEMS): New macro.
18921 * include/grub/handler.h: Removed.
18922 * include/grub/list.h (grub_list_hook_t): Removed.
18923 (grub_list_test_t): Likewise.
18924 (grub_list_pop): Likewise.
18925 (grub_list_iterate): Likewise.
18926 (grub_list_insert): Likewise.
18927 (FOR_LIST_ELEMENTS): New macro.
18928 * include/grub/parser.h (grub_parser_class): Removed.
18929 (grub_parser_register): Likewise.
18930 (grub_parser_unregister): Likewise.
18931 (grub_parser_get_current): Likewise.
18932 (grub_parser_set_current): Likewise.
18933 (grub_register_rescue_parser): Likewise.
18934 (grub_rescue_parse_line): New function.
18935 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
18936 * include/grub/script_sh.h (grub_script_function_list): New variable
18937 declaration.
18938 (FOR_SCRIPT_FUNCTIONS): New macro.
18939 (grub_script_function_iterate): Removed.
18940 (grub_normal_parse_line): New prototype.
18941 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
18942 (FOR_DISABLED_TERM_INPUTS): Likewise.
18943 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18944 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18945 * include/grub/video.h (grub_video_adapter): Move 'next' to first
18946 element.
18947 (grub_video_register): Inline.
18948 (grub_video_unregister): Likewise.
18949 (grub_video_adapter_list): New variable declaration.
18950 (grub_video_iterate): Removed.
18951 (FOR_VIDEO_ADAPTERS): New macro.
18952 * kern/dl.c (grub_dl_list): Removed. All users updated.
18953 (grub_dl_iterate): Removed.
18954 * kern/fs.c (grub_fs_list): Make global.
18955 (grub_fs_register): Removed.
18956 (grub_fs_unregister): Likewise.
18957 (grub_fs_iterate): Likewise.
18958 * kern/handler.c: Removed.
18959 * kern/list.c (grub_list_pop): Removed.
18960 (grub_list_iterate): Likewise.
18961 (grub_list_insert): Likewise.
18962 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
18963 (grub_prio_list_insert): Don't use grub_list_insert.
18964 * kern/main.c (grub_register_rescue_parser): Don't call
18965 grub_register_rescue_parser.
18966 * kern/parser.c (grub_parser_class): Removed.
18967 (grub_parser_execute): Use grub_rescue_parse_line.
18968 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
18969 (grub_rescue_parser): Removed.
18970 (grub_register_rescue_parser): Likewise.
18971 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
18972 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
18973 (grub_auth_check_authentication): Likewise.
18974 * normal/completion.c (iterate_command): Removed.
18975 (grub_normal_do_completion): Use FOR_COMMANDS.
18976 * normal/handler.c: Removed.
18977 * normal/main.c (read_config_file): Remove parser changing.
18978 (grub_normal_execute): Don't call read_handler_list.
18979 (grub_normal_read_line_real): Statically allocate prompt.
18980 (grub_cmdline_run): Use grub_normal_parse_line.
18981 (GRUB_MOD_FINI): Don't call free_handler_list.
18982 * normal/menu_entry.c (run): Likewise.
18983 * script/function.c (grub_script_function_list): Make global.
18984 (grub_script_function_iterate): Removed.
18985 * script/main.c (grub_normal_parse_line): Make global.
18986 (grub_sh_parser): Removed.
18987 (GRUB_MOD_INIT): Likewise.
18988 (GRUB_MOD_FINI): Likewise.
18989 * tests/lib/functional_test.c (grub_functional_test): Use
18990 FOR_LIST_ELEMENTS.
18991 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
18992 (grub_test_run): Use FOR_LIST_ELEMENTS.
18993 * tests/lib/unit_test.c (main): Likewise.
18994 * util/deviceiter.c (grub_util_iterate_devices): Don't use
18995 grub_list_pop.
18996 * util/grub-fstest.c (grub_term_input_class): Removed.
18997 (grub_term_output_class): Likewise.
18998 * util/grub-probe.c: Likewise.
18999 * util/i386/pc/grub-setup.c: Likewise.
19000 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19001 * util/grub-script-check.c (main): Don't call grub_init_all and
19002 grub_fini_all.
19003 * video/video.c (grub_video_adapter_list): Make global.
19004 (grub_video_register): Removed.
19005 (grub_video_unregister): Likewise.
19006 (grub_video_iterate): Likewise.
19007
6289c3a7
VS
190082010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19009
19010 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19011 reported by Henrique Ferreiro.
19012
91460247
RM
190132010-06-09 Robert Millan <rmh@gnu.org>
19014
19015 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19016 ones, when both are available.
19017
0ea7c4f9
GS
190182010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19019
19020 Make --version uniform and avoid hard-coded program name.
19021
19022 * util/grub-mkimage.c (main): Use `program_name' instead of
19023 hard-coded string.
19024 * util/i386/pc/grub-setup.c (main): Likewise.
19025 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19026 * util/grub-install.in: Save the basename of $0 in $self, and use the
19027 latter in informational messages. Use the same format for --version
19028 as the binary programs.
19029 * util/grub-mkconfig.in: Likewise.
19030 * util/grub-mkrescue.in: Likewise.
19031 * util/grub-reboot.in: Likewise.
19032 * util/grub-set-default.in: Likewise.
19033 * util/i386/efi/grub-install.in: Likewise.
19034 * util/ieee1275/grub-install.in: Likewise.
19035 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19036
e8a6f3b6
GS
190372010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19038
19039 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19040 embedding area. Use <= instead of == when checking for non-emptiness.
19041
f4d095d7
GS
190422010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19043
19044 * configure.ac: Add `.' to the directories searched for unifont.
19045
50e532ca
CW
190462010-06-08 Colin Watson <cjwatson@ubuntu.com>
19047
19048 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19049 grub_script.yy.h.
19050
d39f3dec
CW
190512010-06-08 Colin Watson <cjwatson@ubuntu.com>
19052
19053 * docs/grub.texi (History): Expand to cover GRUB 2.
19054 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19055 commands, not `terminal'.
19056 (serial): Likewise.
19057 (terminal_input): New section.
19058 (terminal_output): New section.
19059 (uppermem): New section (stub).
19060 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19061
6ef0ddb4
CW
190622010-06-08 Colin Watson <cjwatson@ubuntu.com>
19063
19064 * docs/grub.texi (Security): Menu entries are unrestricted by
19065 default, not restricted to superusers as I had previously thought.
19066 Reword to account for this.
19067
e0f4c438
CW
190682010-06-07 Colin Watson <cjwatson@ubuntu.com>
19069
19070 * kern/emu/misc.c (device_mapper_null_log): New function.
19071 (grub_device_mapper_supported): New function.
19072 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19073 prototype.
19074 * kern/emu/hostdisk.c (find_partition_start): Check whether
19075 device-mapper is supported before trying to use it.
19076 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19077
da908200
CW
190782010-06-07 Colin Watson <cjwatson@ubuntu.com>
19079
19080 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19081 (File name syntax): Likewise.
19082 (help): --all is no longer supported in GRUB 2. Be more precise
19083 about pattern matching.
19084
fb55c3ac
CW
190852010-06-07 Colin Watson <cjwatson@ubuntu.com>
19086
19087 * normal/completion.c (grub_normal_do_completion): When completing
19088 arguments to "set" and the current word contains an equals sign,
19089 skip to after the equals sign before starting completion.
19090
258c2573
CW
190912010-06-07 Colin Watson <cjwatson@ubuntu.com>
19092
19093 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19094
ee75515e
CW
190952010-06-07 Colin Watson <cjwatson@ubuntu.com>
19096
19097 * docs/grub.texi (Network): New section.
19098 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19099 `(nd)' as in GRUB Legacy.
19100 (pxe_unload): New section.
19101
a6a700aa
CW
191022010-06-07 Colin Watson <cjwatson@ubuntu.com>
19103
19104 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19105 in the rescue shell, so recommend using `set' instead. Thanks,
19106 Jordan Uggla.
19107
4003dd38
CW
191082010-06-07 Colin Watson <cjwatson@ubuntu.com>
19109
19110 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19111 (password): New section.
19112 (password_pbkdf2): New section.
19113 (search): New section.
19114 (Security): New section.
19115 (Troubleshooting): New section, currently very incomplete.
19116 (Invoking grub-mkpasswd-pbkdf2): New section.
19117 (Internals): New section, currently very incomplete.
19118
e1cbcc40
CW
191192010-06-07 Colin Watson <cjwatson@ubuntu.com>
19120
19121 * util/grub.d/00_header.in: Add some more quoting (of
19122 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19123 work again.
19124 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19125
db8fa1ad
CW
191262010-06-07 Colin Watson <cjwatson@ubuntu.com>
19127
19128 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19129 to `count', fixing variable shadowing that broke the -c option.
19130
191312010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
19132
19133 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19134 in case they contain spaces.
19135
f28a9212
CW
191362010-06-04 Colin Watson <cjwatson@ubuntu.com>
19137
19138 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19139 "part_" to partmap module names, in line with grub-install.
19140 Reported by: Jindřich Makovička (Debian bug #584426).
19141
9cdfe32f
CW
191422010-06-04 Colin Watson <cjwatson@ubuntu.com>
19143
19144 * util/grub-mkimage.c: Make target-related error messages slightly
19145 more helpful; -O talks about "format". Explicitly point to the use
19146 of -O if no target is specified.
19147 Reported by: Didier Raboud (Debian bug #584415).
19148
795b593a
CW
191492010-06-03 Colin Watson <cjwatson@ubuntu.com>
19150
19151 * INSTALL: Document several build requirements for optional features
19152 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19153
9d9b5833
GS
191542010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19155
19156 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19157 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19158 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19159
0819fec8
CW
191602010-06-02 Colin Watson <cjwatson@ubuntu.com>
19161
19162 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19163 Thanks to Jordan Uggla for spotting this.
19164
49396b4f
VS
191652010-06-02 Aleš Nesrsta <starous@volny.cz>
19166
19167 Finally make USB usable.
19168
19169 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19170 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19171 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19172 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19173 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19174 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19175 (GRUB_OHCI_FSMPS): Likewise.
19176 (GRUB_OHCI_PERIODIC_START): Likewise.
19177 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19178 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19179 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19180 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19181 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19182 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19183 (grub_ohci_transaction): Likewise.
19184 (grub_ohci_transfer): Improve condition detection algorithms.
19185 Handle toggle property. Program the transactions correctly.
19186 Improve error handling. Various important fixups.
19187 (grub_ohci_portstatus): Put register writes in right order.
19188 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19189 (grub_uhci_transfer): Don't show "failed" message on success.
19190 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19191 array.
19192 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19193 determine its size.
19194 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19195 before initialization is completed. Use IN direction for empty
19196 transfers. Use last_trans and compute toggle.
19197 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19198 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19199 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19200 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19201 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19202 (grub_usb_device): Increase toggle to 256.
19203 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19204 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19205 GRUB_USBMS_SUBCLASS_SFF8070.
19206 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19207 (grub_scsi_inquiry): New member page and alloc_length.
19208 (grub_scsi_request_sense): New structure.
19209 (grub_scsi_request_sense_data): Likewise.
19210 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19211 control.
19212 * disk/scsi.c (grub_scsi_request_sense): New function.
19213 (grub_scsi_test_unit_ready): Likewise.
19214 (grub_scsi_inquiry): Fill new fields.
19215 (grub_scsi_read_capacity): Likewise.
19216 (grub_scsi_read10): Add request sense at the end.
19217 (grub_scsi_read12): Likewise.
19218 (grub_scsi_write10): Likewise.
19219 (grub_scsi_write12): Likewise.
19220 (grub_scsi_open): Add Test Unit Ready.
19221 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19222 Support additional subclasses. Con't clear halt yet. Activate the
19223 proper config. Calculate LUNs correctly.
19224 (grub_usbms_transfer): Various important fixups.
19225
192262010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19227
19228 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19229 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19230 (grub_ohci_fini_hw): New function.
19231 (grub_ohci_restore_hw): Likewise.
19232 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19233 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19234 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19235
192362010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19237
19238 Dedicated DMA allocations.
19239
19240 * bus/pci.c (grub_memalign_dma32): New function
19241 (grub_dma_free): Likewise.
19242 (grub_dma_get_virt): Likewise.
19243 (grub_dma_get_phys): Likewise.
19244 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19245 (grub_ohci_pci_iter): Use dma32_alloc.
19246 (grub_ohci_transfer): Likewise.
19247 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19248 (grub_usb_bulk_readwrite): Likewise.
19249 * include/grub/pci.h: Add declarations.
19250
192512010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19252
19253 CS5536 support.
19254
19255 * bus/cs5536.c: New file.
19256 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19257 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19258 (cs5536_mod_SOURCES): New variable.
19259 (cs5536_mod_CFLAGS): Likewise.
19260 (cs5536_mod_LDFLAGS): Likewise.
19261 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19262 machine/pci.h.
19263 (kernel_img_SOURCES): Add bus/cs5536.c.
19264 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19265 usb_keyboard.mod.
19266 (usb_mod_SOURCES): New variable.
19267 (usb_mod_CFLAGS): New variable.
19268 (usb_mod_LDFLAGS): New variable.
19269 (usbtest_mod_SOURCES): New variable.
19270 (usbtest_mod_CFLAGS): New variable.
19271 (usbtest_mod_LDFLAGS): New variable.
19272 (ohci_mod_SOURCES): New variable.
19273 (ohci_mod_CFLAGS): New variable.
19274 (ohci_mod_LDFLAGS): New variable.
19275 (usbms_mod_SOURCES): New variable.
19276 (usbms_mod_CFLAGS): New variable.
19277 (usbms_mod_LDFLAGS): New variable.
19278 (usb_keyboard_mod_SOURCES): New variable.
19279 (usb_keyboard_mod_CFLAGS): New variable.
19280 (usb_keyboard_mod_LDFLAGS): New variable.
19281 * include/grub/smbus.h: New file.
19282 * include/grub/cs5536.h: New file.
19283
0b35b2a9
CW
192842010-06-02 Colin Watson <cjwatson@ubuntu.com>
19285
19286 * util/grub.d/00_header.in: Add safety check to make sure that
19287 ${locale_dir} exists before trying to probe it.
19288
ca0afd5b
CW
192892010-06-02 Colin Watson <cjwatson@ubuntu.com>
19290
19291 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19292 per the GNU Coding Standards; this is now too obscure to be worth
19293 documenting.
19294 (QNX): Likewise.
19295 (chainloader): Remove cross-reference to `SCO UnixWare'.
19296
1c41aa78
CW
192972010-06-02 Colin Watson <cjwatson@ubuntu.com>
19298
19299 * docs/grub.texi (Chain-loading): New section.
19300 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19301 adjusted for GRUB 2.
19302 (SCO UnixWare): Likewise.
19303 (QNX): Likewise.
19304 (chainloader): Add reference to `Block list syntax'.
19305 (drivemap): New section.
19306 (parttool): New section.
19307
bb8ea0f5
CW
193082010-06-02 Colin Watson <cjwatson@ubuntu.com>
19309
19310 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19311 the grub shell'.
19312 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19313 (Installing GRUB using grub-install): Remove reference to the grub
19314 shell; mention `grub-mkimage' and `grub-setup' instead.
19315 (Invoking grub-install): Likewise.
19316 (Interface): Add reference to `Menu entry editor'.
19317 (serial): Remove `--device' option.
19318
288dd6ed
CW
193192010-06-02 Colin Watson <cjwatson@ubuntu.com>
19320
19321 * docs/grub.texi (Configuration): New section, documenting
19322 configuration file generation using grub-mkconfig. I've left a slot
19323 for documenting the full shell scripting format but have not yet
19324 started on writing that up.
19325 (Invoking grub-mkconfig): New section.
19326
34c9f0e9
CW
193272010-06-02 Colin Watson <cjwatson@ubuntu.com>
19328
19329 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19330 (GNU GRUB manual): Likewise.
19331 (General commands): Update description of `terminfo' for GRUB 2.
19332
9121567e
CW
193332010-06-02 Colin Watson <cjwatson@ubuntu.com>
19334
19335 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19336 (GRUB_MOD_INIT): Fix capitalisation.
19337 * docs/grub.texi (Command-line and menu entry commands): Document
19338 gettext and gptsync commands.
19339
ab631611
CW
193402010-06-02 Colin Watson <cjwatson@ubuntu.com>
19341
19342 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19343 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19344
bde4a9ac
CW
193452010-06-01 Colin Watson <cjwatson@ubuntu.com>
19346
19347 Add btrfs probing support, currently only in the single-device case.
19348
19349 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19350 function.
19351 (grub_guess_root_device): Call find_root_device_from_mountinfo
19352 before looking in /dev.
19353
b1d17e10
VS
193542010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19357 GRUB_DISK_SIZE_UNKNOWN.
19358 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19359
dfbfe004
JS
193602010-05-31 Jiro SEKIBA <jir@unicus.jp>
19361
19362 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19363 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19364 corrupted or not synced properly.
19365
c2ffc8e9
VS
193662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19367
19368 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19369 Reported by: Seth Goldberg.
19370
56293166
VS
193712010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19372
19373 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19374 addition of dest.
19375 Reported by: Seth Goldberg.
19376
7620e7de
VS
193772010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19378
19379 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19380 Reported by: Seth Goldberg.
19381
c837af3f
VS
193822010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19383
19384 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19385 64-bit address as signed on MIPS.
19386
c7c75cf4
CW
193872010-05-28 Colin Watson <cjwatson@ubuntu.com>
19388
19389 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19390 to the empty string.
19391
fa4b8490
BC
193922010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19393
19394 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19395
19396 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19397 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19398 * kern/misc.c (__enable_execute_stack): Disable on
19399 GRUB_MACHINE_EMU.
19400
a33075b9
CW
194012010-05-28 Colin Watson <cjwatson@ubuntu.com>
19402
19403 Make grub-probe work with symbolic links under /dev/mapper as well
19404 as with real block devices. The Linux world seems to be (at best)
19405 in transition here, and GRUB shouldn't get caught in the middle.
19406
19407 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19408 /dev/mapper.
19409
d8708134
CW
194102010-05-27 Colin Watson <cjwatson@ubuntu.com>
19411
19412 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19413 input files (in which case exit zero).
19414
db2102a0
CW
194152010-05-27 Colin Watson <cjwatson@ubuntu.com>
19416
19417 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19418 return NULL for various reasons even if it has a maximum-length
19419 buffer: for example, there might be a symlink loop, or the path
19420 might exceed PATH_MAX. If this happens, return NULL.
19421
5fdba519
RM
194222010-05-27 Robert Millan <rmh@gnu.org>
19423
19424 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19425 partmap module to handle cross-partmap setups.
19426 Reported by Orestes Mas. Gràcies!
19427
d1d368e4
CW
194282010-05-27 Colin Watson <cjwatson@ubuntu.com>
19429
19430 * util/grub-mkrescue.in: Initialise override_dir rather than
19431 assuming that it's unset or empty in the environment.
19432
95ac3c73
GS
194332010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19434
19435 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19436 variable index into p_index to suppress a warning with -Wshadow.
19437
7d8c0213
BC
194382010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19439
19440 * INSTALL: Added flex >= 2.5.35 requirement.
19441
db4d5813
VS
194422010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19445
f24f4300
VS
194462010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19447
19448 cmostest support.
19449
19450 * commands/i386/cmostest.c: New file.
19451 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19452 (cmostest_mod_SOURCES): New variable.
19453 (cmostest_mod_CFLAGS): Likewise.
19454 (cmostest_mod_LDFLAGS): Likewise.
19455 * conf/i386-pc.rmk: Likewise.
19456 * docs/grub.texi (Vendor power-on keys): New section.
19457 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19458 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19459 and GRUB_BUTTON_CMOS_ADDRESS.
19460 * util/grub.d/00_header.in: Handle powering-on by separate button.
19461
ad603f61
VS
194622010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19463
19464 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19465 Removed drawing_scrollbar argument. All users updated
19466 Fixes #29792.
19467 Reported by Jo Shields
19468
3ecb080a
VS
194692010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19470
19471 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19472 buffer since gfxterm handles double repaint.
19473
5f2316c1
VS
194742010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19475
19476 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19477 * term/gfxterm.c (real_scroll): Likewise.
19478
9a25f885
VS
194792010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19480
19481 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19482 before calling BIOS.
19483
39fbb79a
VS
194842010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19485
19486 * include/grub/i18n.h: Always enable grub_gettext.
19487
228cfa97
VS
194882010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19489
19490 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19491 partition naming style.
19492
21717c8f
CW
194932010-05-21 Colin Watson <cjwatson@ubuntu.com>
19494
19495 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19496 not the first option.
19497
c0f48e65
CW
194982010-05-20 Colin Watson <cjwatson@ubuntu.com>
19499
19500 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19501
96779aec
CW
195022010-05-20 Colin Watson <cjwatson@ubuntu.com>
19503
19504 * util/misc.c: Move inclusion of <limits.h> to ...
19505 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19506
fa9d256e
GS
195072010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19508
19509 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19510 Fix merge error in NetBSD code.
19511 (find_partition_start) [__NetBSD__]: Likewise.
19512
123b7a85
BC
195132010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19514
19515 Fix grub-mkrescue usage unit testing.
19516
19517 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19518
74276c0d
CF
195192010-05-18 Christian Franke <franke@computer.org>
19520
19521 * util/grub.d/10_windows.in: Use path names instead of
19522 drive letters to prevent warning from Cygwin 1.7.
19523 Add drivemap command to menuentry if needed.
19524
c4f7b523
ST
195252010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
19526
19527 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
19528 gnumach and gnumach.gz.
19529
95b97950
VS
195302010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19531
19532 * include/grub/i18n.h (gettext): Inline instead of using #define.
19533 (grub_gettext): Likewise.
19534 (_): Likewise.
19535
01b8d2d7
VS
195362010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19537
19538 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
19539 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
19540 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
19541 (main): Add a slash after pkglibdirroot.
19542
654e1d1e
VS
195432010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19544
19545 * util/grub-install.in: Add missing "in" keyword.
19546
26966aeb
VS
195472010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19548
19549 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
19550 Reported by: Seth Goldberg.
19551
75006747
VS
195522010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19553
19554 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
19555
74cbf5bd
CW
195562010-05-18 Colin Watson <cjwatson@ubuntu.com>
19557
19558 * configure.ac: Check for Linux device-mapper support.
19559
19560 * util/hostdisk.c (device_is_mapped): New function.
19561 (find_partition_start): New function, partly broken out from
19562 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
19563 device-mapper support added.
19564 (linux_find_partition): Use find_partition_start.
19565 (convert_system_partition_to_system_disk): Add `st' argument.
19566 Support Linux /dev/mapper/* devices if device-mapper support is
19567 available; only DM-RAID devices are understood at present.
19568 (find_system_device): Add `st' argument. Pass it to
19569 convert_system_partition_to_system_disk.
19570 (grub_util_biosdisk_get_grub_dev): Pass stat result to
19571 find_system_device and convert_system_partition_to_system_disk. Use
19572 find_partition_start.
19573
19574 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
19575 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
19576 * util/deviceiter.c [__linux__]: Define MINOR.
19577 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
19578 * util/mkdevicemap.c (grub_putchar): New function.
19579 (grub_getkey): New function.
19580 (grub_refresh): New function.
19581 (main): Set debug=all if -v -v is used.
19582
355b51e9
CW
195832010-05-18 Colin Watson <cjwatson@ubuntu.com>
19584
19585 Fix build with non-GNU libcs.
19586
19587 * util/misc.c (canonicalize_file_name): Move to ...
19588 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
19589 grub_make_system_path_relative_to_its_root.
19590
7fb5c25f
CW
195912010-05-18 Colin Watson <cjwatson@ubuntu.com>
19592
19593 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
19594 we handle finding grub-mkimage. Default to finding grub-mkimage in
19595 ${bindir} with program_transform_name applied, and provide a
19596 --grub-mkimage option to override this.
19597
1d3293d6
VS
195982010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19599
19600 Remove grub-mkisofs.
19601
19602 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
19603 (grub_mkisofs_SOURCES): Removed.
19604 (grub_mkisofs_CFLAGS): Removed.
19605 * util/mkisofs/defaults.h: Removed.
19606 * util/mkisofs/eltorito.c: Likewise.
19607 * util/mkisofs/exclude.h: Likewise.
19608 * util/mkisofs/hash.c: Likewise.
19609 * util/mkisofs/include/: Likewise.
19610 * util/mkisofs/include/fctldefs.h: Likewise.
19611 * util/mkisofs/include/mconfig.h: Likewise.
19612 * util/mkisofs/include/prototyp.h: Likewise.
19613 * util/mkisofs/include/statdefs.h: Likewise.
19614 * util/mkisofs/iso9660.h: Likewise.
19615 * util/mkisofs/joliet.c: Likewise.
19616 * util/mkisofs/match.c: Likewise.
19617 * util/mkisofs/match.h: Likewise.
19618 * util/mkisofs/mkisofs.c: Likewise.
19619 * util/mkisofs/mkisofs.h: Likewise.
19620 * util/mkisofs/msdos_partition.h: Likewise.
19621 * util/mkisofs/multi.c: Likewise.
19622 * util/mkisofs/name.c: Likewise.
19623 * util/mkisofs/rock.c: Likewise.
19624 * util/mkisofs/tree.c: Likewise.
19625 * util/mkisofs/write.c: Likewise.
19626
5dde9afe
VS
196272010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19628
19629 Unify grub-mkimage accross platforms.
19630
19631 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
19632 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
19633 (grub_mkelfimage_SOURCES): Removed.
19634 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
19635 (util/grub-mkimage.c_DEPENDENCIES): .. this.
19636 (bin_UTILITIES): Add grub-mkimage.
19637 (grub_mkimage_SOURCES): New variable.
19638 (kernel_img_HEADERS): Remove machine/kernel.h.
19639 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
19640 (pkglib_PROGRAMS): Add kernel.img.
19641 (kernel_img_HEADERS): Add machine/kernel.h.
19642 (kernel_img_FORMAT): Removed.
19643 (bin_UTILITIES): Remove grub-mkimage.
19644 (grub_mkimage_SOURCES): Removed.
19645 (grub_mkimage_CFLAGS): Likewise.
19646 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19647 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
19648 (pkglib_PROGRAMS): Add kernel.img.
19649 (bin_UTILITIES): Remove grub-mkimage.
19650 (grub_mkimage_SOURCES): Removed.
19651 (grub_mkimage_CFLAGS): Likewise.
19652 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19653 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
19654 (pkglib_PROGRAMS): Add kernel.img.
19655 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
19656 (pkglib_PROGRAMS): Add kernel.img.
19657 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
19658 (grub_mkimage_SOURCES): Removed.
19659 (grub_mkimage_CFLAGS): Likewise.
19660 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19661 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
19662 (pkglib_PROGRAMS): Add kernel.img.
19663 (bin_UTILITIES): Remove grub-mkimage.
19664 (grub_mkimage_SOURCES): Removed.
19665 (grub_mkimage_CFLAGS): Likewise.
19666 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19667 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
19668 (grub_mkimage_SOURCES): Removed.
19669 (grub_mkimage_CFLAGS): Likewise.
19670 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19671 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
19672 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
19673 (grub_pe32_optional_header): ... this.
19674 (grub_pe64_optional_header): ... and this. All users updated.
19675 (GRUB_PE32_PE32_MAGIC): Split into ..
19676 (GRUB_PE32_PE32_MAGIC): .. this.
19677 (GRUB_PE32_PE64_MAGIC): .. and this.
19678 (GRUB_PE32_SIGNATURE_SIZE): New definition.
19679 * include/grub/elf.h (PT_GNU_STACK): New definition.
19680 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
19681 * include/grub/i386/efi/kernel.h: Likewise.
19682 * include/grub/i386/kernel.h: Likewise.
19683 * include/grub/i386/pc/kernel.h: Likewise.
19684 * include/grub/i386/qemu/boot.h: Likewise.
19685 * include/grub/mips/kernel.h: Likewise.
19686 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19687 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19688 * include/grub/powerpc/kernel.h: Likewise.
19689 * include/grub/sparc64/ieee1275/boot.h: Likewise.
19690 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19691 * include/grub/sparc64/kernel.h: Likewise.
19692 * include/grub/x86_64/efi/kernel.h: Likewise.
19693 * include/grub/x86_64/kernel.h: Likewise.
19694 * include/grub/offsets.h: New file.
19695 * include/grub/kernel.h (grub_module_info): Split into ...
19696 (grub_module_info32): ... this.
19697 (grub_module_info64): ... and this.
19698 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
19699 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
19700 (grub_boot_blocklist): Moved from here ...
19701 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
19702 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
19703 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
19704 * include/grub/types.h (grub_target_to_host16): Removed.
19705 (grub_target_to_host32): Likewise.
19706 (grub_target_to_host64): Likewise.
19707 (grub_host_to_target16): Likewise.
19708 (grub_host_to_target32): Likewise.
19709 (grub_host_to_target64): Likewise.
19710 (grub_host_to_target_addr): Likewise.
19711
19712 Support grub-mkrescue for efi, coreboot and qemu.
19713
19714 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
19715 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
19716 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
19717 * util/grub-mkrawimage.c: Moved from here ...
19718 * util/grub-mkimage.c: ... here. All users updated.
19719 (ALIGN_ADDR): Use image_target.
19720 (TARGET_NO_FIELD): New const.
19721 (image_target_desc): New type.
19722 (image_targets): New array.
19723 (grub_target_to_host64): Use image_target.
19724 (grub_target_to_host32): Likewise.
19725 (grub_target_to_host16): Likewise.
19726 (grub_host_to_target64): Likewise.
19727 (grub_host_to_target32): Likewise.
19728 (grub_host_to_target16): Likewise.
19729 (grub_host_to_target_addr): Likewise.
19730 (generate_image): Handle multiimage.
19731 (main): Require -O parameter. All users updated.
19732 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
19733 util/efi/grub-mkimage.c
19734 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
19735 New option --rom-directory.
19736 Use xorriso.
19737 * util/i386/efi/grub-mkimage.c: Removed.
19738 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
19739 (grub_target_to_host32): Likewise.
19740 (grub_target_to_host64): Likewise.
19741 (grub_host_to_target16): Likewise.
19742 (grub_host_to_target32): Likewise.
19743 (grub_host_to_target64): Likewise.
19744 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
19745 (grub_target_to_host32): Likewise.
19746 (grub_target_to_host64): Likewise.
19747 (grub_host_to_target16): Likewise.
19748 (grub_host_to_target32): Likewise.
19749 (grub_host_to_target64): Likewise.
19750
f4fc97d0
BC
197512010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
19752
19753 Source tree is reorganized for emu build.
19754
19755 * include/grub/util/console.h: Move from here...
19756 * include/grub/emu/console.h: ...to here.
19757 * include/grub/util/getroot.h: Move from here...
19758 * include/grub/emu/getroot.h: ...to here.
19759 * include/grub/util/hostdisk.h: Move from here...
19760 * include/grub/emu/hostdisk.h: ...to here.
19761 * util/console.c: Move from here...
19762 * kern/emu/console.c: ...to here.
19763 * util/getroot.c: Move from here...
19764 * kern/emu/getroot.c: ...to here.
19765 * util/grub-emu.c: Move from here...
19766 * kern/emu/main.c: ...to here.
19767 * util/hostdisk.c: Move from here...
19768 * kern/emu/hostdisk.c: ...to here.
19769 * util/hostfs.c: Move from here...
19770 * kern/emu/hostfs.c: ...to here.
19771 * util/mm.c: Move from here...
19772 * kern/emu/mm.c: ...to here.
19773 * util/pci.c: Move from here...
19774 * bus/emu/pci.c: ...to here.
19775 * util/sdl.c: Move from here...
19776 * video/emu/sdl.c: ...to here.
19777 * util/time.c: Move from here...
19778 * kern/emu/time.c: ...to here.
19779 * util/usb.c: Move from here...
19780 * bus/usb/emu/usb.c: ...to here.
19781
19782 * include/grub/emu/misc.h: New header for grub-emu functions.
19783 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
19784
19785 * conf/any-emu.rmk: Rule updates for above renames.
19786 * conf/common.rmk: Likewise.
19787 * conf/i386-pc.rmk: Likewise.
19788 * conf/i386-qemu.rmk: Likewise.
19789 * conf/mips.rmk: Likewise.
19790 * conf/sparc64-ieee1275.rmk: Likewise.
19791 * conf/x86-efi.rmk: Likewise.
19792
19793 * disk/lvm.h: #include updates for above renames.
19794 * util/grub-mkrelpath.c: Likewise.
19795 * util/grub-probe.c: Likewise.
19796 * util/i386/pc/grub-setup.c: Likewise.
19797 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19798 * kern/emu/console.c: Likewise.
19799 * kern/emu/getroot.c: Likewise.
19800 * kern/emu/hostdisk.c: Likewise.
19801 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
19802
19803 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
19804 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
19805 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
19806 * util/misc.c: Remove grub-emu functions.
19807
cced9145
VS
198082010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19809
19810 Fix gfxmenu crash.
19811 Reported by: Thorsten Grützmacher.
19812
19813 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
19814 timeout hook.
19815 (circprog_set_property): Register and unregister timeout hook.
19816 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
19817 (label_destroy): Free template. and unregister hook.
19818 (label_set_state): New function.
19819 (label_set_property): Handle templates and hooks.
19820 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
19821 timeout hook.
19822 (progress_bar_set_property): Register and unregister timeout hook.
19823 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
19824 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
19825 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
19826 (update_timeout_visit): Removed.
19827 (update_timeouts): New function.
19828 (redraw_timeouts): Likewise.
19829 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
19830 (grub_gfxmenu_clear_timeout): Likewise.
19831 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
19832 (grub_gfxmenu_timeout_notify): Likewise.
19833 (grub_gfxmenu_timeout_notifications): New external variable.
19834 (grub_gfxmenu_timeout_register): New function.
19835 (grub_gfxmenu_timeout_unregister): Likewise.
19836
c6e5caab
VS
198372010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19838
19839 Transform (broken) vga terminal into (working) vga video driver.
19840
19841 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
19842 video/i386/pc/vga.c.
19843 * include/grub/video.h (grub_video_driver_id):
19844 Add GRUB_VIDEO_DRIVER_VGA.
19845 * term/i386/pc/vga.c: Renamed to ...
19846 * video/i386/pc/vga.c: ...this
19847 (DEBUG_VGA): Removed.
19848 (CHAR_WIDTH): Likewise.
19849 (CHAR_HEIGHT): Likewise.
19850 (TEXT_WIDTH): Likewise.
19851 (TEXT_HEIGHT): Likewise.
19852 (DEFAULT_FG_COLOR): Likewise.
19853 (DEFAULT_BG_COLOR): Likewise.
19854 (colored_char): Likewise.
19855 (xpos): Likewise.
19856 (ypos): Likewise.
19857 (cursor_state): Likewise.
19858 (fg_color): Likewise.
19859 (bg_color): Likewise.
19860 (text_buf): Likewise.
19861 (page): Likewise.
19862 (font): Likewise.
19863 (framebuffer): New variable.
19864 (set_read_map): Disabled.
19865 (setup): New variable.
19866 (is_target): Likewise.
19867 (grub_vga_mod_init): Likewise.
19868 (grub_vga_mod_fini): Likewise.
19869 (check_vga_mem): Likewise.
19870 (write_char): Likewise.
19871 (write_cursor): Likewise.
19872 (scroll_up): Likewise.
19873 (grub_vga_putchar): Likewise.
19874 (grub_vga_getcharwidth): Likewise.
19875 (grub_vga_getwh): Likewise.
19876 (grub_vga_getxy): Likewise.
19877 (grub_vga_gotoxy): Likewise.
19878 (grub_vga_cls): Likewise.
19879 (grub_vga_setcolorstate): Likewise.
19880 (grub_vga_setcursor): Likewise.
19881 (grub_video_vga_init): New function.
19882 (grub_video_vga_setup): Likewise.
19883 (grub_video_vga_fini): Likewise.
19884 (update_target): Likewise.
19885 (grub_video_vga_blit_bitmap): Likewise.
19886 (grub_video_vga_blit_render_target): Likewise.
19887 (grub_video_vga_set_active_render_target): Likewise.
19888 (grub_video_vga_get_active_render_target): Likewise.
19889 (grub_video_vga_swap_buffers): Likewise.
19890 (grub_video_vga_set_palette): Likewise.
19891 (grub_video_vga_get_info_and_fini): Likewise.
19892 (grub_vga_term): Removed.
19893 (grub_video_vga_adapter): New variable.
19894 (GRUB_MOD_INIT): Register a video driver instead of terminal.
19895 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
19896
2bf61a98
VS
198972010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19898
19899 * video/readers/jpeg.c: Indented.
19900
09ddcd11
VS
199012010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19902
19903 Various jpeg cleanups.
19904
19905 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
19906 (grub_jpeg_decode_quan_table): Use sizeof.
19907 (grub_jpeg_decode_du): Use ARRAY_SIZE.
19908
e5507505
PH
199092010-05-05 Peter Hurley <No e-mail available> (tiny change)
19910
19911 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
19912 tables. Ignore non-last ac bit.
19913 (grub_jpeg_decode_quan_table): Likewise.
19914
7e720a9b
VS
199152010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19916
19917 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
19918 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
19919 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19920 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
19921 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
19922 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
19923
a7fc080b
VS
199242010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19925
19926 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
19927 error.
19928
2bf6012d
VS
199292010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19930
19931 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
19932
265d68cd
VS
199332010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19934
19935 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
19936 condition.
19937
199382010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
19939
19940 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
19941 part.
19942
265d68cd 199432010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
19944
19945 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
19946 pointers.
19947
265d68cd 199482010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
19949
19950 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
19951
d1b61374
CF
199522010-05-01 Christian Franke <franke@computer.org>
19953
19954 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
19955 Remove broken Cygwin path conversion.
19956 * util/misc.c: [__CYGWIN__] Add include and define.
19957 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
19958 for Cygwin 1.7.
19959 (make_system_path_relative_to_its_root): Simplify loop, replace early
19960 return by break.
19961 [__CYGWIN__] Add conversion to win32 path.
19962 Include "/" case in trailing slash removal.
19963
3558c6e9
VS
199642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19965
19966 * kern/main.c (grub_load_config): Fix copy-pasted comment.
19967 Reported by: Seth Goldberg
19968
f5f3ff93
VS
199692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19970
19971 * commands/help.c (grub_cmd_help): Fix a typo.
19972 Reported by: Seth Goldberg
19973
d8b5cd40
VS
199742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19975
19976 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
19977 name and add N_.
19978 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
19979 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
19980 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
19981 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
19982 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
19983 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
19984 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19985 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19986 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19987 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19988 * normal/context.c (GRUB_MOD_INIT): Likewise.
19989 * normal/main.c (GRUB_MOD_INIT): Likewise.
19990 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19991 * term/serial.c (GRUB_MOD_INIT): Likewise.
19992 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19993
88c14915
VS
199942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19995
19996 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
19997 extra == 0.
19998
165134bc
VS
199992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20000
20001 * commands/iorw.c: New file.
20002 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20003 (iorw_mod_SOURCES): New variable.
20004 (iorw_mod_CFLAGS): Likewise.
20005 (iorw_mod_LDFLAGS): Likewise.
20006
c5ac9b32
VS
200072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20008
20009 Hotkey support
20010
20011 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20012 * normal/main.c (hotkey_aliases): New variable.
20013 (grub_normal_add_menu_entry): Parse "--hotkey".
20014 * normal/menu_text.c (run_menu): Handle hotkeys.
20015
ce60689c
VS
200162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20017
20018 * kern/i386/coreboot/init.c (grub_machine_init): Call
20019 grub_machine_mmap_init on qemu.
20020
0359d006
VS
200212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20022
20023 * boot/i386/qemu/boot.S: Add a missing .code16.
20024
7819a456
VS
200252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 Use LBIO on coreboot.
20028
20029 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20030 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20031 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20032 New declaration.
20033 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20034 grub_machine_mmap_init on coreboot.
20035 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20036 GRUB_LINUXBIOS_MEMBER_LINK.
20037 (grub_machine_mmap_iterate): Fix declaration.
20038 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20039
7210dca9
VS
200402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20041
20042 Split coreboot and multiboot ports.
20043
20044 * conf/i386-multiboot.rmk: New file.
20045 * configure.ac: Add multiboot port.
20046 * include/grub/i386/multiboot/boot.h: New file.
20047 * include/grub/i386/multiboot/console.h: Likewise.
20048 * include/grub/i386/multiboot/init.h: Likewise.
20049 * include/grub/i386/multiboot/kernel.h: Likewise.
20050 * include/grub/i386/multiboot/loader.h: Likewise.
20051 * include/grub/i386/multiboot/memory.h: Likewise.
20052 * include/grub/i386/multiboot/serial.h: Likewise.
20053 * include/grub/i386/multiboot/time.h: Likewise.
20054 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20055 * loader/multiboot.c: Likewise.
20056 * loader/multiboot_mbi2.c: Likewise.
20057 * util/grub-mkrescue.in: Generate multiboot rescue.
20058
6f8aaf68
VS
200592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20060
3080f7a7
VS
20061 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20062
200632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20064
20065 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
20066
20067 * commands/terminal.c (abstract_terminal): New struct.
20068 (handle_command): New function. Based on grub_cmd_terminal_input.
20069 (grub_cmd_terminal_input): Use handle_command.
20070 (grub_cmd_terminal_output): Use handle_command.
20071
a8ebb841
BC
200722010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20073
20074 Fix comment handling.
20075
20076 * tests/grub_script_comments.in: New testcase.
20077 * conf/tests.rmk: Rules for new testcase.
20078 * script/yylex.l: Updated flex rules.
20079
bb06ba08
ST
200802010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20081
20082 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
20083 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20084 if argc is 1.
bb06ba08 20085
cc9d2425
VS
200862010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20087
20088 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20089 autogen issues.
20090
460d8402
CF
200912010-04-26 Christian Franke <franke@computer.org>
20092
20093 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20094 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20095 (grub_get_prefix): Remove function.
20096 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20097 make_system_path_relative_to_its_root ().
20098 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20099
553c01f9
CF
201002010-04-24 Christian Franke <franke@computer.org>
20101
20102 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20103 (kernel_img_LDFLAGS): Remove -static-libgcc.
20104
2aec1692
CF
201052010-04-24 Christian Franke <franke@computer.org>
20106
20107 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20108 and CHECK_END_SYMBOL if grub-emu is built.
20109 Unset TARGET_OBJ2ELF if grub-emu is built
20110 without module support.
20111
f67dc308
JS
201122010-04-24 Jiro SEKIBA <jir@unicus.jp>
20113
20114 Nilfs2 support.
20115
20116 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20117 (grub_fstest_SOURCES): Likewise.
20118 (pkglib_MODULES): Add nilfs2.mod.
20119 (nilfs2_mod_SOURCES): New variable.
20120 (nilfs2_mod_CFLAGS): Likewise.
20121 (nilfs2_mod_LDFLAGS): Likewise.
20122 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20123 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20124 * fs/nilfs2.c: New file.
20125
4ba8d354
VS
201262010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20127
20128 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20129 is not supported.
20130
0d2c20c6
GS
201312010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20132
20133 Add grub-mkconfig support for NetBSD.
20134
20135 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20136 * util/grub-mkconfig.in: export new NetBSD specific variables.
20137 * po/POTFILES-shell: added 10_netbsd.in.
20138 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20139
bc4a2d83
BC
201402010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20141
20142 Fix emu build with grub-emu-pci and grub-emu-modules.
20143
20144 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20145 functions.
20146 * include/grub/libpciaccess.h: New file.
20147 * conf/any-emu.rmk: Update kernel headers for emu build.
20148
f48c87aa
VS
201492010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20150
20151 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20152
18959385
VS
201532010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20154
20155 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20156
0037de3f
VS
201572010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20158
20159 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20160 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20161 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20162 util/ieee1275/ofpath.c.
20163 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20164 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20165 * include/grub/sparc64/ieee1275/boot.h
20166 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20167 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20168 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20169 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20170 const char *.
20171 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20172 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20173 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20174 install.
20175
38e55e90
GS
201762010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20177
20178 * util/grub-mkconfig.in: Corrected two == equality tests.
20179 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20180 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20181 expect a number appended to it.
20182 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20183 expects a number appended to it.
20184
a9e6ff28
VS
201852010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20186
20187 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20188
0b830b8f
VS
201892010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20190
20191 * util/hostdisk.c (make_device_name): Change to new partition naming.
20192
0973daeb
VS
201932010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20194
20195 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20196
460d8402 201972010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
20198
20199 * Makefile.in: Add missing localedir setting.
20200
0b456309
CW
202012010-04-14 Colin Watson <cjwatson@ubuntu.com>
20202
20203 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20204 mistake in r2156. Noticed by Anthony Fok.
20205
20206 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20207 @localedir@.
20208 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20209
08f46d62
BC
202102010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20211
20212 Fix a spurious, uninitialized variable warning.
20213
20214 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20215 Initialize variable, shdr.
20216 (grub_freebsd_load_elfmodule): Likewise.
20217 (grub_freebsd_load_elf_meta): Likewise.
20218
8c4a72d4
BC
202192010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20220
20221 Fix for escaped dollar in double quoted strings.
20222
20223 * script/yylex.l: Updated flex rules.
20224 * conf/tests.rmk: Rule for new testcase.
20225 * tests/grub_script_dollar.in: New testcase.
20226
ce44826e
CPE
202272010-04-13 Carles Pina i Estany <carles@pina.cat>
202282010-04-13 Colin Watson <cjwatson@ubuntu.com>
20229
20230 Enclose all translated strings in grub.cfg in single quotes, and
20231 escape them appropriately (Ubuntu bug #552921).
20232
20233 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20234 * util/grub.d/10_hurd.in: Use it.
20235 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20236 * util/grub.d/10_linux.in (linux_entry): Likewise.
20237
4b0cd8f8
VS
202382010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20239
20240 Fix cygwin compilation.
20241
20242 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20243 * include/grub/misc.h (__register_frame_info)
20244 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20245 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20246 * kern/misc.c (__register_frame_info)
20247 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20248 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20249
01fcf061
VS
202502010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20251
20252 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20253
5d04b11e
VS
202542010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20255
20256 Unify libgcc processing.
20257
20258 * Makefile.in (kernel_img_LDFLAGS): New variable.
20259 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20260 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20261 overwriting.
20262 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20263 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20264 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20265 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20266 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20267 overwriting. Remove -lgcc and -static-libgcc
20268 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20269 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20270 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20271 (kernel_img_LDFLAGS): Append instead of overwriting.
20272 Remove -lgcc and -static-libgcc
20273 * conf/sparc64-ieee1275.rmk: Likewise.
20274 * include/grub/powerpc/libgcc.h: Move to ...
20275 * include/grub/libgcc.h: .. this.
20276 * include/grub/libgcc.h: Don't export most of the function on x86.
20277 (__bswapsi2): New export.
20278 (__bswapdi2): Likewise.
20279 * include/grub/mips/libgcc.h: Removed.
20280 * include/grub/sparc64/libgcc.h: Likewise.
20281
b7f3ac29
VS
202822010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20283
20284 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20285 disk_info_msg (conflicts with gettexting into languages with cases).
20286
2c7031b1
GS
202872010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20288
20289 Add grub-probe support for NetBSD.
20290
20291 * util/getroot.c (find_root_device): Convert block device to
20292 character device on NetBSD.
20293 * util/probe.c (probe): Require character device on NetBSD.
20294 * util/hostdisk.c: NetBSD specific headers.
20295 (configure_device_driver): new function to tune device driver
20296 parameters (currently only for NetBSD floppy driver).
20297 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20298 via disklabel ioctl).
20299 (open_device): call configure_device_driver on NetBSD.
20300 (convert_system_partition_to_system_disk): NetBSD specific code.
20301 (device_is_wholedisk): Likewise.
20302 (grub_util_biosdisk_get_grub_dev): Likewise.
20303 (make_device_name): Fixed a typo in bsd_part_str.
20304 * configure.ac: check for opendisk() and getrawpartition() on
20305 NetBSD and set LIBUTIL.
20306 * Makefile.in: add LIBUTIL to LIBS.
20307
f516290c
BC
203082010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20309
20310 Documentation fix.
20311
20312 * util/grub-script-check.c: Better help message.
20313
d8dcc0df
BC
203142010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20315
20316 Fix FreeBSD build.
20317
20318 * configure.ac: Flex version check.
20319 * conf/common.rmk: Add -Wno-error to sh.mod.
20320 * script/yylex.l: Remove all #pragma.
20321
6734334a
VS
203222010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20323
20324 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20325 prototype.
20326 Reported by: Seth Goldberg.
20327
daea6abd
VS
203282010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20329
20330 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20331 Rename "module" to "module2".
20332 Reported by: Seth Goldberg.
20333
f2fd9d2b
VS
203342010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20335
20336 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20337 EXPORT_FUNC.
20338 Reported by: Seth Goldberg.
20339
be124579
VS
203402010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20341
20342 * lib/posix_wrap/locale.h: Add missing file.
20343 Reported by: Seth Goldberg.
20344
ef5da797
VS
203452010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20346
20347 grub-emu module load support.
20348
20349 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20350 NO_DYNAMIC_MODULES switched to this.
20351 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20352 (CFLAGS): Likewise.
20353 * conf/any-emu.rmk: Generate symlist.
20354 (kernel_img_HEADERS): Add util/datetime.h.
20355 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20356 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20357 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20358 kern/$(target_cpu)/cache.S.
20359 * configure.ac (grub-emu-modules): New option.
20360 * genmk.rb: Handle multiple source lists.
20361 * include/grub/sdl.h: New file.
20362 * include/grub/libusb.h: Likewise.
20363 * util/grub-emu.c (main): Hanle (host) root.
20364 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20365 GRUB_ERR_UNKNOWN_DEVICE.
20366 * util/misc.c: Move mm functions to ...
20367 * util/mm.c: ... here. All users updated.
20368
47822096
VS
203692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20372 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20373 missing files.
20374 (maintainer-clean): Remove libgcrypt-grub.
20375
5d7e7445
VS
203762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20377
20378 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20379
25f4e252
EC
203802010-04-09 EFI Coder <eficoder@hotmail.com>
20381
20382 * normal/menu_text.c (print_message): Clean up the message and show
20383 the Fn information when on EFI
20384 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20385
027de555
VS
203862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20387
20388 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20389 All users updated.
20390 * normal/crypto.c (read_crypto_list): Likewise.
20391 * normal/dyncmd.c (read_command_list): Likewise.
20392 * normal/term.c (read_terminal_list): Likewise.
20393 * normal/main.c (read_lists): Use explicit prefix.
20394 (read_lists_hook): Use read_lists.
20395 (grub_normal_execute): Likewise.
20396
47779711
VS
203972010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20398
20399 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20400 Reported by: Thomas Schmitt.
20401 Add -no-emul-boot to grub-mkisofs parameters.
20402
1118c32e
VS
204032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20404
20405 * font/font.c: Indented.
20406
7d652447
BC
204072010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20408
20409 Elif support to GRUB script (by Deepak Vankadaru).
20410
20411 * tests/grub_script_if.in: New testcase.
20412 * conf/tests.rmk: Rule for new testcase.
20413 * script/parser.y: Grammar rules for elif.
20414
34bb22df
BC
204152010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20416
20417 While and until loops support to GRUB script.
20418
20419 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20420 (grub_script_create_cmdwhile): New function prototype.
20421 (grub_script_execute_cmdwhile): New function prototype.
20422 * script/execute.c (grub_script_execute_cmdwhile): New function.
20423 * script/parser.y (command): New commands.
20424 (whilecmd): New grammar rule.
20425 (untilcmd): New grammar rule.
20426 * script/script.c (grub_script_create_cmdwhile): New function.
20427 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20428 function.
20429
20430 * tests/grub_script_while1.in: New testcase.
20431 * conf/tests.rmk: Rule for new testcase.
20432
e215d8e0
VS
204332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20434
20435 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20436 as *.jpg.
20437
d7c43ba1
MV
204382010-04-09 Mario Vazquez <mariovazq@gmail.com>
20439
20440 GRUB_BACKGROUND support.
20441
20442 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20443 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20444
d64795c0
VS
204452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20446
20447 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 20448 Idea by: Mario Vazquez
d64795c0
VS
20449
20450 * util/grub.d/00_header.in: Load pf2 and image modules.
20451
f267f83a
VS
204522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20453
20454 grub-mkconfig multiple terminal support.
20455
20456 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20457 * util/grub.d/00_header.in: Likewise.
20458
b7841ceb
VS
204592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20460
20461 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20462 we use cd $(srcdir).
20463
df60998c
CW
204642010-04-08 Colin Watson <cjwatson@ubuntu.com>
20465
20466 * util/grub.d/10_linux.in: Only use the first word of
20467 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20468 spaces in GRUB_DISTRIBUTOR.
20469 * util/grub.d/10_kfreebsd.in: Likewise.
20470 * util/grub.d/10_hurd.in: Likewise.
20471
fa09c82e
BC
204722010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20473
14e18ae3 20474 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
20475
20476 * tests/util/grub-shell.in: Remove -serial stdio option.
20477
daf892b3
BC
204782010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20479
20480 POSIX header file wrappers.
20481
20482 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20483 equivalents.
20484 * lib/posix_wrap/ctype.h: Likewise.
20485 * lib/posix_wrap/errno.h: Likewise.
20486 * lib/posix_wrap/langinfo.h: Likewise.
20487 * lib/posix_wrap/limits.h: Likewise.
20488 * lib/posix_wrap/localcharset.h: Likewise.
20489 * lib/posix_wrap/stdint.h: Likewise.
20490 * lib/posix_wrap/stdio.h: Likewise.
20491 * lib/posix_wrap/stdlib.h: Likewise.
20492 * lib/posix_wrap/string.h: Likewise.
20493 * lib/posix_wrap/sys/types.h: Likewise.
20494 * lib/posix_wrap/unistd.h: Likewise.
20495 * lib/posix_wrap/wchar.h: Likewise.
20496 * lib/posix_wrap/wctype.h: Likewise.
20497 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20498 (grub_script.yy.h): Likewise.
20499 * script/yylex.l: Remove POSIX emulation #defines.
20500 * Makefile.in (POSIX_CFLAGS): New variable.
20501 (GNULIB_UTIL_CFLAGS): Likewise.
20502
20503 Regexp support.
20504
20505 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20506 (regexp_mod_SOURCES): New variable.
20507 (regexp_mod_CFLAGS): Likewise.
20508 (regexp_mod_LDFLAGS): Likewise.
20509 * commands/regexp.c: New file.
20510 * gnulib/regcomp.c: New file. Imported from gnulib.
20511 * gnulib/regex.c: Likewise.
20512 * gnulib/regex_internal.c: Likewise.
20513 * gnulib/regex_internal.h: Likewise.
20514 * gnulib/regexec.c: Likewise.
20515 * gnulib/regex.h: Likewise.
20516
974ac4f7
VS
205172010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20520 unsupported video mode types.
20521
2622c3ff
VS
205222010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20523
20524 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
20525
064cb524
VS
205262010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20527
20528 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
20529 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
20530
a8c3b552
VS
205312010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20532
20533 Remove unused grub_vga_get_font.
20534
20535 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
20536 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
20537
187bbe3d
GS
205382010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20539
20540 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
20541 * include/grub/misc.h: Likewise.
20542
b9396631
GS
205432010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20544
20545 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
20546 for which failure is fatal.
20547
50479feb
GS
205482010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20549
20550 * util/grub-install.in: Use mkdir -p to create grub directory.
20551 * util/i386/efi/grub-install.in: Likewise.
20552 * util/ieee1275/grub-install.in: Likewise.
20553
b1654fdf
GS
205542010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20555
20556 * Makefile.in (LEX): new variable.
20557
bd5a6415
GS
205582010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20559
20560 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
20561 `=' and added double quotes on operands of this equality test.
20562
3db3a82b
VS
205632010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20564
20565 * Makefile.in (uninstall): Remove a leftover debug echo.
20566 Reported by: Grégoire Sutre
20567
38023412
VS
205682010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20569
20570 MIPS multiboot2 support.
20571
20572 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
20573 (multiboot2_mod_SOURCES): New variable.
20574 (multiboot2_mod_CFLAGS): Likewise.
20575 (multiboot2_mod_LDFLAGS): Likewise.
20576 (multiboot2_mod_ASFLAGS): Likewise.
20577 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
20578 definition.
20579 (MULTIBOOT_ENTRY_REGISTER): Likewise.
20580 (MULTIBOOT_MBI_REGISTER): Likewise.
20581 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
20582 (MULTIBOOT_ELF32_MACHINE): Likewise.
20583 (MULTIBOOT_ELF64_MACHINE): Likewise.
20584 * include/grub/mips/multiboot.h: New file.
20585 * include/grub/video.h (grub_video_driver_id): New type
20586 GRUB_VIDEO_DRIVER_SM712.
20587 (grub_video_get_info_and_fini): Export.
20588 (grub_video_get_palette): Likewise.
20589 (grub_video_get_driver_id): Likewise.
20590 * include/multiboot2.h: Resynced with spec.
20591 * loader/i386/multiboot.c: Moved from here ...
20592 * loader/multiboot.c: ... here. All users updated.
20593 (grub_multiboot_boot): Use platform-specific macros.
20594 * loader/i386/multiboot_elfxx.c: Moved from here ...
20595 * loader/multiboot_elfxx.c: ... here. All users updated.
20596 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
20597 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
20598 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
20599
47674667
VS
206002010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20601
20602 Import gnulib argp module.
20603
20604 * gnulib/argp-ba.c: New file.
20605 * gnulib/argp-eexst.c: Likewise.
20606 * gnulib/argp-fmtstream.c: Likewise.
20607 * gnulib/argp-fmtstream.h: Likewise.
20608 * gnulib/argp-fs-xinl.c: Likewise.
20609 * gnulib/argp-help.c: Likewise.
20610 * gnulib/argp-namefrob.h: Likewise.
20611 * gnulib/argp-parse.c: Likewise.
20612 * gnulib/argp-pin.c: Likewise.
20613 * gnulib/argp-pv.c: Likewise.
20614 * gnulib/argp-pvh.c: Likewise.
20615 * gnulib/argp-version-etc.c: Likewise.
20616 * gnulib/argp-version-etc.h: Likewise.
20617 * gnulib/argp-xinl.c: Likewise.
20618 * gnulib/argp.h: Likewise.
20619
495442ed
VS
206202010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20621
20622 * kern/device.c (grub_device_iterate): Clear errors after failed
20623 opening device.
20624
f9fd65df
VS
206252010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20626
20627 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
20628 returned by firmware.
20629
af09641e
VS
206302010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20631
20632 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
20633 compilation on coreboot and qemu
20634
016883a5
VS
206352010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20636
20637 * include/multiboot2.h: Resync with spec.
20638
f97e1f7d
VS
206392010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20640
20641 Multiboot2 tag support
20642
20643 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
20644 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
20645 Remove loader/multiboot_loader.c.
20646 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
20647 (grub_multiboot2_real_boot): Likewise.
20648 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
20649 (grub_get_multiboot_mmap_count): New proto.
20650 (grub_fill_multiboot_mmap): Likewise.
20651 (grub_multiboot_set_video_mode): Likewise.
20652 (grub_multiboot_set_console): Likewise.
20653 (grub_multiboot_load): Likewise.
20654 (grub_multiboot_load_elf): Likewise.
20655 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
20656 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
20657 * include/multiboot.h: Resynced with specification.
20658 * include/multiboot2.h: Resynced with specification.
20659 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
20660 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
20661 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
20662 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
20663 users updated.
20664 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
20665 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
20666 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
20667 Removed.
20668 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
20669 Moved from here...
20670 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
20671 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20672 Moved from here...
20673 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
20674 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
20675 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
20676 All users updated.
20677 * loader/i386/multiboot_mbi2.c: New file.
20678
3506b90b
VS
206792010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20680
20681 Resync with gnulib.
20682
20683 * Makefile.in (GNULIB_CFLAGS): New variable.
20684 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
20685 (grub_script_check_CFLAGS): New variable.
20686 * gnulib/alloca.h: Resync with gnulib.
20687 * gnulib/error.c: Likewise.
20688 * gnulib/error.h: Likewise.
20689 * gnulib/fnmatch.c: Likewise.
20690 * gnulib/fnmatch_loop.c: Likewise.
20691 * gnulib/getdelim.c: Likewise.
20692 * gnulib/getline.c: Likewise.
20693 * gnulib/getopt.c: Likewise.
20694 * gnulib/getopt1.c: Likewise.
20695 * gnulib/getopt_int.h: Likewise.
20696 * gnulib/gettext.h: Likewise.
20697 * gnulib/progname.c: Likewise.
20698 * gnulib/progname.h: Likewise.
20699
394a3120
GS
207002010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
20701
20702 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
20703 which is the case with --disabled-nls.
20704
20705 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
20706 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
20707 * util/misc.c: Likewise.
20708 * util/mkisofs/mkisofs.c: Likewise.
20709 * util/mkisofs/mkisofs.h: Likewise.
20710
969d1c78
VS
207112010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20712
20713 Simplify Apple CC support.
20714
20715 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
20716 Add 0 byte at the end not to have a symbol with empty target.
20717 * mmap/i386/pc/mmap_helper.S: Likewise.
20718 * genmk.rb: Ignore errors 2030 and 2050.
20719 * kern/i386/pc/startup.S: Use LOCAL when possible.
20720
8d2977bb
BC
207212010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
20722
20723 Testcase and the fix for final semicolon on cmdline.
20724
20725 * tests/grub_script_final_semicolon.in: New testcase.
20726 * conf/tests.rmk: Rules for the new testcase.
20727 * script/parser.y: Grammar fix.
20728
a7bd6915
BC
207292010-03-26 BVK Chaitanya <bvk@localhost>
20730
20731 Blank lines testcase for GRUB script.
20732
20733 * tests/grub_script_blanklines.in: New testcase.
20734 * conf/tests.rmk: Rules for the new testcase.
20735
e4ff6628
VS
207362010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20737
20738 Don't use __FILE__.
20739
20740 * genmk.rb: Add -DGRUB_FILE to all C targets.
20741 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
20742 * include/grub/list.h: Likewise.
20743 * include/grub/misc.h: Likewise.
20744 * include/grub/mm.h: Likewise.
20745 * include/grub/test.h: Likewise.
20746 * kern/mm.c: Likewise.
20747 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20748
6a5cf6b6
VS
207492010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20750
20751 Sunpc partitions support.
20752
20753 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
20754 (grub_fstest_SOURCES): Likewise.
20755 (pkglib_MODULES): Add part_sunpc.mod.
20756 (part_sunpc_mod_SOURCES): New variable.
20757 (part_sunpc_mod_CFLAGS): Likewise.
20758 (part_sunpc_mod_LDFLAGS): Likewise.
20759 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
20760 * partmap/sunpc.c: New file.
20761
746d9045
BC
207622010-03-26 BVK Chaitanya <bvk@localhost>
20763
20764 For loop support to GRUB script.
20765
20766 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
20767 (grub_script_create_cmdfor): New function prototype.
20768 (grub_script_execute_cmdfor): New function prototype.
20769 * script/execute.c (grub_script_execute_cmdfor): New function.
20770 * script/parser.y (command): New for command.
20771 (forcmd): New grammar rule.
20772 * script/script.c (grub_script_create_cmdfor): New function.
20773 * util/grub-script-check.c (grub_script_execute_cmdfor): New
20774 function.
20775 * tests/grub_script_for1.in: New testcase.
20776 * conf/tests.rmk: Rules for new testcase.
20777
18486b18
VS
207782010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20779
20780 Nested partitions
20781
20782 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
20783 'partition' is NULL, grub_partition_get_start already does that.
20784 * commands/loadenv.c (check_blocklists): Likewise.
20785 (write_blocklists): Likewise.
20786 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
20787 (grub_fstest_SOURCES): Likewise.
20788 (pkglib_MODULES): Add part_bsd.mod.
20789 (part_bsd_mod_SOURCES): New variable.
20790 (part_bsd_mod_CFLAGS): Likewise.
20791 (part_bsd_mod_LDFLAGS): Likewise.
20792 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
20793 (grub_emu_SOURCES): Likewise.
20794 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20795 * include/grub/bsdlabel.h: New file.
20796 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
20797 'get_name'.
20798 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
20799 (grub_partition_map_list): New variable.
20800 (grub_partition_map_register): Inline.
20801 (grub_partition_map_unregister): Likewise.
20802 (FOR_PARTITION_MAPS): New macro.
20803 (grub_partition_map_iterate): Removed.
20804 (grub_partition_get_start): Handle nested partitions.
20805 * include/grub/msdos_partition.h: Remove bsd-related entries.
20806 (grub_pc_partition): Remove.
20807 * kern/disk.c (grub_disk_close): Free partition data.
20808 (grub_disk_adjust_range): Handle nested partitions.
20809 * kern/partition.c (grub_partition_map_probe): New function.
20810 (grub_partition_probe): Parse name to number, handle subpartitions.
20811 (get_partmap): New function.
20812 (grub_partition_iterate): Handle subpartitions.
20813 (grub_partition_get_name): Likewise.
20814 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
20815 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
20816 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
20817 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
20818 Set 'number'.
20819 (acorn_partition_map_probe): Remove.
20820 (acorn_partition_map_get_name): Likewise.
20821 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
20822 Set 'number'.
20823 Set 'index' to 0 since there can be only one partition entry per sector.
20824 (amiga_partition_map_probe): Remove.
20825 (amiga_partition_map_get_name): Likewise.
20826 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
20827 Set 'number'.
20828 Set 'offset' and 'index' to real positions of partitions.
20829 (apple_partition_map_probe): Remove.
20830 (apple_partition_map_get_name): Likewise.
20831 * partmap/bsdlabel.c: New file.
20832 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
20833 Set 'number'.
20834 Allocate 'data' so it can be correctly freed.
20835 Set 'index' to offset inside sector.
20836 (gpt_partition_map_probe): Remove.
20837 (gpt_partition_map_get_name): Likewise.
20838 * partmap/msdos.c (grub_partition_parse): Remove.
20839 (pc_partition_map_iterate): Don't force raw access.
20840 Set 'number'.
20841 Make 'ext_offset' a local variable.
20842 (pc_partition_map_probe): Remove.
20843 (pc_partition_map_get_name): Remove.
20844 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
20845 Set 'number'.
20846 (sun_partition_map_probe): Remove.
20847 (sun_partition_map_get_name): Likewise.
20848 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
20849 (grub_pcpart_type): Likewise.
20850 * util/hostdisk.c (open_device): Handle new numbering scheme.
20851 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
20852 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
20853 * util/grub-probe.c (probe_partmap): Handle nested paritions.
20854 * util/grub-install.in: Insert all subpartition modules.
20855 * util/ieee1275/grub-install.in: Likewise.
20856
a3940f88
AG
208572010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
20858
20859 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
20860 grammar.
20861
21b99926 208622010-03-24 Colin Watson <cjwatson@ubuntu.com>
20863
20864 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
20865
bed1d352
CW
208662010-03-21 Colin Watson <cjwatson@ubuntu.com>
20867
20868 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
20869 match where 'make install' puts them.
20870 * util/i386/efi/grub-install.in: Likewise.
20871
c9f58427
CW
208722010-03-19 Colin Watson <cjwatson@ubuntu.com>
20873
20874 * .bzrignore: Add gentrigtables, grub-script-check,
20875 grub_script_check_init.c, grub_script_check_init.h, and
20876 trigtables.c.
20877
f84afb27
VS
208782010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
20879
20880 * kern/parser.c: Indented.
20881
ed0e3d30
VS
208822010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20883
20884 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
20885
0ea81d98
VS
208862010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20887
20888 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
20889 alpha_mask_size == 0 case.
20890
0cdc2a09
BC
208912010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
20892
20893 GRUB shell lexer and parser improvements.
20894
20895 * conf/any-emu.rmk: Build rule updates.
20896 * conf/common.rmk: Likewise.
20897 * conf/i386-coreboot.rmk: Likewise.
20898 * conf/i386-efi.rmk: Likewise.
20899 * conf/i386-ieee1275.rmk: Likewise.
20900 * conf/i386-pc.rmk: Likewise.
20901 * conf/powerpc-ieee1275.rmk: Likewise.
20902 * conf/x86_64-efi.rmk: Likewise.
20903
20904 * configure.ac: Configure check for flex.
20905
20906 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
20907 types.
20908 (grub_lexer_param): Struct member updates.
20909 (grub_parser_param): Likewise.
20910 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
20911 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
20912 (grub_script_lexer_init): Prototype update.
20913 (grub_script_lexer_record_start): Likewise.
20914 (grub_script_lexer_record_stop): Likewise.
20915 (grub_script_lexer_yywrap): New function prototype.
20916 (grub_script_lexer_fini): Likewise.
20917 (grub_script_execute_argument_to_string): Removed by...
20918 (grub_script_execute_argument_to_argv): ...better version.
20919
20920 * script/execute.c (ROUND_UPTO): New macro.
20921 (grub_script_execute_cmdline): Out of memory fixes.
20922 (grub_script_execute_menuentry): Likewise.
20923 (grub_script_execute_argument_to_string): Removed. Update all
20924 users by...
20925 (grub_script_execute_argument_to_argv): ...better version.
20926 * script/function.c (grub_script_function_create): Use
20927 grub_script_execute_argument_to_argv instead of
20928 grub_script_execute_argument_to_string.
20929
20930 * script/lexer.c (check_varstate): Removed.
20931 (check_textstate): Removed.
20932 (grub_script_lexer_record_start): Likewise.
20933 (grub_script_lexer_record_stop): Likewise.
20934 (recordchar): Replaced with...
20935 (grub_script_lexer_record): ...new function.
20936 (nextchar): Removed.
20937 (grub_script_lexer_init): Rewritten.
20938 (grub_script_yylex): Rewritten.
20939 (append_newline): New function.
20940 (grub_script_lexer_yywrap): New function.
20941 (grub_script_lexer_fini): New function.
20942 (grub_script_yyerror): Sets error flag.
20943
20944 * script/yylex.l: New file.
20945 (grub_lexer_yyfree): Wrapper for flex yyffre.
20946 (grub_lexer_yyalloc): Likewise.
20947 (grub_lexer_yyrealloc): Likewise.
20948 * script/parser.y: Refactored.
20949
20950 * script/script.c (grub_script_arg_add): Out of memory fixes.
20951 (grub_script_add_arglist): Likewise.
20952 (grub_script_create_cmdline): Likewise.
20953 (grub_script_create_cmdmenu): Likewise.
20954 (grub_script_add_cmd): Likewise.
20955 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
20956 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
20957 unnecessary code.
20958
20959 * tests/grub_script_echo1.in: New testcase.
20960 * tests/grub_script_vars1.in: New testcase.
20961 * tests/grub_script_echo_keywords.in: New testcase.
20962
1d63a066
VS
209632010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20964
20965 Remove some redundancy in build system.
20966
20967 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
20968 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
20969 (TARGET_LDFLAGS): Add -nostdlib.
20970 (TARGET_IMG_LDFLAGS): Likewise.
20971 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
20972 anything since mmap isn't available.
20973 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
20974 Add util/time.c.
20975 (pkglib_MODULES): Remove reboot.mod.
20976 (reboot_mod_SOURCES): Removed.
20977 (reboot_mod_CFLAGS): Likewise.
20978 (reboot_mod_LDFLAGS): Likewise.
20979 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
20980 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
20981 (DEFSYMFILES): Add kernel_syms.lst.
20982 (kernel_img_HEADERS): Add common headers.
20983 (symlist.c): New target.
20984 (kernel_syms.lst): Likewise.
20985 (pkglib_MODULES): Add memdisk.mod.
20986 (memdisk_mod_SOURCES): New variable.
20987 (memdisk_mod_CFLAGS): Likewise.
20988 (memdisk_mod_LDFLAGS): Likewise.
20989 (pkglib_MODULES): Add reboot.mod.
20990 (reboot_mod_SOURCES): New variable.
20991 (reboot_mod_CFLAGS): Likewise.
20992 (reboot_mod_LDFLAGS): Likewise.
20993 (pkglib_MODULES): Add date.mod.
20994 (date_mod_SOURCES): New variable.
20995 (date_mod_CFLAGS): Likewise.
20996 (date_mod_LDFLAGS): Likewise.
20997 (pkglib_MODULES): Add datehook.mod.
20998 (datehook_mod_SOURCES): New variable.
20999 (datehook_mod_CFLAGS): Likewise.
21000 (datehook_mod_LDFLAGS): Likewise.
21001 (pkglib_MODULES): Add lsmmap.mod.
21002 (lsmmap_mod_SOURCES): New variable.
21003 (lsmmap_mod_CFLAGS): Likewise.
21004 (lsmmap_mod_LDFLAGS): Likewise.
21005 (pkglib_MODULES): Add boot.mod.
21006 (boot_mod_SOURCES): New variable.
21007 (boot_mod_CFLAGS): Likewise.
21008 (boot_mod_LDFLAGS): Likewise.
21009 * conf/i386-coreboot.rmk: Removed redundant parts.
21010 * conf/i386-ieee1275.rmk: Likewise.
21011 * conf/i386-pc.rmk: Likewise.
21012 * conf/mips-yeeloong.rmk: Likewise.
21013 * conf/mips.rmk: Likewise.
21014 * conf/powerpc-ieee1275.rmk: Likewise.
21015 * conf/sparc64-ieee1275.rmk: Likewise.
21016 * conf/x86_64-efi.rmk: Likewise.
21017 * conf/i386-coreboot.rmk: Moved qemu parts ..
21018 * conf/i386-qemu.rmk: ... here
21019 * conf/i386-efi.rmk: Moved common parts to...
21020 * conf/x86-efi.rmk: ... here.
21021 * conf/i386.rmk: Added modules common to all x86 variants.
21022 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21023 * disk/memdisk.c: Remove grub/machine/kernel.h.
21024 * gensymlist.sh.in: Include symbol.h.
21025 * hook/datehook.c: Correct module name.
21026 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21027 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21028 * include/grub/i386/efi/serial.h: New file.
21029 * include/grub/x86_64/efi/serial.h: Likewise.
21030 * util/time.c: Likewise.
21031 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21032
463ac55f
CK
210332010-03-14 Colin King <colin.king@ubuntu.com>
210342010-03-14 Colin Watson <cjwatson@ubuntu.com>
21035
21036 Shrink the pre-partition-table part of boot.img by eight bytes.
21037
21038 * boot/i386/pc/boot.S (ERR): New macro.
21039 (chs_mode): Use ERR.
21040 (geometry_error): Likewise.
21041 (hd_probe_error): Remove. This is only used once, so we wrwite
21042 it inline instead.
21043 (read_error): Instead of printing read_error_string, just set up
21044 %si and fall through to ...
21045 (error_message): ... this new function, also used by ERR.
21046
08e46ede
CW
210472010-03-14 Colin Watson <cjwatson@ubuntu.com>
21048
21049 Speed up consecutive hostdisk operations on the same device.
21050
21051 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21052 (grub_util_biosdisk_open): Initialise disk->data.
21053 (struct linux_partition_cache): New structure.
21054 (linux_find_partition): Cache partition start positions; these are
21055 expensive to compute on every read and write.
21056 (open_device): Cache open file descriptor in disk->data, so that we
21057 don't have to reopen it and flush the buffer cache for consecutive
21058 operations on the same device.
21059 (grub_util_biosdisk_close): New function.
21060 (grub_util_biosdisk_dev): Set `close' member.
21061
21062 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21063 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21064 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21065 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21066 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21067
4a6d2d06
VS
210682010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21069
21070 Compile parts of grub-emu as modules.
21071
21072 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21073 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21074 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21075 (all-local): Add $(GRUB_EMU).
21076 (install-local): Install $(GRUB_EMU).
21077 (uninstall): Uninstall $(GRUB_EMU).
21078 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21079 * kern/dl.c: Likewise.
21080 * commands/sleep.c: Not include machine/time.h.
21081 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21082 (COMMON_CFLAGS): Likewise.
21083 (sbin_UTILITIES): Remove grub-emu.
21084 (grub_emu_SOURCES): Removed.
21085 (kernel_img_RELOCATABLE): New variable.
21086 (pkglib_PROGRAMS): Add kernel.img.
21087 (kernel_img_SOURCES): New variable
21088 (kernel_img_CFLAGS): Likewise.
21089 (kernel_img_LDFLAGS): Likewise.
21090 (TARGET_NO_STRIP): Likewise.
21091 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21092 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21093 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21094 (grub-emu): New target.
21095 (GRUB_EMU): New variable.
21096 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21097 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21098 * loader/xnu.c: Likewise.
21099 * include/grub/pci.h: Likewise.
21100 * genemuinit.sh: New file.
21101 * genemuinitheader.sh: Likewise.
21102 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21103 Support TARGET_NO_DYNAMIC_MODULES.
21104 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21105 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21106 * disk/loopback.c: Likewise.
21107 * font/font_cmd.c: Likewise.
21108 * partmap/acorn.c: Likewise.
21109 * partmap/amiga.c: Likewise.
21110 * partmap/apple.c: Likewise.
21111 * partmap/gpt.c: Likewise.
21112 * partmap/msdos.c: Likewise.
21113 * partmap/sun.c: Likewise.
21114 * parttool/msdospart.c: Likewise.
21115 * term/gfxterm.c: Likewise.
21116 * video/bitmap.c: Likewise.
21117 * video/readers/jpeg.c: Likewise.
21118 * video/readers/png.c: Likewise.
21119 * video/readers/tga.c: Likewise.
21120 * video/video.c: Likewise.
21121 * util/grub-emu.c (read_command_list): Removed.
21122 (main): Don't call util_init_nls.
21123 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21124 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21125
91fdd2ed
VS
211262010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21127
21128 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21129 date.mod, datehook.mod.
21130 (datetime_mod_SOURCES): New variable.
21131 (datetime_mod_CFLAGS): Likewise.
21132 (datetime_mod_LDFLAGS): Likewise.
21133 (date_mod_SOURCES): Likewise.
21134 (date_mod_CFLAGS): Likewise.
21135 (date_mod_LDFLAGS): Likewise.
21136 (datehook_mod_SOURCES): Likewise.
21137 (datehook_mod_CFLAGS): Likewise.
21138 (datehook_mod_LDFLAGS): Likewise.
21139 * conf/sparc64-ieee1275.rmk: Likewise.
21140 * lib/ieee1275/datetime.c: New file.
21141
873ccae6
VS
211422010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21143
21144 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21145 (ieee1275_fb_mod_SOURCES): New variable.
21146 (ieee1275_fb_mod_CFLAGS): Likewise.
21147 (ieee1275_fb_mod_LDFLAGS): Likewise.
21148 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21149 New proto.
21150 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21151 (HEAP_MAX_ADDR): Likewise.
21152 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21153 type.
21154 Correct stop condition.
21155 (grub_ieee1275_devices_iterate): New function.
21156 * video/ieee1275.c: New file.
21157
601c97c0
VS
211582010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21159
21160 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21161
21162 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21163 as scratch.
21164 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21165 SCRATCH_PAD_DISKBOOT as scratch.
21166 (bootit): Pass Openfirmware pointer in %o4.
21167 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21168 of 0x200000.
21169 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21170 with util/grub-mkrawimage.c.
21171 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21172 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21173 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21174 (grub_aout_load) [GRUB_UTIL]: Likewise.
21175 * include/grub/kernel.h (grub_modules_get_end): New proto.
21176 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21177 (SCRATCH_PAD_BOOT): New definition.
21178 (SCRATCH_PAD_DISKBOOT): Likewise.
21179 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21180 * include/grub/sparc64/ieee1275/ieee1275.h
21181 (grub_ieee1275_original_stack): New variable
21182 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21183 New definition
21184 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21185 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21186 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21187 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21188 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21189 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21190 (grub_platform_image_format_t): New type.
21191 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21192 * kern/main.c (grub_modules_get_end)
21193 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21194 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21195 (codestart): Switch stacks.
21196 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21197 variable.
21198 (grub_heap_init): Use grub_modules_get_end.
21199 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21200 stack.
21201 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21202 (main): Likewise.
21203 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21204
d68b491e
TG
212052010-03-14 Thorsten Glaser <tg@mirbsd.org>
21206
21207 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21208
4e02ed50
MK
212092010-03-08 Matt Kraai <kraai@ftbfs.org>
21210
21211 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21212 bug #559005).
21213
1f15fc1e
VS
212142010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21215
21216 * genmoddep.awk: Output all missing symbols and not only first.
21217
fce5d8ff
VS
212182010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21219
21220 * NEWS: Put the date of 1.98 release.
21221
d1e8a02f
VS
212222010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21223
21224 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21225 ft2build.h.
21226
696fd607
VS
212272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21228
21229 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21230 completition in the middle of string.
21231
33e2e6f3
VS
212322010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21233
21234 * util/grub-mkrescue.in: Use mktemp with explicit template.
21235
b1f6d291
VS
212362010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21237
21238 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21239
2ac227c7
VS
212402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21241
21242 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21243 right pointer.
21244
8f9a632b
VS
212452010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21246
21247 Fix FreeBSD compilation.
21248
21249 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21250 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21251
60b03859
VS
212522010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21253
21254 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21255
48a5a769
VS
212562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21257
21258 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21259
3ab4bd77
VS
212602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21261
21262 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21263
d116e0d8
RM
212642010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21265
21266 Support relative image path in theme file.
21267
21268 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21269 (image_set_property): Handle theme_dir and relative path.
21270
c7ef54aa
VS
212712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21272
21273 * configure.ac: Alias amd64 to x86_64.
21274
fcee14ed
VS
212752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21276
21277 * NEWS: mention multiboot on EFI.
21278
d0780363
VS
212792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21280
21281 * kern/main.c (grub_load_modules): Handle errors from init functions of
21282 embeded modules.
21283
41168ea4
VS
212842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21285
21286 * normal/autofs.c (autoload_fs_module): Handle errors.
21287
b54d93ac
VS
212882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21289
21290 Disable linux.mod on qemu-mips since it's not functional and leads
21291 to compilation failure.
21292
21293 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21294 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21295 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21296 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21297 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21298 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21299 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21300 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21301 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21302 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21303 Reported by: BVK Chaitanya
21304
fc8345da
JU
213052010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21306
21307 * INSTALL: Add gettext as a dependency and add qemu to a new section
21308 "Prerequisites for make-check".
21309
4760f979
CF
213102010-03-04 Christian Franke <franke@computer.org>
21311
21312 * util/grub-pe2elf.c: Add missing include "progname.h".
21313
f209b5b2
VS
213142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21315
21316 * normal/crypto.c (read_crypto_list): Fix a typo.
21317 Reported by: Seth Goldberg.
21318
b4b7be98
VS
213192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21320
21321 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 21322 Reported by: Seth Goldberg.
b4b7be98 21323
c0ee0385
VS
213242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21325
21326 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21327 ascii.bitmaps.
21328
a8efbf64
VS
213292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21330
21331 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 21332 Reported by: Seth Goldberg.
a8efbf64 21333
08dcd913
VS
213342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21335
21336 * util/i386/efi/grub-install.in: Copy gettext files.
21337
c4d0b332
VS
213382010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21339
21340 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21341
c6f2fe52
VS
213422010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21343
21344 Wait for user entry basing on presence of output rather than on errors.
21345
21346 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21347 (grub_install_newline_hook): Likewise.
21348 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21349 * normal/menu.c (show_menu): Check line_counter to determine presence
21350 of output.
21351 * normal/term.c (grub_normal_line_counter): New variable.
21352 (grub_normal_get_line_counter): New function.
21353 (grub_install_newline_hook): Likewise.
21354
5382b1e4
VS
213552010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21356
21357 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21358
5519963b
VS
213592010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 * configure.ac: Update version to 1.98.
21362
72b28631
VS
213632010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21364
21365 * util/grub.d/10_linux.in (linux_entry): Don't default to
21366 gfxpayload=keep if Linux doesn't support video handover.
21367
c140a180
VS
213682010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21369
21370 Don't compile video modules on yeeloong since video subsystem is part
21371 of kernel.
21372
21373 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21374 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21375 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21376 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21377 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21378 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21379 * include/grub/bitmap_scale.h: Likewise.
21380 * include/grub/bufio.h: Likewise.
21381 * include/grub/font.h: Likewise.
21382 * include/grub/gfxterm.h: Likewise.
21383 * include/grub/video.h: Likewise.
21384 * include/grub/vbe.h: Don't include video_fb.h.
21385 * video/i386/pc/vbe.c: Include video_fb.h.
21386 * commands/i386/pc/vbetest.c: Include video.h.
21387
a0ca21c2
CW
213882010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21389
21390 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21391 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21392 default entry if GRUB_SAVEDEFAULT=true. This allows using
21393 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21394 saving a new default on every boot.
21395
4a8a763c
VS
213962010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21397
21398 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21399 * normal/term.c (read_terminal_list): Likewise.
21400 * normal/main.c (grub_normal_init_page): Likewise.
21401 (grub_normal_read_line_real): Likewise.
21402
607ffde2
VS
214032010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21404
21405 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21406 memory leak.
21407 Reported by: Seth Goldberg.
21408
2b8fa975
CW
214092010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21410
21411 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21412 duplicate declaration of `start'.
21413
618307dd
VS
214142010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21415
21416 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21417 filename.
21418 Reported by: Georgy Buranov
21419
7dd05b96 214202010-02-20 Carles Pina i Estany <carles@pina.cat>
21421
21422 * util/grub-mkrawimage.c (usage): Change string formatting to
21423 improve gettext.
21424
d1484a42
MRA
214252010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21426
21427 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21428 backspace keys.
21429
42b1d186
VS
214302010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21431
21432 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21433 Reported by: Michael Suchanek.
21434
214352010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
21436
21437 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21438 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21439
d9f31a41
VS
214402010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21441
21442 Remove any reference to non-free fonts.
21443
21444 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21445 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21446 uses non-free components.
21447 * font/font.c (grub_font_get_name): Remove example name.
21448 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21449 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21450 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21451 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21452
2793c71e
GB
214532010-02-16 Georgy Buranov <gburanov@gmail.com>
21454
21455 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21456
402e3779
VS
214572010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21458
21459 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21460 Double divisor.
21461 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21462 features.
21463 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21464
0dd1e0dd
VS
214652010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21466
21467 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21468
6fa7cfce
ST
214692010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21470
21471 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21472 * docs/grub.texi (Command-line and menu entry commands): Document play
21473 command.
21474
37c8483b
ST
214752010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21476
21477 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21478 parse arguments as inline tempo and notes. Move code for playing notes
21479 to...
21480 (play): ... new function.
21481
14da0fb7
ST
214822010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21483
21484 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21485 grub_uint16_t instead of short.
21486 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21487 disk from little endian to cpu endianness.
21488
04459e70
ST
214892010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21490
21491 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21492 GRUB_TICKS_PER_SECOND instead of 120.
21493
a0876943
VS
214942010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21495
21496 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21497 escape sequence after \e.
21498
e29f95dc
VS
214992010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21500
21501 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21502 non-ASCII characters.
21503
d27859b2
VS
215042010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21505
21506 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21507 set root in single quotes to prevent \, from being unescaped.
21508
bc028f2f
VS
215092010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21510
21511 Prevent unknown commands from stopping menuentry execution.
21512
21513 * script/execute.c (grub_script_execute_cmdline): Print error after
21514 unknown command.
21515
095f5f82
VS
215162010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21517
21518 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21519 Reported by: Pavel Pisa.
21520
8c717950
VS
215212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21522
21523 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21524
904935c3
VS
215252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21526
21527 Merge grub_ieee1275_map_physical into grub_map and rename to
21528 grub_ieee1275_map
21529
21530 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
21531 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
21532 Remove.
21533 * kern/ieee1275/openfw.c (grub_map): Rename to ...
21534 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
21535 necessary.
21536 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
21537
5b59a4e3
VS
215382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21539
21540 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
21541 opening and not after.
21542
69e137e8
VS
215432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21544
21545 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
21546 constants.
21547
2c0fcc36
VS
215482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21549
21550 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
21551 (alloc_phys): Use ALIGN_UP instead of align_addr.
21552
8c6052ce
VS
215532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21554
21555 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
21556
17cec782
VS
215572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21558
21559 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
21560
e0128bbd
VS
215612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21562
21563 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
21564 verbose dprintf.
21565
ca62070b
VS
215662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21567
21568 Fix over-4GiB seek on sparc64.
21569
21570 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
21571 Replace pos_i and pos_lo with pos. All users updated.
21572 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21573 New constant.
21574 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21575 Likewise.
21576 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
21577 and pos_lo.
21578
bdca2607
VS
215792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21580
21581 * util/grub-mkrawimage.c (main): Call set_program_name.
21582
da278c4d
VS
215832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21584
21585 Properly align 64-bit targets.
21586
21587 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
21588 (generate_image): Use ALIGN_ADDR.
21589
b274d734
VS
215902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21591
21592 Properly create cross-endian images.
21593
21594 * include/grub/types.h (grub_host_to_target_addr): New macro
21595 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
21596
82da2062
VS
215972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21598
21599 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
21600
7cae4377
VS
216012010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
21604
21605 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
21606 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
21607 (grub_linux_boot): Divide by 64K when on VESA.
21608
65a533e7
VS
216092010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21610
21611 Support GRUB_GFXPAYLOAD_LINUX.
21612
21613 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
21614 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
21615
dd01d397
VS
216162010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21617
21618 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
21619 to show messages instead of discarding them.
21620 Process errors after executing command and not before. Keep old method
21621 too as precaution.
21622
660960d6
VS
216232010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
21624
21625 * configure.ac: Check for ft2build.h.
21626
62509f04
VS
216272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21628
21629 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
21630
473df63d
VS
216312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21632
21633 * genkernsyms.sh.in: Use TARGET_CC.
21634
c98d2a13
CW
216352010-02-07 Colin Watson <cjwatson@ubuntu.com>
21636
21637 * NEWS: Update.
21638
6e14234c
VS
216392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21640
21641 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
21642 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
21643 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 21644
b255e9cf
YB
216452010-02-07 Yves Blusseau <blusseau@zetam.org>
21646
6e14234c 21647 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 21648
98e6959d
VS
216492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21650
21651 Fix warnings in grub-emu when compiling with maximum warning options.
21652
21653 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
21654 (grub_arch_modules_addr): Return 0 and not NULL.
21655 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 21656 (xstrdup): Use newstr instead of dup.
f88d801b
VS
21657 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
21658 of disk to dsk to avoid shadowing.
74e4934e
VS
21659 (find_free_slot): Fix prototype.
21660 * util/getroot.c (grub_util_is_dmraid): Make static.
21661 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
21662 Add missing prototype.
21663 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 21664
74e31b5c
VS
216652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21666
21667 * loader/i386/linux.c (grub_linux_setup_video): Handle error
21668 appropriately.
21669
6b2ad14b
VS
216702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21671
21672 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
21673 code out.
21674
8f891adc
VS
216752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21676
21677 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
21678 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
21679 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
21680 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
21681 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
21682 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
21683
74b45184
VS
216842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21685
21686 * include/grub/err.h (grub_err_printf): Don't export.
21687
a4bced77
VS
216882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21689
21690 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
21691
007d0695
VS
216922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21693
21694 * include/grub/i18n.h (grub_gettext_dummy): Removed.
21695 * kern/misc.c (grub_gettext_dummy): Make static.
21696
b6c0d9c2
VS
216972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21698
21699 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
21700 by non-valid ones.
21701 * kern/term.c (grub_putchar): Likewise.
21702
f51a90d0
VS
217032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21704
21705 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
21706 buggy hook call and memory leak.
21707
6846cec5
VS
217082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21709
21710 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
21711
468d69fe
VS
217122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21713
21714 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
21715
51906b8c
VS
217162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21717
21718 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
21719 modevar.
21720 Return grub_errno on allocation error.
21721
09706ce5
VS
217222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21723
21724 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
21725
911df80c
YB
217262010-02-06 Yves Blusseau <blusseau@zetam.org>
21727
21728 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
21729 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
21730
3746a6bc
VS
217312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21732
21733 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
21734 non-pxe disk.
21735 (grub_pxefs_open): Likewise.
21736
09706ce5
VS
217372010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21738
21739 * util/grub.d/10_hurd.in: Add --class information to menuentries.
21740 * util/grub.d/10_kfreebsd.in: Likewise.
21741 * util/grub.d/10_linux.in: Likewise.
21742
7cc192d9
VS
217432010-02-06 Colin D Bennett <colin@gibibit.com>
21744
21745 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
21746 (gfxmenu_mod_SOURCES): New variable.
21747 (gfxmenu_mod_CFLAGS): Likewise.
21748 (gfxmenu_mod_LDFLAGS): Likewise.
21749 * include/grub/term.h (grub_term_set_current_output): Declare
21750 argument as const.
21751 * docs/gfxmenu-theme-example.txt: New file.
21752 * gfxmenu/gfxmenu.c: Likewise.
21753 * gfxmenu/gui_box.c: Likewise.
21754 * gfxmenu/gui_canvas.c: Likewise.
21755 * gfxmenu/gui_circular_progress.c: Likewise.
21756 * gfxmenu/gui_image.c: Likewise.
21757 * gfxmenu/gui_label.c: Likewise.
21758 * gfxmenu/gui_list.c: Likewise.
21759 * gfxmenu/gui_progress_bar.c: Likewise.
21760 * gfxmenu/gui_string_util.c: Likewise.
21761 * gfxmenu/gui_util.c: Likewise.
21762 * gfxmenu/icon_manager.c: Likewise.
21763 * gfxmenu/model.c: Likewise.
21764 * gfxmenu/named_colors.c: Likewise.
21765 * gfxmenu/theme_loader.c: Likewise.
21766 * gfxmenu/view.c: Likewise.
21767 * gfxmenu/widget-box.c: Likewise.
21768 * include/grub/gfxmenu_model.h: Likewise.
21769 * include/grub/gfxmenu_view.h: Likewise.
21770 * include/grub/gfxwidgets.h: Likewise.
21771 * include/grub/gui.h: Likewise.
21772 * include/grub/gui_string_util.h: Likewise.
21773 * include/grub/icon_manager.h: Likewise.
21774
217752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21776
21777 Agglomerate scrolling in gfxterm.
21778
21779 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
21780 (grub_virtual_screen_setup): Initialise 'total_screen'.
21781 (write_char): Split to ...
21782 (paint_char): ... this ...
21783 (write_char): ... and this.
21784 (paint_char): Handle delayed scrolling.
21785 (draw_cursor): Likewise.
21786 (scroll_up): Split to ...
21787 (real_scroll): ... this ...
21788 (scroll_up): ... and this.
21789 (real_scroll): Handle multi-line scroll and draw below-the-bottom
21790 characters.
21791 (grub_gfxterm_refresh): Call real_scroll.
21792
217932010-02-06 Colin D Bennett <colin@gibibit.com>
21794
21795 * include/grub/misc.h (grub_iscntrl): New inline function.
21796 (grub_isalnum): Likewise.
21797 (grub_strtol): Likewise.
21798
217992010-02-06 Colin D Bennett <colin@gibibit.com>
21800
21801 * normal/menu_text.c (get_entry_number): Move from here ...
21802 * normal/menu.c (get_entry_number): ... moved here.
21803 * include/grub/menu.h (grub_menu_get_default_entry_index):
21804 New prototype.
21805 * normal/menu.c (grub_menu_get_default_entry_index): New function.
21806 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
21807 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
21808 (grub_menu_viewer_should_return): Likewise.
21809 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
21810 * normal/menu_text.c (run_menu): Enable menu switching.
21811 * normal/menu_viewer.c (should_return): New variable.
21812 (menu_viewer_changed): Likewise.
21813 (grub_menu_viewer_show_menu): Handle menu viewer changes.
21814 (grub_menu_viewer_should_return): New function.
21815 (menuviewer_write_hook): Likewise.
21816 (grub_menu_viewer_init): Likewise.
21817
218182010-02-06 Colin D Bennet <colin@gibibit.com>
218192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21820
21821 Support for gfxterm in a window.
21822
21823 * include/grub/gfxterm.h: New file.
21824 * include/grub/video.h (struct grub_video_rect): New declaration.
21825 (grub_video_rect_t): Likewise.
21826 * term/gfxterm.c (struct grub_gfxterm_window): New type.
21827 (refcount): New variable.
21828 (render_target): Likewise.
21829 (window): Likewise.
21830 (repaint_callback): Likewise.
21831 (grub_virtual_screen_setup): Use 'render_target'.
21832 (init_window): New function.
21833 (grub_gfxterm_init_window): Likewise.
21834 (grub_gfxterm_init): Check reference counter.
21835 Use init_window.
21836 (destroy_window): New function.
21837 (grub_gfxterm_destroy_window): Likewise.
21838 (grub_gfxterm_fini): Check reference counter.
21839 Use destroy_window.
21840 (redraw_screen_rect): Restore viewport.
21841 Use 'render_target' and 'window'.
21842 Call 'repaint_callback'.
21843 (write_char): Use 'render_target'.
21844 (draw_cursor): Likewise.
21845 (scroll_up): Restore viewport.
21846 Use 'render_target' and 'window'.
21847 Call 'repaint_callback'.
21848 (grub_gfxterm_cls): Likewise.
21849 (grub_gfxterm_refresh): Use 'window'.
21850 (grub_gfxterm_set_repaint_callback): New function.
21851 (grub_gfxterm_background_image_cmd): Use 'window'.
21852 (grub_gfxterm_get_term): New function.
21853 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
21854
218552010-02-06 Colin D Bennett <colin@gibibit.com>
21856
21857 Bitmap scaling support.
21858
21859 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
21860 (bitmap_scale_mod_SOURCES): New variable.
21861 (bitmap_scale_mod_CFLAGS): Likewise.
21862 (bitmap_scale_mod_LDFLAGS): Likewise.
21863 * include/grub/bitmap_scale.h: New file.
21864 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
21865 (background_image_cmd_options): New variable.
21866 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
21867 (cmd): Rename and change type to ...
21868 (background_image_cmd_handle): ... this. All users updated.
21869 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
21870 * video/bitmap_scale.c: New file.
21871
218722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21873
21874 SDL support.
21875
21876 * Makefile.in (LIBSDL): New variable.
21877 (enable_grub_emu_sdl): Likewise.
21878 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
21879 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
21880 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
21881 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
21882 * util/sdl.c: New file.
21883
218842010-02-06 Colin D Bennett <colin@gibibit.com>
218852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21886
21887 Double buffering support.
21888
21889 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
21890 * include/grub/video.h: Update comment.
21891 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
21892 New type.
21893 (grub_video_fb_doublebuf_blit_init): New prototype.
21894 * term/gfxterm.c (scroll_up): Support double buffering.
21895 (grub_gfxterm_refresh): Likewise.
21896 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
21897 (grub_video_fb_doublebuf_blit_init): Likewise.
21898 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
21899 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
21900 'displayed_page', 'render_page' and 'update_screen'.
21901 (grub_video_vbe_fini): Free offscreen buffer.
21902 (doublebuf_pageflipping_commit): New function.
21903 (doublebuf_pageflipping_update_screen): Likewise.
21904 (doublebuf_pageflipping_init): Likewise.
21905 (double_buffering_init): Likewise.
21906 (grub_video_vbe_setup): Enable doublebuffering.
21907 (grub_video_vbe_swap_buffers): Implement.
21908 (grub_video_vbe_set_active_render_target): Handle double buffering.
21909 (grub_video_vbe_get_active_render_target): Likewise.
21910 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
21911 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
21912 (grub_video_vbe_enable_double_buffering): Likewise.
21913 (grub_video_vbe_swap_buffers): Use update_screen.
21914 (grub_video_set_mode): Use double buffering.
21915
219162010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21917
21918 * maintainance/gentrigtables.py: Remove.
21919 * lib/trig.c: Likewise.
21920
21921 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
21922
21923 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
21924 `trigtables.c'.
21925 (trigtables.c): New rule.
21926 (gentrigtables): Likewise.
21927 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
21928
219292010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21930
21931 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
21932 integer constants.
21933
219342010-02-06 Colin D Bennet <colin@gibibit.com>
21935
21936 Trigonometry support.
21937
21938 * include/grub/trig.h: New file.
21939 * lib/trig.c: Likewise.
21940 * maintainance/gentrigtables.py: Likewise.
21941 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
21942 (trig_mod_SOURCES): New variable.
21943 (trig_mod_CFLAGS): Likewise.
21944 (trig_mod_LDFLAGS): Likewise.
21945
5562834e
VS
219462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21947
21948 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
21949 disk devices.
21950
4f8528fc
VS
219512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21952
21953 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
21954 error.
21955
2b4068e9
VS
219562010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21957
21958 * util/hostdisk.c (open_device): Don't use partition device when reading
21959 before the partition.
21960 (grub_util_biosdisk_read): Don't read from partition and before the
21961 partition in single operation.
21962 (grub_util_biosdisk_write): Don't write to partition and before the
21963 partition in single operation.
21964
399f6e4d
TL
219652010-02-03 Torsten Landschoff <torsten@debian.org>
21966
21967 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21968 last sectors.
21969
996649b0
VS
219702010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21971
21972 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
21973 CDROM reads.
21974 (grub_biosdisk_write): Refuse to write to CDROM.
21975
3b205d4d
VS
219762010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21977
21978 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
21979
61e89d9d
VS
219802010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21981
21982 * font/font.c (find_glyph): Check that bmp_idx is available before
21983 using it.
21984 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
21985 with (font == NULL).
21986
bf7fcba2
CS
219872010-01-28 Christian Schmitt <chris@ilovelinux.de>
21988
21989 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
21990
f45d2663
BC
219912010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
21992
21993 * include/grub/script_sh.h (sourcecode): Add const qualifier.
21994 * util/grub-script-check.c (getline): Fix empty lines case.
21995
ec1444e6
RM
219962010-01-28 Robert Millan <rmh.grub@aybabtu.com>
21997
21998 * Makefile.in (check): Exit with fail status when one of the tests
21999 fails.
22000 * tests/example_functional_test.c (example_test): Fix reversed assert.
22001 * tests/example_unit_test.c (example_test): Likewise.
22002
2e1cb9bb
CW
220032010-01-28 Colin Watson <cjwatson@ubuntu.com>
22004
22005 * util/grub.d/10_linux.in: This script does not use any of the
22006 contents of gettext.sh, only the external command `gettext', so stop
22007 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22008 the same prefix as GRUB.)
22009 * util/grub.d/10_kfreebsd.in: Likewise.
22010
63533ab0
VS
220112010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22012
22013 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22014 of the line.
22015
989e1f93
VS
220162010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22017
22018 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22019 last sectors.
22020
e709ebe2
VS
220212010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22022
22023 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22024 having a 4KiB and not 32KiB buffer size.
22025
27dea7ed
RM
220262010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22027
22028 * util/hostfs.c: Include `<errno.h>'.
22029 (grub_hostfs_read): Handle errors from fseeko() and fread().
22030
67667b9c
RM
220312010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22032
22033 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22034 loop when using read hooks on files whose size isn't sector-aligned.
22035
c294d9d8
RM
220362010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22037
22038 Remove unused parameter.
22039
22040 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22041 (grub_iso9660_open): Remove initialization of `data->length'.
22042
af75a9f1
RM
220432010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22044
22045 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22046 memleak conditions.
22047
254e2ce5 220482010-01-27 Carles Pina i Estany <carles@pina.cat>
22049
22050 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22051 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22052
b510928c 220532010-01-26 Carles Pina i Estany <carles@pina.cat>
22054
22055 * util/bin2h.c (usage): Fix warning (space after backslash).
22056
aa2f9dd2 220572010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 22058
22059 * font/font.c: Include `grub/fontformat.h.
22060 Remove font file format constants.
22061 (grub_font_load): Use the new macros.
22062 * include/grub/fontformat.h: New file.
22063 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22064 (write_font_pf2): Use the new macros.
22065
94e7e712
RM
220662010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22067
22068 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22069 does.
22070
3973a59a
RM
220712010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22072
22073 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22074
22075 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22076 (_start): Macroify `0x7F'.
22077
22078 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22079 (make_install_device): Use "(pxe)" as fallback prefix when booting
22080 via PXE.
22081
42e0cba3
GS
220822010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22083
22084 * configure.ac: Reset LIBS after check for libgcc symbols.
22085
847effd8
CW
220862010-01-25 Colin Watson <cjwatson@ubuntu.com>
22087
22088 * util/hostdisk.c (open_device): Add trailing newline to debug
22089 message.
22090
ea4a7e35
GS
220912010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22092
22093 * configure.ac: Check for `limits.h'.
22094 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22095
67951a53
RM
220962010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22097
22098 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22099 capitalize error strings.
22100
c273d4ce
ST
221012010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22102
22103 * util/grub.d/10_hurd.in: Add a recovery mode.
22104
69be5b74
VS
221052010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22106
22107 * configure.ac: Check for libgcc symbols with -nostdlib.
22108
fc9e5810
BC
221092010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22110
22111 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22112
4b358c0a
VS
221132010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22114
22115 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22116 stack since heap may be unavailable at that point.
22117 (grub_ofconsole_gotoxy): Likewise.
22118
454fcd1c
VS
221192010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22120
22121 * configure.ac: Check for _restgpr_14_x.
22122 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22123 and _savegpr_* prototypes.
22124
566863ca
RM
221252010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22126
22127 Use generic grub_reboot() for i386-efi.
22128
22129 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22130 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22131 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22132
bf86e59a
VS
221332010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22134
22135 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22136 presence of "prefix" variable as it breaks when normal.mod is
22137 embedded.
22138
d645e0f8
VS
221392010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22140
22141 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22142 stack since heap is unavailable at that point.
22143
f9ab2e25
VS
221442010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22145
22146 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22147 (grub_freebsd_bootinfo): Rewritten.
22148 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22149
01fc7054
VS
221502010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22151
22152 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22153
caab4fd6
RM
221542010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22155
22156 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22157 domain now.
22158
67eb1427
FZ
221592010-01-20 Felix Zielcke <fzielcke@z-51.de>
22160
22161 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22162 around for handling "/" to the correct fix. Fix a memory leak. Use
22163 xstrdup instead of strdup.
22164
a9ed4ff3
VS
221652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22166
22167 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22168
221692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
22170
22171 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22172
22173 * font/font.c (struct grub_font): New member 'bmp_idx'.
22174 (font_init): Initialise 'bmp_idx'.
22175 (load_font_index): Fill 'bmp_idx'.
22176 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22177
48209f4f
VS
221782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22179
22180 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22181 unnecessary calls.
22182
9f0a4bb7
VS
221832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22184
22185 Move context handling out of the kernel.
22186
22187 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22188 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22189 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22190 * conf/i386-efi.rmk: Likewise.
22191 * conf/i386-ieee1275.rmk: Likewise.
22192 * conf/i386-pc.rmk: Likewise.
22193 * conf/powerpc-ieee1275.rmk: Likewise.
22194 * conf/sparc64-ieee1275.rmk: Likewise.
22195 * conf/x86_64-efi.rmk: Likewise.
22196 * include/grub/env.h: Include grub/menu.h.
22197 (grub_env_var_type): Removed.
22198 (grub_env_var): Replaced field 'type' with 'global'.
22199 (grub_env_find): New prototype.
22200 (grub_env_context_open): Remove EXPORT_FUNC.
22201 (grub_env_context_close): Likewise.
22202 (grub_env_export): Likewise.
22203 (grub_env_set_data_slot): Removed.
22204 (grub_env_get_data_slot): Likewise.
22205 (grub_env_unset_data_slot): Likewise.
22206 (grub_env_unset_menu): New prototype.
22207 (grub_env_set_menu): Likewise.
22208 (grub_env_get_menu): Likewise.
22209 * include/grub/env_private.h: New file.
22210 * include/grub/normal.h (grub_context_init): New prototype.
22211 (grub_context_fini): Likewise.
22212 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22213 * normal/context.c (grub_cmd_export): ... to here.
22214 * kern/env.c: Include env_private.h.
22215 (HASHSZ): Moved to include/grub/env_private.h.
22216 (grub_env_context): Likewise.
22217 (grub_env_sorted_var): Likewise.
22218 (current_context): Renamed from this ...
22219 (grub_current_context): ...to this. 'static' removed. All users updated.
22220 (grub_env_find): Removed 'static'.
22221 (grub_env_context_open): Moved to normal/context.c.
22222 (grub_env_context_close): Likewise.
22223 (grub_env_export): Likewise.
22224 (mangle_data_slot_name): Removed.
22225 (grub_env_set_data_slot): Likewise.
22226 (grub_env_get_data_slot): Likewise.
22227 (grub_env_unset_data_slot): Likewise.
22228 * kern/main.c (grub_set_root_dev): Don't export root.
22229 It will be done later.
22230 (grub_main): Don't export prefix.
22231 It will be done later.
22232 * normal/context.c: New file.
22233 * normal/main.c (free_menu): Use grub_env_unset_menu.
22234 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22235 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22236 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22237 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22238
8dd35b8c
VS
222392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22240
22241 setpci support.
22242
22243 * commands/setpci.c: New file.
22244 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22245 (setpci_mod_SOURCES): New variable.
22246 (setpci_mod_CFLAGS): Likewise.
22247 (setpci_mod_LDFLAGS): Likewise.
22248
449193d5
VS
222492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22250
22251 Byte-addressable PCI configuration space.
22252
22253 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22254 dword address.
22255 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22256 GRUB_PCI_REG_CACHELINE.
22257 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22258 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22259 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22260 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22261 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22262 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22263 grub_pci_make_address.
22264 (lock_rom_area): Likewise.
22265 * commands/lspci.c (grub_lspci_iter): Use macroses
22266 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22267 of grub_pci_make_address.
22268 * disk/ata.c (grub_ata_pciinit): Likewise.
22269 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22270 (GRUB_PCI_REG_VENDOR): Likewise.
22271 (GRUB_PCI_REG_DEVICE): Likewise.
22272 (GRUB_PCI_REG_COMMAND): Likewise.
22273 (GRUB_PCI_REG_STATUS): Likewise.
22274 (GRUB_PCI_REG_REVISION): Likewise.
22275 (GRUB_PCI_REG_CLASS): Likewise.
22276 (GRUB_PCI_REG_CACHELINE): Likewise.
22277 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22278 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22279 (GRUB_PCI_REG_BIST): Likewise.
22280 (GRUB_PCI_REG_ADDRESSES): Likewise.
22281 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22282 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22283 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22284 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22285 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22286 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22287 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22288 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22289 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22290 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22291 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22292 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22293 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22294 (GRUB_PCI_REG_MIN_GNT): Likewise.
22295 (GRUB_PCI_REG_MAX_LAT): Likewise.
22296 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22297 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22298 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 22299 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
22300 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22301 space.
22302
96d73208
RM
223032010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22304
22305 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22306 can be reliably determined to be supported.
22307
d4484482
RM
223082010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22309
22310 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22311 that VESA is supported.
22312 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22313 supported.
22314
00308ecf
VS
223152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22316
22317 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22318
f66924a4
RM
223192010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22320
22321 * util/misc.c (make_system_path_relative_to_its_root): Work around
22322 special-casing of "/", as previous incarnation of this routine did.
22323
cbca0ada
VS
223242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22325
22326 Fix any-emu compilation.
22327
22328 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22329 * grub_bin2h_SOURCES: New variable.
22330
34a66d99
RM
223312010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22332
22333 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22334
94fabf58
RM
223352010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22336
22337 * util/grub.d/00_header.in: Fix handling of locale_dir.
22338
02cf98ca
VS
223392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22340
22341 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22342 as possible unifont location (Gentoo).
22343 Reported by: Alexander Brüning
22344
327dbcd7
VS
223452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22346
22347 Don't try to generate lists for kernel.img.
22348
22349 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22350 (pkglib_MODULES): Remove kernel.img.
22351 (kernel_img_EXPORTS): Removed.
22352 (kernel_img_RELOCATABLE): New variable.
22353 * conf/x86_64-efi.rmk: Likewise.
22354 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22355
ca467290
VS
223562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22357
22358 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22359 grub_xasprintf or grub_snprintf.
22360 (grub_vsprintf): Likewise.
22361 (grub_snprintf): New proto.
22362 (grub_vsnprintf): Likewise.
22363 (grub_xasprintf): Likewise.
22364 (grub_xvasprintf): Likewise.
22365 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22366 (grub_sprintf): Removed.
22367 (grub_vsnprintf): New function.
22368 (grub_snprintf): Likewise.
22369 (grub_xvasprintf): Likewise.
22370 (grub_xasprintf): Likewise.
22371 (grub_vsprintf): Renamed to ...
22372 (grub_vsnprintf_real): ...this. New argument max_len.
22373
aca655fd
BC
223742010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22375
22376 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22377 fix grub-script-check warning.
22378
7ee92c32
VS
223792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22380
22381 * include/grub/font.h (grub_font_load): Fix prototype.
22382
f80927ca
VS
223832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22384
22385 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22386
119c50ea
VS
223872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22388
22389 * include/grub/x86_64/at_keyboard.h: New file.
22390
47d5f3c1
VS
223912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 * loader/mips/linux.c: Include missing grub/i18n.h.
22394
55ff5266
RM
223952009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22396
22397 * normal/menu.c (notify_execution_failure): Clarify error message.
22398
c893cc87
RM
223992009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22400
22401 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22402 return value (and revert all return statements). Update users.
22403
917dd370
CW
224042010-01-20 Dan Merillat <debian@dan.merillat.org>
22405
22406 * kern/device.c (grub_device_iterate): Allocate new part_ent
22407 structure based on sizeof (*p) rather than sizeof (p->next), to
22408 account for structure padding.
22409
22410 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22411 disk is NULL, which might happen for LVM physical volumes with no
22412 LVM signature.
22413
d4a4ee57
RM
224142009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22415
22416 * loader/mips/linux.c (grub_cmd_initrd)
22417 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22418
224192009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22420
22421 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22422 (grub_video_video_init, grub_video_bitmap_init)
22423 (grub_font_manager_init, grub_term_gfxterm_init)
22424 (grub_at_keyboard_init): New extern declarations.
22425 (grub_machine_init): Initialize gfxterm and at_keyboard.
22426
22427 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22428
22429 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22430 `gfxterm.mod' into core image.
22431
22432 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22433 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22434 (kernel_img_FORMAT): Copy to ...
22435
22436 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22437 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22438 (kernel_img_FORMAT): ... here, and ...
22439
22440 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22441 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22442 (kernel_img_FORMAT): ... here.
22443
22444 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22445 and input (at_keyboard) terminals in kernel.
22446 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22447
22448 (pkglib_MODULES): Remove `pci.mod'.
22449 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22450 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22451 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22452 (at_keyboard_mod_LDFLAGS): Remove variables.
22453
224542010-01-11 Felix Zielcke <fzielcke@z-51.de>
22455
22456 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22457
224582009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22459
22460 * include/grub/mips/libgcc.h: Only export symbols for functions
22461 that libgcc provides.
22462
224632009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22464
22465 MIPS support.
22466
22467 * bus/bonito.c: New file.
22468 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22469 GRUB_PCI_NUM_DEVICES.
22470 * term/i386/pc/serial.c: Move to ...
22471 * term/serial.c: ... here. All users updated.
22472 * util/i386/pc/grub-mkimage.c: Move to ...
22473 * util/grub-mkrawimage.c: ... here. All users updated.
22474 * term/i386/pc/at_keyboard.c: Move to ...
22475 * term/at_keyboard.c: ... here. All users updated.
22476 * conf/mips-qemu-mips.rmk: New file.
22477 * conf/mips-yeeloong.rmk: Likewise.
22478 * conf/mips.rmk: Likewise.
22479 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22480 mipsel-qemu-mips.
22481 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22482 to port addresses.
22483 (grub_ata_pciinit): Support CS5536.
22484 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22485 * font/font_cmd.c (loadfont_command): Open file before passing it to
22486 grub_font_load.
22487 (pseudo_file_read): New function.
22488 (pseudo_file_close): Likewise.
22489 (pseudo_fs): New structure.
22490 (load_font_module): New function.
22491 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22492 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22493 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22494 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22495 * include/grub/i386/at_keyboard.h: Split into ...
22496 * include/grub/at_keyboard.h: ... this ...
22497 * include/grub/i386/at_keyboard.h: ... and this.
22498 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22499 New prototype.
22500 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22501 updated.
22502 (grub_elf64_size): Likewise.
22503 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22504 filename.
22505 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22506 * include/grub/i386/coreboot/serial.h: Rewritten.
22507 * include/grub/i386/ieee1275/serial.h: Include
22508 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22509 * include/grub/i386/pc/serial.h: Moved from here ...
22510 * include/grub/serial.h: ... to here. All users updated.
22511 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22512 (GRUB_PCI_NUM_BUS): Likewise.
22513 (GRUB_PCI_NUM_DEVICES): Likewise.
22514 (grub_pci_device_map_range): Add missing volatile keyword.
22515 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22516 * include/grub/mips/at_keyboard.h: New file.
22517 * include/grub/mips/cache.h: Likewise.
22518 * include/grub/mips/io.h: Likewise.
22519 * include/grub/mips/kernel.h: Likewise.
22520 * include/grub/mips/libgcc.h: Likewise.
22521 * include/grub/mips/pci.h: Likewise.
22522 * include/grub/mips/qemu-mips/boot.h: Likewise.
22523 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22524 * include/grub/mips/qemu-mips/loader.h: Likewise.
22525 * include/grub/mips/qemu-mips/memory.h: Likewise.
22526 * include/grub/mips/qemu-mips/serial.h: Likewise.
22527 * include/grub/mips/qemu-mips/time.h: Likewise.
22528 * include/grub/mips/relocator.h: Likewise.
22529 * include/grub/mips/time.h: Likewise.
22530 * include/grub/mips/types.h: Likewise.
22531 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
22532 * include/grub/mips/yeeloong/boot.h: Likewise.
22533 * include/grub/mips/yeeloong/kernel.h: Likewise.
22534 * include/grub/mips/yeeloong/loader.h: Likewise.
22535 * include/grub/mips/yeeloong/memory.h: Likewise.
22536 * include/grub/mips/yeeloong/pci.h: Likewise.
22537 * include/grub/mips/yeeloong/serial.h: Likewise.
22538 * include/grub/mips/yeeloong/time.h: Likewise.
22539 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
22540 * kern/elf.c (grub_elf32_size): New parameter. All users
22541 updated.
22542 (grub_elf64_size): Likewise.
22543 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
22544 Load modules before saying "Welcome to GRUB!".
22545 Call grub_refresh after saying "Welcome to GRUB!".
22546 * kern/mips/cache.S: New file.
22547 * kern/mips/cache_flush.S: Likewise.
22548 * kern/mips/dl.c: Likewise.
22549 * kern/mips/init.c: Likewise.
22550 * kern/mips/qemu-mips/init.c: Likewise.
22551 * kern/mips/startup.S: Likewise.
22552 * kern/mips/yeeloong/init.c: Likewise.
22553 * kern/term.c (grub_putcode): Handle NULL terminal.
22554 (grub_getcharwidth): Likewise.
22555 (grub_getkey): Likewise.
22556 (grub_checkkey): Likewise.
22557 (grub_getkeystatus): Likewise.
22558 (grub_getxy): Likewise.
22559 (grub_getwh): Likewise.
22560 (grub_gotoxy): Likewise.
22561 (grub_cls): Likewise.
22562 (grub_setcolorstate): Likewise.
22563 (grub_setcolor): Likewise.
22564 (grub_getcolor): Likewise.
22565 (grub_refresh): Likewise.
22566 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
22567 (write_jump): Add hatch nop.
22568 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
22569 * lib/mips/setjmp.S: New file.
22570 * loader/mips/linux.c: Likewise.
22571 * term/i386/pc/at_keyboard.c: Move from here ...
22572 * term/at_keyboard.c: ... to here.
22573 * term/i386/pc/serial.c: Moved from here ...
22574 * term/serial.c: ... to here. All users updated.
22575 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
22576 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
22577 (serial_translate_key_sequence): Avoid deadlock.
22578 (grub_serial_getkey): Handle backspace.
22579 (grub_serial_putchar): Fix newline handling.
22580 * util/i386/pc/grub-mkimage.c: Move from here ...
22581 * util/grub-mkrawimage.c: ... to here. All users updated.
22582 (generate_image): New parameters 'font_path' and 'format'.
22583 Support embedding font.
22584 Use grub_host_to_target* instead of grub_cpu_to_le*.
22585 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
22586 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
22587 (options): New option "--font".
22588 (usage): Likewise.
22589 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
22590 (main): Handle "--font".
22591 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
22592 (grub_virtual_screen_setup): Set bg_color_display.
22593 (redraw_screen_rect): Use bg_color_display instead of incorrect
22594 bg_color.
22595 (grub_gfxterm_cls): Likewise.
22596 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
22597 Support embedding config file.
22598 (add_segments): Likewise.
22599 (options): New option "--config".
22600 (main): Handle "--config".
22601 * video/sm712.c: New file.
22602
25c2b5b3
RM
226032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22604
22605 Fix parallel builds.
22606
22607 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
22608 font.c depend on ascii.h).
22609
226102010-01-12 Carles Pina i Estany <carles@pina.cat>
22611
22612 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
22613
226142010-01-11 Carles Pina i Estany <carles@pina.cat>
22615
22616 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
22617 By default: disabled.
22618 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
22619 parameter.
22620
226212010-01-10 Carles Pina i Estany <carles@pina.cat>
22622
22623 * font/font.c: Update copyright years.
22624 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
22625
226262010-01-10 Carles Pina i Estany <carles@pina.cat>
22627
22628 * font/font.c: Include `ascii.h'.
22629 (ASCII_BITMAP_SIZE): New macro.
22630 (ascii_font_glyph): Define.
22631 (ascii_glyph_lookup): New function.
22632 (grub_font_get_string_width): Change comment. If glyph not found, use
22633 ascii_glyph_lookup.
22634 (grub_font_get_glyph_with_fallback): If glyph not available returns
22635 ascii_glyph_lookup.
22636 * util/grub-mkfont.c (file_formats): New enum.
22637 (options): Add `ascii-bitmaps' new option.
22638 (usage): Add `asii-bitmaps' new option.
22639 (write_font_ascii_bitmap): New function.
22640 (write_font): Rename to ...
22641 (write_font_p2): ... this. Remove print_glyphs call.
22642 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
22643 used. Call print_glyphs.
22644 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
22645
226462010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22647
22648 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
22649 (grub_bin2h_SOURCES): New variable.
22650 * util/bin2h.c: New file.
22651
915fc1b8
VS
226522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22653
22654 * include/multiboot.h: Resynced with spec.
22655 * include/multiboot2.h: Likewise.
22656 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
22657 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
22658
9444b678
RM
226592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22660
22661 * include/grub/term.h (grub_term_register_input,
22662 grub_term_register_output): Check return of terminal init()
22663 routines, and abort if errors are raised.
22664
22665 * commands/terminal.c: Update copyright year.
22666
cba98e8d
RM
226672010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22668
22669 * commands/terminal.c (grub_cmd_terminal_input)
22670 (grub_cmd_terminal_output): Check return of terminal init()
22671 routines, and abort if errors are raised.
22672
6f7db5d6
VS
226732010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22674
22675 * include/grub/i386/bsd.h: Fix include pathes.
22676
262bff8d
VS
226772010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22678
22679 Add missing *BSD copyright headers.
22680
22681 * include/grub/aout.h: Add BSD licence.
22682 * include/grub/i386/bsd.h: Parts under different licences moved to ...
22683 * include/grub/i386/freebsd_linker.h: ... here,
22684 * include/grub/i386/freebsd_reboot.h: ... here,
22685 * include/grub/i386/netbsd_bootinfo.h: ... here,
22686 * include/grub/i386/netbsd_reboot.h: ... here,
22687 * include/grub/i386/openbsd_bootarg.h: ... here,
22688 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
22689 licence to each file.
22690
b2cab848
RM
226912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22692
22693 * acinclude.m4: Remove `nop' assembly instruction; it's not
22694 implemented by all architectures.
22695
2cb6be4b
RM
226962010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22697
22698 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
22699 ELILO. This is no longer necessary.
22700
a2eaee15
BC
227012010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
22702
22703 Added new tool, grub-scrit-check to verify grub.cfg syntax.
22704
22705 * util/grub-script-check.c: grub-script-check tool.
22706 * conf/common.rmk: Make rules for grub-script-check.
22707
88d17012
RM
227082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22709
22710 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
22711 spotting it back in 2008. Shame on me for forgetting he did.
22712
22713 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
22714
8040619d
RM
227152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22716
22717 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
22718 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
22719 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
22720 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
22721 (GRUB_VIDEO_TYPE_EFI): Rename to ...
22722 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
22723
a0c2a0f6
RM
227242010-01-17 Robert Millan <rmh.grub@aybabtu.com>
22725
22726 * include/grub/test.h: Add license header.
22727 * tests/example_functional_test.c: Likewise.
22728 * tests/example_unit_test.c: Likewise.
22729 * tests/lib/functional_test.c: Likewise.
22730 * tests/lib/test.c: Likewise.
22731 * tests/lib/unit_test.c: Likewise.
22732
b0b13907
VS
227332010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
22734
22735 Use flag-based instead of hook-based video mode selection and "auto"
22736 keyword.
22737
22738 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
22739 (grub_video_set_mode): Changed prototype. All users updated.
22740 (grub_video_check_mode_flag): New inline function.
22741 * video/video.c (parse_modespec): New function.
22742 (grub_video_set_mode): Parse flags and keywords.
22743
ea379330 227442010-01-17 Carles Pina i Estany <carles@pina.cat>
22745
22746 * util/misc.c (grub_util_info): Fix the order of the parameters in a
22747 fprintf call.
22748
e15c215e
FZ
227492010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
22750
22751 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
22752
409ae1c9 227532010-01-16 Carles Pina i Estany <carles@pina.cat>
22754
22755 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
22756 string.
22757 * util/grub-emu.c (usage): Likewise.
22758 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
22759 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22760 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22761 * util/i386/pc/grub-setup.c (usage): Likewise.
22762
70a14d3d 227632010-01-16 Carles Pina i Estany <carles@pina.cat>
22764
22765 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
22766 the message.
22767 (grub_util_info): Likewise.
22768 (grub_util_error): Likewise.
22769 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
22770 and/or new lines in `grub_util_warna', `grub_util_info',
22771 `grub_util_error' calls.
22772 * util/getroot.c: Likewise.
22773 * util/grub-editenv.c: Likewise.
22774 * util/grub-emu.c: Likewise.
22775 * util/grub-fstest.c: Likewise.
22776 * util/grub-mkdevicemap.c: Likewise.
22777 * util/grub-mkfont.c: Likewise.
22778 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22779 * util/grub-mkrelpath.c: Likewise.
22780 * util/grub-pe2elf.c: Likewise.
22781 * util/grub-probe.c: Likewise.
22782 * util/hostdisk.c: Likewise.
22783 * util/i386/efi/grub-mkimage.c: Likewise.
22784 * util/i386/pc/grub-mkimage.c: Likewise.
22785 * util/i386/pc/grub-setup.c: Likewise.
22786 * util/ieee1275/ofpath.c: Likewise.
22787 * util/mkisofs/eltorito.c: Likewise.
22788 * util/mkisofs/rock.c: Likewise.
22789 * util/mkisofs/write.c: Likewise.
22790 * util/raid.c: Likewise.
22791 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22792 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22793
a0b766fc
VS
227942010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22795
22796 Enable multiboot on non-pc.
22797
22798 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
22799 multiboot.mod and multiboot2.mod to ...
22800 * conf/i386.rmk (pkglib_MODULES): ... here.
22801 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
22802 Moved to ...
22803 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
22804 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
22805 Moved to ...
22806 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
22807 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
22808 Moved to ...
22809 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
22810 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
22811 Moved to ...
22812 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
22813 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
22814 relocator.mod.
22815 (ata_mod_SOURCES): Removed.
22816 (ata_mod_CFLAGS): Likewise.
22817 (ata_mod_LDFLAGS): Likewise.
22818 (relocator_mod_SOURCES): Removed.
22819 (relocator_mod_CFLAGS): Likewise.
22820 (relocator_mod_ASFLAGS): Likewise.
22821 (relocator_mod_LDFLAGS): Likewise.
22822 Include i386.mk.
22823 * include/grub/x86_64/multiboot.h: New file.
22824 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
22825 Terminate EFI.
22826
884ade56
VS
228272010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22828
22829 Video multiboot support.
22830
22831 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
22832 New prototype.
22833 * include/multiboot.h: Resynced with multiboot specification.
22834 * include/multiboot2.h: Likewise.
22835 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
22836 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
22837 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
22838 (HAS_VGA_TEXT): Likewise.
22839 (accepts_video): New variable.
22840 (grub_multiboot_set_accepts_video): New function.
22841 (grub_multiboot_get_mbi_size): Account for video structures.
22842 (set_video_mode): New function.
22843 (retrieve_video_parameters): Likewise.
22844 (grub_multiboot_make_mbi): Fill video fields.
22845
0d90e8a6
VS
228462010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22847
22848 Video driver ids.
22849
22850 * include/grub/video.h (grub_video_driver_id): New type.
22851 (grub_video_adapter): New member 'id'. All users updated.
22852 (grub_video_get_driver_id): New proto.
22853 * video/video.c (grub_video_get_driver_id): New function.
22854
5c71db1b 228552010-01-14 Carles Pina i Estany <carles@pina.cat>
22856
22857 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
22858 `var=val'.
22859
cca15b52 228602010-01-14 Carles Pina i Estany <carles@pina.cat>
22861
22862 * normal/cmdline.c (print_completion): Gettextizze.
22863
c586fbb2 228642001-01-14 Carles Pina i Estany <carles@pina.cat>
22865
22866 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
22867
ba2f6848 228682010-01-14 Carles Pina i Estany <carles@pina.cat>
22869
22870 * gettext/gettext.c (grub_gettext_translate): Push and pop
22871 grub_errno.
22872 (grub_gettext_delete_list): Change comment style.
22873 * kern/err.c (grub_error): Gettextizze.
22874 (grub_fatal): Gettextizze.
22875
0a46429a
RM
228762010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22877
22878 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
22879 (grub_linux16_real_boot): ... this.
22880 * kern/i386/loader.S: Likewise.
22881 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
22882 (grub_linux16_boot): New function. Switches to text mode and calls
22883 grub_linux16_real_boot().
22884
22885 * loader/i386/bsd.c: Include `<grub/video.h>'.
22886 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
22887 text mode before calling grub_unix_real_boot().
22888
22889 * loader/i386/multiboot.c: Include `<grub/video.h>'.
22890 (grub_multiboot_boot): Switch to text mode before calling
22891 grub_relocator32_boot().
22892
22893 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
22894 (grub_chainloader_boot): Switch to text mode before calling
22895 grub_chainloader_real_boot().
22896
d6f93a66
RM
228972010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
228982010-01-05 Colin Watson <cjwatson@ubuntu.com>
22899
22900 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
22901 non-empty value.
22902
229032010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
229042010-01-05 Colin Watson <cjwatson@ubuntu.com>
22905
22906 * util/grub.d/00_header.in: Define a "savedefault" function for use
22907 in menu entries.
22908 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
22909
229102010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
229112010-01-05 Colin Watson <cjwatson@ubuntu.com>
22912
22913 * util/grub-mkconfig_lib.in (save_default_entry): Only set
22914 saved_entry if boot_once is unset.
22915 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
22916 previous saved entry (i.e. grub-reboot).
22917
229182009-12-08 Colin Watson <cjwatson@ubuntu.com>
22919
22920 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
22921
229222009-12-08 Colin Watson <cjwatson@ubuntu.com>
22923
22924 * util/grub.d/00_header.in: Use `set var=val' rather than plain
22925 `var=val'.
22926 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
22927
229282009-12-08 Colin Watson <cjwatson@ubuntu.com>
22929
22930 * util/grub-reboot.in: Fix --version output.
22931 * util/grub-set-default.in: Likewise.
22932
229332009-12-08 Colin Watson <cjwatson@ubuntu.com>
22934
22935 * util/grub.d/00_header.in: Silently ignore zero-sized environment
22936 blocks.
22937
229382009-12-08 Colin Watson <cjwatson@ubuntu.com>
22939
22940 * util/grub.d/00_header.in: Quote the value assigned to `default',
22941 in case it contains spaces.
22942
229432009-12-08 Colin Watson <cjwatson@ubuntu.com>
22944
22945 * util/grub.d/30_os-prober.in: Fix merge error that moved a
22946 `save_default_entry' call from the macosx case to the linux case.
22947
229482009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
229492009-10-25 Colin Watson <cjwatson@ubuntu.com>
22950
22951 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
22952 in `chosen' environment variable.
22953 * normal/menu_text.c (get_entry_number): Check if the variable
22954 matches the title of a menu entry.
22955 (run_menu): Pass menu to get_entry_number.
22956
22957 * util/grub-reboot.in: New file.
22958 * util/grub-set-default.in: New file.
22959 * conf/common.rmk (grub-reboot): New utility.
22960 (grub-set-default): New utility.
22961
22962 * util/grub-mkconfig_lib.in (save_default_entry): New function.
22963 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
22964 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
22965 move it to `saved_entry' for the next boot. Load environment on
22966 initialisation.
22967 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
22968 * util/grub.d/10_hurd.in: Likewise.
22969 * util/grub.d/10_linux.in (linux_entry): Likewise.
22970 * util/grub.d/10_windows.in: Likewise.
22971 * util/grub.d/30_os-prober.in: Likewise.
22972
22973 * util/grub-install.in: Create environment block.
22974 * util/i386/efi/grub-install.in: Likewise.
22975 * util/ieee1275/grub-install.in: Likewise.
22976 * util/sparc64/ieee1275/grub-install.in: Likewise.
22977
0934d184
BC
229782010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
22979
22980 Unit testing framework for GRUB.
22981
22982 * Makefile.in: Test framework build rules for 'make check'.
22983 * conf/tests.rmk: Build rules for individual tests and framework.
22984
22985 * include/grub/test.h: Header file for whitebox tests.
22986 * tests/lib/functional_test.c: Framework support for whitebox
22987 functional tests.
22988 * tests/lib/test.c: Common whitebox testing code for unit and
22989 functional tests.
22990 * tests/lib/unit_test.c: Framework support for whitebox unit
22991 tests.
22992
22993 * tests/util/grub-shell-tester.in: Support utility for grub-script
22994 tests.
22995 * tests/util/grub-shell.in: Utility to execute grub-script
22996 commands in a Qemu instance.
22997
22998 * tests/example_functional_test.c: Example whitebox functional
22999 test.
23000 * tests/example_grub_script_test.in: Example grub-script test.
23001 * tests/example_scripted_test.in: Example scripted test.
23002 * tests/example_unit_test.c: Example whitebox unit test.
23003
9c4ffeeb
VS
230042010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23005
23006 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23007 Add loader/i386/multiboot_mbi.c.
23008 (multiboot2_mod_SOURCES): Likewise.
23009 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23010 (multiboot2_mod_SOURCES): Likewise.
23011 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23012 (grub_multiboot_make_mbi): Likewise.
23013 (grub_multiboot_free_mbi): Likewise.
23014 (grub_multiboot_init_mbi): Likewise.
23015 (grub_multiboot_add_module): Likewise.
23016 (grub_multiboot_set_bootdev): Likewise.
23017 * loader/i386/multiboot.c (mbi): Removed.
23018 (mbi_dest): Likewise.
23019 (alloc_mbi): New variable.
23020 (grub_multiboot_payload_size): Removed. All users updated.
23021 (grub_multiboot_pure_size): New variable.
23022 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23023 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23024 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23025 (grub_fill_multiboot_mmap): Likewise.
23026 (grub_multiboot_get_bootdev): Likewise.
23027 (grub_multiboot): Use multiboot_mbi functions.
23028 * loader/i386/multiboot_mbi.c: New file.
23029
17383dfe
VS
230302010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23031
23032 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23033 it would result in module crash.
23034
c1f28820
VS
230352010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23036
23037 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23038 (grub_ofconsole_getwh): Split to ...
23039 (grub_ofconsole_getwh): ... this.
23040 (grub_ofconsole_dimensions): ...and this.
23041 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23042
58655a16
RM
230432010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23044
23045 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23046
10891398
VS
230472010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23048
23049 * loader/i386/pc/multiboot2.c: Removed stalled file.
23050
0b8a223c
VS
230512010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23052
23053 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23054 Reported by: Grégoire Sutre
23055
92ab12b0
RM
230562010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23057
23058 * util/misc.c (canonicalize_file_name): New function.
23059 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23060 instead of realpath().
23061
a788afb6
CW
230622010-01-11 Colin Watson <cjwatson@ubuntu.com>
23063
23064 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23065 and make it clearer that it's optional. Based on confusion
23066 witnessed on IRC.
23067
ffa8e3d2
VS
230682010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23069
23070 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23071 in premature implicit newline.
23072
e9060a9d
VS
230732010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23074
23075 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23076 which resulted in garbled command line at the end of screen.
23077
f0d0c0b7
RM
230782010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23079
23080 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23081 initialization with similar approach as with other Linux loaders.
23082
0e60bae7
RM
230832010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23084
23085 Fix i386-ieee1275 build.
23086
23087 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23088 and grub_term_height() for video_{width,height} initialization.
23089
230902010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
23091
23092 Fix grub-emu build.
23093
23094 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23095
cdb3f378
RM
230962010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
230972010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23098
23099 Support for multiple terminals.
23100
23101 * Makefile.in (pkglib_DATA): terminal.lst.
23102 (terminal.lst): New target.
23103 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23104 (GRUB_MOD_INIT(handler)): Likewise.
23105 (GRUB_MOD_FINI(handler)): Likewise.
23106 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23107 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23108 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23109 (grub_cmd_sleep): Use grub_term_save_pos.
23110 * commands/terminal.c: New file.
23111 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23112 commands/terminal.c and lib/charset.c.
23113 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23114 (pkglib_MODULES): Add terminal.mod.
23115 (terminal_mod_SOURCES): New variable.
23116 (terminal_mod_CFLAGS): Likewise.
23117 (terminal_mod_LDFLAGS): Likewise.
23118 * genhandlerlist.sh: Don't handle terminals.
23119 * genmk.rb: Generate terminal-*.lst.
23120 * genterminallist.sh: New file.
23121 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23122 (grub_is_valid_utf8): Likewise.
23123 (grub_utf8_to_ucs4_alloc): Likewise.
23124 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23125 (grub_menu_register_viewer): Changed argument.
23126 (grub_menu_try_text): New proto.
23127 (grub_gfxmenu_try_hook): New declaration.
23128 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23129 (grub_menu_init_page): Additional argument term.
23130 (grub_normal_init_page): Likewise.
23131 (grub_cmdline_get): Arguments simplified.
23132 (grub_utf8_to_ucs4_alloc): Removed.
23133 (grub_print_ucs4): Additional argument term.
23134 (grub_getstringwidth): Likewise.
23135 (grub_print_message_indented): Likewise.
23136 (grub_menu_text_register_instances): New proto.
23137 (grub_show_menu): Likewise.
23138 (read_terminal_list): Likewise.
23139 (grub_set_more): Likewise.
23140 * include/grub/parser.h: Include handler.h.
23141 * include/grub/reader.h: Rewritten.
23142 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23143 (GRUB_TERM_WIDTH): Changed to function.
23144 (GRUB_TERM_HEIGHT): Likewise.
23145 (GRUB_TERM_BORDER_WIDTH): Likewise.
23146 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23147 (GRUB_TERM_NUM_ENTRIES): Likewise.
23148 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23149 (GRUB_TERM_CURSOR_X): Likewise.
23150 (grub_term_input_class): Likewise.
23151 (grub_term_output_class): Likewise.
23152 (grub_term_outputs_disabled): New declaration.
23153 (grub_term_inputs_disabled): Likewise.
23154 (grub_term_outputs): Likewise.
23155 (grub_term_inputs): Likewise.
23156 (grub_term_register_input): Rewritten.
23157 (grub_term_register_output): Likewise.
23158 (grub_term_unregister_input): Likewise.
23159 (grub_term_unregister_output): Likewise.
23160 (FOR_ACTIVE_TERM_INPUTS): New macro.
23161 (FOR_DISABLED_TERM_INPUTS): Likewise.
23162 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23163 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23164 * include/grub/terminfo.h: Add oterm argument to all protypes.
23165 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23166 Use grub_rescue_run.
23167 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23168 All users updated.
23169 * kern/reader.c: Removed. All users updated.
23170 * kern/rescue_reader.c (grub_rescue_init): Removed.
23171 (grub_rescue_reader): Likewise.
23172 (grub_register_rescue_reader): Likewise.
23173 (grub_rescue_run): New function based on kern/reader.c.
23174 * kern/term.c: Adapted for multiterm.
23175 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23176 (grub_is_valid_utf8): Likewise.
23177 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23178 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23179 right terminal.
23180 * loader/i386/linux.c (grub_linux_boot): Likewise.
23181 * normal/auth.c (grub_username_get): New function.
23182 (grub_auth_check_authentication): Use grub_username_get.
23183 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23184 * normal/color.c: Adapt for multiterm.
23185 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23186 (grub_normal_init_page): Additional argument term.
23187 (read_lists): Call read_terminal_lists.
23188 (grub_enter_normal_mode): Call grub_cmdline_run.
23189 Handle grub_normal_exit_level.
23190 (grub_cmd_normal): Make reentrant.
23191 (grub_cmd_normal_exit): New function.
23192 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23193 * normal/menu.c: Adapt for multiterm.
23194 * normal/menu_entry.c: Likewise.
23195 * normal/menu_text.c: Likewise.
23196 * normal/menu_viewer.c: Removed. All users updated.
23197 * normal/term.c: New file.
23198 * util/console.c: Change order of includes to workaround a bug in
23199 ncurses headers.
23200 * term/terminfo.c: New argument oterm on all exported functions.
23201 All users updated.
23202 * util/grub-editenv.c (grub_term_input_class): Removed.
23203 (grub_term_output_class): Likewise.
23204
1a064917
RM
232052010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23206
23207 Make loader output a bit more user-friendly.
23208
23209 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23210 is being loaded. Likewise for the Hurd.
23211
23212 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23213 that kernel of FreeBSD ${version} is being loaded.
23214
23215 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23216 grub_dprintf().
23217 (grub_cmd_initrd): Likewise.
23218 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23219 that Linux ${version} is being loaded. Likewise for initrd.
23220
5ce0a83a 232212010-01-09 Carles Pina i Estany <carles@pina.cat>
23222
23223 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23224
809bbfeb 232252010-01-08 Carles Pina i Estany <carles@pina.cat>
23226
23227 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23228 (GRUB_MOD_INIT): Gettextizze.
23229 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23230 (GRUB_MOD_INIT): Gettextizze.
23231 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23232 (grub_cmd_linux): Capitalise Linux.
23233 (GRUB_MOD_INIT): Gettextizze.
23234 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23235 (grub_cmd_linux): Capitalise Linux.
23236 (GRUB_MOD_INIT): Gettextizze.
23237 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23238 (grub_cmd_linux): Capitalise Linux.
23239 (GRUB_MOD_INIT): Gettextizze.
23240 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23241 (GRUB_MOD_INIT): Gettextizze.
23242 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23243 (grub_cmd_linux): Capitalise Linux.
23244 (GRUB_MOD_INIT): Gettextizze.
23245 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23246 (grub_cpu_xnu_init): Gettextizze.
23247 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23248 (GRUB_MOD_INIT): Gettextizze.
23249 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23250 (GRUB_MOD_INIT): Gettextizze.
23251 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23252 (grub_linux_load64): Capitalise Linux.
23253 (GRUB_MOD_INIT): Gettextizze.
23254 * loader/xnu.c: Include `<grub/i18n.h>'.
23255 (GRUB_MOD_INIT): Gettextizze.
23256 * po/POTFILES: Add `loader/efi/appleloader.c',
23257 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23258 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23259 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23260 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23261 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23262 and `loader/xnu.c'.
23263
b394b2ca
RM
232642010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23265
23266 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23267
232682010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
23269
23270 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23271 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23272 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23273
bc8b32b3
RM
232742010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23275
23276 Reset Multiboot 2 support. New loader implements the draft in
23277 /branches/multiboot2 and shares as much code as possible with the
23278 production Multiboot 1 implementation.
23279
23280 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23281 * loader/multiboot2.c: Likewise.
23282 * loader/i386/multiboot_helper.S: Likewise.
23283 * include/multiboot2.h: Replace with latest version from the draft
23284 in /branches/multiboot2.
23285
23286 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23287 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23288 and `loader/multiboot2.c'.
23289 (pkglib_MODULES): Add `multiboot2.mod'.
23290 (multiboot2_mod_SOURCES): New variable.
23291 (multiboot2_mod_LDFLAGS): Likewise.
23292 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23293
23294 * conf/i386-pc.rmk: Likewise.
23295
23296 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23297 (multiboot_mod_SOURCES): Remove variable.
23298 (multiboot_mod_LDFLAGS): Likewise.
23299 (multiboot_mod_CFLAGS): Likewise.
23300
23301 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23302 `<multiboot2.h>' instead of `<multiboot.h>'.
23303 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23304 (MULTIBOOT_HEADER_MAGIC): New macros.
23305
23306 * loader/multiboot_loader.c (module_version_status): Remove variable.
23307 (find_multi_boot2_header): Remove function.
23308 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23309 logic. Always check for the Multiboot version we're compiling for.
23310 (grub_cmd_module_loader): Likewise.
23311 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23312 command instead of `multiboot'.
23313
5d2c52b8
RM
233142010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23315
23316 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23317 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23318 all users.
23319
53108d92
RM
233202010-01-07 Robert Millan <rmh.grub@aybabtu.com>
233212010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23322
23323 Fix breakage introduced with previous commit.
23324
23325 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23326 commands.
23327 * normal/handler.c (read_handler_list): Revert part of previous commit
23328 affecting this file.
23329 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23330 (grub_normal_execute): ... here.
23331
e2e936b2
RM
233322010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23333
23334 Merge prefix-redefinition-fix branch.
23335
23336 * normal/autofs.c (read_fs_list): Make function capable of being
23337 run multiple times, gracefuly replacing the previous data
23338 structures.
23339 * normal/dyncmd.c (read_command_list): Likewise.
23340 * normal/handler.c (read_handler_list): Likewise.
23341 * normal/main.c (read_lists): New function. Calls all the
23342 list reading functions.
23343 (grub_normal_execute): Use read_lists() instead of calling all
23344 list reading functions explicitly. Register read_lists() as a
23345 variable hook attached to ${prefix}.
23346
607a3701
VS
233472010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23348
23349 Merge crypto branch.
23350
23351 * Makefile.in (pkglib_DATA): Add crypto.lst.
23352 (crypto.lst): New target.
23353 * commands/hashsum.c: New file.
23354 * commands/password.c (check_password): Use grub_crypto_memcmp.
23355 * commands/password_pbkdf2.c: New file.
23356 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23357 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23358 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23359 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23360 -I$(srcdir)/lib/libgcrypt_wrap.
23361 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23362 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23363 password_pbkdf2.mod.
23364 (crypto_mod_SOURCES): New variable.
23365 (crypto_mod_CFLAGS): Likewise.
23366 (crypto_mod_LDFLAGS): Likewise.
23367 (hashsum_mod_SOURCES): New variable.
23368 (hashsum_mod_CFLAGS): Likewise.
23369 (hashsum_mod_LDFLAGS): Likewise.
23370 (pbkdf2_mod_SOURCES): New variable.
23371 (pbkdf2_mod_CFLAGS): Likewise.
23372 (pbkdf2_mod_LDFLAGS): Likewise.
23373 (password_pbkdf2_mod_SOURCES): New variable.
23374 (password_pbkdf2_mod_CFLAGS): Likewise.
23375 (password_pbkdf2_mod_LDFLAGS): Likewise.
23376 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23377 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23378 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23379 Include conf/gcry.rmk.
23380 * include/grub/auth.h: Rewritten.
23381 * include/grub/crypto.h: New file.
23382 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23383 * include/grub/normal.h (read_crypto_list): New prototype.
23384 * lib/crypto.c: New file.
23385 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23386 * lib/pbkdf2.c: Likewise.
23387 * normal/auth.c (grub_auth_strcmp): Removed.
23388 (grub_iswordseparator): Likewise.
23389 (grub_auth_strword): Likewise.
23390 (is_authenticated): Use grub_strword.
23391 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23392 and grub_strword. Pass entered password to authentication callback.
23393 * normal/crypto.c: New file.
23394 * normal/main.c: Call read_crypto_list.
23395 * util/grub-mkpasswd-pbkdf2.c: New file.
23396 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23397
42841caa
VS
233982010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23399
23400 Fix descent and ascent calculation.
23401
23402 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23403 (options): New option "asce".
23404 (usage): Likewise.
23405 (add_char): Ignore invalid glyphs for descent calculation.
23406 Calculate ascent from actual content.
23407 (print_glyphs): Use 'asce'.
23408 (write_font): Likewise. Allow ascent override.
23409 (main): Handle "asce" option.
23410
e7730de7 234112010-01-06 Carles Pina i Estany <carles@pina.cat>
23412
23413 * kern/err.c: Include `<grub/i18n.h>'.
23414 (grub_print_error): Add full stop. Gettextizze.
23415 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23416 (grub_bsd_load_elf): Capitalise ELF.
23417 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23418 (grub_cmd_freebsd_module): Likewise.
23419 (grub_cmd_freebsd_module_elf): Likewise.
23420 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23421
40e3a41f 234222010-01-06 Carles Pina i Estany <carles@pina.cat>
23423
23424 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23425 * commands/search_file.c (HELP_MESSAGE): New macro.
23426 * commands/search_label.c (HELP_MESSAGE): Likewise.
23427 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23428 * po/POTFILES: Add `commands/search_file.c',
23429 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23430 `commands/search.c'.
23431
83507e68
RM
234322010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23433
23434 * config.rpath: Update from Gnulib.
23435
465c787b
YB
234362010-01-05 Yves Blusseau <blusseau@zetam.org>
23437
23438 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23439
6581dd3a
YB
234402010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23441
23442 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23443
3bff18c5
CW
234442010-01-05 Colin Watson <cjwatson@ubuntu.com>
23445
23446 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23447 arguments to fread so that we get a return value in bytes, rather
23448 than something that will normally be rounded down to 0.
23449 Adjust error handling to avoid producing garbage when size_t is not
23450 the same size as long long.
23451
a1368118
CW
234522010-01-05 Colin Watson <cjwatson@ubuntu.com>
23453
23454 * util/mkisofs/write.c (padblock_write): Check return value of
23455 fread.
23456
7c302978
RM
234572010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23458
23459 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23460 floppy images now.
23461
23462 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23463
e33ace06
RM
234642010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23465
23466 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23467 instead of manual alignment.
23468 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23469 verbose). Avoid attempts to read past end of the device
23470 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23471 but GRUB_DISK_CACHE_SIZE may exceed that).
23472
4b856776
RM
234732010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23474
23475 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23476 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23477 it to upper layer.
23478
52c2d97f
VS
234792010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23480
23481 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23482 New constant.
23483 (grub_efi_piwg_device_path): New structure
23484 (grub_efi_piwg_device_path_t): New type.
23485 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23486 (devpath_1): Transform to a structure. All users updated.
23487 (devpath_2): Likewise.
23488 (devpath_3): Likewise.
23489 (devpath_4): Likewise.
23490 (devpath_5): Likewise.
23491
98ff6a54
VS
234922010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23493
23494 * loader/efi/appleloader.c: Restored. Update all users.
23495
3a73dcb6
RM
234962010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23497
23498 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23499
23500 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23501 (struct boot_blocklist): Move from here ...
23502 * include/grub/i386/pc/boot.h [ASM_FILE]
23503 (struct grub_boot_blocklist): ... to here. Update all users.
23504 (setup): Only initialize `start' member of `first_block'
23505 structure. Add assert() calls to verify the other members.
23506
23507 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23508 (generate_image): Fix broken blocklist length initialization.
23509 Add assert() call to verify blocklist `segment' field.
23510
ab0eeb0c
RM
235112010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23512
23513 * loader/efi/appleloader.c: Remove. Update all users.
23514
58bc8bd5
RM
235152010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23516
23517 * boot/i386/pc/boot.S: Update copyright year.
23518 * boot/i386/pc/cdboot.S: Likewise.
23519 * boot/i386/pc/diskboot.S: Likewise.
23520 * boot/i386/pc/lnxboot.S: Likewise.
23521 * boot/i386/pc/pxeboot.S: Likewise.
23522 * bus/pci.c: Likewise.
23523 * commands/cmp.c: Likewise.
23524 * commands/help.c: Likewise.
23525 * commands/hexdump.c: Likewise.
23526 * commands/i386/pc/halt.c: Likewise.
23527 * commands/i386/pc/play.c: Likewise.
23528 * commands/i386/pc/vbeinfo.c: Likewise.
23529 * commands/ls.c: Likewise.
23530 * commands/test.c: Likewise.
23531 * disk/dmraid_nvidia.c: Likewise.
23532 * disk/i386/pc/biosdisk.c: Likewise.
23533 * disk/ieee1275/nand.c: Likewise.
23534 * disk/ieee1275/ofdisk.c: Likewise.
23535 * disk/lvm.c: Likewise.
23536 * disk/raid.c: Likewise.
23537 * disk/raid6_recover.c: Likewise.
23538 * disk/scsi.c: Likewise.
23539 * fs/affs.c: Likewise.
23540 * fs/cpio.c: Likewise.
23541 * fs/ext2.c: Likewise.
23542 * fs/hfs.c: Likewise.
23543 * fs/iso9660.c: Likewise.
23544 * fs/ntfs.c: Likewise.
23545 * fs/sfs.c: Likewise.
23546 * fs/udf.c: Likewise.
23547 * fs/ufs.c: Likewise.
23548 * fs/xfs.c: Likewise.
23549 * gencmdlist.sh: Likewise.
23550 * genmk.rb: Likewise.
23551 * include/grub/disk.h: Likewise.
23552 * include/grub/efi/api.h: Likewise.
23553 * include/grub/efi/efi.h: Likewise.
23554 * include/grub/efi/pe32.h: Likewise.
23555 * include/grub/elf.h: Likewise.
23556 * include/grub/fs.h: Likewise.
23557 * include/grub/i386/at_keyboard.h: Likewise.
23558 * include/grub/i386/pc/memory.h: Likewise.
23559 * include/grub/i386/pc/vbe.h: Likewise.
23560 * include/grub/i386/pci.h: Likewise.
23561 * include/grub/i386/tsc.h: Likewise.
23562 * include/grub/ieee1275/ieee1275.h: Likewise.
23563 * include/grub/ntfs.h: Likewise.
23564 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23565 * include/grub/sparc64/libgcc.h: Likewise.
23566 * include/grub/symbol.h: Likewise.
23567 * include/grub/types.h: Likewise.
23568 * include/multiboot2.h: Likewise.
23569 * io/gzio.c: Likewise.
23570 * kern/device.c: Likewise.
23571 * kern/disk.c: Likewise.
23572 * kern/efi/efi.c: Likewise.
23573 * kern/efi/mm.c: Likewise.
23574 * kern/elf.c: Likewise.
23575 * kern/file.c: Likewise.
23576 * kern/i386/dl.c: Likewise.
23577 * kern/i386/pc/init.c: Likewise.
23578 * kern/i386/pc/startup.S: Likewise.
23579 * kern/ieee1275/ieee1275.c: Likewise.
23580 * kern/ieee1275/init.c: Likewise.
23581 * kern/main.c: Likewise.
23582 * kern/mm.c: Likewise.
23583 * kern/powerpc/dl.c: Likewise.
23584 * kern/sparc64/dl.c: Likewise.
23585 * kern/x86_64/dl.c: Likewise.
23586 * lib/hexdump.c: Likewise.
23587 * loader/efi/appleloader.c: Likewise.
23588 * loader/i386/ieee1275/linux.c: Likewise.
23589 * loader/i386/pc/chainloader.c: Likewise.
23590 * loader/i386/pc/linux.c: Likewise.
23591 * loader/i386/pc/multiboot2.c: Likewise.
23592 * loader/ieee1275/multiboot2.c: Likewise.
23593 * loader/multiboot2.c: Likewise.
23594 * loader/multiboot_loader.c: Likewise.
23595 * loader/powerpc/ieee1275/linux.c: Likewise.
23596 * normal/completion.c: Likewise.
23597 * normal/menu_entry.c: Likewise.
23598 * partmap/apple.c: Likewise.
23599 * util/grub.d/10_hurd.in: Likewise.
23600 * util/hostfs.c: Likewise.
23601 * video/readers/png.c: Likewise.
23602
e2d70b5c
CW
236032010-01-03 Colin Watson <cjwatson@ubuntu.com>
23604
23605 * include/grub/misc.h (GNUC_PREREQ): New macro.
23606 (ATTRIBUTE_ERROR): New macro.
23607 * include/grub/list.h (grub_bad_type_cast_real): Use
23608 ATTRIBUTE_ERROR.
23609
a173283f 236102010-01-03 Carles Pina i Estany <carles@pina.cat>
23611
23612 * normal/menu_text.c (print_message): Change messages.
23613
7fa7ff74 236142010-01-03 Carles Pina i Estany <carles@pina.cat>
23615
23616 * normal/menu_entry.c (store_completion): Gettextizze.
23617
136d24f6 236182010-01-03 Carles Pina i Estany <carles@pina.cat>
23619
23620 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
23621
f936862e 236222010-01-03 Carles Pina i Estany <carles@pina.cat>
23623
23624 * po/POTFILES: Sort correctly.
23625
29c44ad1 236262010-01-03 Carles Pina i Estany <carles@pina.cat>
23627
23628 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
23629 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
23630 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
23631 full stop.
23632 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
23633 summary. Gettextizze the strings.
23634 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
23635 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
23636 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
23637 full stop.
23638 (GRUB_MOD_INIT): Remove command name from summary.
23639 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
23640 summary.
23641 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
23642 * term/i386/pc/serial.c (options): Add full stops.
23643 (GRUB_MOD_INIT): Remove command name from the summary.
23644
77a79592 236452010-01-03 Carles Pina i Estany <carles@pina.cat>
23646
23647 * commands/acpi.c: Gettextizze help strings and/or options. Include
23648 `grub/i18n.h' if needed.
23649 * commands/blocklist.c: Likewise.
23650 * commands/boot.c: Likewise.
23651 * commands/cat.c: Likewise.
23652 * commands/cmp.c: Likewise.
23653 * commands/configfile.c: Likewise.
23654 * commands/crc.c: Likewise.
23655 * commands/date.c: Likewise.
23656 * commands/echo.c: Likewise.
23657 * commands/efi/fixvideo.c: Likewise.
23658 * commands/efi/loadbios.c: Likewise.
23659 * commands/gptsync.c: Likewise.
23660 * commands/halt.c: Likewise.
23661 * commands/handler.c: Likewise.
23662 * commands/hdparm.c: Likewise.
23663 * commands/hexdump.c: Likewise.
23664 * commands/i386/cpuid.c: Likewise.
23665 * commands/i386/pc/drivemap.c: Likewise.
23666 * commands/i386/pc/halt.c: Likewise.
23667 * commands/i386/pc/pxecmd.c: Likewise.
23668 * commands/i386/pc/vbeinfo.c: Likewise.
23669 * commands/i386/pc/vbetest.c: Likewise.
23670 * commands/ieee1275/suspend.c: Likewise.
23671 * commands/keystatus.c: Likewise.
23672 * commands/loadenv.c: Likewise.
23673 * commands/ls.c: Likewise.
23674 * commands/lsmmap.c: Likewise.
23675 * commands/lspci.c: Likewise.
23676 * commands/memrw.c: Likewise.
23677 * commands/minicmd.c: Likewise.
23678 * commands/parttool.c: Likewise.
23679 * commands/password.c: Likewise.
23680 * commands/probe.c: Likewise.
23681 * commands/read.c: Likewise.
23682 * commands/reboot.c: Likewise.
23683 * commands/search.c: Likewise.
23684 * commands/sleep.c: Likewise.
23685 * commands/test.c: Likewise.
23686 * commands/true.c: Likewise.
23687 * commands/usbtest.c: Likewise.
23688 * commands/videotest.c: Likewise.
23689 * commands/xnu_uuid.c: Likewise.
23690 * disk/loopback.c: Likewise.
23691 * hello/hello.c: Likewise.
23692 * loader/i386/bsd.c: Likewise.
23693 * term/i386/pc/serial.c: Likewise.
23694 * po/POTFILES: Add new files.
23695
da8d5c53
CW
236962010-01-02 Colin Watson <cjwatson@ubuntu.com>
23697
23698 * term/i386/pc/at_keyboard.c
23699 (keyboard_controller_wait_untill_ready): Rename to ...
23700 (keyboard_controller_wait_until_ready): ... this. Update all users.
23701
33937904 237022010-01-01 Carles Pina i Estany <carles@pina.cat>
23703
23704 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
23705 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
23706 string using string width.
23707 * normal/menu_text.c (grub_print_message_indented): Use
23708 grub_print_spaces and not print_spaces.
23709 (print_timeout): Likewise.
23710 (print_spaces): Move to...
23711 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
23712
3fd3b8d8
RM
237132010-01-01 Robert Millan <rmh.grub@aybabtu.com>
23714
23715 Import from Gnulib.
23716
23717 * gnulib/getdelim.c: New file.
23718 * gnulib/getline.c: Likewise.
23719
33433555
VS
237202009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
23721
23722 * include/grub/list.h (grub_assert_fail): Removed.
23723 (grub_bad_type_cast_real): New function.
23724 (grub_bad_type_cast): New macro.
23725 (GRUB_AS_LIST): Use grub_bad_type_cast.
23726 (GRUB_AS_LIST_P): Likewise.
e44721e8 23727 (GRUB_AS_NAMED_LIST): Likewise.
33433555 23728 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 23729 (GRUB_AS_PRIO_LIST): Likewise.
33433555 23730 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 23731 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 23732
f5a51306
VS
237332009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
23734
23735 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
23736 Fix syntax error.
23737
90d1e879
RM
237382009-12-29 Robert Millan <rmh.grub@aybabtu.com>
23739
23740 * configure.ac: Check for TARGET_CFLAGS initialization before we
23741 initialize it ourselves (sigh).
23742 Move a few modifications to TARGET_CFLAGS to be unconditional
23743 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
23744 eh_frame)
23745
23746 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
23747 * term/i386/pc/at_keyboard.c
23748 (keyboard_controller_wait_untill_ready): Likewise.
23749 (keyboard_controller_led): Rename `led_status' paramter to avoid
23750 name conflict.
23751
465b5a81 237522009-12-28 Carles Pina i Estany <carles@pina.cat>
23753
23754 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
23755 quotes.
23756
c181849b
VS
237572009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23758
23759 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
23760
9c8739a4
VS
237612009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23762
23763 * normal/menu_text.c (grub_print_message_indented): Prevent
23764 past-the-end-of-array dereference.
23765
3e74249c
VS
237662009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23767
23768 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
23769 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
23770
64fd18ed 237712009-12-27 Carles Pina i Estany <carles@pina.cat>
23772
23773 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
23774 * normal/main.c (grub_normal_read_line): Remove a space from the
23775 default prompt.
23776
714af9b9 237772009-12-27 Carles Pina i Estany <carles@pina.cat>
23778
23779 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
23780 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23781 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23782 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23783 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23784 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23785 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23786
82f3e412 237872009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 23788
23789 * video/readers/jpeg.c (cmd): Declare.
23790 (grub_cmd_jpegtest): Use `grub_command_t' type.
23791 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23792 Assign to `cmd'.
23793 (GRUB_MOD_FINI): Use `cmd' to unregister.
23794 * video/readers/png.c (cmd): Declare.
23795 (grub_cmd_pngtest): Use `grub_command_t' type.
23796 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23797 Assign to `cmd'.
23798 (GRUB_MOD_FINI): Use `cmd' to unregister.
23799 * video/readers/tga.c (cmd): Declare.
23800 (grub_cmd_tgatest): Use `grub_command_t' type.
23801 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23802 Assign to `cmd'.
23803 (GRUB_MOD_FINI): Use `cmd' to unregister.
23804
82f3e412 238052009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 23806
23807 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
23808 stops.
23809 * kern/corecmd.c (grub_register_core_commands): Likewise.
23810 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
23811 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23812 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
23813 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23814 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23815 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
23816 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23817 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
23818 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23819 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23820 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23821 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23822 * normal/handler.c (insert_handler): Likewise.
23823 * normal/main.c (GRUB_MOD_INIT): Likewise.
23824 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23825
fdcdbb66 238262009-12-26 Carles Pina i Estany <carles@pina.cat>
23827
23828 * commands/help.c (grub_cmd_help): Print the command name before the
23829 summary.
23830 (GRUB_MOD_INIT): Remove command name from the summary.
23831 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 23832 string as summary.
fdcdbb66 23833 * lib/arg.c (find_long): Print the command name before the summary.
23834 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
23835 summary.
23836 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
23837 * commands/cat.c (GRUB_MOD_INIT): Likewise.
23838 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
23839 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23840 * commands/crc.c (GRUB_MOD_INIT): Likewise.
23841 * commands/date.c (GRUB_MOD_INIT): Likewise.
23842 * commands/echo.c (GRUB_MOD_INIT): Likewise.
23843 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
23844 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23845 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23846 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
23847 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
23848 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
23849 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
23850 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23851 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
23852 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
23853 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
23854 * commands/ls.c (GRUB_MOD_INIT): Likewise.
23855 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23856 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23857 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23858 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
23859 * commands/password.c (GRUB_MOD_INIT): Likewise.
23860 * commands/probe.c (GRUB_MOD_INIT): Likewise.
23861 * commands/read.c (GRUB_MOD_INIT): Likewise.
23862 * commands/search.c (GRUB_MOD_INIT): Likewise.
23863 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
23864 * commands/test.c (GRUB_MOD_INIT): Likewise.
23865 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
23866 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23867 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23868 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
23869 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23870 * lib/arg.c (GRUB_MOD_INIT): Likewise.
23871 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
23872 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23873 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23874 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23875 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23876 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
23877 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
23878 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
23879
9c288be2
VS
238802009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23881
23882 Use search command for preliminar UUID search.
23883
23884 * commands/search.c: Split into ...
23885 * commands/search_wrap.c: ...this
23886 * commands/search.c: ...and this.
23887 * commands/search_file.c: New file.
23888 * commands/search_label.c: New file.
23889 * commands/search_uuid.c: New file.
23890 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
23891 Add commands/search_wrap.c, commands/search_file.c,
23892 commands/search_label.c and commands/search_uuid.c.
23893 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
23894 (search_mod_SOURCES): Set to commands/search_wrap.c.
23895 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
23896 search_label.mod.
23897 (search_fs_file_mod_SOURCES): New variable.
23898 (search_fs_file_mod_CFLAGS): Likewise.
23899 (search_fs_file_mod_LDFLAGS): Likewise.
23900 (search_label_mod_SOURCES): Likewise.
23901 (search_label_mod_CFLAGS): Likewise.
23902 (search_label_mod_LDFLAGS): Likewise.
23903 (search_fs_uuid_mod_SOURCES): New variable.
23904 (search_fs_uuid_mod_CFLAGS): Likewise.
23905 (search_fs_uuid_mod_LDFLAGS): Likewise.
23906 (fs_file_mod_SOURCES): Removed.
23907 (fs_file_mod_CFLAGS): Likewise.
23908 (fs_file_mod_LDFLAGS): Likewise.
23909 (fs_uuid_mod_SOURCES): Removed.
23910 (fs_uuid_mod_CFLAGS): Likewise.
23911 (fs_uuid_mod_LDFLAGS): Likewise.
23912 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
23913 Set to util/grub-install.in.
23914 * disk/fs_file.c: Removed.
23915 * disk/fs_uuid.c: Likewise.
23916 * include/grub/search.h: New file.
23917 * util/grub-install.in: Handle sparc64.
23918 Create and use load.cfg.
23919 * util/sparc64/ieee1275/grub-install.in: Removed.
23920
db943399
VS
239212009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23922
23923 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
23924 Ignore return status if CF is cleared.
23925 (grub_biosdisk_get_diskinfo_standard): Likewise.
23926
3fdae612
RM
239272009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23928
23929 * term/i386/pc/at_keyboard.c
23930 (keyboard_controller_wait_untill_ready): New function.
23931 (grub_keyboard_controller_write, grub_keyboard_controller_read)
23932 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
23933 for keyboard polling, rather than duplicate the same loop. This
23934 saves a few bytes in code size.
23935
7ebaa2b4
VS
239362009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23937
23938 Support for (pxe[:server[:gateway]]) syntax and
23939 use environment variable for PXE.
23940
23941 * commands/i386/pc/pxecmd.c (options): Removed.
23942 (print_ip): Removed.
23943 (grub_cmd_pxe): Removed
23944 (grub_cmd_pxe_unload): New function.
23945 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
23946 (grub_pxe_your_ip): Made static.
23947 (grub_pxe_default_server_ip): Likewise.
23948 (grub_pxe_default_gateway_ip): Likewise.
23949 (grub_pxe_blksize): Likewise.
23950 (parse_ip): New function.
23951 (grub_pxe_open): Support server and gateway specification.
23952 (grub_pxe_close): Free disk->data.
23953 (grub_pxefs_open): Use disk->data.
23954 (grub_pxefs_read): Likewise.
23955 (grub_env_write_readonly): New function.
23956 (set_mac_env): Likewise.
23957 (set_env_limn_ro): Likewise.
23958 (parse_dhcp_vendor): Likewise.
23959 (grub_pxe_detect): Set the environment variables.
23960 (set_ip_env): New function.
23961 (write_ip_env): Likewise.
23962 (grub_env_write_pxe_default_server): Likewise.
23963 (grub_env_write_pxe_default_gateway): Likewise.
23964 (grub_env_write_pxe_blocksize): Likewise.
23965 (GRUB_MOD_INIT(pxe)): Set environment variables.
23966 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
23967 (grub_pxe_mac_addr_t): ... this. All users updated.
23968 (grub_pxe_your_ip): Removed.
23969 (grub_pxe_server_ip): Likewise.
23970 (grub_pxe_gateway_ip): Likewise.
23971 (grub_pxe_blksize): Likewise.
23972
ec5f98ab 239732009-12-25 Carles Pina i Estany <carles@pina.cat>
23974
23975 * commands/help.c: Include `<grub/i18n.h>'.
23976 (grub_cmd_help): Gettextizze.
23977 (GRUB_MOD_INIT): Likewise.
23978 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
23979 (GRUB_MOD_INIT): Gettextizze.
23980 * commands/search.c: Include `<grub/i18n.h>'.
23981 (options): Gettextizze.
23982 (GRUB_MOD_INIT): Gettextizze.
23983 * lib/arg.c: Include `<grub/i18n.h>'.
23984 (help_options): Gettextizze.
23985 (find_long): Likewise.
23986 (grub_arg_show_help): Likewise.
23987 * normal/dyncmd.c: Include `<grub/i18n.h>'.
23988 (read_command_list): Gettextizze.
23989 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 23990 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 23991
22815526
RM
239922009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23993
23994 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
23995 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
23996 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
23997 (led_status): New variable.
23998 (keyboard_controller_led): New function.
23999 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24000 update led status for caps lock, num lock and scroll lock.
24001
0ad46fd7
FZ
240022009-12-25 Felix Zielcke <fzielcke@z-51.de>
24003
24004 * util/hostdisk.c (open_device): Fix a comment.
24005
d0e158c2
RM
240062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24007
24008 * util/grub-install.in (host_os): New variable.
24009 * util/i386/efi/grub-install.in (host_os): Likewise.
24010
401c0ad6
RM
240112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24012
24013 * util/mkisofs/write.c (padblock_write): Abort when given an
24014 excedingly large embed image, instead of silently truncating it.
24015
d14d3370
RM
240162009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24017
24018 * include/multiboot.h: Indentation fixes.
24019
eeed10b4
RM
240202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24021
24022 * include/multiboot.h (struct multiboot_aout_symbol_table)
24023 (struct multiboot_elf_section_header_table): New structure
24024 declarations (stolen from GRUB Legacy).
24025 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24026 table information.
24027
24028 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24029 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24030 type aliases.
24031
681c70ab
RM
240322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24033
24034 * include/multiboot.h: Make comments src2texi-friendly.
24035
e4d47d8d
RM
240362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24037
24038 For consistency with [multiboot]/docs/boot.S.
24039
24040 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24041 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24042 (MULTIBOOT_MAGIC2): Rename from this ...
24043 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24044
a0b70bda
RM
240452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24046
24047 * include/multiboot.h: Remove `<grub/types.h>'.
24048 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24049 types. Update all users.
24050
61ba42be 240512009-12-25 Carles Pina i Estany <carles@pina.cat>
24052
24053 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24054 `couldn't' and `can not' by `cannot'.
24055 * commands/i386/pc/drivemap.c: Likewise.
24056 * disk/ata.c: Likewise.
24057 * disk/ieee1275/nand.c: Likewise.
24058 * fs/affs.c: Likewise.
24059 * fs/fat.c: Likewise.
24060 * fs/hfs.c: Likewise.
24061 * fs/hfsplus.c: Likewise.
24062 * fs/iso9660.c: Likewise.
24063 * fs/jfs.c: Likewise.
24064 * fs/minix.c: Likewise.
24065 * fs/reiserfs.c: Likewise.
24066 * fs/sfs.c: Likewise.
24067 * fs/udf.c: Likewise.
24068 * fs/ufs.c: Likewise.
24069 * fs/xfs.c: Likewise.
24070 * loader/powerpc/ieee1275/linux.c: Likewise.
24071 * loader/sparc64/ieee1275/linux.c: Likewise.
24072 * util/grub-probe.c: Likewise.
24073 * util/misc.c: Likewise.
24074
7fd0baee 240752009-12-24 Carles Pina i Estany <carles@pina.cat>
24076
24077 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24078 grub_errno calls.
24079 * commands/acpi.c: Likewise.
24080 * commands/blocklist.c: Likewise.
24081 * commands/efi/loadbios.c: Likewise.
24082 * commands/i386/pc/drivemap.c: Likewise.
24083 * commands/loadenv.c: Likewise.
24084 * commands/memrw.c: Likewise.
24085 * commands/password.c: Likewise.
24086 * commands/videotest.c: Likewise.
24087 * disk/ata.c: Likewise.
24088 * disk/ata_pthru.c: Likewise.
24089 * disk/dmraid_nvidia.c: Likewise.
24090 * disk/ieee1275/nand.c: Likewise.
24091 * disk/ieee1275/ofdisk.c: Likewise.
24092 * disk/loopback.c: Likewise.
24093 * disk/lvm.c: Likewise.
24094 * disk/mdraid_linux.c: Likewise.
24095 * disk/raid.c: Likewise.
24096 * disk/raid6_recover.c: Likewise.
24097 * disk/scsi.c: Likewise.
24098 * efiemu/main.c: Likewise.
24099 * efiemu/mm.c: Likewise.
24100 * efiemu/pnvram.c: Likewise.
24101 * efiemu/symbols.c: Likewise.
24102 * font/font.c: Likewise.
24103 * fs/cpio.c: Likewise.
24104 * fs/hfsplus.c: Likewise.
24105 * fs/iso9660.c: Likewise.
24106 * fs/jfs.c: Likewise.
24107 * fs/minix.c: Likewise.
24108 * fs/ntfs.c: Likewise.
24109 * fs/ntfscomp.c: Likewise.
24110 * fs/reiserfs.c: Likewise.
24111 * fs/ufs.c: Likewise.
24112 * fs/xfs.c: Likewise.
24113 * gettext/gettext.c: Likewise.
24114 * include/grub/auth.h: Likewise.
24115 * kern/elf.c: Likewise.
24116 * kern/file.c: Likewise.
24117 * kern/ieee1275/init.c: Likewise.
24118 * kern/ieee1275/mmap.c: Likewise.
24119 * kern/ieee1275/openfw.c: Likewise.
24120 * kern/powerpc/dl.c: Likewise.
24121 * kern/sparc64/dl.c: Likewise.
24122 * lib/arg.c: Likewise.
24123 * loader/i386/bsd.c: Likewise.
24124 * loader/i386/bsdXX.c: Likewise.
24125 * loader/i386/efi/linux.c: Likewise.
24126 * loader/i386/efi/xnu.c: Likewise.
24127 * loader/i386/ieee1275/linux.c: Likewise.
24128 * loader/i386/linux.c: Likewise.
24129 * loader/i386/multiboot.c: Likewise.
24130 * loader/i386/pc/linux.c: Likewise.
24131 * loader/i386/pc/multiboot2.c: Likewise.
24132 * loader/i386/xnu.c: Likewise.
24133 * loader/ieee1275/multiboot2.c: Likewise.
24134 * loader/macho.c: Likewise.
24135 * loader/machoXX.c: Likewise.
24136 * loader/multiboot2.c: Likewise.
24137 * loader/multiboot_loader.c: Likewise.
24138 * loader/powerpc/ieee1275/linux.c: Likewise.
24139 * loader/sparc64/ieee1275/linux.c: Likewise.
24140 * loader/xnu.c: Likewise.
24141 * loader/xnu_resume.c: Likewise.
24142 * mmap/i386/pc/mmap.c: Likewise.
24143 * normal/menu_viewer.c: Likewise.
24144 * partmap/acorn.c: Likewise.
24145 * partmap/amiga.c: Likewise.
24146 * partmap/apple.c: Likewise.
24147 * script/lexer.c: Likewise.
24148 * term/gfxterm.c: Likewise.
24149 * term/i386/pc/serial.c: Likewise.
24150 * term/i386/pc/vga.c: Likewise.
24151 * term/ieee1275/ofconsole.c: Likewise.
24152 * term/terminfo.c: Likewise.
24153 * video/bitmap.c: Likewise.
24154 * video/efi_gop.c: Likewise.
24155 * video/efi_uga.c: Likewise.
24156 * video/fb/video_fb.c: Likewise.
24157 * video/i386/pc/vbe.c: Likewise.
24158 * video/readers/tga.c: Likewise.
24159 * video/video.c: Likewise.
24160
0ad46fd7 241612009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
24162
24163 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24164 * commands/lspci.c: Likewise.
24165 * commands/probe.c: Likewise.
24166 * commands/xnu_uuid.c: Likewise.
24167 * conf/i386-coreboot.rmk: Likewise.
24168 * conf/i386-efi.rmk: Likewise.
24169 * conf/i386-ieee1275.rmk: Likewise.
24170 * conf/i386-pc.rmk: Likewise.
24171 * conf/powerpc-ieee1275.rmk: Likewise.
24172 * conf/sparc64-ieee1275.rmk: Likewise.
24173 * conf/x86_64-efi.rmk: Likewise.
24174 * fs/i386/pc/pxe.c: Likewise.
24175 * gettext/gettext.c: Likewise.
24176 * include/grub/efi/graphics_output.h: Likewise.
24177 * include/grub/i386/pc/memory.h: Likewise.
24178 * kern/env.c: Likewise.
24179 * kern/i386/qemu/startup.S: Likewise.
24180 * lib/i386/pc/biosnum.c: Likewise.
24181 * lib/i386/relocator.c: Likewise.
24182 * lib/i386/relocator_asm.S: Likewise.
24183 * lib/relocator.c: Likewise.
24184 * loader/i386/bsd.c: Likewise.
24185 * loader/i386/multiboot.c: Likewise.
24186 * loader/i386/pc/chainloader.c: Likewise.
24187 * loader/i386/xnu.c: Likewise.
24188 * loader/xnu.c: Likewise.
24189 * normal/main.c: Likewise.
24190 * normal/menu_text.c: Likewise.
24191 * util/getroot.c: Likewise.
24192 * util/grub-mkconfig_lib.in: Likewise.
24193 * util/grub.d/00_header.in: Likewise.
24194 * util/i386/pc/grub-mkimage.c: Likewise.
24195 * util/mkisofs/eltorito.c: Likewise.
24196 * util/mkisofs/exclude.h: Likewise.
24197 * util/mkisofs/hash.c: Likewise.
24198 * util/mkisofs/iso9660.h: Likewise.
24199 * util/mkisofs/joliet.c: Likewise.
24200 * util/mkisofs/mkisofs.c: Likewise.
24201 * util/mkisofs/mkisofs.h: Likewise.
24202 * util/mkisofs/multi.c: Likewise.
24203 * util/mkisofs/name.c: Likewise.
24204 * util/mkisofs/rock.c: Likewise.
24205 * util/mkisofs/tree.c: Likewise.
24206 * util/mkisofs/write.c: Likewise.
24207 * video/efi_gop.c: Likewise.
24208
009ec743
VS
242092009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24210
24211 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24212 size counting.
24213
0ad46fd7 242142009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
24215
24216 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24217 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24218
d3d30ea0
VS
242192009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24220
24221 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24222 (GRUB_MOD_INIT(memrw)): Update help line.
24223
a34f5c70
VS
242242009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24225
24226 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24227 Use grub_extcmd_t. All users updated.
24228 (options): New variable.
24229 (grub_cmd_read): Restructure for readability. Support "-v" option.
24230 (grub_cmd_write): Restructure for readability.
24231
0ad46fd7 242322009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
24233
24234 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24235
0ad46fd7 242362009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
24237
24238 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24239 with the actual contents of the correspondending make variable.
24240 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24241 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24242 specifying `*.lst' and `efiemu??.o'
24243
0ad46fd7 242442009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
24245
24246 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24247 after function name.
24248 Noticed by Rene Engelhard <rene@debian.org>.
24249
dc77a799
VS
242502009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24251
24252 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24253 (options): New variable.
24254 (iospace): Likewise.
24255 (grub_lspci_iter): List IO spaces if "-i" was given.
24256 (grub_cmd_lspci): Parse options.
24257 (GRUB_MOD_INIT(lspci)): Use extcmd.
24258 (GRUB_MOD_FINI(lspci)): Likewise.
24259
0ad46fd7 242602009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
24261
24262 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24263 `function' keyword.
24264 Patch by Tony Mancill <tmancill@debian.org>.
24265
b5d5993b
VS
242662009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24267
24268 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24269 (grub_uhci_portstatus): Likewise.
24270 (grub_uhci_portstatus): Add necessary delay.
11d18281 24271 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 24272
941903f2 242732009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 24274
941903f2 24275 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24276 (GRUB_MOD_INIT): Likewise.
24277 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 24278 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24279 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 24280 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24281 (enable_rom_area): Likewise.
24282 (GRUB_MOD_INIT): Likewise.
24283 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24284 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24285 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24286 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24287 * commands/hexdump.c (options): Likewise.
24288 * commands/i386/cpuid.c (options): Likewise.
24289 (GRUB_MOD_INIT): Likewise.
24290 * commands/i386/pc/drivemap.c (options): Likewise.
24291 (GRUB_MOD_INIT): Likewise.
24292 * commands/i386/pc/halt (options): Likewise.
24293 (GRUB_MOD_INIT): Likewise.
24294 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24295 * commands/i386/pc/pxecmd.c (options): Likewise.
24296 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24297 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24298 * commands/keystatus.c (options): Likewise.
24299 (GRUB_MOD_INIT): Likewise.
24300 * commands/loadenv.c (options): Likewise.
24301 * commands/ls.c (options): Likewise.
24302 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24303 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24304 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24305 * commands/parttool.c (helpmsg): Likewise.
24306 * commands/probe.c (options): Likewise.
24307 * commands/read.c (GRUB_MOD_INIT): Likewise.
24308 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24309 * commands/search.c (options): Likewise.
24310 * commands/sleep.c (options): Likewise.
24311 * commands/test.c (GRUB_MOD_INIT): Likewise.
24312 * commands/true.c (GRUB_MOD_INIT): Likewise.
24313 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24314 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24315 * lib/arg.c (help_options): Likewise.
e9bbb4e7 24316 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24317 `$(XGETTEXT)'.
98a50553 24318 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 24319
0ad46fd7 243202009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 24321
ef3c2c3a 24322 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
24323 instead of specifying them explicit.
24324
7922f68b
RM
243252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24326
24327 * NEWS: Add grub-probe support for GNU/Hurd.
24328
537ce47f
RM
243292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24330
24331 * NEWS: gettext was added after 1.97.
24332
9b214e3a
RM
243332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24334
24335 * util/mkisofs/msdos_partition.h: New file (based on
24336 include/grub/msdos_partition.h).
24337 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24338 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24339 (ld_options, main): Recognize --protective-msdos-label.
24340 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24341 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24342 (padblock_write): If `use_protective_msdos_label' is set, patch a
24343 protective DOS-style label in the output image.
24344
24345 * util/grub-mkrescue.in: Use --protective-msdos-label.
24346
e9309813
RM
243472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24348
24349 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24350 boot.
24351
0ae56929
RM
243522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24353
24354 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24355 variables.
24356 (ld_options, main): Recognize `--embedded-boot'.
24357 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24358 declarations.
24359 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24360 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24361 (padblock_write): Likewise. Rewrite to support embedded boot image.
24362
24363 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24364 for BIOS-based disk boot instead of only ElTorito.
24365
b15937b1
RM
243662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24367
24368 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24369 build (not needed for bootstrap).
24370
52cc3ce0
RM
243712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24372
24373 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24374 from i386-pc build (not needed for bootstrap).
24375 Rewrite a pair of strings.
24376
36f5ff04
RM
243772009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24378
24379 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24380
973c6c85 243812009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
24382
24383 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24384
05d21547
AB
243852009-12-21 Andreas Born <futur.andy@googlemail.com>
24386
24387 * kern/env.c (grub_env_context_open): Mark exported variable for
24388 reexport.
24389
0175d51f
AB
243902009-12-21 Andreas Born <futur.andy@googlemail.com>
24391
24392 * kern/env.c (grub_env_export): Create nonexistent variables before
24393 exporting.
24394
7f39d92f 243952009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 24396
7f39d92f 24397 * include/grub/auth.h: Include `<grub/i18n.h>'.
24398 (GRUB_GET_PASSWORD): Gettextizze string.
24399 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24400 menu_text.c.
24401 (grub_utf8_to_ucs4_alloc): Fix indentation.
24402 (grub_print_ucs4): Likewise.
24403 (grub_getstringwidth): Likewise.
24404 (print_message_indented): New declaration.
24405 * normal/auth.c: Include `<grub/i18n.h>'.
24406 (grub_auth_check_authentication): Gettexttize string.
24407 * normal/cmdline.c: Include `<grub/i18n.h>'.
24408 (grub_cmdline_get): Gettextizze.
24409 * normal/color.c: Include `<grub/i18n.h>'.
24410 (grub_parse_color_name_pair): Gettexttize strings.
24411 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24412 string (use `print_message_indented').
24413 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24414 `include/grub/normal.h'.
24415 (print_message_indented): Renamed to ...
24416 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24417 used in normal/main.c).
24418 (print_message): Use `grub_print_message_indented' instead of
24419 `print_message_indented'.
24420 (print_timeout): Likewise.
24421 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24422 (grub_normal_print_device_info): Gettexttize strings.
24423 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24424
3041d898
VS
244252009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24426
24427 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24428 of arguments. Return number of tokens and not arguments. All users
24429 updated.
24430
de15bf8e
VS
244312009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24432
24433 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24434 non-MSDOS paritions.
24435
e0a6ca52
VS
244362009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24437
24438 * include/grub/types.h (UNUSED): Removed since it conflicts with
24439 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24440 Reported by Grégoire Sutre.
24441
b99518d1 244422009-12-19 Carles Pina i Estany <carles@pina.cat>
24443
24444 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24445 (grub_print_ucs4_alloc): Likewise.
24446 (grub_getstringwidth): Likewise.
24447 * normal/main.c (grub_normal_init_page): Gettextize version string.
24448 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24449 (getstringwidth): Renamed to ...
24450 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24451 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24452 (grub_print_ucs4): Remove `static' qualifer (now used in
24453 normal/main.c).
24454 * po/POTFILES: Add normal/main.c.
24455
bfd5e52b 244562009-12-19 Carles Pina i Estany <carles@pina.cat>
24457
24458 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24459 (print_message_indented): Add `margin_left' and `margin_right'
24460 parameters.
24461 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24462 strings.
24463 (print_timeout): Use `print_message_indented' to print the message.
24464 Deletes `second_stage' parameter.
24465 (run_menu): Update `print_timeout' calls.
24466
5a1ad2b9
VS
244672009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24468
24469 Fix console palette on OpenFirmware.
24470
24471 * term/ieee1275/ofconsole.c (MAX): Removed.
24472 (colors): Redone based on VGA palette.
24473 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24474 colors are supported.
24475 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24476
b045f00a
VS
244772009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24478
24479 Fix potential EfiEmu double prepare.
24480
24481 * efiemu/main.c (prepared): New variable
24482 (grub_efiemu_unload): Set prepare to '0'.
24483 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24484
24485 set_virtual_address_map support.
24486
24487 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24488 prototype.
24489 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24490 prototype.
24491 (grub_efiemu_crc32): Likewise.
24492 (grub_efiemu_crc64): Likewise.
24493 (grub_efiemu_set_virtual_address_map): Likewise.
24494 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24495 New definition.
24496 (grub_autoefi_set_virtual_address_map): Likewise.
24497 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24498 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24499 Restructure flow to accomodate it.
24500 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24501 (grub_efiemu_crc): Recompute CRC32.
24502 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24503 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24504 * efiemu/symbols.c (relocated_handle): New variable.
24505 (grub_efiemu_free_syms): Free relocated_handle.
24506 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24507 (grub_efiemu_write_sym_markers): New function.
24508 (grub_efiemu_set_virtual_address_map): Likewise.
24509
24510 Newer XNU parameters.
24511
24512 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24513 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24514 (grub_xnu_fill_devicetree): New prototype.
24515 (grub_xnu_heap_real_start): New variable.
24516 * loader/xnu.c (get_name_ptr): New function.
24517 (grub_xnu_load_driver): Fill namelen and name.
24518
24519 64-bit xnu support.
24520
24521 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
24522 and 'loader/macho64.c'.
24523 * conf/i386-pc.rmk: Likewise.
24524 * conf/x86_64-efi.rmk: Likewise.
24525 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
24526 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
24527 * include/grub/macho.h (grub_macho_segment64): New structure.
24528 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
24529 (grub_macho_size32): ... to this.
24530 (grub_macho32_get_entry_point): Renamed from ...
24531 (grub_macho_get_entry_point32): ... to this.
24532 (grub_macho_contains_macho64): New prototype.
24533 (grub_macho_size64): Likewise.
24534 (grub_macho_get_entry_point64): Likewise.
24535 (grub_macho32_load): Renamed from ...
24536 (grub_macho_load32): ... to this.
24537 (grub_macho32_filesize): Renamed from ...
24538 (grub_macho_filesize32): ... to this.
24539 (grub_macho32_readfile): Renamed from ...
24540 (grub_macho_readfile32): ... to this.
24541 (grub_macho_filesize64): New prototype.
24542 (grub_macho_readfile64): Likewise.
24543 (grub_macho_parse32): Likewise.
24544 (grub_macho_parse64): Likewise.
24545 * loader/macho.c: Split into ...
24546 * loader/machoXX.c: ... and this. Replace 32 with XX.
24547 * loader/macho32.c: New file.
24548 * loader/macho64.c: Likewise.
24549 * loader/xnu.c (grub_xnu_is_64bit): New variable.
24550 (grub_cmd_xnu_kernel): Make 32-bit only.
24551 (grub_cmd_xnu_kernel64): New function.
24552 (grub_xnu_load_driver): Support Mach-O 64.
24553 (grub_cmd_xnu_mkext): Likewise.
24554 * util/grub.d/30_os-prober.in (osx_entry): New function.
24555 Generate entries for 64-bit boot too.
24556
24557 Eliminate ad-hoc tree format in XNU and EfiEmu.
24558
24559 * efiemu/main.c (grub_efiemu_prepare): Update comment.
24560 * efiemu/pnvram.c: Rewritten to use environment variables.
24561 All users updated.
24562
24563 Inline utf16_to_utf8.
24564
24565 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
24566 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
24567 All users updated.
24568 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
24569
24570 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
24571 * commands/usbtest.c (grub_usb_get_string): ... move here.
24572 (usb_print_str): Fix error handling.
24573 * include/grub/usb.h (grub_usb_get_string): Remove.
24574
24575 UTF-8 to UTF-16 transformation.
24576
24577 * conf/common.rmk (pkglib_MODULES): Add charset.mod
24578 (charset_mod_SOURCES): New variable.
24579 (charset_mod_CFLAGS): Likewise.
24580 (charset_mod_LDFLAGS): Likewise.
24581 * include/grub/utf.h: New file.
24582 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
24583
24584 Support for device properties.
24585
24586 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
24587 (grub_xnu_devprop_device_header): Likewise.
24588 (grub_xnu_devprop_device_descriptor): Likewise.
24589 (grub_xnu_devprop_add_device): New prototype.
24590 (grub_xnu_devprop_remove_device): Likewise.
24591 (grub_xnu_devprop_remove_property): Likewise.
24592 (grub_xnu_devprop_add_property_utf8): Likewise.
24593 (grub_xnu_devprop_add_property_utf16): Likewise.
24594 (grub_cpu_xnu_init): Likewise.
24595 (grub_cpu_xnu_fini): Likewise.
24596 (grub_cpu_xnu_unload): Likewise.
24597 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
24598 (property_descriptor): Likewise.
24599 (devices): New variable.
24600 (grub_xnu_devprop_remove_property): New function.
24601 (grub_xnu_devprop_add_device): Likewise.
24602 (grub_xnu_devprop_remove_device): Likewise.
24603 (grub_xnu_devprop_add_property): Likewise.
24604 (grub_xnu_devprop_add_property_utf8): Likewise.
24605 (grub_xnu_devprop_add_property_utf16): Likewise.
24606 (hextoval): Likewise.
24607 (grub_cpu_xnu_fill_devprop): Likewise.
24608 (grub_cmd_devprop_load): Likewise.
24609 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
24610 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
24611 (cmd_devprop_load): New variable.
24612 (grub_cpu_xnu_init): New function.
24613 (grub_cpu_xnu_fini): Likewise.
24614 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
24615 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
24616 (grub_cmd_xnu_devtree): Likewise.
24617 (hextoval): New function.
24618 (unescape): Likewise.
24619 (grub_xnu_fill_devicetree): Likewise.
24620
24621 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
24622 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
24623
0945f181
VS
246242009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24625
24626 Workaround for broken ATI VBE.
24627
24628 * video/i386/pc/vbe.c (last_set_mode): New variable.
24629 (grub_vbe_set_video_mode): Set 'last_set_mode'.
24630 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
24631 (grub_video_vbe_setup): Don't check for reserved flag.
24632
0ad46fd7 246332009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
24634
24635 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
24636 the `find' command.
24637
c179ebe4
VS
246382009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
24639
24640 UUID support for HFS.
24641
24642 * fs/hfs.c (grub_hfs_uuid): New function.
24643 (grub_hfs_fs): New value .uuid.
24644 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
24645
0ad46fd7 246462009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
24647
24648 Fix a segfault with parsing unknown long options.
24649
24650 * util/grub-mkrelpath.c (options): Zero terminate it.
24651
c4a3e41a
CPE
246522009-12-13 Carles Pina i Estany <carles@pina.cat>
24653
24654 * include/grub/misc.h (grub_puts): New declaration.
24655 (grub_puts_): Likewise.
a22008a6 24656 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
24657 (grub_puts_): Likewise.
24658
2e8a7602
RM
246592009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24660
24661 * util/grub-probe.c (probe): Improve error message.
24662
b50b77b9
RM
246632009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24664
24665 * loader/i386/multiboot_elfxx.c
24666 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
24667 initialization.
24668
246692009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24670
24671 Relocator framework
24672
24673 * loader/i386/xnu_helper.S: Removed. All users updated.
24674 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
24675 (relocator_mod_SOURCES): New variable.
24676 (relocator_mod_CFLAGS): Likewise.
24677 (relocator_mod_LDFLAGS): Likewise.
24678 (relocator_mod_ASFLAGS): Likewise.
24679 * conf/x86_64.rmk: Likewise.
24680 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
24681 (grub_multiboot_payload_entry_offset): Likewise.
24682 (grub_multiboot_forward_relocator): Likewise.
24683 (grub_multiboot_forward_relocator_end): Likewise.
24684 (grub_multiboot_backward_relocator): Likewise.
24685 (grub_multiboot_backward_relocator_end): Likewise.
24686 (grub_multiboot_payload_eip): New variable.
24687 (grub_multiboot_payload_orig): Likewise.
24688 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
24689 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
24690 * include/grub/i386/memory.h
24691 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
24692 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
24693 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
24694 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
24695 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
24696 * include/grub/i386/relocator.h: New file.
24697 * include/grub/x86_64/relocator.h: Likewise.
24698 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
24699 (XNU_RELOCATOR): New macro.
24700 (grub_xnu_launcher_start): Remove.
24701 (grub_xnu_launcher_end): Likewise.
24702 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
24703 (grub_xnu_heap_real_start): Remove.
24704 (grub_xnu_heap_start): Change to void *. All users updated.
24705 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
24706 * lib/i386/relocator.c: New file.
24707 * lib/i386/relocator_asm.S: Likewise.
24708 * lib/i386/relocator_backward.S: Likewise.
24709 * lib/mips/relocator.c: Likewise.
24710 * lib/mips/relocator_asm.S: Likewise.
24711 * lib/relocator.c: Likewise.
24712 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
24713 (entry): Removed.
24714 (playground): Likewise.
24715 (grub_multiboot_payload_orig): New variable.
24716 (grub_multiboot_payload_dest): Likewise.
24717 (grub_multiboot_payload_size): Likewise.
24718 (grub_multiboot_payload_eip): Likewise.
24719 (grub_multiboot_payload_esp): Likewise.
24720 (grub_multiboot_boot): Use grub_relocator32_boot.
24721 (grub_multiboot_unload): Free relocators.
24722 (grub_multiboot): Setup stack. Use relocators.
24723 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
24724 (grub_multiboot_load_elfXX): Use relocators.
24725 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
24726 (grub_multiboot_payload_size): Likewise.
24727 (grub_multiboot_payload_dest): Likewise.
24728 (grub_multiboot_payload_entry_offset): Likewise.
24729 (grub_multiboot_forward_relocator): Likewise.
24730 (grub_multiboot_backward_relocator): Likewise.
24731 (grub_multiboot_real_boot): Likewise.
24732 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
24733 (grub_xnu_entry_point): Likewise.
24734 (grub_xnu_arg1): Likewise.
24735 (grub_xnu_stack): Likewise.
24736 (grub_xnu_launch): Removed.
24737 (grub_xnu_boot_resume): New function.
24738 (grub_xnu_boot): Use relocators.
24739 * loader/i386/xnu_helper.S: Removed.
24740 * loader/xnu.c (grub_xnu_heap_start): New variable.
24741 (grub_xnu_heap_size): Likewise.
24742 (grub_xnu_heap_malloc): Use relocators.
24743 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
24744
29eb90c6
VS
247452009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24746
24747 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
24748 anything.
24749
31027430
CPE
247502009-12-13 Carles Pina i Estany <carles@pina.cat>
24751
24752 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
24753 GRUB_ERR_NONE before calling grub_env_set.
24754
dc0c71d9
RM
247552009-12-12 Robert Millan <rmh@aybabtu.com>
24756
24757 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
24758 * genmk.rb (video): New variable.
24759 (CLEANFILES, VIDEOFILES): Add #{video}.
24760 (#{video}): New target rule.
24761 * genvideolist.sh: New file.
24762 * Makefile.in (pkglib_DATA): Add video.lst.
24763 (video.lst): New target rule.
24764 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
24765 `video.lst'.
24766 * util/grub.d/30_os-prober.in: Replace `vbe' with
24767 ${GRUB_VIDEO_BACKEND}.
24768
2a4bfcf0
RM
247692009-12-11 Robert Millan <rmh.grub@aybabtu.com>
24770
24771 * THANKS: Add David Miller.
24772
2a3aa4d5
RM
247732009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
24774
24775 libpciaccess support.
24776
24777 * Makefile.in (LIBPCIACCESS): New variable.
24778 (enable_grub_emu_pci): Likewise.
24779 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
24780 util/pci.c and commands/lspci.c.
24781 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
24782 * configure.ac (grub-emu-pci): New option.
24783 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
24784 (grub_pci_device_unmap_range): Likewise.
24785 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
24786 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
24787 (grub_pci_address_t) [!GRUB_UTIL]: New type.
24788 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
24789 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
24790 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
24791 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
24792 * include/grub/pciutils.h: New file.
24793 * util/pci.c: Likewise.
24794
0ad46fd7 247952009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
24796
24797 * util/misc.c: Don't include <errno.h> twice.
24798
0ad46fd7 247992009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
24800
24801 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
24802 name in an error message.
24803 (grub_biosdisk_rw): Likewise.
24804
2e59983c
VS
248052009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24806
24807 Eliminate NTFS 4Gib barrier.
24808
24809 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
24810 (read_run_data): Likewise.
24811 (grub_ntfs_read_run_list): Likewise.
24812 (grub_ntfs_read_block): Likewise.
24813 (grub_ntfs_iterate_dir): Likewise.
24814 (read_mft): Likewise.
24815 (read_data): Likewise.
24816 Use COM_LOG_LEN.
24817 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
24818 to avoid 64-bit division
24819 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
24820 (grub_ntfs_rlst): Use grub_disk_addr_t.
24821
71ee178a
VS
248222009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24823
24824 Eliminate grub-fstest 4Gib barrier.
24825
24826 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
24827 (read_file): Fix error reporting.
24828
2520d4b8
VS
248292009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24830
24831 Eliminate hexdump 4Gib barrier.
24832
24833 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
24834 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
24835
e1f27065
VS
248362009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24837
24838 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
24839 Fixes amarsh bug.
24840
1a0f7f45
RM
248412009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
24842
24843 Remove miscellaneous files in distclean target.
24844
24845 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
24846
c631d9fb
CW
248472009-12-09 Colin Watson <cjwatson@ubuntu.com>
24848
24849 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
24850 if they're already set. This resolves the conflict between my
24851 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
24852 fixing the --grub-probe option again.
24853 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
24854 change on 2009-10-06, so that we now once again source
24855 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24856
7c7b6106
RM
248572009-12-08 Robert Millan <rmh.grub@aybabtu.com>
24858
24859 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
24860 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
24861 `util/devicemap.c'.
24862
e3069ec1
CPE
248632009-12-08 Carles Pina i Estany <carles@pina.cat>
24864
24865 * include/grub/misc.h (grub_printf_): New declaration.
24866 * kern/misc.c (grub_printf_): New definition.
24867 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
24868 instead of `grub_printf' and `_'.
24869 * normal/menu_entry.c (store_completion): Likewise.
24870 (run): Likewise.
24871 (grub_menu_entry_run): Likewise.
24872 * normal/menu_text.c (grub_wait_after_message): Likewise.
24873 (notify_booting): Likewise.
24874 (notify_fallback): Likewise.
24875 (notify_execution_failure): Likewise.
24876
d6ceebf1
CW
248772009-12-07 Colin Watson <cjwatson@ubuntu.com>
24878
24879 * configure.ac: Check for vasprintf.
24880 * util/misc.c (asprintf): Move allocation from here ...
24881 (vasprintf): ... to here. New function.
24882 (xasprintf): New function.
24883 * include/grub/util/misc.h (vasprintf, xasprintf): Add
24884 prototypes.
24885 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24886 * util/grub-mkfont.c (write_font): Likewise.
24887 * util/grub-probe.c (probe): Likewise.
24888 * util/hostdisk.c (make_device_name): Likewise.
24889
de6daa8b
DM
248902009-12-06 David S. Miller <davem@sunset.davemloft.net>
24891
24892 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
24893 anything even prefixed with 'cdrom' as a cdrom.
24894
0ad46fd7 248952009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
24896
24897 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
24898 mount points.
24899
98d3dc02
CPE
249002009-12-05 Carles Pina i Estany <carles@pina.cat>
24901
24902 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
24903 grub_gettext_msg_list.
24904 (grub_gettext_gettranslation_from_position): Return const char *
24905 and not char *.
a2c1332b 24906 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
24907 returns from the list if existing there.
24908 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
24909 (grub_gettext_delete_list): Delete the list.
24910 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
24911 lang environment variable is changed.
24912 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
24913
b283f108
VS
249142009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24915
24916 Rename kernel.mod to kernel.img.
24917
24918 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
24919 (kernel_mod_EXPORTS): Rename to ...
24920 (kernel_img_EXPORTS): ... this.
24921 (kernel_mod_SOURCES): Rename to ...
24922 (kernel_img_SOURCES): ... this.
24923 (kernel_mod_HEADERS): Rename to ...
24924 (kernel_img_HEADERS): ... this. All users updated.
24925 (kernel_mod_CFLAGS): Rename to ...
24926 (kernel_img_CFLAGS): ... this.
24927 (kernel_mod_ASFLAGS): Rename to ...
24928 (kernel_img_ASFLAGS): ... this.
24929 (kernel_mod_LDFLAGS): Rename to ...
24930 (kernel_img_LDFLAGS): ... this.
24931 * conf/x86_64-efi.rmk: Likewise.
24932 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
24933 (read_kernel_image): ... this. All users updated.
24934 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
24935
69055f8a
CPE
249362009-12-05 Carles Pina i Estany <carles@pina.cat>
24937
24938 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
24939 (print_spaces): New function.
24940 (grub_print_ucs4): New function.
24941 (getstringwidth): New function.
24942 (print_message_indented): New function.
24943 (print_message): Gettexttize strings using print_message_indented.
24944 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
24945 width.
24946 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 24947 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
24948 Gettextize.
24949 * normal/menu_entry.c (store_completion): Cleanup the gettextized
24950 string.
24951 (run): Likewise.
24952 (grub_menu_entry_run): Likewise.
24953 * PO/POTFILES: Add normal/menu_entry.c.
24954
f616f51c
VS
249552009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24956
24957 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
24958
57bbe3be
CPE
249592009-12-05 Carles Pina i Estany <carles@pina.cat>
24960
24961 * util/grub-install.in: Install gettext .mo files.
24962 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
24963
013d67a1
CPE
249642009-12-05 Carles Pina i Estany <carles@pina.cat>
24965
24966 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
24967 grub_dprintf.
24968
fb954db0
RM
249692009-12-05 Robert Millan <rmh.grub@aybabtu.com>
24970
24971 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
24972 non-firmware-dependant one in realmode.S takes precedence.
24973
6b8474f8
RM
249742009-12-04 Robert Millan <rmh.grub@aybabtu.com>
24975
24976 * commands/halt.c: Replace misc arch-specific headers with
24977 `<grub/misc.h>'.
24978 * commands/reboot.c: Likewise.
24979 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
24980 `<grub/misc.h>'.
24981 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
24982 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
24983 (kernel_img_SOURCES): ... to here.
24984
24985 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
24986 * include/grub/i386/pc/init.h: Likewise.
24987 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24988 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24989
24990 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
24991
24992 * include/grub/i386/halt.h: Remove.
24993 * include/grub/i386/reboot.h: Likewise.
24994
24995 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
24996
4b2e6ca2
DM
249972009-12-03 David S. Miller <davem@sunset.davemloft.net>
24998
24999 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25000 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25001 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25002 "progname.h"
25003 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25004 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25005 (usage): Add missing comma in printf.
25006
5239348f
RM
250072009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25008
25009 Use the same reboot approach on i386 coreboot and qemu as we do on
25010 BIOS.
25011
25012 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25013 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25014 * kern/i386/reboot.c: Remove.
25015 * include/grub/i386/reboot.h (grub_reboot): Export function.
25016 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25017 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25018 0xf000:0xfff0 instead of 0xffff:0x0000.
25019 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25020 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25021
ef34cbd4
RM
250222009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25023
25024 Fix $srcdir != $objdir build.
25025
25026 * Makefile.in (po/%.po): Rewrite as ...
25027 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25028
dc9837ea
ST
250292009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25030
25031 Fix GNU/Hurd grub-install crash.
25032 * util/grub-probe.c (probe): Try to access `path' only when it is not
25033 NULL.
25034
2f857f98
VS
250352009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25036
25037 Correct module naming.
25038
25039 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25040 (GRUB_MOD_INIT(efi_uga)): ... to this
25041 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25042 (GRUB_MOD_FINI(efi_uga)): ... to this
25043 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25044 (GRUB_MOD_INIT(efi_gop)): ... to this
25045 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25046 (GRUB_MOD_FINI(efi_gop)): ... to this
25047
c5448046
RM
250482009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25049
25050 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25051 translatable.
25052 (usage): Translate `arg' strings using gettext().
25053 Thanks to Jordi Mallach for the suggestion.
25054
c85184ad
VS
250552009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25056
25057 GOP support. Based on patch from Bean
25058 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25059
25060 * video/efi_gop.c: New file.
25061 * include/grub/efi/graphics_output.h: Likewise.
25062 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25063 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25064 variables.
25065 * conf/x86_64-efi.rmk: Likewise.
25066
8a4c48d8
VS
250672009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25068
25069 Rename efi_fb to efi_uga.
25070
25071 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25072 'efi_uga.mod'.
25073 (efi_fb_mod_SOURCES): Rename this ...
25074 (efi_uga_mod_SOURCES): ... to this.
25075 (efi_fb_mod_CFLAGS): Rename this ...
25076 (efi_uga_mod_CFLAGS): ... to this.
25077 (efi_fb_mod_LDFLAGS): Rename this ...
25078 (efi_uga_mod_LDFLAGS): ... to this.
25079 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25080 'efi_uga.mod'.
25081 (efi_fb_mod_SOURCES): Rename this ...
25082 (efi_uga_mod_SOURCES): ... to this.
25083 (efi_fb_mod_CFLAGS): Rename this ...
25084 (efi_uga_mod_CFLAGS): ... to this.
25085 (efi_fb_mod_LDFLAGS): Rename this ...
25086 (efi_uga_mod_LDFLAGS): ... to this.
25087 * video/efi_fb.c: Move this ...
25088 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25089
fb6c1a7b
RM
250902009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25091
25092 * po/README: New file. Explain our PO file workflow.
25093
3bc7896c
RM
250942009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25095
25096 * po/ChangeLog: Remove. Move relevant entries back to ...
25097 * ChangeLog: ... here.
25098 * po/ca.po: Remove (now handled by TLP).
25099 * po/id.po: Likewise.
25100 * po/zh_CN.po: Likewise.
25101 * Makefile.in (LINGUAS): Initialize in a way that supports
25102 empty set.
25103
9ed4841d
RM
251042009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25105
25106 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25107 reliing on po/LINGUAS.
25108 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25109 (po/%.po): ... this.
25110
0ad46fd7 251112009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
25112
25113 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25114 (main): Use `program_name' instead of nonexistent `progname'.
25115
e30dd392
FZ
251162009-11-26 Felix Zielcke <fzielcke@z-51.de>
25117
25118 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25119 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25120
7656de4f
RM
251212009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25122
25123 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25124 commit.
25125 * conf/i386-efi.rmk: Likewise.
25126 * conf/i386-ieee1275.rmk: Likewise.
25127 * conf/powerpc-ieee1275.rmk: Likewise.
25128 * conf/sparc64-ieee1275.rmk: Likewise.
25129 * conf/x86_64-efi.rmk: Likewise.
25130
db77c4d4
FZ
251312009-11-26 Felix Zielcke <fzielcke@z-51.de>
25132
25133 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25134
a755bb04
FZ
251352009-11-26 Felix Zielcke <fzielcke@z-51.de>
25136
25137 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25138
8a4c07fd
RM
251392009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25140
25141 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25142 (grub_mkdevicemap_SOURCES): New variable.
25143 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25144 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25145 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25146 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25147 (grub_mkdevicemap_SOURCES): Remove.
25148 * conf/i386-efi.rmk: Likewise.
25149 * conf/i386-ieee1275.rmk: Likewise.
25150 * conf/i386-pc.rmk: Likewise.
25151 * conf/powerpc-ieee1275.rmk: Likewise.
25152 * conf/sparc64-ieee1275.rmk: Likewise.
25153 * conf/x86_64-efi.rmk: Likewise.
25154 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25155 (usage): Fix strings to use `program_name'.
25156 (main): Initialize gettext.
25157 * util/grub-editenv.c: Likewise.
25158 * util/grub-emu.c: Likewise.
25159 * util/grub-fstest.c: Likewise.
25160 * util/grub-mkdevicemap.c: Likewise.
25161 * util/grub-mkfont.c: Likewise.
25162 * util/grub-mkrelpath.c: Likewise.
25163 * util/grub-pe2elf.c: Likewise.
25164 * util/grub-probe.c: Likewise.
25165 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25166 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25167 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25168
25169 * util/misc.c: Include `"progname.h"'.
25170 (progname): Remove variable.
25171 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25172
6f61ed55
FZ
251732009-11-25 Felix Zielcke <fzielcke@z-51.de>
25174
25175 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25176 printf and print a newline after the menuentry header line.
25177 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25178
f022876b
FZ
251792009-11-25 Felix Zielcke <fzielcke@z-51.de>
25180
25181 autoconf >= 2.60 support $(localedir).
25182
25183 * INSTALL: Note that autoconf 2.60 is required.
25184 * configure.ac (AC_PREREQ): Bump to 2.60.
25185 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25186 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25187
6717926e
YB
251882009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25189
25190 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25191 aclocal is run.
25192
08806a54
RM
251932009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25194
25195 * normal/main.c (grub_normal_read_line): Fix off-by-one
25196 buffer overflow.
25197
13b33fba
RM
251982009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25199
25200 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25201 "parser.grub" in grub_command_execute() call.
25202
4a8572e9
CPE
252032009-11-24 Carles Pina i Estany <carles@pina.cat>
25204
25205 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25206 * conf/i386-efi.rmk: Likewise.
25207 * conf/i386-ieee1275.rmk: Likewise.
25208 * conf/i386-pc.rmk: Likewise.
25209 * conf/powerpc-ieee1275.rmk: Likewise.
25210 * conf/sparc64-ieee1275.rmk: Likewise.
25211 * conf/x86_64-efi.rmk: Likewise.
25212 * gettext/gettex.c: Include <grub/i18n.h>.
25213 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25214 here ...
25215 * include/grub/i18n.h: ... to here
25216 * include/grub/i18n.h: ... to here.
25217 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 25218 (grub_gettext_dummy): Move above user.
4a8572e9 25219
bee48093
FZ
252202009-11-24 Felix Zielcke <fzielcke@z-51.de>
25221
25222 * util/Makefile.in (install-local): Convert a `for' into a normal
25223 shell expansion.
25224
a031e91c
RM
252252009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25226
25227 * autogen.sh: Add automake call.
25228 * config.guess: Remove.
25229 * config.sub: Likewise.
25230 * install-sh: Likewise.
25231
26bec39d
FZ
252322009-11-24 Felix Zielcke <fzielcke@z-51.de>
25233
25234 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25235
8e2532fd
FZ
252362009-11-24 Felix Zielcke <fzielcke@z-51.de>
25237
25238 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25239 function to a normal shell `for'.
25240
fefa1b7d
FZ
252412009-11-24 Felix Zielcke <fzielcke@z-51.de>
25242
25243 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25244
4501250b
FZ
252452009-11-24 Felix Zielcke <fzielcke@z-51.de>
25246
25247 * util/grub-mkrelpath.c: New file.
25248 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25249 (grub_mkrelpath_SOURCES): New variable.
25250 * include/grub/util/misc.h: New function prototype.
25251 * util/misc.c (make_system_path_relative_to_its_root): New function.
25252
25253 * util/grub-mkconfig_lib.in (bindir): New variable.
25254 (grub_mkrelpath): Likewise.
25255 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25256
25257 * util/probe.c (probe): Make the file path relative to its root.
25258 Change a info message to use the GRUB path. Enable again the
25259 check if we can read the file with GRUB facilities.
25260
25261 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25262 to its root.
25263
11d9778b
FZ
252642009-11-24 Felix Zielcke <fzielcke@z-51.de>
25265
25266 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25267 platform.
25268
4465287d
FZ
252692009-11-24 Felix Zielcke <fzielcke@z-51.de>
25270
25271 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25272 strncmp().
25273
62b47f22
FZ
252742009-11-24 Felix Zielcke <fzielcke@z-51.de>
25275
25276 * util/getroot.c (grub_util_is_dmraid): New function.
25277 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25278 devices as normal ones, not as LVM.
25279
1eafb9b9 252802009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
25281
25282 * conf/common.rmk: Add grub-gettext_lib target and updates
25283 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25284 LDFLAGS.
25285 * gettext/gettext.c: New file. (Reads mo files).
25286 * include/grub/file.h (grub_file_pread): New prototype.
25287 * include/grub/i18n.h (_): New prototype.
25288 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25289 prototypes.
25290 * kern/misc.c (grub_gettext_dummy): New function.
25291 * normal/menu_text.c: Include <grub/i18n.h>.
25292 * normal/menu_text.c (print_timeout): Gettexttize string.
25293 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
25294 * po/POTFILES: Add `normal/menu_text.c'.
25295 * po/ca.po: Add new translations.
c3ea6bd4
CPE
25296 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25297 gettext module and defines locale_dir and lang in grub.cfg.
25298 * NEWS: Add gettext support.
25299
0fdb2568
RM
253002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25301
25302 * util/hostdisk.c: Include `<grub/i18n.h>'.
25303 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25304 (make_device_name): Rewrite using asprintf.
25305 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25306 (find_system_device): If a device is not found, generate one just
25307 by reusing the OS path name.
25308 (read_device_map): Make it permissible for device.map not to exist.
25309
f515aa62
RM
253102009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25311
25312 * script/sh/execute.c: Move from here ...
25313 * script/execute.c: ... to here. Update all users.
25314 * script/sh/function.c: Move from here ...
25315 * script/function.c: ... to here. Update all users.
25316 * script/sh/lexer.c: Move from here ...
25317 * script/lexer.c: ... to here. Update all users.
25318 * script/sh/main.c: Move from here ...
25319 * script/main.c: ... to here. Update all users.
25320 * script/sh/parser.y: Move from here ...
25321 * script/parser.y: ... to here. Update all users.
25322 * script/sh/script.c: Move from here ...
25323 * script/script.c: ... to here. Update all users.
25324
f84b481b
RM
253252009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25326
25327 * configure.ac: Detect all `emu' platforms. Define
25328 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25329 --enable-grub-emu logic. Disable include/grub/machine
25330 symlink on `emu' platforms.
25331
25332 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25333 * gensymlist.sh.in: Likewise.
25334
25335 * include/grub/i386/coreboot/machine.h: Remove file.
25336 * include/grub/i386/efi/machine.h: Likewise.
25337 * include/grub/i386/ieee1275/machine.h: Likewise.
25338 * include/grub/i386/pc/machine.h: Likewise.
25339 * include/grub/i386/qemu/machine.h: Likewise.
25340 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25341 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25342 * include/grub/x86_64/efi/machine.h: Likewise.
25343
25344 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25345 * commands/halt.c: Likewise.
25346 * commands/reboot.c: Likewise.
25347 * include/grub/autoefi.h: Likewise.
25348 * include/grub/i386/at_keyboard.h: Likewise.
25349 * include/grub/i386/kernel.h: Likewise.
25350 * include/grub/i386/loader.h: Likewise.
25351 * include/grub/i386/pc/memory.h: Likewise.
25352 * kern/dl.c: Likewise.
25353 * kern/i386/coreboot/init.c: Likewise.
25354 * loader/i386/bsd.c: Likewise.
25355 * loader/i386/linux.c: Likewise.
25356 * loader/multiboot_loader.c: Likewise.
25357 * term/i386/pc/serial.c: Likewise.
25358 * term/usb_keyboard.c: Likewise.
25359
25360 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25361 `<grub/machine/machine.h>'
25362 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25363 * util/misc.c: Remove `<grub/machine/machine.h>' and
25364 `<grub/machine/time.h>'.
25365
25366 * Makefile.in (enable_grub_emu): Remove variable.
25367 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25368
25369 * conf/any-emu.rmk: New file.
25370 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25371 (grub_emu_init.c): Move from here ...
25372 * conf/any-emu.rmk: ... to here.
25373
25374 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25375 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25376 * conf/any-emu.rmk: ... to here.
25377
4efeab03
RM
253782009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25379
25380 * include/grub/parser.h (grub_parser_register): Document need
25381 of `name' parameter.
25382 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25383 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25384 "sh" to "grub".
25385
ea1dd8bf
RM
253862009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25387
25388 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25389 `$(XGETTEXT)'.
25390 * include/grub/i18n.h (N_): New macro.
25391 * util/mkisofs/mkisofs.h: Likewise.
25392 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25393 around N_().
25394 (usage): Use gettext() to translate help strings when printing them.
25395
0c140626
RM
253962009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25397
25398 Based on patch from Bean
25399 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25400
25401 * video/efi_fb.c: New file.
25402 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25403 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25404 variables.
25405 * conf/x86_64-efi.rmk: Likewise.
25406
87d58298
RM
254072009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25408
25409 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25410 * util/i386/pc/grub-setup.c: Likewise.
25411
994cc3a3
ST
254122009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25413
25414 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25415 <hurd/fs.h>
25416 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25417 file_get_storage_info to implement grub_guess_root_device.
25418
26a61d6a
FZ
254192009-11-21 Felix Zielcke <fzielcke@z-51.de>
25420
25421 * Makefile.in (target): Use make's builtin $(shell) function
25422 instead of calling directly $(SHELL) to create the locale directories,
25423 inside the $(foreach) function.
25424
74ff1dd5
FZ
254252009-11-21 Felix Zielcke <fzielcke@z-51.de>
25426
25427 * util/grub-mkrescue.in: Print an error and usage if output option
25428 has not been given.
25429
0b787d0e
FZ
254302009-11-21 Felix Zielcke <fzielcke@z-51.de>
25431
25432 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25433 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25434 root and /boot are on different devices.
25435
1164b270
RM
254362009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25437
25438 Fix build for srcdir != objdir.
25439
25440 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25441 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25442 $(srcdir).
25443 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25444 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25445 reference for input.
25446
13774a2f
RM
254472009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25448
25449 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25450 or hardlinking it). Remove -J option, Joliet is not compatible with
25451 multiple source directories.
25452
efda854e
RM
254532009-11-21 Carles Pina i Estany <carles@pina.cat>
254542009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25455
25456 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25457 (process_input_dir): New function. Process an arbitrary input
25458 directory.
25459 Misc adjustments to support both "override mode" and system-wide mode.
25460
6c09890c
FZ
254612009-11-20 Felix Zielcke <fzielcke@z-51.de>
25462
25463 * configure.ac (UNIFONT_BDF): Rename to ...
25464 (FONT_SOURCE): ... this. Update all users.
25465
a797824f
FZ
254662009-11-20 Felix Zielcke <fzielcke@z-51.de>
25467
25468 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25469 to the list of unifont files to look for.
25470
cd4f42b0
RM
254712009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25472
25473 Patch from Joe Auricchio <jauricchio@gmail.com>
25474 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25475 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25476 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25477
393c783d
FZ
254782009-11-19 Felix Zielcke <fzielcke@z-51.de>
25479
25480 * Makefile.in (install-local): Add a missing backslash.
25481
b2f1e327
FZ
254822009-11-19 Felix Zielcke <fzielcke@z-51.de>
25483
25484 * include/grub/x86_64/io.h: New file.
25485
f577f7a0
RM
254862009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25487
25488 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25489 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25490 Include `"progname.h"'.
25491 (main): Initialize gettext.
25492 * util/i386/pc/grub-setup.c: Gettexttize.
25493 * util/i386/pc/grub-mkimage.c: Likewise.
25494
25495 * Makefile.in (po/*.po): Redefine as ...
25496 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25497
3bc7896c
RM
25498 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25499
c37943b6
RM
255002009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25501
25502 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25503 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25504 (program_name): Remove.
25505 (main): Initialize gettext support.
6323f705
RM
25506 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25507 Include `<libintl.h>'.
25508 (_): New macro.
c37943b6
RM
25509
25510 * util/mkisofs/eltorito.c: Gettexttize.
25511 * util/mkisofs/joliet.c: Likewise.
25512 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
25513 * util/mkisofs/multi.c: Likewise.
25514 * util/mkisofs/rock.c: Likewise.
25515 * util/mkisofs/tree.c: Likewise.
25516 * util/mkisofs/write.c: Likewise.
25517
3bc7896c
RM
25518 * po/POTFILES: Update with new files.
25519
5ce77c6e
RM
255202009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25521
25522 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
25523 * util/mkisofs/iso9660.h: Likewise.
25524 * util/mkisofs/joliet.c: Likewise.
25525 * util/mkisofs/mkisofs.c: Likewise.
25526 * util/mkisofs/mkisofs.h: Likewise.
25527 * util/mkisofs/rock.c: Likewise.
25528 * util/mkisofs/tree.c: Likewise.
25529 * util/mkisofs/write.c: Likewise.
25530
25531 * util/mkisofs/eltorito.c (rcsid): Remove.
25532 * util/mkisofs/hash.c: Likewise.
25533 * util/mkisofs/joliet.c: Likewise.
25534 * util/mkisofs/name.c: Likewise.
25535 * util/mkisofs/rock.c: Likewise.
25536 * util/mkisofs/tree.c: Likewise.
25537 * util/mkisofs/write.c: Likewise.
25538
1dabbc77
RM
255392009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25540
25541 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
25542 instead of static allocation.
25543 * util/mkisofs/match.h: Likewise.
25544
633877cb
RM
255452009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25546
3bc7896c
RM
25547 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
25548 and `util/grub.d/10_linux.in'.
633877cb
RM
25549 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
25550 translatable Shell files.
25551
af1c0c85
RM
255522009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25553
25554 * Makefile.in ($(srcdir)/aclocal.m4): New target.
25555
769ae37b
RM
255562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25557
25558 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 25559 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
25560 * util/grub.d/10_kfreebsd.in (bindir): New variable.
25561 Add gettext initialization.
25562 (kfreebsd_entry): Make menuentry output translatable.
25563
255642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25565
25566 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
25567 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
25568 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
25569 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
25570 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 25571 * po/LINGUAS: New file.
769ae37b
RM
25572
255732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25574
25575 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
25576 other things).
25577 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
25578 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
25579 bindtextdomain() calls for gettext initialization.
25580
255812009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25582
25583 * gnulib/progname.c: New file (imported from Gnulib).
25584 * gnulib/progname.h: Likewise.
25585 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25586 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
25587 (usage): Replace `progname' with `program_name'.
25588 (main): Use set_program_name() for program name initialization.
25589
255902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25591
25592 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
25593 from here ...
25594 * Makefile.in (CPPFLAGS): ... to here.
25595
255962009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25597
25598 * aclocal.m4: Move from here ...
25599 * acinclude.m4: ... to here.
25600 * autogen.sh: Add call to `aclocal'.
25601 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
25602
256032009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25604
25605 * Makefile.in (CLEANFILES): Add `po/*.mo'.
25606 (LINGUAS): New variable.
25607 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
25608 (install-local): Install MO files.
25609 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
25610 * include/grub/i18n.h: New file.
3bc7896c
RM
25611 * po/POTFILES: New file.
25612 * po/ca.po: New file.
769ae37b
RM
25613 * util/grub.d/10_linux.in (bindir): New variable.
25614 Add gettext initialization.
25615 (linux_entry): Make menuentry output translatable.
25616 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
25617 (usage): Make --help output translatable.
25618 (main): Initialize gettext.
25619
02c0a6ad
RM
256202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25621
25622 * import_gcry.py: New file (written by Vladimir with minor
25623 adjustments).
25624 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
25625 ciphers.
25626 * INSTALL: Document that Python is required for bootstrap.
25627
256282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25629
25630 Import ciphers from libgcrypt 1.4.4.
25631
25632 * lib/libgcrypt/cipher/ChangeLog
25633 * lib/libgcrypt/cipher/ac.c
25634 * lib/libgcrypt/cipher/arcfour.c
25635 * lib/libgcrypt/cipher/bithelp.h
25636 * lib/libgcrypt/cipher/blowfish.c
25637 * lib/libgcrypt/cipher/camellia-glue.c
25638 * lib/libgcrypt/cipher/camellia.c
25639 * lib/libgcrypt/cipher/camellia.h
25640 * lib/libgcrypt/cipher/cast5.c
25641 * lib/libgcrypt/cipher/cipher.c
25642 * lib/libgcrypt/cipher/crc.c
25643 * lib/libgcrypt/cipher/des.c
25644 * lib/libgcrypt/cipher/dsa.c
25645 * lib/libgcrypt/cipher/ecc.c
25646 * lib/libgcrypt/cipher/elgamal.c
25647 * lib/libgcrypt/cipher/hash-common.c
25648 * lib/libgcrypt/cipher/hash-common.h
25649 * lib/libgcrypt/cipher/hmac-tests.c
25650 * lib/libgcrypt/cipher/md.c
25651 * lib/libgcrypt/cipher/md4.c
25652 * lib/libgcrypt/cipher/md5.c
25653 * lib/libgcrypt/cipher/primegen.c
25654 * lib/libgcrypt/cipher/pubkey.c
25655 * lib/libgcrypt/cipher/rfc2268.c
25656 * lib/libgcrypt/cipher/rijndael-tables.h
25657 * lib/libgcrypt/cipher/rijndael.c
25658 * lib/libgcrypt/cipher/rmd.h
25659 * lib/libgcrypt/cipher/rmd160.c
25660 * lib/libgcrypt/cipher/rsa.c
25661 * lib/libgcrypt/cipher/seed.c
25662 * lib/libgcrypt/cipher/serpent.c
25663 * lib/libgcrypt/cipher/sha1.c
25664 * lib/libgcrypt/cipher/sha256.c
25665 * lib/libgcrypt/cipher/sha512.c
25666 * lib/libgcrypt/cipher/tiger.c
25667 * lib/libgcrypt/cipher/twofish.c
25668 * lib/libgcrypt/cipher/whirlpool.c
25669
af2f93ac
RM
256702009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25671
25672 Fix build for systems without error().
25673
25674 * gnulib/error.c: New file (imported from Gnulib).
25675 * gnulib/error.h: Likewise.
25676 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
25677 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
25678 (this variable is now used by error()).
25679
73fb3dd5
FZ
256802009-11-16 Felix Zielcke <fzielcke@z-51.de>
25681
814f5e96
FZ
25682 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
25683 instead of relying that char is signed.
73fb3dd5 25684
a691ca33
VS
256852009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
25686
25687 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
25688 blocksize different from specified.
25689 (grub_pxefs_read): Likewise.
25690
2af8f0f4
FZ
256912009-11-16 Felix Zielcke <fzielcke@z-51.de>
25692
25693 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
25694
25695 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
25696 (grub_ata_readwrite): Likewise. Update 2 format strings.
25697 (grub_atapi_read): Likewise.
25698
25699 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
25700 * conf/i386.rmk (pkglib_MODULES): ... to here ...
25701 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
25702 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
25703 (ata_mod_LDFLAGS): Move from here ...
25704 * conf/i386.rmk: ... to here ...
25705 * conf/x86_64-efi.rmk: ... and here.
25706 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
25707 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
25708
83bdecaf
RM
257092009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25710
25711 Relicense multiboot.h, with RMS' blessing.
25712
25713 * include/multiboot.h: Change to X11 license.
25714
fd6fd3d7
RM
257152009-11-15 Robert Millan <rmh.grub@aybabtu.com>
25716
25717 Support --version in grub-mkisofs.
25718
25719 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
25720 (OPTION_VERSION): New macro.
25721 (ld_options): Recognize --version.
25722 (usage): Move `program_name' from here ...
25723 (program_name): ... to here. Add `static' qualifier.
25724 (main): Recognize `OPTION_VERSION'.
25725
16a88c49
FZ
257262009-11-15 Felix Zielcke <fzielcke@z-51.de>
25727
25728 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
25729 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
25730
a4158476
RM
257312009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25732
25733 Fix help2man generation for mkisofs.
25734
25735 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
25736 (usage): Send output to stdout (rather than stderr).
25737
fc2208b0
RM
257382009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25739
25740 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
25741 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25742 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
25743 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25744 (bin_SCRIPTS): Add `grub-mkfloppy'.
25745 (grub_mkfloppy_SOURCES): New variable.
25746
25747 * util/grub-mkrescue.in: New file.
25748 * util/i386/pc/grub-mkfloppy.in: New file.
25749
25750 * util/i386/coreboot/grub-mkrescue.in: Remove.
25751 * util/i386/pc/grub-mkrescue.in: Remove.
25752
8d0edf4a
RM
257532009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25754
25755 * include/grub/multiboot.h (struct grub_multiboot_header): Move
25756 from here ...
25757 * include/multiboot.h (struct multiboot_header): ... to here. Update
25758 all users.
25759 * include/grub/multiboot.h (struct grub_multiboot_info): Move
25760 from here ...
25761 * include/multiboot.h (struct multiboot_info): ... to here. Update
25762 all users.
25763 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
25764 from here ...
25765 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
25766 Update all users.
25767 * include/grub/multiboot.h (struct grub_mod_list): Move
25768 from here ...
25769 * include/multiboot.h (struct multiboot_mod_list): ... to here.
25770 Update all users.
25771
a73f5969
RM
257722009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25773
25774 * include/multiboot2.h (multiboot_word): Rename from this ...
25775 (multiboot2_word): ... to this. Update all users.
25776 (multiboot_header): Rename from this ...
25777 (multiboot2_header): ... to this. Update all users.
25778 (multiboot_tag_header): Rename from this ...
25779 (multiboot2_tag_header): ... to this. Update all users.
25780 (multiboot_tag_start): Rename from this ...
25781 (multiboot2_tag_start): ... to this. Update all users.
25782 (multiboot_tag_name): Rename from this ...
25783 (multiboot2_tag_name): ... to this. Update all users.
25784 (multiboot_tag_module): Rename from this ...
25785 (multiboot2_tag_module): ... to this. Update all users.
25786 (multiboot_tag_memory): Rename from this ...
25787 (multiboot2_tag_memory): ... to this. Update all users.
25788 (multiboot_tag_unused): Rename from this ...
25789 (multiboot2_tag_unused): ... to this. Update all users.
25790 (multiboot_tag_end): Rename from this ...
25791 (multiboot2_tag_end): ... to this. Update all users.
25792
1c8927f0
RM
257932009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25794
25795 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
25796 this platform we should support Multiboot1 first.
25797
25798 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25799 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
25800 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
25801
6e1e0d89
RM
258022009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25803
25804 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
25805 of write calls (converting them to fwrite() if they aren't already).
25806 (get_torito_desc): Likewise.
25807 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
25808
7f2b34d8
RM
258092009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25810
25811 * util/i386/pc/grub-install.in: Move from here ...
25812 * util/grub-install.in: ... to here. Update all users.
25813
c0ef3311
CW
258142009-11-11 Colin Watson <cjwatson@ubuntu.com>
25815
25816 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
25817
e1f240ff
RM
258182009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25819
25820 Support for El Torito without floppy emulation.
25821
25822 * util/mkisofs/eltorito.c: Include `<errno.h>'.
25823 (init_boot_catalog): Improve error handling.
25824 (get_torito_desc): Don't use floppy emulation unless requested by
25825 user. Patch boot information table when requested via
25826 `-boot-info-table'.
25827 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
25828 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
25829 (use_boot_info_table): New variables.
25830 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
25831 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
25832 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
25833 `--eltorito-emul-floppy'.
25834 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
25835 and `OPTION_ELTORITO_EMUL_FLOPPY'.
25836 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
25837 (use_boot_info_table, get_731): New prototypes.
25838 * util/mkisofs/write.c (get_731): New function.
25839
af7d4de5
FZ
258402009-11-11 Felix Zielcke <fzielcke@z-51.de>
25841
25842 Fix the generation of the man page.
25843
25844 * util/pc/i386/grub-install.in: Source
25845 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25846
2c55dbc0
RM
258472009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25848
25849 Large file support for grub-mkisofs.
25850
25851 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
25852 * util/mkisofs/mkisofs.c (next_extent, last_extent)
25853 (session_start): Upgrade type to `uint64_t'. Update all users.
25854 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
25855 (struct directory_entry): Upgrade type of `starting_block' and
25856 `size' to `uint64_t'. Update all users.
25857 (struct deferred): Remove unused structure.
25858 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
25859 Update all users.
25860 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
25861 file is larger than `UINT32_MAX'.
25862 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
25863 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
25864 return value.
25865 (struct deferred_write): Upgrade type of `extent' and `size' to
25866 `uint64_t'. Update all users.
25867 (last_extent_written): Upgrade type to `uint64_t'. Update all
25868 users.
25869 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
25870 Update all users. Upgrade type of `remain' to `int64_t' and
25871 `use' to `size_t'. Use error() to handle fread() errors.
25872 (write_files): Rely on write_one_file() rather than calling
25873 xfwrite() directly.
25874
6a9cead5
FZ
258752009-11-09 Felix Zielcke <fzielcke@z-51.de>
25876
25877 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
25878
4825d790
RM
258792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25880
25881 * util/mkisofs/fnmatch.c: Remove.
25882 * util/mkisofs/getopt1.c: Likewise.
25883 * util/mkisofs/getopt.c: Likewise.
25884 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
25885 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
25886 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
25887 `gnulib/getopt1.c' and `gnulib/getopt.c'.
25888 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
25889
25890 * configure.ac: Detect `mingw32msvc' host_os.
25891 Check for lstat(), getuid() and getgid().
25892
25893 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
25894 instances of `u_char' with `uint8_t'.
25895
25896 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
25897 [!HAVE_GETUID] (getuid): New function (stub).
25898 [!HAVE_GETGID] (getgid): Likewise.
25899 [!HAVE_LSTAT] (lstat): Likewise.
25900 [!S_IROTH] (S_IROTH): New macro (dummy).
25901 [!S_IRGRP] (S_IRGRP): Likewise.
25902
84b860d8
RM
259032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25904
25905 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
25906 conditional expression).
25907
66e9b712
RM
259082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25909
25910 Import from Gnulib.
25911
25912 * gnulib/fnmatch.c: New file.
25913 * gnulib/fnmatch.h: Likewise.
25914 * gnulib/fnmatch_loop.c: Likewise.
25915 * gnulib/getopt.c: Likewise.
25916 * gnulib/getopt.h: Likewise.
25917 * gnulib/getopt1.c: Likewise.
25918 * gnulib/getopt_int.h: Likewise.
25919 * gnulib/gettext.h: Likewise.
25920
34f4a5b0
RM
259212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25922
25923 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
25924 * normal/handler.c (read_handler_list): Likewise.
25925
ac451143
RM
259262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25927
25928 Misc cleanup.
25929
25930 * kern/command.c (grub_register_command_prio): Use
25931 grub_zalloc() instead of explicitly zeroing data.
25932 * kern/list.c: Include `<grub/mm.h>'.
25933 (grub_named_list_find): Replace `0' with `NULL'.
25934 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
25935 (fs_module_list): Change type to `grub_named_list_t'. Update all
25936 users.
25937 * normal/dyncmd.c (read_command_list): Add space between function
25938 call and parenthesis.
25939 * normal/handler.c (read_handler_list): Likewise.
25940
4089b167
RM
259412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25942
25943 * normal/auth.c (punishment_delay): Moved from here ...
25944 (grub_auth_strcmp): ... to here (inside function).
25945
325f5037
RM
259462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25947
25948 * include/grub/list.h (struct grub_named_list): Remove `const'
25949 qualifier from `name'.
25950 (struct grub_prio_list): Likewise.
25951
7aea29a3
RM
259522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25953
25954 * normal/auth.c: Include `<grub/time.h>'.
25955 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
25956
3fd6f044
RM
259572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25958
25959 * normal/auth.c (punishment_delay): New variable.
25960 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
25961 (grub_auth_check_authentication): Punish failed login attempts with
25962 an incremental (2^N) delay.
25963
a4cd68e4
RM
259642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25965
25966 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
25967 path with $(srcdir).
25968
7ad12f43
VS
259692009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25970
25971 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
25972
c1129f03
RM
259732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25974
25975 * util/i386/coreboot/grub-mkrescue.in: New file.
25976 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
25977 variables.
25978
25979 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
25980 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
25981 * configure.ac: Add header and function checks to satisfy grub-mkisofs
25982 requirements.
25983 * util/mkisofs/defaults.h: New file.
25984 * util/mkisofs/eltorito.c: Likewise.
25985 * util/mkisofs/exclude.h: Likewise.
25986 * util/mkisofs/fnmatch.c: Likewise.
25987 * util/mkisofs/getopt.c: Likewise.
25988 * util/mkisofs/getopt1.c: Likewise.
25989 * util/mkisofs/hash.c: Likewise.
25990 * util/mkisofs/include/fctldefs.h: Likewise.
25991 * util/mkisofs/include/mconfig.h: Likewise.
25992 * util/mkisofs/include/prototyp.h: Likewise.
25993 * util/mkisofs/include/statdefs.h: Likewise.
25994 * util/mkisofs/iso9660.h: Likewise.
25995 * util/mkisofs/joliet.c: Likewise.
25996 * util/mkisofs/match.c: Likewise.
25997 * util/mkisofs/match.h: Likewise.
25998 * util/mkisofs/mkisofs.c: Likewise.
25999 * util/mkisofs/mkisofs.h: Likewise.
26000 * util/mkisofs/multi.c: Likewise.
26001 * util/mkisofs/name.c: Likewise.
26002 * util/mkisofs/rock.c: Likewise.
26003 * util/mkisofs/tree.c: Likewise.
26004 * util/mkisofs/write.c: Likewise.
26005
ec8bb77d
VS
260062009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26007
26008 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26009 being insecure.
26010
3716b12c
RM
260112009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26012
26013 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26014 `grub-mkimage' (and use $0 when possible).
26015
b97b7b91
RM
260162009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26017
26018 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26019 error message for excessively large memory map.
26020
04114812
RM
260212009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26022
26023 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26024 executable bit.
26025
e4eb2373
RM
260262009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26027
26028 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26029 message for coreboot users.
26030
c926e1d5 260312009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26032
26033 Fix build with GNU gold.
26034
26035 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26036 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26037 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26038 link addresses.
26039 * aclocal.m4: Likewise.
26040
86e5b1db 260412009-11-04 Felix Zielcke <fzielcke@z-51.de>
26042
26043 * configure.ac (AC_PREREQ): Bump to 2.59d.
26044 * INSTALL: Make it more clear when Autoconf and Ruby are
26045 needed and when to run `./autogen.sh'.
26046
246cd78f 260472009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26048
26049 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26050 OSes.
26051
4f9dfb37 260522009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26053
26054 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26055
b82bd5e1 260562009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26057
26058 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26059 giving it to GNU Mach.
26060
ff1a9bca 260612009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26062
26063 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26064 GNU partition number to get internal GRUB partition number.
26065
61697d9c 260662009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26067
26068 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26069 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26070
a50569e1 260712009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26072
26073 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26074 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26075 case.
26076
5b153867 260772009-11-01 Felix Zielcke <fzielcke@z-51.de>
26078
26079 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26080
d9e2cd70 260812009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26082
26083 Fix build problem.
26084
26085 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26086 `-isystem=$(srcdir)/include'.
26087
805111a4 260882009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26089
26090 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26091 checked (grub-install doesn't currently rely on it).
26092
fa6e945f 260932009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26094
26095 Revert SVN r2660.
26096
26097 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26098 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26099 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26100 * conf/i386-ieee1275.rmk: Likewise.
26101 * conf/i386-pc.rmk: Likewise.
26102 * conf/powerpc-ieee1275.rmk: Likewise.
26103 * conf/sparc64-ieee1275.rmk: Likewise.
26104 * conf/x86_64-efi.rmk: Likewise.
26105
cee15086 261062009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26107
26108 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26109
95b9239e 261102009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26111
26112 * include/grub/misc.h: Stop checking for APPLE_CC.
26113
2ed19dfd 261142009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26115
26116 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26117 doesn't cause an infinite call loop.
26118
fdcdde19 261192009-10-28 Felix Zielcke <fzielcke@z-51.de>
26120
26121 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26122 strings.
26123
cefabfe1 261242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26125
26126 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26127 variable.
26128 * Makefile.in: Likewise.
26129
ed96ab6d 261302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26131
26132 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26133
0579b753 261342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26135
26136 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26137
478df409 261382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26139
26140 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26141
083d1679 261422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26143
26144 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26145 from here ...
26146 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26147
5947ae32 261482009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26149
26150 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26151 in $(MAKEINFO) invocation. This makes it clear in output that
26152 errors are being ignored.
26153
94180ff6 261542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26155
26156 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26157 from here ...
26158 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26159 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26160 * conf/i386-ieee1275.rmk: Likewise.
26161 * conf/i386-pc.rmk: Likewise.
26162 * conf/powerpc-ieee1275.rmk: Likewise.
26163 * conf/sparc64-ieee1275.rmk: Likewise.
26164 * conf/x86_64-efi.rmk: Likewise.
26165
9031b03a 261662009-10-26 Colin Watson <cjwatson@ubuntu.com>
26167
26168 * util/grub-editenv.c (main): If only a command is given, use
26169 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26170 (usage): FILENAME is now optional and has a default.
26171
e4f6809b 261722009-10-26 Colin Watson <cjwatson@ubuntu.com>
26173
26174 Improve grub-mkconfig performance when there are several menu
26175 entries on a single filesystem.
26176
26177 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26178 prepare_grub_to_access_device.
26179 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26180 * util/grub.d/30_os-prober.in: Likewise.
26181
67937d4d 261822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26183
26184 * util/grub.d/10_freebsd.in: Remove.
26185 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26186 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26187
ee3756cc 261882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26189
5c35048e 26190 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 26191
4dea1c6f 261922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26193
26194 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26195 grub_util_error() call.
26196
042484d7 261972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26198
26199 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26200 `reserved_first_sector' member.
26201 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26202 `reserved_first_sector' to 1.
26203 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26204 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26205 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26206 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26207 filesystems which begin at first sector.
26208 (options): New option --skip-fs-probe.
26209 (main): Handle --skip-fs-probe and pass it to setup().
26210
d64448a7 262112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26212
26213 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26214 (memset): Fix function prototype.
26215
508d42ec 262162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
262172009-10-25 Vasily Averin <vvs@parallels.com>
26218
26219 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26220 `dirent.direntlen == 0'.
26221
b240e30c 262222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26223
26224 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26225 `cpio'.
26226 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26227
346e7fbe 262282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26229
26230 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26231 `__trampoline_setup' and `__ucmpdi2'.
26232 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26233 that libgcc provides.
26234
cdb308b0 262352009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26236
26237 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26238 * include/grub/sparc64/libgcc.h (memset): Likewise.
26239 * include/grub/misc.h (memset, memcmp): New function prototypes.
26240
fb26abc2 262412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26242
26243 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26244 `cpio'.
26245 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26246
f6693890 262472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26248
26249 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26250 * docs/grub.cfg: Compensate for recent change in multiboot
26251 loader (since 2009-08-14 it won't pass filename to payload).
26252 * util/grub.d/10_hurd.in: Likewise.
26253
0933cdc0 262542009-10-21 Felix Zielcke <fzielcke@z-51.de>
26255
26256 * config.guess: Update to latest version from config git
26257 repository.
26258 * config.sub: Likewise.
26259
3b2fe8c2 262602009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26261
26262 Fix build on sparc64.
26263
26264 * configure.ac: Perform checks for libgcc symbols before
26265 adding `-nostdlib' to LDFLAGS.
26266
46695a62 262672009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26268
26269 Let user specify OpenBSD root device.
26270
26271 * loader/i386/bsd.c (openbsd_root): New variable.
26272 (openbsd_opts): New option 'root'.
26273 (OPENBSD_ROOT_ARG): New macro.
26274 (grub_openbsd_boot): Use 'openbsd_root'.
26275 (grub_cmd_openbsd): Fill 'openbsd_root'.
26276
d2b6b7fc 262772009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26278
26279 * NEWS: Misc adjustments.
26280
421bd7ac 262812009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26282
26283 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26284
f1d29d87 262852009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26286
26287 * configure.ac: Bump version to 1.97.
26288
6f3cd880 262892009-10-16 Colin Watson <cjwatson@ubuntu.com>
26290
26291 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26292 -mno-3dnow on x86 architectures. Some toolchains enable these
26293 features by default, but they rely on registers that aren't enabled
26294 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26295
035f7122 262962009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26297
26298 Make entry text a bit more readable.
26299
26300 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26301
44998e58 263022009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26303
26304 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26305
cd2851b3 263062009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26307
26308 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26309 operations.
26310
c6f3b249 263112009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26312
26313 * configure.ac: Add missing dollar.
26314
6b5886ba 263152009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26316
26317 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26318
26319 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26320 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26321 exports.
26322 * include/grub/sparc64/libgcc.h: Likewise. Use
26323 preprocessor conditionals.
26324
e9d66f6d 263252009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26326
26327 * conf/common.rmk (grub-dumpbios): Remove rule.
26328 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26329 * util/grub-dumpbios.in: Remove file.
26330
9155bc17 263312009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26332
26333 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26334 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26335
26336 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26337 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26338 users.
26339
26340 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26341 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26342 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26343 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26344 users.
26345
bf7f7a18 263462009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26347
26348 * term/tparm.c: Switch to GPLv3.
26349
86564c26 263502009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26351
26352 * include/grub/i386/cpuid.h: Add header protection.
26353
5c936493 263542009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26355
26356 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26357
26358 * include/grub/i386/cpuid.h: New file.
26359 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26360 (has_longmode): Rename to ...
26361 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26362 `static' attribute.
26363 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26364 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26365 on a CPU that doesn't implement AMD64 instruction set.
26366
186e7cf2 263672009-10-06 Colin Watson <cjwatson@ubuntu.com>
26368
26369 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26370 that version.texi is rebuilt on version number changes.
26371
83b65c4a 263722009-10-06 Colin Watson <cjwatson@ubuntu.com>
26373
26374 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26375 Fixes bug #27602.
26376
d244281c 263772009-10-06 Colin Watson <cjwatson@ubuntu.com>
26378
26379 * util/i386/pc/grub-install.in: Source
26380 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26381 that the --grub-probe option will work.
26382 * util/sparc64/ieee1275/grub-install.in: Likewise.
26383
da25306d 263842009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26385
26386 * configure.ac: Bump version to 1.97~beta4.
26387
e8ee83c0 263882009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26389
26390 Resync grub-mkdevicemap in x86_64-efi.
26391
26392 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26393 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26394 `util/devicemap.c'.
26395
50dcabcf 263962009-10-01 Colin Watson <cjwatson@ubuntu.com>
26397
26398 * util/grub-editenv.c (create_envblk_file): Write new block with a
26399 .new suffix and then rename it into place, to ensure atomic
26400 creation.
26401
0e51c3a7 264022009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26403
26404 Do not automatically install headers.
26405
26406 * Makefile.in (include_DATA): Remove. Update all users.
26407
31299a95 264082009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26409
26410 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26411 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26412
26413 * util/osdetect.lua: Remove.
26414 * script/lua/lauxlib.c: Likewise.
26415 * script/lua/ldebug.c: Likewise.
26416 * script/lua/grub_main.c: Likewise.
26417 * script/lua/lauxlib.h: Likewise.
26418 * script/lua/ldebug.h: Likewise.
26419 * script/lua/ltablib.c: Likewise.
26420 * script/lua/liolib.c: Likewise.
26421 * script/lua/lstrlib.c: Likewise.
26422 * script/lua/lualib.h: Likewise.
26423 * script/lua/ldo.c: Likewise.
26424 * script/lua/ldump.c: Likewise.
26425 * script/lua/ldo.h: Likewise.
26426 * script/lua/loslib.c: Likewise.
26427 * script/lua/lundump.c: Likewise.
26428 * script/lua/grub_lib.c: Likewise.
26429 * script/lua/ldblib.c: Likewise.
26430 * script/lua/lundump.h: Likewise.
26431 * script/lua/lmem.c: Likewise.
26432 * script/lua/grub_lib.h: Likewise.
26433 * script/lua/lmathlib.c: Likewise.
26434 * script/lua/lstate.c: Likewise.
26435 * script/lua/ltm.c: Likewise.
26436 * script/lua/lvm.c: Likewise.
26437 * script/lua/lmem.h: Likewise.
26438 * script/lua/lstate.h: Likewise.
26439 * script/lua/ltm.h: Likewise.
26440 * script/lua/ltable.c: Likewise.
26441 * script/lua/lvm.h: Likewise.
26442 * script/lua/llex.c: Likewise.
26443 * script/lua/lgc.c: Likewise.
26444 * script/lua/grub_lua.h: Likewise.
26445 * script/lua/loadlib.c: Likewise.
26446 * script/lua/lfunc.c: Likewise.
26447 * script/lua/lopcodes.c: Likewise.
26448 * script/lua/lparser.c: Likewise.
26449 * script/lua/ltable.h: Likewise.
26450 * script/lua/llex.h: Likewise.
26451 * script/lua/lgc.h: Likewise.
26452 * script/lua/lfunc.h: Likewise.
26453 * script/lua/lbaselib.c: Likewise.
26454 * script/lua/lopcodes.h: Likewise.
26455 * script/lua/lparser.h: Likewise.
26456 * script/lua/lzio.c: Likewise.
26457 * script/lua/linit.c: Likewise.
26458 * script/lua/lobject.c: Likewise.
26459 * script/lua/llimits.h: Likewise.
26460 * script/lua/lstring.c: Likewise.
26461 * script/lua/lzio.h: Likewise.
26462 * script/lua/lapi.c: Likewise.
26463 * script/lua/lcode.c: Likewise.
26464 * script/lua/lua.h: Likewise.
26465 * script/lua/lobject.h: Likewise.
26466 * script/lua/lstring.h: Likewise.
26467 * script/lua/lapi.h: Likewise.
26468 * script/lua/lcode.h: Likewise.
26469 * script/lua/luaconf.h: Likewise.
26470
cb8a2c38 264712009-09-26 Colin Watson <cjwatson@ubuntu.com>
26472
26473 * docs/grub.texi (Command-line and menu entry commands): Document
26474 date and echo commands.
26475
6b9b6276 264762009-09-24 Pavel Roskin <proski@gnu.org>
26477
26478 * include/grub/kernel.h (struct grub_module_header): Remove
26479 `grub_module_header_types'. Make `type' unsigned. Make `size'
26480 32-bit on all platforms.
26481 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26482 8-bit field. Use grub_host_to_target32() for `size'.
26483 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26484 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26485 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26486
4e5a02a7 264872009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26488
26489 Fix "lost keypress" bug in at_keyboard.
26490
26491 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26492 Checks for readyness of input buffer (without flushing it).
26493 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26494 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26495
c6dcedf6 264962009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26497
26498 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26499 size check within GRUB_MACHINE_PCBIOS section.
26500
74c958b1 265012009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26502
26503 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26504 return value.
26505 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26506 KEYBOARD_ISREADY check.
26507 (grub_at_keyboard_checkkey): Rename to ...
26508 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26509 Remove gratuitous cast.
26510
ff420223 265112009-09-23 Colin Watson <cjwatson@ubuntu.com>
26512
26513 * configure.ac: Call AC_PROG_MKDIR_P.
26514 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26515 version.texi in $(builddir) rather than $(srcdir).
26516 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26517 to makeinfo's @include search path.
26518
d96875df 265192009-09-23 Felix Zielcke <fzielcke@z-51.de>
26520
26521 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
26522
9b3f8365 265232009-09-23 Felix Zielcke <fzielcke@z-51.de>
26524
26525 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
26526 for `*.dpkg-new'.
26527
c44c90db 265282009-09-21 Colin Watson <cjwatson@ubuntu.com>
26529
26530 Build info documentation. Some code borrowed from Automake.
26531
26532 * configure.ac: Check for makeinfo.
26533 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
26534 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
26535 docs/version.texi.
26536 (MOSTLYCLEANFILES): Add vti.tmp.
26537 (docs/version.texi, docs/stamp-vti): Update automatically.
26538 (docs/grub.info): Build info documentation. Use --force and ignore
26539 errors for now.
26540 (all-local): Add $(INFOS).
26541 (install-local): Install info files.
26542 (uninstall): Uninstall info files.
26543 * docs/version.texi: Remove from revision control. This file is
26544 automatically generated on build now.
26545 * gendistlist.sh: Add `*.info'.
26546
e0b37bb5 265472009-09-21 Felix Zielcke <fzielcke@z-51.de>
26548
26549 * kern/term.c: Fix indentation.
26550
5a78865b 265512009-09-21 Felix Zielcke <fzielcke@z-51.de>
26552
26553 * util/hostdisk.c: Fix a comment.
26554
dace7e8a 265552009-09-20 Robert Millan <rmh.grub@aybabtu.com>
26556
26557 Fix regression introduced in r2539.
26558
26559 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
26560 to 0xA1.
26561
a83d079b 265622009-09-19 Colin Watson <cjwatson@ubuntu.com>
26563
26564 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 26565 os-prober. Under normal operation, it does not print anything to
26566 stderr; if it does, we need to debug it, and throwing away stderr
26567 makes that excessively difficult.
a83d079b 26568
be94a509 265692009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
26570
26571 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
26572
63f745e8 265732009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26574
26575 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
26576 AC_LANG_PROGRAM from autoconf.
26577 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
26578 prototypes (fixes warning).
26579
26580 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
26581 `--disable-werror' was used.
26582
bbb2a70f 265832009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26584
26585 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
26586 uninitialized `lastaddr'.
26587
77c24f1d 265882009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
26589
0f0b8c87 26590 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 26591
07197f23 265922009-09-14 Colin Watson <cjwatson@ubuntu.com>
26593
26594 * commands/test.c (get_fileinfo): Return immediately if
26595 grub_fs_probe fails.
26596
dabf1798 265972009-09-14 José Martínez <xosemp@gmail.com>
26598
26599 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
26600
d52109a7 266012009-09-14 Colin Watson <cjwatson@ubuntu.com>
26602
26603 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
26604 output.
26605
56532179 266062009-09-13 Robert Millan <rmh.grub@aybabtu.com>
26607
26608 * configure.ac: Remove --enable-grub-pe2elf. Only build
26609 grub-pe2elf when needed by the build system itself.
26610 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
26611
8ef070f5 266122009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26613
26614 * configure.ac: Bump version to 1.97~beta3.
26615 * docs/version.texi: Likewise.
26616
61229557 266172009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26618
26619 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
26620 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
26621 from here ...
26622 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
26623 (grub_linux_setup_video): ... to here (with some adjustments).
26624
5c9f8d84 266252009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26626
26627 Fix memory corruption issue (spotted by Colin Watson).
26628
26629 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
26630 causing returned size to be stored in an incorrect memory location.
26631 Fix use of uninitialized value when storing the returned size.
26632
e8f5d6e9 266332009-09-12 Yves Blusseau <blusseau@zetam.org>
26634
26635 Change clean rules to properly remove files
26636
26637 * genmk.rb: add new clean rules
26638 * Makefile.in (clean): add the new targets
26639 (mostlyclean): likewise
26640
cda2a409 266412009-09-11 Colin Watson <cjwatson@ubuntu.com>
26642
26643 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
26644 to grub_uint64_t.
26645 * fs/ntfs.c (init_file): Understand 64-bit sizes for
26646 non-resident files.
26647
86695375 266482009-09-11 Colin Watson <cjwatson@ubuntu.com>
26649
26650 * configure.ac: Don't look for help2man when cross-compiling. Fixes
26651 part of bug #27349.
26652
8aa1541a 266532009-09-10 Felix Zielcke <fzielcke@z-51.de>
26654
26655 * util/grub-mkconfig.in: Make the created config mode 400 and
26656 print a warning if it fails.
26657
48d9bb0a 266582009-09-10 Robert Millan <rmh.grub@aybabtu.com>
26659
26660 * util/grub.d/40_custom.in: Ask user to type custom entries below
26661 comment, rather than below 'exec tail' line.
26662
3b0521be 266632009-09-10 Colin Watson <cjwatson@ubuntu.com>
26664
26665 * util/grub.d/40_custom.in: Make sure that the explanatory text is
26666 visible in grub.cfg.
26667
50051d55 266682009-09-10 Colin Watson <cjwatson@ubuntu.com>
26669
26670 * util/grub.d/40_custom.in: Make it a little clearer how to use this
26671 file.
26672
c0d34387 266732009-09-10 Felix Zielcke <fzielcke@z-51.de>
26674
26675 * docs/grub.cfg: Add an example menu entry for memtest86+.
26676
80a608f3 266772009-09-09 Felix Zielcke <fzielcke@z-51.de>
26678
a2094832 26679 * config.guess: Update to latest version from config git.
80a608f3 26680 * config.sub: Likewise.
26681
99423078 266822009-09-08 Colin Watson <cjwatson@ubuntu.com>
26683
26684 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
26685 unknown-command case. Fixes bug #27320.
26686
44454e4c 266872009-09-08 Felix Zielcke <fzielcke@z-51.de>
26688
26689 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
26690 `help' if the command exists.
26691
e30d87ad 266922009-09-06 Robert Millan <rmh.grub@aybabtu.com>
26693
26694 * INSTALL: Require GCC 4.1.3 or later.
26695
9a86f1ec 266962009-09-06 Yves Blusseau <blusseau@zetam.org>
26697
26698 * Makefile.in (RMKFILES): add i386-qemu.rmk
26699 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
26700 $(srcdir)/stamp-h.in
26701
7f26d466 267022009-09-05 Robert Millan <rmh.grub@aybabtu.com>
26703
26704 * util/grub-probe.c (probe): Comment out buggy codepath, which
26705 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
26706 should be re-enabled after 1.97.
26707
3a613259 267082009-09-05 Felix Zielcke <fzielcke@z-51.de>
26709
26710 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
26711 find searches for.
26712
197f76c7 267132009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
26714
26715 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
26716 unnecessary calls to grub_error.
26717
70ba68ce 267182009-09-04 Colin Watson <cjwatson@ubuntu.com>
26719
26720 * NEWS: Mention `keystatus' and Unicode fonts.
26721
4ff0d7a4 267222009-09-04 Robert Millan <rmh.grub@aybabtu.com>
26723
26724 * configure.ac: Bump version to 1.97~beta2.
26725 * docs/version.texi: Likewise.
26726
77c55a87 267272009-09-03 Colin Watson <cjwatson@ubuntu.com>
26728
26729 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
26730 containing unwind information in some cases where it previously did
26731 not. Use -fno-dwarf2-cfi-asm if available to restore the old
26732 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
26733 discussion.
26734
f79572cd 267352009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
26736
26737 Embedding loadenv module into grub-emu
26738
26739 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
26740 commands/loadenv.c
26741 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
26742 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
26743 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
26744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
26745 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
26746 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
26747
93a81088 267482009-09-03 Magnus Granberg <zorry@ume.nu>
26749
26750 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
26751 include -fPIE in the default specs.
26752 * configure.ac: Check if pie_possible is yes and add -fno-PIE
26753 to TARGET_CFLAGS.
26754
160034b2 267552009-09-03 Felix Zielcke <fzielcke@z-51.de>
26756
26757 * INSTALL: Note that GNU Bison 2.3 or later is required.
26758
087c07c4 267592009-09-03 Colin Watson <cjwatson@ubuntu.com>
26760
26761 * kern/i386/pc/startup.S: Fix typo.
26762
cbf978c0 267632009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
26764
26765 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
26766 according to GCS.
26767
267682009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 26769
26770 * docs/grub.texi (Naming convention): Describe one-based partition
26771 numbering.
26772 (Device syntax): Likewise.
26773 (File name syntax): Likewise.
26774 (Block list syntax): Likewise.
26775 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
26776 menu.lst.
26777 (File name syntax): Likewise.
26778 (Command-line and menu entry commands): Document acpi, blocklist,
26779 crc, export, insmod, keystatus, ls, set, and unset commands.
26780
f3e8cdfd 267812009-09-02 Colin Watson <cjwatson@ubuntu.com>
26782
26783 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
26784 to avoid implying that only one of --shift, --ctrl, or --alt may be
26785 used.
26786
c0bc232b 267872009-09-02 Colin Watson <cjwatson@ubuntu.com>
26788
26789 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
26790 rather than comparing against S_IFREG, which will almost never work.
26791
aa0f752d 267922009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
26793
26794 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
26795 (write_blocklists): Likewise.
26796
ecb3166a 267972009-09-01 Colin Watson <cjwatson@ubuntu.com>
26798
26799 * script/lua/grub_lua.h (fputs): Supply a format string as the first
26800 argument to grub_printf.
26801
c403a125 268022009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 26803
26804 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 26805 non GNU test.
31aba781 26806
b5e7312c 268072009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26808
26809 * kern/file.c (grub_file_read): Spelling fix
26810
fe00f472 268112009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26812
26813 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
26814 loading of headers in some cases.
26815
cc55302e 268162009-08-30 Robert Millan <rmh.grub@aybabtu.com>
26817
26818 * configure.ac: Bump version to 1.97~beta1.
26819 * docs/version.texi: Likewise.
26820
5c90cdd2 268212009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 26822
26823 * include/grub/i386/xnu.h: Add license header.
26824 include grub/err.h explicitly.
26825
c90edae4 268262009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26827
26828 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
26829 to `ufs' in the vfs.root.mountfrom kernel parameter.
26830
d8888b5c 268312009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26832
26833 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
26834
26835 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
26836 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
26837
26838 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
26839 `ARRAY_SIZE' macro.
26840
6f07b921 268412009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26842
26843 * kern/file.c (grub_file_read): Check offset.
26844 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
26845 * fs/jfs.c (grub_jfs_read_file): Likewise.
26846 * fs/ntfs.c (grub_ntfs_read): Likewise.
26847 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
26848 * fs/minix.c (grub_minix_read_file): Correct offset check.
26849 * fs/ufs.c (grub_ufs_read_file): Likewise.
26850
b4f34077 268512009-08-28 Colin Watson <cjwatson@ubuntu.com>
26852
26853 * term/i386/pc/console.c (bios_data_area): Cast
26854 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
26855
e7c69859 268562009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26857
26858 1-bit optimised blitters.
26859
26860 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
26861 prototype.
26862 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26863 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26864 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26865 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26866 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26867 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26868 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
26869 function.
26870 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26871 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26872 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26873 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26874 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26875 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26876 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
26877 when possible.
26878 * video/video.c (grub_video_get_blit_format): Return
26879 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
26880
a57da43f 268812009-08-28 Colin Watson <cjwatson@ubuntu.com>
26882
26883 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
26884 the first argument to grub_printf.
26885
4cbe67e5 268862009-08-28 Colin Watson <cjwatson@ubuntu.com>
268872009-08-28 Robert Millan <rmh.grub@aybabtu.com>
26888
26889 Add `getkeystatus' terminal method. Add a new `keystatus' command
26890 to query it.
26891
26892 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
26893 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
26894 modifier key bitmasks.
26895 (struct grub_term_input): Add `getkeystatus' member.
26896 (grub_getkeystatus): Add prototype.
26897 * kern/term.c (grub_getkeystatus): New function.
26898
26899 * include/grub/i386/pc/memory.h
26900 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
26901 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
26902 Data Area layout.
26903 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
26904 (grub_console_term_input): Set `getkeystatus' member.
26905 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
26906 constants.
26907 (grub_usb_keyboard_getreport): Likewise.
26908 (grub_usb_keyboard_checkkey): Likewise.
26909 (grub_usb_keyboard_getkeystatus): New function.
26910 (grub_usb_keyboard_term): Set `getkeystatus' member.
26911
26912 * commands/keystatus.c: New file.
26913 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
26914 (keystatus_mod_SOURCES): New variable.
26915 (keystatus_mod_CFLAGS): Likewise.
26916 (keystatus_mod_LDFLAGS): Likewise.
26917 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
26918 commands/keystatus.c.
26919 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26920 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26921 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26922 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26923 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26924 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 26925
6e2a9085 269262009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26927
26928 Split befs.mod and afs.mod into *_be.mod and *.mod
26929
26930 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
26931 (grub_fstest_SOURCES): Likewise.
26932 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
26933 (afs_be_mod_SOURCES): New variable.
26934 (afs_be_mod_CFLAGS): Likewise.
26935 (afs_be_mod_LDFLAGS): Likewise.
26936 (befs_be_mod_SOURCES): Likewise.
26937 (befs_be_mod_CFLAGS): Likewise.
26938 (befs_be_mod_LDFLAGS): Likewise.
26939 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
26940 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26941 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26942 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26943 (grub_emu_SOURCES): Likewise.
26944 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26945 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26946 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26947 * fs/afs_be.c: New file.
26948 * fs/befs_be.c: New file.
26949 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
26950 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
26951 (U16): Replaced with ...
26952 (grub_afs_to_cpu16): ...this. All users updated.
26953 (U32): Replaced with ...
26954 (grub_afs_to_cpu32): ...this. All users updated.
26955 (U64): Replaced with ...
26956 (grub_afs_to_cpu64): ...this. All users updated.
26957 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
26958 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 26959 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 26960 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26961 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26962 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26963 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26964 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26965 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26966 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26967 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26968
32a71655 269692009-08-26 Bean <bean123ch@gmail.com>
26970
26971 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
26972 64-bit number.
26973 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
26974 (grub_xfs_inode_block): Change return type to grub_uint64_t.
26975 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
26976
552bf6c5 269772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26978
26979 NetBSD memory map support.
26980
26981 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
26982 (grub_netbsd_btinfo_mmap_header): New structure.
26983 (grub_netbsd_btinfo_mmap_entry): Likewise.
26984 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
26985
1ae2078c 269862009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26987
26988 Enable bsd.mod on coreboot.
26989
26990 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
26991 (bsd_mod_SOURCES): New variable.
26992 (bsd_mod_CFLAGS): Likewise.
26993 (bsd_mod_LDFLAGS): Likewise.
26994 (bsd_mod_ASFLAGS): Likewise.
26995 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
26996 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
26997
beefc598 269982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26999
27000 Cleanup NetBSD root support.
27001
27002 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27003 grub_bsd_get_device.
27004 Fix typo.
27005
3b76e68b 270062009-08-25 Felix Zielcke <fzielcke@z-51.de>
27007
27008 * util/grub.d/00_header.in: Move check for the video backend of
27009 gfxterm from here ...
27010 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27011 a suitable video backend.
27012
aea664ea 270132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27014
27015 Fix breakage in grub-setup.
27016
27017 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27018 "msdos_partition_map".
27019
ff747d50 270202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27021
27022 Fix breakage in normal/auth.c.
27023
27024 * normal/auth.c (grub_iswordseparator): New function.
27025
e7e1f93f 270262009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27027
27028 Authentication support.
27029
27030 * commands/password.c: New file.
27031 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27032 (password_mod_SOURCES): New variable.
27033 (password_mod_CFLAGS): Likewise.
27034 (password_mod_LDFLAGS): Likewise.
27035 (normal_mod_SOURCES): Add normal/auth.c.
27036 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27037 normal/auth.c.
27038 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27039 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27040 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27041 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27042 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27043 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27044 * include/grub/auth.h: New file.
27045 * include/grub/err.h (grub_err_t): New enum value
27046 GRUB_ERR_ACCESS_DENIED.
27047 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27048 'users'.
27049 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27050 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27051 users updated.
27052 * normal/auth.c: New file.
27053 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27054 (grub_cmdline_run): Don't allow to go to command line without
27055 authentication.
27056 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27057 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27058 menuentry without superuser rights.
27059 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27060 user isn't a superuser.
27061
70f1161d 270622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27063
27064 Save space by inlining misc.c functions.
27065
27066 * kern/misc.c (grub_iswordseparator): Made static.
27067 * kern/misc.c (grub_strcat): Moved from here ...
27068 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27069 * kern/misc.c (grub_strncat): Moved from here ...
27070 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27071 * kern/misc.c (grub_strcasecmp): Moved from here ...
27072 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27073 * kern/misc.c (grub_strncasecmp): Moved from here ...
27074 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27075 * kern/misc.c (grub_isalpha): Moved from here ...
27076 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27077 * kern/misc.c (grub_isdigit): Moved from here ...
27078 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27079 * kern/misc.c (grub_isgraph): Moved from here ...
27080 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27081 * kern/misc.c (grub_tolower): Moved from here ...
27082 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27083
48e40bff 270842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27085
27086 * script/sh/function.c (grub_script_function_find): Cut error message
27087 not to flood terminal.
27088 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27089 limit.
27090 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27091
c385bfc3 270922009-08-24 Colin Watson <cjwatson@ubuntu.com>
27093
27094 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27095 `report' grub_uint8_t *.
27096 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27097 Use a 50-millisecond timeout rather than just repeating
27098 grub_usb_keyboard_getreport 50 times.
27099 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27100
2d21e3e8 271012009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27102
27103 Rename *_partition_map to part_*
27104
27105 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27106 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27107 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27108 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27109 All users updated.
27110 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27111 All users updated.
27112 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27113 * util/grub-probe.c (probe_partmap): Don't transform partition name
27114 to get module name.
27115
dd103c4e 271162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27117
27118 Fix OpenBSD and NetBSD support.
27119
27120 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27121 memory address conflict.
27122 (OPENBSD_MMAP_ACPI): New definition.
27123 (OPENBSD_MMAP_NVS): Likewise.
27124 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27125 and OPENBSD_MMAP_NVS.
27126 Add memory map terminator
27127 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 27128 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 27129
16c84d74 271302009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27131
27132 Let user specify NetBSD root device.
27133
27134 * loader/i386/bsd.c (netbsd_root): New variable.
27135 (netbsd_opts): New option 'root'.
27136 (NETBSD_ROOT_ARG): New macro.
27137 (grub_netbsd_boot): Use 'netbsd_root'.
27138 (grub_bsd_unload): Free 'netbsd_root'.
27139 (grub_cmd_netbsd): Fill 'netbsd_root'.
27140
adb29902 271412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27142
27143 Support for 64-bit NetBSD.
27144
27145 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27146 point when booting non-FreeBSD.
27147
f5ae9f74 271482009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27149
27150 Support --no-smp and --no-acpi for NetBSD.
27151
27152 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27153 (NETBSD_AB_NOACPI): Likewise.
27154 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27155 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27156
de74f136 271572009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27158
27159 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27160 errors.
27161 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27162 errors. Call grub_error when needed.
27163
e9a925da 271642009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27165
27166 * commands/search.c (search_fs): Try searching without autoload first.
27167 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27168 filesystem module explicitly for faster booting.
27169
5174302b 271702009-08-23 Colin Watson <cjwatson@ubuntu.com>
27171
27172 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27173
c8c80635 271742009-08-23 Colin Watson <cjwatson@ubuntu.com>
27175
27176 * util/grub.d/30_os-prober.in: Disable os-prober if
27177 `GRUB_DISABLE_OS_PROBER' was set to true.
27178
71acf5e5 271792009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27180
27181 * partmap/pc.c: Rename to ...
27182 * partmap/msdos.c: ... this. Update all users.
27183 (grub_pc_partition_map): Rename to ...
27184 (grub_msdos_partition_map): ... this. Update all users.
27185
27186 * parttool/pcpart.c: Rename to ...
27187 * parttool/msdospart.c: ... this. Update all users.
27188
27189 * include/grub/pc_partition.h: Rename to ...
27190 * include/grub/msdos_partition.h: ... this. Update all users.
27191 (grub_pc_partition_bsd_entry): Rename to ...
27192 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27193 (grub_pc_partition_disk_label): Rename to ...
27194 (grub_msdos_partition_disk_label): ... this. Update all users.
27195 (grub_pc_partition_entry): Rename to ...
27196 (grub_msdos_partition_entry): ... this. Update all users.
27197 (grub_pc_partition_mbr): Rename to ...
27198 (grub_msdos_partition_mbr): ... this. Update all users.
27199 (grub_pc_partition): Rename to ...
27200 (grub_msdos_partition): ... this. Update all users.
27201 (grub_pc_partition_is_empty): Rename to ...
27202 (grub_msdos_partition_is_empty): ... this. Update all users.
27203 (grub_pc_partition_is_extended): Rename to ...
27204 (grub_msdos_partition_is_extended): ... this. Update all users.
27205 (grub_pc_partition_is_bsd): Rename to ...
27206 (grub_msdos_partition_is_bsd): ... this. Update all users.
27207
27208 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27209 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27210 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27211 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27212 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27213 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27214 (gpt_mod_LDFLAGS): Rename to ...
27215 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27216 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27217 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27218 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27219 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27220 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27221 (part_gpt_mod_LDFLAGS): ... this.
27222 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27223 `pcpart.mod' to `msdospart.mod'.
27224 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27225 to ...
27226 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27227 (msdospart_mod_LDFLAGS): ... this.
27228
c11fded5 272292009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27230
27231 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27232 (openbsd_opts): Likewise.
27233 (netbsd_opts): Likewise.
27234 (freebsd_flags): Added 0 terminator.
27235 (openbsd_flags): Likewise.
27236 (netbsd_flags): Likewise.
27237 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27238 (grub_cmd_freebsd): Transformed into extended command.
27239 (grub_cmd_openbsd): Likewise.
27240 (grub_cmd_netbsd): Likewise.
27241 (cmd_freebsd): Changed type to grub_extcmd_t.
27242 (cmd_openbsd): Likewise.
27243 (cmd_netbsd): Likewise.
27244 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27245 grub_cmd_openbsd as extended commands.
27246 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27247 cmd_netbsd and cmd_openbsd
27248
11d1c769 272492009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27250
27251 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27252
7a9094e5 272532009-08-21 Pavel Roskin <proski@gnu.org>
27254
5496c37e 27255 * Makefile.in (install-local): When checking if a file is in the
27256 build directory, use "test -e" to detect symlinks.
27257
7a9094e5 27258 * Makefile.in (install-local): Remove all files in
27259 $(DESTDIR)$(pkglibdir) before installing new files there.
27260
e53cea11 272612009-08-18 Felix Zielcke <fzielcke@z-51.de>
27262
27263 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27264 grub-mkelfimage.
27265
9aced544 272662009-08-18 Felix Zielcke <fzielcke@z-51.de>
27267
27268 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27269 explicitly specified by the user.
27270
b7da6bab 272712009-08-18 Pavel Roskin <proski@gnu.org>
27272
27273 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27274 grub_uint8_t pointer for data.
27275 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27276 Likewise.
27277 * video/fb/fbutil.c: Remove unnecessary casts.
27278
19f1b335 272792009-08-17 Michal Suchanek <hramrach@centrum.cz>
27280
27281 VBE cleanup.
27282
27283 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27284 (grub_vbe_set_video_mode): Save active mode info
27285 only after setting the mode.
27286 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27287 second argument.
27288
2f467aa9 272892009-08-17 Michal Suchanek <hramrach@centrum.cz>
27290
27291 Rename variables for clarity.
27292
27293 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27294 (active_vbe_mode_info): ... this. All users updated.
27295 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27296 All users updated.
27297 (initial_mode): Rename to ...
27298 (initial_vbe_mode): ... this. All users updated.
27299 (mode_in_use): Rename to ..
27300 (vbe_mode_in_use): ... this. All users updated.
27301 (mode_list): Rename to ..
27302 (vbe_mode_list): ... this. All users updated.
27303 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27304 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27305 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27306 'mode_list_size' to 'vbe_mode_list_size'.
27307 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27308 'best_mode_info' to 'best_vbe_mode_info' and
27309 'best_mode' to 'best_vbe_mode'
27310
6025fcd7 273112009-08-17 Michal Suchanek <hramrach@centrum.cz>
27312
27313 Remove duplicate grub_video_fb_get_video_ptr.
27314
27315 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27316 (grub_video_fb_get_video_ptr): ... this.
27317 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27318 * video/fb/fbutil.c: Add comment about addressing.
27319 (get_data_ptr): Rename to ...
27320 (grub_video_fb_get_video_ptr): ... this. All users updated.
27321 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27322
cc8c6faf 273232009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27324
27325 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27326 grub_dprintf() that was just added.
27327
08aa61f0 273282009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27329
27330 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27331 (DEFAULT_VIDEO_MODE): Remove macros.
27332 (grub_linux_boot): Remove assumption that Linux has FB support,
27333 and use "text" as default video mode.
27334
7cef4f75 273352009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27336
27337 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27338 grub_dprintf.
27339 * fs/fat.c (grub_fat_read_data): Likewise.
27340
e1f39873 273412009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27342
27343 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27344 payload.
27345 (grub_module): Likewise.
27346
c166d79e 273472009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27348
27349 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27350 mbi->cmdline but free playground.
27351
c60cee8e 273522009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27353
27354 Handle group offset on UFS1.
27355
27356 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27357 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27358
c0d8b5d4 273592009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27360
27361 Split ufs.mod into ufs1.mod and ufs2.mod.
27362
27363 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27364 (grub_fstest_SOURCES): Likewise.
27365 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27366 (ufs_mod_SOURCES): Remove.
27367 (ufs_mod_CFLAGS): Likewise.
27368 (ufs_mod_LDFLAGS): Likewise.
27369 (ufs1_mod_SOURCES): New variable.
27370 (ufs1_mod_CFLAGS): Likewise.
27371 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 27372 (ufs2_mod_SOURCES): New variable.
27373 (ufs2_mod_CFLAGS): Likewise.
27374 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 27375 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27376 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27377 Likewise.
27378 (grub_emu_SOURCES): Likewise.
27379 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27380 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27381 (grub_setup_SOURCES): Likewise.
27382 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27383 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27384 (grub_setup_SOURCES): Likewise.
27385 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27386 Likewise.
27387 * fs/ufs2.c: New file.
27388 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27389
d3539132 273902009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27391
27392 Framebuffer split.
27393
27394 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27395 subsystem at the end.
27396 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27397 (video_fb_mod_SOURCES): New variable.
27398 (video_fb_mod_CFLAGS): Likewise.
27399 (video_fb_mod_LDFLAGS): Likewise.
27400 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27401 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27402 * video/i386/pc/vbeblit.c: Moved from here ...
27403 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27404 * video/i386/pc/vbefill.c: Moved from here ...
27405 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27406 * video/i386/pc/vbeutil.c: Moved from here ...
27407 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27408 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27409 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27410 * include/grub/i386/pc/vbefill.h: Moved from here ...
27411 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27412 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27413 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27414 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27415 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27416 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27417 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27418 (grub_video_adapter): Added 'get_info_and_fini'.
27419 (grub_video_get_info_and_fini): New prototype.
27420 (grub_video_set_mode): make modestring const char *.
27421 * loader/i386/linux.c (grub_linux_setup_video): Use
27422 grub_video_get_info_and_fini.
27423 (grub_linux_boot): Move modesetting just before booting.
27424 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27425 grub_video_get_info_and_fini.
27426 * video/i386/pc/vbe.c: Moved framebuffer part ...
27427 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27428 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27429 grub_video_fbstd_colors and grub_video_fb_set_palette.
27430 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27431 grub_video_fb_init.
27432 (grub_video_vbe_fini): Use grub_video_fb_fini.
27433 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27434 render_target and use grub_video_fb_set_active_render_target and
27435 grub_video_fb_set_palette.
27436 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27437 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27438 (grub_video_vbe_adapter): Use framebuffer.
27439 * video/video.c (grub_video_get_info_and_fini): New function.
27440 (grub_video_set_mode): Make modestring const char *.
27441 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27442 values are already initialised.
27443
d404ee56 274442009-08-14 Pavel Roskin <proski@gnu.org>
27445
27446 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27447 ABS and APPLE_CC.
27448 * boot/i386/pc/diskboot.S: Likewise.
27449 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27450 sectors allow compilation on MacOSX.
27451 * conf/i386-pc.rmk: Enable unconditional compilation of
27452 lnxboot.img.
27453
9a10df16 274542009-08-13 Colin Watson <cjwatson@ubuntu.com>
27455
27456 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27457 * util/grub.d/00_header.in: Enter interruptible sleep if
27458 GRUB_HIDDEN_TIMEOUT is set.
27459
be3c9ca7 274602009-08-13 Yves Blusseau <blusseau@zetam.org>
27461
27462 * include/grub/symbol.h: Add the LOCAL macro.
27463 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27464 starting with "L_".
27465
1f9e557e 274662009-08-13 Pavel Roskin <proski@gnu.org>
27467
9ca62843 27468 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27469 any modern compilers we support.
27470
1f9e557e 27471 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27472 Use local labels starting with "L_" so that Apple assembler
27473 knows they are local.
27474
81623db6 274752009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27476
27477 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27478 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27479 (bsd_kernel_types): ... this enum.
27480
27481 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27482 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27483 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27484
27485 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27486 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27487 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27488 messages.
27489
f5d35e7a 274902009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27491
27492 * util/grub-dumpdevtree: Moved from here ...
27493 * util/i386/efi/grub-dumpdevtree: ... to here.
27494 (hexify): New function. Converts a string to its hex version.
27495 Generate hex versions of "efi" and "device-properties" by calling
27496 hexify() on the ASCII strings rather than by hardcoding numbers.
27497
d1e1d527 274982009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27499
27500 * fs/jfs.c: Update copyright year.
27501
1ebbe064 275022009-08-08 Felix Zielcke <fzielcke@z-51.de>
27503
27504 * util/grub.d/00_header.in: Fix a comment.
27505 * util/grub.d/10_linux.in: Likewise.
27506 * util/grub.d/10_windows.in: Likewise.
27507 * util/grub.d/10_hurd.in: Likewise.
27508
a78c8d24 275092009-08-08 Felix Zielcke <fzielcke@z-51.de>
27510
27511 * util/grub-mkconfig.in: Allow the user to specify the used font
27512 with GRUB_FONT.
27513
29a6b9e8 275142009-08-08 Pavel Roskin <proski@gnu.org>
27515
b5f16cc4 27516 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27517 available, xfs.mod needs it now.
27518
2f5cb827 27519 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27520 the "g" modifier in sed when the intention is to strip something
27521 once. This fixes comparison of kernels with multiple dashes.
27522
29a6b9e8 27523 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
27524 on it. Add missing space before closing bracket. Fix
27525 misleading formatting.
27526
892a3d98 275272009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27528
27529 * docs/grub.texi: Major overhaul. Remove all sections that are
27530 specific to GRUB Legacy, or mostly composed of Legacy-specific
27531 information.
27532
ed94253f 275332009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27534
27535 * docs/version.texi: New file. Provides version information for
27536 grub.texi.
27537
126d6628 275382009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27539
27540 * docs/grub.texi: Update CVS information to SVN.
27541 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
27542
998b5aa9 275432009-08-07 Felix Zielcke <fzielcke@z-51.de>
27544
27545 * util/grub-mkconfig.in: Remove a wrong `fi'.
27546
818e094a 275472009-08-07 Felix Zielcke <fzielcke@z-51.de>
27548
27549 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
27550 (grub_jfs_uuid): New function.
27551 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
27552
b969c52f 275532009-08-07 Felix Zielcke <fzielcke@z-51.de>
27554
27555 * util/grub-mkconfig_lib.in (font_path): Move the functionality
27556 of it to ...
27557 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
27558 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
27559
7a4894cc 275602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27561
27562 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
27563 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
27564 Update all users.
27565
27566 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
27567 not just "vmlinu[zx]".
27568 Moved from here ...
27569 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
27570 all users.
27571
27572 * util/grub.d/10_linux.in (find_latest): Moved from here ...
27573 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
27574 all users.
27575
4e2171f8 275762009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27577
27578 * util/grub.d/10_freebsd.in: Use an absolute device path for
27579 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
27580
6dcfcb32 275812009-08-06 Felix Zielcke <fzielcke@z-51.de>
27582
27583 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
27584 handling of multiple abstraction modules.
27585
f56a8756 275862009-08-04 Robert Millan <rmh.grub@aybabtu.com>
27587
27588 Fix a bug resulting in black screen when loading Linux using a
27589 packed video mode.
27590
27591 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
27592 function.
27593
27594 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
27595 (grub_vbe_bios_getset_dac_palette_width): New function.
27596 (grub_vbe_bios_get_dac_palette_width)
27597 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
27598 grub_vbe_bios_getset_dac_palette_width()).
27599
27600 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
27601 check for return status.
27602 (grub_vbe_get_video_mode_info): When getting information for a packed
27603 mode (<= 8 bpp), obtain DAC palette width using
27604 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
27605 {red,green,blue}_mark_size.
27606
222671b2 276072009-08-04 Felix Zielcke <fzielcke@z-51.de>
27608
ecb1a6d9 27609 * commands/search.c (options): Fix help output to match actual code.
222671b2 27610
f84114f5 276112009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
27612
27613 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
27614 of homegrown code.
27615
bd288a20 276162009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 27617
27618 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
27619 on XFS or ReiserFS.
27620
8aab5e25 276212009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27622
27623 Support Apple partition map with sector size different from 512 bytes.
27624
27625 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
27626 (apple_partition_map_iterate): Respect 'aheader.blocksize'
27627 and 'apart.partmap_size'.
27628
6ad6258a 276292009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
276302009-08-01 Robert Millan <rmh.grub@aybabtu.com>
27631
27632 Fix cpuid command.
27633
27634 * commands/i386/cpuid.c (options): New variable.
27635 (grub_cmd_cpuid): Return real error.
27636 (GRUB_MOD_INIT(cpuid)): Declare options.
27637
67459bc6 276382009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
27639
27640 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
27641 valid.
27642
fbc6ab54 276432009-07-31 Bean <bean123ch@gmail.com>
27644
27645 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
27646 log2_inode.
27647 (grub_fshelp_node): Move inode field to the end.
27648 (grub_xfs_data): Remove inode field.
27649 (grub_xfs_inode_block): Calculate inode size using sblock.
27650 (grub_xfs_inode_offset): Likewise.
27651 (grub_xfs_read_inode): Calculate inode size using sblock.
27652 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
27653 (grub_xfs_iterate_dir): Calculate inode size using sblock.
27654 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
27655 to match inode size.
27656 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
27657 not accessible when data is null.
27658 (grub_xfs_open): Likewise.
27659
f45d6cfc 276602009-07-31 Bean <bean123ch@gmail.com>
27661
27662 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
27663 Don't change pv->disk if it's already set.
27664
27665 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
27666 (grub_raid_register): ... here.
27667 (grub_raid_rescan): Removed.
27668
27669 * include/grub/raid.h (grub_raid_rescan): Removed.
27670
27671 * util/grub-fstest.c: Remove include file <grub/raid.h>.
27672 (fstest): Replace grub_raid_rescan with module fini function followed
27673 by init function.
27674
27675 * util/grub-probe.c: Add include file <grub/raid.h>.
27676 (probe_raid_level): New function.
27677 (probe): Detect abstraction by walking the disk device, support two
27678 level of abstraction (LVM on RAID) when detecting partition map.
27679
24443b5a 276802009-07-31 Pavel Roskin <proski@gnu.org>
27681
27682 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
27683 to grub_zalloc(), it was erroneous.
27684 Reported by Bean <bean123ch@gmail.com>
27685
a275d9e7 276862009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
27687
27688 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 27689 embedding zone, not only the first one.
a275d9e7 27690
56c5a47f 276912009-07-29 Joe Auricchio <jauricchio@gmail.com>
27692
27693 * term/gfxterm.c (clear_char): New function.
27694 (grub_virtual_screen_setup): Use clear_char.
27695 (scroll_up): Likewise.
27696 (grub_virtual_screen_cls): Likewise.
27697
67bb323a 276982009-07-29 Felix Zielcke <fzielcke@z-51.de>
27699
27700 * util/deviceiter.c (get_acceleraid_disk_name): New static
27701 function.
27702 (grub_util_iterate_devices): Handle Accelraid devices.
27703 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
27704
388a7c75 277052009-07-28 Robert Millan <rmh.grub@aybabtu.com>
27706
27707 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
27708 separator for the suggested gfxpayload string (';' collides with the
27709 parser and needs escaping).
27710
3bb7abcf 277112009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
27712
27713 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
27714 Clear direction flag before jumping to OS.
27715 (grub_multiboot2_real_boot): Likewise.
27716
2ddd36d7 277172009-07-28 Felix Zielcke <fzielcke@z-51.de>
27718
27719 * util/i386/pc/grub-install: Fix parsing of --disk-module
27720 option.
27721
c521b62b 277222009-07-28 Felix Zielcke <fzielcke@z-51.de>
27723
27724 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
27725 when embedding.
27726
880e0a0c 277272009-07-26 Felix Zielcke <fzielcke@z-51.de>
27728
27729 * util/grub-mkconfig.in (package_version): New variable.
27730 Use it do display the version.
27731
2366e356 277322009-07-25 Felix Zielcke <fzielcke@z-51.de>
27733
27734 * kern/file.c (grub_file_open): Revert to previous check with
27735 grub_errno.
27736
7ad8c80e 277372009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27738
27739 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
27740 from help line. It's out of sync with code.
27741
72b9658b 277422009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27743
27744 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
27745 entries on failed boot.
27746
77435277 277472009-07-25 Felix Zielcke <fzielcke@z-51.de>
27748
27749 * kern/file.c (grub_file_open): Fix an error check.
27750
fcaa8b21 277512009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
27752
35d16c74 27753 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
27754 partition map couldn't be identified.
fcaa8b21 27755
48904cd1 277562009-07-23 Pavel Roskin <proski@gnu.org>
27757
ef3c317f 27758 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
27759 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
27760 case of little endian words becomes just an optimization.
27761 Respect const modifier.
ad8ea1f4 27762 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 27763
48904cd1 27764 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
27765 to avoid loss of upper bits if align is unsigned and shorter
27766 than addr.
27767
260c9a89 277682009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27769
27770 UUID support for UFS
27771
27772 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
27773 (grub_ufs_uuid): New function.
27774 (grub_ufs_fs): add .uuid
27775
f76ce889 277762009-07-21 Pavel Roskin <proski@gnu.org>
27777
27778 * kern/dl.c (grub_dl_check_header): Make static.
27779
6a6cbcaf 277802009-07-21 Felix Zielcke <fzielcke@z-51.de>
27781
27782 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
27783 add drivemap for Vista. It breaks Windows 7.
27784
cffcddb2 277852009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27786
27787 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
27788 128 bytes
27789
1ef44b80 277902009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27791
27792 Add BFS support
27793
27794 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
27795 (grub_fstest_SOURCES): Likewise.
27796 (pkglib_MODULES): Add befs.mod.
27797 (befs_mod_SOURCES): New variable.
27798 (befs_mod_CFLAGS): Likewise.
27799 (befs_mod_LDFLAGS): Likewise.
27800 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27801 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27802 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27803 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27804 (grub_setup_SOURCES): Likewise.
27805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27806 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27807 (grub_setup_SOURCES): Likewise.
27808 * fs/befs.c: New file.
27809 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
27810 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
27811 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
27812 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
27813 (B_KEY_INDEX_ALIGN): New declaration.
27814 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
27815 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
27816 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
27817 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
27818 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
27819 (grub_afs_mount) [MODE_BFS]: Likewise.
27820 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
27821 (grub_afs_fs): Use GRUB_AFS_FSNAME
27822 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
27823 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
27824 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
27825 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
27826
4f253044 278272009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
27828
27829 * util/getroot.c (find_root_device): Add support for MacOSX.
27830 * util/hostdisk.c: Likewise.
27831
57a55913 278322009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27833
27834 * font/font.c (find_glyph): Check whether a font is present to avoid
27835 segmentation fault.
75421ca9 27836
278372009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 27838
27839 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
27840
e98cd0c2 278412009-07-20 Pavel Roskin <proski@gnu.org>
27842
27843 * configure.ac: Trim excessively wordy excuses.
27844
1d2d169a 278452009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27846
27847 Add symlink, mtime and label support to AtheFS.
27848
27849 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
27850 (grub_afs_iterate_dir): Handle symlinks.
27851 (grub_afs_open): Use grub_afs_read_symlink.
27852 (grub_afs_dir): Likewise.
27853 Pass mtime.
27854 (grub_afs_label): New function.
27855 (grub_afs_fs): Add grub_afs_label.
27856 (grub_afs_read_symlink): New function.
27857
186f3189 278582009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27859
27860 Fix AtheFS support.
27861
27862 * fs/afs.c: Fix comments style.
27863 (grub_afs_blockrun): Declare as packed.
27864 (grub_afs_datastream): Likewise.
27865 (grub_afs_bnode): Likewise.
27866 (grub_afs_btree): Likewise.
27867 (grub_afs_sblock): Likewise.
27868 Declare `name' as char.
27869 (grub_afs_inode): Declare as packed.
27870 Change void *vnode to grub_uint32_t unused.
27871 (grub_afs_iterate_dir): Check that key_size is positive.
27872 (grub_afs_mount): Don't read superblock twice.
75421ca9 27873 (grub_afs_dir): Don't free node in case of error,
186f3189 27874 grub_fshelp_find_file already handles this.
27875 (grub_afs_open): Likewise.
27876
5680109e 278772009-07-19 Pavel Roskin <proski@gnu.org>
27878
27879 * Makefile.in: Remove LIBLZO and enable_lzo.
27880 * conf/i386-pc.rmk: Remove lzo support.
27881 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
27882 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
27883 support.
27884 * kern/i386/pc/lzo1x.S: Remove.
27885 * kern/i386/pc/startup.S: Remove lzo support.
27886 * util/i386/pc/grub-mkimage.c: Likewise.
27887
ac70fa32 278882009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
27889
27890 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
27891 * fs/xfs.c (grub_xfs_dir): Likewise.
27892 * fs/afs.c (grub_afs_dir): Likewise.
27893 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
27894 (grub_iso9660_open): Likewise.
27895 * fs/jfs.c (grub_jfs_open): Likewise.
27896 * fs/ext2.c (grub_ext2_dir): Likewise.
27897 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
27898 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 27899
eab58da2 279002009-07-16 Pavel Roskin <proski@gnu.org>
27901
d2838156 27902 * configure.ac: Never add "-c" to CFLAGS.
27903
55c70904 27904 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
27905
43e6200c 27906 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
27907 grub_cv_cc_efiemu should be used.
27908
ce7a733d 27909 * configure.ac: Typo fixes.
27910
eab58da2 27911 * kern/mm.c (grub_zalloc): New function.
27912 (grub_debug_zalloc): Likewise.
27913 * include/grub/mm.h: Declare grub_zalloc() and
27914 grub_debug_zalloc().
27915 * util/misc.c (grub_zalloc): New function.
27916 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
27917 instead of grub_malloc(), remove unneeded initializations.
27918 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
27919 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
27920 * commands/parttool.c (grub_cmd_parttool): Likewise.
27921 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
27922 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
27923 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
27924 * disk/usbms.c (grub_usbms_finddevs): Likewise.
27925 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
27926 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
27927 (grub_cmd_efiemu_pnvram): Likewise.
27928 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
27929 * fs/iso9660.c (grub_iso9660_mount): Likewise.
27930 (grub_iso9660_iterate_dir): Likewise.
27931 * fs/jfs.c (grub_jfs_opendir): Likewise.
27932 * fs/ntfs.c (list_file): Likewise.
27933 (grub_ntfs_mount): Likewise.
27934 * kern/disk.c (grub_disk_open): Likewise.
27935 * kern/dl.c (grub_dl_load_core): Likewise.
27936 * kern/elf.c (grub_elf_file): Likewise.
27937 * kern/env.c (grub_env_context_open): Likewise.
27938 (grub_env_set): Likewise.
27939 (grub_env_set_data_slot): Likewise.
27940 * kern/file.c (grub_file_open): Likewise.
27941 * kern/fs.c (grub_fs_blocklist_open): Likewise.
27942 * loader/i386/multiboot.c (grub_module): Likewise.
27943 * loader/xnu.c (grub_xnu_create_key): Likewise.
27944 (grub_xnu_create_value): Likewise.
27945 * normal/main.c (grub_normal_add_menu_entry): Likewise.
27946 (read_config_file): Likewise.
27947 * normal/menu_entry.c (make_screen): Likewise.
27948 * partmap/sun.c (sun_partition_map_iterate): Likewise.
27949 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
27950 * script/sh/script.c (grub_script_parse): Likewise.
27951 * video/bitmap.c (grub_video_bitmap_create): Likewise.
27952 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
27953 * video/readers/png.c (grub_png_output_byte): Likewise.
27954 (grub_video_reader_png): Likewise.
27955
830afef7 279562009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 27957
27958 Enable all targets that can be built by default
27959
830afef7 27960 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 27961 grub-mkfont and grub-fstest if they can be built
27962
ee293aee 279632009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27964
27965 Fix hang and segmentation fault in grub-emu-usb
27966
27967 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
27968 * util/usb.c (grub_libusb_devices): likewise
27969 (grub_libusb_init): rename to ...
27970 (GRUB_MOD_INIT (libusb)):...this
27971 (grub_libusb_fini): rename to ..
27972 (GRUB_MOD_FINI (libusb)):...this
27973 * disk/usbms.c (grub_usbms_transfer): fix retry logic
27974 * include/grub/disk.h (grub_raid_init): removed, it's useless
27975 (grub_raid_fini): likewise
27976 (grub_lvm_init): likewise
27977 (grub_lvm_fini): likewise
27978 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
27979 by grub_init_all
27980
94414221 279812009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27982
27983 Fix libusb
27984
27985 * Makefile.in (LIBUSB): new macro
27986 * genmk.rb (Utility/print_tail): new method
27987 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
27988 (top level): call util.print_tail at the end.
27989
59ade63d 279902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27991
27992 Make FreeBSD accept zpool.cache
27993
27994 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
27995 type is /boot/zfs/zpool.cache
27996
a58da8c7 279972009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27998
27999 Fix 64-bit efiemu
28000
28001 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28002 correct wrong typedef
28003 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28004
20591577 280052009-07-15 Pavel Roskin <proski@gnu.org>
28006
560ca572 28007 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28008 * kern/disk.c (struct grub_disk_cache): Likewise.
28009
e8e8e4fd 28010 * commands/probe.c (options): Typo fix.
28011
fde24e10 28012 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28013 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28014 accordingly.
28015 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28016
379c54c1 28017 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28018 the end of "Error" to make the message more readable.
28019
7bd8f5bf 28020 * boot/i386/pc/boot.S (kernel_segment): Remove.
28021 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28022 for destination.
28023
40b132c5 28024 * boot/i386/pc/boot.S (boot_version): Remove.
28025 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28026 Remove.
28027
20591577 28028 * include/grub/i386/pc/boot.h: Sort all offsets.
28029 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28030 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28031 * boot/i386/pc/boot.S: Assert location of every offset listed in
28032 include/grub/i386/pc/boot.h.
28033
2df32b2c 280342009-07-13 Pavel Roskin <proski@gnu.org>
28035
44b5d879 28036 * include/grub/i386/coreboot/machine.h: Rename
28037 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28038 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28039 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28040
17dc3751 28041 * kern/dl.c: Force native word size to suppress warnings when
28042 compiling grub-emu.
28043
2df32b2c 28044 * kern/device.c (grub_device_iterate): Change struct part_ent to
28045 hold the name, not a pointer to it. Use one grub_malloc() per
28046 partition, not two. Free partition_name if grub_malloc() fails.
28047 Set ents to NULL only before grub_partition_iterate() is called.
28048
75c59f59 280492009-07-11 Bean <bean123ch@gmail.com>
28050
28051 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28052 childname.
28053
0ae1bf88 280542009-07-10 Bean <bean123ch@gmail.com>
280552009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28056
28057 * kern/ieee1275/openfw.c (grub_children_iterate)
28058 (grub_devalias_iterate): Fix size evaluation for property or path
28059 strings, which was broken since r2132.
28060
8279cade 280612009-07-07 Pavel Roskin <proski@gnu.org>
28062
7d8a52d3 28063 * commands/search.c (search_file): Merge into ...
28064 (search_fs): ... this. Accept search type as argument.
28065 (grub_cmd_search): Pass search type to search_fs().
28066
25f9a05a 28067 * include/grub/util/console.h: New file.
28068 * util/console.c: Use it instead of grub/machine/console.h.
28069 * util/grub-emu.c: Likewise.
28070
8279cade 28071 * lib/arg.c (find_long_option): Remove.
28072 (find_long): Add `len' argument, make `s' const char *.
28073 (grub_arg_parse): Parse long options in place, not in a
28074 temporary buffer.
28075
4a11b60f 280762009-07-06 Pavel Roskin <proski@gnu.org>
28077
99f68041 28078 * commands/search.c (search_fs): Fix potential NULL pointer
28079 dereference.
28080
4a11b60f 28081 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28082 function pointer.
28083
e110f4de 280842009-07-06 Daniel Mierswa <impulze@impulze.org>
28085
28086 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28087 comparison.
28088
46eeb6a2 280892009-07-05 Pavel Roskin <proski@gnu.org>
28090
bab74958 28091 * include/grub/i386/linux.h (struct linux_kernel_params):
28092 Restore padding3, it's still needed.
28093
46eeb6a2 28094 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28095 FreeBSD.
28096 * util/osdetect.lua: Likewise.
28097
b4a1dc79 280982009-07-05 Bean <bean123ch@gmail.com>
28099
28100 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28101
28102 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28103 (grub_lua_getenv): Likewise.
28104 (grub_lua_setenv): Likewise.
28105 (save_errno): New function.
28106 (push_result): Likewise.
28107 (grub_lua_enum_device): Likewise.
28108 (grub_lua_enum_file): Likewise.
28109 (grub_lua_file_open): Likewise.
28110 (grub_lua_file_close): Likewise.
28111 (grub_lua_file_seek): Likewise.
28112 (grub_lua_file_read): Likewise.
28113 (grub_lua_file_getline): Likewise.
28114 (grub_lua_file_getsize): Likewise.
28115 (grub_lua_file_getpos): Likewise.
28116 (grub_lua_file_eof): Likewise.
28117 (grub_lua_file_exist): Likewise.
28118 (grub_lua_add_menu): Likewise.
28119
28120 * script/lua/grub_lua.h (isupper): New inline function.
28121 (islower): Likewise.
28122 (ispunct): Likewise.
28123 (isxdigit): Likewise.
28124 (strcspn): Change to normal function.
28125 (strpbkr): New function declaration.
28126 (memchr): Likewise.
28127
28128 * script/lua/grub_main.c (scan_str): New function.
28129 (strcspn): Likewise.
28130 (strpbrk): Likewise.
28131 (memchr): Likewise.
28132
28133 * script/lua/linit.c (lualibs): Enable the string library.
28134
28135 * util/osdetect.lua: New file.
28136
2da92295 281372009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28138
28139 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28140 `capabilities' member.
28141
b2582ec9 281422009-07-02 Pavel Roskin <proski@gnu.org>
28143
28144 * genparttoollist.sh: Add missing newline at the end.
28145
32622956 281462009-07-01 Pavel Roskin <proski@gnu.org>
28147
87a7339e 28148 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28149
d23af54e 28150 * util/hostdisk.c (open_device): Remove `const' from
28151 `sysctl_size', as sysctlbyname() can change it (in this case it
28152 doesn't actually happen).
28153
c94b18a9 28154 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28155 using signed long int constants.
28156
c6cd3ef0 28157 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28158 constant to avoid a warning on FreeBSD.
28159
0df63420 28160 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28161 where it's needed.
28162
999577f1 28163 * Makefile.in: Install include/grub/machine symlink.
28164
6f41557f 28165 * Makefile.in: When installing symlinks, use "cp -fR", which
28166 works on FreeBSD and MacOSX.
28167 From Yves Blusseau <cl7m42e02@sneakemail.com>
28168
c8d22988 28169 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28170 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28171
1b96e952 28172 * util/misc.c: Move grub_reboot() and grub_halt() ...
28173 * util/grub-emu.c: ... here. Make main_env static.
28174 * include/grub/util/misc.h: Remove main_env.
28175
2ef0084d 28176 * kern/mm.c: Use correct format to print size_t.
28177
32622956 28178 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28179 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28180 * kern/powerpc/dl.c: Likewise.
28181 * kern/sparc64/dl.c: Likewise.
28182 * kern/x86_64/dl.c: Likewise.
28183
3f7f0cd0 281842009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28185
28186 Fix grub-emu build on sparc64-ieee1275.
28187
75421ca9 28188 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 28189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28190
211d06b5 281912009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28192
28193 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28194 (grub_reboot, grub_halt): New functions.
28195
28196 * util/i386/pc/misc.c: Delete. Update all users.
28197 * util/sparc64/ieee1275/misc.c: Likewise.
28198 * util/powerpc/ieee1275/misc.c: Likewise.
28199
aaf53e3c 282002009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28201
28202 * conf/i386.rmk (setjmp_mod_SOURCES)
28203 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28204 * conf/common.rmk (setjmp_mod_SOURCES)
28205 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28206 to use $(target_cpu).
28207 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28208 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28209 * conf/powerpc-ieee1275.rmk: Likewise.
28210 * conf/sparc64-ieee1275.rmk: Likewise.
28211
28212 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28213 $(target_cpu) for kern/$(target_cpu)/dl.c.
28214 * conf/i386-efi.rmk: Likewise.
28215 * conf/i386-ieee1275.rmk: Likewise.
28216 * conf/x86_64-efi.rmk: Likewise.
28217 * conf/i386-coreboot.rmk: Likewise.
28218 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28219 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28220 kern/$(target_cpu)/cache.S.
28221 * conf/sparc64-ieee1275.rmk: Likewise.
28222
a337130b 282232009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28224
28225 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28226 type to `grub_uint8_t', and adjust `padding9' accordingly.
28227
c6fe4d53 282282009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28229
b09db61d 28230 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28231
c6fe4d53 28232 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28233 assembly in final jump, using register constraints.
28234
b09db61d 28235 (grub_linux_boot): For text mode, initialize `have_vga' using
28236 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28237
28238 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28239 right before the final jump.
28240
28241 Set `video_mode' to 0x3.
28242
28243 Document initialization of `video_page', `video_mode' and
28244 `video_ega_bx'.
28245
28333ad0 282462009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28247
28248 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28249 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 28250 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 28251
02164e1b 282522009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28253
28254 Fix build on Debian / sparc.
28255
28256 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28257
18b6c557 282582009-06-28 Pavel Roskin <proski@gnu.org>
28259
85f2aab6 28260 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28261 fix a warning.
28262
18b6c557 28263 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28264
ad760f81 282652009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28266
28267 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28268 `err'.
28269
87a4623b 282702009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28271
28272 Revert r2338.
28273
28274 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28275 file can't be opened. grub_file_open() is already supposed to set
75421ca9 28276 grub_errno / grub_errmsg appropriately.
87a4623b 28277 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28278
8231fb77 282792009-06-27 Pavel Roskin <proski@gnu.org>
282802009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28281
28282 * include/grub/dl.h: Include grub/elf.h.
28283 (struct grub_dl): Add symtab field.
28284 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28285 GRUB_MODULES_MACHINE_READONLY.
28286 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28287 of the header for read-only modules.
28288 (grub_dl_unload): Free mod->symtab for read-only modules.
28289 * kern/i386/dl.c: Use mod->symtab.
28290 * kern/powerpc/dl.c: Likewise.
28291 * kern/sparc64/dl.c: Likewise.
28292 * kern/x86_64/dl.c: Likewise.
28293
28294 * conf/i386-qemu.rmk: New file.
28295 * kern/i386/qemu/startup.S: Likewise.
28296 * kern/i386/qemu/mmap.c: Likewise.
28297 * boot/i386/qemu/boot.S: Likewise.
28298 * include/grub/i386/qemu/time.h: Likewise.
28299 * include/grub/i386/qemu/serial.h: Likewise.
28300 * include/grub/i386/qemu/kernel.h: Likewise.
28301 * include/grub/i386/qemu/console.h: Likewise.
28302 * include/grub/i386/qemu/boot.h: Likewise.
28303 * include/grub/i386/qemu/init.h: Likewise.
28304 * include/grub/i386/qemu/machine.h: Likewise.
28305 * include/grub/i386/qemu/loader.h: Likewise.
28306 * include/grub/i386/qemu/memory.h: Likewise.
28307
28308 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28309 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28310 [qemu] (pkglib_IMAGES): Add `boot.img'.
28311 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28312 [qemu] (boot_img_FORMAT): New variables.
28313 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28314 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28315 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28316 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28317 [qemu] (kernel_img_FORMAT): New variables.
28318
28319 * configure.ac: Recognise `i386-qemu'.
28320
28321 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28322 (for no compression).
28323 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28324 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28325 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28326 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28327 ifdefs).
28328
97fe384e 283292009-06-27 Pavel Roskin <proski@gnu.org>
28330
28331 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28332 read.
28333 * efiemu/prepare32.c: Likewise.
28334 * efiemu/prepare64.c: Likewise.
28335
c402ab17 283362009-06-26 Pavel Roskin <proski@gnu.org>
28337
28338 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28339 * include/grub/elf.h: Define symbols without "32" or "64" based
28340 on GRUB_TARGET_WORDSIZE.
28341 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28342 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28343 ELF definitions.
28344 * efiemu/loadcore64.c: Likewise.
28345 * loader/i386/bsd32.c: Likewise.
28346 * loader/i386/bsd64.c: Likewise.
28347 * kern/dl.c: Remove own ELF definitions.
28348 * util/i386/efi/grub-mkimage.c: Likewise.
28349
9bbdfd4d 283502009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28351
28352 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28353 segment 0x0 unconditionally, because the reference generated by
28354 GAS is an absolute address.
28355
a42ce6e9 283562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28357
28358 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28359 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28360
c952cf92 283612009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28362
28363 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28364 indexes. Check for -f explicitly.
cc3752ad 28365 (search_file): Improve error message.
28366 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 28367
132a0a59 283682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28369
28370 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28371 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28372
387a140c 283732009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28374
28375 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28376 * conf/i386-ieee1275.rmk: Likewise.
28377 * conf/i386-coreboot.rmk: Likewise.
28378
28379 * kern/i386/pc/startup.S (grub_stop): Remove function.
28380 * kern/i386/ieee1275/startup.S: Likewise.
28381 * kern/i386/coreboot/startup.S: Likewise.
28382 * kern/i386/misc.S (grub_stop): New function.
28383
41da9665 283842009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28385
28386 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28387 * kern/i386/realmode.S (real_to_prot): ... to here.
28388
bf337234 283892009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28390
28391 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28392 with `kernel.img'.
28393 (kernel_elf_SOURCES): Rename to ...
28394 (kernel_img_SOURCES): ... this.
28395 (kernel_elf_HEADERS): Rename to ...
28396 (kernel_img_HEADERS): ... this. Update all users.
28397 (kernel_elf_ASFLAGS): Rename to ...
28398 (kernel_img_ASFLAGS): ... this.
28399 (kernel_elf_CFLAGS): Rename to ...
28400 (kernel_img_CFLAGS): ... this.
28401 (kernel_elf_LDFLAGS): Rename to ...
28402 (kernel_img_LDFLAGS): ... this.
28403 * conf/i386-coreboot.rmk: Likewise.
28404 * conf/powerpc-ieee1275.rmk: Likewise.
28405
28406 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28407 with "kernel.img".
28408
f52196ff 284092009-06-21 Pavel Roskin <proski@gnu.org>
28410
c3cee413 28411 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28412 to match nested functions.
28413 * loader/sparc64/ieee1275/linux.c: Likewise.
28414
f52196ff 28415 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28416
58750afc 284172009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28418
28419 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28420 all i386 platforms.
28421
15355c7d 284222009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28423
28424 Fix asm file handling on ELF, and remove workarounds.
28425
28426 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 28427 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 28428 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28429 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28430
3f3ec72b 284312009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28432
28433 Load BSD ELF modules
28434
28435 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28436 and loader/i386/bsd64.c
28437 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28438 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28439 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28440 (grub_freebsd_load_elfmodule32): New declaration
28441 (grub_freebsd_load_elfmoduleobj64): Likewise
28442 (grub_freebsd_load_elf_meta32): Likewise
28443 (grub_freebsd_load_elf_meta64): Likewise
28444 (grub_freebsd_add_meta): Likewise
28445 (grub_freebsd_add_meta_module): Likewise
28446 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28447 (grub_freebsd_add_meta_module): Likewise and move module-specific
28448 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28449 (grub_cmd_freebsd): Add elf-kernel specific parts
28450 based on grub_freebsd_add_meta_module
28451 (grub_cmd_freebsd_module): Add type parsing moved from
28452 grub_freebsd_add_meta_module
28453 (grub_cmd_freebsd_module_elf): New function
28454 (cmd_freebsd_module_elf): New variable
28455 (GRUB_MOD_INIT): Register freebsd_module_elf
28456 * loader/i386/bsd32.c: New file
28457 * loader/i386/bsd64.c: Likewise
28458 * loader/i386/bsdXX.c: Likewise
28459 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28460 (grub_elf64_load): Likewise
28461 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28462 All users updated
28463 (grub_elf64_load_hook_t): Likewise
28464
0db15301 284652009-06-21 Colin Watson <cjwatson@ubuntu.com>
28466
28467 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28468 variable.
28469 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28470 don't write a menu entry for recovery mode.
28471
546796c1 284722009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28473
28474 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28475 after it's no longer needed.
28476
cd7310d5 284772009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28478
28479 * include/grub/i386/loader.h (grub_linux_prot_size)
28480 (grub_linux_tmp_addr, grub_linux_real_addr)
28481 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28482 GRUB_MACHINE_PCBIOS.
28483 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28484 common grub_util_info() call to ...
28485 (generate_image): ... here.
28486 Fix use of uninitialized memory, comparison of signed with
28487 unsigned integers and memory leak.
28488 Remove bogus module address message.
28489
ab32d3b5 284902009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28491
28492 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28493 grub_raid_register
28494 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28495
024ef597 284962009-06-19 Pavel Roskin <proski@gnu.org>
28497
28498 * configure.ac: Remove stray AC_MSG_CHECKING.
28499
3ac72b51 285002009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28501
28502 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 28503
e14cd814 285042009-06-18 Pavel Roskin <proski@gnu.org>
28505
28506 * conf/common.rmk: Add fs_file.mod.
28507 * disk/fs_file.c: New file.
28508 * include/grub/disk.h (enum grub_disk_dev_id): Add
28509 GRUB_DISK_DEVICE_FILE_ID.
28510
26586d98 285112009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28512
28513 Fix build with Apple's toolchain. Part 2
28514
28515 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28516 a fake start
28517
26de2bcd 285182009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28519
28520 Fix build with Apple's toolchain. Part 1
28521
28522 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
28523 for long calls
28524 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 28525 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 28526 Apple's toolchain
28527
09b3490b 285282009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28529
28530 Fix warnings
28531
28532 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
28533 (decomp_block): initialize ch
28534 use grub_memcpy instead of memcpy
28535
c22a006a 285362009-06-17 Pavel Roskin <proski@gnu.org>
28537
d3638678 28538 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
28539 version, use declarations needed to use vga_text as the startup
28540 console.
28541
c22a006a 28542 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
28543 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
28544 the kernel.
28545 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
28546 and grub_at_keyboard_fini(), it's done on module load and
28547 unload.
28548
05b129e0 285492009-06-17 Felix Zielcke <fzielcke@z-51.de>
28550
28551 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
28552 file can't be found.
28553 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28554
cf24ed9e 285552009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28556
28557 Fix newline handling
28558
28559 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 28560 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 28561 (grub_script_yylex): don't segfault on unterminated script
28562 newline terminates command and variable
28563
74aa8e4b 285642009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28565
28566 avoid double grub_adjust_range call. Bug reported by David Simner
28567
28568 * kern/disk.c (grub_disk_write): change to raw disk access before
28569 calling disk_read
28570
1bd265f3 285712009-06-17 Colin Watson <cjwatson@ubuntu.com>
28572
28573 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
28574 spaces, for the benefit of help2man.
28575 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28576
a2d08c06 285772009-06-16 Pavel Roskin <proski@gnu.org>
28578
28579 * kern/i386/halt.c: Include grub/machine/init.h.
28580 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
28581
b97bcb19 285822009-06-16 Felix Zielcke <fzielcke@z-51.de>
28583
28584 * util/grub.d/30_os-prober.in: Use ${root} in the generated
28585 drivemap menuentry.
28586
0644f96c 285872009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
28588
28589 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
28590 `echo' command.
28591
3ef17a2e 285922009-06-16 Pavel Roskin <proski@gnu.org>
28593
28594 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
28595 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
28596 save %dx, we only need %dl and we never change it.
28597 * boot/i386/pc/cdboot.S: Don't set the root drive.
28598 * boot/i386/pc/pxeboot.S: Likewise.
28599 * include/grub/i386/pc/boot.h: Remove
28600 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
28601 GRUB_BOOT_MACHINE_DRIVE_CHECK.
28602 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
28603 * kern/i386/pc/init.c (make_install_device): Remove references
28604 to grub_root_drive.
28605 * kern/i386/pc/startup.S: Likewise.
28606 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
28607
693fe637 286082009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28609
28610 xnu_uuid command
28611
28612 * commands/xnu_uuid.c: new file
28613 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
28614 (xnu_uuid_mod_SOURCES): new variable
28615 (xnu_uuid_mod_CFLAGS): likewise
28616 (xnu_uuid_mod_LDFLAGS): likewise
28617 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28618 * conf/i386-ieee1275.rmk: likewise
28619 * conf/i386-pc.rmk: likewise
28620 * conf/powerpc-ieee1275.rmk: likewise
28621 * conf/sparc64-ieee1275.rmk: likewise
28622 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
28623
c9da87d0 286242009-06-16 Pavel Roskin <proski@gnu.org>
28625
28626 * configure.ac: Avoid '==' in test command, it's not portable.
28627
9c6f4596 286282009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28629
28630 Probe command
28631
28632 * commands/probe.c: new file
28633 * conf/common.rmk (pkglib_MODULES): add probe.mod
28634 (probe_mod_SOURCES): new variable
28635 (probe_mod_CFLAGS): likewise
28636 (probe_mod_LDFLAGS): likewise
28637 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28638 * conf/i386-ieee1275.rmk: likewise
28639 * conf/i386-pc.rmk: likewise
28640 * conf/powerpc-ieee1275.rmk: likewise
28641 * conf/sparc64-ieee1275.rmk: likewise
28642
70b7f9fd 286432009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
28644
28645 Fix handling of string like \"hello\" and "a
28646 b"
28647
28648 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
28649 (grub_script_yylex): fix parsing of quoting, escaping and newline
28650
71c79a6b 286512009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
28652
dd74360c 28653 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 28654 handling
dd74360c 28655
0644f96c 286562009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 28657
28658 * util/grub-mkconfig.in: Fix parsing of --output option.
28659
e40893c3 286602009-06-12 Pavel Roskin <proski@gnu.org>
28661
28662 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
28663 genmk.rb don't need to be generated or installed.
28664
3a1acfe2 286652009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
28666
28667 * commands/i386/pc/drivemap_int13h.S: add more comments
28668
3a4575d4 286692009-06-11 Pavel Roskin <proski@gnu.org>
28670
0658e928 28671 * Makefile.in (uninstall): Uninstall manuals.
28672
ca0388f0 28673 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
28674 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
28675 and update-grub_lib in two places.
28676 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
28677
e3b27c39 28678 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
28679 a compiler warning.
28680
3a4575d4 28681 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
28682 `entry_lo' to fix variable shadowing.
28683
af1f4f55 286842009-06-11 Christian Franke <franke@computer.org>
28685
28686 * kern/misc.c (__enable_execute_stack): Add missing return type
28687 to prevent gcc warning.
28688
5225e649 286892009-06-11 Felix Zielcke <fzielcke@z-51.de>
28690
28691 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
28692
7d83bd47 286932009-06-11 Pavel Roskin <proski@gnu.org>
28694
c1cb63ba 28695 * Makefile.in: Don't rely on any scripts being executable.
28696 Always use $(SHELL) to run shell scripts.
28697
7d83bd47 28698 * configure.ac: Always define ___main if using -nostdlib. This
28699 fixes tests on Cygwin.
28700
948f48e7 287012009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
28702
28703 UDF fix
28704
7d83bd47 28705 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 28706 is in bytes and not in blocks
7d83bd47 28707
8ada9bc1 287082009-06-11 Pavel Roskin <proski@gnu.org>
28709
28710 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
28711 warning.
28712
25ad2323 287132009-06-11 Felix Zielcke <fzielcke@z-51.de>
28714
28715 * util/grub.d/30_os-prober.in: Fix a comment. Source
28716 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
28717 to set the root device. Place drivemap command in the generated
28718 chain entry.
28719
e65acb0c 287202009-06-11 Pavel Roskin <proski@gnu.org>
28721
28722 * configure.ac: Remove host_m32. Issues with 64-bit utilities
28723 have long been resolved.
28724
f285fe2d 287252009-06-11 Colin Watson <cjwatson@ubuntu.com>
28726
bd47b0b5 28727 * util/grub.d/10_linux.in: Capitalise "Linux".
28728
f285fe2d 28729 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
28730
a0c62e4e 287312009-06-11 Pavel Roskin <proski@gnu.org>
28732
b6783cb2 28733 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
28734 fix a gcc warning and ensure that the function won't ever exit.
28735
dde032e8 28736 * kern/i386/ieee1275/init.c: Add missing prototype for
28737 grub_stop_floppy().
28738
22cd079d 28739 * loader/ieee1275/multiboot2.c [__i386__]: Include
28740 grub/cpu/multiboot.h.
28741
a0c62e4e 28742 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
28743 casts to short - they are not portable and cause warnings. Fix
28744 use of uninitialized values in input_buf. Use ARRAY_SIZE.
28745
63963d17 287462009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
28747
28748 Drivemap fixes
28749
28750 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
28751 new function
28752 (grub_get_root_biosnumber_saved): new variable
28753 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
28754 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 28755 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 28756 %dx after the call if necessary
28757 * conf/common.rmk (pkglib_MODULES): remove boot.mod
28758 (boot_mod_SOURCES): remove
28759 (boot_mod_CFLAGS): remove
28760 (boot_mod_LDFLAGS): remove
28761 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
28762 (boot_mod_SOURCES): new variable
28763 (boot_mod_CFLAGS): likewise
28764 (boot_mod_LDFLAGS): likewise
28765 * conf/i386-efi.rmk: likewise
28766 * conf/i386-ieee1275.rmk: likewise
28767 * conf/i386-pc.rmk: likewise
28768 * conf/powerpc-ieee1275.rmk: likewise
28769 * conf/sparc64-ieee1275.rmk: likewise
28770 * conf/x86_64-efi.rmk: likewise
28771 * include/grub/i386/pc/biosnum.h: new file
28772 * lib/i386/pc/biosnum.c: likewise
28773 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
28774 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
28775 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 28776
33abf7ae 287772009-06-10 Pavel Roskin <proski@gnu.org>
28778
5ac35b35 28779 * io/gzio.c (test_header): Don't reuse one buffer for all data.
28780 Use separate variables. Read only the file size at the end, but
28781 not the checksum that we don't use.
28782
5c5215d5 28783 * kern/file.c (grub_file_read): Use void pointer for the buffer.
28784 Adjust all callers.
28785
27d5fef7 28786 * kern/ieee1275/openfw.c: Remove libc includes.
28787 * kern/ieee1275/cmain.c: Likewise.
28788 * include/grub/ieee1275/ieee1275.h: Likewise.
28789
33abf7ae 28790 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
28791 compiler warnings.
28792
19d50c2b 287932009-06-10 Felix Zielcke <fzielcke@z-51.de>
28794
28795 * Makefile.in: Remove all trailing whitespace.
28796 * conf/i386-pc.rmk: Likewise.
28797 * conf/powerpc-ieee1275.rmk: Likewise.
28798 * conf/sparc64-ieee1275.rmk: Likewise.
28799 * docs/grub.texi: Likewise.
28800 * docs/texinfo.tex: Likewise.
28801 * disk/fs_uuid.c: Likewise.
28802 * disk/lvm.c: Likewise.
28803 * disk/scsi.c: Likewise.
28804 * disk/ata.c: Likewise.
28805 * disk/ieee1275/ofdisk.c: Likewise.
28806 * disk/i386/pc/biosdisk.c: Likewise.
28807 * disk/host.c: Likewise.
28808 * disk/raid.c: Likewise.
28809 * disk/efi/efidisk.c: Likewise.
28810 * disk/usbms.c: Likewise.
28811 * disk/memdisk.c: Likewise.
28812 * disk/loopback.c: Likewise.
28813 * kern/powerpc/dl.c: Likewise.
28814 * kern/device.c: Likewise.
28815 * kern/dl.c: Likewise.
28816 * kern/sparc64/dl.c: Likewise.
28817 * kern/ieee1275/ieee1275.c: Likewise.
28818 * kern/term.c: Likewise.
28819 * kern/fs.c: Likewise.
28820 * kern/i386/dl.c: Likewise.
28821 * kern/i386/pc/startup.S: Likewise.
28822 * kern/i386/pc/init.c: Likewise.
28823 * kern/i386/pc/mmap.c: Likewise.
28824 * kern/i386/pc/lzo1x.S: Likewise.
28825 * kern/i386/ieee1275/init.c: Likewise.
28826 * kern/i386/realmode.S: Likewise.
28827 * kern/i386/tsc.c: Likewise.
28828 * kern/partition.c: Likewise.
28829 * kern/corecmd.c: Likewise.
28830 * kern/file.c: Likewise.
28831 * kern/efi/efi.c: Likewise.
28832 * kern/efi/init.c: Likewise.
28833 * kern/efi/mm.c: Likewise.
28834 * kern/main.c: Likewise.
28835 * kern/err.c: Likewise.
28836 * kern/env.c: Likewise.
28837 * kern/disk.c: Likewise.
28838 * kern/generic/millisleep.c: Likewise.
28839 * kern/generic/rtc_get_time_ms.c: Likewise.
28840 * kern/misc.c: Likewise.
28841 * kern/parser.c: Likewise.
28842 * genmk.rb: Likewise.
28843 * configure.ac: Likewise.
28844 * boot/i386/pc/diskboot.S: Likewise.
28845 * boot/i386/pc/pxeboot.S: Likewise.
28846 * boot/i386/pc/boot.S: Likewise.
28847 * boot/i386/pc/lnxboot.S: Likewise.
28848 * boot/i386/pc/cdboot.S: Likewise.
28849 * parttool/pcpart.c: Likewise.
28850 * video/readers/tga.c: Likewise.
28851 * video/video.c: Likewise.
28852 * video/bitmap.c: Likewise.
28853 * lib/envblk.c: Likewise.
28854 * lib/i386/setjmp.S: Likewise.
28855 * fs/xfs.c: Likewise.
28856 * fs/afs.c: Likewise.
28857 * fs/fat.c: Likewise.
28858 * fs/ntfs.c: Likewise.
28859 * fs/udf.c: Likewise.
28860 * fs/affs.c: Likewise.
28861 * fs/iso9660.c: Likewise.
28862 * fs/hfs.c: Likewise.
28863 * fs/fshelp.c: Likewise.
28864 * fs/ext2.c: Likewise.
28865 * fs/jfs.c: Likewise.
28866 * fs/reiserfs.c: Likewise.
28867 * fs/hfsplus.c: Likewise.
28868 * fs/minix.c: Likewise.
28869 * fs/cpio.c: Likewise.
28870 * fs/sfs.c: Likewise.
28871 * fs/ufs.c: Likewise.
28872 * efiemu/prepare.c: Likewise.
28873 * efiemu/loadcore_common.c: Likewise.
28874 * efiemu/runtime/efiemu.sh: Likewise.
28875 * efiemu/runtime/efiemu.S: Likewise.
28876 * efiemu/runtime/efiemu.c: Likewise.
28877 * efiemu/pnvram.c: Likewise.
28878 * efiemu/main.c: Likewise.
28879 * efiemu/i386/pc/cfgtables.c: Likewise.
28880 * efiemu/i386/loadcore64.c: Likewise.
28881 * efiemu/i386/loadcore32.c: Likewise.
28882 * efiemu/loadcore.c: Likewise.
28883 * efiemu/symbols.c: Likewise.
28884 * efiemu/mm.c: Likewise.
28885 * include/grub/autoefi.h: Likewise.
28886 * include/grub/datetime.h: Likewise.
28887 * include/grub/term.h: Likewise.
28888 * include/grub/hfs.h: Likewise.
28889 * include/grub/lvm.h: Likewise.
28890 * include/grub/i386/tsc.h: Likewise.
28891 * include/grub/i386/linux.h: Likewise.
28892 * include/grub/i386/xnu.h: Likewise.
28893 * include/grub/i386/efiemu.h: Likewise.
28894 * include/grub/i386/pc/biosdisk.h: Likewise.
28895 * include/grub/i386/pc/memory.h: Likewise.
28896 * include/grub/i386/pc/vbe.h: Likewise.
28897 * include/grub/parttool.h: Likewise.
28898 * include/grub/video.h: Likewise.
28899 * include/grub/memory.h: Likewise.
28900 * include/grub/fs.h: Likewise.
28901 * include/grub/partition.h: Likewise.
28902 * include/grub/xnu.h: Likewise.
28903 * include/grub/efi/api.h: Likewise.
28904 * include/grub/efi/pe32.h: Likewise.
28905 * include/grub/efi/memory.h: Likewise.
28906 * include/grub/multiboot.h: Likewise.
28907 * include/grub/usbdesc.h: Likewise.
28908 * include/grub/multiboot2.h: Likewise.
28909 * include/grub/acpi.h: Likewise.
28910 * include/grub/efiemu/efiemu.h: Likewise.
28911 * include/grub/disk.h: Likewise.
28912 * include/grub/ieee1275/ieee1275.h: Likewise.
28913 * include/grub/net.h: Likewise.
28914 * include/grub/machoload.h: Likewise.
28915 * include/grub/macho.h: Likewise.
28916 * include/multiboot.h: Likewise.
28917 * genmoddep.awk: Likewise.
28918 * normal/main.c: Likewise.
28919 * normal/menu_entry.c: Likewise.
28920 * normal/menu_viewer.c: Likewise.
28921 * normal/completion.c: Likewise.
28922 * normal/cmdline.c: Likewise.
28923 * normal/misc.c: Likewise.
28924 * normal/datetime.c: Likewise.
28925 * bus/usb/usbtrans.c: Likewise.
28926 * bus/usb/ohci.c: Likewise.
28927 * bus/usb/uhci.c: Likewise.
28928 * bus/usb/usb.c: Likewise.
28929 * mmap/efi/mmap.c: Likewise.
28930 * mmap/i386/pc/mmap_helper.S: Likewise.
28931 * mmap/i386/pc/mmap.c: Likewise.
28932 * mmap/i386/mmap.c: Likewise.
28933 * mmap/i386/uppermem.c: Likewise.
28934 * mmap/mmap.c: Likewise.
28935 * commands/acpi.c: Likewise.
28936 * commands/echo.c: Likewise.
28937 * commands/blocklist.c: Likewise.
28938 * commands/loadenv.c: Likewise.
28939 * commands/usbtest.c: Likewise.
28940 * commands/boot.c: Likewise.
28941 * commands/parttool.c: Likewise.
28942 * commands/search.c: Likewise.
28943 * commands/cat.c: Likewise.
28944 * commands/i386/pc/play.c: Likewise.
28945 * commands/i386/pc/drivemap.c: Likewise.
28946 * commands/i386/pc/vbeinfo.c: Likewise.
28947 * commands/i386/pc/acpi.c: Likewise.
28948 * commands/i386/pc/vbetest.c: Likewise.
28949 * commands/ls.c: Likewise.
28950 * commands/cmp.c: Likewise.
28951 * commands/test.c: Likewise.
28952 * commands/efi/acpi.c: Likewise.
28953 * commands/gptsync.c: Likewise.
28954 * commands/help.c: Likewise.
28955 * partmap/amiga.c: Likewise.
28956 * partmap/apple.c: Likewise.
28957 * partmap/acorn.c: Likewise.
28958 * partmap/pc.c: Likewise.
28959 * partmap/sun.c: Likewise.
28960 * partmap/gpt.c: Likewise.
28961 * script/sh/lexer.c: Likewise.
28962 * script/sh/function.c: Likewise.
28963 * font/font.c: Likewise.
28964 * font/font_cmd.c: Likewise.
28965 * loader/powerpc/ieee1275/linux.c: Likewise.
28966 * loader/efi/chainloader.c: Likewise.
28967 * loader/multiboot_loader.c: Likewise.
28968 * loader/macho.c: Likewise.
28969 * loader/i386/multiboot.c: Likewise.
28970 * loader/i386/linux.c: Likewise.
28971 * loader/i386/pc/linux.c: Likewise.
28972 * loader/i386/pc/multiboot2.c: Likewise.
28973 * loader/i386/pc/chainloader.c: Likewise.
28974 * loader/i386/pc/xnu.c: Likewise.
28975 * loader/i386/bsd_trampoline.S: Likewise.
28976 * loader/i386/efi/linux.c: Likewise.
28977 * loader/i386/multiboot_elfxx.c: Likewise.
28978 * loader/i386/bsd_helper.S: Likewise.
28979 * loader/i386/bsd.c: Likewise.
28980 * loader/i386/linux_trampoline.S: Likewise.
28981 * loader/i386/xnu_helper.S: Likewise.
28982 * loader/i386/xnu.c: Likewise.
28983 * loader/i386/bsd_pagetable.c: Likewise.
28984 * loader/i386/multiboot_helper.S: Likewise.
28985 * loader/xnu.c: Likewise.
28986 * loader/xnu_resume.c: Likewise.
28987 * io/gzio.c: Likewise.
28988 * term/efi/console.c: Likewise.
28989 * term/terminfo.c: Likewise.
28990 * term/ieee1275/ofconsole.c: Likewise.
28991 * term/i386/pc/serial.c: Likewise.
28992 * term/i386/pc/vesafb.c: Likewise.
28993 * term/i386/pc/vga.c: Likewise.
28994 * term/usb_keyboard.c: Likewise.
28995 * term/gfxterm.c: Likewise.
28996 * aclocal.m4: Likewise.
28997 * util/lvm.c: Likewise.
28998 * util/grub.d/30_os-prober.in: Likewise.
28999 * util/grub.d/10_hurd.in: Likewise.
29000 * util/console.c: Likewise.
29001 * util/grub-macho2img.c: Likewise.
29002 * util/grub-probe.c: Likewise.
29003 * util/hostfs.c: Likewise.
29004 * util/i386/pc/grub-mkimage.c: Likewise.
29005 * util/i386/pc/grub-setup.c: Likewise.
29006 * util/i386/efi/grub-mkimage.c: Likewise.
29007 * util/grub-mkconfig.in: Likewise.
29008 * util/raid.c: Likewise.
29009 * util/resolve.c: Likewise.
29010 * util/grub-mkdevicemap.c: Likewise.
29011 * util/grub-emu.c: Likewise.
29012 * util/getroot.c: Likewise.
29013 * util/hostdisk.c: Likewise.
29014 * util/usb.c: Likewise.
29015 * util/grub-editenv.c: Likewise.
29016 * util/misc.c: Likewise.
29017
d2d49665 290182009-06-10 Felix Zielcke <fzielcke@z-51.de>
29019
29020 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29021 `genparttoollist.sh'.
29022 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29023 Add `*.sh' to the list find searches for and change `mdate.sh'
29024 to `mdate-sh'.
29025
fe052e37 290262009-06-10 Pavel Roskin <proski@gnu.org>
29027
2763ac18 29028 * include/grub/multiboot2.h: Provide compatibility defines for
29029 multiboot2.h.
29030 * include/multiboot2.h: Include stdint.h only if needed, using
29031 angle brackets.
29032 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29033 grub/multiboot2.h.
29034 * loader/ieee1275/multiboot2.c: Likewise.
29035 * loader/multiboot2.c: Likewise.
29036 * loader/multiboot_loader.c: Likewise.
29037
437e6adc 29038 * configure.ac: Use -nostdlib when probing for the target. It
29039 should not be required to have libc for the target.
29040
06a6836c 29041 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29042 they fail without libc headers for the target.
29043 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29044 exports.
29045 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29046 preprocessor conditionals.
29047
fe052e37 29048 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29049 build system doesn't need to be aware of the tar.c internals.
29050
afd22553 290512009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 29052
afd22553 29053 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 29054
6b787c4f 290552009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29056
29057 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29058 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29059
290602009-06-09 Felix Zielcke <fzielcke@z-51.de>
29061
29062 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 29063 aren't available if ata.mod gets used.
6b787c4f 29064
473d1e45 290652009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 29066
473d1e45 29067 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 29068 initialising controller.
473d1e45 29069 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 29070
255a27d4 290712009-06-08 Felix Zielcke <fzielcke@z-51.de>
29072
29073 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29074 to choose between ata and biosdisk module on i386-pc.
29075
473d1e45 290762009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 29077
d55842d8 29078 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29079 Subclass and Programming Interface fields in terms of the 3 byte
29080 Class Code register.
29081 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29082
fa5db0b1 29083 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29084 interface is OHCI. Add grub_dprintf for symmetry with
29085 bus/usb/uhci.c.
29086 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29087 interface is UHCI. Add interf variable for programming
29088 interface. Print interface with class/subclass.
29089
c0947beb 29090 * bus/usb/ohci.c: Set interf with correct field.
29091
69da8877 29092 * bus/usb/uhci.c: Remove unneeded doubled lines.
29093 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29094 Remove whitespace inside comment.
29095
9e172e30 290962009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29097
29098 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29099 as fallback an equivalent option without depth.
29100
de65ee2b 291012009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29102
29103 Not fail if unable to retrieve C/H/S on LBA disks
29104
473d1e45 29105 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 29106 if unable to retrieve C/H/S on LBA disks
29107
b57ea2c9 291082009-06-08 Pavel Roskin <proski@gnu.org>
29109
29110 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29111 about aliasing.
29112
af361263 291132009-06-08 Felix Zielcke <fzielcke@z-51.de>
29114
29115 * Makefile.in (uninstall): Remove all $lib_DATA files.
29116
4c9ec6b3 291172009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29118
29119 Bugfix: install on partitionless device
29120
29121 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29122 is a whole disk
29123
e76fc924 291242009-06-08 Felix Zielcke <fzielcke@z-51.de>
29125
29126 * Makefile.in (uninstall): Remove all $include_DATA files.
29127
ba5a0d05 291282009-06-08 Felix Zielcke <fzielcke@z-51.de>
29129
29130 * commands/true.c: New file. Implement the true and false commands.
29131 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29132 (true_mod_SOURCES): New variable.
29133 (true_mod_CFLAGS): Likewise.
29134 (true_mod_LDFLAGS): Likewise.
29135
c8048e32 291362009-06-05 Colin D Bennett <colin@gibibit.com>
29137
29138 Optimized font character lookup using binary search instead of linear
29139 search. Fonts now are required to have the character index ordered by
29140 code point.
29141
29142 * font/font.c (load_font_index): Verify that fonts have ordered
29143 character indices.
29144 (find_glyph): Use binary search instead of linear search to find a
29145 character in a font.
29146
408305be 291472009-06-05 Michael Scherer <misc@mandriva.org>
29148
29149 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29150 uses case sensitive btree.
29151 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29152 only for case insensitive filesystems.
29153
8ee1e0d9 291542009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29155
29156 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29157 * conf/common.rmk (search_mod_CFLAGS): likewise
29158
a9966eb1 291592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29160
473d1e45 29161 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 29162 compensate a compiler bug
29163
9e7100fb 291642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29165
473d1e45 29166 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 29167 instead of '\b'
473d1e45 29168
ede21d71 291692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29170
29171 Definitions for creating asm symbols with Apple's CC
29172
29173 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29174 [APPLE_CC] (VARIABLE): likewise
29175
9dbf7653 291762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29177
29178 Disable lnxboot.img when compiled
29179 with Apple's CC
29180
29181 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29182 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29183 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29184 [! APPLE_CC] (CODE_LENG): skip
29185 [! APPLE_CC] (setup_sects): likewise
29186 [! APPLE_CC]: skip filling
473d1e45 29187
e93cdc3d 291882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29189
29190 Address in trampolines based on 32-bit registers when compiled
29191 with Apple's CC
29192
473d1e45 29193 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 29194 for addresses
29195 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29196
6c688477 291972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29198
29199 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29200
29201 * kern/misc.c [APPLE_CC] (memcpy): new function
29202 [APPLE_CC] (memmove): likewise
29203 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 29204 (memcpy): define alias conditionally on !APPLE_CC
6c688477 29205 (memset): likewise
29206 (abort): likewise
29207 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29208 APPLE_CC are defined
29209 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29210 (grub_assert_fail): make prototype conditional
29211
e37ffc5c 292122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29213
29214 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29215
473d1e45 29216 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29217 grub-macho2img
e37ffc5c 29218 (CLEANFILES): add grub-macho2img
29219 (grub_macho2img_SOURCES): new variable
29220 * kern/i386/pc/startup.S (bss_start): new variable
29221 (bss_end): likewise
29222 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29223 * util/grub-macho2img.c: new file
29224
cf00df31 292252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29226
29227 Use objconv when compiling with Apple's CC
29228
29229 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29230 (efiemu64.o): likewise
29231 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29232 when compiling with Apple's CC
29233 (efiemu64_s.o): likewise
29234 * configure.ac: check for objconv when compiling with Apple's CC
29235 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 29236
d119a20c 292372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29238
29239 Define segment as well as section when compiling with
29240 Apple's CC
29241
29242 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29243 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29244 (efiemu_convert_pointer): likewise
29245 (efiemu_set_virtual_address_map): likewise
29246 (efiemu_convert_pointer): likewise
29247 (efiemu_getcrc32): likewise
29248 (init_crc32_table): likewise
29249 (reflect): likewise
29250 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29251 (GRUB_MOD_DEP): likewise
473d1e45 29252
c8600122 292532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29254
29255 Allow a compilation without -mcmodel=large
29256
29257 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29258 when compiled without -mcmodel=large
473d1e45 29259 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 29260 without -mcmodel=large
473d1e45 29261 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 29262 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 29263
e8df1d4e 292642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29265
29266 Remove nested functions in efiemu core
29267
29268 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 29269
cc6c3ac1 292702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29271
29272 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29273
29274 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29275 temporary storage
473d1e45 29276 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29277 using Apple's CC
cc6c3ac1 29278 (grub_cpu_is_tsc_supported): likewise
29279 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 29280
3e325901 292812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29282
29283 Absolute addressing through constant with Apple's cc
29284
29285 * kern/i386/pc/startup.S: Define necessary constants
29286 and address through it when using ABS with Apple's CC
29287 * boot/i386/pc/diskboot.S: likewise
29288 * boot/i386/pc/boot.S: likewise
29289 * boot/i386/pc/lnxboot.S: likewise
29290 * boot/i386/pc/cdboot.S: likewise
29291 * mmap/i386/pc/mmap_helper.S: likewise
29292 * commands/i386/pc/drivemap_int13h.S: likewise
29293
2b167a72 292942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29295
29296 Check if compiler is apple cc
29297
29298 * Makefile.in (ASFLAGS): new variable
29299 (TARGET_ASFLAGS): likewise
29300 (TARGET_MODULE_FORMAT): likewise
29301 (TARGET_APPLE_CC): likewise
29302 (OBJCONV): likewise
29303 (TARGET_IMG_CFLAGS): likewise
29304 (TARGET_CPPFLAGS): add includedir
29305 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29306 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29307 Check for linker script only if compiler isn't Apple's CC
29308 (TARGET_MODULE_FORMAT): set
29309 (TARGET_APPLE_CC): likewise
29310 (TARGET_ASFLAGS): likewise
29311 (ASFLAGS): likewise
29312 Check for objcopy only if compiler isn't Apple's CC
29313 Check for BSS symbol only if compiler isn't Apple's CC
29314 * genmk.rb: adapt nm options if we use Apple's utils
29315 * aclocal.m4 (grub_apple_cc): new test
29316 (grub_apple_target_cc): likewise
473d1e45 29317
fb14123e 293182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29319
29320 Simplify sed expressions and improve awk
29321
29322 * Makefile.in (install-local): simplify sed expression
29323 * gencmdlist.sh: likewise
29324 * genmoddep.awk: avoid adding module as a dependency of itself
29325
5b889789 293262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29327
29328 Add missing start symbols
29329
29330 * boot/i386/pc/boot.S: add start
fb14123e 29331 * boot/i386/pc/pxeboot.S: likewise
473d1e45 29332
fd2bf2e3 293332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29334
29335 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 29336
29337 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 29338 (relocate_addresses): consider both r_addend and value at offset
29339 (make_mods_section): zerofill modinfo and header
29340 (convert_elf): write prefix here
473d1e45 29341
5389763d 293422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29343
29344 Use .asciz instead of .string
29345
29346 * i386/pc/diskboot.S: use .asciz instead of .string
29347 * i386/pc/boot.S: likewise
29348 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29349 (GRUB_MOD_NAME): likewise
473d1e45 29350
3eb5ed4e 293512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29352
29353 gfxpayload support
29354
29355 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29356 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29357 (grub_video_setup): remove
29358 (grub_video_set_mode): new prototype
29359 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29360 (vid_mode): remove
29361 (linux_vesafb_res): compile only on PCBIOS
29362 (grub_linux_boot): support gfxpayload
29363 * loader/i386/pc/xnu.c (video_hook): new function
29364 (grub_xnu_set_video): support gfxpayload
29365 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29366 (DEFAULT_VIDEO_HEIGHT): likewise
29367 (DEFAULT_VIDEO_FLAGS): likewise
29368 (DEFAULT_VIDEO_MODE): new definition
29369 (video_hook): new function
29370 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 29371 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 29372 loading xnu
29373 * video/video.c (grub_video_setup): removed
473d1e45 29374 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 29375 grub_video_setup
29376
4b0e1143 293772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29378
29379 Avoid calling biosdisk in drivemap
29380
29381 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29382 (revparse_biosdisk): likewise
29383 (list_mappings): derive name from id directly
29384 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 29385
fda6cb98 293862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29387
29388 Script fixes
29389
29390 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29391 (grub_lexer_param): add tokenonhold
29392 (grub_script_create_cmdline): remove cmdline. All callers updated
29393 (grub_script_function_create): make functionname
29394 grub_script_arg. All callers updated
29395 (grub_script_execute_argument_to_string): new prototype
29396 * kern/parser.c (state_transitions): reorder
29397 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 29398 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 29399 make global
29400 (grub_script_execute_cmdline): use new format
29401 * script/sh/function.c (grub_script_function_create): make functionname
29402 grub_script_arg. All callers updated
473d1e45 29403 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 29404 (grub_script_yylex): remove
29405 (grub_script_yylex2): renamed to ...
29406 (grub_script_yylex): ...renamed
29407 parse the expressions like a${b}c
29408 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29409 (GRUB_PARSER_TOKEN_VAR): remove
29410 (GRUB_PARSER_TOKEN_NAME): likewise
29411 ("if"): declare as typeless
29412 ("while"): likewise
29413 ("function"): likewise
29414 ("else"): likewise
29415 ("then"): likewise
29416 ("fi"): likewise
29417 (text): remove
29418 (argument): likewise
29419 (script): accept empty scripts and make exit on error
29420 (arguments): use GRUB_PARSER_TOKEN_ARG
29421 (function): likewise
29422 (command): move error handling to script
29423 (menuentry): move grub_script_lexer_ref before
473d1e45 29424 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 29425 argument. All callers updated
29426
f4448a07 294272009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29428
29429 Prevent GRUB from probing floppies during boot.
29430
29431 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29432 * commands/search.c (options): Add --no-floppy.
29433 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29434 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29435 --no-floppy when searching for UUIDs.
29436
2bf5885a 294372009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29438
29439 Simplify the code duplication in commands/search.c.
29440
29441 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29442 (search_fs): ... this. Update all users.
29443
f6fd460a 294442009-06-03 Felix Zielcke <fzielcke@z-51.de>
29445
29446 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29447
cbb3c83e 294482009-05-28 Pavel Roskin <proski@gnu.org>
29449
57788cfd 29450 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29451 Remove the original symlink explicitly.
29452
cbb3c83e 29453 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29454 just one slash. That's how grub_fshelp_find_file() does it.
29455
cd0d5e30 294562009-05-26 Pavel Roskin <proski@gnu.org>
29457
f0f8bbe2 29458 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29459 to `str'.
29460
cd0d5e30 29461 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29462 possibly unused.
29463
8c2cab51 294642009-05-25 Christian Franke <franke@computer.org>
29465
29466 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29467 register.
29468 (grub_atapi_identify): Add wait after drive select.
29469 (grub_ata_identify): Do more strict status register check before
29470 calling grub_atapi_identify (). Suppress error message if status
29471 register is 0x00 after command failure. Add status register
29472 check after PIO read to avoid bogus identify due to stuck DRQ.
29473 Thanks to Pavel Roskin for testing.
29474 (grub_device_initialize): Remove unsafe status register check.
29475 Thanks to 'phcoder' for problem report and patch.
29476 Prevent sign extension in debug message.
29477
230c0ad6 294782009-05-23 Colin D Bennett <colin@gibibit.com>
29479
29480 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29481 definition file, and functions defined in `normal/menu.c' have had
29482 their prototypes moved to `include/grub/menu.h' for consistency.
29483
29484 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29485 from normal.h.
29486 (grub_menu_get_entry): Likewise.
29487 (grub_menu_get_timeout): Likewise.
29488 (grub_menu_set_timeout): Likewise.
29489 (grub_menu_execute_entry): Likewise.
29490 (grub_menu_execute_with_fallback): Likewise.
29491 (grub_menu_entry_run): Likewise.
29492
29493 * include/grub/normal.h: Re-ordered and grouped function
29494 prototypes by file that the function is defined in.
29495 (grub_menu_execute_callback): Removed; moved to menu.h.
29496 (grub_menu_get_entry): Likewise.
29497 (grub_menu_get_timeout): Likewise.
29498 (grub_menu_set_timeout): Likewise.
29499 (grub_menu_execute_entry): Likewise.
29500 (grub_menu_execute_with_fallback): Likewise.
29501 (grub_menu_entry_run): Likewise.
29502 (grub_menu_addentry): Renamed from this ...
29503 (grub_normal_add_menu_entry): ... to this.
29504
29505 * normal/main.c (grub_menu_addentry): Renamed from this ...
29506 (grub_normal_add_menu_entry): ... to this.
29507
29508 * script/sh/execute.c (grub_script_execute_menuentry): Update
29509 reference to renamed grub_menu_addentry function.
29510
861f03a5 295112009-05-23 Felix Zielcke <fzielcke@z-51.de>
29512
29513 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29514
96b1619a 295152009-05-22 Pavel Roskin <proski@gnu.org>
29516
bf6a5fb2 29517 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29518 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29519 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29520 compiling for the i386 targets, but not for the utilities.
29521
96b1619a 29522 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
29523 to grub_uint8_t.
29524 (grub_root_drive): Likewise.
29525 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
29526 remove alignment.
29527 (grub_root_drive): Change size to byte.
29528 (grub_start_addr): Remove.
29529 (grub_end_addr): Likewise.
29530 (grub_apm_bios_info): Likewise.
29531
b729776b 295322009-05-21 Felix Zielcke <fzielcke@z-51.de>
29533
29534 * normal/i386: Remove.
29535 * normal/powerpc: Likewise.
29536 * normal/sparc64: Likewise.
29537 * normal/x86_64: Likewise.
29538
0a15ce80 295392009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
29540
29541 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 29542 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 29543 * loader/i386/xnu_helper.S: Likewise
d6da58e6 29544
33db9015 295452009-05-18 Colin D Bennett <colin@gibibit.com>
29546
d6da58e6 29547 Display error messages when parsing a Lua statement fails.
29548 Previously, executing a syntactically invalid statement like
29549 ")foo" or "bar;" would silently fail.
33db9015 29550
29551 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 29552 (grub_lua_parse_line): Improved reporting of Lua parser and
29553 execution errors.
33db9015 29554
46422c89 295552009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29556
29557 Remove -Werror which causes build to fail on some systems
29558
29559 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
29560 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
29561 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 29562
22f53a96 295632009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29564
29565 trampoline for linux on 64-bit platform
29566
18f547ad 29567 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
29568 loader/i386/efi/linux_trampoline.S
29569 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 29570 declaration
d6da58e6 29571 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
29572 here
22f53a96 29573 * loader/i386/linux_trampoline.S: moved here
d6da58e6 29574 * loader/i386/efi/linux.c (allocate_pages): reserve space for
29575 trampoline
22f53a96 29576 (jumpvector): removed
29577 (grub_linux_trampoline_start): new declaration
29578 (grub_linux_trampoline_end): likewise
29579 (grub_linux_boot): use trampoline when on 64-bit platform
29580 * loader/i386/linux.c: likewise
29581
cb5a0f40 295822009-05-16 Pavel Roskin <proski@gnu.org>
29583
29584 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
29585 const to avoid a warning.
29586 (grub_lua_setenv): Likewise.
29587 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
29588 lmsg to fix a warning.
29589
334f2c28 295902009-05-16 Felix Zielcke <fzielcke@z-51.de>
29591
29592 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 29593 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29594 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
29595 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29596 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29597 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29598 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29599 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 29600
59e5d3ec 296012009-05-16 Felix Zielcke <fzielcke@z-51.de>
29602
29603 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
29604
9d87a1ba 296052009-05-16 Bean <bean123ch@gmail.com>
29606
29607 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
29608 (lua_mod_SOURCES): New variable.
29609 (lua_mod_CFLAGS): Likewise.
29610 (lua_mod_LDFLAGS): Likewise.
29611
29612 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
29613 (setjmp_mod_SOURCES): New variable.
29614 (setjmp_mod_CFLAGS): Likewise.
29615 (setjmp_LDFLAGS): Likewise.
29616
29617 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
29618 (setjmp_mod_SOURCES): New variable.
29619 (setjmp_mod_CFLAGS): Likewise.
29620 (setjmp_LDFLAGS): Likewise.
29621
29622 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29623 (setjmp_mod_SOURCES): New variable.
29624 (setjmp_mod_CFLAGS): Likewise.
29625 (setjmp_LDFLAGS): Likewise.
29626
29627 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29628 (setjmp_mod_SOURCES): New variable.
29629 (setjmp_mod_CFLAGS): Likewise.
29630 (setjmp_LDFLAGS): Likewise.
29631
29632 * normal/i386/setjmp.S: Moved from here ...
29633 * lib/i386/setjmp.S: ... Moved here
29634 * normal/x86_64/setjmp.S: Moved from here ...
29635 * lib/x86_64/setjmp.S: ... Moved here
29636 * normal/powerpc/setjmp.S: Moved from here ...
29637 * lib/powerpc/setjmp.S: ... Moved here
29638 * normal/sparc64/setjmp.S: Moved from here ...
29639 * lib/sparc64/setjmp.S: ... Moved here
29640
29641 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
29642 returns_twice in mingw.
29643
29644 * script/lua/grub_lib.c: New file.
29645 * script/lua/grub_lib.h: Likewise.
29646 * script/lua/grub_lua.h: Likewise.
29647 * script/lua/grub_main.c: Likewise.
29648 * script/lua/lapi.c: Likewise.
29649 * script/lua/lapi.h: Likewise.
29650 * script/lua/lauxlib.c: Likewise.
29651 * script/lua/lauxlib.h: Likewise.
29652 * script/lua/lbaselib.c: Likewise.
29653 * script/lua/lcode.c: Likewise.
29654 * script/lua/lcode.h: Likewise.
29655 * script/lua/ldblib.c: Likewise.
29656 * script/lua/ldebug.c: Likewise.
29657 * script/lua/ldebug.h: Likewise.
29658 * script/lua/ldo.c: Likewise.
29659 * script/lua/ldo.h: Likewise.
29660 * script/lua/ldump.c: Likewise.
29661 * script/lua/lfunc.c: Likewise.
29662 * script/lua/lfunc.h: Likewise.
29663 * script/lua/lgc.c: Likewise.
29664 * script/lua/lgc.h: Likewise.
29665 * script/lua/linit.c: Likewise.
29666 * script/lua/liolib.c: Likewise.
29667 * script/lua/llex.c: Likewise.
29668 * script/lua/llex.h: Likewise.
29669 * script/lua/llimits.h: Likewise.
29670 * script/lua/lmathlib.c: Likewise.
29671 * script/lua/lmem.c: Likewise.
29672 * script/lua/lmem.h: Likewise.
29673 * script/lua/loadlib.c: Likewise.
29674 * script/lua/lobject.c: Likewise.
29675 * script/lua/lobject.h: Likewise.
29676 * script/lua/lopcodes.c: Likewise.
29677 * script/lua/lopcodes.h: Likewise.
29678 * script/lua/loslib.c: Likewise.
29679 * script/lua/lparser.c: Likewise.
29680 * script/lua/lparser.h: Likewise.
29681 * script/lua/lstate.c: Likewise.
29682 * script/lua/lstate.h: Likewise.
29683 * script/lua/lstring.c: Likewise.
29684 * script/lua/lstring.h: Likewise.
29685 * script/lua/lstrlib.c: Likewise.
29686 * script/lua/ltable.c: Likewise.
29687 * script/lua/ltable.h: Likewise.
29688 * script/lua/ltablib.c: Likewise.
29689 * script/lua/ltm.c: Likewise.
29690 * script/lua/ltm.h: Likewise.
29691 * script/lua/lua.h: Likewise.
29692 * script/lua/luaconf.h: Likewise.
29693 * script/lua/lualib.h: Likewise.
29694 * script/lua/lundump.c: Likewise.
29695 * script/lua/lundump.h: Likewise.
29696 * script/lua/lvm.c: Likewise.
29697 * script/lua/lvm.h: Likewise.
29698 * script/lua/lzio.c: Likewise.
29699 * script/lua/lzio.h: Likewise.
29700
5e898c9d 297012009-05-16 Bean <bean123ch@gmail.com>
29702
29703 * include/grub/kernel.h (grub_module_header_types): Add type
29704 OBJ_TYPE_CONFIG.
29705
29706 * kern/main.c (grub_load_config): New function.
29707 (grub_main): Call grub_load_config to read boot config.
29708
29709 * grub-mkimage (generate_image): New parameter config_path.
29710 (options): New option --config.
29711 (main): Parse --config option, and pass it to generate_image.
29712
cf353a47 297132009-05-14 Christian Franke <franke@computer.org>
29714
29715 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
29716 This fixes build on Cygwin.
29717
3834887f 297182009-05-14 Pavel Roskin <proski@gnu.org>
29719
29720 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
29721 jump. This saves two bytes, so the typical case of 2 swapped
29722 drives would fit 32 bytes.
29723
8090fc01 297242009-05-13 Pavel Roskin <proski@gnu.org>
29725
ac963883 29726 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
29727 grub_uint32_t to avoid a warning.
29728
8090fc01 29729 * loader/i386/linux.c (allocate_pages): When assigning
29730 real_mode_mem, cast through grub_size_t to fix a warning. The
29731 code already makes sure that the value would fit a pointer.
29732 (grub_linux_setup_video): Cast render_target->data to
29733 grub_size_t to fix a warning.
29734
18f547ad 297352009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 29736
29737 * commands/i386/pc/drivemap.c: New file - implement drivemap
29738 command.
29739 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
29740 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
29741
6f6a8b28 297422009-05-13 Pavel Roskin <proski@gnu.org>
29743
29744 * util/i386/pc/grub-setup.c (setup): Remove unused variable
29745 embedding_area_exists.
29746
15fbf4c4 297472009-05-13 Robert Millan <rmh.grub@aybabtu.com>
29748
29749 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
29750 it easier to understand / work with.
59978c8a 29751 Improve warning messages for cases where there's no embedding area,
29752 or when it is too small (or core.img too large).
15fbf4c4 29753
238e871f 297542009-05-13 Pavel Roskin <proski@gnu.org>
29755
0ab3a9a4 29756 * loader/i386/pc/multiboot2.c: Add necessary includes for
29757 grub_multiboot2_real_boot().
29758
a2c8c5f8 29759 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
29760 PX record is always little-endian. We only need the lower 2
29761 bytes of the mode.
29762
faec96af 29763 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
29764 facilitate code reuse.
29765 (grub_cpio_mount): Use "struct head", not a char buffer. This
29766 fixes a warning reported by gcc 4.4.
29767
238e871f 29768 * kernel/disk.c (grub_disk_read): Use void pointer for the
29769 buffer.
29770 (grub_disk_write): Use const void pointer for the buffer.
29771 Adjust all callers. Remove unnecessary casts.
29772
901d2f0c 297732009-05-10 Robert Millan <rmh.grub@aybabtu.com>
29774
29775 * util/i386/pc/grub-install.in: Update copyright year.
29776
18f547ad 297772009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 29778
29779 gptsync
29780
29781 * commands/gptsync.c: new file
29782 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
29783 (gptsync_mod_SOURCES): new variable
29784 (gptsync_mod_CFLAGS): likewise
29785 (gptsync_mod_LDFLAGS): likewise
18f547ad 29786 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 29787 new definition
29788 (GRUB_PC_PARTITION_TYPE_HFS): likewise
29789 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
29790 * conf/i386-ieee1275.rmk: likewise
29791 * conf/i386-pc.rmk: likewise
29792 * conf/powerpc-ieee1275.rmk: likewise
29793
b4ba690a 297942009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
29795
29796 Fixed grub-emu
29797
29798 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
29799 (grub_dl_ref): likewise
29800
317e1a44 298012009-05-08 Robert Millan <rmh.grub@aybabtu.com>
29802
29803 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
29804 split in two functions (one for msdos and one for gpt).
29805
041b8094 298062009-05-08 Pavel Roskin <proski@gnu.org>
29807
752473c2 29808 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
29809 not modified.
29810
041b8094 29811 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
29812 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
29813 Initialize them with -1. Add sanity check for bad1. Eliminate
29814 nerr variable.
29815
172800ce 298162009-05-08 David S. Miller <davem@davemloft.net>
29817
29818 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
29819
29aa5e81 298202009-05-06 Robert Millan <rmh.grub@aybabtu.com>
29821
29822 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 29823 existence.
29aa5e81 29824
96613b62 298252009-05-05 Felix Zielcke <fzielcke@z-51.de>
29826
29827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 29828 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 29829
eef73c8a 298302009-05-05 David S. Miller <davem@davemloft.net>
29831
29832 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
29833
119494b5 298342009-05-05 Pavel Roskin <proski@gnu.org>
29835
29836 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
29837 of grub_dl_ref() and grub_dl_unref().
29838 * commands/parttool.c: Remove preprocessor conditionals around
29839 grub_dl_ref() and grub_dl_unref().
29840 * fs/affs.c: Likewise.
29841 * fs/afs.c: Likewise.
29842 * fs/cpio.c: Likewise.
29843 * fs/ext2.c: Likewise.
29844 * fs/fat.c: Likewise.
29845 * fs/hfs.c: Likewise.
29846 * fs/hfsplus.c: Likewise.
29847 * fs/iso9660.c: Likewise.
29848 * fs/jfs.c: Likewise.
29849 * fs/minix.c: Likewise.
29850 * fs/ntfs.c: Likewise.
29851 * fs/reiserfs.c: Likewise.
29852 * fs/sfs.c: Likewise.
29853 * fs/udf.c: Likewise.
29854 * fs/ufs.c: Likewise.
29855 * fs/xfs.c: Likewise.
29856 * include/grub/dl.h: Likewise.
29857 * loader/xnu.c: Likewise.
29858
de5fd76e 298592009-05-04 Pavel Roskin <proski@gnu.org>
29860
29861 * commands/acpi.c: Remove unused variable my_mod.
29862 * partmap/amiga.c: Likewise.
29863 * partmap/apple.c: Likewise.
29864 * partmap/gpt.c: Likewise.
29865 * partmap/pc.c: Likewise.
29866 * partmap/sun.c: Likewise.
29867 * term/gfxterm.c: Likewise.
29868 * term/i386/pc/vesafb.c: Likewise.
29869 * term/i386/pc/vga.c: Likewise.
29870
983598ad 298712009-05-04 David S. Miller <davem@davemloft.net>
29872
29873 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
29874 pointer args to grub_ieee1275_get_property().
29875
8aadec43 29876 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
29877
9554b15e 29878 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
29879 devices, and do not traverse down under controller nodes.
29880
67e23c90 29881 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
29882 (grub_ofdisk_open): Use it to un-escape "," characters.
29883 * kern/disk.c (find_part_sep): New.
29884 (grub_disk_open): Use it to find the first non-escaped ','
29885 character in the disk name.
29886 * util/ieee1275/devicemap.c (escape_of_path): New.
29887 (grub_util_emit_devicemap_entry): Use it.
29888 * util/sparc64/ieee1275/grub-install.in: Update script to
29889 strip partition specifiers properly by not triggering on
29890 '\' escaped ',' characters.
29891
74bfdd2f 298922009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29893
29894 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
29895 to 0x300.
29896 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
29897 resolutions.
29898 (linux_vesafb_modes): Add a lot of additional modes to the list (based
29899 on documentation from Wikipedia).
29900
4241d2b1 299012009-05-04 Pavel Roskin <proski@gnu.org>
29902
29903 * disk/ata.c: Spelling fixes.
29904 * disk/raid.c: Likewise.
29905 * disk/usbms.c: Likewise.
29906 * disk/dmraid_nvidia.c: Likewise.
29907 * kern/ieee1275/openfw.c: Likewise.
29908 * kern/ieee1275/init.c: Likewise.
29909 * kern/ieee1275/cmain.c: Likewise.
29910 * boot/i386/pc/cdboot.S: Likewise.
29911 * video/readers/png.c: Likewise.
29912 * video/i386/pc/vbe.c: Likewise.
29913 * fs/udf.c: Likewise.
29914 * fs/hfs.c: Likewise.
29915 * fs/reiserfs.c: Likewise.
29916 * efiemu/runtime/efiemu.c: Likewise.
29917 * efiemu/main.c: Likewise.
29918 * efiemu/mm.c: Likewise.
29919 * include/grub/elf.h: Likewise.
29920 * include/grub/xnu.h: Likewise.
29921 * include/grub/usbdesc.h: Likewise.
29922 * include/grub/usb.h: Likewise.
29923 * include/grub/script_sh.h: Likewise.
29924 * include/grub/lib/LzmaEnc.h: Likewise.
29925 * include/grub/efiemu/efiemu.h: Likewise.
29926 * include/grub/command.h: Likewise.
29927 * normal/menu.c: Likewise.
29928 * normal/main.c: Likewise.
29929 * normal/datetime.c: Likewise.
29930 * bus/usb/uhci.c: Likewise.
29931 * mmap/i386/uppermem.c: Likewise.
29932 * mmap/mmap.c: Likewise.
29933 * commands/acpi.c: Likewise.
29934 * commands/test.c: Likewise.
29935 * partmap/apple.c: Likewise.
29936 * font/font.c: Likewise.
29937 * loader/sparc64/ieee1275/linux.c: Likewise.
29938 * loader/macho.c: Likewise.
29939 * loader/i386/bsd_trampoline.S: Likewise.
29940 * loader/i386/bsd.c: Likewise.
29941 * loader/xnu.c: Likewise.
29942 * term/i386/pc/vesafb.c: Likewise.
29943 * term/usb_keyboard.c: Likewise.
29944 * util/resolve.c: Likewise.
29945 * util/getroot.c: Likewise.
29946
0cfc0083 299472009-05-04 Felix Zielcke <fzielcke@z-51.de>
29948
29949 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
29950
7c1d00cd 299512009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29952
29953 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
29954 build error.
29955
b01f0548 299562009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29957
29958 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
29959 parameter only available on BIOS.
29960
ecc3eb22 299612009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29962
29963 Removed wrong semicolon in declaration
29964
29965 * grub/misc.h (grub_dprintf): remove semicolon
29966
112972a9 299672009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29968
29969 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
29970 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
29971 is done by grub_cmd_linux() now).
29972 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
29973 restore video to text mode.
29974 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
29975 indicates lack of "vga=" parameter. "vga=0" is mapped to
29976 `GRUB_LINUX_VID_MODE_NORMAL'.
29977
afd5c115 299782009-05-04 Felix Zielcke <fzielcke@z-51.de>
29979
29980 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
29981 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
29982 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 29983 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 29984 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
29985 `grub_script.tab.c'.
29986
29987 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29988 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29990 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29991 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29992
faa517ce 29993 * Makefile.in: Remove duplicated 2008 in Copyright line.
29994
ae0c0bdc 299952009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29996
473d1e45 29997 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 29998 unconditionally.
29999 * include/grub/util/misc.h (grub_util_warn): New declaration.
30000
30001 * util/i386/pc/grub-install.in: Understand --force and pass it down
30002 to grub-setup.
30003
30004 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30005 down to setup().
30006 (setup): Improve error messages and add warnings when requested to
30007 install in odd layouts. Refuse to install using blocklists unless
30008 --force was set.
30009
18f547ad 300102009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 30011
30012 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30013
6d260daa 300142009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30015
30016 Updated copyright year
30017
30018 * fs/hfsplus.c: updated copyright year
18f547ad 30019
69f853f8 300202009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30021
30022 HFS+ UUID
30023
18f547ad 30024 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 30025 in the space previously used by unused3
30026 (grub_hfsplus_uuid): new function
30027 (grub_hfsplus_fs): added uuid field
30028
4c402e73 300292009-05-03 Pavel Roskin <proski@gnu.org>
30030
30031 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30032 suppress warnings. It's no longer needed.
30033 * disk/host.c: Likewise.
30034 * disk/ata_pthru.c: Likewise.
30035 * disk/loopback.c: Likewise.
30036 * hook/datehook.c: Likewise.
30037 * parttool/pcpart.c: Likewise.
30038 * fs/i386/pc/pxe.c: Likewise.
30039 * fs/ntfscomp.c: Likewise.
30040 * efiemu/main.c: Likewise.
30041 * mmap/mmap.c: Likewise.
30042 * commands/crc.c: Likewise.
30043 * commands/hexdump.c: Likewise.
30044 * commands/hdparm.c: Likewise.
30045 * commands/acpi.c: Likewise.
30046 * commands/echo.c: Likewise.
30047 * commands/minicmd.c: Likewise.
30048 * commands/blocklist.c: Likewise.
30049 * commands/memrw.c: Likewise.
30050 * commands/loadenv.c: Likewise.
30051 * commands/usbtest.c: Likewise.
30052 * commands/lsmmap.c: Likewise.
30053 * commands/boot.c: Likewise.
30054 * commands/parttool.c: Likewise.
30055 * commands/configfile.c: Likewise.
30056 * commands/search.c: Likewise.
30057 * commands/ieee1275/suspend.c: Likewise.
30058 * commands/cat.c: Likewise.
30059 * commands/i386/pc/pxecmd.c: Likewise.
30060 * commands/i386/pc/play.c: Likewise.
30061 * commands/i386/pc/halt.c: Likewise.
30062 * commands/i386/pc/vbeinfo.c: Likewise.
30063 * commands/i386/pc/vbetest.c: Likewise.
30064 * commands/lspci.c: Likewise.
30065 * commands/date.c: Likewise.
30066 * commands/handler.c: Likewise.
30067 * commands/ls.c: Likewise.
30068 * commands/test.c: Likewise.
30069 * commands/cmp.c: Likewise.
30070 * commands/efi/loadbios.c: Likewise.
30071 * commands/efi/fixvideo.c: Likewise.
30072 * commands/halt.c: Likewise.
30073 * commands/help.c: Likewise.
30074 * commands/reboot.c: Likewise.
30075 * hello/hello.c: Likewise.
30076 * script/sh/main.c: Likewise.
30077 * loader/xnu.c: Likewise.
30078 * term/terminfo.c: Likewise.
30079 * term/i386/pc/serial.c: Likewise.
30080 * term/usb_keyboard.c: Likewise.
30081
515b5079 300822009-05-03 David S. Miller <davem@davemloft.net>
30083
30084 * normal/menu.c: Include grub/parser.h
30085
dfc31a22 300862009-05-03 Pavel Roskin <proski@gnu.org>
30087
2fee74f1 30088 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30089 not char*.
30090 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30091 Suggested by Javier Martín <lordhabbit@gmail.com>
30092
dfc31a22 30093 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30094 efiemu??.o doesn't exist.
30095 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30096 copying.
30097
18f547ad 300982009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 30099
30100 FreeBSD 64-bit support
30101
18f547ad 30102 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 30103 and loader/i386/bsd_trampoline.S
30104 (bsd_mod_ASFLAGS): new variable
30105 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30106 (FREEBSD_MODTYPE_KERNEL64): likewise
30107 (grub_bsd64_trampoline_start): likewise
30108 (grub_bsd64_trampoline_end): likewise
30109 (grub_bsd64_trampoline_selfjump): likewise
30110 (grub_bsd64_trampoline_gdt): likewise
30111 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30112 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30113 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30114 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 30115 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 30116 of "attrib" member
30117 * loader/i386/bsd_pagetable.c: new file
30118 * loader/i386/bsd_trampoline.S: likewise
30119 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30120 (ALIGN_VAR): likewise
30121 (entry_hi): new variable
30122 (kern_end_mdofs): likewise
30123 (is_64bit): likewise
30124 (grub_freebsd_add_meta): use ALIGN_VAR
30125 (grub_e820_mmap): new declaration
30126 (grub_freebsd_add_mmap): new function
30127 (grub_freebsd_add_meta_module): support 64 bit kernels
30128 (grub_freebsd_list_modules): use ALIGN_VAR
30129 (gdt_descriptor): new declaration
30130 (grub_freebsd_boot): support 64 bit kernels
30131 (grub_bsd_elf64_hook): new function
30132 (grub_bsd_load_elf): support elf64
30133
038c5720 301342009-05-03 Bean <bean123ch@gmail.com>
30135
30136 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30137 after we get the result of if statement.
30138
fc45fb58 301392009-05-03 Bean <bean123ch@gmail.com>
30140
30141 * Makefile.in (enable_efiemu): New variable.
30142
30143 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30144 set.
30145 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30146 path.
30147 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30148 path, add -mno-red-zone option.
30149 (efiemu64_s.o): Likewise.
30150 (efiemu64.o): Use macro $^ for source file.
30151
30152 * configure.ac (--enable-efiemu): New option.
30153
bbee0f2b 301542009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30155
30156 xnu support
30157
30158 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30159 (pkglib_MODULES): add xnu.mod
30160 (xnu_mod_SOURCES): new variable
30161 (xnu_mod_CFLAGS): likewise
30162 (xnu_mod_LDFLAGS): likewise
30163 (xnu_mod_ASFLAGS): likewise
30164 * conf/i386-pc.rmk: likewise
30165 * conf/x86_64-efi.rmk: likewise
7dd4a573 30166 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 30167 new declaration
30168 * include/grub/i386/macho.h: new file
30169 * include/grub/i386/xnu.h: likewise
30170 * include/grub/macho.h: likewise
30171 * include/grub/machoload.h: likewise
30172 * include/grub/x86_64/macho.h: likewise
30173 * include/grub/x86_64/xnu.h: likewise
30174 * include/grub/xnu.h: likewise
30175 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30176 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30177 * loader/i386/efi/xnu.c: new file
30178 * loader/i386/pc/xnu.c: likewise
30179 * loader/i386/xnu.c: likewise
30180 * loader/i386/xnu_helper.S: likewise
30181 * loader/macho.c: likewise
30182 * loader/xnu.c: likewise
30183 * loader/xnu_resume.c: likewise
30184 * util/grub-dumpdevtree: likewise
30185 * include/grub/i386/pit.h: include grub/err.h
30186 (grub_pit_wait): export
30187 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 30188
5caf964d 301892009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30190
30191 Efiemu
7dd4a573 30192
5caf964d 30193 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 30194 _linux_efi, linux_efi.
30195 new files in grub-emu
5caf964d 30196 new targets efiemu32.o and efiemu64.o
30197 * loader/linux_normal_efiemu.c: likewise
30198 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 30199 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 30200 files to copy
30201 * include/grub/autoefi.h: new file
7dd4a573 30202 * include/grub/i386/efiemu.h: likewise
5caf964d 30203 * include/grub/i386/pc/efiemu.h: likewise
30204 * include/grub/efi/api.h: add LL suffix when necessary
30205 new definitions relating to tables
30206 * include/grub/efiemu/efiemu.h: new file
30207 * include/grub/efiemu/runtime.h: likewise
30208 * efiemu/prepare.c: likewise
30209 * efiemu/loadcore_common.c: likewise
30210 * efiemu/loadcore64.c: likewise
30211 * efiemu/runtime/efiemu.sh: likewise
30212 * efiemu/runtime/efiemu.S: likewise
30213 * efiemu/runtime/efiemu.c: likewise
30214 * efiemu/runtime/config.h: likewise
30215 * efiemu/prepare32.c: likewise
30216 * efiemu/main.c: likewise
30217 * efiemu/modules/pnvram.c: likewise
30218 * efiemu/modules/i386: likewise
30219 * efiemu/modules/i386/pc: likewise
30220 * efiemu/modules/acpi.c: likewise
30221 * efiemu/i386/pc/cfgtables.c: likewise
30222 * efiemu/i386/loadcore64.c: likewise
30223 * efiemu/i386/loadcore32.c: likewise
30224 * efiemu/prepare64.c: likewise
30225 * efiemu/loadcore.c: likewise
30226 * efiemu/symbols.c: likewise
30227 * efiemu/mm.c: likewise
30228 * efiemu/loadcore32.c: likewise
7dd4a573 30229
302302009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 30231
30232 ACPI spoofing
30233
30234 * commands/acpi.c: new file
30235 * commands/i386/pc/acpi.c: likewise
30236 * commands/efi/acpi.c: likewise
30237 * include/grub/acpi.h: likewise
30238 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30239 (acpi_mod_SOURCES): new variable
30240 (acpi_mod_CFLAGS): likewise
30241 (acpi_mod_LDFLAGS): likewise
30242 * conf/i386-efi.rmk: likewise
30243 * conf/x86_64-efi.rmk: likewise
30244
7dd4a573 302452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 30246
30247 Missing part from mmap patch
30248
30249 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30250 (grub_mmap_unregister)
30251 (grub_mmap_free_and_unregister): use grub_mmap_register
30252
7dd4a573 302532009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 30254
30255 Mmap services
30256
30257 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30258 * loader/i386/linux.c (find_mmap_size): likewise
30259 (allocate_pages): likewise
30260 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30261 (grub_fill_multiboot_mmap): likewise
30262 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30263 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30264 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30265 (OPENBSD_MMAP_RESERVED): likewise
30266 * include/grub/i386/pc/memory.h: include grub/memory.h
30267 (grub_lower_mem): removed
30268 (grub_upper_mem): likewise
30269 (GRUB_MACHINE_MEMORY_ACPI): new definition
30270 (GRUB_MACHINE_MEMORY_NVS): likewise
30271 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30272 (GRUB_MACHINE_MEMORY_HOLE): likewise
30273 (grub_machine_mmap_register): likewise
30274 (grub_machine_mmap_unregister): likewise
30275 (grub_machine_get_upper): likewise
30276 (grub_machine_get_lower): likewise
30277 (grub_machine_get_post64): likewise
30278 * include/grub/i386/efi/memory.h: new file
30279 * include/grub/x86_64/efi/memory.h: likewise
30280 * include/grub/efi/memory.h: likewise
30281 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30282 (mmap_mod_SOURCES): new variable
30283 (mmap_mod_LDFLAGS): likewise
30284 (mmap_mod_ASFLAGS): likewise
30285 * conf/i386-coreboot.rmk: likewise
30286 * conf/i386-ieee1275.rmk: likewise
30287 * conf/i386-efi.rmk: likewise
30288 * conf/x86_64-efi.rmk: likewise
30289 * include/grub/types.h (UINT_TO_PTR): new macro
30290 (PTR_TO_UINT32): likewise
30291 (PTR_TO_UINT64): likewise
30292 * include/grub/memory.h: new file
30293 * mmap/i386/pc/mmap.c: likewise
30294 * mmap/i386/pc/mmap_helper.S: likewise
30295 * mmap/i386/uppermem.c: likewise
30296 * mmap/mmap.c: likewise
30297 * mmap/efi/mmap.c: likewise
7dd4a573 30298 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 30299 grub_upper_mem
30300 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30301 (grub_upper_mem): likewise
30302 (grub_machine_init): don't use grub_upper_mem,
30303 make grub_lower_mem local
30304 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30305 grub_mmap_iterate and grub_mmap_get_upper
30306 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30307
d558e6b5 303082009-05-02 Bean <bean123ch@gmail.com>
30309
30310 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30311 script/sh/parser.y.
30312 (pkglib_MODULES): Add normal.mod and sh.mod.
30313 (normal_SOURCES): New variable.
30314 (normal_mod_CFLAGS): Likewise.
30315 (normal_mod_LDFLAGS): Likewise.
30316 (sh_mod_SOURCES): Likewise.
30317 (sh_mod_CFLAGS): Likewise.
30318 (sh_mod_LDFLAGS): Likewise.
30319
30320 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30321 script/sh/lexer.c_DEPENDENCIES.
30322 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30323 kern/rescue_reader.c and kern/rescue_parser.c.
30324 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30325 (grub_emu_SOURCES): Change source files.
30326 (pkglib_MODULES): Remove normal.mod.
30327 (normal_SOURCES): Removed.
30328 (normal_mod_CFLAGS): Likewise.
30329 (normal_mod_LDFLAGS): Likewise.
30330 * conf/i386-coreboot.rmk: Likewise.
30331 * conf/i386-efi.rmk: Likewise.
30332 * conf/i386-ieee1276.rmk: Likewise.
30333 * conf/powerpc-ieee1275.rmk: Likewise.
30334 * conf/sparc64-ieee1275.rmk: Likewise.
30335 * conf/x86_64-efi.rmk: Likewise.
30336
30337 * include/grub/command.h (grub_command_execute): New inline function.
30338
30339 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30340
30341 * include/grub/normal.h: Remove <grub/setjmp.h>.
30342 (grub_fs_module_list): Moved to normal/autofs.c.
30343 (grub_exit_env): Removed.
30344 (grub_command_execute): Likewise.
30345 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30346 parameter script.
30347 (read_command_list): New function declaration.
30348 (read_fs_list): Likewise.
30349
30350 * include/parser.h: Include <grub/reader.h>.
30351 (grub_parser_split_cmdline): Change type of getline parameter.
30352 (grub_parser): New structure.
30353 (grub_parser_class): New variable.
30354 (grub_parser_execute): New function declaration.
30355 (grub_register_rescue_parser): Likewise.
30356 (grub_parser_register): New inline function.
30357 (grub_parser_unregister): Likewise.
30358 (grub_parser_get_current): Likewise.
30359 (grub_parser_set_current): Likewise.
30360
30361 * include/grub/reader.h: New file.
30362 * kern/reader.c: Likewise.
30363 * kern/rescue_parser.c: Likewise.
30364 * kern/rescue_reader.c: Likewise.
30365 * normal/autofs.c: Likewise.
30366 * normal/dyncmd.c: Likewise.
30367
30368 * include/grub/rescue.h: Removed.
30369 * normal/command.h: Likewise.
30370
30371 * include/grub/script.h: Moved to ...
30372 * include/grub/script_sh.h: ... Moved here.
30373 * normal/execute.c: Moved to ...
30374 * script/sh/execute.c: ... Moved here.
30375 * normal/function.c: Moved to ...
30376 * script/sh/function.c: ... Moved here.
30377 * normal/lexer.c: Moved to ...
30378 * script/sh/lexer.c: ... Moved here.
30379 * normal/parser.y: Moved to ...
30380 * script/sh/parser.y: ... Moved here.
30381 * normal/script.c: Moved to ...
30382 * script/sh/script.c: ... Moved here.
30383
30384 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30385 <grub/reader.h>.
30386 (grub_exit_env): Removed.
30387 (fs_module_list): Moved to normal/autofs.c.
30388 (grub_file_getline): Don't handle comment here.
30389 (free_menu): Skip removed field entry->commands.
30390 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30391 script parameter.
30392 (read_config_file): Removed nested parameter, change getline function.
30393 (grub_enter_normal_mode): Removed.
30394 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30395 (read_command_list): Likewise.
30396 (autoload_fs_module): Moved to normal/autofs.c.
30397 (read_fs_list): Likewise.
30398 (reader_nested): New variable.
30399 (grub_normal_execute): Run parser.sh to switch to sh parser.
30400 (grub_cmd_rescue): Removed.
30401 (cmd_normal): Removed.
30402 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30403 rescue command.
30404 (grub_cmdline_run): New function.
30405 (grub_normal_reader_init): Likewise.
30406 (grub_normal_read_line): Likewise.
30407 (grub_env_write_pager): Likewise.
30408 (cmdline): New variable.
30409 (grub_normal_reader): Likewise.
30410 (GRUB_MOD_INIT): Register normal reader and set as current, register
30411 pager hook, register normal command with grub_register_command_prio,
30412 so that it won't show up in command.lst.
30413 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30414 grub_fs_autoload_hook.
30415
30416 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30417 (grub_menu_execute_entry): Replace grub_script_execute with
30418 grub_parser_execute, change parameter to grub_command_execute.
30419
30420 * normal/menu_text.c: Remove <grub/script.h>.
30421
30422 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30423 and <grub/parser.h>.
30424 (run): Change editor_getline to use new parser interface. Change
30425 parameter to grub_command_execute.
30426
30427 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30428 <grub/reader.h> and <grub/parser.h>.
30429 (grub_load_normal_mode): Execute normal command.
30430 (grub_main): Call grub_register_core_commands,
30431 grub_register_rescue_parser and grub_register_rescue_reader, use
30432 grub_reader_loop to enter input loop.
30433
7dd4a573 30434 * kern/parser.c (grub_parser_split_cmdline): Change type of
30435 getline parameter.
d558e6b5 30436 (grub_parser_class): New variable.
30437 (grub_parser_execute): New function.
30438
30439 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30440 * loader/multiboot2.c: Likewise.
30441 * loader/sparc64/ieee1275/linux.c: Likewise.
30442
30443 * util/grub-emu.c (read_command_list): New dummy function.
30444
18db813d 304452009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30446
30447 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30448 count to 16 for CCISS and IDA.
30449
6c67de15 304502009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30451
30452 * normal/menu_text.c (grub_wait_after_message): Print a newline
30453 after waiting for user input.
30454
30455 * loader/i386/linux.c: Include `<grub/normal.h>'.
30456 (grub_cmd_linux): Improve the error message about `ask' mode, by
30457 waiting for user input so it's not missed (we can do this, since
30458 user requested interaction).
30459
d9dc87b0 304602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30461
30462 Added missing lst to grub-mkrescue
30463
30464 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30465 and ${input_dir}/parttool.lst
30466
ac8a2baa 304672009-04-30 David S. Miller <davem@davemloft.net>
30468
ad22a610 30469 * util/hostdisk.c (device_is_wholedisk): New function.
30470 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30471 zero only if device_is_wholedisk() returns true.
30472
6966215d 30473 * util/hostdisk.c (convert_system_partition_to_system_disk):
30474 Handle virtual disk devices named /dev/vdiskX as found on sparc
30475 and powerpc.
30476
ac8a2baa 30477 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30478 lettered partition specifier is found, convert to numbered.
30479
979b4fb4 304802009-04-29 David S. Miller <davem@davemloft.net>
30481
e2bf39b2 30482 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30483 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30484
3c64e104 30485 * normal/command.c: Add missing newline at end of file.
30486
979b4fb4 30487 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30488 warnings.
30489 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30490 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30491 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30492 ihandles have a 32-bit type but need to be stored in a "void *".
30493
136d9f82 304942009-04-28 Pavel Roskin <proski@gnu.org>
30495
9459c306 30496 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30497 not disk. Adjust all dependencies.
2e08a26a 30498 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 30499 grub_disk_close().
30500
136d9f82 30501 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30502 parent's partition, don't copy it by reference, as it gets freed
30503 on close.
30504
7dd4a573 305052009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 30506
30507 Preboot hooks support
30508
30509 * commands/boot.c (struct grub_preboot_t): new declaration
30510 (preboots_head): new variable
30511 (preboots_tail): likewise
30512 (grub_loader_register_preboot_hook): new function
30513 (grub_loader_unregister_preboot_hook): likewise
30514 (grub_loader_set): launch preboot hooks
30515 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30516 (grub_loader_register_preboot_hook): new declaration
30517 (grub_loader_unregister_preboot_hook): likewise
30518
5af922b5 305192009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30520
30521 Warning fix
30522
7dd4a573 30523 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 30524 calling grub_dprintf
30525
a5562c30 305262009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
30527
30528 Bug and warning fixes
30529
7dd4a573 30530 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 30531 declaration
30532 * commands/test.c (test_parse): fixed bug with file tests and corrected
30533 declaration of find_file
30534
4006f85c 305352009-04-26 Pavel Roskin <proski@gnu.org>
30536
30537 * Makefile.in: Don't install empty manual pages if help2man is
30538 missing. Use help2man option for output, not shell redirection.
30539
5c77c3de 305402009-04-26 David S. Miller <davem@davemloft.net>
30541
30542 * util/grub-mkdevicemap.c (make_device_map): Add missing
30543 NESTED_FUNC_ATTR to process_device().
30544
033b10a8 305452009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30546
30547 Test command
30548
30549 * commands/test.c: rewritten to use bash-like test
30550
e4343593 305512009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30552
30553 Parttool autoloading and improvements
30554
7dd4a573 30555 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 30556 (parttool.lst): new target
30557 * genmk.rb: generate parttool-*
30558 (CLEANFILES): add #{parttool}
30559 (PARTTOOLFILES): new variable
30560 * genparttoollist.sh: new file
7dd4a573 30561 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 30562 (grub_pcpart_type): likewise
30563 * commands/parttool.c (helpmsg): new variable
30564 (grub_cmd_parttool): output help if not enough arguments are supplied
30565 autoload modules
30566 (GRUB_MOD_INIT(parttool)): use helpmsg
30567
0d312500 305682009-04-24 David S. Miller <davem@davemloft.net>
30569
7dd4a573 30570 Avoiding opening same device multiple times in device iterator.
0d312500 30571
30572 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 30573 and use it to build a list of partitions in iterate_disk() and
0d312500 30574 iterate_partition().
30575
ac20caff 30576 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
30577 on disk->data.
30578
0dcf7495 30579 * disk/ieee1275/nand.c (grub_nand_iterate): Return
30580 grub_devalias_iterate() result instead of unconditional 0.
30581 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
30582 Also, capture hook return value, either directly or via
30583 grub_children_iterate(), and propagate to caller.
30584 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
30585 grub_children_iterate): Return value is now 'int' instead of
30586 'grub_err_t'.
30587 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
30588 like a proper iterator, stopping when hooks return non-zero.
30589 (grub_devalias_iterate): Likewise.
30590
c8c08833 305912009-04-23 David S. Miller <davem@davemloft.net>
30592
30593 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
30594
f01005a8 305952009-04-22 David S. Miller <davem@davemloft.net>
30596
30597 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
30598 is larger than address_cells, use that value for address_cells too.
30599
4e8269da 30600 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
30601 IEEE1275_MAX_PATH_LEN): Define.
30602 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
30603 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
30604 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
30605 'devtype'. Explicitly NULL terminate devalias expansion.
30606
a1447506 30607 * util/sparc64/ieee1275/misc.c: New file.
30608 * util/sparc64/ieee1275/grub-setup.c: New file.
30609 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
30610 * util/sparc64/ieee1275/grub-mkimage.c: New file.
30611 * util/sparc64/ieee1275/grub-install.in: New file.
30612 * util/ieee1275/ofpath.c: New file.
30613 * util/ieee1275/devicemap.c: New file.
30614 * util/devicemap.c: New file.
30615 * util/deviceiter.c: New file.
30616 * kern/sparc64/ieee1275/init.c: New file.
30617 * include/grub/util/ofpath.h: New file.
30618 * include/grub/util/deviceiter.h: New file.
30619 * util/grub-mkdevicemap.c: Include deviceiter.h.
30620 Implement using grub_util_emit_devicemap_entry and
30621 grub_util_iterate_devices.
30622 * conf/i386-corebook.rmk: Build util/deviceiter.c and
30623 util/devicemap.c into grub-mkdevicemap
30624 * conf/i386-efi.rmk: Likewise.
30625 * conf/i386-ieee1275.rmk: Likewise.
30626 * conf/i386-pc.rmk: Likewise.
30627 * conf/powerpc-ieee1275.rmk: Likewise.
30628 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
30629 images and installation utilities. Build kernel as image
30630 instead of as elf binary. Use common rules as much as possible.
30631
7dd4a573 306322009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 30633
30634 Correct GPT definition
30635
7dd4a573 30636 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 30637 of "attrib" member
30638
c6c5219f 306392009-04-19 Felix Zielcke <fzielcke@z-51.de>
30640
30641 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
30642
0552ff9f 306432009-04-19 David S. Miller <davem@davemloft.net>
30644
30645 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
30646 (grub_rescue_cmd_linux): Rename to...
30647 (grub_cmd_linux): and fix prototype.
30648 (grub_rescue_cmd_initrd): Rename to...
30649 (grub_cmd_initrd): and fix prototype.
30650 (cmd_linux, cmd_initrd): New.
30651 (GRUB_MOD_INIT(linux)): Use grub_register_command().
30652 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
30653
d1a282fc 306542009-04-17 Pavel Roskin <proski@gnu.org>
30655
07c5039f 30656 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
30657 format.
30658 (grub_ohci_transfer): Likewise.
30659
b012002d 30660 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
30661
1bc09c35 30662 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
30663 return without a value. Fix inconsistent indentation.
30664
e0ff9126 30665 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
30666 match struct grub_fs.
30667
d1a282fc 30668 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
30669 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
30670 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30671 * commands/lspci.c (grub_lspci_iter): Likewise.
30672
a96df3f2 306732009-04-16 Bean <bean123ch@gmail.com>
30674
30675 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
30676 value.
30677
41bb0fe9 306782009-04-15 Pavel Roskin <proski@gnu.org>
30679
30680 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
30681 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
30682 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
30683 definitions.
30684
596c6970 306852009-04-15 Felix Zielcke <fzielcke@z-51.de>
30686
30687 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 30688 that no multiple data or metadata areas are supported and `Unknown
596c6970 30689 metadata header'.
30690
7dd4a573 306912009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 30692
30693 Move loader out of the kernel
30694
30695 * kern/loader.c: moved to ...
30696 * commands/boot.c: ... moved here
30697 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
30698 * commands/boot.c (grub_cmd_boot): moved here. All users updated
30699 * include/grub/kernel.h (grub_machine_fini): export
30700 * include/grub/loader.h (grub_loader_is_loaded): update declaration
30701 (grub_loader_set): likewise
30702 (grub_loader_unset): likewise
30703 (grub_loader_boot): likewise
30704 * conf/common.rmk: new module boot.mod
30705 (pkglib_MODULES): add boot.mod
30706 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
30707 (grub_emu_SOURCES): likewise
30708 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
30709 (grub_emu_SOURCES): likewise
30710 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
30711 (grub_emu_SOURCES): likewise
30712 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
30713 (grub_emu_SOURCES): likewise
30714 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
30715 (grub_emu_SOURCES): likewise
7dd4a573 30716 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
30717 (grub_emu_SOURCES): likewise
0d5d5653 30718 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 30719 (grub_emu_SOURCES): likewise
0d5d5653 30720
7dd4a573 307212009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 30722
30723 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 30724
5999d619 30725 * kern/misc.c (grub_itoa): Removed function
30726 (grub_ltoa): likewise
30727 (grub_vsprintf): use grub_lltoa
30728
7dd4a573 307292009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 30730
30731 Restore grub-emu
30732
30733 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
30734 * conf/i386-coreboot.rmk: likewise
30735 * conf/i386-ieee1275.rmk: likewise
30736 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 30737
20318222 307382009-04-15 Felix Zielcke <fzielcke@z-51.de>
30739
30740 * INSTALL: Add that `./autogen.sh' needs to be run before
30741 `./configure.'.
30742
d05f0df3 307432009-04-14 Bean <bean123ch@gmail.com>
30744
30745 * Makefile.in (pkglib_DATA): Add handler.lst.
30746 (handler.lst): New rule.
30747
30748 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
30749 * conf/i386-coreboot.rmk: Likewise.
30750 * conf/i386-ieee1275.rmk: Likewise.
30751 * conf/i386-efi.rmk: Likewise.
30752 * conf/x86_64-efi.rmk: Likewise.
30753 * conf/powerpc-ieee1275.rmk: Likewise.
30754 * conf/sparc64-ieee1275.rmk: Likewise.
30755
30756 * genhandlerlist.sh: New file.
30757
30758 * genmk.rb: Add rules to generate handler.lst.
30759
30760 * include/grub/normal.h (grub_file_getline): New function definition.
30761 (read_handler_list): Likewise.
30762 (free_handler_list): Likewise.
30763
30764 * include/grub/term.h (grub_term_register_input): Add name parameter
30765 for auto generation of handler.lst.
30766 (grub_term_register_output): Likewise.
30767
30768 * normal/handler.c: New file.
30769
30770 * normal/main.c (get_line): Renamed to grub_file_getline.
30771 (read_config_file): Use the newly renamed grub_file_getline.
30772 (read_command_list): Likewise.
30773 (read_fs_list): Likewise.
30774 (grub_normal_execute): Call read_handler_list to parse handler.lst.
30775 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
30776
30777 * term/efi/console.c (grub_console_init): Add name parameter for auto
30778 generation of handler.lst.
30779 * term/gfxterm.c: Likewise.
30780 * term/i386/pc/at_keyboard.c: Likewise.
30781 * term/i386/pc/console.c: Likewise.
30782 * term/i386/pc/serial.c: Likewise.
30783 * term/i386/pc/vesafb.c: Likewise.
30784 * term/i386/pc/vga.c: Likewise.
30785 * term/i386/pc/vga_text.c: Likewise.
30786 * term/ieee1275/ofconsole.c: Likewise.
30787 * term/usb_keyboard.c: Likewise.
30788
33c846be 307892009-04-14 Bean <bean123ch@gmail.com>
30790
30791 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
30792 properly with null character.
30793
4484e01e 307942009-04-14 Felix Zielcke <fzielcke@z-51.de>
30795
30796 * configure: Remove.
30797 * config.h.in: Likewise.
f93d668e 30798 * stamp-h.in: Likewise.
4484e01e 30799 * DISTLIST: Likewise.
30800 * conf/common.mk: Likewise.
30801 * conf/i386-coreboot.mk: Likewise.
30802 * conf/i386-efi.mk: Likewise.
30803 * conf/i386-ieee1275.mk: Likewise.
30804 * conf/i386.mk: Likewise.
30805 * conf/i386-pc.mk: Likewise.
30806 * conf/powerpc-ieee1275.mk: Likewise.
30807 * conf/sparc64-ieee1275.mk: Likewise.
30808 * conf/x86_64-efi.mk: Likewise.
30809
30810 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
30811 develop on GRUB.
30812
7dd4a573 308132009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 30814 David S. Miller <davem@davemloft.net>
30815
30816 * util/hostdisk.c (make_device_name): Fix buffer length
30817 calculations.
30818
e25b5a8c 308192009-04-14 Felix Zielcke <fzielcke@z-51.de>
30820
30821 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
30822 <sys/param.h> and <sys/sysctl.h>.
30823 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
30824 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
30825 opening the device and reset them afterwards.
30826
1f1f580c 308272009-04-13 Pavel Roskin <proski@gnu.org>
30828
30829 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
30830 Reported by John Stanley <jpsinthemix@verizon.net>
30831
7ebc2d6b 308322009-04-13 Robert Millan <rmh@aybabtu.com>
30833
30834 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 30835 that name for menuentries when appropriate.
7ebc2d6b 30836
d8ba3667 308372009-04-13 Felix Zielcke <fzielcke@z-51.de>
30838
30839 * util/grub.d/10_freebsd.in: Add a missing `fi'.
30840
cba416eb 308412009-04-13 Robert Millan <rmh@aybabtu.com>
30842
30843 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
30844 to Linux, simply abort telling the user it's no longer supported.
30845
a547a745 308462009-04-13 Felix Zielcke <fzielcke@z-51.de>
30847
30848 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 30849 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 30850 `freebsd_loadenv' only when devices.hints exist.
30851
232a769c 308522009-04-13 Pavel Roskin <proski@gnu.org>
30853
30854 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
30855
c3012039 308562009-04-13 Felix Zielcke <fzielcke@z-51.de>
30857
30858 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
30859 partition number.
30860 (grub_drive): Likewise.
30861
234022fe 308622009-04-13 David S. Miller <davem@davemloft.net>
30863
30864 * kern/sparc64/ieee1275/ieee1275.c: New file.
30865 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
30866 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
30867 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
30868 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
30869 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
30870 grub_ieee1275_alloc_physmem): Declare new exported functions.
30871
d8e1836c 30872 * include/grub/sparc64/ieee1275/loader.h: New file.
30873 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30874 * include/grub/sparc64/kernel.h: Likewise.
30875 * loader/sparc64/ieee1275/linux.c: Likewise.
30876
96bd81ec 30877 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
30878 (grub_fstest_SOURCES): Likewise.
30879
6a4737e5 30880 * util/hostdisk.c (make_device_name): Do not make any assumptions
30881 about the length of drive names.
30882
1d7a72fd 30883 * kern/dl.c (grub_dl_load_file): Close file immediately when
30884 we are done using it.
30885
56bc2471 308862009-04-12 David S. Miller <davem@davemloft.net>
30887
30888 * kern/misc.c (grub_ltoa): Fix cast when handling negative
30889 values. Noticed by Pavel Roskin.
30890
df38d0bb 30891 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
30892 target compiler.
7dd4a573 30893
e382e93a 30894 * genmk.rb: Add more flexible image type specification, also
30895 pass --strip-unneeded to objcopy.
30896 * conf/i386-pc.rmk: Use *_FORMAT.
30897 * conf/i386-pc.mk: Rebuilt.
30898
f5dbbca9 30899 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
30900 (OFDISK_HASH_SZ): Define.
30901 (ofdisk_hash): New hash table.
30902 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
30903 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
30904 instead of device phandle which is not unique.
30905
91c88b12 30906 * kern/sparc64/ieee1275/init.c: Delete, replace with...
30907 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
30908 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
30909 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
30910 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
30911 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
30912 GRUB_KERNEL_MACHINE_DATA_END): Define.
30913 (grub_kernel_image_size, grub_total_module_size): Declare.
30914
5b5d4aa5 309152009-04-12 Pavel Roskin <proski@gnu.org>
30916
7dd4a573 30917 * configure.ac: Change the logic when we check for target tools.
30918 Do it when the target is specified and it's different from the
30919 specified value of the host.
5b5d4aa5 30920
c91e1793 309212009-04-11 Felix Zielcke <fzielcke@z-51.de>
30922
30923 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
30924 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
30925 GNU/kFreeBSD. Check if a device is a character device. Use
30926 DIOCGMEDIASIZE to get the size.
30927 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
30928 support for GNU/kFreeBSD.
30929 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
30930 is a character device instead of a block device. Add support for
30931 FreeBSD device names.
30932
30933 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
30934 is a character device instead of a block device.
30935
30936 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
30937 is a character device instead of a block device.
30938
b1ac8644 309392009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
30940
30941 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
30942 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
30943 FreeBSD. Check if a device is a character device. Use
30944 DIOCGMEDIASIZE to get the size.
30945 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
30946 support for FreeBSD.
30947 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
30948 is a character device instead of a block device. Add support for
30949 FreeBSD device names.
30950
30951 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
30952 a character device instead of a block device.
30953 (grub_util_check_char_device): New function.
30954
30955 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
30956 a character device instead of a block device.
30957
30958 * include/grub/util/getroot.h (grub_util_check_char_device): New
30959 prototype.
30960
a3f7515a 309612009-04-11 David S. Miller <davem@davemloft.net>
30962
30963 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
30964 static libgcc.
30965 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
30966 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
30967 function, if present.
30968 (__bswapdi2): Likewise.
30969
0d44993d 30970 * include/grub/sparc64/ieee1275/boot.h: New file.
30971 * boot/sparc64/ieee1275/boot.S: Likewise.
30972 * boot/sparc64/ieee1275/diskboot.S: Likewise.
30973
ed3d2bc2 30974 * kern/misc.c (grub_ltoa): New function.
30975 (grub_vsprintf): Use it to format 'long' integers.
30976
d3bfb59c 309772009-04-10 David S. Miller <davem@davemloft.net>
30978
30979 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
30980 slots are of type grub_ieee1275_cell_t.
30981 (grub_nand_read): Likewise.
30982 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
30983 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
30984 macros are used to compare values in arg/ret block of the call.
30985 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30986 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
30987 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
30988 grub_ieee1275_instance_to_path, grub_ieee1275_write,
30989 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
30990 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
30991 grub_ieee1275_close, grub_ieee1275_set_property,
30992 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
30993 grub_ieee1275_cell_t.
30994 * kern/ieee1275/openfw.c (grub_map): Likewise.
30995 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
30996 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
30997
450e2238 30998 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
30999 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31000 (grub_devalias_iterate): Likewise.
31001
7dd4a573 310022009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 31003
31004 UFS improvements
31005
31006 * fs/ufs.c (INODE_NBLOCKS): new definition
31007 (struct grub_ufs_dirent): added fields for non-BSD dirents
31008 (grub_ufs_get_file_block): fixed double indirect handling
31009 (grub_ufs_lookup_symlink): use more robust way to determine whether
31010 symlink is inline
31011 (grub_ufs_find_file): support for non-BSD dirents
31012 (grub_ufs_dir): support for non-BSD dirents
31013
e7e6862a 310142009-04-10 Bean <bean123ch@gnail.com>
31015
31016 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31017 attribute, otherwise the size would be wrong for i386 platform.
31018
31019 * include/grub/pci.h (grub_pci_read_word): New inline function.
31020 (grub_pci_read_byte): Likewise.
31021 (grub_pci_write): Likewise.
31022 (grub_pci_write_word): Likewise.
31023 (grub_pci_write_byte): Likewise.
31024
31025 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31026
31027 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31028 (find_framebuf): Scan pci to locate the frame buffer address.
31029
31030 * commands/efi/fixvideo.c: New file.
31031
31032 * commands/efi/loadbios.c: Likewise.
31033
31034 * commands/memrw.c: Likewise.
31035
31036 * util/grub-dumpbios.in: Likewise.
31037
31038 * conf/common.rmk (grub-dumpbios): New utility.
31039 (pkglib_MODULES): New module memrw.mod.
31040 (memrw_mod_SOURCE): New macro.
31041 (memrw_mod_CFLAGS): Likewise.
31042 (memrw_mod_LDFLAGS): Likewise.
31043
7dd4a573 31044 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31045 fixvideo.mod.
31046 (loadbios_mod_SOURCE): New macro.
31047 (loadbios_mod_CFLAGS): Likewise.
31048 (loadbios_mod_LDFLAGS): Likewise.
31049 (fixvideo_mod_SOURCE): Likewise.
31050 (fixvideo_mod_CFLAGS): Likewise.
31051 (fixvideo_mod_LDFLAGS): Likewise.
31052
7dd4a573 31053 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31054 fixvideo.mod.
31055 (loadbios_mod_SOURCE): New macro.
31056 (loadbios_mod_CFLAGS): Likewise.
31057 (loadbios_mod_LDFLAGS): Likewise.
31058 (fixvideo_mod_SOURCE): Likewise.
31059 (fixvideo_mod_CFLAGS): Likewise.
31060 (fixvideo_mod_LDFLAGS): Likewise.
31061
af63ada2 310622009-04-08 Felix Zielcke <fzielcke@z-51.de>
31063
31064 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31065
c2cdde70 310662009-04-07 David S. Miller <davem@davemloft.net>
31067
31068 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31069 support for R_SPARC_OLO10 relocations. Fix compile warning for
31070 R_SPARC_WDISP30 case.
ea3f72cf 31071 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 31072
761319cf 310732009-04-06 Pavel Roskin <proski@gnu.org>
31074
1007d1f5 31075 * include/grub/misc.h (ARRAY_SIZE): New macro.
31076 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31077 New macro.
31078 * loader/i386/linux.c (allocate_pages): Use free_pages().
31079 (grub_linux_unload): Don't use free_pages().
31080 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31081 wrong index. Treat all other modes as text modes.
31082 (grub_cmd_linux): Initialize vid_mode unconditionally to
31083 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31084
761319cf 31085 * commands/help.c (print_command_help): Use cmd->prio, not
31086 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31087
ea761d40 310882009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 31089
ea761d40 31090 Parttool
31091
31092 * parttool/pcpart.c: new file
31093 * commands/parttool.c: likewise
31094 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31095 (parttool_mod_SOURCES): new variable
31096 (parttool_mod_CFLAGS): likewise
31097 (parttool_mod_LDFLAGS): likewise
31098 (pcpart_mod_SOURCES): likewise
31099 (pcpart_mod_CFLAGS): likewise
31100 (pcpart_mod_LDFLAGS): likewise
7dd4a573 31101 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 31102 and parttool/pcpart.c
31103 * conf/i386-efi.rmk: likewise
31104 * conf/i386-ieee1275.rmk: likewise
31105 * conf/i386-pc.rmk: likewise
31106 * conf/powerpc-ieee1275.rmk: likewise
31107 * conf/sparc64-ieee1275.rmk: likewise
31108 * conf/x86_64-ieee1275.rmk: likewise
31109
05aaebfb 311102009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31111
31112 Support for mtime and further expandability of dir command
31113
31114 * include/grub/lib/datetime.h: moved to ...
7dd4a573 31115 * include/grub/datetime.h: ... moved here and added
05aaebfb 31116 declaration of grub_unixtime2datetime. All users updated
7dd4a573 31117 * include/grub/fs.h: new syntax for dir and mtime functions in
31118 struct grub_fs
05aaebfb 31119 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31120 and GRUB_FSHELP_FLAGS_MASK
31121 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31122 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31123 (grub_ext2_mtime): new function
31124 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31125 (grub_hfsplus_mtime): new function
31126 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31127 (GRUB_UFS_ATTR_FILE): likewise
31128 (GRUB_UFS_ATTR_LNK): likewise
31129 (struct grub_ufs_sblock): new fields mtime
31130 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31131 all users updated
31132 (grub_ufs_dir): mtime support
31133 (grub_ufs_mtime): new function
31134 * fs/affs.c (grub_affs_dir): use new dir syntax
31135 * fs/afs.c (grub_afs_dir): likewise
31136 * fs/cpio.c (grub_cpio_dir): likewise
31137 * fs/fat.c (grub_fat_find_dir): likewise
31138 * fs/hfs.c (grub_hfs_dir): likewise
31139 * fs/iso9660.c (grub_iso9660_dir): likewise
31140 * fs/jfs.c (grub_jfs_dir): likewise
31141 * fs/minix.c (grub_minix_dir): likewise
31142 * fs/ntfs.c (grub_ntfs_dir): likewise
31143 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31144 * fs/sfs.c (grub_sfs_dir): likewise
31145 * fs/xfs.c (grub_xfs_dir): likewise
31146 * util/hostfs.c (grub_hostfs_dir): likewise
31147 * lib/datetime.c: moved to ...
31148 * normal/datetime.c: ... moved here
31149 (grub_unixtime2datetime): new function
31150 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 31151 * normal/completion.c (iterate_dir): use new dir syntax
31152 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 31153 last modification time of a volume
7dd4a573 31154 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 31155 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 31156 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 31157 (normal_mod_SOURCES): likewise
31158 (datetime_mod_SOURCES): Removed lib/datetime.c
31159 * conf/i386-efi.rmk: likewise
7dd4a573 31160 * conf/i386-ieee1275.rmk: likewise
05aaebfb 31161 * conf/i386-pc.rmk: likewise
31162 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31163 * conf/sparc64-ieee1275.rmk: likewise
31164 * conf/x86_64-efi.rmk: likewise
05aaebfb 31165
8a7e1a14 311662009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31167
31168 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 31169
31170 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 31171 on grub_fat_find_dir
31172 (grub_fat_find_dir): use grub_fat_iterate_dir
31173 (grub_fat_label): likewise
31174
04186a9c 311752009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31176
7dd4a573 31177 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 31178 and command.h
31179 remove extraneous kernel_elf_HEADERS
31180
da4c0bb6 311812009-04-04 Bean <bean123ch@gnail.com>
31182
31183 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31184
31185 * util/misc.c: Likewise.
31186
54ad9555 311872009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31188
31189 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31190 instead of grub_printf.
31191
7a6bf9f2 311922009-04-03 Robert Millan <rmh@aybabtu.com>
31193
31194 * loader/i386/linux.c (grub_linux_setup_video): Fill
31195 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31196 values from `mode info' structure instead of hardcoded
31197 values.
31198
3fcc2083 311992009-04-01 Pavel Roskin <proski@gnu.org>
31200
31201 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31202 unused now.
31203 * genmk.rb: Likewise.
31204 * configure.ac: Likewise.
31205
5ec9740b 312062009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31207
31208 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31209 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31210
5270cec8 312112009-04-01 David S. Miller <davem@davemloft.net>
31212
31213 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 31214 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 31215 (grub_setjmp): Mark with 'returns_twice' attribute.
31216 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31217 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31218 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31219
9c3dd854 312202009-04-01 Robert Millan <rmh@aybabtu.com>
31221
31222 Reapply fix from 2008-07-28 which was accidentally reverted; also
31223 perform the same fix to a similar check in same function.
31224
31225 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31226 with the same number are found, just use issue a warning with
31227 grub_dprintf(), as this error has been reported to be non-fatal.
31228
0d818b7e 312292009-03-31 Pavel Roskin <proski@gnu.org>
31230
31231 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31232 for cross-compilation.
31233
95646d92 312342009-03-30 Robert Millan <rmh@aybabtu.com>
31235
31236 Fix i386-ieee1275 build.
31237
31238 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31239 Remove declaration.
31240
6a003ed1 312412009-03-30 Pavel Roskin <proski@gnu.org>
31242
31243 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31244 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31245 zero-terminated, rely only on the strlen value. Fix comparison
31246 of strings differing in length.
31247
92f33540 312482009-03-30 Robert Millan <rmh@aybabtu.com>
31249
31250 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31251 checking for abi version. Improve error messages on BIOS to notify
31252 user about `linux16' command.
31253
a8c48fd5 312542009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31255
f968172e 31256 Leak fixes
a8c48fd5 31257
f968172e 31258 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31259 in case of collision
31260 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 31261
9c323f09 312622009-03-29 Robert Millan <rmh@aybabtu.com>
31263
31264 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31265 set `vid_mode' accordingly.
31266 (grub_linux_boot): Process `vid_mode' and set video mode.
31267
ae68f423 312682009-03-29 Robert Millan <rmh@aybabtu.com>
31269
31270 * util/grub.d/10_linux.in (linux_entry): New function.
31271 Factorize generation of Linux boot entries.
31272
5709cfc4 312732009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31274
31275 Make the format of Environment Block plain text. The boot loader
31276 part is not tested well yet.
7dd4a573 31277
5709cfc4 31278 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31279 (buffer): Removed.
31280 (envblk): Likewise.
31281 (usage): Remove "info" and "clear". Add "unset". Update the
31282 description of "set", as this does not delete variables any
31283 longer.
31284 (create_envblk_file): Complete rewrite.
31285 (open_envblk_file): Likewise.
31286 (cmd_info): Removed.
31287 (cmd_list): Likewise.
31288 (cmd_set): Likewise.
31289 (cmd_clear): Likewise.
31290 (list_variables): New function.
31291 (write_envblk): Likewise.
31292 (set_variables): Likewise.
31293 (unset_variables): Likewise.
31294 (main): Complete rewrite.
31295
31296 * commands/loadenv.c (buffer): Removed.
31297 (envblk): Likewise.
31298 (open_envblk_file): New function.
31299 (read_envblk_file): Complete rewrite.
31300 (grub_cmd_load_env): Likewise.
31301 (grub_cmd_list_env): Likewise.
31302 (struct blocklist): New struct.
31303 (free_blocklists): New function.
31304 (check_blocklists): Likewise.
31305 (write_blocklists): Likewise.
31306 (grub_cmd_save_env): Complete rewrite.
31307
31308 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31309 a plain text signature.
31310 (GRUB_ENVBLK_MAXLEN): Removed.
31311 (struct grub_envblk): Complete rewrite.
31312 (grub_envblk_find): Removed.
31313 (grub_envblk_insert): Likewise.
31314 (grub_envblk_open): New prototype.
31315 (grub_envblk_set): Likewise.
31316 (grub_envblk_delete): Put const to VALUE.
31317 (grub_envblk_iterate): Put const to NAME and VALUE.
31318 (grub_envblk_close): New prototype.
31319 (grub_envblk_buffer): New inline function.
31320 (grub_envblk_size): Likewise.
31321
31322 * lib/envblk.c: Include grub/mm.h.
31323 (grub_env_find): Removed.
31324 (grub_envblk_open): New function.
31325 (grub_envblk_close): Likewise.
31326 (escaped_value_len): Likewise.
31327 (find_next_line): Likewise.
31328 (grub_envblk_insert): Removed.
31329 (grub_envblk_set): New function.
31330 (grub_envblk_delete): Complete rewrite.
31331 (grub_envblk_iterate): Likewise.
31332
a9368fd3 313332009-03-28 Robert Millan <rmh@aybabtu.com>
31334
31335 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31336 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31337 variables. Use 16-bit loader.
31338 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31339 loader.
31340 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31341 (grub_linux16_boot): ... this. Update all users.
31342 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31343 (grub_linux_boot): ... this. Update all users.
31344
31345 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31346 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31347 commands to `linux16' and `initrd16'.
31348 (GRUB_MOD_FINI(linux)): Rename to ...
31349 (GRUB_MOD_FINI(linux16)): ... this.
31350
e4dd5a7e 313512009-03-24 Pavel Roskin <proski@gnu.org>
31352
31353 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31354 not just for compilation.
31355
c04d6e05 313562009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31357
31358 Move multiboot helper out of kernel
31359
31360 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31361 `loader/i386/multiboot_helper.S'.
31362 * conf/i386-coreboot.rmk: Likewise
31363 * conf/i386-ieee1275.rmk: Likewise
31364
31365 * kern/i386/loader.S: Move multiboot helpers from here...
31366 * loader/i386/multiboot_helper.S: ...moved here
31367 * include/grub/i386/loader.h: Move declarations of multiboot
31368 helpers from here...
31369 * include/grub/i386/multiboot.h: ...moved here
31370 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31371
42a5b3fc 313722009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31373
31374 * kern/env.c (grub_env_context_open): Added an argument to specify
31375 whether a new context inherits exported variables from current
31376 one. This is useful when making a sandbox to interpret a config
31377 file.
31378 All callers updated.
31379
31380 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31381
b28bbc4e 313822009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31383
31384 * kern/env.c (grub_env_context_close): Fix memory leaks.
31385
f04f02e4 313862009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31387
31388 * normal/main.c (grub_normal_execute): Added an argument
31389 BATCH to specify if an interactive interface should be provided
31390 after reading a config file.
31391 All callers updated.
31392 (read_command_list): Prevent being executed twice.
31393 (read_fs_list): Likewise.
31394
42a5b3fc 31395 * include/grub/normal.h (grub_normal_execute): Updated the
31396 prototype.
f04f02e4 31397
41473ac2 313982009-03-22 Pavel Roskin <proski@gno.org>
31399
fbc00b0c 31400 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31401 _start.
31402 * kern/i386/pc/startup.S: Likewise.
31403 * kern/i386/efi/startup.S: Likewise.
31404 * kern/i386/ieee1275/startup.S: Likewise.
31405 * kern/i386/coreboot/startup.S: Likewise.
31406 * kern/x86_64/efi/startup.S: Likewise.
31407
41473ac2 31408 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31409 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31410 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31411
2274cc8f 314122009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31413
31414 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31415
31416 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31417 limit detection.
31418 Use vaddr of correct segment for entry_point.
31419
b1b797cb 314202009-03-21 Bean <bean123ch@gmail.com>
31421
31422 * commands/blocklist.c: Add include file <grub/command.h>, remove
31423 <grub/normal.h> and <grub/arg.h>.
31424 (grub_cmd_blocklist): Use the new command interface.
31425 (GRUB_MOD_INIT): Likewise.
31426 (GRUB_MOD_FINI): Likewise.
31427 * commands/boot.c: Likewise.
31428 * commands/cat.c: Likewise.
31429 * commands/cmp.c: Likewise.
31430 * commands/configfile.c: Likewise.
31431 * commands/crc.c: Likewise.
31432 * commands/echo.c: Likewise.
31433 * commands/halt.c: Likewise.
31434 * commands/handler.c: Likewise.
31435 * commands/hdparm.c: Likewise.
31436 * commands/help.c: Likewise.
31437 * commands/hexdump.c: Likewise.
31438 * commands/loadenv.c: Likewise.
31439 * commands/ls.c: Likewise.
31440 * commands/lsmmap.c: Likewise.
31441 * commands/lspci.c: Likewise.
31442 * commands/loadenv.c: Likewise.
31443 * commands/read.c: Likewise.
31444 * commands/reboot.c: Likewise.
31445 * commands/search.c: Likewise.
31446 * commands/sleep.c: Likewise.
31447 * commands/test.c: Likewise.
31448 * commands/usbtest.c: Likewise.
31449 * commands/videotest.c: Likewise.
31450 * commands/i386/cpuid.c: Likewise.
31451 * commands/i386/pc/halt.c: Likewise.
31452 * commands/i386/pc/play.c: Likewise.
31453 * commands/i386/pc/pxecmd.c: Likewise.
31454 * commands/i386/pc/vbeinfo.c: Likewise.
31455 * commands/i386/pc/vbetest.c: Likewise.
31456 * commands/ieee1275/suspend.c: Likewise.
31457 * disk/loopback.c: Likewise.
31458 * font/font_cmd.c: Likewise.
31459 * hello/hello.c: Likewise.
31460 * loader/efi/appleloader.c: Likewise.
31461 * loader/efi/chainloader.c: Likewise.
31462 * loader/i386/bsd.c: Likewise.
31463 * loader/i386/efi/linux.c: Likewise.
31464 * loader/i386/ieee1275/linux.c: Likewise.
31465 * loader/i386/linux.c: Likewise.
31466 * loader/i386/pc/chainloader.c: Likewise.
31467 * loader/i386/pc/linux.c: Likewise.
31468 * loader/powerpc/ieee1275/linux.c: Likewise.
31469 * loader/multiboot_loader.c: Likewise.
31470 * term/gfxterm.c: Likewise.
31471 * term/i386/pc/serial.c: Likewise.
31472 * term/terminfo.c: Likewise.
31473
31474 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31475 * term/i386/pc/vga.c: Likewise.
31476 * video/readers/jpeg.c: Likewise.
31477 * video/readers/png.c: Likewise.
31478 * video/readers/tga.c: Likewise.
31479
31480 * util/grub-fstest (cmd_loopback): Removed.
31481 (cmd_blocklist): Likewise.
31482 (cmd_ls): Likewise.
31483 (grub_register_command): Likewise.
31484 (grub_unregister_command): Likewise.
31485 (execute_command): Use grub_command_find to locate command and execute
31486 it.
31487
31488 * include/grub/efi/chainloader.h: Removed.
31489 * loader/efi/chainloader_normal.c: Likewise.
31490 * loader/i386/bsd_normal.c: Likewise.
31491 * loader/i386/pc/chainloader_normal.c: Likewise.
31492 * loader/i386/pc/multiboot_normal.c: Likewise.
31493 * loader/linux_normal.c: Likewise.
31494 * loader/multiboot_loader_normal.c: Likewise.
31495 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31496
31497 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31498 and grub_register_command_p1.
31499
31500 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31501 kern/command.c, lib/arg.c and commands/extcmd.c.
31502 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31503 (minicmd_mod_SOURCES): New variable.
31504 (minicmd_mod_CFLAGS): Likewise.
31505 (minicmd_mod_LDFLAGS): Likewise.
31506 (extcmd_mod_SOURCES): Likewise.
31507 (extcmd_mod_CFLAGS): Likewise.
31508 (extcmd_mod_LDFLAGS): Likewise.
31509 (boot_mod_SOURCES): Removed.
31510 (boot_mod_CFLAGS): Likewise.
31511 (boot_mod_LDFLAGS): Likewise.
31512
31513 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31514 kern/corecmd.c.
31515 (kernel_img_HEADERS): Add command.h.
31516 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31517 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31518 and lib/arg.c.
31519 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31520 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31521 remove the corresponding normal mode command.
31522 (normal_mod_SOURCES): Remove normal/arg.c.
31523 * conf/i386-coreboot.rmk: Likewise.
31524 * conf/i386-efi.rmk: Likewise.
31525 * conf/i386-ieee1275.rmk: Likewise.
31526 * conf/powerpc-ieee1275.rmk: Likewise.
31527 * conf/x86_64-efi.rmk: Likewise.
31528
31529 * include/grub/arg.h: Move from here ...
31530 * include/grub/lib/arg.h: ... to here.
31531
31532 * normal/arg.c: Move from here ...
31533 * lib/arg.c: ... to here.
31534
31535 * commands/extcmd.c: New file.
31536 * commands/minicmd.c: Likewise.
31537 * include/grub/command.h: Likewise.
31538 * include/grub/extcmd.h: Likewise.
31539 * kern/command.c: Likewise.
31540 * kern/corecmd.c: Likewise.
31541
31542 * kern/list.c (grub_list_iterate): Return int instead of void.
31543 (grub_list_insert): New function.
31544 (grub_prio_list_insert): Likewise.
31545
31546 * kern/rescue.c (grub_rescue_command): Removed.
31547 (grub_rescue_command_list): Likewise.
31548 (grub_rescue_register_command): Likewise.
31549 (grub_rescue_unregister_command): Likewise.
31550 (grub_rescue_cmd_boot): Move to minicmd.c
31551 (grub_rescue_cmd_help): Likewise.
31552 (grub_rescue_cmd_info): Likewise.
31553 (grub_rescue_cmd_boot): Likewise.
31554 (grub_rescue_cmd_testload): Likewise.
31555 (grub_rescue_cmd_dump): Likewise.
31556 (grub_rescue_cmd_rmmod): Likewise.
31557 (grub_rescue_cmd_lsmod): Likewise.
31558 (grub_rescue_cmd_exit): Likewise.
31559 (grub_rescue_print_devices): Moved to corecmd.c.
31560 (grub_rescue_print_files): Likewise.
31561 (grub_rescue_cmd_ls): Likewise.
31562 (grub_rescue_cmd_insmod): Likewise.
31563 (grub_rescue_cmd_set): Likewise.
31564 (grub_rescue_cmd_unset): Likewise.
7d074e3c 31565 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 31566 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 31567 commands, remove grub_rescue_register_command calls.
b1b797cb 31568
7d074e3c 31569 * normal/command.c (grub_register_command): Removed.
b1b797cb 31570 (grub_unregister_command): Likewise.
31571 (grub_command_find): Likewise.
31572 (grub_iterate_commands): Likewise.
31573 (rescue_command): Likewise.
31574 (export_command): Moved to corecmd.c.
31575 (set_command): Removed.
31576 (unset_command): Likewise.
31577 (insmod_command): Likewise.
31578 (rmmod_command): Likewise.
31579 (lsmod_command): Likewise.
31580 (grub_command_init): Likewise.
31581
31582 * normal/completion.c (iterate_command): Use cmd->prio to check for
31583 active command.
31584 (complete_arguments): Use grub_extcmd_t structure to find options.
31585 (grub_normal_do_completion): Change function grub_iterate_commands to
31586 grub_command_iterate.
31587
31588 * normal/execute.c (grub_script_execute_cmd): No need to parse
31589 argument here.
31590
31591 * normal/main.c (grub_dyncmd_dispatcher): New function.
31592 (read_command_list): Register unload commands as dyncmd.
31593 (grub_cmd_normal): Use new command interface, register rescue,
31594 unregister normal at entry, register normal, unregister rescue at exit.
31595
31596 * include/grub/list.h (grub_list_test_t): New type.
31597 (grub_list_iterate): Return int instead of void.
31598 (grub_list_insert): New function.
31599 (GRUB_AS_NAMED_LIST_P): New macro.
31600 (GRUB_AS_PRIO_LIST): Likewise.
31601 (GRUB_AS_PRIO_LIST_P): Likewise.
31602 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
31603 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
31604 (grub_prio_list): New structure.
31605 (grub_prio_list_insert): New function.
31606 (grub_prio_list_remove): New inline function.
31607
31608 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
31609 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
31610 (GRUB_COMMAND_FLAG_MENU): Likewise.
31611 (GRUB_COMMAND_FLAG_BOTH): Likewise.
31612 (GRUB_COMMAND_FLAG_TITLE): Likewise.
31613 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
31614 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
31615 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
31616 (grub_command): Likewise.
31617 (grub_register_command): Likewise.
31618 (grub_command_find): Likewise.
31619 (grub_iterate_commands): Likewise.
31620 (grub_command_init): Likewise.
31621 (grub_arg_parse): Likewise.
31622 (grub_arg_show_help): Likewise.
31623
31624 * include/grub/rescue.h (grub_rescue_register_command): Removed.
31625 (grub_rescue_unregister_command): Likewise.
31626
31627 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
31628 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
31629 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
31630
31631 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
31632 grub_rescue_cmd_initrd.
31633 * include/grub/i386/loader.h: Likewise.
31634 * include/grub/x86_64/loader.h: Likewise.
31635
31636 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
31637
1f4147aa 316382009-03-21 Bean <bean123ch@gmail.com>
31639
31640 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
31641 instead of stat in mingw environment.
31642
31643 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
31644
31645 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
31646
31647 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
31648 AC_CONFIG_LINKS.
31649
2156d5ba 316502009-03-21 Bean <bean123ch@gmail.com>
31651
31652 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
31653 out of range error.
31654
177b82ca 316552009-03-18 Michel Dänzer <michel@daenzer.net>
31656
31657 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
31658 checking inode flags for EXT4_EXTENTS_FLAG.
31659
14aad807 316602009-03-18 Robert Millan <rmh@aybabtu.com>
31661
31662 * loader/i386/linux.c: Include `<grub/video.h>' and
31663 `<grub/i386/pc/vbe.h>'..
31664 (grub_linux_setup_video): New function. Loosely based on the EFI one.
31665 (grub_linux32_boot): Attempt to configure video settings with
31666 grub_linux_setup_video().
31667 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
31668 to avoid grub_console_fini() which would step out of graphical mode
31669 unconditionally.
31670
8cf83a27 316712009-03-14 Robert Millan <rmh@aybabtu.com>
31672
31673 Fix build on powerpc.
31674 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
31675
40164e75 316762009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
31677
31678 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
31679 background image command.
31680
c58bc32a 316812009-03-12 Colin D Bennett <colin@gibibit.com>
31682
31683 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
31684 (grub_gfxterm_putchar): Extract pairs of identical calls to
31685 draw_cursor out of conditional blocks.
31686
5415144a 316872009-03-11 Pavel Roskin <proski@gnu.org>
31688
31689 * fs/hfs.c (grub_hfs_strncasecmp): New function.
31690 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
31691
6394042e 316922009-03-11 Robert Millan <rmh@aybabtu.com>
31693
31694 * loader/i386/multiboot_elfxx.c
31695 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
31696
b7b50e5f 316972009-03-11 Felix Zielcke <fzielcke@z-51.de>
31698
31699 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
31700 `kern/handler.c'.
31701
1ca7fc96 317022009-03-11 Robert Millan <rmh@aybabtu.com>
31703
31704 * loader/i386/multiboot.c (code_size): New variable.
31705 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 31706 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 31707 4-byte alignment to MBI and others by increasing
7d074e3c 31708 `boot_loader_name_length' appropriately.
1ca7fc96 31709
31710 * loader/i386/multiboot_elfxx.c
31711 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
31712
a83ea1d2 317132009-03-09 Felix Zielcke <fzielcke@z-51.de>
31714
31715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
31716 `fs/ext2.c'.
31717
aa9f3bff 317182009-03-08 Robert Millan <rmh@aybabtu.com>
31719
31720 Make loader/i386/linux.c usable on i386-pc again.
31721
31722 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
31723 memory to heap.
31724 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
31725 `#error' stanza.
31726
d8b3b60e 317272009-03-07 Bean <bean123ch@gmail.com>
31728
31729 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
31730 allocation.
31731
b362c9e9 317322009-03-06 Robert Millan <rmh@aybabtu.com>
31733
31734 Fix display issue on terminals with screen size other than 80x25
31735 (e.g. gfxterm with resolution higher than 640x480).
31736
31737 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 31738 position relative to the center of the terminal instead of relying
b362c9e9 31739 on a hardcoded offset.
31740
9304eef1 317412009-03-04 Robert Millan <rmh@aybabtu.com>
31742
31743 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
31744 installed.
31745
31746 * Makefile.in (host_kernel): New variable.
31747 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
31748 scripts instead of just the windows one.
31749 * configure.ac: Initialize and AC_SUBST `host_kernel'.
31750
eabc95fb 317512009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 31752
31753 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
31754 `kern/handler.c'.
31755 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31756 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31757 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31758 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31759 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31760 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31761
ceb1223c 317622009-03-04 Felix Zielcke <fzielcke@z-51.de>
31763
31764 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
31765 or if there's no space for the disk label and print the partition number on a
31766 invalid magic.
31767
4910684a 317682009-03-04 Felix Zielcke <fzielcke@z-51.de>
31769
31770 * util/misc.c: Include <time.h>.
31771 (grub_millisleep): New function.
31772
7e9ca17a 317732009-03-04 Bean <bean123ch@gmail.com>
31774
31775 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
31776 another option -mno-red-zone.
31777
31778 * commands/handler.c: Change module description.
31779
31780 * kern/handler.c: Add missing space at the end of description line.
31781
31782 * kern/list.c: Likewise.
31783
f501677c 317842009-03-03 Robert Millan <rmh@aybabtu.com>
31785
31786 Move more components to the relocation area, and fix mbi pointer
31787 handling to use the destination rather than the origin (thanks to
31788 Vladimir Serbinenko for spotting).
31789
31790 * loader/i386/multiboot.c (mbi_dest): New variable.
31791 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
31792 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
31793 relocation area.
31794
9902d047 317952009-03-01 Bean <bean123ch@gmail.com>
31796
50fb7002 31797 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 31798 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
31799 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
31800 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
31801
31802 * loader/i386/efi/linux.c (acpi_guid): New variable.
31803 (acpi_guid): Likewise.
31804 (EBDA_SEG_ADDR): New constant.
31805 (LOW_MEM_ADDR): Likewise.
31806 (FAKE_EBDA_SEG): Likewise.
31807 (fake_bios_data): New function.
31808 (grub_linux_boot): Call fake_bios_data.
31809
71b9f361 318102009-03-01 Bean <bean123ch@gmail.com>
31811
31812 * commands/terminal.c: Removed.
31813
31814 * commands/handler.c: New file.
31815
31816 * include/grub/list.h: Likewise.
31817
31818 * include/grub/handler.h: Likewise.
31819
31820 * kern/list.c: Likewise.
31821
31822 * kern/handler.c: Likewise.
31823
31824 * kern/term.h: Include header file <grub/handler.h>.
31825 (grub_term_input): Move next field to the beginning.
31826 (grub_term_output): Likewise.
31827 (grub_term_input_class): New variable.
31828 (grub_term_output_class): Likewise.
31829 (grub_term_register_input): Changed to inline function.
31830 (grub_term_register_output): Likewise.
31831 (grub_term_unregister_input): Likewise.
31832 (grub_term_unregister_output): Likewise.
31833 (grub_term_set_current_input): Likewise.
31834 (grub_term_set_current_output): Likewise.
31835 (grub_term_get_current_input): Likewise.
31836 (grub_term_get_current_output): Likewise.
31837 (grub_term_iterate_input): Removed.
31838 (grub_term_iterate_output): Likewise.
31839
31840 * kern/term.c (grub_term_list_input): Removed.
31841 (grub_term_list_output): Likewise.
31842 (grub_term_input_class): New variable.
31843 (grub_term_output_class): Likewise.
50fb7002 31844 (grub_cur_term_input): Change variable as macro.
71b9f361 31845 (grub_cur_term_output): Likewise.
31846 (grub_term_register_input): Removed.
31847 (grub_term_register_output): Likewise.
31848 (grub_term_unregister_input): Likewise.
31849 (grub_term_unregister_output): Likewise.
31850 (grub_term_set_current_input): Likewise.
31851 (grub_term_set_current_output): Likewise.
31852 (grub_term_iterate_input): Likewise.
31853 (grub_term_iterate_output): Likewise.
31854 (grub_term_get_current_input): Likewise.
31855 (grub_term_get_current_output): Likewise.
31856
31857 * util/grub-editenv.c: Include header file <grub/handler.h>.
31858 (grub_term_get_current_input): Removed.
31859 (grub_term_get_current_output): Likewise.
31860 (grub_term_input_class): New variable.
50fb7002 31861 (grub_term_output_class): Likewise.
71b9f361 31862
31863 * util/grub-fstest.c (grub_term_get_current_input): Removed.
31864 (grub_term_get_current_output): Likewise.
31865 (grub_term_input_class): New variable.
50fb7002 31866 (grub_term_output_class): Likewise.
71b9f361 31867
31868 * util/grub-probe.c (grub_term_get_current_input): Removed.
31869 (grub_term_get_current_output): Likewise.
31870 (grub_term_input_class): New variable.
50fb7002 31871 (grub_term_output_class): Likewise.
71b9f361 31872
31873 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
31874 (grub_term_get_current_output): Likewise.
31875 (grub_term_input_class): New variable.
50fb7002 31876 (grub_term_output_class): Likewise.
71b9f361 31877
31878 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
31879 (terminal_mod_SOURCES): Likewise.
31880 (terminal_mod_CFLAGS): Likewise.
31881 (terminal_mod_LDFLAGS): Likewise.
31882
31883 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
31884 handler.c.
31885 (kernel_img_SOURCES): Add list.c and handler.c.
31886 (kernel_img_HEADERS): Add list.h and handler.h.
31887
31888 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31889 handler.c.
31890 (kernel_mod_SOURCES): Add list.c and handler.c.
31891 (kernel_mod_HEADERS): Add list.h and handler.h.
31892
31893 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
31894 handler.c.
31895 (kernel_elf_SOURCES): Add list.c and handler.c.
31896 (kernel_elf_HEADERS): Add list.h and handler.h.
31897
31898 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31899 handler.c.
31900 (kernel_elf_SOURCES): Add list.c and handler.c.
31901 (kernel_elf_HEADERS): Add list.h and handler.h.
31902
31903 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31904 handler.c.
31905 (kernel_mod_SOURCES): Add list.c and handler.c.
31906 (kernel_mod_HEADERS): Add list.h and handler.h.
31907
31908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31909 handler.c.
31910 (kernel_elf_SOURCES): Add list.c and handler.c.
31911 (kernel_elf_HEADERS): Add list.h and handler.h.
31912
8a31787f 319132009-02-27 Robert Millan <rmh@aybabtu.com>
31914
31915 Factorize elf32 / elf64 code in Multiboot loader. This will
31916 prevent it from getting out of sync again.
31917
31918 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
31919 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
31920 grub_multiboot_load_elf64): Move from here ...
31921 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
31922 grub_multiboot_load_elf): ... to here (new file).
31923
51cd3dfc 319242009-02-27 Robert Millan <rmh@aybabtu.com>
31925
31926 * util/grub.d/10_linux.in: Rename "single-user mode" to
31927 "recovery mode".
31928
6e8c9c3a 319292009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
31930
31931 Don't leak in SCSI code.
31932 * disk/scsi.c (grub_scsi_close): free `scsi'.
31933
4b6bf4f9 319342009-02-27 Robert Millan <rmh@aybabtu.com>
31935
31936 * loader/i386/pc/multiboot.c: Move from here ...
31937 * loader/i386/multiboot.c: ... to here. Update all users.
31938
b9413424 319392009-02-27 Robert Millan <rmh@aybabtu.com>
31940
31941 Patch from Alexandre Bique <bique.alexandre@gmail.com>
31942 * util/i386/pc/grub-setup.c (setup): Fix directory path.
31943
50fb7002 319442009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 31945
31946 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
31947 b-tree.
31948
8cc50345 319492009-02-27 Robert Millan <rmh@aybabtu.com>
31950
31951 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
31952 `0x' qualifier as 0 when base is specified as parameter).
31953
6e09b8b7 319542009-02-24 Bean <bean123ch@gmail.com>
31955
31956 * configure.ac: Check for -mcmodel=large in x86_64 target.
31957
31958 * include/grub/efi/api.h (efi_call_10): New macro.
31959 (efi_wrap_10): New function.
31960
31961 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
31962 (GRUB_PE32_REL_BASED_HIGH): Likewise.
31963 (GRUB_PE32_REL_BASED_LOW): Likewise.
31964 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
31965 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
31966 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
31967 (GRUB_PE32_REL_BASED_SECTION): Likewise.
31968 (GRUB_PE32_REL_BASED_REL): Likewise.
31969 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
31970 (GRUB_PE32_REL_BASED_DIR64): Likewise.
31971 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
31972
31973 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
31974 issue.
31975
31976 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
31977 (efi_wrap_10): New function.
31978
31979 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
31980
31981 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
31982 MB/MBP model (NV chipset).
31983 (devdata_devs): Add devpath_5 to the list.
31984
31985 * load/i386/efi/linux.c (video_base): Remove variable.
31986 (RGB_MASK): New macro.
31987 (RGB_MAGIC): Likewise.
31988 (LINE_MIN): Likewise.
31989 (LINE_MAX): Likewise.
31990 (FBTEST_STEP): Likewise.
31991 (FBTEST_COUNT): Likewise.
31992 (fb_list): New variable.
31993 (grub_find_video_card): Remove function.
31994 (find_framebuf): New function.
31995 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
31996 line length.
31997
31998 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
31999 problem for x86_64.
32000
74b21bee 320012009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32002
32003 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32004
32005 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32006 coding tool name.
32007
a455f472 320082009-02-22 Robert Millan <rmh@aybabtu.com>
32009
32010 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32011 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32012 in our relocation, instead of using it directly from heap. Also
32013 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32014
6374daf3 320152009-02-21 Robert Millan <rmh@aybabtu.com>
32016
32017 Implement USB keyboard support (based on patch by Marco Gerards)
32018
32019 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32020 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32021 (usb_keyboard_mod_LDFLAGS): New variables.
32022
32023 * term/usb_keyboard.c: New file.
32024
8fa4ea70 320252009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32026
32027 Corrected wrong declaration
32028
32029 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32030
353976ac 320312009-02-14 Christian Franke <franke@computer.org>
32032
32033 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32034 (grub_lspci_iter): Print class code and programming interface byte.
32035
6aa1169b 320362009-02-14 Christian Franke <franke@computer.org>
32037
32038 * gendistlist.sh: Ignore `.svn' directories.
32039
265372ca 320402009-02-14 Felix Zielcke <fzielcke@z-51.de>
32041
32042 * fs/fat.c: Add 2009 to Copyright line.
32043
9ff516f3 320442009-02-14 Christian Franke <franke@computer.org>
32045
32046 * commands/hdparm.c: New file. Provides `hdparm' command
32047 which sends ATA commands via grub_disk_ata_pass_through ().
32048
32049 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32050
32051 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32052 and <grub/cpu/io.h> to include/grub/ata.h.
32053 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32054 (GRUB_CDROM_SECTOR_SIZE): Remove.
32055 (GRUB_ATA_*): Move to include/grub/ata.h.
32056 (GRUB_ATAPI_*): Likewise.
32057 (enum grub_ata_commands): Likewise.
32058 (enum grub_ata_timeout_milliseconds): Likewise.
32059 (struct grub_ata_device): Likewise.
32060 (grub_ata_regset): Likewise.
32061 (grub_ata_regget): Likewise.
32062 (grub_ata_regset2): Likewise.
32063 (grub_ata_regget2): Likewise.
32064 (grub_ata_check_ready): Likewise.
32065 (grub_ata_wait_not_busy): Remove static, exported in
32066 include/grub/ata.h.
32067 (grub_ata_wait_drq): Likewise.
32068 (grub_ata_pio_read): Likewise.
32069
32070 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32071 function for hdparm.mod.
32072
32073 * include/grub/ata.h: New file, contains declarations from
32074 disk/ata.c.
32075 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32076
32077 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32078 (grub_disk_ata_pass_through): New exported variable.
32079
32080 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32081
772e23da 320822009-02-13 Colin D Bennett <colin@gibibit.com>
32083
32084 Support multiple fallback entries, and provide an API to support
32085 executing default+fallback menu entries. Renamed the `terminal' menu
32086 viewer to `text'.
32087
32088 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32089 variable declaration.
32090 (grub_menu_execute_callback): New structure declaration.
32091 (grub_menu_execute_callback_t): New typedef.
32092 (grub_menu_execute_with_fallback): New function declaration.
32093 (grub_menu_get_entry): Likewise.
32094 (grub_menu_get_timeout): Likewise.
32095 (grub_menu_set_timeout): Likewise.
32096
32097 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32098
32099 * normal/menu.c (grub_wait_after_message): Moved to
32100 `normal/menu_text.c'.
32101 (draw_border): Likewise.
32102 (print_message): Likewise.
32103 (print_entry): Likewise.
32104 (print_entries): Likewise.
32105 (grub_menu_init_page): Likewise.
32106 (get_entry_number): Likewise.
32107 (print_timeout): Likewise.
32108 (run_menu): Likewise.
32109 (grub_menu_execute_entry): Likewise.
32110 (show_text_menu): Likewise.
32111 (get_and_remove_first_entry_number): New function.
32112 (grub_menu_execute_with_fallback): Likewise.
32113 (get_entry): Renamed to ...
32114 (grub_menu_get_entry): .. this and made it global.
32115 (get_timeout): Renamed to ...
32116 (grub_menu_get_timeout): ... this and made it global.
32117 (set_timeout): Renamed to ...
32118 (grub_menu_set_timeout): ... this and made it global.
32119 (grub_normal_terminal_menu_viewer): Renamed to ...
32120 (grub_normal_text_menu_viewer): ... this.
32121
32122 * normal/menu_text.c: New file. Extracted text-menu-specific code
32123 from normal/menu.c.
32124
32125 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32126 (normal_mod_SOURCES): Likewise.
32127
32128 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32129 (normal_mod_SOURCES): Likewise.
32130
32131 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32132 (normal_mod_SOURCES): Likewise.
32133
32134 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32135 (normal_mod_SOURCES): Likewise.
32136
32137 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32138 (normal_mod_SOURCES): Likewise.
32139
32140 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32141 (normal_mod_SOURCES): Likewise.
32142
32143 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32144 (normal_mod_SOURCES): Likewise.
32145
16ac430e 321462009-02-11 Robert Millan <rmh@aybabtu.com>
32147
32148 * util/grub.d/00_header.in: Update old reference to `font' command.
32149
06ff20fc 321502009-02-10 Felix Zielcke <fzielcke@z-51.de>
32151
32152 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32153
32154 Based on patch from Javier Martín.
32155
96da9407 321562009-02-09 Felix Zielcke <fzielcke@z-51.de>
32157
32158 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 32159 to avoid false positives with FAT.
96da9407 32160 (grub_fstest_SOURCES): Likewise.
32161 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32162 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32163 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32164 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32165 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32166 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32167
6dca6fe4 321682009-02-09 Felix Zielcke <fzielcke@z-51.de>
32169
06ff20fc 32170 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 32171 bpb.version_specific.fat12_or_fat16.fstype and
32172 bpb.version_specific.fat32.fstype.
32173
2550c62f 321742009-02-08 Robert Millan <rmh@aybabtu.com>
32175
be110b30 32176 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 32177
56978920 321782009-02-08 Robert Millan <rmh@aybabtu.com>
32179
32180 * Makefile.in (host_os, host_cpu): New variables.
32181 (target_os): Remove. Update all users.
32182
d64399b5 321832009-02-08 Marco Gerards <marco@gnu.org>
32184
32185 * Makefile.in (enable_grub_emu_usb): New variable.
32186 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32187 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32188 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32189 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32190 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32191 `usbtest.mod' and `usbms.mod'.
32192 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32193 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32194 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32195 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32196 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32197 variables.
32198
32199 * disk/usbms.c: New file.
32200
32201 * include/grub/usb.h: Likewise.
32202
32203 * include/grub/usbtrans.h: Likewise.
32204
32205 * include/grub/usbdesc.h: Likewise.
32206
32207 * bus/usb/usbtrans.c: Likewise.
32208
32209 * bus/usb/ohci.c: Likewise.
32210
32211 * bus/usb/uhci.c: Likewise.
32212
32213 * bus/usb/usbhub.c: Likewise.
32214
32215 * bus/usb/usb.c: Likewise.
32216
32217 * commands/usbtest.c: Likewise.
32218
32219 * util/usb.c: Likewise.
50fb7002 32220
d64399b5 32221 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32222
32223 * configure.ac: Test for libusb presence.
50fb7002 32224
d64399b5 32225 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32226
2b40d6bb 322272009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32228
32229 * kern/mm.c: Add more comments.
32230
73a4ce81 322312009-02-08 Robert Millan <rmh@aybabtu.com>
32232
32233 Patch from Javier Martín.
32234 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32235 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32236
f821ce59 322372009-02-08 Robert Millan <rmh@aybabtu.com>
32238
32239 * fs/cpio.c: Split tar functionality to ...
32240 * fs/tar.c: ... here (new file). Update all users.
32241
aebfc4b0 322422009-02-07 Robert Millan <rmh@aybabtu.com>
32243
32244 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32245 backward-incompatible features.
32246
32247 Based on patch from Javier Martín, with some adjustments.
32248
50fb7002 322492009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 32250
32251 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32252
0bb5115e 322532009-02-07 Robert Millan <rmh@aybabtu.com>
32254
32255 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32256 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32257 after the RAID stuff.
32258
38a0f8e7 322592009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32260
50fb7002 32261 Fixes problem when running vbetest command as reported by
38a0f8e7 32262 Vladimir Serbinenko <phcoder@gmail.com>.
32263
32264 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32265
3143cc1c 322662009-02-04 Felix Zielcke <fzielcke@z-51.de>
32267
32268 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32269 /dev/md/NpN style mdraid devices.
32270
9cba6fce 322712009-02-03 Felix Zielcke <fzielcke@z-51.de>
32272
32273 * util/unifont2pff.rb: Remove.
32274
e507a2c1 322752009-02-03 Felix Zielcke <fzielcke@z-51.de>
32276
32277 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32278 `#'.
32279
d2c2b4cd 322802009-02-03 Felix Zielcke <fzielcke@z-51.de>
32281
32282 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32283 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32284 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32285 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32287 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32288 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32289
b4315fb0 322902009-02-02 Christian Franke <franke@computer.org>
32291
32292 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32293
de3aa260 322942009-02-01 Felix Zielcke <fzielcke@z-51.de>
32295
7c3ff286 32296 * INSTALL: Note that we now require at least autoconf 2.59 and
32297 that LZO is optional.
de3aa260 32298
825a182b 322992009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32300
32301 Base on patch on bug #24154 created by Tomas Tintera
32302 <trosos@seznam.cz>.
32303
32304 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32305
a69ef770 323062009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32307
7c3ff286 32308 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 32309 <bero@arklinux.org>.
32310
32311 * normal/parser.y (script_init): Add missing semicolon.
32312
6fa42fa6 323132009-01-31 Colin D Bennett <colin@gibibit.com>
32314
7c3ff286 32315 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 32316 (free_menu_entry_classes): Added.
32317 (grub_normal_menu_addentry): Added class property handling.
32318 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32319 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32320
32321 * normal/menu_viewer.c: New file.
32322
32323 * normal/menu.c (run_menu_entry): Renamed to ...
32324 (grub_menu_execute_entry): ... this and made it as global.
32325 (grub_menu_run): Renamed to ...
32326 (show_text_menu): ... this and made it local.
32327 (show_text_menu): Adapt to new function names.
32328 (grub_normal_terminal_menu_viewer): New global variable.
32329
32330 * include/grub/menu.h: New file.
32331
32332 * include/grub/menu_viewer.h: New file.
32333
32334 * include/grub/normal.h: Added include to grub/menu.h.
32335 (grub_menu_entry): Moved to include/grub/menu.h.
32336 (grub_menu_entry_t): Likewise.
32337 (grub_menu): Likewise.
32338 (grub_menu_t): Likewise.
32339 (grub_normal_terminal_menu_viewer): Added.
32340 (grub_menu_execute_entry): Likewise.
32341 (grub_menu_run): Removed.
32342
32343 * DISTLIST: Added include/grub/menu.h.
32344 Added include/grub/menu_viewer.h.
32345 Added normal/menu_viewer.c.
32346
323472009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32348
32349 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32350 arglist for menutitle arguments.
32351
32352 * normal/main.c (grub_normal_menu_addentry): Likewise.
32353
32354 * normal/parser.y (menuentry): Likewise.
32355
32356 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32357
32358 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32359 (grub_script_create_cmdmenu): Likewise.
32360
32361 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32362
32363 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32364 changes.
32365
32366 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32367
32368 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32369
32370 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32371
32372 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32373
32374 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32375
32376 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32377
56192c23 323782009-01-30 Christian Franke <franke@computer.org>
32379
32380 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32381 in option help text.
32382
d72521b3 323832009-01-27 Pavel Roskin <proski@gnu.org>
32384
32385 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32386
994b5e84 323872009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32388
32389 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32390
32391 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32392
32393 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32394 unregister function.
32395
6a7eab2c 323962009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32397
32398 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32399
32400 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32401
32402 * util/grub-mkfont.c (usage): Fix typo.
32403
32404 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32405
1806b56e 324062009-01-26 Daniel Mierswa <impulze@impulze.org>
32407
3fb18f09 32408 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32409
336e1fb9 32410 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32411
1806b56e 32412 * kern/misc.c (grub_strcasecmp): New function.
32413 (grub_strcasecmp): Use grub_size_t instead of int for length.
32414 Fix return value.
32415 * include/grub/misc.h: Update function prototypes.
32416
580b2a0f 324172009-01-26 Robert Millan <rmh@aybabtu.com>
32418
32419 * configure.ac: Fix cross-compilation check.
ef257b36 32420
d31c24f1 324212009-01-22 Christian Franke <franke@computer.org>
32422
32423 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32424 (precision) digit string. Allow `.format2' without `format1' (width).
32425 Limit input chars for `%s' output to `format2' if specified. This is
32426 compatible with standard printf ().
32427
3138b44c 324282009-01-22 Christian Franke <franke@computer.org>
32429
32430 * disk/ata.c (grub_ata_wait_status): Replace by ...
32431 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32432 other status bits may be invalid while BSY is asserted.
32433 (grub_ata_check_ready): New function.
32434 (grub_ata_cmd): Removed.
32435 (grub_ata_wait_drq): New function.
32436 (grub_ata_strncpy): Remove inline.
32437 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32438 and error check now done by grub_ata_wait_drq ().
32439 (grub_ata_pio_write): Likewise.
32440 (grub_atapi_identify): Set DEV before check for !BSY. Use
32441 grub_ata_wait_drq () to wait for data.
32442 (grub_ata_device_initialize): Add status register check to
32443 detect missing SATA slave devices. Add debug messages.
32444 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32445 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32446 transfer loop by grub_ata_pio_write ().
32447 (grub_ata_identify): Set DEV before check for !BSY. Use
32448 grub_ata_wait_drq () to wait for data.
ef257b36 32449 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 32450 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32451 read/write in one loop. Fix invalid command on write. Fix incomplete
32452 command on (size % batch) == 0. Add missing error check after write of
32453 last block. Add debug messages.
32454 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32455
59a64ef6 324562009-01-19 Christian Franke <franke@computer.org>
32457
32458 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32459 (GRUB_ATAPI_IREASON_*): Likewise.
32460 (grub_ata_pio_write): Fix timeout error return.
32461 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32462 (grub_atapi_wait_drq): New function.
32463 (grub_atapi_packet): New parameter `size'.
32464 Use grub_atapi_wait_drq () and direct write instead of
32465 grub_ata_pio_write ().
32466 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32467 reads the number of bytes requested by the device for each DRQ
32468 assertion.
32469 (grub_atapi_write): Remove old implementation, return not
32470 implemented instead.
32471
1cfe20b3 324722009-01-19 Christian Franke <franke@computer.org>
32473
32474 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32475 of 512 to calculate data size.
32476 (grub_scsi_read12): Likewise.
32477 (grub_scsi_write10): Likewise.
32478 (grub_scsi_write12): Likewise.
32479 (grub_scsi_read): Adjust size according to blocksize.
32480 Add checks for invalid blocksize and unaligned transfer.
32481
bee5fe5d 324822009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32483
32484 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32485
ef257b36 32486 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 32487 width glyphs.
32488
3e643f8c 324892009-01-19 Robert Millan <rmh@aybabtu.com>
32490
32491 * config.guess: Update to latest version from config git.
32492 * config.sub: Likewise.
32493
4fa80998 324942009-01-17 Felix Zielcke <fzielcke@z-51.de>
32495
32496 * Makefile.in: Change font compilation to use new grub-mkfont instead
32497 of java version.
32498
32499 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32500 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32501 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32502 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32503 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32504 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32505 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32506 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32507 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32508
7086085b 325092009-01-16 Christian Franke <franke@computer.org>
32510
32511 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32512 (enum grub_ata_timeout_milliseconds): New enum.
32513 (grub_ata_wait_status): Add parameter milliseconds.
32514 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32515 recovery from timed-out commands.
32516 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32517 return grub_errno instead of REG_ERROR.
32518 (grub_ata_pio_write): Add parameter milliseconds.
32519 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32520 Pass milliseconds to grub_ata_wait_status () and
32521 grub_ata_pio_read ().
32522 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
32523 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
32524 grub_ata_wait_status (). Fix IDENTIFY timeout check.
32525 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
32526 It is not suitable for device detection, because DEV bit is ignored,
32527 the command may run too long, and not all devices set the signature
32528 properly.
32529 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
32530 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
32531 Fix device selection, DEV bit must be set first to address the registers
32532 of the correct device.
32533 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
32534 grub_ata_pio_read/write ().
32535 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
32536 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
32537
4a412913 325382009-01-13 Carles Pina i Estany <carles@pina.cat>
32539
32540 * util/grub-editenv.c (main): Use fseeko(), not fseek().
32541
7795c55e 325422009-01-13 Bean <bean123ch@gmail.com>
d913988c 32543
32544 * util/grub-mkfont.c (write_font): forget to remove some debug code.
32545
7795c55e 325462009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 32547
32548 * Makefile.in: (enable_grub_mkfont): New variable.
32549 (freetype_cflags): Likewise.
32550 (freetype_libs): Likewise.
32551
32552 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
32553 (grub_mkfont_SOURCES): New variable.
32554 (grub_mkfont_CFLAGS): Likewise.
32555 (grub_mkfont_LDFLAGS): Likewise.
32556
32557 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
32558 library if `--enable-grub-mkfont' is requested.
32559 (enable_grub_mkfont): New variable.
32560 (freetype_cflags): Likewise.
32561 (freetype_libs): Likewise.
32562
32563 * util/grub-mkfont.c: New file.
32564
093af1fe 325652009-01-12 Christian Franke <franke@computer.org>
32566
32567 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
32568 mode check. Fix setting of compat_use[].
32569
f36cc108 325702009-01-10 Robert Millan <rmh@aybabtu.com>
32571
32572 Update a few copyright years which we forgot to do in 2008 (only for
32573 files whose changes made in 2008 were copyright-significant)
32574
32575 * Makefile.in: Add 2008 to Copyright line.
32576 * disk/ieee1275/ofdisk.c: Likewise.
32577 * disk/efi/efidisk.c: Likewise.
32578 * kern/dl.c: Likewise.
32579 * kern/sparc64/ieee1275/init.c: Likewise.
32580 * kern/mm.c: Likewise.
32581 * kern/efi/mm.c: Likewise.
32582 * boot/i386/pc/boot.S: Likewise.
32583 * genfslist.sh: Likewise.
32584 * fs/iso9660.c: Likewise.
32585 * fs/hfs.c: Likewise.
32586 * fs/jfs.c: Likewise.
32587 * fs/minix.c: Likewise.
32588 * fs/ufs.c: Likewise.
32589 * gensymlist.sh.in: Likewise.
32590 * genkernsyms.sh.in: Likewise.
32591 * include/grub/misc.h: Likewise.
32592 * include/grub/types.h: Likewise.
32593 * include/grub/symbol.h: Likewise.
32594 * include/grub/elf.h: Likewise.
32595 * include/grub/kernel.h: Likewise.
32596 * include/grub/disk.h: Likewise.
32597 * include/grub/dl.h: Likewise.
32598 * include/grub/i386/linux.h: Likewise.
32599 * include/grub/i386/pc/biosdisk.h: Likewise.
32600 * include/grub/efi/api.h: Likewise.
32601 * include/grub/efi/pe32.h: Likewise.
32602 * include/grub/util/misc.h: Likewise.
32603 * normal/execute.c: Likewise.
32604 * normal/arg.c: Likewise.
32605 * normal/completion.c: Likewise.
32606 * normal/lexer.c: Likewise.
32607 * normal/parser.y: Likewise.
32608 * normal/misc.c: Likewise.
32609 * commands/i386/pc/vbeinfo.c: Likewise.
32610 * commands/hexdump.c: Likewise.
32611 * commands/terminal.c: Likewise.
32612 * commands/ls.c: Likewise.
32613 * commands/help.c: Likewise.
32614 * partmap/pc.c: Likewise.
32615 * loader/efi/chainloader.c: Likewise.
32616 * loader/multiboot_loader.c: Likewise.
32617 * loader/i386/pc/multiboot2.c: Likewise.
32618 * term/efi/console.c: Likewise.
32619 * term/i386/pc/serial.c: Likewise.
32620 * util/lvm.c: Likewise.
32621 * util/console.c: Likewise.
32622 * util/i386/efi/grub-mkimage.c: Likewise.
32623 * util/raid.c: Likewise.
32624
7f02114b 326252009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
32626
32627 * commands/videotest.c: Removed include to grub/machine/memory.h.
32628
32629 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
32630 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
32631 (video_mod_SOURCES): Removed.
32632 (video_mod_CFLAGS): Likewise.
32633 (video_mod_LDFLAGS): Likewise.
32634 (gfxterm_mod_SOURCES): Likewise.
32635 (gfxterm_mod_CFLAGS): Likewise.
32636 (gfxterm_mod_LDFLAGS): Likewise.
32637 (videotest_mod_SOURCES): Likewise.
32638 (videotest_mod_CFLAGS): Likewise.
32639 (videotest_mod_LDFLAGS): Likewise.
32640 (bitmap_mod_SOURCES): Likewise.
32641 (bitmap_mod_CFLAGS): Likewise.
32642 (bitmap_mod_LDFLAGS): Likewise.
32643 (tga_mod_SOURCES): Likewise.
32644 (tga_mod_CFLAGS): Likewise.
32645 (tga_mod_LDFLAGS): Likewise.
32646 (jpeg_mod_SOURCES): Likewise.
32647 (jpeg_mod_CFLAGS): Likewise.
32648 (jpeg_mod_LDFLAGS): Likewise.
32649 (png_mod_SOURCES): Likewise.
32650 (png_mod_CFLAGS): Likewise.
32651 (png_mod_LDFLAGS): Likewise.
32652
32653 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
32654 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
32655 (video_mod_SOURCES): Added.
32656 (video_mod_CFLAGS): Likewise.
32657 (video_mod_LDFLAGS): Likewise.
32658 (videotest_mod_SOURCES): Likewise.
32659 (videotest_mod_CFLAGS): Likewise.
32660 (videotest_mod_LDFLAGS): Likewise.
32661 (bitmap_mod_SOURCES): Likewise.
32662 (bitmap_mod_CFLAGS): Likewise.
32663 (bitmap_mod_LDFLAGS): Likewise.
32664 (tga_mod_SOURCES): Likewise.
32665 (tga_mod_CFLAGS): Likewise.
32666 (tga_mod_LDFLAGS): Likewise.
32667 (jpeg_mod_SOURCES): Likewise.
32668 (jpeg_mod_CFLAGS): Likewise.
32669 (jpeg_mod_LDFLAGS): Likewise.
32670 (png_mod_SOURCES): Likewise.
32671 (png_mod_CFLAGS): Likewise.
32672 (png_mod_LDFLAGS): Likewise.
32673 (gfxterm_mod_SOURCES): Likewise.
32674 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 32675 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 32676
32677 * term/gfxterm.c: Removed include to grub/machine/memory.h,
32678 grub/machine/console.h.
32679
644fff97 326802009-01-04 Jerone Young <jerone@gmail.com>
32681
32682 Make on screen instructions clearer
32683
32684 Based on patch created by Jidanni <jidanni@jidanni.org>
32685
32686 * normal/menu.c: print clearer instructions on the screen
32687
1e901a75 326882009-01-02 Colin D Bennett <colin@gibibit.com>
32689
32690 New font engine.
34c44600 32691
1e901a75 32692 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
32693 build system and fixed gfxterm.c to work with different sized fonts.
32694
32695 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 32696
1e901a75 32697 * configure: Re-generated.
34c44600 32698
1e901a75 32699 * DISTLIST: Removed font/manager.c.
32700 Added font/font.c.
32701 Added font/font_cmd.c.
34c44600 32702
1e901a75 32703 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
32704 compilation.
34c44600 32705
1e901a75 32706 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 32707
32708 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 32709
32710 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 32711
1e901a75 32712 * normal/menu.c: Likewise.
34c44600 32713
1e901a75 32714 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
32715 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 32716
1e901a75 32717 * include/grub/font.h: Replaced with new file.
34c44600 32718
1e901a75 32719 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
32720 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
32721 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
32722 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
32723 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 32724 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 32725 fg_red, fg_green, fg_blue, fg_alpha.
32726 (grub_video_adapter): Removed blit_glyph.
34c44600 32727 (grub_video_blit_glyph): Removed.
32728
1e901a75 32729 * font/manager.c: Removed file.
34c44600 32730
32731 * font/font.c: New file.
32732
1e901a75 32733 * font/font_cmd.c: Likewise.
34c44600 32734
1e901a75 32735 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 32736
1e901a75 32737 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
32738 (grub_video_vbe_map_rgba): Likewise.
32739 (grub_video_vbe_unmap_color_int): Likewise.
32740 (grub_video_vbe_blit_glyph): Removed.
32741 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 32742
1e901a75 32743 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
32744 (get_pixel): Likewise.
34c44600 32745 (set_pixel): Likewise.
32746
1e901a75 32747 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 32748
1e901a75 32749 * term/gfxterm.c: Adapted to new font engine.
34c44600 32750
1e901a75 32751 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 32752
1e901a75 32753 * term/i386/pc/vga.c: Likewise.
34c44600 32754
1e901a75 32755 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 32756
1e901a75 32757 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 32758
1e901a75 32759 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 32760
1e901a75 32761 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 32762
1e901a75 32763 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 32764
1e901a75 32765 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 32766
1e901a75 32767 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 32768
1e901a75 32769 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 32770
1e901a75 32771 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32772
32773 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 32774
1e901a75 32775 * util/grub-mkconfig_lib.in: Changed font extension.
32776
278922e8 327772008-12-28 Felix Zielcke <fzielcke@z-51.de>
32778
32779 * util/getroot.c (grub_util_get_grub_dev): Add support for
32780 /dev/md/dNNpNN style partitionable mdraid devices.
32781
3ced05cf 327822008-12-12 Alex Smith <alex@alex-smith.me.uk>
32783
32784 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
32785 at a time limit of the PXE TFTP API correctly.
32786 (grub_pxefs_close): Likewise.
32787
7fd0ee30 327882008-11-29 Robert Millan <rmh@aybabtu.com>
32789
34c44600 32790 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 32791 grub_ata_device_initialize() calls.
32792
34c44600 327932008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 32794
32795 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
32796 iteration failed.
32797 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
32798
89313780 327992008-11-28 Robert Millan <rmh@aybabtu.com>
32800
32801 Fix build on powerpc-ieee1275. Based on patch created by
32802 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
32803 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32804 `kern/ieee1275/mmap.c'.
32805 * include/grub/powerpc/ieee1275/memory.h: New file.
32806
15257703 32807 Provide grub-install on coreboot.
32808 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
32809 (grub_install_SOURCES): New variable.
32810 * util/i386/pc/grub-install.in: Add a few condition checks to make it
32811 usable on coreboot.
32812
9fc5388a 328132008-11-25 Felix Zielcke <fzielcke@z-51.de>
32814
32815 * util/grub-fstest.c (grub_term_get_current_input): Change return type
32816 to `grub_term_input_t'.
32817 (grub_term_get_current_output): Change return type to
32818 `grub_term_output_t'.
32819
bc3a2f31 328202008-11-22 Robert Millan <rmh@aybabtu.com>
32821
34c44600 32822 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 32823 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
32824 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
32825 grub_vga_text_cls().
32826
80fc88f2 32827 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 32828 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 32829
cbf36fd3 32830 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
32831 to 0x200000 (avoids trouble with some OFW implementations, and matches
32832 with the one in Yaboot).
32833 Reported by Manoel Abranches
32834
73e8e268 328352008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 32836
32837 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
32838 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
32839
73e8e268 32840 * util/grub-mkconfig_lib.in (grub_warn): New function.
32841 (convert_system_path_to_grub_path): Use grub_warn() when issuing
32842 warnings, to obtain consistent formatting.
32843 * util/grub.d/00_header.in: Likewise.
32844 * util/update-grub_lib.in: Likewise.
32845
e94045a1 32846 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 32847 Move comment text to `#error' stanza.
e94045a1 32848
79d29fd7 32849 Harmonize ieee1275's grub_available_iterate() with the generic
32850 grub_machine_mmap_iterate() interface (fixes a recently-introduced
32851 build problem on i386-ieee1275):
32852 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
32853 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
32854 parameter `type'. Update all users of this function.
32855 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32856 `kern/ieee1275/mmap.c'.
32857 * kern/ieee1275/init.c
32858 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
32859 with ...
32860 (grub_machine_mmap_iterate): ... this.
32861 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
32862 return type to `grub_err_t'. Update all implementations of this
32863 function prototype.
32864 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
32865 Likewise.
32866
60d6b16e 32867 Add `lsmmap' command (lists firmware-provided memory map):
32868 * commands/lsmmap.c: New file.
32869 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
32870 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
32871 variables.
32872 * conf/powerpc-ieee1275.rmk: Likewise.
32873 * conf/i386-coreboot.rmk: Likewise.
32874 * conf/i386-ieee1275.rmk: Likewise.
32875
ebaaf49b 328762008-11-19 Robert Millan <rmh@aybabtu.com>
32877
32878 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 32879 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
32880 constraints to initrd allocation (based on code from
32881 loader/i386/pc/linux.c). Without them, initrd was allocated too high
32882 for Linux to find it.
ebaaf49b 32883
dfab719f 328842008-11-14 Robert Millan <rmh@aybabtu.com>
32885
32886 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
32887 order to cope with duplicate slashes.
32888
10fc3eb9 328892008-11-14 Robert Millan <rmh@aybabtu.com>
32890
32891 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
32892 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
32893 don't want to mess with lower memory, because it is used in the Linux
32894 loader.
32895
32896 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 32897 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 32898 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
32899 is in our heap (probably as a result of it being corrupted during
2f2a3442 32900 decompression). Add #error instance with comment to explain why this
32901 loader isn't currently usable on PC/BIOS.
10fc3eb9 32902
e2e07847 329032008-11-14 Robert Millan <rmh@aybabtu.com>
32904
32905 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 32906 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 32907
fe8e8d69 329082008-11-12 Robert Millan <rmh@aybabtu.com>
32909
32910 Make loader/i386/linux.c buildable on i386-pc (although disabled).
32911
32912 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
32913 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
32914 from here ...
32915 * include/grub/i386/pc/memory.h: ... to here.
32916
976b07d0 329172008-11-12 Robert Millan <rmh@aybabtu.com>
32918
32919 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
32920 split).
32921
32922 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
32923 (grub_console_cur_color, grub_console_real_putchar)
32924 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32925 (grub_console_setcolorstate, grub_console_setcolor)
32926 (grub_console_getcolor): Move from here ...
32927 * include/grub/i386/vga_common.h: ... to here (new file).
32928
32929 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
32930 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
32931 `<grub/i386/io.h>'.
32932 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
32933 `<grub/i386/vga_common.h>'.
32934
76679cd3 329352008-11-12 Robert Millan <rmh@aybabtu.com>
32936
32937 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
32938 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
32939 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
32940 variables.
32941 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32942 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
32943
32944 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
32945 grub_console_init() with call to grub_vga_text_init().
32946 (grub_machine_fini): Replace call to
32947 grub_console_fini() with call to grub_vga_text_fini() and
32948 grub_at_keyboard_fini().
32949
32950 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
32951 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32952 (grub_console_setcolorstate, grub_console_setcolor)
32953 (grub_console_getcolor): New function prototypes.
32954
32955 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
32956 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
32957 (grub_vga_text_setcursor): Static-ize.
32958 (grub_vga_text_term): New structure.
32959 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
32960
32961 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
32962 (grub_console_cur_color, grub_console_standard_color)
32963 (grub_console_normal_color, grub_console_highlight_color)
32964 (map_char, grub_console_putchar, grub_console_getcharwidth)
32965 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
32966 (grub_console_getcolor): Move from here ...
32967 * term/i386/vga_common.c: ... to here (same function names).
32968
95b841d3 329692008-11-12 Robert Millan <rmh@aybabtu.com>
32970
32971 Use newly-added Multiboot support in coreboot.
32972
32973 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32974 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
32975
32976 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
32977 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
32978 (codestart): Store the MBI in `startup_multiboot_info' when we're
32979 being loaded using Multiboot.
32980
32981 * kern/i386/coreboot/init.c (grub_machine_init): Move
32982 grub_at_keyboard_init() call to beginning of function (useful for
32983 debugging). Call grub_machine_mmap_init() before attempting to use
32984 grub_machine_mmap_iterate().
32985 (grub_lower_mem, grub_upper_mem): Move from here ...
32986 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
32987 here (new file).
32988
32989 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
32990 function prototype.
32991
761ca975 329922008-11-12 Robert Millan <rmh@aybabtu.com>
32993
32994 Fix a regression introduced by the at_keyboard.mod split. Because
32995 some terminals are default on some platforms and non-default on
32996 others, the first terminal being registered determines which is
32997 going to be default.
32998
32999 * kern/term.c (grub_term_register_input): If this is the first
33000 terminal being registered, set it as the current one.
33001 (grub_term_register_output): Likewise.
33002
33003 * term/efi/console.c (grub_console_init): Do not call
33004 grub_term_set_current_output() or grub_term_set_current_input().
33005 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33006 * term/i386/pc/console.c (grub_console_init): Likewise.
33007 (grub_console_fini): Do not call grub_term_set_current_input()
33008 (but leave grub_term_set_current_output() to restore text mode).
33009
6c529df7 330102008-11-10 Robert Millan <rmh@aybabtu.com>
33011
33012 * util/grub.d/00_header.in: Add backward compatibility check for
33013 versions of terminal.mod that don't understand `terminal_input' or
33014 `terminal_output'.
33015
132e4113 330162008-11-09 Robert Millan <rmh@aybabtu.com>
33017
33018 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33019 `terminal_input' / `terminal_output', not `terminal'.
33020
ac293d50 330212008-11-08 Robert Millan <rmh@aybabtu.com>
33022
33023 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 33024 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 33025
0025933a 330262008-11-08 Robert Millan <rmh@aybabtu.com>
33027
33028 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 33029 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 33030 members. Update all users.
33031 * util/console.c (grub_ncurses_term): Split in ...
33032 (grub_ncurses_term_input): ... this, and ...
33033 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 33034 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 33035
37c86336 330362008-11-08 Robert Millan <rmh@aybabtu.com>
33037
33038 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33039 (PKGDATA): Add $(pkgdata_SRCDIR).
33040 (pkglib_BUILDDIR): New variable.
33041 (pkgdata_SRCDIR): New variable.
33042 (build_env.mk): New target.
33043 (include_DATA): New variable.
33044 (install-local): Install $(include_DATA) files in $(includedir).
33045
b6c15a2d 330462008-11-07 Pavel Roskin <proski@gnu.org>
33047
d99d46f1 33048 * gendistlist.sh: Use C locale for sorting to ensure consistent
33049 output on all systems.
33050
b6c15a2d 33051 * util/grub.d/00_header.in: Remove incorrect space before
33052 "serial".
33053
c32ee8c9 330542008-11-07 Robert Millan <rmh@aybabtu.com>
33055
33056 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33057 per specification.
33058 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33059 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33060 (based on find_multi_boot1_header).
33061 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33062 using find_multi_boot2_header(), and abort if neither Multiboot or
33063 Multiboot headers were found.
33064
651c29b7 330652008-11-07 Robert Millan <rmh@aybabtu.com>
33066
33067 Modularize at_keyboard.mod:
33068
33069 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33070 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33071 (at_keyboard_mod_LDFLAGS): New variables.
33072
33073 Actual terminal split:
33074
33075 * include/grub/term.h (struct grub_term): Split in ...
33076 (struct grub_term_input): ... this, and ...
33077 (struct grub_term_output): ... this. Update all users.
33078 (grub_term_set_current): Split in ...
33079 (grub_term_set_current_input): ... this, and ...
33080 (grub_term_set_current_output): ... this.
33081 (grub_term_get_current): Split in ...
33082 (grub_term_get_current_input): ... this, and ...
33083 (grub_term_get_current_output): ... this.
33084 (grub_term_register): Split in ...
33085 (grub_term_register_input): ... this, and ...
33086 (grub_term_register_output): ... this.
33087 (grub_term_unregister): Split in ...
33088 (grub_term_unregister_input): ... this, and ...
33089 (grub_term_unregister_output): ... this.
33090 (grub_term_iterate): Split in ...
33091 (grub_term_iterate_input): ... this, and ...
33092 (grub_term_iterate_output): ... this.
33093
33094 * kern/term.c (grub_term_list): Split in ...
33095 (grub_term_list_input): ... this, and ...
33096 (grub_term_list_output): ... this. Update all users.
33097 (grub_cur_term): Split in ...
33098 (grub_cur_term_input): ... this, and ...
33099 (grub_cur_term_output): ... this. Update all users.
33100 (grub_term_set_current): Split in ...
33101 (grub_term_set_current_input): ... this, and ...
33102 (grub_term_set_current_output): ... this.
33103 (grub_term_get_current): Split in ...
33104 (grub_term_get_current_input): ... this, and ...
33105 (grub_term_get_current_output): ... this.
33106 (grub_term_register): Split in ...
33107 (grub_term_register_input): ... this, and ...
33108 (grub_term_register_output): ... this.
33109 (grub_term_unregister): Split in ...
33110 (grub_term_unregister_input): ... this, and ...
33111 (grub_term_unregister_output): ... this.
33112 (grub_term_iterate): Split in ...
33113 (grub_term_iterate_input): ... this, and ...
33114 (grub_term_iterate_output): ... this.
33115
33116 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33117 a check for input and one for output (and only attempt to get keys
33118 from user when input works).
33119
33120 * util/grub-probe.c (grub_term_get_current): Split in ...
33121 (grub_term_get_current_input): ... this, and ...
33122 (grub_term_get_current_output): ... this.
33123 * util/grub-fstest.c: Likewise.
33124 * util/i386/pc/grub-setup.c: Likewise.
33125 * util/grub-editenv.c: Likewise.
33126
33127 Portability adjustments:
33128
33129 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33130 `term/i386/pc/at_keyboard.c'.
33131 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33132 grub_keyboard_controller_init() (now handled by terminal .init).
33133 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33134 grub_at_keyboard_init().
33135 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33136 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33137 at_keyboard.mod via input terminal interface).
33138 * include/grub/i386/coreboot/console.h: Convert into a stub for
33139 `<grub/i386/pc/console.h>'.
33140
33141 Migrate full terminals to new API:
33142
33143 * term/efi/console.c (grub_console_term): Split into ...
33144 (grub_console_term_input): ... this, and ...
33145 (grub_console_term_output): ... this. Update all users.
33146 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33147 (grub_ofconsole_init): Split into ...
33148 (grub_ofconsole_init_input): ... this, and ...
33149 (grub_ofconsole_init_output): ... this.
33150 (grub_ofconsole_term): Split into ...
33151 (grub_ofconsole_term_input): ... this, and ...
33152 (grub_ofconsole_term_output): ... this. Update all users.
33153 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33154 (grub_serial_term_input): ... this, and ...
33155 (grub_serial_term_output): ... this. Update all users.
33156 * term/i386/pc/console.c (grub_console_term): Split into ...
33157 (grub_console_term_input): ... this, and ...
33158 (grub_console_term_output): ... this. Update all users.
33159 (grub_console_term_input): Only enable it on PC/BIOS platform.
33160 (grub_console_init): Remove grub_keyboard_controller_init() call.
33161
33162 Migrate input terminals to new API:
33163
33164 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33165 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33166 i386-specific anyway).
33167 (grub_console_checkkey): Rename to ...
33168 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33169 users.
33170 (grub_keyboard_controller_orig): New variable.
33171 (grub_console_getkey): Rename to ...
33172 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33173 users.
33174 (grub_keyboard_controller_init): Static-ize. Save original
33175 controller value so that it can be restored ...
33176 (grub_keyboard_controller_fini): ... here (new function).
33177 (grub_at_keyboard_term): New structure.
33178 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33179 functions.
33180
33181 Migrate output terminals to new API:
33182
33183 * term/i386/pc/vga.c (grub_vga_term): Change type to
33184 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33185 members. Update all users.
33186 * term/gfxterm.c (grub_video_term): Change type to
33187 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33188 members. Update all users.
33189 * include/grub/i386/pc/console.h (grub_console_checkkey)
33190 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33191 etc).
33192
33193 Migrate `terminal' command and userland tools to new API:
33194
33195 * commands/terminal.c (grub_cmd_terminal): Split into ...
33196 (grub_cmd_terminal_input): ... this, and ...
33197 (grub_cmd_terminal_output): ... this.
33198 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33199 `terminal_input' and `terminal_output'.
33200 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33201 `terminal_input' / `terminal_output' API.
33202 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33203 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33204 provided ${GRUB_TERMINAL}, convert it).
33205
96e5d876 332062008-11-04 Robert Millan <rmh@aybabtu.com>
33207
33208 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33209 for FreeBSD.
33210 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33211
556f3775 332122008-11-03 Bean <bean123ch@gmail.com>
33213
33214 * kern/elf.c (grub_elf32_load): Revert to previous code.
33215 (grub_elf64_load): Likewise.
33216
33217 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33218
926b9823 332192008-11-01 Robert Millan <rmh@aybabtu.com>
33220
33221 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33222 (TARGET_CPPFLAGS): Likewise.
33223 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33224
1432e958 332252008-11-01 Carles Pina i Estany <carles@pina.cat>
33226
33227 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33228
dba3f844 332292008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 33230
33231 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33232 addition of objects until the code is not going to be able to fail.
33233
dba3f844 332342008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 33235
33236 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33237 (add a missing NULL check, and correct them by moving the pointer
33238 operations after the actual check).
33239
7ab28c21 332402008-10-29 Robert Millan <rmh@aybabtu.com>
33241
33242 * util/i386/pc/grub-install.in: Handle empty string as output from
33243 make_system_path_relative_to_its_root().
33244
1b7748eb 332452008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33246
33247 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33248 circular metadata worst case scenario. If the metadata is circular
33249 then copy the wrap in place.
33250 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33251 project lib/format_text/layout.h
33252 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33253
c9618ab2 332542008-10-03 Felix Zielcke <fzielcke@z-51.de>
33255
7a36edca 33256 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 33257
bf981c62 332582008-10-03 Felix Zielcke <fzielcke@z-51.de>
33259
33260 * util/update-grub_lib.in: Mention filename in warning message.
33261
6d994591 332622008-09-29 Felix Zielcke <fzielcke@z-51.de>
33263
33264 * NEWS: Update for rename of update-grub to grub-mkconfig.
33265
18ade780 332662008-09-29 Felix Zielcke <fzielcke@z-51.de>
33267
33268 * util/update-grub_lib.in: Copy to ...
33269 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 33270 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 33271 * util/update-grub.in: Rename to ...
33272 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33273 option. Add `--output' option to allow users to specify the generated
33274 configuration file. Default to stdout.
33275 (update_grub_dir): Rename to ...
33276 (grub_mkconfig_dir): ... this.
33277 (grub_cfg): Default to an empty string.
33278 * conf/common.rmk (update-grub): Rename to ...
33279 (grub-mkconfig): ... this.
33280 (update-grub_lib): Copy to ...
33281 (grub-mkconfig_lib): ... this.
33282 (update-grub_SCRIPTS): Copy to ...
33283 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33284 (update-grub_DATA): Rename to ...
33285 (grub-mkconfig_DATA): ... this.
33286
556ce6ac 332872008-09-28 Robert Millan <rmh@aybabtu.com>
33288
33289 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33290 to `modified'. Add the real `created' field.
33291 (grub_iso9660_uuid): Use `modified' rather than `created' for
33292 constructing the UUID.
33293
332942008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 33295
33296 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33297 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33298
92274e85 332992008-09-28 Bean <bean123ch@gmail.com>
33300
33301 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33302 Thanks to Christian Franke for finding this bug.
33303
add6f17a 333042008-09-25 Robert Millan <rmh@aybabtu.com>
33305
33306 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33307 instances of grub_util_get_disk_name() (see previous commit).
33308
d2a367b8 333092008-09-25 Robert Millan <rmh@aybabtu.com>
33310
33311 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33312 `util/i386/get_disk_name.c'.
33313 * conf/i386-efi.rmk: Likewise.
33314 * conf/x86_64-efi.rmk: Likewise.
33315 * conf/i386-coreboot.rmk: Likewise.
33316 * conf/i386-ieee1275.rmk: Likewise.
33317 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33318 `util/ieee1275/get_disk_name.c'.
33319 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33320 * util/ieee1275/get_disk_name.c: Remove file.
33321 * util/i386/get_disk_name.c: Remove file.
33322 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33323 "hd%d" for device.map entries, rather than using
33324 grub_util_get_disk_name().
33325
81a06771 333262008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 33327
33328 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33329 warning.
33330 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33331
5a004279 333322008-09-24 Carles Pina i Estany <carles@pina.cat>
33333
33334 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33335 Changed to 0x5100.
33336 (GRUB_TERM_PPAGE): Changed to 0x4900.
33337
397093d3 333382008-09-24 Robert Millan <rmh@aybabtu.com>
33339
33340 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33341 macros (they were i386-pc specific).
33342 * include/grub/sparc64/ieee1275/console.h: Likewise.
33343 * include/grub/efi/console.h: Likewise.
33344
a91b6c7c 333452008-09-22 Bean <bean123ch@gmail.com>
33346
33347 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33348 resident and in attribute list.
33349
33350 * include/grub/ntfs.h (BMP_LEN): Removed.
33351
c40fd116 333522008-09-22 Bean <bean123ch@gmail.com>
33353
81a06771 33354 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 33355 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33356
33357 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33358 error occurs, as grub_disk_open will call grub_disk_close, which will
33359 call p->close (scsi).
33360
81a06771 333612008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 33362
33363 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33364 (AC_PREREQ): Bumped to 2.59.
33365 (AC_TRY_COMPILE): Replace obsolete macro with ...
33366 (AC_COMPILE_IFELSE): ... this.
33367 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33368 (AC_LINK_IFELSE): ... this.
33369
5dc43410 333702008-09-21 Felix Zielcke <fzielcke@z-51.de>
33371
33372 * autogen.sh: Add a call to `gendistlist.sh'.
33373
9035dce4 333742008-09-19 Christian Franke <franke@computer.org>
33375
33376 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33377 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33378 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33379 Export __enable_execute_stack() to modules.
33380 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33381 New function.
33382
7fd75377 333832008-09-09 Felix Zielcke <fzielcke@z-51.de>
33384
040030b3 33385 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33386 Sort the list.
33387
333882008-09-09 Felix Zielcke <fzielcke@z-51.de>
33389
33390 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 33391 #include <grub/util/hostdisk.h>.
33392
89d5ffcf 333932008-09-08 Robert Millan <rmh@aybabtu.com>
33394
33395 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33396 segments when their filesz is zero (grub_file_read() interprets
81a06771 33397 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 33398 Use `lowest_segment' rather than 0 for calculating the current
33399 segment load address.
33400
40da438f 334012008-09-08 Robert Millan <rmh@aybabtu.com>
33402
33403 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33404 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33405 clobbered useful information.
33406
ddbf5556 334072008-09-08 Robert Millan <rmh@aybabtu.com>
33408
33409 * include/grub/util/biosdisk.h: Move to ...
33410 * include/grub/util/hostdisk.h: ... here. Update all users.
33411 * util/biosdisk.c: Move to ...
33412 * util/hostdisk.c: ... here. Update all users.
33413
783d0f48 334142008-09-07 Robert Millan <rmh@aybabtu.com>
33415
33416 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33417 variables.
33418 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33419 and length can be stored directly in the `mbi->mmap_addr' and
33420 `mbi->mmap_length' struct fields.
33421
548e2ea5 334222008-09-07 Robert Millan <rmh@aybabtu.com>
33423
33424 * conf/i386.rmk: New file. Provides declaration for building
33425 `cpuid.mod'.
33426 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33427 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33428 variables.
33429 Include `conf/i386.mk'.
33430 * conf/i386-efi.rmk: Likewise.
33431 * conf/x86_64-efi.rmk: Likewise.
33432 * conf/i386-coreboot.rmk: Likewise.
33433 * conf/i386-ieee1275.rmk: Likewise.
33434
0ea85a37 334352008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33436
33437 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33438 Adds optimization support for BGR based modes.
33439
33440 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33441 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33442 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33443 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33444 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33445 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33446 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33447 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33448 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33449 (grub_video_i386_vbeblit_index_index): Likewise.
33450 (grub_video_i386_vbeblit_replace_directN): Added.
33451 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33452 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33453 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33454 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33455 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33456 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 33457 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 33458 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33459 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33460 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33461 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33462 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33463 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33464
33465 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33466 (grub_video_i386_vbefill_R8G8B8): Likewise.
33467 (grub_video_i386_vbefill_index): Likewise.
33468 (grub_video_i386_vbefill_direct32): Added.
33469 (grub_video_i386_vbefill_direct24): Likewise.
33470 (grub_video_i386_vbefill_direct16): Likewise.
33471 (grub_video_i386_vbefill_direct8): Likewise.
33472
81a06771 33473 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 33474 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33475 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33476 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33477 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33478 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 33479
0ea85a37 33480 * video/video.c (grub_video_get_blit_format): Updated to use new
33481 blit formats. Added handling for 16 bit color modes.
81a06771 33482
33483 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 33484 fillers.
33485 (common_blitter): Updated to use new blitters.
33486
33487 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33488 Removed.
33489 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33490 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33491 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33492 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33493 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33494 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33495 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33496 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33497 (grub_video_i386_vbeblit_index_index): Likewise.
33498 (grub_video_i386_vbeblit_replace_directN): Added.
33499 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33500 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33501 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33502 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33503 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33504 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33505 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33506 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33507 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33508 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33509 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33510 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33511 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 33512
0ea85a37 33513 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33514 (grub_video_i386_vbefill_R8G8B8): Likewise.
33515 (grub_video_i386_vbefill_index): Likewise.
33516 (grub_video_i386_vbefill_direct32): Added.
33517 (grub_video_i386_vbefill_direct24): Likewise.
33518 (grub_video_i386_vbefill_direct16): Likewise.
33519 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 33520
0ea85a37 33521 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
33522 types.
81a06771 33523
0ea85a37 33524 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
33525 types.
81a06771 33526
0ea85a37 33527 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
33528 blitter types.
81a06771 33529
0ea85a37 33530 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
33531 types.
33532
e8a83df6 335332008-09-06 Felix Zielcke <fzielcke@z-51.de>
33534
33535 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
33536 RAID level 1.
33537
6bcd8ee5 335382008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 33539
6bcd8ee5 33540 * fs/iso9660.c (grub_iso9660_date): New structure.
33541 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
33542 (grub_iso9660_uuid): New function.
c375ae58 33543
59261157 335442008-09-05 Bean <bean123ch@gmail.com>
33545
33546 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
33547
33548 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
33549 insensitive bit for names in Win32 and Win32 & DOS namespace.
33550
33551 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
33552
33553 * include/grub/types.h (LONG_MAX): Likewise.
33554
58b6645a 335552008-09-04 Felix Zielcke <fzielcke@z-51.de>
33556
4ee55921 33557 * util/getroot.c: Include <config.h>.
33558 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
33559 add support for /dev/md/N devices and handle LVM double dash escaping.
33560
335612008-09-04 Felix Zielcke <fzielcke@z-51.de>
33562
33563 * config.guess: Update to latest version from config git.
33564 * config.sub: Likewise.
58b6645a 33565
9124f65d 335662008-09-03 Robert Millan <rmh@aybabtu.com>
33567
33568 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
33569 `disk->total_sectors'.
33570
81a06771 335712008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 33572
33573 * include/grub/normal.h: Fixed incorrect comment for
33574 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
33575
81a06771 335762008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 33577
33578 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
33579 values with defines.
33580
33581 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
33582 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
33583 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
33584 (GRUB_VBE_MODEATTR_COLOR): Likewise.
33585 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
33586 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
33587 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
33588 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
33589 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
33590 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
33591 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
33592 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
33593 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
33594 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
33595 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
33596 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
33597 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
33598 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
33599 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
33600
93d5cbf8 336012008-08-31 Robert Millan <rmh@aybabtu.com>
33602
33603 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
33604 declaration.
33605 (grub_multiboot): Fix a few warnings.
33606
21751d50 336072008-08-31 Robert Millan <rmh@aybabtu.com>
33608
33609 * loader/i386/pc/multiboot.c: Update comment not to say that
33610 boot_device support is unimplemented.
33611
e27a75c5 336122008-08-31 Robert Millan <rmh@aybabtu.com>
33613
33614 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
33615 or memory map support are unimplemented.
33616
81a06771 336172008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 33618
33619 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
33620
81a06771 336212008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 33622
33623 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
33624 total video memory in 'vbeinfo' output; show color format details for
33625 each video mode.
33626
7c5d8d95 336272008-08-30 Pavel Roskin <proski@gnu.org>
33628
33629 * util/genmoddep.c: Remove for real this time.
33630 * DISTLIST: Remove util/genmoddep.c.
33631
4cebd25a 336322008-08-30 Robert Millan <rmh@aybabtu.com>
33633
33634 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
33635 as required by Multiboot spec (it was already 4-byte aligned, but
33636 only by chance).
33637
b497a269 336382008-08-29 Pavel Roskin <proski@gnu.org>
33639
e3925185 33640 * kern/powerpc/ieee1275/crt0.S: Rename to ...
33641 * kern/powerpc/ieee1275/startup.S: ... this.
33642 * conf/powerpc-ieee1275.rmk: Adjust for the above.
33643 * DISTLIST: Likewise.
33644
b497a269 33645 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
33646 grub/cpu/kernel.h. Add start label for consistency with other
33647 platforms. Add grub_prefix immediately after start. Add jump
33648 to the code after grub_prefix.
33649 * include/grub/powerpc/kernel.h: Provide valid values for
33650 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
33651
6e5a42fe 336522008-08-29 Bean <bean123ch@gmail.com>
33653
33654 * configure.ac: Change host_os to cygwin for mingw.
33655 (asprintf): New check for function.
33656
33657 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
33658 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
33659
33660 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 33661 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 33662 sync, sleep and grub_util_get_disk_size for mingw.
33663
33664 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
33665 to get size in mingw.
33666 (open_device): Use flag O_BINARY if it's defined.
33667 (find_root_device): Add dummy code for mingw.
33668
33669 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
33670 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
33671 (get_scsi_disk_name): Return 0 for mingw.
33672
33673 * util/hostfs.c: #include <grub/util/misc.h>.
33674 (grub_hostfs_open): Use "rb" flag to open file, use
33675 grub_util_get_disk_size to get disk size for mingw.
33676
33677 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
33678 (asprintf): New function if HAVE_ASPRINTF is not set.
33679 (sync): New function for mingw.
33680 (sleep): Likewise.
33681 (grub_util_get_disk_size): Likewise.
33682
ab3f2673 336832008-08-28 Pavel Roskin <proski@gnu.org>
33684
33685 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33686 kern/time.c.
33687
1c282483 336882008-08-28 Robert Millan <rmh@aybabtu.com>
33689
33690 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
33691
678e849c 336922008-08-28 Robert Millan <rmh@aybabtu.com>
33693
33694 Change find_grub_drive() syntax so it doesn't prevent it from
33695 detecting NULL names as errors.
33696
33697 * util/biosdisk.c (find_grub_drive): Move free slot search code
33698 from here ...
33699 (find_free_slot): ... to here.
33700 (read_device_map): Use find_free_slot() to search for free slots.
33701
965c75ca 337022008-08-27 Marco Gerards <marco@gnu.org>
33703
33704 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
33705 (scsi_mod_SOURCES): New variable.
33706 (scsi_mod_CFLAGS): Likewise
33707 (scsi_mod_LDFLAGS): Likewise.
33708
33709 * disk/scsi.c: New file.
33710
33711 * include/grub/scsi.h: Likewise.
33712
33713 * include/grub/scsicmd.h: Likewise.
33714
33715 * disk/ata.c: Include <grub/scsi.h>.
33716 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
33717 instead.
33718 (grub_ata_iterate): Skip ATAPI devices.
33719 (grub_ata_open): Only handle ATAPI devices.
33720 (struct grub_atapi_read): Removed.
33721 (grub_atapi_readsector): Likewise.
33722 (grub_ata_read): No longer handle ATAPI devices.
33723 (grub_ata_write): Likewise.
33724 (grub_atapi_iterate): New function.
33725 (grub_atapi_read): Likewise.
33726 (grub_atapi_write): Likewise.
33727 (grub_atapi_open): Likewise.
33728 (grub_atapi_close): Likewise.
33729 (grub_atapi_dev): New variable.
33730 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
33731 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
33732
33733 * include/grub/disk.h (enum grub_disk_dev_id): Add
33734 `GRUB_DISK_DEVICE_SCSI_ID'.
33735
c07ae501 337362008-08-26 Robert Millan <rmh@aybabtu.com>
33737
33738 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
33739 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
33740 descriptive.
33741
5ed20adc 337422008-08-23 Bean <bean123ch@gmail.com>
33743
33744 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
33745 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33746 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
33747 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
33748 dm_nv.mod.
33749 (raid5rec_mod_SOURCES): New macro.
33750 (raid5rec_mod_CFLAGS): Likewise.
33751 (raid5rec_mod_LDFLAGS): Likewise.
33752 (raid6rec_mod_SOURCES): Likewise.
33753 (raid6rec_mod_CFLAGS): Likewise.
33754 (raid6rec_mod_LDFLAGS): Likewise.
33755 (mdraid_mod_SOURCES): Likewise.
33756 (mdraid_mod_CFLAGS): Likewise.
33757 (mdraid_mod_LDFLAGS): Likewise.
33758 (dm_nv_mod_SOURCES): Likewise.
33759 (dm_nv_mod_CFLAGS): Likewise.
33760 (dm_nv_mod_LDFLAGS): Likewise.
33761
33762 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
33763 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33764 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33765
33766 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
33767 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33768
33769 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33770
33771 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33772
33773 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33774
33775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33776
33777 * disk/raid5_recover.c: New file.
33778
33779 * disk/raid6_recover.c: Likewise.
33780
33781 * disk/mdraid_linux.c: Likewise.
33782
33783 * disk/dmraid_nvidia.c: Likewise.
33784
33785 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
33786 ULONG_MAX.
33787
33788 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
33789 calculate the size of raid device.
33790 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
33791 different layout of raid5.
33792 (grub_raid_scan_device): Remove code specific to mdraid.
33793 (grub_raid_list): New variable.
33794 (free_array): New function.
33795 (grub_raid_register): Likewise.
33796 (grub_raid_unregister): Likewise.
33797 (grub_raid_rescan): Likewise.
33798 (GRUB_MOD_INIT): Don't iterate device here.
33799 (GRUB_MOD_FINI): Use free_array to release resource.
33800
33801 * include/grub/raid.h: Remove macro and structure specific to mdraid.
33802 (grub_raid5_recover_func_t): New function variable type.
33803 (grub_raid6_recover_func_t): Likewise.
33804 (grub_raid5_recover_func): New variable.
33805 (grub_raid6_recover_func): Likewise.
33806 (grub_raid_register): New function.
33807 (grub_raid_unregister): Likewise.
33808 (grub_raid_rescan): Likewise.
33809 (grub_raid_block_xor): Likewise.
33810
33811 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
33812 (CMD_CRC): New macro.
33813 (part): Removed.
33814 (read_file): Handle device as well as file.
33815 (cmd_crc): New function.
33816 (fstest): Handle multiple disks.
33817 (options): Remove part, raw and long, add root and diskcount.
33818 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 33819 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 33820 add handling for the new options, support multiple disks.
33821
33822 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
33823
29c18915 338242008-08-23 Bean <bean123ch@gmail.com>
33825
33826 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
33827
33828 * genfslist.sh: Ignore kernel.mod.
33829
33830 * genpartmaplist.sh: Likewise.
33831
8415f261 338322008-08-23 Robert Millan <rmh@aybabtu.com>
33833
33834 * util/getroot.c (find_root_device): Skip anything that starts with
33835 a dot, not just directories. This avoids things like /dev/.tmp.md0.
33836
d5a7dc5b 338372008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 33838
d5a7dc5b 33839 * util/update-grub.in (GRUB_GFXMODE): Export variable.
33840 * util/grub.d/00_header.in: Allow the administrator to change default
33841 gfxmode via ${GRUB_GFXMODE}.
33842
380cfbb4 338432008-08-21 Felix Zielcke <fzielcke@z-51.de>
33844
33845 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
33846
c9baafe7 338472008-08-21 Robert Millan <rmh@aybabtu.com>
33848
33849 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
33850 loader.
33851 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
33852 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
33853
e290bef2 338542008-08-20 Carles Pina i Estany <carles@pina.cat>
33855
33856 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
33857 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
33858
f9dbfc96 338592008-08-19 Robert Millan <rmh@aybabtu.com>
33860
33861 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
33862 (struct grub_virtual_screen): Remove `cursor_color'.
33863 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
33864 initialization.
33865 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
33866
dd6bd6ab 338672008-08-18 Robert Millan <rmh@aybabtu.com>
33868
33869 Unify (identical) linux_normal.c files.
33870 * loader/i386/efi/linux_normal.c: Move from here ...
33871 * loader/linux_normal.c: ... to here. Update all users.
33872 * loader/i386/pc/linux_normal.c: Delete. Update all users.
33873 * loader/i386/ieee1275/linux_normal.c: Likewise.
33874
7f42f83e 338752008-08-18 Robert Millan <rmh@aybabtu.com>
33876
33877 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
33878 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
33879 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
33880 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
33881 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
33882 New macros.
33883 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
33884 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
33885 (GRUB_LINUX_CL_END_OFFSET): ... to here.
33886 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
33887 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
33888 (GRUB_EFI_CL_END_OFFSET): Rename to ...
33889 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
33890 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
33891 Initialize `params->video_cursor_x' and `params->video_cursor_y'
33892 portably using grub_getxy().
33893 Replace `-EFI' with `-bzImage' in boot message.
33894
38487ddb 338952008-08-17 Robert Millan <rmh@aybabtu.com>
33896
33897 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
33898
deceb3ec 338992008-08-17 Robert Millan <rmh@aybabtu.com>
33900
33901 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
33902
33903 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
33904 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
33905 (grub_machine_mmap_iterate): New function declaration.
33906 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
33907 structure.
33908 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
33909 macros.
33910
33911 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
33912 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
33913 Move e820 parsing from here ...
33914 * kern/i386/pc/mmap.c: New file.
33915 (grub_machine_mmap_iterate): ... to here.
33916
33917 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
33918 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
33919 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
33920 (grub_available_iterate): Redeclare to return `void', and redeclare
33921 its hook to use grub_uint64_t as addr and size parameters, and rename
33922 to ...
33923 (grub_machine_mmap_iterate): ... this. Update all users.
33924
33925 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
33926 to make it more readable. Rename to ...
33927 (grub_machine_mmap_iterate): ... this.
33928
33929 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
33930 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
33931 (grub_multiboot): Allocate an extra region after the payload, and fill
33932 it with a Multiboot memory map. Adjust a.out loader to calculate size
33933 with the extra space.
33934 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
33935 with the extra space.
33936
f8aa0f43 339372008-08-17 Carles Pina i Estany <carles@pina.cat>
33938
9807deb9 33939 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 33940
605f5bb6 339412008-08-17 Felix Zielcke <fzielcke@z-51.de>
33942
33943 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
33944 mdate-sh to the list `find' searches for.
33945 * DISTLIST: Regenerated.
33946
210db6c6 339472008-08-16 Felix Zielcke <fzielcke@z-51.de>
33948
33949 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
33950 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 33951 genmoddep.awk, gensymlist.sh.in.
33952 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 33953 * DISTLIST: Regenerated.
48cdbfd4 33954 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 33955
1082b929 339562008-08-16 Robert Millan <rmh@aybabtu.com>
33957
33958 * disk/raid.c (grub_raid_init): Handle/report errors set by
33959 grub_device_iterate().
33960 * disk/lvm.c (grub_lvm_init): Likewise.
33961
42ce5170 339622008-08-15 Bean <bean123ch@gmail.com>
33963
33964 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33965 and datehook.mod.
33966 (datetime_mod_SOURCES): New macro.
33967 (datetime_mod_CFLAGS): Likewise.
33968 (datetime_mod_LDFLAGS): Likewise.
33969 (date_mod_SOURCES): Likewise.
33970 (date_mod_CFLAGS): Likewise.
33971 (date_mod_LDFLAGS): Likewise.
33972 (datehook_mod_SOURCES): Likewise.
33973 (datehook_mod_CFLAGS): Likewise.
33974 (datehook_mod_LDFLAGS): Likewise.
33975
33976 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33977 and datehook.mod.
33978 (datetime_mod_SOURCES): New macro.
33979 (datetime_mod_CFLAGS): Likewise.
33980 (datetime_mod_LDFLAGS): Likewise.
33981 (date_mod_SOURCES): Likewise.
33982 (date_mod_CFLAGS): Likewise.
33983 (date_mod_LDFLAGS): Likewise.
33984 (datehook_mod_SOURCES): Likewise.
33985 (datehook_mod_CFLAGS): Likewise.
33986 (datehook_mod_LDFLAGS): Likewise.
33987
33988 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33989 and datehook.mod.
33990 (datetime_mod_SOURCES): New macro.
33991 (datetime_mod_CFLAGS): Likewise.
33992 (datetime_mod_LDFLAGS): Likewise.
33993 (date_mod_SOURCES): Likewise.
33994 (date_mod_CFLAGS): Likewise.
33995 (date_mod_LDFLAGS): Likewise.
33996 (datehook_mod_SOURCES): Likewise.
33997 (datehook_mod_CFLAGS): Likewise.
33998 (datehook_mod_LDFLAGS): Likewise.
33999
34000 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34001 and datehook.mod.
34002 (datetime_mod_SOURCES): New macro.
34003 (datetime_mod_CFLAGS): Likewise.
34004 (datetime_mod_LDFLAGS): Likewise.
34005 (date_mod_SOURCES): Likewise.
34006 (date_mod_CFLAGS): Likewise.
34007 (date_mod_LDFLAGS): Likewise.
34008 (datehook_mod_SOURCES): Likewise.
34009 (datehook_mod_CFLAGS): Likewise.
34010 (datehook_mod_LDFLAGS): Likewise.
34011
34012 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34013 and datehook.mod.
34014 (datetime_mod_SOURCES): New macro.
34015 (datetime_mod_CFLAGS): Likewise.
34016 (datetime_mod_LDFLAGS): Likewise.
34017 (date_mod_SOURCES): Likewise.
34018 (date_mod_CFLAGS): Likewise.
34019 (date_mod_LDFLAGS): Likewise.
34020 (datehook_mod_SOURCES): Likewise.
34021 (datehook_mod_CFLAGS): Likewise.
34022 (datehook_mod_LDFLAGS): Likewise.
34023
34024 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34025
34026 * commands/date.c: New file.
34027
34028 * hook/datehook.c: Likewise.
34029
34030 * include/grub/lib/datetime.h: Likewise.
34031
34032 * include/grub/i386/cmos.h: Likewise.
34033
34034 * lib/datetime.c: Likewise.
34035
34036 * lib/i386/datetime.c: Likewise.
34037
34038 * lib/efi/datetime.c: Likewise.
34039
0e9242da 340402008-08-14 Robert Millan <rmh@aybabtu.com>
34041
34042 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34043 (grub_mkelfimage_SOURCES): New variable.
34044 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34045
34046 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34047 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34048 * conf/powerpc-ieee1275.rmk: Likewise.
34049 * conf/i386-ieee1275.rmk: Likewise.
34050
34051 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34052 * kern/i386/coreboot/init.c: Likewise.
34053
34054 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34055 with `<grub/cpu/kernel.h>'.
34056 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34057 to ...
34058 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34059 * kern/i386/coreboot/startup.S: Likewise.
34060
34061 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34062 (GRUB_MOD_GAP): Remove.
34063 * include/grub/powerpc/kernel.h: New file.
34064 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34065 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34066 * include/grub/i386/kernel.h: New file.
34067 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34068 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34069 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34070
34071 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34072 `grub-mkelfimage'.
34073 Use --directory when invoking grub_mkimage.
34074
34075 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34076 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34077 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34078 and GRUB_KERNEL_CPU_PREFIX.
34079
b86408f8 340802008-08-14 Felix Zielcke <fzielcke@z-51.de>
34081
d5e619ca 34082 * include/grub/err.h (grub_err_printf): New function prototype.
34083 * util/misc.c (grub_err_printf): New function.
34084 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34085 grub_printf.
34086 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 34087
7161f0e0 340882008-08-13 Robert Millan <rmh@aybabtu.com>
34089
34090 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34091
a1967522 340922008-08-13 Robert Millan <rmh@aybabtu.com>
34093
34094 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34095 boot entry.
34096
371458b5 340972008-08-12 Robert Millan <rmh@aybabtu.com>
34098
34099 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34100 of the relocation code from here ...
34101 (grub_multiboot): ... to here.
34102 (forward_relocator, backward_relocator): Move from here ...
34103 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34104 (grub_multiboot_backward_relocator): ... to here.
34105 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34106 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34107 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34108 (grub_multiboot_forward_relocator_end)
34109 (grub_multiboot_backward_relocator)
34110 (grub_multiboot_backward_relocator_end): New variables.
34111
05f9452b 341122008-08-12 Bean <bean123ch@gmail.com>
34113
34114 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34115
20024ab0 341162008-08-11 Robert Millan <rmh@aybabtu.com>
34117
34118 * kern/i386/linuxbios/startup.S: Move from here ...
34119 * kern/i386/coreboot/startup.S: ... to here.
34120
34121 * kern/i386/linuxbios/init.c: Move from here ...
34122 * kern/i386/coreboot/init.c: ... to here.
34123
34124 * kern/i386/linuxbios/table.c: Move from here ...
34125 * kern/i386/coreboot/mmap.c: ... to here.
34126
34127 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34128
e352e9cd 341292008-08-11 Robert Millan <rmh@aybabtu.com>
34130
34131 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34132 errors. Leave it to the upper layer to handle them.
34133
2d05bc6a 341342008-08-09 Christian Franke <franke@computer.org>
34135
34136 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34137 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34138 Install `grub.d/10_windows' only on Cygwin.
34139 * configure.ac: Add subst of `target_os'.
34140 Check `target_os' also before setting TARGET_OBJ2ELF.
34141 Add `--enable-grub-pe2elf'.
34142
042bd419 341432008-08-08 Robert Millan <rmh@aybabtu.com>
34144
34145 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34146 (grub_last_time): Change type to grub_uint64_t.
34147 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34148 (grub_disk_close): Likewise.
34149
34150 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34151 (run_menu): Migrate code from to using grub_get_time_ms().
34152
34153 * util/misc.c (grub_get_time_ms): New function.
34154
7f280db5 341552008-08-08 Marco Gerards <marco@gnu.org>
34156
34157 * disk/ata.c (grub_ata_regget): Change return type to
34158 `grub_uint8_t'.
34159 (grub_ata_regget2): Likewise.
34160 (grub_ata_wait_status): New function.
34161 (grub_ata_wait_busy): Removed function, updated all users to use
34162 `grub_ata_wait_status'.
34163 (grub_ata_wait_drq): Likewise.
34164 (grub_ata_cmd): New function.
34165 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34166 error handling.
34167 (grub_ata_pio_write): Add error handling.
34168 (grub_atapi_identify): Likewise.
34169 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34170 handling.
34171 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34172 handling. Actually use the detected registers. Reorder the
34173 detection logic such that it is easier to read.
34174 (grub_ata_pciinit): Do not assign the same ID to each controller.
34175 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34176 handling.
34177 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34178
34179 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34180
1fbc5e66 341812008-08-08 Marco Gerards <marco@gnu.org>
34182
34183 * NEWS: Update.
34184
819ce6c0 341852008-08-07 Bean <bean123ch@gmail.com>
34186
34187 * include/grub/x86_64/pci.h: New file.
34188
5c41d44d 341892008-08-07 Christian Franke <franke@computer.org>
34190
34191 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34192 (TIMER2_GATE): Likewise.
34193 (grub_pit_wait): Add enable/disable of the timer2 gate
34194 bit of port 0x61. This fixes a possible infinite loop.
34195
5ebc275d 341962008-08-07 Bean <bean123ch@gmail.com>
34197
34198 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34199 kern/i386/tsc.c and kern/i386/pit.c.
34200
34201 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34202 x86_64 platform.
34203
34204 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34205 <grub/i386/tsc.h>.
34206
34207 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34208
e383b3d0 342092008-08-07 Bean <bean123ch@gmail.com>
34210
34211 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34212
34213 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34214
34215 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34216 multiple inclusion. Add #include <grub/types.h>.
34217
1cbb58ac 342182008-08-06 Christian Franke <franke@computer.org>
34219
34220 * conf/common.rmk: Build and install `10_windows'.
34221 * util/grub.d/10_windows.in: New script.
34222
337f5a1e 342232008-08-06 Pavel Roskin <proski@gnu.org>
34224
34225 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34226
057bc4ac 342272008-08-06 Robert Millan <rmh@aybabtu.com>
34228
34229 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34230 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34231
2b99f123 342322008-08-06 Bean <bean123ch@gmail.com>
34233
34234 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34235 (grub_pxefs_fs_int): Remove dummy definition.
34236 (grub_pxefs_open): Use data->block_size to store the current block
34237 size setting.
34238 (grub_pxefs_read): Use block size stored in data->block_size. As the
34239 value of grub_pxe_blksize can be changed after the file is opened.
34240
9f0234cb 342412008-08-06 Bean <bean123ch@gmail.com>
34242
34243 * fs/i386/pc/pxe.c (curr_file): new variable.
34244 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34245 require the dummy internal file system anymore.
34246 (grub_pxefs_read): Removed.
34247 (grub_pxefs_close): Likewise.
34248 (grub_pxefs_fs_int): Likewise.
34249 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34250 connection when we switch file.
34251 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34252
a55d42e0 342532008-08-06 Robert Millan <rmh@aybabtu.com>
34254
34255 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34256 `halt.mod'.
34257 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34258 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34259
34260 * kern/i386/halt.c: New file.
34261 * kern/i386/reboot.c: Likewise.
34262 * include/grub/i386/reboot.h: Likewise.
34263 * include/grub/i386/halt.h: Likewise.
34264
34265 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34266 Include `<grub/cpu/halt.h>'.
34267 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34268 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34269
34270 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34271 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34272 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34273 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34274 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34275 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34276 from here ...
34277 * include/grub/i386/at_keyboard.h: ... to here.
34278
24371d26 342792008-08-05 Robert Millan <rmh@aybabtu.com>
34280
34281 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34282 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34283 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34284 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34285 `kern/generic/millisleep.c'.
34286
34287 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34288 instead of grub_get_rtc().
34289 (grub_tsc_init): Initialize `tsc_boot_time'.
34290
34291 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34292 (grub_machine_init): Use grub_tsc_init() rather than
34293 installing an RTC-based handler via grub_install_get_time_ms().
34294
34295 * kern/i386/pit.c: New file.
34296 * include/grub/i386/pit.h: Likewise.
34297
9e7007b3 342982008-08-05 Bean <bean123ch@gmail.com>
34299
34300 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34301
34302 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34303 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34304 (pxe_mod_SOURCES): New macro.
34305 (pxe_mod_CFLAGS): Likewise.
34306 (pxe_mod_LDFLAGS): Likewise.
34307 (pxecmd_mod_SOURCES): Likewise.
34308 (pxecmd_mod_CFLAGS): Likewise.
34309 (pxecmd_mod_LDFLAGS): Likewise.
34310
34311 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34312 (grub_pxe_call): Likewise.
34313
34314 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34315
34316 * commands/i386/pc/pxecmd.c: New file.
34317
9f0234cb 34318 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 34319
34320 * include/grub/i386/pc/pxe.h: Likewise.
34321
6977d49f 343222008-08-05 Bean <bean123ch@gmail.com>
34323
34324 * util/console.c (grub_console_cur_color): New variable.
34325 (grub_console_standard_color): Likewise.
34326 (grub_console_normal_color): Likewise.
34327 (grub_console_highlight_color): Likewise.
34328 (color_map): Likewise.
34329 (use_color): Likewise.
34330 (NUM_COLORS): New macro.
34331 (grub_ncurses_setcolorstate): Handle color properly.
34332 (grub_ncurses_setcolor): Don't change color here, just remember the
34333 settings, color will be set in grub_ncurses_setcolorstate.
34334 (grub_ncurses_getcolor): New function.
34335 (grub_ncurses_init): Initialize color pairs.
34336 (grub_ncurses_term): New member grub_ncurses_getcolor.
34337
9c2ff3ee 343382008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 34339
9c2ff3ee 34340 High resolution timer support. Implemented for x86 CPUs using TSC.
34341 Extracted generic grub_millisleep() so it's linked in only as needed.
34342 This requires a Pentium compatible CPU; if the RDTSC instruction is
34343 not supported, then it falls back on the generic grub_get_time_ms()
34344 implementation that uses the machine's RTC.
34345
34346 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34347 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34348 `kern/generic/millisleep.c'.
34349
34350 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34351 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34352
34353 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34354 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34355
34356 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34357
34358 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34359 `kern/generic/millisleep.c'.
34360
34361 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34362
34363 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34364
34365 * kern/generic/rtc_get_time_ms.c: New file.
34366
34367 * kern/generic/millisleep.c: New file.
337f5a1e 34368
9c2ff3ee 34369 * kern/misc.c: Don't include
34370 <kern/time.h> anymore.
34371 (grub_millisleep_generic): Removed.
34372
34373 * commands/sleep.c (grub_interruptible_millisleep): Uses
34374 grub_get_time_ms() instead of grub_get_rtc().
34375
34376 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34377 function.
34378 (grub_cpu_is_cpuid_supported): New inline function.
34379 (grub_cpu_is_tsc_supported): New inline function.
34380 (grub_tsc_init): New function prototype.
34381 (grub_tsc_get_time_ms): New function prototype.
34382
34383 * kern/i386/tsc.c (grub_get_time_ms): New file.
34384
34385 * include/grub/time.h: Include <grub/types.h.
34386 (grub_millisleep_generic): Removed.
34387 (grub_get_time_ms): New prototype.
34388 (grub_install_get_time_ms): New prototype.
34389 (grub_rtc_get_time_ms): New prototype.
34390
34391 * kern/time.c (grub_get_time_ms): New function.
34392 (grub_install_get_time_ms): New function.
34393
34394 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34395 <grub/time.h> anymore.
34396 (grub_millisleep): Removed.
34397 (grub_machine_init): Call grub_tsc_init.
34398
34399 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34400 get_time_ms() implementation.
34401
34402 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34403 (ieee1275_get_time_ms): New function.
34404 (grub_machine_init): Install get_time_ms() implementation.
34405
34406 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34407 (grub_machine_init): Call grub_tsc_init().
34408 (grub_millisleep): Removed.
bf06a93f 34409
9c2ff3ee 34410 * kern/ieee1275/init.c (grub_millisleep): Removed.
34411 (grub_machine_init): Install ieee1275_get_time_ms()
34412 implementation.
34413 (ieee1275_get_time_ms): New function.
34414 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34415 real work.
34416
9ec92aaf 344172008-08-05 Marco Gerards <marco@gnu.org>
34418
34419 * disk/ata.c: Include <grub/pci.h>.
34420 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34421 (grub_ata_initialize): Rewritten.
34422 (grub_ata_device_initialize): New function.
34423
8d23f507 344242008-08-04 Pavel Roskin <proski@gnu.org>
34425
34426 * kern/main.c: Include grub/mm.h.
34427
5e15ee3d 344282008-08-04 Robert Millan <rmh@aybabtu.com>
34429
34430 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34431 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34432 corruption problem).
34433
a9053f8f 344342008-08-04 Robert Millan <rmh@aybabtu.com>
34435
34436 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34437 warnings introduced in my last commit.
34438
dd19c7d7 344392008-08-03 Robert Millan <rmh@aybabtu.com>
34440
34441 Make PCI available on all i386 architectures.
34442
34443 * include/grub/i386/pc/pci.h: Move from here ...
34444 * include/grub/i386/pci.h: ... to here.
34445
34446 * include/grub/i386/pc/pci.h: Remove.
34447 * include/grub/i386/efi/pci.h: Remove.
34448 * include/grub/x86_64/efi/pci.h: Remove.
34449
34450 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34451 `<grub/cpu/pci.h>'.
34452
34453 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34454 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34455 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34456
34457 * conf/i386-ieee1275.rmk: Likewise.
34458
e14a6184 344592008-08-03 Robert Millan <rmh@aybabtu.com>
34460
34461 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34462 (grub_console_setcursor): Make it possible to set cursor off.
34463
52768e37 344642008-08-03 Robert Millan <rmh@aybabtu.com>
34465
34466 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34467 of modules instead of assuming which platform provides what.
34468 * util/update-grub.in: Likewise.
34469
2d52f57f 344702008-08-03 Robert Millan <rmh@aybabtu.com>
34471
34472 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34473 instead of `grub_install_dos_part' to determine whether a drive needs
34474 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 34475 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 34476
2a5cd121 344772008-08-02 Robert Millan <rmh@aybabtu.com>
34478
34479 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34480
93808428 344812008-08-02 Robert Millan <rmh@aybabtu.com>
34482
34483 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34484 of informational grub_dprintf() calls.
34485
3bd0a12a 344862008-08-02 Robert Millan <rmh@aybabtu.com>
34487
34488 * disk/memdisk.c (memdisk_size): Don't initialize.
34489 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34490
34491 * include/grub/i386/pc/kernel.h
34492 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34493 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34494 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34495 (grub_arch_memdisk_size): Remove.
34496
34497 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34498 field (was only used to transfer a constant). Add `type' field to
34499 support multiple module types.
34500 (grub_module_iterate): New function.
34501
34502 * kern/device.c (grub_device_open): Do not hide error messages
34503 when grub_disk_open() fails. Use grub_print_error() instead.
34504
34505 * kern/i386/pc/init.c (grub_arch_modules_addr)
34506 (grub_arch_memdisk_size): Remove functions.
34507 (grub_arch_modules_addr): Return the module address in high memory
34508 (now that it isn't copied anymore).
34509
34510 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34511 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34512 decompression routine (grub_total_module_size already includes that
34513 now). Don't copy modules back to low memory.
34514
34515 * kern/main.c: Include `<grub/mm.h>'.
34516 (grub_load_modules): Split out (and use) ...
34517 (grub_module_iterate): ... this function, which iterates through
34518 module objects and runs a hook.
34519 Comment out grub_mm_init_region() call, as it would cause non-ELF
34520 modules to be overwritten.
34521
34522 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
34523 the memdisk image in its own region, make it part of the module list.
34524 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
34525 (main): Parse --memdisk|-m option, and pass user-provided path as
34526 parameter to generate_image().
34527 (add_segments): Pass `memdisk_path' down to load_modules().
34528 (load_modules): Embed memdisk image in module section when requested.
34529 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
34530 `header.type' instead of `header.offset'.
34531
34532 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
34533 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
34534 (memdisk_mod_LDFLAGS): New variables.
34535 * conf/i386-coreboot.rmk: Likewise.
34536 * conf/i386-ieee1275.rmk: Likewise.
34537
a927cc73 345382008-08-02 Robert Millan <rmh@aybabtu.com>
34539
34540 * loader/i386/pc/multiboot.c (playground, forward_relocator)
34541 (backward_relocator): New variables. Used to allocate and relocate
34542 the payload, respectively.
34543 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 34544 address, install the appropriate relocator code in each bound of
a927cc73 34545 the payload, and set the entry point such that
34546 grub_multiboot_real_boot() will jump to one of them.
34547
34548 * kern/i386/loader.S (grub_multiboot_payload_size)
34549 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34550 (grub_multiboot_payload_entry_offset): New variables.
34551 (grub_multiboot_real_boot): Set cpu context to what the relocator
34552 expects, and jump to the relocator instead of the payload.
34553
34554 * include/grub/i386/loader.h (grub_multiboot_payload_size)
34555 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34556 (grub_multiboot_payload_entry_offset): Export.
34557
b15d8a0c 345582008-08-01 Bean <bean123ch@gmail.com>
34559
34560 * normal/menu_entry.c (editor_getline): Don't return the original
34561 string as result, as it will be released by lexer once it has done
34562 using it.
34563
cdfb3d22 345642008-08-01 Robert Millan <rmh@aybabtu.com>
34565
34566 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
34567 within menuentries, not before them.
34568 util/grub.d/10_hurd.in: Likewise.
34569
9175e93d 345702008-08-01 Bean <bean123ch@gmail.com>
34571
34572 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
34573 (bufio_mod_SOURCES): New macro.
34574 (bufio_mod_CFLAGS): Likewise.
34575 (bufio_mod_LDFLAGS): Likewise.
34576
34577 * include/grub/bufio.h: New file.
34578
34579 * io/bufio.c: Likewise.
34580
34581 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
34582 (grub_video_reader_png): Use grub_buffile_open to open file.
34583
34584 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
34585 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
34586
34587 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
34588 (grub_video_reader_tga): Use grub_buffile_open to open file.
34589
34590 * font/manager.c: Include <grub/bufio.h>.
34591 (add_font): Use grub_buffile_open to open file.
34592
3d8383e7 345932008-07-31 Robert Millan <rmh@aybabtu.com>
34594
34595 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
34596 ELF segments, use a macro for arbitrarily accessing any of them instead
34597 of preparing a pointer that allows access to one at a time.
34598 (grub_multiboot_load_elf64): Likewise.
34599
16e641b6 346002008-07-31 Bean <bean123ch@gmail.com>
34601
34602 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
34603 GRUB_KERNEL_MACHINE_DATA_END.
34604
59198b72 346052008-07-30 Robert Millan <rmh@aybabtu.com>
34606
34607 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
34608 Increase from 0x50 to 0x60.
34609 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
34610 use UUIDs to identify the root drive for them. If that's not
34611 possible, abort.
34612 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
34613 check, for cross-disk installs.
34614
ae88bca3 346152008-07-30 Robert Millan <rmh@aybabtu.com>
34616
34617 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
34618 is non-empty, use it to set the `prefix' environment variable instead
34619 of the usual approach.
34620 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
34621 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
34622 environment variable instead of dummy make_install_device().
34623
34624 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
34625 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 34626 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 34627
34628 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
34629 New variable reference.
34630 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
34631 New macro. Defines offset of `grub_prefix' within startup.S (relative
34632 to `start').
34633 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
34634 section within startup.S (relative to `start').
34635 * include/grub/i386/coreboot/kernel.h: Likewise.
34636
34637 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
34638 Overwrite grub_prefix with its contents, at the beginning of the
34639 first segment.
34640 (main): Understand -p|--prefix.
34641
14f41dd1 346422008-07-30 Robert Millan <rmh@aybabtu.com>
34643
34644 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
34645
4ca049a3 346462008-07-30 Robert Millan <rmh@aybabtu.com>
34647
34648 * term/i386/pc/vga_text.c (grub_console_cls): Use
34649 grub_console_gotoxy() to go back to beginning of the screen.
34650 Found by Patrick Georgi <patrick.georgi@coresystems.de>
34651
2921d337 346522008-07-29 Christian Franke <franke@computer.org>
34653
34654 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34655 Add conversion of emulated mount points on Cygwin.
34656
b609876d 346572008-07-29 Christian Franke <franke@computer.org>
34658
34659 * util/update-grub.in: Add a check for admin
34660 group on Cygwin.
34661 Remove old `grub.cfg.new' before creation.
34662 Add `-f' to `mv' to handle the different filesystem
34663 semantics of Windows.
34664
e93e4679 346652008-07-29 Bean <bean123ch@gmail.com>
34666
34667 * normal/main.c (get_line): Fix buffer overflow bug.
34668
41694fd0 346692008-07-28 Robert Millan <rmh@aybabtu.com>
34670
34671 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
34672 (struct grub_apple_header): New struct. Describes the layout of
34673 the partmap header.
34674 (apple_partition_map_iterate): Check the header magic as well as the
34675 partition magic (which was already being checked).
34676
cfd0b4e6 346772008-07-28 Pavel Roskin <proski@gnu.org>
34678
34679 * genmk.rb: Add a warning to the beginning of the output that
34680 it's a generated file and should not be edited.
34681
93cce016 346822008-07-28 Robert Millan <rmh@aybabtu.com>
34683
34684 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34685 with the same number are found, just use issue a warning with
34686 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 34687
cd1df915 346882008-07-27 Robert Millan <rmh@aybabtu.com>
34689
34690 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
34691 information.
34692
b70a8427 346932008-07-27 Bean <bean123ch@gmail.com>
34694
34695 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
34696 (grub_fat_find_dir): Ignore case when comparing filename.
34697
8f5e379f 346982008-07-27 Bean <bean123ch@gmail.com>
34699
34700 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
34701 smallino, as it's more descriptive, and i8count can be confused with
34702 the other field count.
34703 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
34704 inode type.
34705
a85cd5a0 347062008-07-27 Bean <bean123ch@gmail.com>
34707
34708 * commands/crc.c: New file.
34709
34710 * lib/crc.c: Likewise.
34711
34712 * include/grub/lib/crc.h: Likewise.
34713
34714 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
34715
34716 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
34717 (hexdump): Move this function to ...
34718
34719 * lib/hexdump.c: ... here.
34720
34721 * include/grub/hexdump.h: Renamed to ...
34722
34723 * include/grub/lib/hexdump.h: ... this.
34724
34725 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
34726
34727 * util/grub-editenv.c: Likewise.
34728
34729 * include/envblk.h: Renamed to ...
34730
34731 * include/lib/envblk.h: ... this.
34732
34733 * util/envblk.c: Renamed to ...
34734
34735 * lib/envblk.c: ... this.
34736
34737 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
34738 lib/hexdump.c.
34739 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
34740 (pkglib_MODULES): Add crc.mod.
34741 (hexdump_mod_SOURCES): Add lib/hexdump.c.
34742 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
34743 (crc_mod_SOURCES): New macro.
34744 (crc_mod_CFLAGS): Likewise.
34745 (crc_mod_LDFLAGS): Likewise.
34746
34747 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
34748
34749 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34750
34751 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34752
34753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34754
34755 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34756
c298def0 347572008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 34758
34759 * commands/help.c: Include <grub/term.h>.
34760 (TERM_WIDTH): Removed. Updated all users.
34761
cc349fb3 347622008-07-27 Pavel Roskin <proski@gnu.org>
34763
34764 * util/getroot.c (find_root_device): Rephrase a comment to avoid
34765 spurious warnings about a comment within a comment.
34766
9051607e 347672008-07-25 Robert Millan <rmh@aybabtu.com>
34768
34769 * util/getroot.c (find_root_device): Skip devices that match
34770 /dev/dm-[0-9]. This lets the real device be found for any type of
34771 abstraction (LVM, EVMS, RAID..).
34772 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
34773 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
34774 device is found first, find_root_device() will now skip it.
34775
01453bfc 347762008-07-24 Pavel Roskin <proski@gnu.org>
34777
34778 * include/grub/types.h: Use __builtin_bswap32() and
34779 __builtin_bswap64() with gcc 4.3 and newer.
34780
6af9849f 347812008-07-24 Christian Franke <franke@computer.org>
34782
3a0fa256 34783 * util/i386/pc/grub-install.in: If `--debug' is specified,
34784 pass `--verbose' to grub-setup.
34785 Abort script if make_system_path_relative_to_its_root() fails.
34786
7810e747 347872008-07-24 Bean <bean123ch@gmail.com>
34788
34789 * configure.ac: Fixed a bug caused by the previous cygwin patch,
34790 variable `target_platform' should be `platform'.
34791
42290e17 347922008-07-24 Bean <bean123ch@gmail.com>
34793
51cc5193 34794 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 34795 (grub_png_init_fixed_block): New function.
34796 (grub_png_decode_image_data): Handle fixed huffman code compression.
34797
2a8a80e4 347982008-07-24 Bean <bean123ch@gmail.com>
34799
34800 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
34801 (grub_pe2elf_SOURCES): New macro.
34802 (CLEANFILES): Add grub-pe2elf.
34803
34804 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
34805 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
34806 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
34807 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
34808 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
34809 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
34810 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
34811 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
34812 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
34813 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
34814 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
34815 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
34816 (GRUB_PE32_DT_FUNCTION): Likewise.
34817 (GRUB_PE32_REL_I386_DIR32): Likewise.
34818 (GRUB_PE32_REL_I386_REL32): Likewise.
34819 (grub_pe32_symbol): New structure.
34820 (grub_pe32_reloc): Likewise.
34821
34822 * util/grub-pe2elf.c: New file.
34823
34824 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
34825 start symbol in non pc platform.
34826
34827 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
34828
34829 The following patches are from Christian Franke.
34830
34831 * include/grub/dl.h: Remove .previous, gas supports this only
34832 for ELF format.
34833
34834 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
34835 Remove .type, gas supports this only for ELF format.
34836
34837 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
34838 nullbytes in symbol table. This fixes an infinite loop if table is
34839 zero filled.
34840
34841 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
34842 TARGET_IMG_LDFLAGS and EXEEXT.
34843
34844 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
34845 TARGET_IMG_LDFLAGS_AC.
34846 (grub_CHECK_STACK_ARG_PROBE): New function.
34847
34848 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
34849
34850 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
34851
34852 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
34853 to set TARGET_IMG_LD* accordingly.
34854 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
34855 Add call to grub_CHECK_STACK_ARG_PROBE.
34856 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
34857
34858 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
34859
34860 * genmk.rb: Add EXEEXT to CLEANFILES.
34861
12ccdb75 348622008-07-23 Robert Millan <rmh@aybabtu.com>
34863
34864 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
34865 define the codes for arrows and lines used for the menu).
34866 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
34867 as well.
34868
34869 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
34870 fonts, because the latter are too slow.
34871
18eeaf04 348722008-07-21 Bean <bean123ch@gmail.com>
34873
34874 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
34875 a20. Run keyboard test last, as it will cause macbook to halt.
34876
b095e2ad 348772008-07-18 Pavel Roskin <proski@gnu.org>
34878
34879 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
34880 load foreign architecture modules correctly anyway. Keep
34881 support for loading host architecture modules, whether we
34882 compile them or not.
34883
737feb35 348842008-07-17 Pavel Roskin <proski@gnu.org>
34885
3f4ce737 34886 * configure.ac: Use -m32 or -m64 regardless of whether we had to
34887 change target_cpu. The compiler default can mismatch target_cpu
34888 in any case.
34889
4ad2d049 34890 * disk/efi/efidisk.c: Fix format warnings on x86_64.
34891 * kern/efi/efi.c: Likewise.
34892
f6130a12 34893 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
34894 target compiler is functional.
34895 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
34896 are set up.
34897
58393a2d 34898 * configure.ac: Default to efi platform for x86_64-apple. Allow
34899 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
34900 adjustments from the rest, only do them if target is not
34901 explicitly given. Merge other adjustments with the final sanity
34902 check. Remove an extraneous check for supported CPU. Be
34903 specific which CPU and which platform is not supported.
34904
737feb35 34905 * configure.ac: Default to pc platform for x86_64.
34906
546f966a 349072008-07-17 Robert Millan <rmh@aybabtu.com>
34908
34909 Partial LinuxBIOS -> Coreboot rename.
34910
34911 * conf/i386-linuxbios.rmk: Renamed to ...
34912 * conf/i386-coreboot.rmk: ... this.
34913 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
34914 * configure.ac: Accept "coreboot" as input platform (but maintain
34915 compatibility with "linuxbios").
34916 * include/grub/i386/linuxbios: Renamed to ...
34917 * include/grub/i386/coreboot: ... this.
34918
20011694 349192008-07-17 Bean <bean123ch@gmail.com>
34920
34921 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 34922 (appleldr_mod_SOURCE): New variable.
20011694 34923 (appleldr_mod_CFLAGS): Likewise.
34924 (appleldr_mod_LDFLAGS): Likewise.
34925 (pci_mod_SOURCES): Likewise.
34926 (pci_mod_CFLAGS): Likewise.
34927 (pci_mod_LDFLAGS): Likewise.
34928 (lspci_mod_SOURCES): Likewise.
34929 (lspci_mod_CFLAGS): Likewise.
34930 (lspci_mod_LDFLAGS): Likewise.
34931
34932 * conf/x86_64-efi.rmk: New file.
34933
34934 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
34935 macro.
34936 (grub_efidisk_write): Likewise.
34937
34938 * include/efi/api.h (efi_call_0): New macro.
34939 (efi_call_1): Likewise.
34940 (efi_call_2): Likewise.
34941 (efi_call_3): Likewise.
34942 (efi_call_4): Likewise.
34943 (efi_call_5): Likewise.
34944 (efi_call_6): Likewise.
34945
34946 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
34947 grub_rescue_cmd_chainloader.
34948
34949 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
34950 (grub_pe32_optional_header): Change some fields based on i386 or
34951 x86_64 platform.
34952 (GRUB_PE32_PE32_MAGIC): Likewise.
34953
34954 * include/grub/efi/uga_draw.h: New file.
34955
34956 * include/grub/elf.h (STN_ABS): New constant.
34957 (R_X86_64_NONE): Relocation constant for x86_64.
34958 (R_X86_64_64): Likewise.
34959 (R_X86_64_PC32): Likewise.
34960 (R_X86_64_GOT32): Likewise.
34961 (R_X86_64_PLT32): Likewise.
34962 (R_X86_64_COPY): Likewise.
34963 (R_X86_64_GLOB_DAT): Likewise.
34964 (R_X86_64_JUMP_SLOT): Likewise.
34965 (R_X86_64_RELATIVE): Likewise.
34966 (R_X86_64_GOTPCREL): Likewise.
34967 (R_X86_64_32): Likewise.
34968 (R_X86_64_32S): Likewise.
34969 (R_X86_64_16): Likewise.
34970 (R_X86_64_PC16): Likewise.
34971 (R_X86_64_8): Likewise.
34972 (R_X86_64_PC8): Likewise.
34973
34974 * include/grub/i386/efi/pci.h: New file.
34975
34976 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
34977 Change it value based on platform.
34978 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
34979 (GRUB_E820_RAM): Likewise.
34980 (GRUB_E820_RESERVED): Likewise.
34981 (GRUB_E820_ACPI): Likewise.
34982 (GRUB_E820_NVS): Likewise.
34983 (GRUB_E820_EXEC_CODE): Likewise.
34984 (GRUB_E820_MAX_ENTRY): Likewise.
34985 (grub_e820_mmap): New structure.
34986 (linux_kernel_header): Change the efi field according to different
34987 kernel version, also field from linux_kernel_header.
34988
34989 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
34990
34991 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
34992 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
34993 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
34994 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
34995 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
34996 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
34997 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
34998 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
34999 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35000 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35001
35002 * include/grub/x86_64/efi/kernel.h: New file.
35003
35004 * include/grub/x86_64/efi/loader.h: Likewise.
35005
35006 * include/grub/x86_64/efi/machine.h: Likewise.
35007
35008 * include/grub/x86_64/efi/pci.h: Likewise.
35009
35010 * include/grub/x86_64/efi/time.h: Likewise.
35011
35012 * include/grub/x86_64/linux.h: Likewise.
35013
35014 * include/grub/x86_64/setjmp.h: Likewise.
35015
35016 * include/grub/x86_64/time.h: Likewise.
35017
35018 * include/grub/x86_64/types.h: Likewise.
35019
35020 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35021 GRUB_TARGET_SIZEOF_VOID_P.
35022
35023 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35024 (grub_efi_locate_handle): Likewise.
35025 (grub_efi_open_protocol): Likewise.
35026 (grub_efi_set_text_mode): Likewise.
35027 (grub_efi_stall): Likewise.
35028 (grub_exit): Likewise.
35029 (grub_reboot): Likewise.
35030 (grub_halt): Likewise.
35031 (grub_efi_exit_boot_services): Likewise.
35032 (grub_get_rtc): Likewise.
35033
35034 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35035 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35036 (grub_efi_allocate_pages): Wrap efi calls.
35037 (grub_efi_free_pages): Wrap efi calls.
35038 (grub_efi_get_memory_map): Wrap efi calls.
35039
35040 * kern/x86_64/dl.c: New file.
35041
35042 * kern/x86_64/efi/callwrap.S: Likewise.
35043
35044 * kern/x86_64/efi/startup.S: Likewise.
35045
35046 * loader/efi/appleloader.c: Likewise.
35047
35048 * loader/efi/chainloader.c (cmdline): New variable.
35049 (grub_chainloader_unload): Wrap efi calls.
35050 (grub_chainloader_boot): Likewise.
35051 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35052 command line.
35053
35054 * loader/efi/chainloader_normal.c (chainloader_command):
35055 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35056 command line.
35057
35058 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35059 method.
35060 (grub_e820_add_region): New function.
35061 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35062 booting.
35063 (grub_find_video_card): New function.
35064 (grub_linux_setup_video): New function.
35065 (grub_rescue_cmd_linux): Probe for video information.
35066
35067 * normal/x86_64/setjmp.S: New file.
35068
35069 * term/efi/console.c (map_char): New function.
35070 (grub_console_putchar): Map unicode char.
35071 (grub_console_checkkey): Wrap efi calls.
35072 (grub_console_getkey): Likewise.
35073 (grub_console_getwh): Likewise.
35074 (grub_console_gotoxy): Likewise.
35075 (grub_console_cls): Likewise.
35076 (grub_console_setcolorstate): Likewise.
35077 (grub_console_setcursor): Likewise.
35078
35079 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35080
59652a20 350812008-07-16 Pavel Roskin <proski@gnu.org>
35082
ef294055 35083 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35084 format strings.
35085
59652a20 35086 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35087 pointer, not an integer. This fixes a warning and prevents
35088 precision loss on 64-bit systems.
35089 (relocate_addresses): Remove unneeded cast.
35090
afc3b5d7 350912008-07-15 Pavel Roskin <proski@gnu.org>
35092
506b2b3e 35093 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35094
62ead89c 35095 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35096
c4cd51d7 35097 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35098 Fix comparison between signed and unsigned.
35099
0d3d8f28 35100 * include/grub/i386/ieee1275/console.h: Declare
35101 grub_console_init() and grub_console_fini().
35102
8804b286 35103 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35104 It's empty and unused.
35105
ee01cf35 35106 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35107 beginning to avoid warnings with some compilers.
35108
afc3b5d7 35109 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35110 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35111
e4e8eaa5 351122008-07-14 Pavel Roskin <proski@gnu.org>
35113
407aceb4 35114 * kern/env.c (grub_register_variable_hook): Don't copy empty
35115 string, it leaks memory. Pass "" to grub_env_set(), it should
35116 handle constant strings.
35117
e4e8eaa5 35118 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35119 * commands/cmp.c (grub_cmd_cmp): Likewise.
35120 * kern/dl.c (grub_dl_flush_cache): Likewise.
35121 (grub_dl_load_core): Likewise.
35122 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35123 (grub_elf64_load_phdrs): Likewise.
35124
d4e2dad3 351252008-07-13 Pavel Roskin <proski@gnu.org>
35126
35127 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35128 between signed and unsigned.
35129 (LzmaEnc_Finish): Fix warning about an unused parameter.
35130
aa24b516 351312008-07-13 Bean <bean123ch@gmail.com>
35132
35133 * Makefile.in (enable_lzo): New rule.
35134
35135 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35136
35137 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35138
35139 * boot/i386/pc/lnxboot.S: #include <config.h>.
35140
35141 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 35142 its value according to the compression algorithm used, lzo or lzma.
aa24b516 35143
35144 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35145 compression algorithm according to configure macro.
35146
35147 * kern/i386/pc/startup.S (codestart): Likewise.
35148
35149 * kern/i386/pc/lzma_decode.S: New file.
35150
35151 * include/grub/lib/LzFind.h: Likewise.
35152
35153 * include/grub/lib/LzHash.h: Likewise.
35154
35155 * include/grub/lib/LzmaDec.h: Likewise.
35156
35157 * include/grub/lib/LzmaEnc.h: Likewise.
35158
35159 * include/grub/lib/LzmaTypes.h: Likewise.
35160
35161 * lib/LzFind.c: Likewise.
35162
35163 * lib/LzmaDec.c: Likewise.
35164
35165 * lib/LzmaEnc.c: Likewise.
35166
4ae821ac 351672008-07-13 Bean <bean123ch@gmail.com>
35168
35169 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35170 (grub_ext4_extent_header): New structure.
35171 (grub_ext4_extent): Likewise.
35172 (grub_ext4_extent_idx): Likewise.
35173 (grub_ext4_find_leaf): New function.
35174 (grub_ext2_read_block): Handle extents.
35175
9a745147 351762008-07-12 Robert Millan <rmh@aybabtu.com>
35177
35178 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35179
d49a4cf6 351802008-07-11 Robert Millan <rmh@aybabtu.com>
35181
35182 * util/grub.d/40_custom.in: New file. Example on how to add custom
35183 entries to /etc/grub.d.
35184 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35185 40_custom (implicitly, by merging all the grub.d rules).
35186
947414b4 351872008-07-11 Pavel Roskin <proski@gnu.org>
35188
0059cf6f 35189 * commands/read.c (grub_getline): Fix invalid memory access.
35190 Don't add newline to the variable value.
35191
947414b4 35192 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35193 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35194 (serial_hw_get_port): Check validity of the port number.
35195 (grub_cmd_serial): Check return value of serial_hw_get_port().
35196
62a02d00 351972008-07-07 Pavel Roskin <proski@gnu.org>
35198
35199 * boot/i386/pc/diskboot.S (notification_string): Replace
35200 "Loading kernel" with just "loading". This is shorter, less
35201 confusing and saves a few bytes for possible future changes.
35202
3e5581b0 352032008-07-05 Pavel Roskin <proski@gnu.org>
35204
ea387a48 35205 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35206 size for ATAPI devices, they are undefined. Output sector
35207 number in decimal form.
35208
3e5581b0 35209 * disk/ata.c: Use named constants for status bits.
35210
fdecb8fd 352112008-07-04 Pavel Roskin <proski@gnu.org>
35212
bcd35b90 35213 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35214 grub_addr_t before casting it to the void pointer to fix a
35215 warning. Non-addressable regions are discarded earlier.
35216 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35217 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35218 (check_signature): Don't shadow table_header.
35219 (grub_linuxbios_table_iterate): Cast numeric constants to
35220 grub_linuxbios_table_header_t.
35221 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35222 grub_stop().
35223
af58ab3d 35224 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35225 prevent warnings.
35226
1759aa57 35227 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35228 pointer, which can cause warnings. Support 64-bit addresses.
35229
fdecb8fd 35230 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35231 of sizeof(long). This fixes PowerPC image generation on x86_64.
35232
8516d2a8 352332008-07-04 Robert Millan <rmh@aybabtu.com>
35234
35235 This fixes a performance issue when pc & gpt partmap iterators
35236 didn't abort iteration even after our hook found what it was
fe987087 35237 looking for (often causing expensive probes of non-existent drives).
8516d2a8 35238
35239 Some callers relied on previous buggy behaviour, since they would
34c44600 35240 raise an error when their own hooks caused early abortion of its
8516d2a8 35241 iteration.
35242
35243 * kern/device.c (grub_device_open): Improve error message.
35244 * disk/lvm.c (grub_lvm_open): Likewise.
35245 * disk/raid.c (grub_raid_open): Likewise.
35246
35247 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35248 when hook requests it, independently of grub_errno.
35249 (pc_partition_map_probe): Do not fail when find_func() caused
35250 early abortion of pc_partition_map_iterate().
35251
35252 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35253 when hook requests it, independently of grub_errno.
35254 (gpt_partition_map_probe): Do not fail when find_func() caused
35255 early abortion of gpt_partition_map_iterate().
35256
35257 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35258 when hook requests it, independently of grub_errno. Do not fail when
35259 part_map_iterate_hook() caused early abortion of p->iterate().
35260
35261 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35262 when grub_partition_iterate() returned with non-zero.
35263
277d0de9 352642008-07-03 Pavel Roskin <proski@gnu.org>
35265
35266 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35267 like we do in grub_ata_pio_read().
35268 (grub_ata_readwrite): Always write individual sectors. Fix the
35269 sector count for the remainder.
35270 (grub_ata_write): Enable writing to ATA devices. Correctly
35271 report error for ATAPI devices.
35272
d4c9b428 352732008-07-02 Pavel Roskin <proski@gnu.org>
35274
e43fc690 35275 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35276 warning.
35277
f707af42 35278 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35279 for every read sector, we already increment it for the whole
35280 batch. This fixes reading more than 256 sectors at once.
35281
11e16b15 35282 * util/grub-editenv.c (cmd_info): Cast argument to long
35283 explicitly. ptrdiff_t reduces to int on i386.
35284
cbabfdd4 35285 * util/grub-editenv.c (main): Be specific which parameter is
35286 missing.
35287
b8fbce0a 35288 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35289 (memdisk): Make memdisk_orig_addr a pointer.
35290
c9c8e606 35291 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35292 for file offsets, use grub_off_t instead. Fix printf format
35293 warnings.
35294
ca62e598 35295 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35296 there. Real unexpected warnings should not drown in the noise
35297 about known problems.
35298
ce8d1766 35299 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35300 grub_disk_addr_t for memory addresses.
35301
00c7a56a 35302 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35303 explicitly to fix a warning.
35304
08d3ef09 35305 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35306
cb71ba20 35307 * Makefile.in (MODULE_LDFLAGS): New variable.
35308 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35309 the linker accepts --build-id=none.
35310 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35311 MODULE_LDFLAGS.
35312 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35313
d4c9b428 35314 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35315 those in Linux XFS code. Provide a way to access 64-bit parent
35316 inode.
35317 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35318 the end of struct grub_xfs_dir_header.
35319
d4156eee 353202008-07-02 Bean <bean123ch@gmail.com>
35321
35322 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35323 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35324 and GRUB_IEEE1275_FLAG_NO_ANSI.
35325
35326 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35327 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35328 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35329
35330 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35331 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35332
35333 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35334 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35335
35336 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35337 esc sequence on non ANSI terminal.
35338 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35339
35340 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35341 beginning of file.
35342
2270f77b 353432008-07-02 Bean <bean123ch@gmail.com>
35344
35345 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35346 (grub_editenv_SOURCES): New variable.
35347 (pkglib_MODULES): Add loadenv.mod.
35348 (loadenv_mod_SOURCES): New variable.
35349 (loadenv_mod_CFLAGS): Likewise.
35350 (loadenv_mod_LDFLAGS): Likewise.
35351
35352 * include/grub/envblk.h: New file.
35353
35354 * util/envblk.c: New file.
35355
35356 * util/grub-editenv.c: New file.
35357
35358 * commands/loadenv.c: New file.
35359
0e9e51ec 353602008-07-01 Pavel Roskin <proski@gnu.org>
35361
d89b7634 35362 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35363 not unsigned char. This fixes warnings and is consistent with
35364 other tags.
35365
bf1835b1 35366 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35367
8222a04b 35368 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35369
6a42d99d 35370 * term/tparm.c (analyze): Always set *popcount.
35371
10b159d1 35372 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35373 cast to fix a warning.
35374
b8789f6c 35375 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35376 cast to suppress a warning.
35377
29d7e38a 35378 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35379 grub_fshelp_read_file() expects.
35380
f341f669 35381 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35382 write uuid as a 32-bit value in CPU byte order, so declare and
35383 use it as such.
35384
0e9e51ec 35385 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35386 long if the format specifier expects it.
35387 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35388 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35389 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35390 long to fix a warning.
35391 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35392 grub_dprintf() arguments to fix warnings.
35393
3aefa857 353942008-06-30 Pavel Roskin <proski@gnu.org>
35395
56c7668b 35396 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35397 install_bsd_part immediately before core.img is embedded or
35398 modified on disk. This fixes core.img verification if core.img
35399 cannot be embedded.
35400
3aefa857 35401 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35402 core_path to calculate the blocklist.
35403 Patch from Javier Martín <lordhabbit@gmail.com>
35404
5444088d 354052008-06-29 Robert Millan <rmh@aybabtu.com>
35406
35407 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35408 block to disk block.
35409 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35410 Patch from Niels Böhm <bitbucket@arcor.de>
35411
674835c8 354122008-06-29 Robert Millan <rmh@aybabtu.com>
35413
35414 * util/update-grub_lib.in (font_path): Search for fonts in
35415 /boot/grub first, which is more likely to be readable (we aren't
35416 deciding where fonts live, just looking for them).
35417
f527dbc8 354182008-06-26 Pavel Roskin <proski@gnu.org>
35419
6c2d8df6 35420 * util/biosdisk.c (read_device_map): Don't leave dead map
35421 entries for devices failing stat() check.
35422
f527dbc8 35423 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35424 core_path_dev for the core.img path on the target device.
35425
aebe3d13 354262008-06-26 Robert Millan <rmh@aybabtu.com>
35427
35428 * disk/fs_uuid.c: New file.
35429 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35430 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35431 (fs_uuid_mod_LDFLAGS): New variables.
35432 * include/grub/disk.h (grub_disk_dev_id): Add
35433 `GRUB_DISK_DEVICE_UUID_ID'.
35434 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35435 implement iterate().
35436
37aaf354 354372008-06-26 Robert Millan <rmh@aybabtu.com>
35438
35439 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35440 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35441 Linux image includes no initrd.
35442
25ff262a 354432008-06-21 Javier Martín <lordhabbit@gmail.com>
35444
35445 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35446 call to resolve the core image location that effectively appended the
35447 name twice.
35448
76a2bd44 354492008-06-21 Robert Millan <rmh@aybabtu.com>
35450
35451 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35452 call from here ...
35453
35454 * util/grub.d/10_hurd.in: ... to here ...
35455 * util/grub.d/10_linux.in: ... and here.
35456
650e1c79 354572008-06-19 Robert Millan <rmh@aybabtu.com>
35458
fe987087 35459 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 35460 after it has been set by grub_machine_set_prefix().
35461
6ce63911 354622008-06-19 Robert Millan <rmh@aybabtu.com>
35463
35464 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35465 search result when not saving to variable, not the other way around.
35466 When saving to variable, abort iteration as soon as a match is found.
35467
73940cec 354682008-06-19 Robert Millan <rmh@aybabtu.com>
35469
35470 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35471 check for partition that provides /boot/grub. Its logic is flawed,
35472 as it prevents prepare_grub_to_access_device() from being called
35473 multiple times.
35474
3c62a39d 354752008-06-19 Robert Millan <rmh@aybabtu.com>
35476
35477 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35478 "insmod" command directly when abstraction modules are needed,
fe987087 35479 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 35480 since it had already been processed).
35481
47395a42 354822008-06-19 Pavel Roskin <proski@gnu.org>
35483
35484 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35485 changed. This is needed in case GRUB_LIBDIR changes.
35486 * conf/i386-ieee1275.rmk: Likewise.
35487 * conf/i386-linuxbios.rmk: Likewise.
35488 * conf/i386-pc.rmk: Likewise.
35489 * conf/powerpc-ieee1275.rmk: Likewise.
35490
a145ac2d 354912008-06-18 Pavel Roskin <proski@gnu.org>
35492
35493 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35494 kernel_elf_symlist.c to symlist.c for consistency with other
35495 architectures. Update all users.
35496 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35497
7847c51e 354982008-06-18 Robert Millan <rmh@aybabtu.com>
35499
35500 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35501 it in prefix.
35502
35503 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35504 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35505 a RAID device, run setup() for all members independently on whether
35506 LVM abstraction is being used.
35507 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35508 If grub-mkimage has set `*install_dos_part == -2', don't override this
35509 value.
35510 Perform *install_dos_part adjustments independently on whether
35511 we're embedding or not.
35512 Clarify error message when image is too big for embedding.
35513 Remove duplicate *install_dos_part stanza.
35514
b23e5644 355152008-06-17 Robert Millan <rmh@aybabtu.com>
35516
35517 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35518 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35519 variables.
35520 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35521 values in grub_ofconsole_normal_color and
35522 grub_ofconsole_highlight_color (they're not directly related to
35523 background and foreground).
35524 (grub_ofconsole_setcolorstate): Extract background and foreground
35525 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
35526
0aac2f79 355272008-06-17 Robert Millan <rmh@aybabtu.com>
35528
35529 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
35530 /boot/grub for the check in last commit, not /boot (they could be
35531 different partitions).
35532
3cca7ef3 355332008-06-16 Robert Millan <rmh@aybabtu.com>
35534
35535 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
35536 asked to setup access for the same partition that provides /boot,
35537 don't bother using UUIDs since our root already has the value we
35538 want.
35539
347396d8 355402008-06-16 Robert Millan <rmh@aybabtu.com>
35541
35542 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
35543 I2O devices.
35544 Patch from Sven Mueller <sven@debian.org>.
35545
991477f8 355462008-06-16 Robert Millan <rmh@aybabtu.com>
35547
35548 * util/update-grub.in: Check for $EUID instead of $UID.
35549 Reported by Vincent Zweije.
35550
d31a32a1 355512008-06-16 Bean <bean123ch@gmail.com>
35552
fe987087 35553 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 35554 (grub_ext2_read_block): Likewise.
35555 (grub_ext2_read_inode): Likewise.
35556 (grub_ext2_mount): Likewise.
35557 (grub_ext2_close): Likewise.
35558 (grub_ext3_get_journal): Removed.
35559
fe987087 35560 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 35561 (grub_reiserfs_read_symlink): Likewise.
35562 (grub_reiserfs_mount): Likewise.
35563 (grub_reiserfs_open): Likewise.
35564 (grub_reiserfs_read): Likewise.
35565 (grub_reiserfs_close): Likewise.
35566 (grub_reiserfs_get_journal): Removed.
35567
35568 * fs/fshelp.c (grub_fshelp_read): Removed.
35569 (grub_fshelp_map_block): Likewise.
35570
35571 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
35572 (grub_fshelp_journal): Likewise.
35573 (grub_fshelp_read): Likewise.
35574 (grub_fshelp_map_block): Likewise.
35575
3540a760 355762008-06-16 Pavel Roskin <proski@gnu.org>
35577
35578 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
35579 floating point anymore.
35580 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
35581
95614c84 355822008-06-15 Pavel Roskin <proski@gnu.org>
35583
35584 * commands/ls.c (grub_ls_list_files): Use integer calculations
35585 for human readable format, avoid floating point use.
35586 * kern/misc.c (grub_ftoa): Remove.
35587 (grub_vsprintf): Remove floating point support.
35588
50465dd6 355892008-06-15 Robert Millan <rmh@aybabtu.com>
35590
fe6b695a 35591 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 35592 devices.
35593 Reported by Max Vozeler.
35594
a9207284 355952008-06-15 Robert Millan <rmh@aybabtu.com>
35596
35597 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
35598 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
35599 skipped later.
35600 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
35601 the beginning of the prefix.
35602
35603 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
35604 It is assumed that if we have a memdisk, grub-mkimage has set
35605 grub_prefix to include the "(memdisk)" drive in it.
35606
a7cbd45a 356072008-06-15 Robert Millan <rmh@aybabtu.com>
35608
35609 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
35610 Initialize keyboard controller after registering the terminal, so that
35611 grub_printf() can be called from grub_keyboard_controller_init().
35612
21cf716a 356132008-06-15 Robert Millan <rmh@aybabtu.com>
35614
35615 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
35616 extent-btree which is written as big endian on disk.
35617 Reported by Alain Greppin <al@chilibi.org>.
35618
23a64d8e 356192008-06-14 Robert Millan <rmh@aybabtu.com>
35620
35621 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
35622 * util/i386/pc/grub-install.in (modules): Likewise.
35623
d687651c 356242008-06-13 Pavel Roskin <proski@gnu.org>
35625
35626 * commands/ls.c (grub_ls_list_files): Fix format warnings.
35627
dfe9ddd4 356282008-06-13 Bean <bean123ch@gmail.com>
35629
35630 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
35631
35632 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
35633
35634 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
35635 to indicate sparse block.
35636
16ae7781 356372008-06-12 Pavel Roskin <proski@gnu.org>
35638
e6d1a308 35639 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
35640 number, grub_fshelp_read() does it for us.
35641
16ae7781 35642 * fs/fshelp.c (grub_fshelp_read): New function. Implement
35643 linear disk read with journal translation.
35644 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
35645 * include/grub/fshelp.h: Declare grub_fshelp_read().
35646
40fd3a2b 356472008-06-09 Pavel Roskin <proski@gnu.org>
35648
35649 * fs/minix.c (grub_minix_mount): Handle error reading
35650 superblock.
35651
f5679726 356522008-06-08 Robert Millan <rmh@aybabtu.com>
35653
35654 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
35655 don't append the RAID prefix afterwards.
35656 Reported by Clint Adams.
35657
ce525529 356582008-06-08 Robert Millan <rmh@aybabtu.com>
35659
35660 Based on description from Pavel:
35661 * kern/disk.c (grub_disk_check_range): Rename to ...
35662 (grub_disk_adjust_range): ... this. Add a comment explaining the
35663 tasks performed by this function.
35664
ad4936a0 356652008-06-08 Robert Millan <rmh@aybabtu.com>
35666
35667 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
35668 `num_serial' (for consistency with other variables).
35669 (struct grub_ntfs_data): Add `uuid' member.
35670 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
35671 (grub_ntfs_uuid): New function.
35672 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
35673
dc20b0f9 356742008-06-07 Pavel Roskin <proski@gnu.org>
35675
35676 * util/biosdisk.c (open_device): Revert last change to the
35677 function, it broke installation. The sector needs to be
35678 different dependent on which device is opened.
35679
c5e3cfba 356802008-06-06 Robert Millan <rmh@aybabtu.com>
35681
35682 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
35683 rest of GRUB, and breakage doesn't happen if its value were modified.
35684
35685 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35686 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
35687 a constant (same value).
35688 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
35689 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
35690
26a1f8c4 356912008-06-06 Robert Millan <rmh@aybabtu.com>
35692
35693 * util/biosdisk.c (open_device): Do not modify sector offset when
35694 accessing a partition. kern/disk.c already handles this for us.
35695
25d6b327 356962008-06-06 Robert Millan <rmh@aybabtu.com>
35697
35698 * util/grub-emu.c (grub_machine_init): Move code in this function from
35699 here ...
35700 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
35701 segfault in case grub_printf() is called).
35702
35703 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
35704 grub_probe. Update all users not to explicitly add it again.
35705 (grub_device): New variable; contains corresponding device for grubdir.
35706 (fs_module, partmap_module, devabstraction_module): Pass
35707 `--device ${grub_device}' to grub_probe to avoid traversing /dev
35708 every time.
35709
9ece62fb 357102008-06-05 Robert Millan <rmh@aybabtu.com>
35711
35712 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
35713 is found, print it (same layout as with labels).
35714
1ad36d37 357152008-06-04 Robert Millan <rmh@aybabtu.com>
35716
35717 * util/biosdisk.c (get_drive): Rename to ...
35718 (find_grub_drive): ... this. Update all users.
35719
35720 (get_os_disk): Rename to ...
35721 (convert_system_partition_to_system_disk): ... this. Update all users.
35722
35723 (find_drive): Rename to ...
35724 (find_system_device): ... this. Update all users.
35725
e6a30859 357262008-06-04 Robert Millan <rmh@aybabtu.com>
35727
35728 * util/biosdisk.c (get_os_disk): Handle IDA devices.
35729 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35730 (make_device_map): Likewise.
35731
00c108a4 357322008-06-01 Robert Millan <rmh@aybabtu.com>
35733
35734 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
35735 before dereferencing it.
35736
35737 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
35738 union with fat12/fat16-specific ones. Add some new fields, including
35739 `num_serial' for both versions.
35740 (struct grub_fat_data): Add `uuid' member.
35741 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
35742 names. Initialize `data->uuid' using `num_serial'.
35743 (grub_fat_uuid): New function.
35744 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
35745
35746 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
35747 (grub_reiserfs_uuid): New function.
35748 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
35749 member.
35750
35751 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
35752 (grub_xfs_uuid): New function.
35753 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
35754
1385c5bb 357552008-06-01 Robert Millan <rmh@aybabtu.com>
35756
35757 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
35758 code that is backward compatible with pre-uuid search command.
35759
c682dfd7 357602008-05-31 Robert Millan <rmh@aybabtu.com>
35761
35762 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
35763 floppies after everything else, to ensure floppy drive isn't accessed
35764 unnecessarily (patch from Bean).
35765
b7db5d47 357662008-05-31 Robert Millan <rmh@aybabtu.com>
35767
35768 * commands/search.c (search_label, search_fs_uuid, search_file): Do
35769 not print device names when we were asked to set a variable.
35770
6e037aa9 357712008-05-31 Robert Millan <rmh@aybabtu.com>
35772
35773 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
35774 using "cursor-on" and "cursor-off" commands (understood at least by
35775 the Open Firmware flavour on OLPC).
35776
41305bc8 357772008-05-31 Michael Gorven <michael@gorven.za.net>
35778
35779 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
35780 on and off sequences.
35781
69ba137e 357822008-05-31 Robert Millan <rmh@aybabtu.com>
35783
35784 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
35785 * util/update-grub.in: Likewise.
35786
520ae21b 357872008-05-30 Pavel Roskin <proski@gnu.org>
35788
35789 * util/biosdisk.c (linux_find_partition): Simplify logic and
35790 make the code more universal. Keep special processing for
35791 devfs, but use a simple rule for all other devices. If the
35792 device ends with a number, append 'p' and the partition number.
35793 Otherwise, append only the partition number.
35794
5786569b 357952008-05-30 Robert Millan <rmh@aybabtu.com>
35796
35797 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
35798 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
35799 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
35800 the `root' parameter to Linux.
35801
51500452 358022008-05-30 Robert Millan <rmh@aybabtu.com>
35803
35804 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
35805 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
35806 --fs_uuid with --fs-uuid.
35807 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
35808 all filesystems support them).
35809
811d3878 358102008-05-30 Robert Millan <rmh@aybabtu.com>
35811
35812 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 35813 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 35814
cab63c95 358152008-05-30 Robert Millan <rmh@aybabtu.com>
35816
35817 * util/grub.d/00_header.in: Remove obsolete comment referencing
35818 convert_system_path_to_grub_path().
35819 * util/update-grub.in: Likewise.
35820 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
35821 (convert_system_path_to_grub_path): Add a warning message explaining
35822 that this function is deprecated. Rely on is_path_readable_by_grub()
35823 for the readability checks.
35824 (font_path): Use is_path_readable_by_grub() for the readability
35825 check rather than convert_system_path_to_grub_path().
35826
972e2f7a 358272008-05-30 Robert Millan <rmh@aybabtu.com>
35828
35829 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
35830 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
35831 converting it first.
35832 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
35833 grub.cfg for access to font file, and afterwards call it again to set
35834 the root device.
35835
62191274 358362008-05-30 Robert Millan <rmh@aybabtu.com>
35837
35838 * commands/search.c (options): Add --fs_uuid option.
35839 (search_fs_uuid): New function.
35840 (grub_cmd_search): Fix --set argument passing.
35841 Use search_fs_uuid() when requested via --fs_uuid.
35842 (grub_search_init): Update help message.
35843 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
35844 and redeclare it as an array of 16-bit words.
35845 (grub_ext2_uuid): New function.
35846 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
35847 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
35848 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
35849 (GRUB_DEVICE_BOOT_UUID): New variables.
35850 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
35851 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
35852 whenever possible.
35853 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
35854 just assume `root' variable has the right value.
35855 * util/grub.d/10_linux.in: Likewise.
35856 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
35857 via PRINT_FS_UUID.
35858 (main): Recognise `-t fs_uuid' argument.
35859
01b73ec8 358602008-05-30 Robert Millan <rmh@aybabtu.com>
35861
35862 * util/biosdisk.c (map): Redefine structure to hold information
35863 about GRUB drive name.
fe6b695a 35864 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 35865 drive names.
35866 (call_hook): Remove.
35867 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
35868 member. Assume drive has partitions.
35869 (grub_util_biosdisk_open): Access device names via `.device' struct
35870 member.
35871 (open_device): Likewise.
35872 (find_drive): Likewise.
35873 (read_device_map): Adjust map[] usage to match the new struct
35874 definition. Don't check for duplicates (still possible, but not cheap
35875 anymore).
35876 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
35877 (make_device_name): Remove assumption of BIOS-like drive names.
35878
22f16596 358792008-05-30 Pavel Roskin <proski@gnu.org>
35880
35881 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
35882 compiling execute.c doesn't need grub_script.tab.h anymore.
35883 (normal/command.c_DEPENDENCIES): Likewise.
35884 (normal/function.c_DEPENDENCIES): Likewise.
35885 * conf/i386-ieee1275.rmk: Likewise.
35886 * conf/i386-linuxbios.rmk: Likewise.
35887 * conf/i386-pc.rmk: Likewise.
35888 * conf/powerpc-ieee1275.rmk: Likewise.
35889 * conf/sparc64-ieee1275.rmk: Likewise.
35890
528ad8f2 358912008-05-29 Pavel Roskin <proski@gnu.org>
35892
d1dff95d 35893 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
35894 when scanning metadata for volume group name.
35895
528ad8f2 35896 * include/grub/script.h: Don't include grub_script.tab.h. It's
35897 a generated file, which may only be included from the files with
35898 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
35899 use union YYSTYPE, as the later allows forward declaration.
35900 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
35901
47248e08 359022008-05-29 Robert Millan <rmh@aybabtu.com>
35903
35904 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
35905 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
35906 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
35907 (grub_console_checkkey): Add grub_dprintf() call to report unknown
35908 scan codes.
35909
ee632529 359102008-05-29 Robert Millan <rmh@aybabtu.com>
35911
35912 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
35913 control key combinations.
35914
eee96e08 359152008-05-29 Robert Millan <rmh@aybabtu.com>
35916
35917 * util/powerpc/ieee1275/grub-install.in: Move from here ...
35918 * util/ieee1275/grub-install.in: ... to here.
35919 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
35920 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
35921 (grub_install_SOURCES): Likewise.
35922
da9a6a94 359232008-05-29 Robert Millan <rmh@aybabtu.com>
35924
35925 * fs/affs.c: Update copyright year.
35926 * fs/ext2.c: Likewise.
35927 * fs/fshelp.c: Likewise.
35928 * fs/hfsplus.c: Likewise.
35929 * fs/ntfs.c: Likewise.
35930 * fs/xfs.c: Likewise.
35931 * include/grub/fshelp.h: Likewise.
35932 * util/grub-mkdevicemap.c: Likewise.
35933
12e65f3a 359342008-05-28 Robert Millan <rmh@aybabtu.com>
35935
35936 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
35937 might need to be fatfs to support some firmware implementations
35938 (e.g. OFW or EFI).
35939
23023641 359402008-05-28 Robert Millan <rmh@aybabtu.com>
35941
35942 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
35943 devices.
35944 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35945 (make_device_map): Likewise.
35946
887d2619 359472008-05-20 Bean <bean123ch@gmail.com>
35948
35949 * fs/fshelp.c (grub_fshelp_map_block): New function.
35950 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
35951 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
35952
35953 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
35954 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
35955 (grub_fshelp_journal): New structure.
35956 (grub_fshelp_map_block): New function prototype.
35957 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
35958 (grub_fshelp_map_block): Likewise.
35959
35960 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
35961 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
35962 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
35963 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
35964 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
35965 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
35966 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
35967 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
35968 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
35969 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
35970 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
35971 (grub_ext2_sblock): New members for journal support.
35972 (grub_ext3_journal_header): New structure.
35973 (grub_ext3_journal_revoke_header): Likewise.
35974 (grub_ext3_journal_block_tag): Likewise.
35975 (grub_ext3_journal_sblock): Likewise.
35976 (grub_fshelp_node): New members logfile and journal.
35977 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
35978 grub_fshelp_map_block to get real block number.
35979 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
35980 number.
35981 (grub_ext2_read_inode): Likewise.
35982 (grub_ext3_get_journal): New function.
35983 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
35984 (grub_ext2_close): Release memory used by journal.
35985
35986 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
35987 (REISERFS_MAGIC_DESC_BLOCK): New macro.
35988 (grub_reiserfs_transaction_header): Renamed to
35989 grub_reiserfs_description_block, replace field data with real_blocks.
35990 (grub_reiserfs_commit_block): New structure.
35991 (grub_reiserfs_data): New member journal.
35992 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
35993 number.
35994 (grub_reiserfs_read_symlink): Likewise.
35995 (grub_reiserfs_iterate_dir): Likewise.
35996 (grub_reiserfs_open): Likewise.
35997 (grub_reiserfs_read): Likewise.
35998 (grub_reiserfs_get_journal): New function.
35999 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36000 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36001 using grub_reiserfs_get_journal.
36002 (grub_reiserfs_close): Release memory used by journal.
36003
36004 * fs/affs.c (grub_affs_read_block): Change block type to
36005 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36006
36007 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36008
36009 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36010
36011 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36012
36013 * fs/udf.c (grub_udf_read_block): Change block type to
36014 grub_disk_addr_t. Use type cast to avoid warning.
36015
36016 * fs/xfs.c (grub_xfs_read_block): Likewise.
36017
b7c6bed5 360182008-05-16 Christian Franke <franke@computer.org>
36019
36020 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36021 to ensure that break with ESC will always work.
36022 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36023 Remove ESC from keyboard queue.
36024
eedf167f 360252008-05-16 Christian Franke <franke@computer.org>
36026
36027 * util/biosdisk.c: [__CYGWIN__] Add includes.
36028 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36029 (get_os_disk): Move variable declarations to OS specific
36030 parts to avoid warning.
36031 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36032 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36033 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36034 Cygwin.
36035 * util/getroot.c: [__CYGWIN__] Add includes.
36036 (strip_extra_slashes): Fix "/" case.
36037 [__CYGWIN__] (get_win32_path): New function.
36038 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36039 [__CYGWIN__] (find_root_device): Disable.
36040 [__CYGWIN__] (get_bootsec_serial): New function.
36041 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36042 [__linux__] (grub_guess_root_device): Add early returns to simplify
36043 structure.
36044 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36045 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36046 check for Linux only.
36047
a079699e 360482008-05-15 Bean <bean123ch@gmail.com>
36049
36050 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36051 keyboard hang problem in apple's intel mac.
36052
1cf4059a 360532008-05-09 Robert Millan <rmh@aybabtu.com>
36054
36055 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36056 devices.
36057 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36058 (make_device_map): Likewise.
36059 Reported by Aurelien Jarno <aurel32@debian.org>
36060
ed759390 360612008-05-07 Ian Campbell <ijc@hellion.org.uk>
36062
36063 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36064 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36065 (make_device_map): Output entries for xvd type disks.
36066
b56c4eaa 360672008-05-07 Robert Millan <rmh@aybabtu.com>
36068
36069 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36070 devices.
36071 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36072 (make_device_map): Likewise.
36073 Reported by Roland Dreier <rdreier@cisco.com>
36074
7f8866ed 360752008-05-07 Robert Millan <rmh@aybabtu.com>
36076
36077 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36078 grub_strstr() call. Correct a few mistakes in failure path handling.
36079
b0346e0f 360802008-05-06 Robert Millan <rmh@aybabtu.com>
36081
36082 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36083 Do not print a trailing slash (therefore, the root directory is an
36084 empty string).
36085 (convert_system_path_to_grub_path): Do not remove trailing slash
36086 from make_system_path_relative_to_its_root() output.
36087
36088 * util/i386/pc/grub-install.in: Add trailing slash to output from
36089 make_system_path_relative_to_its_root().
36090
6cf12cbd 360912008-05-06 Robert Millan <rmh@aybabtu.com>
36092
36093 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36094 ensures that output lines aren't intermangled with those sent to
36095 stderr (via grub_util_info()).
36096 * util/grub-probe.c (grub_refresh): Likewise.
36097 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36098
0fbb3117 360992008-05-05 Christian Franke <franke@computer.org>
36100
36101 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36102 Add Cygwin device names.
36103 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36104 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36105 (check_device): Return error instead of success on empty name.
36106 (make_device_map): Move label inside linux specific code to
36107 prevent compiler warning.
36108
8124cdb7 361092008-04-30 Robert Millan <rmh@aybabtu.com>
36110
36111 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36112 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36113 first boot option.
36114 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36115
094c01d0 361162008-04-29 Robert Millan <rmh@aybabtu.com>
36117
36118 * docs/grub.cfg: New file (example GRUB configuration).
36119
f4b1fc02 361202008-04-26 Robert Millan <rmh@aybabtu.com>
36121
329ce2a5 36122 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36123 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36124 and `disk/ieee1275/nand.c'.
f4b1fc02 36125
25f16ec1 361262008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 36127
25f16ec1 36128 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36129 i386-linuxbios.
36130
36131 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36132 change the buffer size to 4096 for cdrom device.
36133
36134 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36135 and nand.mod.
36136 (_linux_mod_SOURCES): New variable.
36137 (_linux_mod_CFLAGS): Likewise.
36138 (_linux_mod_LDFLAGS): Likewise.
36139 (linux_mod_SOURCES): Likewise.
36140 (linux_mod_CFLAGS): Likewise.
36141 (linux_mod_LDFLAGS): Likewise.
36142 (nand_mod_SOURCES): Likewise.
36143 (nand_mod_CFLAGS): Likewise.
36144 (nand_mod_LDFLAGS): Likewise.
36145
36146 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36147 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36148 type property. (nand device in olpc don't have this property)
36149
36150 * include/grub/disk.h (grub_disk_dev_id): New macro
36151 GRUB_DISK_DEVICE_NAND_ID.
36152
36153 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36154 function prototype.
36155 (grub_rescue_cmd_initrd): Likewise.
36156
36157 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36158 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36159 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 36160
25f16ec1 36161 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36162 GRUB_MACHINE_IEEE1275 is defined.
36163
36164 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36165 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36166
36167 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36168 on nested function heap_init.
36169 (grub_upper_mem): New variable for i386-ieee1275.
36170 (grub_get_extended_memory): New function for i386-ieee1275.
36171 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36172
36173 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36174 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36175 property.
f19dbdb7 36176
25f16ec1 36177 * loader/i386/ieee1275/linux.c: New file.
36178
36179 * loader/i386/ieee1275/linux_normal.c: New file.
36180
36181 * disk/ieee1275/nand.c: New file.
36182
e89d61e9 361832008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36184
36185 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36186 value.
36187 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36188
602566f6 361892008-04-18 Robert Millan <rmh@aybabtu.com>
36190
36191 Restructures early code path on ieee1275 to unify grub_main() as
36192 the first C function that is executed in every platform.
36193
36194 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36195 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36196 cmain().
36197 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36198 * kern/ieee1275/cmain.c (cmain): Rename to ...
36199 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36200 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36201 at the beginning.
36202
57490c2b 362032008-04-18 Robert Millan <rmh@aybabtu.com>
36204
36205 * util/update-grub.in: Fix syntax error when setting
36206 `GRUB_PRELOAD_MODULES'.
36207 Reported by Stephane Chazelas <stephane@artesyncp.com>
36208
1977517d 362092008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36210
36211 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36212 section into account, newer toolchains generate unique build ids
36213 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 36214 we want build ids to be preserved
1977517d 36215 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36216 far from other sections don't cause the raw binary images grow
36217 size
36218
bfb1f1a2 362192008-04-15 Robert Millan <rmh@aybabtu.com>
36220
36221 * disk/lvm.c: Update copyright year.
36222 * kern/misc.c: Likewise.
36223
01979850 362242008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36225
36226 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 36227 there is no memory left for physical volume name.
01979850 36228
0a1150e2 362292008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36230
36231 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36232 volume name mapping to support bigger than 9 character names properly.
36233
82ead3fe 362342008-04-13 Robert Millan <rmh@aybabtu.com>
36235
36236 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36237 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36238
e54a72f5 362392008-04-13 Christian Franke <franke@computer.org>
36240
36241 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36242 to create a floppy emulation boot CD when non emulation mode
36243 does not work.
36244 Enable Joliet CD filesystem extension.
36245
9fe86034 362462008-04-13 Robert Millan <rmh@aybabtu.com>
36247
36248 * kern/misc.c (grub_strncat): Fix off-by-one error.
36249 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36250
36251 * kern/env.c (grub_env_context_close): Clear current context, not
36252 previous one.
36253 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36254
36255 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36256
7ceeee39 362572008-04-13 Robert Millan <rmh@aybabtu.com>
36258
36259 Improve robustness when handling LVM.
36260
36261 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 36262 (and leave `*p' unmodified).
7ceeee39 36263 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36264 through it.
36265 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36266 iterating through it.
36267 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36268 through it.
fe6b695a 36269 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 36270 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36271 Don't assume `vg->pvs != NULL' when iterating through it.
36272
58cd3d85 362732008-04-13 Robert Millan <rmh@aybabtu.com>
36274
36275 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36276 * genmk.rb (partmap): New variable.
36277 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36278 (#{partmap}): New target rule.
36279 * genpartmaplist.sh: New file.
36280 * Makefile.in (pkglib_DATA): Add partmap.lst.
36281 (partmap.lst): New target rule.
36282 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36283 modules (including all partition maps), instead of preloading them.
36284
78b51059 362852007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36286
36287 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36288 `linux-boot-prober' (if installed) to detect other operating
36289 systems which are installed on the computer and add them to
36290 the boot menu.
36291 * conf/common.rmk: Build and install 30_os-prober.
36292
a91627b4 362932008-04-12 Robert Millan <rmh@aybabtu.com>
36294
36295 * kern/powerpc/ieee1275/init.c: Move from here ...
36296 * kern/ieee1275/init.c: ... to here. Update all users.
36297
36298 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36299 * kern/ieee1275/cmain.c: ... to here. Update all users.
36300
36301 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36302 * kern/ieee1275/openfw.c: ... to here. Update all users.
36303
36304 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36305 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36306
322562ea 363072008-04-10 Pavel Roskin <proski@gnu.org>
36308
36309 * configure.ac: Always use "_cv_" in cache variables for
36310 compatibility with Autoconf 2.62.
36311
a02a73c5 363122008-04-07 Robert Millan <rmh@aybabtu.com>
36313
36314 Revert grub/machine/init.h addition by Pavel (since it breaks on
36315 i386-ieee1275 and others):
36316 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36317 * util/powerpc/ieee1275/misc.c: Likewise.
36318
25c024b1 363192008-04-07 Robert Millan <rmh@aybabtu.com>
36320
36321 * util/grub-probe.c (probe): Improve error message.
36322
3cbd2f98 363232008-04-07 Robert Millan <rmh@aybabtu.com>
36324
36325 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36326 (this prevents the presence of a bogus entry from ruining the whole
36327 thing).
36328
87a297bf 363292008-04-06 Pavel Roskin <proski@gnu.org>
36330
36747a62 36331 * util/biosdisk.c: Include grub/util/biosdisk.h.
36332 * util/grub-fstest.c (execute_command): Make static.
36333 * util/grub-mkdevicemap.c (check_device): Likewise.
36334 * util/i386/pc/misc.c: Include grub/machine/init.h.
36335 * util/powerpc/ieee1275/misc.c: Likewise.
36336 * util/lvm.c: Include grub/util/lvm.h.
36337 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36338 grub/cache.h.
36339 * util/raid.c: Include grub/util/raid.h.
36340 (grub_util_getdiskname): Make static.
36341
87a297bf 36342 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36343 grub_hostfs_fini(), as they are called from grub_init_all() and
36344 grub_fini_all() respectively. This fixes an infinite loop in
36345 grub-fstest due to double registration of hostfs.
36346 Reported by Christian Franke <Christian.Franke@t-online.de>
36347
f6ce7629 363482008-04-05 Pavel Roskin <proski@gnu.org>
36349
36350 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36351 all 8 functions. Otherwise, probe function 0 only.
36352
070e49e4 363532008-04-04 Pavel Roskin <proski@gnu.org>
36354
8b088a4c 36355 * commands/lspci.c (grub_lspci_iter): Print the bus number
36356 correctly.
36357
4f657021 36358 * commands/lspci.c (grub_pci_classes): Fix typos.
36359 (grub_lspci_iter): Don't print func twice. Print vendor ID
36360 before device ID, as it's normally done.
36361
070e49e4 36362 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36363 Fix signedness warnings.
36364 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36365 Likewise.
36366 * util/ieee1275/get_disk_name.c: Include config.h so that
36367 _GNU_SOURCE is defined and getline() is declared. Mark an
36368 unused argument as such. Fix a signedness warning.
36369
ba7328dc 363702008-04-02 Pavel Roskin <proski@gnu.org>
36371
26887f22 36372 * genkernsyms.sh.in: Use more robust assignments for CC and
36373 srcdir. Quote srcdir.
36374 * gensymlist.sh.in: Likewise. Assert at the compile time that
36375 the symbol table is not empty.
36376
ba7328dc 36377 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36378 * fs/cpio.c (grub_cpio_read): Likewise.
36379
0f582c6b 363802008-04-01 Pavel Roskin <proski@gnu.org>
36381
4b6e1995 36382 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36383 * disk/host.c (grub_host_open): Likewise.
36384 * disk/loopback.c (grub_loopback_open): Likewise.
36385 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36386 disk->id as in disk/host.c, not a multi-character constant.
36387
828a2768 36388 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36389 later is obsolete, potentially dangerous and sets a bad example.
36390 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36391 * util/misc.c (grub_util_get_image_size): Likewise.
36392
2bb4fb47 36393 * disk/loopback.c (options): Improve help for "--partitions".
36394
0f582c6b 36395 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36396 options to align them with the short options, e.g. "echo -e".
36397
a33224e0 363982008-03-31 Bean <bean123ch@gmail.com>
36399
36400 * video/reader/png.c (grub_png_data): New member is_16bit and
36401 image_data.
36402 (grub_png_decode_image_header): Detect 16 bit png image.
36403 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36404 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36405 (grub_video_reader_png): Release memory occupied by image_data.
36406
36407 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36408 4096 bytes.
36409 (grub_nfs_mount): Skip the test for sector per cluster.
36410
36411 * include/grub/ntfs.h (MAX_SPC): Removed.
36412
86cb4f54 364132008-03-31 Bean <bean123ch@gmail.com>
36414
36415 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36416 (grub_probe_SOURCES): Add fs/afs.c.
36417 (grub_fstest_SOURCES): Likewise.
36418 (afs_mod_SOURCES): New variable.
36419 (afs_mod_CFLAGS): Likewise.
36420 (afs_mod_LDFLAGS): Likewise.
36421
36422 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36423 (grub_emu_SOURCES): Likewise.
36424
36425 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36426
36427 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36428
36429 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36430
36431 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36432
36433 * fs/afs.c: New file.
36434
17c74c21 364352008-03-30 Pavel Roskin <proski@gnu.org>
36436
4cb68e89 36437 * disk/host.c: Include grub/misc.h to fix a warning.
36438 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36439 warnings about implicit declarations.
36440
8790bb04 36441 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36442 variable.
36443 * include/grub/i386/loader.h: Change declaration of
36444 grub_linux_boot() to match what grub_loader_set() expects.
36445 * util/getroot.c (grub_guess_root_device): Return const char* to
36446 fix a warning.
36447 * util/grub-probe.c (probe): Fix a warning about uninitialized
36448 abstraction_name variable.
36449 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36450 second argument as unused to fix a warning.
36451
9a3f3296 36452 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36453 missing grub_error() call.
36454
0ecef90d 36455 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36456 2.60 and newer uses it to define datadir.
36457
0bf6d401 36458 * commands/sleep.c: Fix warning about implicit declaration.
36459 * disk/memdisk.c: Likewise.
36460 * loader/aout.c: Likewise.
36461 * loader/i386/bsd_normal.c: Likewise.
36462 * util/grub-probe.c: Likewise.
36463
7cdacf97 36464 * commands/i386/cpuid.c (has_longmode): Make static.
36465 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36466 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36467
17c74c21 36468 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36469 GDT. This is more robust, as %ds can change.
36470 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36471 calling real_to_prot().
36472 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36473
80a3e68b 364742008-03-28 Pavel Roskin <proski@gnu.org>
36475
36476 * kern/i386/pc/startup.S: Assert that uncompressed functions
36477 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36478 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36479 code, as they push parts of the code (error handlers) beyond
36480 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36481 code as correctness and size.
36482
77bcd272 364832008-03-28 Pavel Roskin <proski@gnu.org>
36484
36485 * kern/i386/pc/startup.S
36486 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36487 data block address to the real mode, keep offset minimal. This
36488 works around a bug in AWARD BIOS on old Athlon systems, which
36489 makes CD detection hang.
36490
c5dfd43b 364912008-03-26 Pavel Roskin <proski@gnu.org>
36492
36493 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36494 const.
36495 * include/grub/normal.h: Add grub_parse_color_name_pair()
36496 declaration.
36497
bf962df2 364982008-03-24 Bean <bean123ch@gmail.com>
36499
36500 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36501 (cd_count): Removed.
36502 (cd_drive): New variable.
36503 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36504 (grub_biosdisk_call_hook): Likewise.
36505 (grub_biosdisk_iterate): Change cdrom detection method.
36506 (grub_biosdisk_open): Replace cd_start with cd_drive.
36507 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36508 detect cdrom device.
36509
36510 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36511 Removed.
36512 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36513 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36514 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36515 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36516 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36517 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36518 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36519 (grub_biosdisk_cdrp): New structure.
36520 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36521
36522 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
36523
36524 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
36525 device.
36526
36527 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
36528 New function.
36529
68e7fc7a 365302008-03-20 Robert Millan <rmh@aybabtu.com>
36531
36532 Remove 2 TiB limit in ata.mod.
36533 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
36534 (grub_ata_dumpinfo): Print sector count with 0x%llx.
36535 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
36536 grub_uint64_t instead of grub_uint32_t.
36537
38ad2cf5 365382008-03-05 Bean <bean123ch@gmail.com>
36539
36540 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
36541 (grub_multiboot): Set boot device.
36542
36543 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
36544
2b89344e 365452008-03-02 Bean <bean123ch@gmail.com>
36546
36547 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
36548 symlink_buffer.
36549
87a95d1f 365502008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
36551
36552 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
36553 texinfo.tex.
36554
36555 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
36556 modified.
36557
36558 * docs/fdl.texi: New file.
f19dbdb7 36559
87a95d1f 36560 * docs/mdate-sh: New file. Copied from gnulib.
36561 * docs/texinfo.tex: Likewise.
36562
36563 * config.guess: Updated from gnulib.
36564 * install-sh: Likewise.
36565
7dc15d8e 365662008-02-28 Robert Millan <rmh@aybabtu.com>
36567
36568 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
36569 (aout_mod_SOURCES): New variable.
36570 (aout_mod_CFLAGS): Likewise.
36571 (aout_mod_LDFLAGS): Likewise.
36572
36573 * conf/i386-ieee1275.rmk: Likewise.
36574
b00ab696 365752008-02-28 Robert Millan <rmh@aybabtu.com>
36576
36577 * util/update-grub.in: Reorganise terminal validity check. Accept
36578 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
36579 Based on suggestion by Franklin PIAT.
36580
79ca2d78 365812008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
36582
36583 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
36584 function.
36585 * util/getroot.c (grub_util_check_block_device): New function that
36586 returns the given argument if it is a block device and returns NULL else.
36587 * util/grub-probe.c (argument_is_device): New variable.
36588 (probe): Promote device_name from a variable to an argument. Receive
36589 device_name from grub_util_check_block_device() if path is NULL and from
36590 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 36591 (options): Introduce new parameter '-d, --device'.
79ca2d78 36592 (main): Add description of the new parameter to the help screen.
36593 Rename path variable to argument. Set argument_is_device if the '-d'
36594 option is given. Pass argument to probe() depending on
36595 argument_is_device.
36596
0d16e571 365972008-02-24 Bean <bean123ch@gmail.com>
36598
36599 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
36600 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
36601 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
36602 (GRUB_ISO9660_VOLDESC_PART): Likewise.
36603 (GRUB_ISO9660_VOLDESC_END): Likewise.
36604 (grub_iso9660_primary_voldesc): New member escape.
36605 (grub_iso9660_data): New member joliet.
36606 (grub_iso9660_convert_string): New function.
36607 (grub_iso9660_mount): Detect joliet extension.
36608 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
36609 (grub_iso9660_iso9660_label): Likewise.
36610
36611 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
36612 (grub_setup_SOURCES): Add fs/udf.c.
36613 (grub_fstest_SOURCES): Likewise.
36614 (udf_mod_SOURCES): New variable.
36615 (udf_mod_CFLAGS): Likewise.
36616 (udf_mod_LDFLAGS): Likewise.
36617
36618 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
36619 (grub_emu_SOURCES): Likewise.
36620
36621 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36622
36623 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36624
36625 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36626
36627 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36628
36629 * fs/udf.c: New file.
36630
8a594a17 366312008-02-24 Robert Millan <rmh@aybabtu.com>
36632
36633 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
36634 (normal/lexer.c_DEPENDENCIES): New variables.
36635 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36636 (normal/lexer.c_DEPENDENCIES): Likewise.
36637 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
36638 (normal/lexer.c_DEPENDENCIES): Likewise.
36639 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
36640 (normal/lexer.c_DEPENDENCIES): Likewise.
36641 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36642 (normal/lexer.c_DEPENDENCIES): Likewise.
36643 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36644 (normal/lexer.c_DEPENDENCIES): Likewise.
36645
2dc33c03 366462008-02-23 Robert Millan <rmh@aybabtu.com>
36647
36648 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
36649 since they were intended to be in hex. This didn't break previously
36650 because of a bug in gpt_partition_map_iterate() (see below).
36651
36652 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
36653 when checking the validity of GPT header.
36654 Remove `partno', since it always provides the same information as `i'.
36655
f6f4cfb0 366562008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
36657
36658 * include/grub/efi/time.h: Fix a wrong comment.
36659
79ff665f 366602008-02-19 Pavel Roskin <proski@gnu.org>
36661
36662 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
36663 message.
36664
d38e24c2 366652008-02-19 Bean <bean123ch@gmail.com>
36666
36667 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
36668 (aout_mod_SOURCES): New variable.
36669 (aout_mod_CFLAGS): Likewise.
36670 (aout_mod_LDFLAGS): Likewise.
36671 (_bsd_mod_SOURCES): New variable.
36672 (_bsd_mod_CFLAGS): Likewise.
36673 (_bsd_mod_LDFLAGS): Likewise.
36674 (bsd_mod_SOURCES): New variable.
36675 (bsd_mod_CFLAGS): Likewise.
36676 (bsd_mod_LDFLAGS): Likewise.
36677
36678 * include/grub/aout.h: New file.
36679
36680 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
36681
36682 * include/grub/i386/bsd.h: New file.
36683
36684 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
36685 to make it public.
36686
36687 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
36688 function is called, so that it's possible to change it inside the hook.
36689 (grub_elf64_load): Likewise.
36690 (grub_elf_file): Don't close the file if elf header is not found.
36691 (grub_elf_close): Close the file if grub_elf_file fails (The new
36692 grub_elf_file won't close it).
36693 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
36694 (grub_elf64_size): Likewise.
36695
36696 * kern/i386/loader.S (grub_unix_real_boot): New function.
36697
36698 * loader/aout.c: New file.
36699
36700 * loader/i386/bsd.c: New file.
36701
36702 * loader/i386/bsd_normal.c: New file.
36703
36704 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
36705
36706 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 36707 can test other formats.
d38e24c2 36708
b93bdb0f 367092008-02-19 Robert Millan <rmh@aybabtu.com>
36710
36711 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
36712 (grub_gpt_partition_type_empty): Redefine with macro from
36713 `<grub/gpt_partition.h>'.
36714 (gpt_partition_map_iterate): Adjust partition type comparison.
36715
36716 Export `entry' as partmap-specific `part.data' struct.
36717 (grub_gpt_header, grub_gpt_partentry): Move from here ...
36718
36719 * include/grub/gpt_partition.h (grub_gpt_header)
36720 (grub_gpt_partentry): ... to here (new file).
36721
36722 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
36723
36724 (grub_gpt_partition_type_bios_boot): New const variable, defined
36725 with macro from `<grub/gpt_partition.h>'.
36726
36727 (setup): Replace `first_start' with `embed_region', which keeps
36728 track of the embed region (and is partmap-agnostic).
36729
36730 Replace find_first_partition_start() with find_usable_region(),
36731 which finds a usable region for embedding using partmap-specific
36732 knowledge (supports PC/MSDOS and GPT).
36733
36734 Fix all assumptions that the embed region start at sector 1, using
36735 `embed_region.start' from now on. Similarly, use `embed_region.end'
36736 rather than `first_start' to calculate available size.
36737
36738 In grub_util_info() message, replace "into after the MBR" with an
36739 indication of the specific sector our embed region starts at.
36740
66cb40f6 367412008-02-19 Robert Millan <rmh@aybabtu.com>
36742
36743 * DISTLIST: Replace `commands/ieee1275/halt.c' and
36744 `commands/ieee1275/reboot.c' with `commands/halt.c' and
36745 `commands/reboot.c'.
36746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36747 (halt_mod_SOURCES): Likewise.
36748 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36749 (halt_mod_SOURCES): Likewise.
36750
b7202015 367512008-02-17 Christian Franke <franke@computer.org>
36752
36753 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
36754
32b0fc49 367552008-02-17 Robert Millan <rmh@aybabtu.com>
36756
36757 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36758 set `first_start' to 0 for non-PC/MSDOS partition maps.
36759
aca63502 367602008-02-16 Robert Millan <rmh@aybabtu.com>
36761
36762 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36763 do not assume partition map is PC/MSDOS before performing checks that
36764 are specific to that layout.
36765
0de8be86 367662008-02-13 Robert Millan <rmh@aybabtu.com>
36767
36768 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
36769 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
36770 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
36771
c3db8364 367722008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
36773
36774 * configure.ac: Only a cosmetic change on the handling of
36775 -fno-stack-protector.
36776
f714229e 367772008-02-12 Alexandre Boeglin <alex@boeglin.org>
36778
c3db8364 36779 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
36780 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
36781 reboot.c.
f714229e 36782 (grub_install_SOURCES): Add halt.mod and reboot.mod.
36783 (halt_mod_SOURCES): New variable.
36784 (halt_mod_CFLAGS): Likewise.
36785 (halt_mod_LDFLAGS): Likewise.
36786 (reboot_mod_SOURCES): Likewise.
36787 (reboot_mod_CFLAGS): Likewise.
36788 (reboot_mod_LDFLAGS): Likewise.
36789
c3db8364 36790 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
36791 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
36792 reboot.c.
f714229e 36793 (halt_mod_SOURCES): Likewise.
36794 (reboot_mod_SOURCES): Likewise.
36795
c3db8364 36796 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
36797 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 36798 (reboot_mod_SOURCES): Likewise.
36799
36800 * commands/i386/pc/reboot.c: merge this file ...
36801
36802 * commands/ieee1275/reboot.c: ... and this file ...
36803
36804 * commands/reboot.c: ... to this file.
c3db8364 36805 Add some precompiler directive to include the correct header for
36806 each machine.
f714229e 36807
36808 * commands/ieee1275/halt.c: move this file ...
36809
36810 * commands/halt.c: ... to here.
c3db8364 36811 Add some precompiler directive to include the correct header for
36812 each machine.
f714229e 36813
36814 * include/grub/efi/efi.h (grub_reboot): New function declaration.
36815 (grub_halt): Likewise.
36816
36817 * kern/efi/efi.c (grub_reboot): New function.
36818 (grub_halt): Likewise.
36819
c74493e0 368202008-02-12 Robert Millan <rmh@aybabtu.com>
36821
36822 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
36823 /dev (like it is done for /dev/mapper). This doesn't provide support
36824 for EVMS, but at least it is now easy to identify the problem when it
36825 arises.
36826
d0db4b04 368272008-02-11 Robert Millan <rmh@aybabtu.com>
36828
36829 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
36830 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
36831 comparing it with -1, not 0.
36832
bf748642 368332008-02-10 Robert Millan <rmh@aybabtu.com>
36834
36835 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
36836 `disk/lvm.c'.
36837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36838 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
36839
36840 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
36841 `disk/lvm.c' to the end of the list.
36842 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36843 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36844
b5db202a 368452008-02-10 Robert Millan <rmh@aybabtu.com>
36846
36847 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
36848 grub_print_error() instead. This will let user know why we're entering
36849 rescue mode.
36850 Based on suggestions from Sam Morris.
36851
83abee31 368522008-02-10 Alexandre Boeglin <alex@boeglin.org>
36853
36854 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
36855 on remaining N args, instead of "--" arg N times.
36856
78d5a08b 368572008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
36858
36859 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
36860 (fill_with_default_glyph): Changed to use unknown_glyph for fill
36861 pattern for unknown glyphs.
36862
68807e5f 368632008-02-09 Robert Millan <rmh@aybabtu.com>
36864
36865 * configure.ac: Probe for `help2man'.
36866 * Makefile.in (builddir): New variable.
36867 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
36868 or otherwise add a few flags/options to it.
36869 (install-local): For every executable utility or script that is
36870 installed, invoke $(HELP2MAN) to install a manpage based on --help
36871 output.
36872
36873 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
36874 that it doesn't prevent --help from working in build tree.
36875
36876 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
36877 with `bug-grub@gnu.org'.
36878 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
36879 * util/update-grub.in (usage): New function.
36880 Implement proper argument check, with support for --help and --version
36881 (as well as existing -y).
36882
368832008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 36884
36885 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
36886 avoid overwriting previous output.
36887 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
36888
c1962162 368892008-02-09 Robert Millan <rmh@aybabtu.com>
36890
36891 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
36892 drawing the menu.
36893
3dac2e3f 368942008-02-09 Robert Millan <rmh@aybabtu.com>
36895
36896 * commands/sleep.c: New file.
36897 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
36898 (sleep_mod_SOURCES): New variable.
36899 (sleep_mod_CFLAGS): Likewise.
36900 (sleep_mod_LDFLAGS): Likewise.
36901
7a634e08 369022008-02-09 Robert Millan <rmh@aybabtu.com>
36903
36904 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
36905 situations in which we can deduce the RAID size and the superblock
36906 doesn't match it.
36907
b92f0c18 369082008-02-09 Robert Millan <rmh@aybabtu.com>
36909
36910 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
36911 and return a grub_diskmemberlist_t composed of LVM physical volumes.
36912 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
36913
36914 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
36915 and return a grub_diskmemberlist_t composed of physical array members.
36916 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
36917
36918 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
36919 prototype.
36920 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
36921 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
36922 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
36923
36924 * util/grub-probe.c (probe): Move partmap probing code from here ...
36925 (probe_partmap): ... to here.
36926 (probe): Use probe_partmap() once for the disk we're probing, and
36927 additionally, when such disk contains a memberlist() struct member,
36928 once for each disk that is contained in the structure returned by
36929 memberlist().
36930
91a4bf68 369312008-02-09 Robert Millan <rmh@aybabtu.com>
36932
36933 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
36934 environment variable to 'all' in order to obtain debug output from
36935 non-util/ code.
36936 * util/i386/pc/grub-setup.c (main): Likewise.
36937
a96f9caa 369382008-02-08 Robert Millan <rmh@aybabtu.com>
36939
36940 * disk/raid.c (grub_raid_scan_device): Check for
36941 `array->device[sb.this_disk.number]' rather than for
36942 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 36943 guaranteed to be accessible.
a96f9caa 36944
b37a9222 369452008-02-08 Robert Millan <rmh@aybabtu.com>
36946
36947 * disk/raid.c: Update copyright.
36948 * fs/cpio.c: Likewise.
36949 * include/grub/raid.h: Likewise.
36950 * loader/i386/pc/multiboot.c: Likewise.
36951 * util/hostfs.c: Likewise.
36952
5626aee1 369532008-02-08 Robert Millan <rmh@aybabtu.com>
36954
36955 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
36956 to a grub_disk_t array.
36957 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
36958 `device[x]'.
36959 (grub_raid_scan_device): Replace `device[x].name' accesses with
36960 `device[x]->name'. Simplify initialization of `array->device[x]'.
36961
554f0187 369622008-02-08 Robert Millan <rmh@aybabtu.com>
36963
36964 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
36965 grub_dprintf() calls.
36966 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
36967 error message.
36968
1ec8425d 369692008-02-07 Christian Franke <franke@computer.org>
36970
36971 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
36972 instead of fseek and ftell to support large files.
36973 (grub_hostfs_read): Likewise.
36974
f2156fda 369752008-02-07 Robert Millan <rmh@aybabtu.com>
36976
36977 Patch from Jeroen Dekkers.
36978 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 36979 failure, since successfully reading all array members might not be
f2156fda 36980 required.
36981
9216e0e7 369822008-02-06 Robert Millan <rmh@aybabtu.com>
36983
36984 * util/grub-probe.c (probe): Simplify partmap probing (with the
36985 assumption that the first word up to the underscore equals to
36986 the module name).
36987
b0dfd29a 369882008-02-06 Christian Franke <franke@computer.org>
36989
36990 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
36991 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
36992 last block of a cpio or tar stream.
36993 Check for "TRAILER!!!" instead of any empty data
36994 block to detect last block of a cpio stream.
36995 (grub_cpio_dir): Fix constness of variable np.
36996 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
36997 cpio or tar trailer is detected. This fixes a crash
36998 on open of a non existing file.
36999
c32865bf 370002008-02-05 Bean <bean123ch@gmail.com>
37001
37002 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37003 address of entry.
37004 (grub_multiboot_load_elf64): Likewise.
37005 (grub_multiboot): Initialize mbi structure.
37006
37007 * util/grub-fstest.c: Don't include unused header file script.h.
37008
fe6b695a 37009 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 37010 of file.
37011 (grub_fstest_SOURCES): Likewise.
37012
409480b7 370132008-02-05 Robert Millan <rmh@aybabtu.com>
37014
37015 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37016 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37017 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37018 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37019
37020 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37021 (translation_table): Replace hardcoded values with macros
37022 provided by `<grub/term.h>'.
37023
37024 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37025 (keyboard_map): Correct/add a few values, with macros provided
37026 by `<grub/term.h>'.
37027 (keyboard_map_shift): Zero values that don't differ from their
37028 `keyboard_map' equivalents.
37029 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37030 Discard the second scan code that is always sent by Caps lock.
37031 Only use `keyboard_map_shift' when it provides a non-zero value,
37032 otherwise fallback to `keyboard_map'.
37033
99fadbaa 370342008-02-04 Bean <bean123ch@gmail.com>
37035
37036 * Makefile.in (enable_grub_fstest): New variable.
37037
37038 * conf/common.rmk (grub_fstest_init.lst): New rule.
37039 (grub_fstest_init.h): Likewise.
37040 (grub_fstest_init.c): Likewise.
37041 (util/grub-fstest.c_DEPENDENCIES): New variable.
37042 (grub_fstest_SOURCES): Likewise.
37043
37044 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37045
37046 * util/grub-fstest.c: New file.
37047
bf567c50 370482008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37049
37050 Make grub-setup handle a separate root device.
f19dbdb7 37051
bf567c50 37052 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37053 so that the root device can be compared with the destination
37054 device.
37055 When embedding the core image, if the root and destination devices
37056 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37057 0xFF.
37058 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 37059
9be6b98b 370602008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37061
37062 Add support for having a grub directory in a different drive. This
37063 is still only the data handling part.
f19dbdb7 37064
9be6b98b 37065 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37066 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37067 (grub_root_drive): New variable.
37068
37069 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37070 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37071 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37072 as it was.
37073
37074 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37075
37076 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37077 macro.
37078 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37079
37080 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37081 is bogus, because PXE booting does not specify any drive
37082 correctly.
37083
37084 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37085 am not sure if this is really correct.
37086
37087 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37088 is always identical to the boot drive when booting from a CD.
37089
37090 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37091 longer.
37092 (root_drive): New variable.
37093 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37094 (setup_sectors): Push %dx right after popping it, because %dh will
37095 be modified later.
37096 (copy_buffer): Restore %dx.
37097
e0ca0677 370982008-02-03 Robert Millan <rmh@aybabtu.com>
37099
37100 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37101 use `cdboot.img' for cdrom images.
37102
3b3f6629 371032008-02-03 Robert Millan <rmh@aybabtu.com>
37104
37105 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37106 only setup gfxterm when `font' command has succeeded.
37107
d42b3672 371082008-02-03 Robert Millan <rmh@aybabtu.com>
37109
37110 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37111 (grub_rescue_cmd_multiboot_loader)
37112 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37113
fa370ea6 371142008-02-03 Pavel Roskin <proski@gnu.org>
37115
e0c5dacb 37116 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 37117 %edx and %esi from stack only after grub_gate_a20() is called.
37118 grub_gate_a20() clobbers %edx.
37119
f2a76e1d 371202008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37121
37122 * configure.ac (AC_INIT): Bumped to 1.96.
37123
37124 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37125 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37126 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37127 video/readers/png.c.
37128
90fd32d1 371292008-02-03 Bean <bean123ch@gmail.com>
9be665dd 37130
37131 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37132 (cdboot_img_SOURCES): New variable.
37133 (cdboot_img_ASFLAGS): New variable.
37134 (cdboot_img_LDFLAGS): New variable.
37135
37136 * boot/i386/pc/cdboot.S: New file.
37137
37138 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37139 (cd_count): Likewise.
37140 (grub_biosdisk_get_drive): Add support for cd device.
37141 (grub_biosdisk_call_hook): Likewise.
37142 (grub_biosdisk_iterate): Likewise.
37143 (grub_biosdisk_open): Likewise.
37144 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37145 (grub_biosdisk_rw): Support reading from cd device.
37146 (GRUB_MOD_INIT): Iterate cd devices.
37147
37148 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37149 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37150 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37151
37152 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37153
4020aa53 371542008-02-02 Robert Millan <rmh@aybabtu.com>
37155
37156 * commands/read.c: New file.
37157 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37158 (read_mod_SOURCES): New variable.
37159 (read_mod_CFLAGS): Likewise.
37160 (read_mod_LDFLAGS): Likewise.
37161
e03a1132 371622008-02-02 Robert Millan <rmh@aybabtu.com>
37163
37164 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37165 determining whether menu has to be displayed.
37166
58c69220 371672008-02-02 Marco Gerards <marco@gnu.org>
37168
37169 * bus/pci.c: New file.
37170
37171 * include/grub/pci.h: Likewise.
37172
37173 * include/grub/i386/pc/pci.h: Likewise.
37174
37175 * commands/lspci.c: Likewise.
37176
37177 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37178 `lspci.mod'.
37179 (pci_mod_SOURCES): New variable.
37180 (pci_mod_CFLAGS): Likewise.
37181 (pci_mod_LDFLAGS): Likewise.
37182 (lspci_mod_SOURCES): Likewise.
37183 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 37184 (lspci_mod_LDFLAGS): Likewise.
58c69220 37185
c004e1b4 371862008-02-02 Bean <bean123ch@gmail.com>
37187
37188 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37189 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37190
37191 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37192 (grub_xfs_btree_node): New structure.
37193 (grub_xfs_btree_root): New structure.
37194 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37195 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37196 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37197 (GRUB_XFS_EXTENT_SIZE): Likewise.
37198 (grub_xfs_read_block): Support btree format type.
37199 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37200 Use directory block as basic unit.
37201
37202 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37203
37204 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37205 __attribute__ ((__regparm__ (1))).
37206
f95562bf 372072008-02-01 Robert Millan <rmh@aybabtu.com>
37208
37209 Correct a mistake in previous commit.
37210
37211 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37212 top.
37213 (normal/command.c_DEPENDENCIES): New variable.
37214
7d31f41f 372152008-02-01 Robert Millan <rmh@aybabtu.com>
37216
37217 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37218 top.
37219 (normal/command.c_DEPENDENCIES): New variable.
37220 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37221 * conf/i386-ieee1275.rmk: Likewise.
37222 * conf/i386-linuxbios.rmk: Likewise.
37223 * conf/i386-pc.rmk: Likewise.
37224 * conf/sparc64-ieee1275.rmk: Likewise.
37225 * conf/powerpc-ieee1275.rmk: Likewise.
37226 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37227
37228 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37229
60b6be74 372302008-02-01 Robert Millan <rmh@aybabtu.com>
37231
37232 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37233 call at beginning of function.
37234
078522ab 372352008-01-31 Pavel Roskin <proski@gnu.org>
37236
37237 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 37238 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37239 (grub_mkrescue_SOURCES): Likewise.
078522ab 37240 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37241
ccaa8a5f 372422008-01-30 Robert Millan <rmh@aybabtu.com>
37243
37244 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37245 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37246 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37247 (grub_probe_SOURCES): ... to here.
37248
37249 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37250 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37251 * conf/i386-ieee1275.rmk: Likewise.
37252 * conf/i386-linuxbios.rmk: Likewise.
37253 * conf/powerpc-ieee1275.rmk: Likewise.
37254
ae5a9cd7 372552008-01-30 Tristan Gingold <gingold@free.fr>
37256
37257 * kern/rescue.c: Silently accept empty lines.
37258
70bc2ef2 372592008-01-29 Bean <bean123ch@gmail.com>
37260
37261 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37262 (real_code_2): Code cleanup and change comment style.
37263 (move_memory): Avoid using 32-bit address mode.
37264
6a4d50ea 372652008-01-29 Bean <bean123ch@gmail.com>
37266
37267 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37268 (png_mod_SOURCES): New variable.
37269 (png_mod_CFLAGS): Likewise.
37270 (png_mod_LDFLAGS): Likewise.
37271
37272 * video/readers/png.c: New file.
37273
11cc30ac 372742008-01-28 Robert Millan <rmh@aybabtu.com>
37275
37276 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37277 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37278 `ifndef GRUB_MOD_GAP' hack.
37279 * util/elf/grub-mkimage.c (add_segments): Likewise.
37280
3abc589f 372812008-01-27 Robert Millan <rmh@aybabtu.com>
37282
37283 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37284 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 37285 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 37286
e1907778 372872008-01-27 Robert Millan <rmh@aybabtu.com>
37288
37289 Get grub-emu to build again (including parallel builds).
37290
37291 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37292 Split into ...
37293 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37294 (normal/execute.c_DEPENDENCIES): ... this, ...
37295 (grub-emu_DEPENDENCIES): ... and this.
37296
37297 * conf/i386-efi.rmk: Likewise.
37298 * conf/i386-linuxbios.rmk: Likewise.
37299 * conf/i386-ieee1275.rmk: Likewise.
37300 * conf/powerpc-ieee1275.rmk: Likewise.
37301 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37302
2216b101 373032008-01-27 Robert Millan <rmh@aybabtu.com>
37304
37305 * NEWS: Add a few items.
37306
f75172d9 373072008-01-27 Robert Millan <rmh@aybabtu.com>
37308
37309 Fix parallel builds with grub-emu. Based on earlier commit for
37310 grub-probe and grub-setup.
37311
37312 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37313 (util/grub-emu.c_DEPENDENCIES): ... this.
37314 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37315 (util/grub-emu.c_DEPENDENCIES): ... this.
37316 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37317 (util/grub-emu.c_DEPENDENCIES): ... this.
37318 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37319 (util/grub-emu.c_DEPENDENCIES): ... this.
37320 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37321 (util/grub-emu.c_DEPENDENCIES): ... this.
37322
3f51de77 373232008-01-27 Pavel Roskin <proski@gnu.org>
37324
37325 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37326 to create a gap between _end and the modules added to the image
37327 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37328 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37329 * util/elf/grub-mkimage.c (add_segments): Likewise.
37330
2033f53e 373312008-01-26 Pavel Roskin <proski@gnu.org>
37332
37333 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37334 just return an error.
37335
22da1f6f 373362008-01-26 Bean <bean123ch@gmail.com>
37337
37338 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37339 (grub_reiserfs_get_item): Save offset of the next item.
37340 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37341
2a9525e6 373422008-01-25 Robert Millan <rmh@aybabtu.com>
37343
37344 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37345 make all filesystem sources appear together (possibly fixing omissions
37346 while at it).
37347 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37348 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37349 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37350 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37351
37352 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37353 add `kern/file.c'.
37354 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37355 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37356 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37357 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37358
37359 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37360 (probe): Add a sanity check to make sure of our ability to read
37361 requested files when probing for filesystem type.
37362
37363 * genmk.rb: Update copyright year (2007).
37364
37365 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37366 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37367 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37368 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37369 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37370 : Remove function prototypes.
37371
b95f71b5 373722008-01-25 Robert Millan <rmh@aybabtu.com>
37373
37374 Revert my previous commits (based on wrong assumption of how grub_errno
37375 works).
37376
fe6b695a 37377 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 37378 * kern/file.c (grub_file_open): Likewise.
37379
d08bbb49 373802008-01-24 Pavel Roskin <proski@gnu.org>
37381
37382 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37383 that hang if GRUB tries to setup colors.
37384 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37385 colors for firmwares that don't support it.
37386 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37387 Recognize Open Hack'Ware, set flags to work around its
37388 limitations.
37389
605e36ed 373902008-01-24 Robert Millan <rmh@aybabtu.com>
37391
37392 * kern/file.c (grub_file_open): Do not account previous failures of
37393 unrelated functions when grub_errno is checked for.
37394 Reported by Oleg Strikov.
37395
bac332a1 373962008-01-24 Bean <bean123ch@gmail.com>
37397
37398 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37399 (grub_ufs_sblock): New member volume name.
37400 (grub_ufs_find_file): Fix string copy bug.
37401 (grub_ufs_label): Implement this function properly.
37402
37403 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37404 (grub_hfs_iterate_records): Use the correct file number for extents
37405 and catalog file. Fix problem in next index calculation.
37406 (grub_hfs_find_node): Replace recursive function call with loop.
37407 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37408
15c80c09 374092008-01-23 Robert Millan <rmh@aybabtu.com>
37410
37411 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37412 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37413 (grub_multiboot2_real_boot): New function prototype.
37414
37415 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37416 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37417
37418 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37419 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37420
305338fd 374212008-01-23 Robert Millan <rmh@aybabtu.com>
37422
37423 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37424 #ifdef'ed out grub_printf().
37425
3ea52685 374262008-01-23 Robert Millan <rmh@aybabtu.com>
37427
37428 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37429 grub_dprintf calls, since they make "debug=all" mode unusable.
37430 (grub_console_checkkey): Likewise.
37431
5882ae4b 374322008-01-23 Robert Millan <rmh@aybabtu.com>
37433
37434 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37435 `term/i386/pc/at_keyboard.c'.
37436 (pkglib_MODULES): Add `serial.mod'.
37437 (serial_mod_SOURCES): New variable.
37438 (serial_mod_CFLAGS): Likewise.
37439 (serial_mod_LDFLAGS): Likewise.
37440
37441 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37442 `<grub/powerpc/ieee1275/console.h>'.
37443 (grub_keyboard_controller_init): New function prototype.
37444 (grub_console_checkkey): Likewise.
37445 (grub_console_getkey): Likewise.
37446
37447 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37448 keyboard on i386.
37449
37450 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37451 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37452
06ab5303 374532008-01-23 Robert Millan <rmh@aybabtu.com>
37454
37455 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37456 present, "(memdisk)/boot/grub" becomes the default prefix.
37457
37458 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37459 a memdisk tarball with all the modules. Add --overlay=DIR option that
37460 allows users to overlay additional files into the image.
37461
dbb475a4 374622008-01-23 Robert Millan <rmh@aybabtu.com>
37463
37464 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37465 and `machine/memory.h'.
37466 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37467 (_multiboot_mod_SOURCES): New variable.
37468 (_multiboot_mod_CFLAGS): Likewise.
37469 (_multiboot_mod_LDFLAGS): Likewise.
37470 (multiboot_mod_SOURCES): Likewise.
37471 (multiboot_mod_CFLAGS): Likewise.
37472 (multiboot_mod_LDFLAGS): Likewise.
37473
37474 * include/grub/i386/ieee1275/loader.h: New file.
37475
37476 * include/grub/i386/ieee1275/machine.h: Likewise.
37477
37478 * include/grub/i386/ieee1275/memory.h: Likewise.
37479
37480 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37481 variable declaration.
37482 (grub_os_area_size): Likewise.
37483
37484 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37485 (grub_lower_mem, grub_upper_mem): New variables.
37486 (grub_stop_floppy): New function (just to make
37487 grub_multiboot2_real_boot() happy).
37488
37489 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37490 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37491 (grub_stop): New function.
37492 Include `"../realmode.S"' and `"../loader.S"'.
37493
37494 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37495 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37496
37497 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37498 rely on grub_multiboot2_real_boot() for final boot.
37499
25638629 375002008-01-22 Robert Millan <rmh@aybabtu.com>
37501
37502 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37503 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37504 device that doesn't look like an SD card.
37505 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37506 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37507 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37508 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37509 found.
37510
9dad816d 375112008-01-22 Robert Millan <rmh@aybabtu.com>
37512
37513 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37514 avoid claiming over our own code.
37515
34842f2d 375162008-01-22 Bean <bean123ch@gmail.com>
37517
37518 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37519 (jpeg_mod_SOURCES): New variable.
37520 (jpeg_mod_CFLAGS): Likewise.
37521 (jpeg_mod_LDFLAGS): Likewise.
37522
37523 * video/readers/jpeg.c : New file.
37524
44023a28 375252008-01-22 Bean <bean123ch@gmail.com>
37526
37527 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
37528 there are no more items.
37529
bc2d8ac6 375302008-01-21 Robert Millan <rmh@aybabtu.com>
37531
37532 * kern/mm.c (grub_mm_init_region): Improve debug message.
37533
261bd4bc 375342008-01-21 Robert Millan <rmh@aybabtu.com>
37535
37536 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
37537 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
37538 address.
37539 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
37540 a C macro.
37541 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
37542 Indicates start of upper memory.
37543 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
37544 (generate_image): Abort when image size is big enough to corrupt
37545 upper memory.
37546
37547 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
37548 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
37549 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37550 instead of hardcoding 0xA0000.
37551 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
37552 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37553 instead of hardcoding 0xA0000.
37554
f970b55e 375552008-01-21 Robert Millan <rmh@aybabtu.com>
37556
37557 * disk/memdisk.c (memdisk_size): New variable.
37558 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
37559 `memdisk_size'.
37560 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
37561 image to dynamic memory.
37562 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
37563 `memdisk_size'. Free memdisk block.
37564
1a8b0526 375652008-01-21 Robert Millan <rmh@aybabtu.com>
37566
37567 Fix detection of very small filesystems (like tar).
37568
37569 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
37570 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
37571 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
37572 a problem with this disk).
37573
6e9b4aab 375742008-01-21 Robert Millan <rmh@aybabtu.com>
37575
37576 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
37577 on grub_biosdisk_rw_standard() error.
37578
0d8837b2 375792008-01-21 Robert Millan <rmh@aybabtu.com>
37580
37581 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
37582 recent changes.
37583 * kern/elf.c: Likewise.
37584 * kern/ieee1275/ieee1275.c: Likewise.
37585 * kern/powerpc/ieee1275/openfw.c: Likewise.
37586 * term/ieee1275/ofconsole.c: Likewise.
37587
ffd36e34 375882008-01-21 Robert Millan <rmh@aybabtu.com>
37589
37590 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
37591
3f0093d0 37592 * include/grub/kernel.h (grub_arch_memdisk_addr)
37593 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 37594
3f0093d0 37595 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
37596 (grub_arch_memdisk_size): ... to here.
ffd36e34 37597
6c391b21 375982008-01-21 Robert Millan <rmh@aybabtu.com>
37599
37600 Mostly based on bugfix from Bean.
37601
37602 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
37603 attribute with hook() parameter.
37604 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
37605 declaration.
37606 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
37607 attribute with hook() parameter.
37608 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
37609 declaration.
37610
55a581dc 376112008-01-21 Robert Millan <rmh@aybabtu.com>
37612
37613 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
37614 (pkglib_MODULES): Add `memdisk.mod'.
37615 (memdisk_mod_SOURCES): New variable.
37616 (memdisk_mod_CFLAGS): Likewise.
37617 (memdisk_mod_LDFLAGS): Likewise.
37618
37619 * disk/memdisk.c: New file.
37620
37621 * include/grub/disk.h (grub_disk_dev_id): Add
37622 `GRUB_DISK_DEVICE_MEMDISK_ID'.
37623
37624 * include/grub/i386/pc/kernel.h
37625 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
37626 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
37627 (grub_kernel_image_size): New variable declaration.
37628 (grub_total_module_size): Likewise.
37629 (grub_memdisk_image_size): Likewise.
37630
37631 * include/grub/i386/pc/memory.h
37632 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
37633
37634 * include/grub/kernel.h: Include `<grub/symbol.h>'.
37635 (grub_arch_memdisk_addr): New variable declaration.
37636 (grub_arch_memdisk_size): Likewise.
37637
37638 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
37639 (grub_arch_memdisk_size): Likewise.
37640
37641 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
37642 (codestart): Replace hardcoded `0x100000' with
37643 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
37644
37645 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
37646 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
37647 not NULL, append the contents of the file it refers to, at the end of
37648 the compressed kernel image. Initialize `grub_memdisk_image_size'
37649 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
37650 (options): Add "memdisk"|'m' option.
37651 (main): Parse --memdisk|-m option, and pass user-provided path as
37652 parameter to generate_image().
37653
3d7f54c9 376542008-01-20 Robert Millan <rmh@aybabtu.com>
37655
37656 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
37657 grub_dprintf() calls from here ...
37658 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
37659
0bf74728 376602008-01-20 Robert Millan <rmh@aybabtu.com>
37661
37662 Fix detection of "real mode" when /options/real-mode? doesn't exist.
37663
37664 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
37665 declaration.
37666 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
37667 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
37668 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 37669 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 37670 property).
37671 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
37672 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
37673
33bf70a7 376742008-01-19 Robert Millan <rmh@aybabtu.com>
37675
fe6b695a 37676 Get rid of confusing function (superseded by
33bf70a7 37677 `grub_ieee1275_get_integer_property')
37678 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
37679 prototype.
37680 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
37681 function.
37682 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
37683 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 37684 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 37685
e2da7d26 376862008-01-19 Robert Millan <rmh@aybabtu.com>
37687
37688 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
37689 command after "shut-down", since implementations differ on which
37690 the command for halt is.
37691
59f1fd8d 376922008-01-19 Robert Millan <rmh@aybabtu.com>
37693
37694 * include/grub/i386/linuxbios/console.h: Add header protection.
37695 (grub_keyboard_controller_init): New function prototype.
37696 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
37697 (KEYBOARD_COMMAND_READ): Likewise.
37698 (KEYBOARD_COMMAND_WRITE): Likewise.
37699 (KEYBOARD_SCANCODE_SET1): Likewise.
37700 (grub_keyboard_controller_write): New function.
37701 (grub_keyboard_controller_read): Likewise.
37702 (grub_keyboard_controller_init): Likewise.
37703
37704 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
37705 (grub_console_init): On coreboot/LinuxBIOS, call
37706 grub_keyboard_controller_init().
37707
5f5a7c15 377082008-01-19 Robert Millan <rmh@aybabtu.com>
37709
37710 PowerPC changes provided by Pavel Roskin.
37711
37712 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
37713 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
37714 don't rely on cmain() doing it.
37715 * kern/i386/ieee1275/startup.S (_start): Store %eax in
37716 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
37717
1210e168 377182008-01-16 Robert Millan <rmh@aybabtu.com>
37719
37720 * include/grub/i386/linuxbios/memory.h
37721 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
37722 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
37723 receive `table_header' as argument. Instead, probe for it in the
37724 known memory ranges where it can be present.
37725 (grub_available_iterate): Do not pass a fixed `table_header' address
37726 to grub_linuxbios_table_iterate().
37727
3d04eab8 377282008-01-15 Robert Millan <rmh@aybabtu.com>
37729
37730 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
37731 * conf/i386-ieee1275.rmk: New file.
37732 * include/grub/i386/ieee1275/console.h: Likewise.
37733 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
37734 * include/grub/i386/ieee1275/kernel.h: Likewise.
37735 * include/grub/i386/ieee1275/time.h: Likewise.
37736 * kern/i386/ieee1275/init.c: Likewise.
37737 * kern/i386/ieee1275/startup.S: Likewise.
37738
d1bc1b73 377392008-01-15 Robert Millan <rmh@aybabtu.com>
37740
37741 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
37742 when pointers are 32-bit (but still do set it to one when they are
37743 64-bit).
37744
66a65807 377452008-01-15 Robert Millan <rmh@aybabtu.com>
37746
37747 * include/grub/ieee1275/ieee1275.h
37748 (grub_ieee1275_get_integer_property): New function prototype.
37749
37750 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
37751 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 37752 grub_ieee1275_get_property() to handle endianness.
66a65807 37753
37754 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
37755 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 37756 where appropriate.
66a65807 37757 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
37758 (grub_map): Likewise.
37759 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
37760
a83ccafd 377612008-01-15 Bean <bean123ch@gmail.com>
37762
37763 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
37764 (grub_script_execute_cmdline): Reset grub_errno.
37765
37766 * normal/main.c (read_config_file): Reset grub_errno.
37767
37768 * normal/parse.y (script_init): New.
37769 (script): Move function and menuentry here.
37770 (delimiter): New.
37771 (command): Add delimiter at the end of command.
37772 (commands): Adjust to match the new command.
37773 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 37774 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 37775 (if): Use the new commands.
37776
37777 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
37778
df6ecfc6 377792008-01-15 Robert Millan <rmh@aybabtu.com>
37780
37781 * normal/menu.c (run_menu): Move timeout message from here ...
37782 (print_timeout): ... to here.
37783 (run_menu): Use print_timeout() once during initial draw to print
37784 the whole message, and again in every clock tick to update only
37785 the number of seconds.
37786
87ae25eb 377872008-01-15 Robert Millan <rmh@aybabtu.com>
37788
37789 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
37790 actual size of `available' from grub_ieee1275_get_property(), and
37791 restrict parsing to that bound.
37792
47bf09a4 377932008-01-15 Christian Franke <franke@computer.org>
37794
37795 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
37796 (argp_program_version): Remove variable.
37797 (argp_program_bug_address): Likewise.
37798 (options): Convert from struct argp_option to struct option.
37799 (struct arguments): Remove.
37800 (parse_opt): Remove.
37801 (usage): New function.
37802 (main): Replace struct args members by simple variables.
37803 Replace argp_parse() by getopt_long().
37804 Add switch to evaluate options.
37805 Add missing "(...)" around root_dev in prefix string.
37806
c86f1469 378072008-01-14 Robert Millan <rmh@aybabtu.com>
37808
37809 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
37810 for grub_ieee1275_exit(), in order to improve portability.
37811
e622c559 378122008-01-14 Robert Millan <rmh@aybabtu.com>
37813
37814 * util/grub.d/10_linux.in (prefix): Define.
37815 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
37816
44cb1ec8 378172008-01-13 Pavel Roskin <proski@gnu.org>
37818
37819 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
37820 grub_errno if no errors have been detected.
37821
1eb8c802 378222008-01-12 Robert Millan <rmh@aybabtu.com>
37823
37824 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
37825 (grub_util_get_dev_abstraction): New function prototype.
37826
37827 * util/getroot.c: Include `<grub/util/getroot.h>'
37828 (grub_util_get_grub_dev): Move detection of abstraction type to ...
37829 (grub_util_get_dev_abstraction): ... here (new function).
37830
37831 * util/grub-probe.c: Convert PRINT_* to an enum. Add
37832 `PRINT_ABSTRACTION'.
37833 (probe): Probe for abstraction type when requested.
37834 (main): Understand `--target=abstraction'.
37835
37836 * util/i386/efi/grub-install.in: Add abstraction module to core
37837 image when it is found to be necessary.
37838 * util/i386/pc/grub-install.in: Likewise.
37839 * util/powerpc/ieee1275/grub-install.in: Likewise.
37840
37841 * util/update-grub_lib.in (font_path): Return system path without
37842 converting to GRUB path.
37843 * util/update-grub.in: Convert system path returned by font_path()
37844 to a GRUB path. Use `grub-probe -t abstraction' to determine what
37845 abstraction module is needed for loading fonts (if any). Export
37846 that as `GRUB_PRELOAD_MODULES'.
37847 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
37848 insmod commands).
37849
52bd3de9 378502008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
37851
37852 Remove some unused code from reiserfs.
f19dbdb7 37853
52bd3de9 37854 * fs/reiserfs.c (struct grub_reiserfs_key)
37855 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
37856 (struct grub_reiserfs_node_body): Removed.
37857 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37858 Likewise.
37859 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37860 Likewise.
37861 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37862 Likewise.
37863 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37864 Likewise.
37865 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37866 Likewise.
37867 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
37868 Likewise.
37869 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37870 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37871 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37872
2f80039d 378732008-01-10 Robert Millan <rmh@aybabtu.com>
37874
37875 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
37876 Determines if a file is garbage left by packaging systems, etc.
37877 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
37878 for processing /etc/grub.d scripts.
37879 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
37880 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
37881 as a condition for processing Linux images.
37882
87888032 378832008-01-10 Pavel Roskin <proski@gnu.org>
37884
37885 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
37886 to compile reiserfs.c on PowerPC.
37887
7e54fced 378882008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 37889
37890 * kern/device.c (grub_device_iterate): Do not abort device iteration
37891 when one of the devices cannot be opened.
37892 * kern/disk.c (grub_disk_open): Do not account previous failures of
37893 unrelated functions when grub_errno is checked for.
37894
5aa541e6 378952008-01-08 Robert Millan <rmh@aybabtu.com>
37896
37897 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
37898 `! grub_linux_is_bzimage', change order of address comparison to make
37899 it more intuitive, and improve "too big zImage" error message.
37900
7076340d 379012008-01-08 Robert Millan <rmh@aybabtu.com>
37902
37903 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
37904 `$(update-grub_DATA)'.
37905 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
37906 targets.
37907
9ca70333 379082008-01-07 Robert Millan <rmh@aybabtu.com>
37909
37910 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
37911 which instruction is modified by grub-setup during installation
37912 (since it wasn't obvious by only looking at this file).
37913
38ccf575 379142008-01-07 Robert Millan <rmh@aybabtu.com>
37915
37916 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
37917 listing actual TODO items.
37918
f5db4291 379192008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37920
868967cf 37921 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
37922 correctly.
37923 (grub_reiserfs_get_key_offset): Likewise.
37924 (grub_reiserfs_set_key_offset): Likewise.
37925 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 37926 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 37927
37928 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
37929 better to remove the bitfield version completely.
f19dbdb7 37930
868967cf 379312008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37932
f5db4291 37933 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
37934 allocated from the heap, due to the fshelp implementation.
37935 (grub_reiserfs_dir): Free NODE, due to the same reason.
37936
492e6d9d 379372008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37938
37939 Mostly from Vincent Pelletier:
f19dbdb7 37940
492e6d9d 37941 * fs/reiserfs.c: New file.
f19dbdb7 37942
492e6d9d 37943 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
37944 (reiserfs_mod_SOURCES): New variable.
37945 (reiserfs_mod_CFLAGS): Likewise.
37946 (reiserfs_mod_LDFLAGS): Likewise.
37947
37948 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
37949 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
37950 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
37951 normal/color.c.
37952
9ce3e7c1 379532008-01-06 Robert Millan <rmh@aybabtu.com>
37954
37955 * normal/color.c: Remove `<grub/env.h>'.
37956
f3b58148 379572008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
37958
37959 * include/grub/normal.h: Include <grub/env.h>.
37960
7ac3bcfa 379612008-01-05 Robert Millan <rmh@aybabtu.com>
37962
37963 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
37964 usage example with `(hd0,1)'.
fb358190 37965 Reported by Samuel Thibault.
7ac3bcfa 37966
c8ee99d7 379672008-01-05 Robert Millan <rmh@aybabtu.com>
37968
37969 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
37970 (grub_linux_boot_zimage): Rename to ...
37971 (grub_linux_boot): ... this.
37972 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
37973 (grub_linux_boot_zimage): Conditionalize zImage copy.
37974
37975 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
37976 (grub_linux_boot_bzimage): Remove prototype.
37977 (grub_linux_boot_zimage): Rename to ...
37978 (grub_linux_boot): ... this.
37979
37980 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
37981 (grub_linux_boot): Remove function.
37982
0ece25b1 379832008-01-05 Robert Millan <rmh@aybabtu.com>
37984
37985 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
37986 (grub_env_write_color_highlight): Likewise.
37987 (grub_wait_after_message): Likewise.
37988
37989 * normal/color.c: New file.
37990
37991 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37992 (normal_mod_DEPENDENCIES): Likewise.
37993
37994 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37995 (normal_mod_DEPENDENCIES): Likewise.
37996
37997 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37998 (normal_mod_DEPENDENCIES): Likewise.
37999
38000 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38001 (normal_mod_DEPENDENCIES): Likewise.
38002
38003 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38004 for waiting after a message is printed.
38005 * normal/main.c (read_config_file): Likewise.
38006 (grub_normal_init): Register grub_env_write_color_normal() and
38007 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38008 `color_highlight' variables as global.
38009
38010 * normal/menu.c (grub_wait_after_message): New function.
38011 (grub_color_menu_normal): New variable. Replaces ...
38012 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38013 (grub_color_menu_highlight): New variable. Replaces ...
38014 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38015 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38016 `GRUB_TERM_COLOR_STANDARD'.
38017 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38018 `normal_code' and `highlight_code' to `old_color_normal' and
38019 `old_color_highlight', respectively.
38020 (grub_menu_init_page): Update colors when drawing the menu, based on
38021 `menu_color_normal' and `menu_color_highlight' variables.
38022 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38023 a message is printed.
38024
182dd4e5 380252008-01-05 Robert Millan <rmh@aybabtu.com>
38026
38027 * kern/env.c (grub_env_context_open): Propagate hooks for global
38028 variables to new context.
38029
38030 * kern/main.c (grub_set_root_dev): Export `root' variable.
38031
ddf8f6ad 380322008-01-05 Robert Millan <rmh@aybabtu.com>
38033
38034 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 38035 discs unconditionally, since udev and others have options to provide
ddf8f6ad 38036 them.
38037
d8b43d9b 380382008-01-05 Robert Millan <rmh@aybabtu.com>
38039
38040 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38041
2bff2de3 380422008-01-04 Christian Franke <franke@computer.org>
38043
38044 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38045 of eisa_mmap.
38046
97eab917 380472008-01-03 Pavel Roskin <proski@gnu.org>
38048
38049 * kern/i386/linuxbios/init.c: Put "void" to all function
38050 declarations with no arguments.
38051 * kern/powerpc/ieee1275/init.c: Likewise.
38052 * term/i386/pc/at_keyboard.c: Likewise.
38053 * term/i386/pc/vga_text.c: Likewise.
38054 * util/grub-mkdevicemap.c: Likewise.
38055
b9416d00 380562008-01-02 Robert Millan <rmh@aybabtu.com>
38057
38058 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38059 message when loaded image is out of bounds.
38060 (grub_multiboot_load_elf64): Likewise.
38061
92695df9 380622008-01-02 Pavel Roskin <proski@gnu.org>
38063
38064 * util/grub.d/10_linux.in: Try version without ".old" when
38065 looking for initrd. It's better to use initrd from the newer
38066 kernel of the same version than no initrd at all.
38067
d98d9cad 380682008-01-01 Robert Millan <rmh@aybabtu.com>
38069
38070 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38071
dbfdce36 380722008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38073
f19dbdb7 38074 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 38075 grub_video_get_active_render_target.
38076 (grub_video_adapter): Added unmap_color and get_active_render_target.
38077
f19dbdb7 38078 * video/video.c: Added grub_video_unmap_color and
dbfdce36 38079 grub_video_get_active_render_target.
38080 (grub_video_get_info): Changed method to accept NULL pointer as an
38081 argument to allow detection of active video adapter.
38082
38083 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38084 grub_video_vbe_unmap_color_int.
38085 Added grub_video_vbe_unmap_color and
38086 grub_video_vbe_get_active_render_target.
38087 (grub_video_vbe_adapter): Added unmap_color and
38088 get_active_render_target.
38089
f19dbdb7 38090 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 38091 with grub_video_vbe_unmap_color_int.
38092
38093 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38094 (DEFAULT_NORMAL_COLOR): Likewise.
38095 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38096 (DEFAULT_FG_COLOR): Removed.
38097 (DEFAULT_BG_COLOR): Likewise.
38098 (DEFAULT_CURSOR_COLOR): Changed value.
38099 (grub_virtual_screen): Added standard_color_setting,
38100 normal_color_setting, highlight_color_setting and term_color.
38101 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38102 (bitmap_width): Added.
38103 (bitmap_height): Likewise.
38104 (bitmap): Likewise.
38105 (set_term_color): Likewise.
38106 (grub_virtual_screen_setup): Changed to use new terminal coloring
38107 settings.
38108 (grub_gfxterm_init): Added init for bitmap.
38109 (grub_gfxterm_fini): Added destroy for bitmap.
38110 (redraw_screen_rect): Updated to use background bitmap and new
38111 terminal coloring.
38112 (scroll_up): Added optimization for case when there is no bitmap.
38113 (grub_gfxterm_cls): Fixed to use correct background color.
38114 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38115 coloring.
38116 (grub_virtual_screen_setcolor): Likewise.
38117 (grub_virtual_screen_getcolor): Added.
38118 (grub_gfxterm_background_image_cmd): Likewise.
38119 (grub_video_term): Added setcolor and getcolor.
38120 (MOD_INIT): Added registration of background_image command.
38121 (MOD_TERM): Added unregistration for background_image command.
38122
c3c20931 381232007-12-30 Pavel Roskin <proski@gnu.org>
38124
38125 * loader/multiboot_loader.c: Fix multiboot command
38126 unregistration. Fix all typos in the word "multiboot".
38127
df266716 381282007-12-29 Pavel Roskin <proski@gnu.org>
94239199 38129
38130 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38131 support for initrd names used in Fedora.
38132
fc6e896c 381332007-12-26 Bean <bean123ch@gmail.com>
38134
38135 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38136 (cpio_mod_SOURCES): New variable.
38137 (cpio_mod_CFLAGS): Likewise.
38138 (cpio_mod_LDFLAGS): Likewise.
38139
38140 * fs/cpio.c: New file.
38141
38142 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38143
38144 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38145
38146 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38147
38148 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38149
533110ad 381502007-12-25 Robert Millan <rmh@aybabtu.com>
38151
38152 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38153 (grub_getcolor): New function.
38154
38155 * kern/term.c (grub_getcolor): New function.
38156 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38157 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38158 (print_entry): Set normal and highlight colors to
38159 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38160 respectively, before printing and restore them to old
38161 values afterwards.
38162 (grub_menu_init_page): Likewise. Fill an additional colored space
38163 that would otherwise be left blank.
38164
38165 * term/efi/console.c (grub_console_getcolor): New function.
38166 (struct grub_console_term.getcolor): New variable.
38167 * term/i386/pc/console.c (grub_console_getcolor): New function.
38168 (struct grub_console_term.getcolor): New variable.
38169 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38170 (struct grub_console_term.getcolor): New variable.
38171
38172 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38173 (struct grub_console_term.setcolor): Remove variable.
38174 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38175 (struct grub_console_term.setcolor): Remove variable.
38176 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38177 (struct grub_console_term.setcolor): Remove variable.
38178 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38179 (struct grub_console_term.setcolor): Remove variable.
38180
4931827f 381812007-12-25 Robert Millan <rmh@aybabtu.com>
38182
38183 * configure.ac: Search for possible unifont.hex locations, and
38184 define UNIFONT_HEX if found.
38185
38186 * Makefile.in (UNIFONT_HEX): Define variable.
38187 (DATA): Rename to ...
38188 (PKGLIB): ... this. Update all users.
38189 (PKGDATA): New variable.
38190 (pkgdata_IMAGES): Rename to ...
38191 (pkglib_IMAGES): ... this. Update all users.
38192 (pkgdata_MODULES): Rename to ...
38193 (pkglib_MODULES): ... this. Update all users.
38194 (pkgdata_PROGRAMS): Rename to ...
38195 (pkglib_PROGRAMS): ... this. Update all users.
38196 (pkgdata_DATA): Rename to ...
38197 (pkglib_DATA): ... this. Update all users.
38198 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38199 (unicode.pff, ascii.pff): New rules.
38200 (all-local): Add `$(PKGDATA)' dependency.
38201 (install-local): Process `$(PKGDATA)'.
38202
38203 * util/update-grub_lib.in (font_path): Search for *.pff files in
38204 a few more locations, including `${pkgdata}'.
38205
57e57e31 382062007-12-23 Robert Millan <rmh@aybabtu.com>
38207
38208 Patch from Bean <bean123ch@gmail.com>:
38209 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38210 `size'.
38211
4bc72aa9 382122007-12-21 Bean <bean123ch@gmail.com>
38213
38214 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38215 (ntfscomp_mod_SOURCES): New variable.
38216 (ntfscomp_mod_CFLAGS): Likewise.
38217 (ntfscomp_mod_LDFLAGS): Likewise.
38218
38219 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38220 (grub_probe_SOURCES): Likewise.
38221 (grub_emu_SOURCES): Likewise.
38222
38223 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38224 (grub_emu_SOURCES): Likewise.
38225
38226 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38227 (grub_emu_SOURCES): Likewise.
38228
38229 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38230 (grub_emu_SOURCES): Likewise.
38231
38232 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38233 (read_run_list): Renamed to grub_ntfs_read_run_list.
38234 (decomp_nextvcn): Moved to ntfscomp.c.
38235 (decomp_getch): Likewise.
38236 (decomp_get16): Likewise.
38237 (decomp_block): Likewise.
38238 (read_block): Likewise.
38239 (read_data): Partially moved to ntfscomp.c.
38240 (fixup): Change unsigned to grub_uint16_t.
38241 (read_mft): Change unsigned long to grub_uint32_t.
38242 (read_attr): Likewise.
38243 (read_data): Likewise.
38244 (read_run_data): Likewise.
38245 (read_run_list): Likewise.
38246 (read_mft): Likewise.
38247
38248 * fs/ntfscomp.c: New file.
38249
38250 * include/grub/ntfs.h: New file.
38251
af680a87 382522007-12-16 Robert Millan <rmh@aybabtu.com>
38253
38254 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38255 IDE disk check, since Linux is known to support 20 IDE disks.
38256 Reported by Colin Watson.
38257
84be7599 382582007-12-15 Bean <bean123ch@gmail.com>
38259
38260 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38261 (lnxboot_img_SOURCES): New variable.
38262 (lnxboot_img_ASFLAGS): Likewise.
38263 (lnxboot_img_LDFLAGS): Likewise.
38264
38265 * boot/i386/pc/lnxboot.S: New file.
38266
6af9db01 382672007-11-24 Pavel Roskin <proski@gnu.org>
38268
38269 * configure.ac: Test if '--build-id=none' is supported by the
38270 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38271 objcopy to generate incorrect binary files (binutils
38272 2.17.50.0.18-1 as shipped by Fedora 8).
38273 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38274 linking, so that build ID doesn't break the test.
38275
7361cfe6 382762007-11-24 Pavel Roskin <proski@gnu.org>
38277
38278 * include/grub/i386/time.h: use "void" in the argument list
38279 of grub_cpu_idle().
38280 * include/grub/powerpc/time.h: Likewise.
38281 * include/grub/sparc64/time.h: Likewise.
38282
1593e10c 382832007-11-18 Christian Franke <franke@computer.org>
38284
38285 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38286 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38287 This fixes the problem that function keys did not work in grub-emu.
38288
3b8db1a8 382892007-11-18 Christian Franke <franke@computer.org>
38290
38291 * disk/host.c (grub_host_open): Remove attribute unused from
38292 name parameter. Add check for "host". This fixes the problem
38293 that grub-emu does not find partitions.
38294
2e29408d 382952007-11-18 Christian Franke <franke@computer.org>
38296
38297 * util/hostfs.c (is_dir): New function.
38298 (grub_hostfs_dir): Handle missing dirent.d_type case.
38299 (grub_hostfs_read): Add missing fseek().
38300 (grub_hostfs_label): Clear label pointer. This fixes a crash
38301 of grub-emu on "ls (host)".
38302
398cd047 383032007-11-18 Christian Franke <franke@computer.org>
38304
38305 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38306 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38307 to 64 bit boundary by default.
38308
c405c391 383092007-11-18 Bean <bean123ch@gmail.com>
38310
38311 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38312 (hexdump_mod_SOURCES): New variable.
38313 (hexdump_mod_CFLAGS): Likewise.
38314 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 38315
c405c391 38316 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38317
38318 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38319
38320 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38321
38322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38323
38324 * include/grub/hexdump.h: New file.
38325
38326 * commands/hexdump.c: New file.
38327
5cced7fd 383282007-11-10 Robert Millan <rmh@aybabtu.com>
38329
38330 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38331 in grub_outb() calls.
38332 (beep_on): Likewise.
38333
8b714eb0 383342007-11-10 Christian Franke <franke@computer.org>
38335
38336 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38337 (grub_menu_run): Likewise.
38338
ce0f1839 383392007-11-10 Robert Millan <rmh@aybabtu.com>
38340
38341 * include/grub/i386/efi/machine.h: New file.
38342 * include/grub/i386/linuxbios/machine.h: Likewise.
38343 * include/grub/i386/pc/machine.h: Likewise.
38344 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38345 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38346
38347 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38348 (serial_hw_io_addr): New variable.
38349 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38350 instead of `(unsigned short *) 0x400'.
38351
270c237d 383522007-11-10 Bean <bean123ch@gmail.com>
38353
38354 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38355
a87783bf 383562007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38357
38358 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38359 (vga_mod_SOURCES): Added.
38360 (vga_mod_CFLAGS): Likewise.
38361 (vga_mod_LDFLAGS): Likewise.
38362
38363 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38364 grub_outb() calls.
38365 (set_map_mask): Likewise.
38366 (set_read_map): Likewise.
38367 (set_read_address): Likewise.
38368 (vga_font): Removed variable.
38369 (get_vga_glyph): Removed function.
38370 (invalidate_char): Likewise.
38371 (write_char): Changed to use grub_font_get_glyph() for font
38372 information.
38373 (grub_vga_putchar): Likewise.
38374 (grub_vga_getcharwidth): Likewise.
38375
6433b448 383762007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38377
38378 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38379 flags.
38380 (pxeboot_img_LDFLAGS): Likewise.
38381 (diskboot_img_LDFLAGS): Likewise.
38382 (kernel_img_LDFLAGS): Likewise.
38383
49178511 383842007-11-06 Robert Millan <rmh@aybabtu.com>
38385
38386 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38387 in grub_outb() calls.
38388 (serial_hw_init): Likewise.
38389
53b052de 383902007-11-05 Robert Millan <rmh@aybabtu.com>
38391
38392 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38393 spaces. Skip non-regular files.
38394
5ab33bba 383952007-11-05 Robert Millan <rmh@aybabtu.com>
38396
38397 * kern/disk.c (grub_disk_firmware_fini)
38398 (grub_disk_firmware_is_tainted): New variables.
38399
38400 * include/grub/disk.h (grub_disk_firmware_fini)
38401 (grub_disk_firmware_is_tainted): Likewise.
38402
38403 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38404 (grub_disk_biosdisk_fini): ... to here.
38405 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38406 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38407 is set. Register grub_disk_biosdisk_fini() in
38408 `grub_disk_firmware_fini'.
38409
38410 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38411 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38412 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38413 to finish existing firmware disk interface.
38414
38415 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38416 (ata_mod_SOURCES): New variable.
38417 (ata_mod_CFLAGS): Likewise.
38418 (ata_mod_LDFLAGS): Likewise.
38419
0149ab7c 384202007-11-05 Robert Millan <rmh@aybabtu.com>
38421
38422 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38423 (grub_ata_wait): Reimplement using grub_millisleep().
38424
38425 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38426 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38427
be7ac41e 384282007-11-03 Marco Gerards <marco@gnu.org>
38429
38430 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38431 (CRTC_ADDR_PORT): New macro.
38432 (CRTC_DATA_PORT): Likewise.
38433 (CRTC_CURSOR): Likewise.
38434 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38435 (CRTC_CURSOR_ADDR_LOW): Likewise.
38436 (update_cursor): New function.
38437 (grub_console_real_putchar): Call `update_cursor'.
38438 (grub_console_gotoxy): Likewise.
38439 (grub_console_cls): Set the default color when clearing the
38440 screen.
38441 (grub_console_setcursor): Implemented.
38442
bb06ab2e 384432007-11-03 Marco Gerards <marco@gnu.org>
38444
38445 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38446 become activate.
38447 (grub_ata_pio_write): Likewise.
38448
38449 (grub_atapi_identify): Wait after issuing an ATA command.
38450 (grub_atapi_packet): Likewise.
38451 (grub_ata_identify): Likewise.
38452 (grub_ata_readwrite): Likewise.
38453
cf8f780b 384542007-11-03 Marco Gerards <marco@gnu.org>
38455
38456 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38457 (grub_ata_pio_write): Likewise.
38458 (grub_ata_readwrite): Use `grub_error', instead of
38459 returning `grub_errno'.
38460
ed649e54 384612007-11-03 Marco Gerards <marco@gnu.org>
38462
38463 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38464 grub_ata_pio_write once for every single sector, instead of for
38465 multiple sectors.
38466
ca25d8f0 384672007-10-31 Robert Millan <rmh@aybabtu.com>
38468
38469 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38470
38471 * conf/i386-linuxbios.rmk: New file.
38472
38473 * kern/i386/pc/hardware.c: Likewise.
38474 * term/i386/pc/at_keyboard.c: Likewise.
38475 * term/i386/pc/vga_text.c: Likewise.
38476
38477 * include/grub/i386/linuxbios/boot.h: Likewise.
38478 * include/grub/i386/linuxbios/console.h: Likewise.
38479 * include/grub/i386/linuxbios/init.h: Likewise.
38480 * include/grub/i386/linuxbios/kernel.h: Likewise.
38481 * include/grub/i386/linuxbios/loader.h: Likewise.
38482 * include/grub/i386/linuxbios/memory.h: Likewise.
38483 * include/grub/i386/linuxbios/serial.h: Likewise.
38484 * include/grub/i386/linuxbios/time.h: Likewise.
38485
38486 * kern/i386/linuxbios/init.c: Likewise.
38487 * kern/i386/linuxbios/startup.S: Likewise.
38488 * kern/i386/linuxbios/table.c: Likewise.
38489
e911ecc1 384902007-10-31 Marco Gerards <marco@gnu.org>
38491
38492 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38493 (ata_mod_SOURCES): New variable.
38494 (ata_mod_CFLAGS): Likewise.
38495 (ata_mod_LDFLAGS): Likewise.
38496
38497 * disk/ata.c: New file.
38498
38499 * include/grub/disk.h (grub_disk_dev_id): Add
38500 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 38501
7f66d0e0 385022007-10-31 Robert Millan <rmh@aybabtu.com>
38503
38504 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38505 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38506
38507 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38508 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38509
38510 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38511 `<grub/types.h>'.
38512
38513 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38514
5cd7dd46 385152007-10-27 Robert Millan <rmh@aybabtu.com>
38516
3236ca65 38517 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 38518
2ebfc90f 385192007-10-22 Robert Millan <rmh@aybabtu.com>
38520
38521 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
38522 `"../realmode.S"'.
38523 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
38524
73fcb0f3 385252007-10-22 Robert Millan <rmh@aybabtu.com>
38526
38527 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
38528 (pkgdata_MODULES): Add `biosdisk.mod'.
38529 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
38530 variables.
38531
38532 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
38533 (grub_biosdisk_init): Replace with ...
38534 (GRUB_MOD_INIT(biosdisk)): ... this.
38535 (grub_biosdisk_fini): Replace with ...
38536 (GRUB_MOD_FINI(biosdisk)): ... this.
38537
38538 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
38539 (grub_machine_init): Remove call to grub_biosdisk_init().
38540 (grub_machine_fini): Remove call to grub_machine_fini().
38541
38542 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
38543
3381d274 385442007-10-22 Robert Millan <rmh@aybabtu.com>
38545
38546 * include/grub/time.h: New file.
38547 * include/grub/i386/time.h: Likewise.
38548 * include/grub/powerpc/time.h: Likewise.
38549 * include/grub/sparc64/time.h: Likewise.
38550
38551 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
38552 instances to ...
38553 (KERNEL_MACHINE_TIME_HEADER): ... this.
38554 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38555 instances to ...
38556 (KERNEL_MACHINE_TIME_HEADER): ... this.
38557 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38558 instances to ...
38559 (KERNEL_MACHINE_TIME_HEADER): ... this.
38560
38561 * kern/i386/efi/init.c: Include `<grub/time.h>'.
38562 (grub_millisleep): New function.
38563 * kern/i386/pc/init.c: Include `<grub/time.h>'.
38564 (grub_millisleep): New function.
38565 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
38566 Remove `grub/machine/time.h' include.
38567 (grub_millisleep): New function.
38568 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
38569 Remove `grub/machine/time.h' include.
38570 (grub_millisleep): New function.
38571
38572 * include/grub/misc.h (grub_div_roundup): New function.
38573
38574 * kern/misc.c: Include `<grub/time.h>'.
38575 (grub_millisleep_generic): New function.
38576
38577 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
38578 Add `time.h'.
38579 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
38580 Add `time.h'.
38581 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
38582 `machine/time.h'. Add `time.h'.
38583 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38584
a39a0312 385852007-10-21 Robert Millan <rmh@aybabtu.com>
38586
38587 * include/grub/misc.h (grub_max): New function.
38588
2aad70e2 385892007-10-21 Robert Millan <rmh@aybabtu.com>
38590
38591 * util/misc.c (grub_util_info): Call fflush() before returning.
38592
54b71c4b 385932007-10-20 Robert Millan <rmh@aybabtu.com>
38594
38595 * genmk.rb (Image): Copy `extra_flags' from here ...
38596 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
38597
38598 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
38599 to `argc' and `args' arguments.
38600
a979f513 386012007-10-17 Robert Millan <rmh@aybabtu.com>
38602
38603 * kern/i386/loader.S: New file.
38604
38605 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
38606 * kern/i386/loader.S (grub_linux_prot_size)... to here.
38607 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
38608 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
38609 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
38610 * kern/i386/loader.S (grub_linux_real_addr)... to here.
38611 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
38612 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
38613 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
38614 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
38615 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
38616 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
38617 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
38618 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
38619
38620 * kern/i386/realmode.S: New file.
38621
38622 * kern/i386/pc/startup.S (protstack): Moved from here ...
38623 * kern/i386/realmode.S (protstack)... to here.
38624 * kern/i386/pc/startup.S (gdt): Moved from here ...
38625 * kern/i386/realmode.S (gdt)... to here.
38626 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
38627 * kern/i386/realmode.S (prot_to_real)... to here.
38628
38629 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
38630 `kern/i386/realmode.S'.
38631
825fc8fd 386322007-10-17 Robert Millan <rmh@aybabtu.com>
38633
38634 * include/grub/i386/loader.h: New file.
38635
38636 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
38637 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38638 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38639 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38640 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
38641 * include/grub/i386/loader.h (grub_linux_prot_size)
38642 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38643 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38644 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38645 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
38646
38647 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
38648
e179b2f4 386492007-10-15 Robert Millan <rmh@aybabtu.com>
38650
38651 * normal/misc.c (grub_normal_print_device_info): Do not probe for
38652 filesystem when dev->disk is unset.
38653 Do probe for filesystem even when dev->disk->has_partitions is set.
38654 In case a filesystem is found, always report it.
38655 In case it isn't, if dev->disk->has_partitions is set, report that
38656 a partition table was found instead of reporting that no filesystem
38657 could be identified.
38658
5db82af6 386592007-10-12 Robert Millan <rmh@aybabtu.com>
38660
38661 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
38662 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
38663
68f6ac74 38664 * include/grub/types.h (grub_host_to_target16): New macro.
38665 (grub_host_to_target32): Likewise.
38666 (grub_host_to_target64): Likewise.
38667 (grub_target_to_host16): Likewise.
38668 (grub_target_to_host32): Likewise.
38669 (grub_target_to_host64): Likewise.
5db82af6 38670
38671 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38672 Renamed from to ...
38673 (GRUB_MOD_ALIGN): ...this. Update all users.
38674
68f6ac74 38675 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
38676 grub_host_to_target32.
38677 Replace grub_be_to_cpu32 with grub_target_to_host32.
38678 (load_modules): Likewise.
38679 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
38680 Replace grub_be_to_cpu32 with grub_target_to_host32.
38681 Replace grub_cpu_to_be16 with grub_host_to_target16.
38682 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 38683
3cf497cc 386842007-10-12 Robert Millan <rmh@aybabtu.com>
38685
38686 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
38687 * util/elf/grub-mkimage.c: ... here.
38688
38689 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
38690 `util/powerpc/ieee1275/grub-mkimage.c'.
38691
c8cc3692 386922007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 38693
c8cc3692 38694 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
38695 and make it easier to figure out.
38696 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
38697 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
38698 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
38699 leave us with less than HEAP_MIN_SIZE total heap.
38700 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 38701
5c58b791 387022007-10-03 Robert Millan <rmh@aybabtu.com>
38703
38704 * include/grub/i386/io.h: New file.
38705 * commands/i386/pc/play.c (inb): Removed.
38706 (outb): Removed.
38707 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38708 with grub_outb().
afcd2ef8 38709 * term/i386/pc/serial.c (inb): Removed.
38710 (outb): Removed.
38711 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38712 with grub_outb().
38713 * term/i386/pc/vga.c (inb): Removed.
38714 (outb): Removed.
38715 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38716 with grub_outb().
5c58b791 38717
1a477ed6 387182007-10-02 Robert Millan <rmh@aybabtu.com>
38719
38720 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
38721 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38722 Reported by Marcin Kurek.
38723
6b5d80fa 387242007-09-07 Robert Millan <rmh@aybabtu.com>
38725
38726 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
38727 SmartFirmware version updates (as released by Sven Luther), and avoid
38728 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
38729 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
38730 known broken.
38731
5618afbf 387322007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38733
38734 From Hitoshi Ozeki:
38735 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
38736 when merging two regions.
38737
6139dcd9 387382007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38739
508e39ee 38740 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
38741 * normal/completion.c (grub_normal_do_completion): Likewise.
38742 Reported by Hitoshi Ozeki.
38743
387442007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38745
6139dcd9 38746 Do not use devices at boot in chainloading.
f19dbdb7 38747
6139dcd9 38748 * loader/i386/pc/chainloader.c (boot_drive): New variable.
38749 (boot_part_addr): Likewise.
38750 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
38751 with BOOT_DRIVE and BOOT_PART_ADDR.
38752 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
38753 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
38754
38da6516 387552007-08-29 Robert Millan <rmh@aybabtu.com>
38756
38757 Patch from Simon Peter <dn.tlp@gmx.net>:
38758 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
38759 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
38760 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
38761 util/i386/pc/grub-setup.c_DEPENDENCIES.
38762 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
38763 util/grub-probe.c_DEPENDENCIES.
38764 * conf/powerpc-ieee1275.rmk: Likewise.
38765
29d0928c 387662007-08-28 Robert Millan <rmh@aybabtu.com>
38767
38768 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
38769 to tell grub-mkdevicemap how to name devices.
38770 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
38771 feature).
38772
38773 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
38774 util/i386/get_disk_name.c.
38775 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
38776 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
38777 util/ieee1275/get_disk_name.c.
38778
38779 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
38780
38781 * DISTLIST: Add util/i386/get_disk_name.c and
38782 util/ieee1275/get_disk_name.c.
38783
38784 * util/grub-mkdevicemap.c: Replace device naming logic with
38785 grub_util_get_disk_name() calls.
38786
5a0d3cca 387872007-08-20 Robert Millan <rmh@aybabtu.com>
38788
38789 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
38790 (so that it works for both plural and singular quantities).
38791
8b72db2f 387922007-08-05 Robert Millan <rmh@aybabtu.com>
38793
38794 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
38795 so that [xz] isn't taken into account when determining order.
38796
352466bf 387972007-08-02 Marco Gerards <marco@gnu.org>
38798
38799 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
38800 `include/multiboot2.h', `include/grub/elfload.h',
38801 `include/multiboot.h', `include/grub/multiboot.h',
38802 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
38803 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
38804 `kern/elf.c', `loader/multiboot_loader.c',
38805 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
38806 `loader/i386/pc/multiboot2.c',
38807 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
38808 `util/i386/pc/grub-mkrescue.in'. Remove
38809 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
38810 `include/grub/i386/pc/util/biosdisk.h' and
38811 `include/grub/powerpc/ieee1275/multiboot.h'.
38812
8f096014 388132007-08-02 Bean <bean123ch@gmail.com>
38814
38815 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
38816 (ntfs_mod_SOURCES): New variable.
38817 (ntfs_mod_CFLAGS): Likewise.
38818 (ntfs_mod_LDFLAGS): Likewise.
38819
38820 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
38821 (grub_probe_SOURCES): Likewise.
38822 (grub_emu_SOURCES): Likewise.
38823
38824 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38825 (grub_emu_SOURCES): Likewise.
38826
38827 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38828 (grub_emu_SOURCES): Likewise.
f19dbdb7 38829
8f096014 38830 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
38831
38832 * fs/ntfs.c: New file.
38833
9959f7db 388342007-08-02 Bean <bean123ch@gmail.com>
38835
38836 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
38837
38838 * file.h (grub_file): Likewise.
38839
38840 * fshelp.h (grub_fshelp_read_file): Likewise.
38841
38842 * util/i386/pc/grub-setup.c (setup): Likewise.
38843 (save_first_sector): Likewise.
38844 (save_blocklists): Likewise.
f19dbdb7 38845
9959f7db 38846 * fs/affs.c (grub_affs_read_file): Likewise.
38847
38848 * fs/ext2.c (grub_ext2_read_file): Likewise.
38849
38850 * fs/fat.c (grub_fat_read_data): Likewise.
38851
38852 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
38853
38854 * fs/hfs.c (grub_hfs_read_file): Likewise.
38855
38856 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38857
38858 * fs/jfs.c (grub_jfs_read_file): Likewise.
38859
38860 * fs/minix.c (grub_minix_read_file): Likewise.
38861
38862 * fs/sfs.c (grub_sfs_read_file): Likewise.
38863
38864 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 38865
9959f7db 38866 * fs/xfs.c (grub_xfs_read_file): Likewise.
38867
38868 * command/blocklist.c (read_blocklist): Likewise.
38869 (print_blocklist): Likewise.
38870
0a203f83 388712007-08-02 Marco Gerards <marco@gnu.org>
38872
38873 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
38874 `util/hostfs.c'.
38875
38876 * disk/host.c: New file.
38877
38878 * util/hostfs.c: Likewise.
38879
38880 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
38881 return `GRUB_ERR_BAD_FS'.
38882 * fs/sfs.c (grub_sfs_mount): Likewise.
38883 * fs/xfs.c (grub_xfs_mount): Likewise.
38884
38885 * include/grub/disk.h (enum grub_disk_dev_id): Add
38886 `GRUB_DISK_DEVICE_HOST_ID'.
38887
38888 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
38889
e5dfe777 388902007-07-24 Jerone Young <jerone@gmail.com>
38891
f19dbdb7 38892 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 38893 modules for compilation.
38894 * conf/powerpc-ieee1275.rmk: Likewise.
38895
38896 * include/multiboot.h: Move multiboot definitions to one file. Rename
38897 many definitions to not get grub specific.
38898 * include/multiboot2.h: Create header with multiboot 2 definitions.
38899 * include/grub/multiboot.h: Header for grub specific function
38900 prototypes and definitions.
38901 * include/grub/multiboot2.h: Likewise.
38902 * include/grub/multiboot_loader.h: Likewise.
38903 * include/grub/i386/pc/multiboot.h: Removed.
38904 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
38905
38906 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
38907 and 2 to allow for one multiboot and module commands.
38908 * loader/multiboot2.c: Add multiboot2 functionality.
38909 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
38910 and definition names.
38911 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
38912 2 functions.
38913 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
38914 ieee1275 specific multiboot2 code.
38915
38916 * kern/i386/pc/startup.S: Change headers and definition names for
38917 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
38918
daf0f0ba 389192007-07-22 Robert Millan <rmh@aybabtu.com>
38920
38921 * geninitheader.sh: Process file specified in first parameter rather
38922 than hardcoding grub_modules_init.lst.
fe6b695a 38923 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 38924 than hardcoding grub_modules_init.h.
38925
38926 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
38927 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
38928 grub_probe_init.[ch] and grub_setup_init.[ch].
38929
38930 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
38931 grub_modules_init.h with grub_emu_init.h.
38932 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
38933 grub_probe_init.[ch] files.
38934 * conf/i386-efi.rmk: Likewise.
38935 * conf/i386-pc.rmk: Likewise.
38936 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
38937 grub_setup_init.[ch] files.
38938
38939 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
38940 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
38941 to initialize modules rather than a list of hardcoded functions.
38942 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
38943 grub_init_all() to initialize modules rather than a list of hardcoded
38944 functions.
38945
54cdc1cc 389462007-07-22 Robert Millan <rmh@aybabtu.com>
38947
38948 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
38949 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
38950
ad0686cc 389512007-07-22 Robert Millan <rmh@aybabtu.com>
38952
38953 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38954 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
38955 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
38956 flag when running on SmartFirmware.
38957 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
38958 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
38959 was set.
38960
38961 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38962 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
38963 rather than decreasing it.
38964
38965 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
38966 there's not enough space to do it, fail in the same way as when it
38967 can't be done because there are no partitions.
38968
38969 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
38970 when nvsetenv failed.
38971
969c02ec 389722007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38973
38974 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
38975 because this rule is automatically generated.
38976 (grub-mkrescue): Removed for the same reason as above.
38977
5a79f472 389782007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38979
38980 Migrate to GNU General Public License Version 3.
f19dbdb7 38981
5a79f472 38982 * COPYING: Replaced with the plain text version of GPLv3.
38983
38984 * config.guess: Updated from gnulib.
38985 * config.sub: Likewise.
38986
38987 * geninit.sh: Output a GPLv3 copyright notice.
38988 * geninitheader.sh: Likewise.
38989 * genmodsrc.sh: Likewise.
38990 * gensymlist.sh.in: Likewise.
38991
38992 * boot/i386/pc/boot.S: Upgraded to GPLv3.
38993 * boot/i386/pc/diskboot.S: Likewise.
38994 * boot/i386/pc/pxeboot.S: Likewise.
38995 * commands/blocklist.c: Likewise.
38996 * commands/boot.c: Likewise.
38997 * commands/cat.c: Likewise.
38998 * commands/cmp.c: Likewise.
38999 * commands/configfile.c: Likewise.
39000 * commands/echo.c: Likewise.
39001 * commands/help.c: Likewise.
39002 * commands/ls.c: Likewise.
39003 * commands/search.c: Likewise.
39004 * commands/terminal.c: Likewise.
39005 * commands/test.c: Likewise.
39006 * commands/videotest.c: Likewise.
39007 * commands/i386/cpuid.c: Likewise.
39008 * commands/i386/pc/halt.c: Likewise.
39009 * commands/i386/pc/play.c: Likewise.
39010 * commands/i386/pc/reboot.c: Likewise.
39011 * commands/i386/pc/vbeinfo.c: Likewise.
39012 * commands/i386/pc/vbetest.c: Likewise.
39013 * commands/ieee1275/halt.c: Likewise.
39014 * commands/ieee1275/reboot.c: Likewise.
39015 * commands/ieee1275/suspend.c: Likewise.
39016 * disk/loopback.c: Likewise.
39017 * disk/lvm.c: Likewise.
39018 * disk/raid.c: Likewise.
39019 * disk/efi/efidisk.c: Likewise.
39020 * disk/i386/pc/biosdisk.c: Likewise.
39021 * disk/ieee1275/ofdisk.c: Likewise.
39022 * font/manager.c: Likewise.
39023 * fs/affs.c: Likewise.
39024 * fs/ext2.c: Likewise.
39025 * fs/fat.c: Likewise.
39026 * fs/fshelp.c: Likewise.
39027 * fs/hfs.c: Likewise.
39028 * fs/hfsplus.c: Likewise.
39029 * fs/iso9660.c: Likewise.
39030 * fs/jfs.c: Likewise.
39031 * fs/minix.c: Likewise.
39032 * fs/sfs.c: Likewise.
39033 * fs/ufs.c: Likewise.
39034 * fs/xfs.c: Likewise.
39035 * hello/hello.c: Likewise.
39036 * include/grub/acorn_filecore.h: Likewise.
39037 * include/grub/arg.h: Likewise.
39038 * include/grub/bitmap.h: Likewise.
39039 * include/grub/boot.h: Likewise.
39040 * include/grub/cache.h: Likewise.
39041 * include/grub/device.h: Likewise.
39042 * include/grub/disk.h: Likewise.
39043 * include/grub/dl.h: Likewise.
39044 * include/grub/elfload.h: Likewise.
39045 * include/grub/env.h: Likewise.
39046 * include/grub/err.h: Likewise.
39047 * include/grub/file.h: Likewise.
39048 * include/grub/font.h: Likewise.
39049 * include/grub/fs.h: Likewise.
39050 * include/grub/fshelp.h: Likewise.
39051 * include/grub/gzio.h: Likewise.
39052 * include/grub/hfs.h: Likewise.
39053 * include/grub/kernel.h: Likewise.
39054 * include/grub/loader.h: Likewise.
39055 * include/grub/lvm.h: Likewise.
39056 * include/grub/misc.h: Likewise.
39057 * include/grub/mm.h: Likewise.
39058 * include/grub/net.h: Likewise.
39059 * include/grub/normal.h: Likewise.
39060 * include/grub/parser.h: Likewise.
39061 * include/grub/partition.h: Likewise.
39062 * include/grub/pc_partition.h: Likewise.
39063 * include/grub/raid.h: Likewise.
39064 * include/grub/rescue.h: Likewise.
39065 * include/grub/script.h: Likewise.
39066 * include/grub/setjmp.h: Likewise.
39067 * include/grub/symbol.h: Likewise.
39068 * include/grub/term.h: Likewise.
39069 * include/grub/terminfo.h: Likewise.
39070 * include/grub/tparm.h: Likewise.
39071 * include/grub/types.h: Likewise.
39072 * include/grub/video.h: Likewise.
39073 * include/grub/efi/api.h: Likewise.
39074 * include/grub/efi/chainloader.h: Likewise.
39075 * include/grub/efi/console.h: Likewise.
39076 * include/grub/efi/console_control.h: Likewise.
39077 * include/grub/efi/disk.h: Likewise.
39078 * include/grub/efi/efi.h: Likewise.
39079 * include/grub/efi/pe32.h: Likewise.
39080 * include/grub/efi/time.h: Likewise.
39081 * include/grub/i386/linux.h: Likewise.
39082 * include/grub/i386/setjmp.h: Likewise.
39083 * include/grub/i386/types.h: Likewise.
39084 * include/grub/i386/efi/kernel.h: Likewise.
39085 * include/grub/i386/efi/loader.h: Likewise.
39086 * include/grub/i386/efi/time.h: Likewise.
39087 * include/grub/i386/pc/biosdisk.h: Likewise.
39088 * include/grub/i386/pc/boot.h: Likewise.
39089 * include/grub/i386/pc/chainloader.h: Likewise.
39090 * include/grub/i386/pc/console.h: Likewise.
39091 * include/grub/i386/pc/init.h: Likewise.
39092 * include/grub/i386/pc/kernel.h: Likewise.
39093 * include/grub/i386/pc/loader.h: Likewise.
39094 * include/grub/i386/pc/memory.h: Likewise.
39095 * include/grub/i386/pc/multiboot.h: Likewise.
39096 * include/grub/i386/pc/serial.h: Likewise.
39097 * include/grub/i386/pc/time.h: Likewise.
39098 * include/grub/i386/pc/vbe.h: Likewise.
39099 * include/grub/i386/pc/vbeblit.h: Likewise.
39100 * include/grub/i386/pc/vbefill.h: Likewise.
39101 * include/grub/i386/pc/vbeutil.h: Likewise.
39102 * include/grub/i386/pc/vga.h: Likewise.
39103 * include/grub/ieee1275/ieee1275.h: Likewise.
39104 * include/grub/ieee1275/ofdisk.h: Likewise.
39105 * include/grub/powerpc/libgcc.h: Likewise.
39106 * include/grub/powerpc/setjmp.h: Likewise.
39107 * include/grub/powerpc/types.h: Likewise.
39108 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39109 * include/grub/powerpc/ieee1275/console.h: Likewise.
39110 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39111 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39112 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39113 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39114 * include/grub/powerpc/ieee1275/time.h: Likewise.
39115 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39116 * include/grub/sparc64/libgcc.h: Likewise.
39117 * include/grub/sparc64/setjmp.h: Likewise.
39118 * include/grub/sparc64/types.h: Likewise.
39119 * include/grub/sparc64/ieee1275/console.h: Likewise.
39120 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39121 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39122 * include/grub/sparc64/ieee1275/time.h: Likewise.
39123 * include/grub/util/biosdisk.h: Likewise.
39124 * include/grub/util/getroot.h: Likewise.
39125 * include/grub/util/lvm.h: Likewise.
39126 * include/grub/util/misc.h: Likewise.
39127 * include/grub/util/raid.h: Likewise.
39128 * include/grub/util/resolve.h: Likewise.
39129 * io/gzio.c: Likewise.
39130 * kern/device.c: Likewise.
39131 * kern/disk.c: Likewise.
39132 * kern/dl.c: Likewise.
39133 * kern/elf.c: Likewise.
39134 * kern/env.c: Likewise.
39135 * kern/err.c: Likewise.
39136 * kern/file.c: Likewise.
39137 * kern/fs.c: Likewise.
39138 * kern/loader.c: Likewise.
39139 * kern/main.c: Likewise.
39140 * kern/misc.c: Likewise.
39141 * kern/mm.c: Likewise.
39142 * kern/parser.c: Likewise.
39143 * kern/partition.c: Likewise.
39144 * kern/rescue.c: Likewise.
39145 * kern/term.c: Likewise.
39146 * kern/efi/efi.c: Likewise.
39147 * kern/efi/init.c: Likewise.
39148 * kern/efi/mm.c: Likewise.
39149 * kern/i386/dl.c: Likewise.
39150 * kern/i386/efi/init.c: Likewise.
39151 * kern/i386/efi/startup.S: Likewise.
39152 * kern/i386/pc/init.c: Likewise.
39153 * kern/i386/pc/lzo1x.S: Likewise.
39154 * kern/i386/pc/startup.S: Likewise.
39155 * kern/ieee1275/ieee1275.c: Likewise.
39156 * kern/powerpc/cache.S: Likewise.
39157 * kern/powerpc/dl.c: Likewise.
39158 * kern/powerpc/ieee1275/cmain.c: Likewise.
39159 * kern/powerpc/ieee1275/crt0.S: Likewise.
39160 * kern/powerpc/ieee1275/init.c: Likewise.
39161 * kern/powerpc/ieee1275/openfw.c: Likewise.
39162 * kern/sparc64/cache.S: Likewise.
39163 * kern/sparc64/dl.c: Likewise.
39164 * kern/sparc64/ieee1275/init.c: Likewise.
39165 * kern/sparc64/ieee1275/openfw.c: Likewise.
39166 * loader/efi/chainloader.c: Likewise.
39167 * loader/efi/chainloader_normal.c: Likewise.
39168 * loader/i386/efi/linux.c: Likewise.
39169 * loader/i386/efi/linux_normal.c: Likewise.
39170 * loader/i386/pc/chainloader.c: Likewise.
39171 * loader/i386/pc/chainloader_normal.c: Likewise.
39172 * loader/i386/pc/linux.c: Likewise.
39173 * loader/i386/pc/linux_normal.c: Likewise.
39174 * loader/i386/pc/multiboot.c: Likewise.
39175 * loader/i386/pc/multiboot_normal.c: Likewise.
39176 * loader/powerpc/ieee1275/linux.c: Likewise.
39177 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39178 * normal/arg.c: Likewise.
39179 * normal/cmdline.c: Likewise.
39180 * normal/command.c: Likewise.
39181 * normal/completion.c: Likewise.
39182 * normal/execute.c: Likewise.
39183 * normal/function.c: Likewise.
39184 * normal/lexer.c: Likewise.
39185 * normal/main.c: Likewise.
39186 * normal/menu.c: Likewise.
39187 * normal/menu_entry.c: Likewise.
39188 * normal/misc.c: Likewise.
39189 * normal/parser.y: Likewise.
39190 * normal/script.c: Likewise.
39191 * normal/i386/setjmp.S: Likewise.
39192 * normal/powerpc/setjmp.S: Likewise.
39193 * normal/sparc64/setjmp.S: Likewise.
39194 * partmap/acorn.c: Likewise.
39195 * partmap/amiga.c: Likewise.
39196 * partmap/apple.c: Likewise.
39197 * partmap/gpt.c: Likewise.
39198 * partmap/pc.c: Likewise.
39199 * partmap/sun.c: Likewise.
39200 * term/gfxterm.c: Likewise.
39201 * term/terminfo.c: Likewise.
39202 * term/efi/console.c: Likewise.
39203 * term/i386/pc/console.c: Likewise.
39204 * term/i386/pc/serial.c: Likewise.
39205 * term/i386/pc/vesafb.c: Likewise.
39206 * term/i386/pc/vga.c: Likewise.
39207 * term/ieee1275/ofconsole.c: Likewise.
39208 * util/biosdisk.c: Likewise.
39209 * util/console.c: Likewise.
39210 * util/genmoddep.c: Likewise.
39211 * util/getroot.c: Likewise.
39212 * util/grub-emu.c: Likewise.
39213 * util/grub-mkdevicemap.c: Likewise.
39214 * util/grub-probe.c: Likewise.
39215 * util/lvm.c: Likewise.
39216 * util/misc.c: Likewise.
39217 * util/raid.c: Likewise.
39218 * util/resolve.c: Likewise.
39219 * util/update-grub.in: Likewise.
39220 * util/update-grub_lib.in: Likewise.
39221 * util/grub.d/00_header.in: Likewise.
39222 * util/grub.d/10_hurd.in: Likewise.
39223 * util/grub.d/10_linux.in: Likewise.
39224 * util/i386/efi/grub-install.in: Likewise.
39225 * util/i386/efi/grub-mkimage.c: Likewise.
39226 * util/i386/pc/grub-install.in: Likewise.
39227 * util/i386/pc/grub-mkimage.c: Likewise.
39228 * util/i386/pc/grub-mkrescue.in: Likewise.
39229 * util/i386/pc/grub-setup.c: Likewise.
39230 * util/i386/pc/misc.c: Likewise.
39231 * util/powerpc/ieee1275/grub-install.in: Likewise.
39232 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39233 * util/powerpc/ieee1275/misc.c: Likewise.
39234 * video/bitmap.c: Likewise.
39235 * video/video.c: Likewise.
39236 * video/i386/pc/vbe.c: Likewise.
39237 * video/i386/pc/vbeblit.c: Likewise.
39238 * video/i386/pc/vbefill.c: Likewise.
39239 * video/i386/pc/vbeutil.c: Likewise.
39240 * video/readers/tga.c: Likewise.
39241
3572d015 392422007-07-02 Robert Millan <rmh@aybabtu.com>
39243
39244 * conf/i386-efi.rmk: Replace obsolete reference to
39245 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39246 with util/getroot.c.
39247 * conf/powerpc-ieee1275.rmk: Likewise.
39248 * conf/sparc64-ieee1275.rmk: Likewise.
39249
39250 * util/grub-emu.c (main): Fix unchecked pointer handling.
39251
2c2a681b 392522007-07-02 Robert Millan <rmh@aybabtu.com>
39253
39254 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39255 invocation to fail, in order to support partition-less media.
39256
39257 * util/i386/pc/grub-install.in: Likewise.
39258
39259 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39260 which fs or partmap modules are needed (akin to its sister scripts).
39261
39262 Also use grub-probe to get rid of unportable /proc/mounts check.
39263
39264 Print the same informational message that the other scripts do, before
fe6b695a 39265 exiting.
2c2a681b 39266
6193defe 392672007-06-23 Robert Millan <rmh@aybabtu.com>
39268
fe6b695a 39269 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 39270 a font file can be found and, if so, echo the GRUB path to it.
39271
39272 * util/update-grub.in: Handle multiple terminals depending on user
39273 input, platform availability and font file presence. Propagate
39274 variables of our findings to /etc/grub.d/ children.
39275
39276 * util/grub.d/00_header.in: Handle multiple terminals, based on
39277 environment setup by update-grub.
39278
eface1dc 392792007-06-23 Robert Millan <rmh@aybabtu.com>
39280
ba50d28f 39281 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 39282
bf697e28 392832007-06-21 Robert Millan <rmh@aybabtu.com>
39284
39285 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39286 indicate end of data section in kernel image.
39287 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39288 GRUB_KERNEL_MACHINE_DATA_END.
39289
39290 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39291 space for it.
39292 * kern/i386/efi/startup.S: Likewise.
39293
39294 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39295 during image generation. Implement --prefix option to override this
39296 patch.
39297 * util/i386/efi/grub-mkimage.c: Likewise.
39298
39299 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39300 code to make path relative to its root into a separate function.
39301
39302 * util/i386/pc/grub-install.in: Use newly provided
39303 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39304 pass the result to grub-install --prefix.
39305
baa574b4 393062007-06-13 Robert Millan <rmh@aybabtu.com>
39307
39308 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39309 DEFAULT_DEVICE_MAP.
39310 * util/grub-emu.c: Use above definitions from misc.h instead of
39311 defining them.
39312 * util/grub-mkdevicemap.c: Likewise.
39313 * util/i386/pc/grub-setup.c: Likewise.
39314 * util/grub-probe.c: Likewise.
39315 (probe): Abort with grub_util_error() when either
39316 grub_guess_root_device or grub_util_get_grub_dev fails.
39317
0215dcbf 393182007-06-12 Robert Millan <rmh@aybabtu.com>
39319
39320 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39321 "pager" assignment.
39322 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39323 "pcdata".
39324 * util/grub-probe.c (probe): Likewise for "drive_name".
39325
8af2ab7b 393262007-06-11 Robert Millan <rmh@aybabtu.com>
39327
39328 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39329 not just the cdrom one.
39330
59d31694 393312007-06-11 Robert Millan <rmh@aybabtu.com>
39332
39333 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39334 Add --pkglibdir=DIR option to override pkglibdir.
39335 Mention --image-type=TYPE in help output.
39336 Fix --grub-mkimage (it was a no-op).
fe6b695a 39337 Abort gracefully when no parameter is given.
59d31694 39338
7ee367e4 393392007-06-11 Robert Millan <rmh@aybabtu.com>
39340
39341 * util/i386/pc/grub-mkrescue.in: New file.
39342 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39343 * Makefile.in: Handle bin_SCRIPTS.
39344
29b0ed46 393452007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39346
39347 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39348 list of video modes.
39349
c0f90770 393502007-06-06 Robert Millan <rmh@aybabtu.com>
39351
39352 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39353 file doesn't exist, or if it is in a filesystem grub can't read.
39354
39355 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39356 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39357 header comment to fit in 80 columns when the variables are resolved.
39358
39359 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39360 could be identified by update-grub. Remove redundant check for
fe6b695a 39361 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 39362 handles that).
39363
fb36dc26 393642007-06-04 Robert Millan <rmh@aybabtu.com>
39365
39366 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39367
39368 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39369
39370 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39371
0c68c93e 393722007-06-04 Robert Millan <rmh@aybabtu.com>
39373
39374 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39375
39376 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39377 grub_apple_partition_map_fini.
39378
39379 * util/biosdisk.c
39380 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39381 to access >2 TiB disks).
39382
39383 Print disk->total_sectors with %llu instead of %lu, since this
39384 variable is always 64-bit (prevents wrong disk size from being displayed
39385 on either >2 TiB disk or big-endian CPU).
39386
39387 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39388 into a generic case that supports all (sane) partition maps.
39389
39390 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39391 breaks big-endian.
39392
39393 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39394 and grub_apple_partition_map_fini() after that.
39395
0f23eb74 393962007-06-01 Robert Millan <rmh@aybabtu.com>
39397
39398 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39399
39400 * util/grub.d/00_header.in: Only enable gfxterm when
39401 convert_system_path_to_grub_path() succeeds.
39402
42c71976 394032007-05-20 Robert Millan <rmh@aybabtu.com>
39404
39405 * util/update-grub_lib.in: New file.
39406 * DISTLIST: Add update-grub_lib.in.
39407 * conf/common.rmk: Generate update-grub_lib and install it in
39408 $(lib_DATA).
39409 * Makefile.in: Add install routine for $(lib_DATA).
39410
39411 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39412 function provided by update-grub_lib to support arbitrary paths of
39413 unifont.pff.
39414 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39415 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39416
5beb2291 394172007-05-19 Robert Millan <rmh@aybabtu.com>
39418
39419 * commands/i386/cpuid.c: New module.
39420 * DISTLIST: Add it.
39421 * conf/i386-efi.rmk: Enable cpuid.mod.
39422 * conf/i386-pc.rmk: Likewise.
39423
7262eca1 394242007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39425
39426 * kern/disk.c (grub_disk_read): Check return value of
39427 grub_realloc().
39428
260ba823 394292007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39430
39431 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39432 arrays.
39433 * disk/raid.c (grub_raid_open): Likewise.
39434
1ecb6cf2 394352007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39436
39437 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39438 stack instead of on the heap.
39439
39440 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39441 before doing a read on it.
39442
39443 * configure.ac: Only use -fno-stack-protector for the target
39444 environment.
f19dbdb7 39445
21c8cbb1 394462007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39447
39448 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39449 __attribute_ ((unused)) to mode_type argument.
39450
39451 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 39452
21c8cbb1 39453 * kern/misc.c (memcmp): Fix prototype.
39454
39455 * include/grub/partition.h [GRUB_UTIL]
39456 (grub_gpt_partition_map_init): Add prototype.
39457 (grub_gpt_partition_map_fini): Likewise.
39458
39459 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39460 at the right place.
39461
39462 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39463 (grub_fat_read_data): Likewise.
39464 (grub_fat_find_dir): Likewise.
39465
39466 * font/manager.c (find_glyph): Make table a const.
39467 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 39468
849d55d3 394692007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39470
39471 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39472 code, first search for device in /dev/mapper, then in /dev.
39473 (grub_util_get_grub_dev): New function.
39474 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39475 prototype.
39476 * util/grub-probe.c (probe): Remove check for RAID, call
39477 grub_util_get_grub_dev() instead of
39478 grub_util_biosdisk_get_grub_dev().
39479 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39480 grub_util_biosdisk_get_grub_dev().
39481 * util/i386/pc/grub-setup.c (main): Likewise.
39482
8fff7c2f 394832007-05-16 Robert Millan <rmh@aybabtu.com>
39484
39485 * DISTLIST: Update for the latest changes.
39486 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39487 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39488 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39489 grub/util/biosdisk.h.
39490 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39491 grub/util/biosdisk.h.
39492
48e12b52 394932007-05-16 Robert Millan <rmh@aybabtu.com>
39494
39495 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39496
46b9d128 394972007-05-16 Robert Millan <rmh@aybabtu.com>
39498
39499 * util/i386/efi/grub-install.in: New.
39500 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39501 newly added grub-install.
39502 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39503 include.
39504 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39505 grub/util/biosdisk.h.
39506 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39507 grub/util/biosdisk.h.
39508
2d1a40a9 395092007-05-16 Robert Millan <rmh@aybabtu.com>
39510
39511 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39512 * include/grub/util/biosdisk.h: ... here.
39513 * util/i386/pc/biosdisk.c: Moved to ...
39514 * util/biosdisk.c: ... here.
39515 * util/i386/pc/getroot.c: Moved to ...
39516 * util/getroot.c: ... here.
39517 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39518 * util/grub-mkdevicemap.c: ... here.
39519 * util/i386/pc/grub-probe.c: Moved to ...
39520 * util/grub-probe.c: ... here.
39521
9e26e3bc 395222007-05-15 Robert Millan <rmh@aybabtu.com>
39523
39524 * util/update-grub.in: Remove duplicated line in grub.cfg header
39525 message.
39526
57f96397 395272007-05-13 Robert Millan <rmh@aybabtu.com>
39528
39529 * util/update-grub.in: Fix a few assumptions about the devices holding
39530 /, /boot and /boot/grub being the same.
39531 * util/grub.d/00_header.in: Likewise.
39532 * util/grub.d/10_hurd.in: Likewise.
39533 * util/grub.d/10_linux.in: Likewise.
39534
39535 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
39536 patterns. Use that to define the `.old' suffix as older than `'.
39537
39538 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
39539
39540 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
39541 the grub.cfg header message.
39542
2e610d62 395432007-05-11 Robert Millan <rmh@aybabtu.com>
39544
39545 * util/update-grub.in: Create device.map if it doesn't already exist,
39546 before attempting to run grub-probe.
39547 Check for grub-probe and grub-mkdevicemap with the same code
39548 grub-install is using.
39549 Remove test mode.
39550
3f6a10ef 395512007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
39552
39553 * Makefile.in: Add the datarootdir autoconf variable.
39554
02e7b75e 395552007-05-09 Robert Millan <rmh@aybabtu.com>
39556
39557 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 39558 fail gracefully if dev->disk->partition == NULL.
02e7b75e 39559
75f396cc 395602007-05-07 Robert Millan <rmh@aybabtu.com>
39561
39562 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
39563 determine partition map module.
39564 * util/i386/pc/grub-install.in: Use this feature to decide which
39565 partition module to load, instead of hardcoding pc and gpt.
39566
da65cb36 395672007-05-07 Robert Millan <rmh@aybabtu.com>
39568
39569 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
39570 source directory differs from build directory.
39571
b57d6a91 395722007-05-05 Robert Millan <rmh@aybabtu.com>
39573
39574 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
39575 initialisation.
39576
509d00f1 395772007-05-05 Robert Millan <rmh@aybabtu.com>
39578
39579 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
39580
c48f23ef 395812007-05-05 Robert Millan <rmh@aybabtu.com>
39582
39583 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
39584 command-line arguments via ${GRUB_CMDLINE_LINUX}.
39585
20b97658 395862007-05-05 Robert Millan <rmh@aybabtu.com>
39587
39588 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
39589 (grub_probe_SOURCES): Likewise.
39590 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
39591 GPT and initialize dos_part and bsd_part accordingly.
39592 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
39593 install_bsd_part.
39594 (main): Activate gpt module for use during partition identification,
39595 and deactivate it afterwards.
39596 * util/i386/pc/grub-install.in: Add gpt module to core.img.
39597 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
39598 partition identification, and deactivate it afterwards.
39599
99123174 396002007-05-05 Robert Millan <rmh@aybabtu.com>
39601
39602 * term/i386/pc/console.c (grub_console_fini): Call
39603 grub_term_set_current() before grub_term_unregister().
39604
ebd97f6e 396052007-05-04 Robert Millan <rmh@aybabtu.com>
39606
39607 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
39608 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
39609 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
39610 and update-grub_DATA.
39611 * conf/common.rmk: Build and install update-grub components.
39612 * conf/common.mk: Regenerate.
39613 * util/update-grub.in: New. Core of update-grub.
39614 * util/grub.d/00_header.in: New. Generates grub.cfg header.
39615 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
39616 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
39617 * util/grub.d/README: New. Document grub.d directory layout.
39618
b06a264d 396192007-05-01 Robert Millan <rmh@aybabtu.com>
39620
39621 * util/grub-emu.c: Move initialization functions
39622 grub_util_biosdisk_init() and grub_init_all() before
39623 grub_util_biosdisk_get_grub_dev(), which relies on them.
39624
41f0050e 396252007-04-19 Robert Millan <rmh@aybabtu.com>
39626
39627 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
39628 it is used later.
39629
04582bb3 396302007-04-18 Jerone Young <jerone@gmail.com>
39631
f19dbdb7 39632 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 39633 stanza.
39634
08db4632 396352007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 39636
08db4632 39637 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
39638 continue on and look for device node with real device name.
39639
801b76be 396402007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 39641
fe6b695a 39642 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 39643 ability.
39644 * Makefile.in: Add autoconf package transformation code.
39645 * util/i386/pc/grub-install.in: Likewise.
39646 * util/powerpc/ieee1275/grub-install.in: Likewise.
39647
6795c4e1 396482007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39649
39650 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
39651 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
39652 (EXT2_REVISION): Likewise.
39653 (EXT2_INODE_SIZE): Likewise.
39654 (struct grub_ext2_block_group): Added a missing member
39655 "used_dirs".
39656 (grub_ext2_read_inode): Divide by the inode size in a superblock
39657 instead of 128 to obtain INODES_PER_BLOCK.
39658 Use the macro EXT2_INODE_SIZE instead of directly using
39659 SBLOCK->INODE_SIZE.
39660
d70af616 396612007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39662
39663 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
39664 superblock instead of the structure size to compute an
39665 offset. This fixes the problem that GRUB could not read a
39666 filesystem when inode size is different from 128-byte.
39667
3b801603 396682007-03-05 Marco Gerards <marco@gnu.org>
39669
39670 * normal/main.c (read_config_file): When "menu" is not set, create
39671 an initial context.
39672
4785bfe4 396732007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39674
39675 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
39676 (HEAP_LIMIT): New macro.
39677 (grub_claim_heap): Claim memory up to `heaplimit'.
39678
a0cbb023 396792007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39680
39681 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
39682 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
39683 (_start): Likewise.
39684 (grub_arch_modules_addr): Return address after `_end'.
39685 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
39686 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
39687 (add_segments): Calculate `_end' from phdr size and location.
39688 (ALIGN_UP): Moved to ...
39689 * include/grub/misc.h: here.
39690 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39691 New macro.
39692 (GRUB_IEEE1275_MODULE_BASE): Removed.
39693
fd7d8eba 396942007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39695
39696 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
39697 loop boundary.
39698
9b09e6fc 396992007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39700
39701 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
39702 All users updated.
39703 (grub_elf64_load_hook_t): Likewise.
39704 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
39705 debug output.
39706
3ce27299 397072007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39708
39709 * kern/mm.c: Update copyright.
39710 (grub_mm_debug): Correct syntax error.
39711 (grub_mm_dump_free): New function.
39712 (grub_debug_free): Call `grub_free'.
39713 * include/grub/mm.h: Update copyright.
39714 (grub_mm_dump_free): Add declaration.
39715
077d5fee 397162007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39717
39718 * include/grub/ieee1275/ieee1275.h: Update copyright.
39719 * kern/powerpc/ieee1275/init.c: Likewise.
39720 * kern/powerpc/ieee1275/openfw.c: Likewise.
39721
39722 * loader/powerpc/ieee1275/linux.c: Likewise.
39723 * include/grub/elfload.h: Likewise.
39724 * kern/elf.c: Likewise.
39725 (grub_elf32_load): Pass `base' and `size' parameters. Update all
39726 callers.
39727 (grub_elf64_load): Likewise.
39728 (grub_elf32_load_segment): Move to a nested function.
39729 (grub_elf64_load_segment): Likewise.
39730
dc946850 397312007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39732
39733 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
39734 prototype.
39735 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
39736 (grub_heap_len): Likewise.
39737 (HEAP_SIZE): New macro.
39738 (grub_claim_heap): New function.
39739 (grub_machine_init): Don't claim heap directly. Call
39740 `grub_claim_heap'.
39741 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
39742 (grub_available_iterate): New function.
39743
baa2a121 397442007-02-03 Thomas Schwinge <tschwinge@gnu.org>
39745
39746 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
39747 * configure.ac: Use it for testing the HOST and TARGET compilers.
39748
4fe9862e 397492006-12-13 Thomas Schwinge <tschwinge@gnu.org>
39750
39751 * Makefile.in (enable_grub_emu): New variable.
39752 * configure.ac (--enable-grub-emu): New option.
39753 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
39754 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
39755 * conf/i386-pc.rmk: Likewise.
39756 * conf/powerpc-ieee1275.rmk: Likewise.
39757 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
39758
a8aa5762 397592006-12-12 Marco Gerards <marco@gnu.org>
39760
39761 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
39762
39763 * kern/env.c (grub_env_unset): Don't free the member `value' when
39764 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
39765 pointer.
39766
39767 * normal/main.c (current_menu): Removed.
39768 (free_menu): Unset the `menu' environment variable.
39769 (grub_normal_menu_addentry): Make use of the environment variable
39770 `menu', instead of using the global `current_menu'. Allocate
39771 memory for the sourcecode of this entry.
39772 (read_config_file): New argument `nested', changed all callers.
39773 Only in the case of a new context, initialize a new menu. Set the
39774 `menu' environment variable.
39775 (grub_normal_execute): Don't set and unset the environment
39776 variable `menu' here anymore. Only free the menu when leaving the
39777 context.
39778
39779 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
39780 leak.
39781
957b3a3e 397822006-12-11 Marco Gerards <marco@gnu.org>
39783
39784 * normal/menu_entry.c (run): Fix off by one bug so the last line
39785 is executed. Move the loader check to outside the loop.
39786
ef875714 397872006-12-08 Hollis Blanchard <hollis@penguinppc.org>
39788
39789 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
39790
4e739985 397912006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
39792
39793 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
39794 the number of sectors. Reported by Andrey Shuvikov
39795 <mr_hyro@yahoo.com>.
f19dbdb7 39796
790707f2 397972006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
39798
39799 * kern/disk.c (grub_disk_read): When there is a read error, always
39800 try to read only the necessary data.
f19dbdb7 39801
790707f2 39802 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
39803 disk/raid.c.
39804 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
39805 prototype.
39806 [GRUB_UTIL] (grub_raid_fini): Likewise.
39807 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 39808 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 39809 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
39810 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
39811 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
39812 and grub_raid_fini().
f19dbdb7 39813
03e58196 398142006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39815
39816 * include/grub/types.h (__unused): Rename to UNUSED.
39817 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
39818 (grub_elf64_size): Likewise.
f19dbdb7 39819
ae4f23bf 398202006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39821
39822 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
39823 grub_error_push and grub_error_pop in the error-handling path.
39824 (grub_elf32_load_segment): Only call grub_file_read with non-zero
39825 length.
39826
2166cc83 398272006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39828
39829 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
39830 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39831 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39832 (kernel_elf_SOURCES): Likewise.
39833 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
39834 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
39835 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39836 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39837 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
39838 (elf_mod_SOURCES): New variable.
39839 (elf_mod_CFLAGS): Likewise.
39840 (elf_mod_LDFLAGS): Likewise.
39841 * include/grub/types.h (__unused): New macro.
39842 * include/grub/elfload.h: New file.
39843 * kern/elf.c: Likewise.
39844 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
39845 (ELF32_LOADMASK): New macro.
39846 (ELF64_LOADMASK): Likewise.
39847 (vmlinux): Removed.
39848 (grub_linux_load32): New function.
39849 (grub_linux_load64): Likewise.
39850 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
39851 Use grub_elf_t instead of grub_file_t.
39852
a09d5aa5 398532006-11-02 Hollis Blanchard <hollis@penguinppc.org>
39854
39855 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
39856 `catch_result' to struct set_color_args.
39857
d976fc51 398582006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39859
39860 * normal/menu.c: Include grub/script.h.
39861 * normal/menu_entry.c: Likewise.
39862 * include/grub/normal.h: Do not include grub/script.h.
39863
67507549 398642006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39865
39866 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
39867
69203a99 398682006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39869
39870 * kern/disk.c (grub_disk_open): Print debug messages when opening a
39871 disk.
39872 (grub_disk_close): Print debug messages when closing a disk.
39873 (grub_disk_read): Print debug messages when disk read fails.
39874 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
39875 filesystem type.
39876 * kern/partition.c: Include misc.h.
39877 (grub_partition_iterate): Print debug messages when detecting
39878 partition type.
39879
e2b8278c 398802006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39881
39882 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
39883 is negative.
39884 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
39885
97b2f2ff 398862006-10-26 Hollis Blanchard <hollis@penguinppc.org>
39887
39888 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39889 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
39890
6555d655 398912006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
39892
39893 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
39894 instead of sizeof(lv). Patch by Michael Guntsche.
39895
4d42b77f 398962006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
39897
39898 * disk/lvm.c: Rename VGS to VG_LIST.
39899 (grub_lvm_iterate): Change VGS->LV to VG-LV.
39900 (grub_lvm_open): Likewise.
39901 Thanks to Michael Guntsche for finding this bug.
39902
5d74d927 399032006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39904
39905 * configure.ac (AC_INIT): Bumped to 1.95.
39906
a1bb27e4 399072006-10-14 Robert Millan <rmh@aybabtu.com>
39908
39909 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
39910 with "/dev/.static/dev/md".
39911
e0994b8b 399122006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39913
39914 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
39915 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
39916 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
39917 DRIVE_NAME are always freed.
39918
39919 * util/i386/pc/biosdisk.c (make_device_name): Add one into
39920 DOS_PART, as a DOS partition is counted from one instead of zero
39921 now. Reported by Robert Millan.
39922
ddd5cee9 399232006-10-14 Robert Millan <rmh@aybabtu.com>
39924
39925 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
39926 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
39927 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
39928 string returned by grub_guess_root_device.
39929 * util/i386/pc/grub-setup.c: Likewise.
39930 * util/i386/pc/grub-probefs.c: Likewise.
39931
39932 * util/i386/pc/grub-probefs.c: Rename to ...
39933 * util/i386/pc/grub-probe.c: ... this.
39934 * DISTLIST: Remove grub-probefs, add grub-probe.
39935 * conf/i386-efi.rmk: Likewise.
39936 * conf/i386-pc.rmk: Likewise.
39937 * util/i386/pc/grub-install.in: Likewise.
39938
39939 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
39940 choose which information we want to print.
39941
2b002173 399422006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39943
39944 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
39945 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
39946 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
39947 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
39948 video/readers/tga.c and video/i386/pc/vbeutil.c.
39949
399502006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
39951
39952 Added support for RAID and LVM.
f19dbdb7 39953
2b002173 39954 * disk/lvm.c: New file.
39955 * disk/raid.c: Likewise.
39956 * include/grub/lvm.h: Likewise.
f19dbdb7 39957 * include/grub/raid.h: Likewise.
2b002173 39958 * include/grub/util/lvm.h: Likewise.
39959 * include/grub/util/raid.h: Likewise.
39960 * util/lvm.c: Likewise.
39961 * util/raid.c: Likewise.
39962
39963 * include/grub/disk.h (grub_disk_dev_id): Add
39964 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
39965 (grub_disk_get_size): New prototype.
39966 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
39967 returns a partition.
39968 (grub_disk_get_size): New function.
f19dbdb7 39969
2b002173 39970 * kern/i386/pc/init.c (make_install_device): Copy the prefix
39971 verbatim if grub_install_dos_part is -2.
39972
39973 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
39974 and LVM devices.
39975
39976 * util/i386/pc/grub-setup.c (setup): New argument
39977 MUST_EMBED. Force embedding of GRUB when the argument is
39978 true. Close FILE before returning.
39979 (main): Add support for RAID and LVM.
f19dbdb7 39980
2b002173 39981 * conf/common.rmk: Add RAID and LVM modules.
39982 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
39983 util/lvm.c.
39984 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
39985
39986 * kern/misc.c (grub_strstr): New function.
39987 * include/grub/misc.h (grub_strstr): New prototype.
39988
050548d0 399892006-10-10 Tristan Gingold <tristan.gingold@bull.net>
39990
39991 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
39992
da849d2d 399932006-10-05 Tristan Gingold <tristan.gingold@bull.net>
39994
39995 * kern/misc.c (grub_strtoull): Guess the base only if not
39996 specified.
39997
97b2f2ff 399982006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 39999
40000 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40001 PowerMac support.
40002
97b2f2ff 400032006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 40004
40005 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40006
40007 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40008 Remove `flags' argument. All callers changed.
40009 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40010 (IEEE1275_IHANDLE_INVALID): New variable.
40011 (IEEE1275_CELL_INVALID): New variable.
40012 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40013 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40014 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40015 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40016 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40017 codes from Open Firmware. All callers updated.
40018 (grub_ieee1275_next_property): Directly return Open Firmware return
40019 code.
40020 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40021 Standardize error checking from `grub_ieee1275_get_property'.
40022 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40023 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40024
97b2f2ff 400252006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 40026
40027 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40028 `instance_to_package_args' to `instance_to_path_args'.
40029
40030 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40031 `grub_ieee1275_chosen'.
40032
40033 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40034 `grub_ieee1275_interpret'.
40035
97b2f2ff 400362006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 40037
40038 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40039
97b2f2ff 400402006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 40041
40042 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40043 (__cmpdi): Likewise.
40044
40045 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40046 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40047 `grub_ssize_t'.
40048
02bb8acc 40049 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 40050
40051 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40052 to type `grub_ssize_t'.
40053 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40054
7f9a8531 400552006-09-22 Marco Gerards <marco@gnu.org>
40056
40057 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40058 newlines.
40059
b5ef1102 400602006-09-22 Marco Gerards <marco@gnu.org>
40061
40062 * commands/echo.c: New file.
40063
40064 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40065
40066 * conf/common.rmk (echo_mod_SOURCES): New variable.
40067 (echo_mod_CFLAGS): Likewise.
40068 (echo_mod_LDFLAGS): Likewise.
40069
2cff3677 400702006-09-22 Marco Gerards <marco@gnu.org>
40071
40072 * normal/main.c (get_line): Malloc memory instead of using
40073 preallocated memory. Removed the arguments `cmdline' and
40074 `max_len'. Updated all callers.
40075
6ba4688b 400762006-09-22 Marco Gerards <marco@gnu.org>
40077
40078 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40079 (normal_mod_DEPENDENCIES): Likewise.
40080
40081 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40082 (normal_mod_DEPENDENCIES): Likewise.
40083
40084 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40085
e02ac02c 400862006-09-22 Johan Rydberg <jrydberg@gnu.org>
40087
40088 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40089 programs.
40090 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40091 (normal_mod_DEPENDENCIES): Likewise.
40092 * conf/i386-pc.mk: Regenerate.
40093 * conf/i386-efi.mk: Likewise
40094 * conf/common.mk: Likewise.
40095 * conf/powerpc-ieee1275.mk: Likewise.
40096 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40097
8d252e44 400982006-09-22 Robert Millan <rmh@aybabtu.com>
40099
40100 Sync with i386 version.
40101 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40102 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40103
209bf7ac 401042006-09-21 Robert Millan <rmh@aybabtu.com>
40105
40106 Import from GRUB Legacy (lib/device.c):
40107 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40108 (init_device_map) [__linux__]: Add support for I2O devices.
40109
6b146090 401102006-09-14 Marco Gerards <marco@gnu.org>
40111
40112 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40113 `-melf_i386'.
40114
e38600a8 401152006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 40116
40117 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40118 /boot/grub/*.lst.
78fa1790 40119
2952da5d 40120 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 40121
2952da5d 40122 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40123 before adding it to device.map.
40124
01b82a64 401252006-08-15 Johan Rydberg <jrydberg@gnu.org>
40126
fe6b695a 40127 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 40128 compiles a file; using the -MD option.
40129 * conf/common.mk: Regenerate.
40130 * conf/i386-pc.mk: Likewise.
40131 * conf/i386-efi.mk: Likewise.
40132 * conf/powerpc-ieee1275.mk: Likewise.
40133 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40134
1064790d 401352006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40136
40137 Move the prototypes of grub_setjmp and grub_longjmp to
40138 cpu/setjmp.h, so that each architecture may specify different
40139 attributes.
f19dbdb7 40140
1064790d 40141 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40142 (grub_longjmp): Likewise.
40143 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40144 (grub_longjmp): Likewise.
40145 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40146 (grub_longjmp): Likewise.
40147
40148 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40149 [!GRUB_UTIL] (grub_longjmp): Removed.
40150
29dda3ed 401512006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40152
40153 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40154 "color!" method does not return any value.
40155
ad2a06ed 401562006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40157
40158 * include/grub/bitmap.h: New file.
40159
40160 * include/grub/i386/pc/vbeutil.h: Likewise.
40161
40162 * video/bitmap.c: Likewise.
40163
40164 * video/readers/tga.c: Likewise.
40165
40166 * video/i386/pc/vbeutil.c: Likewise.
40167
40168 * commands/videotest.c: Code cleanup and updated to reflect to new
40169 video API.
40170
40171 * term/gfxterm.c: Likewise.
40172
40173 * video/video.c: Likewise.
40174
40175 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40176 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40177 (bitmap_mod_SOURCES): New entry.
40178 (bitmap_mod_CFLAGS): Likewise.
40179 (bitmap_mod_LDFLAGS): Likewise.
40180 (tga_mod_SOURCES): Likewise.
40181 (tga_mod_CFLAGS): Likewise.
40182 (tga_mod_LDFLAGS): Likewise.
40183
40184 * include/grub/video.h (grub_video_blit_operators): New enum type.
40185 (grub_video_render_target): Changed as forward declaration and moved
40186 actual definition to be video driver specific.
40187 (grub_video_adapter.blit_bitmap): Added blitting operator.
40188 (grub_video_adapter.blit_render_target): Likewise.
40189 (grub_video_blit_bitmap): Likewise.
40190 (grub_video_blit_render_target): Likewise.
40191
40192 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40193 driver specific render target definition.
40194 (grub_video_vbe_map_rgba): Added driver internal helper.
40195 (grub_video_vbe_unmap_color): Updated to use
40196 grub_video_i386_vbeblit_info.
40197 (grub_video_vbe_get_video_ptr): Likewise.
40198
40199 * include/grub/i386/pc/vbeblit.h
40200 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40201 grub_video_i386_vbeblit_info.
40202 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40203 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40204 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40205 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40206 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40207 (grub_video_i386_vbeblit_index_index): Likewise.
40208 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40209 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40210 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40211 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40212 operator.
40213 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40214 operator.
40215
40216 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40217 include/grub/i386/pc/vbeblit.h.
40218
40219 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40220 Updated to use grub_video_i386_vbeblit_info.
40221 (grub_video_i386_vbefill_R8G8B8): Likewise.
40222 (grub_video_i386_vbefill_index): Likewise.
40223 (grub_video_i386_vbefill): Added generic filler.
40224
40225 * video/i386/pc/vbefill.c: Updated to reflect changes on
40226 include/grub/i386/pc/vbefill.h.
40227
40228 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40229 grub_video_i386_vbeblit_info.
40230 (grub_video_vbe_unmap_color): Likewise.
40231 (grub_video_vbe_blit_glyph): Likewise.
40232 (grub_video_vbe_scroll): Likewise.
40233 (grub_video_vbe_draw_pixel): Removed function.
40234 (grub_video_vbe_get_pixel): Likewise.
40235 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40236 updated code to use it.
40237 (common_blitter): Added common blitter for render target and bitmap.
40238 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40239 (grub_video_vbe_blit_render_target): Likewise.
40240
bc8c036d 402412006-07-30 Johan Rydberg <jrydberg@gnu.org>
40242
40243 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40244 is in text mode if there is no console control protocol instance
40245 available.
40246
684a8eff 402472006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40248
40249 * include/grub/video.h: Code cleanup.
40250
40251 * include/grub/i386/pc/vbe.h: Likewise.
40252
40253 * video/i386/pc/vbe.c: Likewise.
40254
40255 * video/i386/pc/vbeblit.c: Likewise.
40256
40257 * video/i386/pc/vbefill.c: Likewise.
40258
40259 * video/video.c: Likewise. Also added more comments.
40260
5915059b 402612006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40262
40263 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40264 (struct grub_biosdisk_dap): Likewise.
40265
40266 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40267 linkage settings for all functions.
40268
90ce5d56 402692006-07-12 Marco Gerards <marco@gnu.org>
40270
40271 * configure.ac (--enable-mm-debug): Fix typo.
40272
40273 * genkernsyms.sh.in: Use proper quoting for `CC'.
40274
43e7f879 402752006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40276
40277 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40278 (normal_mod_ASFLAGS): Remove "-m32".
40279
4889bdec 402802006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40281
40282 * util/misc.c: Include config.h.
40283 [!HAVE_MEMALIGN]: Do not include malloc.h.
40284 (grub_memalign): Use posix_memalign, if present. Then, use
40285 memalign, if present. Otherwise, emit an error.
40286
40287 * util/grub-emu.c: Do not include malloc.h.
40288
40289 * include/grub/util/misc.h: Include unistd.h. This is required for
40290 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40291 D. Eades III <hde@foobar-qux.org>.
40292
40293 * configure.ac (AC_GNU_SOURCE): Added.
40294 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40295 type.
40296
fd39d4da 402972006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40298
40299 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40300 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40301
b786f3b5 403022006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40303
40304 * include/grub/types.h (grub_host_addr_t): Rename to
40305 grub_target_addr_t.
40306 (grub_host_off_t): Rename to grub_target_off_t.
40307 (grub_host_size_t): Rename to grub_target_size_t.
40308 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40309 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40310
40311 * include/grub/kernel.h (struct grub_module_header): Change type
40312 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40313 (grub_module_info): Likewise.
f19dbdb7 40314
051988bb 403152006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40316
40317 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40318 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40319 Velazquez <jesus.velazquez@gmail.com>.
40320
deae281b 403212006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40322
40323 Count partitions from 1 instead of 0 in the string representation
40324 of partitions. Still use 0-based internally.
f19dbdb7 40325
deae281b 40326 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40327 (sun_partition_map_iterate): Use grub_partition_t instead of
40328 struct grub_partition *. Cast DESC->START_CYLINDER to
40329 grub_uint64_t after converting the endian.
40330 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40331 (sun_partition_map_get_name): Add 1 to P->INDEX.
40332
40333 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40334 PCDATA->DOS_PART.
40335 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40336
40337 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40338 zero instead of one.
40339 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40340 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40341
40342 * partmap/apple.c (apple_partition_map_iterate): Change the type
40343 of POS to unsigned.
40344 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40345 (apple_partition_map_get_name): Add 1 into P->INDEX.
40346
40347 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40348 of POS to unsigned.
40349 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40350 calculate the offset of a partition.
40351 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40352 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40353
40354 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40355 SECTOR to grub_disk_addr_t.
40356 (acorn_partition_map_iterate): Likewise.
40357 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40358 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40359 top.
40360 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40361
40362 * kern/i386/pc/init.c (make_install_device): Add 1 into
40363 GRUB_INSTALL_DOS_PART.
40364
40365 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40366 conditional.
40367
524a1e6a 403682006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40369
40370 Clean up the code to support 64-bit addressing in disks and
40371 files. This change is not enough for filesystems yet.
f19dbdb7 40372
524a1e6a 40373 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40374 type of "start" to grub_uint64_t.
40375 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40376 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40377 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40378 convert addresses.
40379
40380 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40381 to grub_disk_addr_t.
40382
40383 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40384 string.
40385
40386 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40387
40388 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40389 to char *.
40390
40391 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40392
40393 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40394
40395 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40396
40397 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40398 to grub_off_t, to detect an error from grub_file_seek.
40399 (grub_multiboot_load_elf32): Likewise.
40400
40401 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40402 maximum unsigned long value when an overflow is detected.
40403 (grub_strtoull): New function.
40404 (grub_divmod64): Likewise.
40405 (grub_lltoa): use grub_divmod64.
40406
40407 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40408 grub_disk_addr_t.
40409 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40410 the pointer to next character. Use grub_strtoull instead of
40411 grub_strtoul.
40412 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40413 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40414 respectively.
40415
fe6b695a 40416 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 40417 return value is signed.
40418 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40419 test if OFFSET is less than zero, as OFFSET is unsigned now.
40420
40421 * kern/disk.c (struct grub_disk_cache): Change the type of
40422 "sector" to grub_disk_addr_t.
40423 (grub_disk_cache_get_index): Change the type of SECTOR to
40424 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40425 unsigned after shifting.
40426 (grub_disk_cache_invalidate): Change the type of SECTOR to
40427 grub_disk_addr_t.
40428 (grub_disk_cache_unlock): Likewise.
40429 (grub_disk_cache_store): Likewise.
40430 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40431 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40432 grub_disk_addr_t and grub_uint64_t, respectively.
40433 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40434 body, as the value of OFFSET is tweaked by
40435 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40436 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40437 respectively.
40438 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40439 body, as the value of OFFSET is tweaked by
40440 grub_disk_check_range. Change the types of LEN and N to
40441 grub_size_t.
40442
40443 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40444 and "saved_offset" to grub_off_t.
40445 (test_header): Cast BUF to char *.
40446 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40447 to char *.
40448 (grub_gzio_read): Change the types of OFFSET and SIZE to
40449 grub_off_t and grub_size_t, respectively.
40450
40451 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40452 Removed.
40453 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40454 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40455 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40456 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40457 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40458
40459 * include/grub/types.h (grub_off_t): Unconditionally set to
40460 grub_uint64_t.
40461 (grub_disk_addr_t): Changed to grub_uint64_t.
40462
40463 * include/grub/partition.h (struct grub_partition): Change the
40464 types of "start", "len" and "offset" to grub_disk_addr_t,
40465 grub_uint64_t and grub_disk_addr_t, respectively.
40466 (grub_partition_get_start): Return grub_disk_addr_t.
40467 (grub_partition_get_len): Return grub_uint64_t.
40468
40469 * include/grub/misc.h (grub_strtoull): New prototype.
40470 (grub_divmod64): Likewise.
40471
40472 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40473 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40474 grub_off_t, respectively.
40475 All callers and references changed.
40476
40477 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40478 grub_size_t in "read".
40479 All callers and references changed.
40480
40481 * include/grub/file.h (struct grub_file): Change the types of
40482 "offset" and "size" to grub_off_t and grub_off_t,
40483 respectively. Change the type of SECTOR to grub_disk_addr_t in
40484 "read_hook".
40485 (grub_file_read): Change the type of LEN to grub_size_t.
40486 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40487 grub_off_t.
40488 (grub_file_size): Return grub_off_t.
40489 (grub_file_tell): Likewise.
40490 All callers and references changed.
40491
40492 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40493 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40494 "write".
40495 (struct grub_disk): Change the type of "total_sectors" to
40496 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 40497 "read_hook".
524a1e6a 40498 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40499 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40500 (grub_disk_write): Likewise.
40501 All callers and references changed.
40502
40503 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40504 char * for grub_strncmp to silence gcc.
40505 (grub_iso9660_mount): Likewise.
40506 (grub_iso9660_mount): Likewise.
40507 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40508 return statement.
40509 (grub_iso9660_iterate_dir): Likewise.
40510 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40511
40512 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40513 LEN to grub_disk_addr_t and grub_size_t, respectively.
40514
40515 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40516
40517 * fs/jfs.c (grub_jfs_read_file): Likewise.
40518
40519 * fs/minix.c (grub_jfs_read_file): Likewise.
40520
40521 * fs/sfs.c (grub_jfs_read_file): Likewise.
40522
40523 * fs/ufs.c (grub_jfs_read_file): Likewise.
40524
40525 * fs/xfs.c (grub_jfs_read_file): Likewise.
40526
40527 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
40528 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
40529 respectively.
40530
40531 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
40532 BLKNR to -1 instead of returning GRUB_ERRNO.
40533 (grub_ext2_read_file): Change the types of SECTOR and
40534 LEN to grub_disk_addr_t and grub_size_t, respectively.
40535
40536 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
40537 LEN to grub_disk_addr_t and grub_size_t, respectively.
40538
40539 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
40540 grub_file_read.
40541
40542 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
40543 string. Do not cast SECTOR explicitly.
40544
40545 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
40546 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
40547 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
40548 grub_disk_addr_t and grub_size_t, respectively. If the sector is
40549 over 2TB and LBA mode is not supported, raise an error.
40550 (get_safe_sectors): New function.
40551 (grub_biosdisk_read): Use get_safe_sectors.
40552 (grub_biosdisk_write): Likewise.
40553
40554 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
40555 (grub_efidisk_write): Likewise.
40556
40557 * disk/loopback.c (delete_loopback): Cosmetic changes.
40558 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
40559 correctly.
40560 (grub_loopback_open): Likewise.
40561 (grub_loopback_read): Likewise. Also, change the type of POS to
40562 grub_off_t, and fix the usage of grub_memset.
40563
40564 * commands/i386/pc/play.c: Include grub/machine/time.h.
40565
40566 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
40567 print FILE->SIZE.
40568
40569 * commands/configfile.c: Include grub/env.h.
40570
40571 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
40572 GRUB_ERRNO directly instead. Change the type of POS to
40573 grub_off_t. Follow the coding standard.
40574
40575 * commands/blocklist.c: Include grub/partition.h.
40576 (grub_cmd_blocklist): Return an error if the underlying device is
40577 not a disk. Take the starting sector of a partition into account,
40578 if a partition is used.
40579
40580 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
40581 a length field.
40582 (lba_mode): Support 64-bit addresses.
40583 (chs_mode): Likewise.
40584 (copy_buffer): Adapted to the new offsets of a length field and a
40585 segment field.
40586 (blocklist_default_start): Allocate 64-bit space.
40587
40588 * boot/i386/pc/boot.S (force_lba): Removed.
40589 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 40590 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 40591 space.
40592 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
40593 is useless.
40594 (lba_mode): Refactored to support a 64-bit address. More size
40595 optimization.
40596 (setup_sectors): Likewise.
40597
53af98ad 405982006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40599
40600 * DISTLIST: Added include/grub/i386/linux.h. Removed
40601 include/grub/i386/pc/linux.h
40602
40603 * configure.ac (AC_INIT): Bumped to 1.94.
40604
40605 * config.guess: Updated from gnulib.
40606 * config.sub: Likewise.
40607 * install-sh: Likewise.
40608 * mkinstalldirs: Likewise.
40609
b4c1940a 406102006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40611
40612 * conf/common.rmk (grub_modules_init.lst): Depended on
40613 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
40614 MODSRCFILES.
40615
40616 * genmk.rb (PModule::rule): Reverted the previous change.
40617
cfca1cfd 406182006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40619
40620 * conf/common.rmk (grub_modules_init.lst): Depends on
40621 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
40622 that the target does not exist before producing.
40623 (grub_modules_init.h): Remove the target before generating.
40624 (grub_emu_init.c): Likewise.
40625
40626 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
40627
aa6d7826 406282006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
40629
40630 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
40631 for the target-specific tests. Make sure that we also have the
40632 up-to-date target variables for those tests.
40633
26c607b9 406342006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40635
40636 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
40637 (PModule::rule): Likewise.
40638
0162321a 406392006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40640
40641 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
40642 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
40643 target-specific flags should be prefixed.
40644 (PModule::rule): Likewise.
40645
6c826348 406462006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
40647
40648 * configure.ac (CMP): Check if cmp is available explicitly.
40649
b977bf01 406502006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
40651
40652 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
40653 (target_cpu): New variable.
40654 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 40655
b977bf01 40656 * util/i386/pc/grub-install.in (host_cpu): Removed.
40657 (target_cpu): New variable.
40658 (pkglibdir): Use target_cpu instead of host_cpu.
40659
40660 * util/genmoddep.c: Removed.
f19dbdb7 40661
b977bf01 40662 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
40663 instead of GRUB_HOST_SIZEOF_VOID_P.
40664 * kern/dl.c: Likewise.
40665
40666 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
40667 ...
40668 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40669 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40670 (GRUB_TARGET_SIZEOF_LONG): ... this.
40671 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40672 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40673 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40674 to ...
40675 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40676 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40677 (GRUB_TARGET_SIZEOF_LONG): ... this.
40678 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40679 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40680 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40681 to ...
40682 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40683 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40684 (GRUB_TARGET_SIZEOF_LONG): ... this.
40685 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40686 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40687
40688 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
40689 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
40690 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
40691 instead of GRUB_HOST_SIZEOF_LONG.
40692 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
40693 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
40694 GRUB_CPU_WORDS_BIGENDIAN.
40695 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
40696 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
40697 grub_host_ssize_t.
40698
40699 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
40700 (genmoddep_SOURCES): Likewise.
40701 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
40702 (genmoddep_SOURCES): Likewise.
40703 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
40704 (genmoddep_SOURCES): Likewise.
40705 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
40706 Likewise.
40707 (genmoddep_SOURCES): Likewise.
40708
40709 * genmoddep.awk: New file.
40710
40711 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
40712 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
40713 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
40714 (PModule::rule): Likewise.
40715 (Program::rule): Likewise.
40716 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
40717 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
40718 respectively.
40719
40720 * configure.ac: Rewritten intensively to use host and target
40721 instead of build and host, respectively.
40722
40723 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
40724 (host_cpu): Removed.
40725 (target_cpu): New variable.
40726 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
40727 (BUILD_CC): Removed.
40728 (BUILD_CFLAGS): Likewise.
40729 (BUILD_CPPFLAGS): Likewise.
40730 (TARGET_CC): New variable.
40731 (TARGET_CFLAGS): Likewise.
40732 (TARGET_CPPFLAGS): Likewise.
40733 (TARGET_LDFLAGS): Likewise.
40734 (AWK): Likewise.
40735 (include): Use target_cpu instead of host_cpu.
40736 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 40737
b977bf01 40738 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
40739
f09771a1 407402006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
40741
40742 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
40743 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
40744 field 'false' to 'exec_on_false'.
40745 (grub_script_create_cmdif): Renamed argument names to reflect above
40746 changes.
40747
40748 * normal/execute.c (grub_script_execute_cmdif): Likewise.
40749
40750 * normal/script.c (grub_script_create_cmdif): Likewise.
40751
118f4fb3 407522006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
40753
40754 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
40755 top.
40756 (grub_hfsplus_btree_recptr): Likewise.
40757 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
40758 FILEBLOCK both to pass a block number and store next block
40759 number.
40760 (grub_hfsplus_read_block): Rewritten heavily to support an extent
40761 overflow file correctly. Specify errors appropriately, because
40762 fshelp expects that GRUB_ERRNO is set when fails. Reuse
40763 grub_hfsplus_btree_recptr to get the pointer to a found key.
40764 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
40765 is found.
40766
40767 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
40768 linux.mod.
40769 (_linux_mod_SOURCES): New variable.
40770 (_linux_mod_CFLAGS): Likewise.
40771 (_linux_mod_LDFLAGS): Likewise.
40772 (linux_mod_SOURCES): Likewise.
40773 (linux_mod_CFLAGS): Likewise.
40774 (linux_mod_LDFLAGS): Likewise.
40775
40776 * DISTLIST: Added loader/i386/efi/linux.c,
40777 loader/i386/efi/linux_normal.c and
40778 include/grub/i386/efi/loader.h.
40779
40780 * loader/i386/efi/linux.c: New file.
40781 * loader/i386/efi/linux_normal.c: Likewise.
40782 * include/grub/i386/efi/loader.h: Likewise.
40783
89a7d726 407842006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
40785
40786 * commands/blocklist.c: New file.
40787
40788 * DISTLIST: Added commands/blocklist.c.
40789
40790 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 40791 color for the background, and a darker color for the foreground.
89a7d726 40792 (grub_console_checkkey): Return READ_KEY.
40793 (grub_console_cls): Set the background to
40794 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
40795
40796 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
40797
40798 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
40799 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
40800
40801 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
40802 prototype.
40803
40804 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
40805 BG. The spec is wrong again.
40806
40807 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
40808 prototype.
40809 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
40810
40811 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40812 commands/blocklist.c.
40813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 40814
89a7d726 40815 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
40816 (blocklist_mod_SOURCES): New variable.
40817 (blocklist_mod_CFLAGS): Likewise.
40818 (blocklist_mod_LDFLAGS): Likewise.
40819
75c8f258 408202006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
40821
40822 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
40823 duplication.
40824 (lba_mode): Use %eax more intensively to reduce the code size.
40825
da2eb181 408262006-05-20 Marco Gerards <marco@gnu.org>
40827
40828 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
40829
40830 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
40831 for `menuentry'.
40832 (script): Accept leading newlines.
40833 (newlines): New rule to describe 0 or more newlines.
40834 (commands): Accept `command' with trailing newline. Fixed the
40835 order in which arguments were passed to `grub_script_add_cmd'.
40836 Accept commands separated by newlines.
40837 (function): Changed to accept newlines.
40838 (menuentry) Rewritten.
40839
40840 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
40841 front of the list, instead of to the end.
40842
577b4050 408432006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
40844
40845 * util/i386/pc/grub-install.in (bindir): New variable.
40846 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
40847 Shaver <lbgwjl@gmail.com>.
40848
0d6e1189 408492006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
40850
40851 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
40852 grub/machine/linux.h
40853 * loader/i386/pc/linux.c: Likewise.
40854
40855 * include/grub/i386/pc/linux.h: Moved to ...
40856 * include/grub/i386/linux.h: ... here.
40857
40858 * include/grub/i386/linux.h (struct linux_kernel_params): New
40859 struct.
f19dbdb7 40860
31b86e9f 408612006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
40862
40863 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
40864 checking.
40865 (grub_video_vbe_blit_glyph): Likewise.
40866 (grub_video_vbe_blit_bitmap): Likewise.
40867 (grub_video_vbe_blit_render_target): Likewise.
40868
83b984de 408692006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
40870
40871 * configure.ac (--with-platform): Properly quote the square
40872 brackets.
40873
5f0413bd 408742006-05-08 Marco Gerards <marco@gnu.org>
40875
40876 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
40877 this...
40878 (kernel_elf_HEADERS): ...to this. Updated all users.
40879 (grubof_symlist.c): Renamed from this...
40880 (kernel_elf_symlist.c): ...to this. Updated all users.
40881 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40882 (grubof_SOURCES): Renamed from this...
40883 (kernel_elf_SOURCES): ...to this.
40884 (grubof_HEADERS): Renamed from this...
40885 (kernel_elf_HEADERS): ...to this.
40886 (grubof_CFLAGS): Renamed from this...
40887 (kernel_elf_CFLAGS): ...to this.
40888 (grubof_ASFLAGS): Renamed from this...
40889 (kernel_elf_ASFLAGS): ...to this.
40890 (grubof_LDFLAGS): Renamed from this...
40891 (kernel_elf_LDFLAGS): ...to this.
40892
40893 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
40894 this...
40895 (kernel_elf_HEADERS): ...to this. Updated all users.
40896 (grubof_symlist.c): Renamed from this...
40897 (kernel_elf_symlist.c): ...to this. Updated all users.
40898 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40899 (grubof_SOURCES): Renamed from this...
40900 (kernel_elf_SOURCES): ...to this.
40901 (grubof_HEADERS): Renamed from this...
40902 (kernel_elf_HEADERS): ...to this.
40903 (grubof_CFLAGS): Renamed from this...
40904 (kernel_elf_CFLAGS): ...to this.
40905 (grubof_ASFLAGS): Renamed from this...
40906 (kernel_elf_ASFLAGS): ...to this.
40907 (grubof_LDFLAGS): Renamed from this...
40908 (kernel_elf_LDFLAGS): ...to this.
40909
40910 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
40911 `kernel.elf' instead of `grubof'.
40912
05568c2e 409132006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
40914
40915 Add --with-platform to configure. Use pkglibdir instead of
40916 pkgdatadir. This is reported by Roger Leigh.
40917
40918 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
40919 (host_vendor): Likewise.
40920 (host_os): Likewise.
40921 (pkgdatadir): Likewise.
40922 (platform): New variable.
40923 (pkglibdir): Likewise.
40924 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 40925
05568c2e 40926 * util/i386/pc/grub-install.in (datadir): Removed.
40927 (host_vendor): Likewise.
40928 (host_os): Likewise.
40929 (pkgdatadir): Likewise.
40930 (platform): New variable.
40931 (pkglibdir): Likewise.
40932 Use PKGLIBDIR instead of PKGDATADIR.
40933
40934 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
40935 instead of GRUB_DATADIR.
40936 (main): Likewise.
40937 * util/i386/pc/grub-mkimage.c (usage): Likewise.
40938 (main): Likewise.
40939 * util/i386/efi/grub-mkimage.c (usage): Likewise.
40940 (main): Likewise.
40941
40942 * configure.ac (--with-platform): New option.
40943 Use PLATFORM instead of HOST_VENDOR to specify a platform.
40944
40945 * Makefile.in: Include a makefile based on PLATFORM instead of
40946 HOST_VENDOR.
40947 (pkgdatadir): Not appended by the machine type.
40948 (pkglibdir): Appended by the machine type.
40949 (host_vendor): Removed.
40950 (platform): New variable.
40951 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
40952 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
40953 (uninstall): Likewise.
40954
4e93851c 409552006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
40956
40957 Use the environment context in the menu. Remove the commands
40958 "default" and "timeout", and use variables instead.
f19dbdb7 40959
4e93851c 40960 * normal/menu.c: Include grub/env.h.
40961 (print_entry): Cast TITLE to silence gcc.
40962 (get_timeout): New function.
40963 (set_timeout): Likewise.
40964 (get_entry_number): Likewise.
40965 (run_menu): Use a default entry, a fallback entry and a timeout
40966 in the environment variables "default", "fallback" and
40967 "timeout". Also, tweak the default entry if it is not within the
40968 current menu entries.
40969 (grub_menu_run): Use a fallback entry in the environment variable
40970 "fallback".
40971
40972 * normal/main.c (read_config_file): Do not initialize
40973 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
40974 NEWMENU->TIMEOUT.
40975 (grub_normal_execute): Use a data slot to store the menu.
40976
40977 * include/grub/normal.h (struct grub_menu): Removed default_entry,
40978 fallback_entry and timeout.
40979 (struct grub_menu_list): Removed.
40980 (grub_menu_list_t): Likewise.
40981 (struct grub_context): Likewise.
40982 (grub_context_t): Likewise.
40983 (grub_context_get): Likewise.
40984 (grub_context_get_current_menu): Likewise.
40985 (grub_context_push_menu): Likewise.
40986 (grub_context_pop_menu): Likewise.
40987 (grub_default_init): Likewise.
40988 (grub_default_fini): Likewise.
40989 (grub_timeout_init): Likewise.
40990 (grub_timeout_fini): Likewise.
40991
40992 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
40993 and timeout.mod.
40994 (normal_mod_SOURCES): Removed normal/context.c.
40995
40996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
40997 commands/default.c, commands/timeout.c and normal/context.c.
40998 (normal_mod_SOURCES): Removed normal/context.c.
40999
41000 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41001 commands/timeout.c and normal/context.c.
41002 (normal_mod_SOURCES): Removed normal/context.c.
41003
41004 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41005 commands/default.c, commands/timeout.c and normal/context.c.
41006 (normal_mod_SOURCES): Removed normal/context.c.
41007
41008 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41009 timeout.mod.
41010 (default_mod_SOURCES): Removed.
41011 (default_mod_CFLAGS): Likewise.
41012 (default_mod_LDFLAGS): Likewise.
41013 (timeout_mod_SOURCES): Removed.
41014 (timeout_mod_CFLAGS): Likewise.
41015 (timeout_mod_LDFLAGS): Likewise.
41016
41017 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41018 normal/context.c.
41019
41020 * commands/default.c: Removed.
41021 * commands/timeout.c: Likewise.
41022 * normal/context.c: Likewise.
41023
1eb9cc1d 410242006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41025
41026 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41027
385bd9c1 410282006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41029
41030 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41031 "next" to "prev" for readability.
41032 (struct grub_env_sorted_var): New struct.
41033 (grub_env_context): Renamed to ...
41034 (initial_context): ... this.
41035 (grub_env_var_context): Renamed to ...
41036 (current_context): ... this.
41037 (grub_env_find): Look only at CURRENT_CONTEXT.
41038 (grub_env_context_open): Rewritten to copy exported variables from
41039 previous context.
41040 (grub_env_context_close): Rewritten according to the new
41041 scheme. Also, add an assertion to prevent the initial context from
41042 removed.
41043 (grub_env_insert): Removed the code for the sorted list.
41044 (grub_env_remove): Likewise.
41045 (grub_env_export): Simply mark the variable with
41046 GRUB_ENV_VAR_GLOBAL.
41047 (grub_env_set): A cosmetic change for naming consistency.
41048 (grub_env_get): Likewise.
41049 (grub_env_unset): Likewise.
41050 (grub_env_iterate): Rewritten to sort variables within this
41051 function.
41052 (grub_register_variable_hook): Fixed for naming consistency. Call
41053 grub_env_find again, only if NAME is not found at the first time.
41054 (mangle_data_slot_name): New function.
41055 (grub_env_set_data_slot): Likewise.
41056 (grub_env_get_data_slot): Likewise.
41057 (grub_env_unset_data_slot): Likewise.
41058
41059 * include/grub/env.h (grub_env_var_type): New enum.
41060 (GRUB_ENV_VAR_LOCAL): New constant.
41061 (GRUB_ENV_VAR_GLOBAL): Likewise.
41062 (GRUB_ENV_VAR_DATA): Likewise.
41063 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41064 "type".
41065 (grub_env_set): Replace VAR with NAME for consistency.
41066 (grub_register_variable_hook): Likewise.
41067 (grub_env_export): Specify the name of the argument.
41068 (grub_env_set_data_slot): New prototype.
41069 (grub_env_get_data_slot): Likewise.
41070 (grub_env_unset_data_slot): Likewise.
41071
7f362539 410722006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41073
41074 Extend the loader so that GRUB can accept a loader which comes
41075 back to GRUB when a loaded image exits. Also, this change adds
41076 support for a chainloader on EFI.
f19dbdb7 41077
7f362539 41078 * term/efi/console.c: Include grub/misc.h.
41079 (grub_console_checkkey): Display a scan code on the top for
41080 debugging. This will be removed once the EFI port gets stable.
41081 Correct the scan code mapping.
41082
41083 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41084 allocate memory from larger regions, in order to reduce the number
41085 of allocated regions. Otherwise, the MacOSX loader panics.
41086 (filter_memory_map): Avoid less than 1MB for compatibility with
41087 other loaders.
41088 (add_memory_regions): Allocate from the tail of a region, if
41089 possible, to avoid allocating a region near to 1MB, for the MacOSX
41090 loader.
41091
41092 * kern/efi/init.c (grub_efi_set_prefix): Specify
41093 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41094
41095 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41096 argument IMAGE_HANDLE and specify it to get a loaded image.
41097 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41098 grub_efi_get_loaded_image.
fe6b695a 41099 (grub_efi_get_filename): Divide the length by the size of
7f362539 41100 grub_efi_char16_t.
41101 (grub_efi_get_device_path): New function.
41102 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41103 the length by the size of grub_efi_char16_t for a file path device
41104 path node.
41105
41106 * kern/loader.c (grub_loader_noreturn): New variable.
41107 (grub_loader_set): Accept a new argument NORETURN. Set
41108 GRUB_LOADER_NORETURN to NORETURN.
41109 All callers changed.
41110 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41111 grub_machine_fini.
41112
41113 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41114 prototype.
41115 (grub_efi_get_loaded_image): Take an argument to specify an image
41116 handle.
41117
41118 * include/grub/loader.h (grub_loader_set): Added one more argument
41119 NORETURN.
41120
41121 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41122 instead of grub_efi_open_protocol.
41123 (grub_efidisk_get_device_name): Likewise.
41124 (grub_efidisk_close): Print a newline.
41125 (grub_efidisk_get_device_handle): Fixed to use
41126 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41127 GRUB_EFI_DEVICE_PATH_TYPE.
41128
41129 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41130 * kern/efi/efi.c (device_path_guid): ... here.
41131
41132 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41133 chain.mod.
41134 (kernel_mod_HEADERS): Added efi/disk.h.
41135 (_chain_mod_SOURCES): New variable.
41136 (_chain_mod_CFLAGS): Likewise.
41137 (_chain_mod_LDFLAGS): Likewise.
41138 (chain_mod_SOURCES): Likewise.
41139 (chain_mod_CFLAGS): Likewise.
41140 (chain_mod_LDFLAGS): Likewise.
41141
41142 * DISTLIST: Added include/grub/efi/chainloader.h,
41143 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41144
41145 * include/grub/efi/chainloader.h: New file.
41146 * loader/efi/chainloader.c: Likewise.
41147 * loader/efi/chainloader_normal.c: Likewise.
41148
c0111d6e 411492006-04-30 Marco Gerards <marco@gnu.org>
41150
41151 * commands/configfile.c (grub_cmd_source): New function.
41152 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41153 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41154
df5341da 411552006-04-30 Marco Gerards <marco@gnu.org>
41156
41157 * normal/execute.c (grub_script_execute_cmd): Change the return
41158 type to `grub_err_t'. Correctly return the error.
41159 (grub_script_execute_cmdline): In case a command line is not a
41160 command or a function, try to interpret it as an assignment.
41161
f85934bd 411622006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41163
41164 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41165 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41166 skip a node whose name is obviously invalid as UTF-16,
41167 i.e. contains a NUL character. Stop the iteration when the last
41168 directory entry is found. Instead of using the return value of
41169 grub_hfsplus_btree_iterate_node, store the value in RET and use
41170 it, because the iterator can be stopped by the last directory
41171 entry.
41172
8f8a2cf8 411732006-04-30 Marco Gerards <marco@gnu.org>
41174
41175 * include/grub/env.h (grub_env_export): New prototype. Reported
41176 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41177
a27e84ce 411782006-04-30 Marco Gerards <marco@gnu.org>
41179
41180 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41181 size of the extents in a catalog file record.
41182
eaef0553 411832006-04-29 Marco Gerards <marco@gnu.org>
41184
41185 * commands/configfile.c (grub_cmd_configfile): Execute the
41186 configfile within its own context.
41187
41188 * include/grub/env.h (grub_env_context_open): New prototype.
41189 (grub_env_context_close): Likewise.
41190
41191 * kern/env.c (grub_env): Removed.
41192 (grub_env_sorted): Likewise.
41193 (grub_env_context): New variable.
41194 (grub_env_var_context): Likewise.
41195 (grub_env_find): Search both the active context and the global
41196 context.
41197 (grub_env_context_open): New function.
41198 (grub_env_context_close): Likewise.
41199 (grub_env_insert): Likewise.
41200 (grub_env_remove): Likewise.
41201 (grub_env_export): Likewise.
41202 (grub_env_set): Changed to use helper functions to avoid code
41203 duplication.
41204 (grub_env_iterate): Rewritten so both the current context and the
41205 global context are being used.
41206
41207 * normal/command.c (export_command): New function.
41208 (grub_command_init): Register the `export' function.
41209
7b455f4d 412102006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41211
41212 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41213 explicitly to suppress gcc's warnings.
41214 * fs/fat.c (grub_fat_find_dir): Likewise.
41215 (grub_fat_label): Likewise.
41216 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41217 (grub_xfs_mount): Likewise.
41218 (grub_xfs_label): Likewise.
41219 * fs/affs.c (grub_affs_mount): Likewise.
41220 (grub_affs_label): Likewise.
41221 (grub_affs_iterate_dir): Likewise.
41222 * fs/sfs.c (grub_sfs_mount): Likewise.
41223 (grub_sfs_iterate_dir): Likewise.
41224 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41225 * fs/hfs.c (grub_hfs_mount): Likewise.
41226 (grub_hfs_cmp_catkeys): Likewise.
41227 (grub_hfs_find_dir): Likewise.
41228 (grub_hfs_dir): Likewise.
41229 (grub_hfs_label): Likewise.
41230 * fs/jfs.c (grub_jfs_mount): Likewise.
41231 (grub_jfs_opendir): Likewise.
41232 (grub_jfs_getent): Likewise.
41233 (grub_jfs_lookup_symlink): Likewise.
41234 (grub_jfs_label): Likewise.
41235 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41236 (grub_hfsplus_iterate_dir): Likewise.
41237 (grub_hfsplus_btree_iterate_node): Made static.
41238
41239 * util/grub-emu.c (prefix): New variable.
41240 (grub_machine_set_prefix): New function.
41241 (main): Do not set the environment variable "prefix" here. Only
41242 set PREFIX, which is used later by grub_machine_set_prefix.
41243
41244 * include/grub/video.h: Do not include grub/symbol.h.
41245 (grub_video_register): Not exported. This symbol is not defined in
41246 the kernel.
41247 (grub_video_unregister): Likewise.
41248 (grub_video_iterate): Likewise.
41249 (grub_video_setup): Likewise.
41250 (grub_video_restore): Likewise.
41251 (grub_video_get_info): Likewise.
41252 (grub_video_get_blit_format): Likewise.
41253 (grub_video_set_palette): Likewise.
41254 (grub_video_get_palette): Likewise.
41255 (grub_video_set_viewport): Likewise.
41256 (grub_video_get_viewport): Likewise.
41257 (grub_video_map_color): Likewise.
41258 (grub_video_map_rgb): Likewise.
41259 (grub_video_map_rgba): Likewise.
41260 (grub_video_fill_rect): Likewise.
41261 (grub_video_blit_glyph): Likewise.
41262 (grub_video_blit_bitmap): Likewise.
41263 (grub_video_blit_render_target): Likewise.
41264 (grub_video_scroll): Likewise.
41265 (grub_video_swap_buffers): Likewise.
41266 (grub_video_create_render_target): Likewise.
41267 (grub_video_delete_render_target): Likewise.
41268 (grub_video_set_active_render_target): Likewise.
41269
41270 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41271 Undefined.
41272 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41273
41274 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41275 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41276 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41277 instead of $(srcdir)/genkernsyms.sh.
41278
41279 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41280 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41281 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41282 instead of $(srcdir)/genkernsyms.sh.
41283
41284 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41285 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41286 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41287 instead of $(srcdir)/genkernsyms.sh.
41288
41289 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41290 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41291 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41292 instead of $(srcdir)/genkernsyms.sh.
41293
41294 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41295 genkernsyms.sh.
41296
41297 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41298 genkernsyms.sh.
41299 (gensymlist.sh): New target.
41300 (genkernsyms.sh): Likewise.
41301
41302 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41303 genkernsyms.sh.in and gensymlist.sh.in.
41304
41305 * genkernsyms.sh: Removed.
41306 * gensymlist.sh: Likewise.
f19dbdb7 41307
7b455f4d 41308 * genkernsyms.sh.in: New file.
41309 * gensymlist.sh.in: Likewise.
41310
1885bb27 413112006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41312
41313 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41314 clobber "prefix", since we may have already set it manually.
41315
71538dff 413162006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41317
41318 * kern/misc.c (abort): New alias for grub_abort.
41319
2965c7cc 413202006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41321
41322 A new machine-specific function "grub_machine_set_prefix" is
41323 defined. This is called after loading modules, so that a prefix
41324 initialization can use modules. Also, this change adds an
41325 intensive debugging feature for the memory manager via the
41326 configure option "--enable-mm-debug".
f19dbdb7 41327
2965c7cc 41328 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41329 PART.LEN.
41330
41331 * kern/sparc64/ieee1275/init.c (abort): Removed.
41332 (grub_stop): Likewise.
41333 (grub_exit): New function.
41334 (grub_set_prefix): Renamed to ...
41335 (grub_machine_set_prefix): ... this.
41336 (grub_machine_init): Do not call grub_set_prefix.
41337
41338 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41339 (grub_machine_set_prefix): ... this.
41340 (grub_machine_init): Do not call grub_set_prefix.
41341
41342 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41343 (grub_machine_init): Do not set the prefix here.
41344
41345 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41346
41347 * kern/efi/init.c: Include grub/mm.h.
41348 (grub_efi_set_prefix): New function.
41349
41350 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41351 (grub_efi_get_filename): New function.
41352 (grub_print_device_path): Renamed to ...
41353 (grub_efi_print_device_path): ... this.
41354
41355 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41356 [MM_DEBUG] (grub_realloc): Likewise.
41357 [MM_DEBUG] (grub_free): Likewise.
41358 [MM_DEBUG] (grub_memalign): Likewise.
41359 [MM_DEBUG] (grub_mm_debug): New variable.
41360 [MM_DEBUG] (grub_debug_malloc): New function.
41361 [MM_DEBUG] (grub_debug_free): New function.
41362 [MM_DEBUG] (grub_debug_realloc): New function.
41363 [MM_DEBUG] (grub_debug_memalign): New function.
41364
41365 * kern/misc.c (grub_abort): Print a newline to distinguish
41366 the message.
41367
41368 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41369 grub_set_root_dev after loading modules. This is necessary when
41370 setting a prefix depends on modules.
41371
41372 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41373 (grub_efi_print_device_path): ... this.
41374 (grub_efi_get_filename): New prototype.
41375 (grub_efi_set_prefix): Likewise.
41376
41377 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41378 and grub/disk.h.
41379 (grub_efidisk_get_device_handle): New prototype.
41380 (grub_efidisk_get_device_name): Likewise.
41381
41382 * include/grub/mm.h: Include config.h.
41383 (MM_DEBUG): Removed.
41384 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41385 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41386 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41387 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41388 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41389 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41390 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41391 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41392 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41393
41394 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41395
41396 * disk/efi/efidisk.c: Include grub/partition.h.
41397 (iterate_child_devices): New function.
41398 (add_device): First, compare only last device path nodes, so that
41399 devices are sorted by the types.
41400 (grub_efidisk_get_device_handle): New function.
41401 (grub_efidisk_get_device_name): Likewise.
41402
41403 * configure.ac (--enable-mm-debug): New option to enable the
41404 memory manager debugging feature. This makes the binary much
41405 bigger, so is disabled by default.
41406
9cacaa17 414072006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41408
41409 Use grub_abort instead of grub_stop, and grub_exit must be
41410 define in each architecture now. Also, this change adds support
41411 for EFI disks.
f19dbdb7 41412
9cacaa17 41413 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41414 (grub_getkey): New function.
41415 (grub_term_get_current): Likewise.
41416
41417 * util/i386/pc/grub-setup.c: Include grub/term.h.
41418 (grub_getkey): New function.
41419 (grub_term_get_current): Likewise.
41420
41421 * util/misc.c (grub_stop): Renamed to ...
41422 (grub_exit): ... this.
41423
41424 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41425 (grub_exit): ... this.
41426 (grub_machine_init): Use grub_abort instead of abort.
41427 (grub_stop): Removed.
41428
41429 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41430 abort.
41431
41432 * kern/i386/pc/startup.S (grub_exit): New function.
41433 (cold_reboot): New label.
41434
41435 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41436 (grub_efi_init): Call grub_efidisk_init.
41437 (grub_efi_fini): Call grub_efidisk_fini.
41438
41439 * kern/efi/efi.c: Include grub/mm.h.
41440 (grub_efi_console_control_guid): Renamed to ...
41441 (console_control_guid): ... this.
41442 (grub_efi_loaded_image_guid): Renamed to ...
41443 (loaded_image_guid): ... this.
41444 (grub_efi_locate_handle): New function.
41445 (grub_efi_open_protocol): Likewise.
41446 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41447 GRUB_EFI_CONSOLE_CONTROL_GUID.
41448 (grub_efi_exit): Removed.
41449 (grub_stop): Likewise.
41450 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41451 (grub_exit): New function.
41452 (grub_print_device_path): Likewise.
41453
41454 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41455 (grub_enter_rescue_mode): Register "exit".
41456
41457 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41458 (grub_abort): New function.
41459
41460 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41461
41462 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41463
41464 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41465
41466 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41467 (grub_print_device_path): New prototype.
41468 (grub_efi_locate_handle): Likewise.
41469 (grub_efi_open_protocol): Likewise.
41470
41471 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41472 * disk/efi/efidisk.c: Likewise.
41473
41474 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41475
41476 * include/grub/efi/console_control.h
41477 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41478
41479 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41480 last 8 bytes as an array.
41481 (GRUB_EFI_DISK_IO_GUID): New macro.
41482 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41483 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41484 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41485 grub_uint8_t.
41486 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41487 (struct grub_efi_device_path): Rename the member "sub_type" to
41488 "subtype".
41489 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41490 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41491 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41492 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41493 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41494 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41495 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41496 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41497 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41498 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41499 (struct grub_efi_pci_device_path): New structure.
41500 (grub_efi_pci_device_path_t): New type.
41501 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41502 (struct grub_efi_pccard_device_path): New structure.
41503 (grub_efi_pccard_device_path_t): New type.
41504 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41505 (struct grub_efi_memory_mapped_device_path): New structure.
41506 (grub_efi_memory_mapped_device_path_t): New type.
41507 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41508 (struct grub_efi_vendor_device_path): New structure.
41509 (grub_efi_vendor_device_path_t): New type.
41510 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41511 (struct grub_efi_controller_device_path): New structure.
41512 (grub_efi_controller_device_path_t): New type.
41513 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41514 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41515 (struct grub_efi_acpi_device_path): New structure.
41516 (grub_efi_acpi_device_path_t): New type.
41517 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41518 (struct grub_efi_expanded_acpi_device_path): New structure.
41519 (grub_efi_expanded_acpi_device_path_t): New type.
41520 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41521 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
41522 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
41523 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
41524 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
41525 (struct grub_efi_atapi_device_path): New structure.
41526 (grub_efi_atapi_device_path_t): New type.
41527 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
41528 (struct grub_efi_fibre_channel_device_path): New structure.
41529 (grub_efi_fibre_channel_device_path_t): New type.
41530 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
41531 (struct grub_efi_1394_device_path): New structure.
41532 (grub_efi_1394_device_path_t): New type.
41533 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
41534 (struct grub_efi_usb_device_path): New structure.
41535 (grub_efi_usb_device_path_t): New type.
41536 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
41537 (struct grub_efi_usb_class_device_path): New structure.
41538 (grub_efi_usb_class_device_path_t): New type.
41539 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
41540 (struct grub_efi_i2o_device_path): New structure.
41541 (grub_efi_i2o_device_path_t): New type.
41542 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
41543 (struct grub_efi_mac_address_device_path): New structure.
41544 (grub_efi_mac_address_device_path_t): New type.
41545 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
41546 (struct grub_efi_ipv4_device_path): New structure.
41547 (grub_efi_ipv4_device_path_t): New type.
41548 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
41549 (struct grub_efi_ipv6_device_path): New structure.
41550 (grub_efi_ipv6_device_path_t): New type.
41551 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
41552 (struct grub_efi_infiniband_device_path): New structure.
41553 (grub_efi_infiniband_device_path_t): New type.
41554 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
41555 (struct grub_efi_uart_device_path): New structure.
41556 (grub_efi_uart_device_path_t): New type.
41557 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
41558 (struct grub_efi_vendor_messaging_device_path): New structure.
41559 (grub_efi_vendor_messaging_device_path_t): New type.
41560 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
41561 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
41562 (struct grub_efi_hard_drive_device_path): New structure.
41563 (grub_efi_hard_drive_device_path_t): New type.
41564 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
41565 (struct grub_efi_cdrom_device_path): New structure.
41566 (grub_efi_cdrom_device_path_t): New type.
41567 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
41568 (struct grub_efi_vendor_media_device_path): New structure.
41569 (grub_efi_vendor_media_device_path_t): New type.
41570 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
41571 (struct grub_efi_file_path_device_path): New structure.
41572 (grub_efi_file_path_device_path_t): New type.
41573 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
41574 (struct grub_efi_protocol_device_path): New structure.
41575 (grub_efi_protocol_device_path_t): New type.
41576 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
41577 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
41578 (struct grub_efi_bios_device_path): New structure.
41579 (grub_efi_bios_device_path_t): New type.
41580 (struct grub_efi_disk_io): New structure.
41581 (grub_efi_disk_io_t): New type.
41582 (struct grub_efi_block_io_media): New structure.
41583 (grub_efi_block_io_media_t): New type.
41584 (struct grub_efi_block_io): New structure.
41585 (grub_efi_block_io_t): New type.
41586
41587 * include/grub/misc.h (grub_stop): Removed.
41588 (grub_exit): New prototype.
41589 (grub_abort): Likewise.
41590
41591 * include/grub/disk.h (enum grub_disk_dev_id): Added
41592 GRUB_DISK_DEVICE_EFIDISK_ID.
41593
41594 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
41595 disk/efi/efidisk.c.
41596 (kernel_syms.lst): Remove the target if an error occurs.
41597
49986a9f 415982006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
41599
41600 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
41601 as it was simply too buggy.
41602
970d3b8a 416032006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
41604
41605 * kern/misc.c (grub_lltoa): New function.
41606 (grub_vsprintf): Added support for the long long suffix,
41607 i.e. "ll".
41608
ff04ec24 416092006-04-20 Hollis Blanchard <hollis@penguinppc.org>
41610
41611 * Makefile.in (LDFLAGS): Add variable.
41612 (LD): Remove variable.
41613 * configure.ac: Add -m32 to LDFLAGS.
41614 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
41615 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
41616 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
41617 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
41618 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
41619 variables.
41620 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
41621 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
41622 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
41623
37e5e1a4 416242006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
41625
41626 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
41627 length for unknown glyph.
41628
c352d8dd 416292006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41630
2eab1c0d 41631 Add support for pre-loaded modules into the EFI port.
f19dbdb7 41632
2eab1c0d 41633 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
41634 completely. Accept one more argument DIR. The caller has changed.
41635
41636 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
41637
41638 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
41639 (grub_efi_loaded_image_guid): New variable.
41640 (grub_efi_get_loaded_image): New function.
41641 (grub_arch_modules_addr): Likewise.
41642
41643 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
41644 prototype.
41645
41646 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
41647 (struct grub_efi_loaded_image): New structure.
41648 (grub_efi_loaded_image_t): New type.
41649
416502006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41651
c352d8dd 41652 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
41653 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
41654 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
41655
6d01d6b4 416562006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
41657
41658 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
41659
976a4ea0 416602006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
41661
41662 * DISTLIST: Added include/grub/efi/console.h,
41663 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
41664 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41665
41666 * include/grub/efi/console.h: New file.
41667 * include/grub/efi/time.h: Likewise.
41668 * include/grub/i386/efi/kernel.h: Likewise.
41669 * kern/efi/init.c: Likewise.
41670 * kern/efi/mm.c: Likewise.
41671 * term/efi/console.c: Likewise.
f19dbdb7 41672
976a4ea0 41673 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
41674 (grub_stop): Removed.
41675 (grub_get_rtc): Likewise.
41676 (grub_machine_init): Simply call grub_efi_init.
41677 (grub_machine_fini): Call grub_efi_fini.
41678
41679 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
41680 (grub_efi_output_string): Removed.
41681 (grub_efi_stall): New function.
41682 (grub_stop): Likewise.
41683 (grub_get_rtc): Likewise.
41684
41685 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
41686 (grub_efi_stall): New prototype.
41687 (grub_efi_allocate_pages): Likewise.
41688 (grub_efi_free_pages): Likewise.
41689 (grub_efi_get_memory_map): Likewise.
41690 (grub_efi_mm_init): Likewise.
41691 (grub_efi_mm_fini): Likewise.
41692 (grub_efi_init): Likewise.
41693 (grub_efi_fini): Likewise.
41694
41695 * include/grub/i386/efi/time.h: Do not include
41696 grub/symbol.h. Include grub/efi/time.h.
41697 (GRUB_TICKS_PER_SECOND): Removed.
41698 (grub_get_rtc): Likewise.
41699
41700 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
41701 Added padding. The EFI spec is buggy.
41702 (GRUB_EFI_BLACK): New macro.
41703 (GRUB_EFI_BLUE): Likewise.
41704 (GRUB_EFI_GREEN): Likewise.
41705 (GRUB_EFI_CYAN): Likewise.
41706 (GRUB_EFI_RED): Likewise.
41707 (GRUB_EFI_MAGENTA): Likewise.
41708 (GRUB_EFI_BROWN): Likewise.
41709 (GRUB_EFI_LIGHTGRAY): Likewise.
41710 (GRUB_EFI_BRIGHT): Likewise.
41711 (GRUB_EFI_DARKGRAY): Likewise.
41712 (GRUB_EFI_LIGHTBLUE): Likewise.
41713 (GRUB_EFI_LIGHTGREEN): Likewise.
41714 (GRUB_EFI_LIGHTCYAN): Likewise.
41715 (GRUB_EFI_LIGHTRED): Likewise.
41716 (GRUB_EFI_LIGHTMAGENTA): Likewise.
41717 (GRUB_EFI_YELLOW): Likewise.
41718 (GRUB_EFI_WHITE): Likewise.
41719 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
41720 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
41721 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
41722 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
41723 (GRUB_EFI_BACKGROUND_RED): Likewise.
41724 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
41725 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
41726 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
41727 (GRUB_EFI_TEXT_ATTR): Likewise.
41728
41729 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
41730 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41731 (kernel_mod_HEADERS): Added efi/time.h.
41732
83709125 417332006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
41734
41735 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
41736 include/grub/efi/api.h, include/grub/efi/console_control.h,
41737 include/grub/efi/efi.h, include/grub/efi/pe32.h,
41738 include/grub/i386/efi/time.h, kern/efi/efi.c,
41739 kern/i386/efi/init.c, kern/i386/efi/startup.S,
41740 and util/i386/efi/grub-mkimage.c.
41741
41742 * Makefile.in (RMKFILES): Added i386-efi.rmk.
41743
41744 * genmk.rb (PModule#rule): Do not export symbols if
41745 #{prefix}_EXPORTS is set to "no".
41746
41747 * conf/i386-efi.mk: New file.
41748 * conf/i386-efi.rmk: Likewise.
41749 * include/grub/efi/api.h: Likewise.
41750 * include/grub/efi/console_control.h: Likewise.
41751 * include/grub/efi/efi.h: Likewise.
41752 * include/grub/efi/pe32.h: Likewise.
41753 * include/grub/i386/efi/time.h: Likewise.
41754 * kern/efi/efi.c: Likewise.
41755 * kern/i386/efi/init.c: Likewise.
41756 * kern/i386/efi/startup.S: Likewise.
41757 * util/i386/efi/grub-mkimage.c: Likewise.
41758
417592006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 41760
41761 * include/grub/script.h: Include <grub/parser.h> and
41762 "grub_script.tab.h".
41763 (struct grub_lexer_param): New struct.
41764 (struct grub_parser_param): Likewise.
41765 (grub_script_create_arglist): Pass the state in an argument.
41766 (grub_script_add_arglist): Likewise.
41767 (grub_script_create_cmdline): Likewise.
41768 (grub_script_create_cmdblock): Likewise.
41769 (grub_script_create_cmdif): Likewise.
41770 (grub_script_create_cmdmenu): Likewise.
41771 (grub_script_add_cmd): Likewise.
41772 (grub_script_arg_add): Likewise.
41773 (grub_script_lexer_ref): Likewise.
41774 (grub_script_lexer_deref): Likewise.
41775 (grub_script_lexer_record_start): Likewise.
41776 (grub_script_lexer_record_stop): Likewise.
41777 (grub_script_mem_record): Likewise.
41778 (grub_script_mem_record_stop): Likewise.
41779 (grub_script_malloc): Likewise.
41780 (grub_script_yylex): Likewise.
41781 (grub_script_yyparse): Likewise.
41782 (grub_script_yyerror): Likewise.
41783 (grub_script_yylex): Likewise.
41784 (grub_script_lexer_init): Return the state.
41785
41786 * normal/lexer.c (grub_script_lexer_state): Removed variable.
41787 (grub_script_lexer_done): Likewise.
41788 (grub_script_lexer_getline): Likewise.
41789 (grub_script_lexer_refs): Likewise.
41790 (script): Likewise.
41791 (newscript): Likewise.
41792 (record): Likewise.
41793 (recording): Likewise.
41794 (recordpos): Likewise.
41795 (recordlen): Likewise.
41796 (grub_script_lexer_init): Return the state instead of setting
41797 global variables.
41798 (grub_script_lexer_ref): Use the newly added argument for state
41799 instead of globals.
41800 (grub_script_lexer_deref): Likewise.
41801 (grub_script_lexer_record_start): Likewise.
41802 (grub_script_lexer_record_stop): Likewise.
41803 (recordchar): Likewise.
41804 (nextchar): Likewise.
41805 (grub_script_yylex2): Likewise.
41806 (grub_script_yylex): Likewise.
41807 (grub_script_yyerror): Likewise.
41808
41809 * normal/parser.y (func_mem): Removed variable.
41810 (menu_entry): Likewise.
41811 (err): Likewise.
41812 (%lex-param): New parser option.
41813 (%parse-param): Likewise.
41814 (script): Always return the AST.
41815 (argument): Pass the state around.
41816 (arguments): Likewise.
41817 (grubcmd): Likewise.
41818 (commands): Likewise.
41819 (function): Likewise.
41820 (menuentry): Likewise.
41821 (if_statement): Likewise.
41822 (if): Likewise.
41823
41824 * normal/script.c (grub_script_memused): Removed variable.
41825 (grub_script_parsed): Likewise.
41826 (grub_script_malloc): Added a state argument. Use that instead of
41827 global variables.
41828 (grub_script_mem_record): Likewise.
41829 (grub_script_mem_record_stop): Likewise.
41830 (grub_script_arg_add): Likewise.
41831 (grub_script_add_arglist): Likewise.
41832 (grub_script_create_cmdline): Likewise.
41833 (grub_script_create_cmdif): Likewise.
41834 (grub_script_create_cmdmenu): Likewise.
41835 (grub_script_add_cmd): Likewise.
41836 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 41837
e2a8c904 418382006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 41839
41840 * normal/command.c (grub_command_init): Remove the title command.
41841
41842 * normal/lexer.c (grub_script_yylex): Renamed from this...
41843 (grub_script_yylex2): ... to this.
41844 (grub_script_yylex): New function. Temporary
41845 introduced to filter some tokens.
41846 (grub_script_yyerror): Print a newline.
41847
41848 * normal/main.c (read_config_file): Output information about the
41849 lines that contain errors. Wait for a key after all lines have
41850 been processed. Don't return an empty menu.
41851
41852 * normal/parser.y (func_mem): Don't initialize.
41853 (menu_entry): Likewise.
41854 (err): New variable.
41855 (script): Don't return anything when an error was encountered.
41856 (ws, returns): Removed rules.
41857 (argument): Disabled concatenated variable support.
41858 (arguments): Remove explicit separators.
41859 (grubcmd): Likewise.
41860 (function): Likewise.
41861 (menuentry): Likewise.
41862 (if): Likewise.
41863 (commands): Likewise. Add error handling.
41864
41865 * normal/script.c (grub_script_create_cmdline): If
41866 `grub_script_parsed' is 0, assume the parser encountered an error.
41867
c9a86192 418682006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
41869
41870 * configure.ac: Add support for EFI. Fix the typo
41871 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
41872
70f3b243 418732006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41874
41875 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
41876 foreign multibyte characters should be shown correctly.
41877
65f201ad 418782006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41879
41880 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
41881 calculation.
41882 (read_config_file): Made it to close file before returning.
41883
b4b93674 418842006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
41885
41886 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
41887 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
41888 video/i386/pc/vbefill.c.
41889
41890 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
41891 video/i386/pc/vbefill.c.
41892
41893 * include/grub/video.h (grub_video_blit_format): New enum.
41894 (grub_video_mode_info): Added new member blit_format.
41895 (grub_video_get_blit_format): New function prototype.
41896
41897 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
41898 function prototype.
41899 (grub_video_vbe_map_rgb): Likewise.
41900 (grub_video_vbe_unmap_color): Likewise.
41901
41902 * include/grub/i386/pc/vbeblit.h: New file.
41903
41904 * include/grub/i386/pc/vbefill.h: New file.
41905
41906 * video/video.c (grub_video_get_blit_format): New function.
41907 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
41908 (grub_video_vbe_map_rgb): Likewise.
41909 (grub_video_vbe_unmap_color): Likewise.
41910
41911 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
41912 optimized fills.
41913 (grub_video_vbe_blit_render_target): Changed to use more optimized
41914 blits.
41915 (grub_video_vbe_setup): Added detection for optimized settings.
41916 (grub_video_vbe_create_render_target): Likewise.
41917
41918 * video/i386/pc/vbeblit.c: New file.
41919
41920 * video/i386/pc/vbefill.c: New file.
41921
c2379b9c 419222006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
41923
41924 * font/manager.c (grub_font_get_glyph): Removed font fixup from
41925 here...
41926
41927 * util/unifont2pff.rb: ... and moved it to here. Improved argument
41928 parsing to support both hex and dec ranges. If filename was missing
41929 show usage information.
41930
bd0d7896 419312006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
41932
41933 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
41934 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
41935
41936 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
41937 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
41938 (video_mod_SOURCES): Added.
41939 (video_mod_CFLAGS): Likewise.
41940 (video_mod_LDFLAGS): Likewise.
41941 (gfxterm_mod_SOURCES): Likewise.
41942 (gfxterm_mod_CFLAGS): Likewise.
41943 (gfxterm_mod_LDFLAGS): Likewise.
41944 (videotest_mod_SOURCES): Likewise.
41945 (videotest_mod_CFLAGS): Likewise.
41946 (videotest_mod_LDFLAGS): Likewise.
41947 (vesafb_mod_SOURCES): Removed.
41948 (vesafb_mod_CFLAGS): Likewise.
41949 (vesafb_mod_LDFLAGS): Likewise.
41950 (vga_mod_SOURCES): Likewise.
41951 (vga_mod_CFLAGS): Likewise.
41952 (vga_mod_LDFLAGS): Likewise.
41953
41954 * commands/videotest.c: New file.
41955
41956 * font/manager.c (fill_with_default_glyph): Modified to use
41957 grub_font_glyph.
41958 (grub_font_get_glyph): Likewise.
41959 (fontmanager): Renamed from this...
41960 (font_manager): ... to this.
41961
41962 * include/grub/font.h (grub_font_glyph): Added new structure.
41963 (grub_font_get_glyph): Modified to use grub_font_glyph.
41964
41965 * include/grub/misc.h (grub_abs): Added as inline function.
41966
41967 * include/grub/video.h: New file.
41968
41969 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
41970 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
41971 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
41972 (grub_vbe_get_controller_info): Renamed from this...
41973 (grub_vbe_bios_get_controller_info): ... to this.
41974 (grub_vbe_get_mode_info): Renamed from this...
41975 (grub_vbe_bios_get_mode_info): ... to this.
41976 (grub_vbe_set_mode): Renamed from this...
41977 (grub_vbe_bios_set_mode): ... to this.
41978 (grub_vbe_get_mode): Renamed from this...
41979 (grub_vbe_bios_get_mode): ... to this.
41980 (grub_vbe_set_memory_window): Renamed from this...
41981 (grub_vbe_bios_set_memory_window): ... to this.
41982 (grub_vbe_get_memory_window): Renamed from this...
41983 (grub_vbe_bios_get_memory_window): ... to this.
41984 (grub_vbe_set_scanline_length): Renamed from this...
41985 (grub_vbe_set_scanline_length): ... to this.
41986 (grub_vbe_get_scanline_length): Renamed from this...
41987 (grub_vbe_bios_get_scanline_length): ... to this.
41988 (grub_vbe_set_display_start): Renamed from this...
41989 (grub_vbe_bios_set_display_start): ... to this.
41990 (grub_vbe_get_display_start): Renamed from this...
41991 (grub_vbe_bios_get_display_start): ... to this.
41992 (grub_vbe_set_palette_data): Renamed from this...
41993 (grub_vbe_bios_set_palette_data): ... to this.
41994 (grub_vbe_set_pixel_rgb): Removed.
41995 (grub_vbe_set_pixel_index): Likewise.
41996
41997 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
41998 from this...
41999 (grub_vbe_bios_get_controller_info): ... to this.
42000 (grub_vbe_get_mode_info): Renamed from this...
42001 (grub_vbe_bios_get_mode_info): ... to this.
42002 (grub_vbe_set_mode): Renamed from this...
42003 (grub_vbe_bios_set_mode): ... to this.
42004 (grub_vbe_get_mode): Renamed from this...
42005 (grub_vbe_bios_get_mode): ... to this.
42006 (grub_vbe_set_memory_window): Renamed from this...
42007 (grub_vbe_bios_set_memory_window): ... to this.
42008 (grub_vbe_get_memory_window): Renamed from this...
42009 (grub_vbe_bios_get_memory_window): ... to this.
42010 (grub_vbe_set_scanline_length): Renamed from this...
42011 (grub_vbe_set_scanline_length): ... to this.
42012 (grub_vbe_get_scanline_length): Renamed from this...
42013 (grub_vbe_bios_get_scanline_length): ... to this.
42014 (grub_vbe_set_display_start): Renamed from this...
42015 (grub_vbe_bios_set_display_start): ... to this.
42016 (grub_vbe_get_display_start): Renamed from this...
42017 (grub_vbe_bios_get_display_start): ... to this.
42018 (grub_vbe_set_palette_data): Renamed from this...
42019 (grub_vbe_bios_set_palette_data): ... to this.
42020 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42021 getting corrupted after calling it. Added more pushes and pops.
42022 (grub_vbe_bios_set_mode): Likewise.
42023 (grub_vbe_bios_get_mode): Likewise.
42024 (grub_vbe_bios_get_memory_window): Likewise.
42025 (grub_vbe_bios_set_scanline_length): Likewise.
42026 (grub_vbe_bios_get_scanline_length): Likewise.
42027 (grub_vbe_bios_get_display_start): Likewise.
42028 (grub_vbe_bios_set_palette_data): Likewise.
42029
42030 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42031 (cl_insert): Likewise.
42032 (cl_delete): Likewise.
42033
42034 * term/gfxterm.c: New file.
42035
42036 * term/i386/pc/vesafb.c: Removed file.
42037
42038 * video/video.c: New file.
42039
42040 * video/i386/pc/vbe.c (real2pm): Added new function.
42041 (grub_video_vbe_draw_pixel): Likewise.
42042 (grub_video_vbe_get_video_ptr): Likewise.
42043 (grub_video_vbe_get_pixel): Likewise
42044 (grub_video_vbe_init): Likewise.
42045 (grub_video_vbe_fini): Likewise.
42046 (grub_video_vbe_setup): Likewise.
42047 (grub_video_vbe_get_info): Likewise.
42048 (grub_video_vbe_set_palette): Likewise.
42049 (grub_video_vbe_get_palette): Likewise.
42050 (grub_video_vbe_set_viewport): Likewise.
42051 (grub_video_vbe_get_viewport): Likewise.
42052 (grub_video_vbe_map_color): Likewise.
42053 (grub_video_vbe_map_rgb): Likewise.
42054 (grub_video_vbe_map_rgba): Likewise.
42055 (grub_video_vbe_unmap_color): Likewise.
42056 (grub_video_vbe_fill_rect): Likewise.
42057 (grub_video_vbe_blit_glyph): Likewise.
42058 (grub_video_vbe_blit_bitmap): Likewise.
42059 (grub_video_vbe_blit_render_target): Likewise.
42060 (grub_video_vbe_scroll): Likewise.
42061 (grub_video_vbe_swap_buffers): Likewise.
42062 (grub_video_vbe_create_render_target): Likewise.
42063 (grub_video_vbe_delete_render_target): Likewise.
42064 (grub_video_vbe_set_active_render_target): Likewise.
42065 (grub_vbe_set_pixel_rgb): Remove function.
42066 (grub_vbe_set_pixel_index): Likewise.
42067 (index_color_mode): Remove static variable.
42068 (active_mode): Likewise.
42069 (framebuffer): Likewise.
42070 (bytes_per_scan_line): Likewise.
42071 (grub_video_vbe_adapter): Added new static variable.
42072 (framebuffer): Likewise.
42073 (render_target): Likewise.
42074 (initial_mode): Likewise.
42075 (mode_in_use): Likewise.
42076 (mode_list): Likewise.
42077
5f97350b 420782006-03-10 Marco Gerards <marco@gnu.org>
42079
42080 * configure.ac (AC_INIT): Bumped to 1.93.
42081
42082 * DISTLIST: Added `include/grub/hfs.h'.
42083
a3c5c6f8 420842006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42085
42086 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42087 18H, which might help the BIOS falling back to next boot media.
42088
6de53d26 420892006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42090
42091 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42092 Poe Chen <poe.poechen@gmail.com>.
42093
77c4a393 420942006-01-17 Marco Gerards <marco@gnu.org>
42095
42096 * include/grub/normal.h: Include <grub/script.h>.
42097 (grub_command_list): Removed struct.
42098 (grub_command_list_t): Removed type.
42099 (grub_menu_entry): Remove members `num' and `command_list'. Add
42100 members `commands' and `sourcecode'.
42101 * include/grub/script.h: Add inclusion guards.
42102 (grub_script_cmd_menuentry): New struct.
42103 (grub_script_execute_menuentry): New prototype.
42104 (grub_script_lexer_record_start): Likewise.
42105 (grub_script_lexer_record_stop): Likewise.
42106 * normal/execute.c (grub_script_execute_menuentry): New function.
42107 * normal/lexer.c (record, recording, recordpos, recordlen): New
42108 variables.
42109 (grub_script_lexer_record_start): New function.
42110 (grub_script_lexer_record_stop): Likewise.
42111 (recordchar): Likewise.
42112 (nextchar): Likewise.
42113 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42114 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42115 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42116 (current_menu): New variable.
42117 (free_menu): Mainly rewritten.
42118 (grub_normal_menu_addentry): New function.
42119 (read_config_file): Rewritten.
42120 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 42121 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 42122 the menu entry.
42123 (run): Mainly rewritten.
42124 * normal/parser.y (menu_entry): New variable.
42125 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42126 (menuentry): New rule.
42127 (command): Add `menuentry'.
42128 (if_statement): Allow additional returns before `fi'.
42129 * normal/script.c (grub_script_create_cmdmenu): New function.
42130
144f1f98 421312006-01-03 Marco Gerards <marco@gnu.org>
42132
42133 * INSTALL: GNU Bison is required.
42134 * configure.ac: Rewritten the test to detect Bison.
42135 * Makefile.in (YACC): New variable. Reported by Xun Sun
42136 <xun.sun.cn@gmail.com>.
42137
af4b2d89 421382006-01-03 Marco Gerards <marco@gnu.org>
42139
42140 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42141 the HFS+ filesystem to filesystem blocks.
42142 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42143 GCC warning is silenced.
42144
15643b71 421452006-01-03 Marco Gerards <marco@gnu.org>
42146
42147 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42148 read from disk from big endian to host byte order.
42149
00905879 421502006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42151
42152 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42153 documentation.
42154 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42155 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42156 embedded HFS+ filesystem.
42157 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42158 (grub_hfs_sblock): Move from here...
42159 * include/grub/hfs.h: To here... New file.
42160 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42161 documentation.
42162 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42163 New macros.
42164 (grub_hfsplus_volheader): Change type of member `magic' to
42165 `grub_uint16_t'.
42166 (grub_hfsplus_data): Add new member `embedded_offset'.
42167 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42168 returned block.
42169 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42170 Calculate the offset.
42171
8899bc3e 421722005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42173
42174 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42175 Removed.
42176 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42177
ae8c0277 421782005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42179
42180 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42181 ENV->NAME is NULL after allocating ENV->VALUE.
42182
07084456 421832005-12-25 Marco Gerards <marco@gnu.org>
42184
42185 * kern/env.c (grub_env_set): Rewritten the error handling code.
42186
4750f5f1 421872005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42188
42189 * geninit.sh: Made more robust, and more portable.
42190
50214199 421912005-12-25 Marco Gerards <marco@gnu.org>
42192
42193 Add support for Apple HFS+ filesystems.
f19dbdb7 42194
50214199 42195 * fs/hfsplus.c: New file.
42196
42197 * DISTLIST: Added `fs/hfsplus.c'.
42198
42199 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42200 (hfsplus_mod_SOURCES): New variable.
42201 (hfsplus_mod_CFLAGS): Likewise.
42202 (hfsplus_mod_LDFLAGS): Likewise.
42203 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42204 (grub_setup_SOURCES): Likewise.
42205 (grub_mkdevicemap_SOURCES): Likewise.
42206 (grub_emu_SOURCES): Likewise.
42207 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42208
42209 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42210
42211 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42212
befaed6c 422132005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42214
42215 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42216 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42217 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42218 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42219 normal/lexer.c, normal/parser.y, normal/script.c, and
42220 partmap/gpt.c.
42221 Removed kern/sparc64/cache.c.
42222
42223 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42224 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42225 grub_emu_init.c.
42226
42227 * configure.ac (AC_INIT): Bumped to 1.92.
42228
6a124103 422292005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42230
42231 * kern/err.c (grub_error_push): Added new function to support error
42232 stacks.
42233 (grub_error_pop): Likewise.
42234 (grub_error_stack_items): New local variable to support error stacks.
42235 (grub_error_stack_pos): Likewise.
42236 (grub_error_stack_assert): Likewise.
42237 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42238 stack depth.
42239 (grub_print_error): Added support to print errors from error stack.
42240
42241 * include/grub/err.h (grub_error_push): Added function prototype.
42242 (grub_error_pop): Likewise.
42243
be973c1b 422442005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42245
42246 * configure.ac: Accept `powerpc64' as host_cpu.
42247 (amd64): Rename to `biarch32'.
42248
42249 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42250 non-cacheline-aligned addresses.
42251
42252 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42253 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42254 if `size' is non-zero.
42255
b04216ab 422562005-12-03 Marco Gerards <mgerards@xs4all.nl>
42257
42258 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42259 and `cd' to make sure the filename is not prefixed with a
42260 directory name.
42261 (pkgdata_MODULES): Add `gpt.mod'.
42262 (gpt_mod_SOURCES): New variable.
42263 (gpt_mod_CFLAGS): Likewise.
42264 (gpt_mod_LDFLAGS): Likewise.
42265
42266 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42267
42268 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42269 New macro.
42270
42271 * partmap/gpt.c: New file.
42272
42273 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42274 GPT partition map is detected.
42275
41730ed9 422762005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42277
42278 * commands/i386/pc/play.c: New file.
42279 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42280 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42281 macros.
f19dbdb7 42282
95dc3643 422832005-11-27 Marco Gerards <mgerards@xs4all.nl>
42284
42285 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42286 ((unused))' to silence gcc warning.
42287
1569ec51 422882005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42289
42290 * configure.ac: Correct `AC_PROG_YACC' test.
42291
9abde152 422922005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42293
42294 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42295 check before installing files.
42296
44b83271 422972005-11-22 Mike Small <smallm@panix.com>
42298
42299 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42300 number regex so multidigit numbers are recognized correctly.
42301
423022005-11-22 Mike Small <smallm@panix.com>
42303
42304 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42305 debugging message before attempting to claim memory.
42306 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42307 multiple addresses in case of failure.
42308
9c12956b 423092005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42310
42311 * term/tparm.c (get_space): Remove empty `if' statement.
42312
42313 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42314
42315 * kern/parser.c (check_varstate): Rename `state' to 's'.
42316
aeaf81d9 423172005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42318
42319 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42320 variable definitions to the beginning of each function. Sort stack
42321 variables by size.
42322 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42323 `buf' argument to `char *'.
42324
79bbb63f 423252005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42326
42327 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42328 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42329 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 42330 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42331 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42332 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42333 configfile.mod, search.mod, gzio.mod and test.mod.
42334 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42335 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42336 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42337 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42338 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42339 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42340 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42341 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42342 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42343 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42344 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42345 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42346 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42347 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42348 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42349 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42350 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42351 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42352 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42353 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42354 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42355 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42356 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42357
42358 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42359 `grep --include'.
42360 (pkgdata_MODULES): Add test.mod.
42361
233b1628 423622005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42363
42364 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42365 appending to variables with "+=".
42366 (PModule): Use full pathname to generate *.lst filenames.
42367
42368 * Makefile.in: Fixed list rules moved from genmk.rb.
42369 (.DELETE_ON_ERROR): New special target.
42370 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42371
42372 * conf/i386-pc.rmk: Include conf/common.mk.
42373 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42374 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 42375 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42376 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42377 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42378 configfile.mod, search.mod, gzio.mod and test.mod.
42379 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42380 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42381 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42382 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42383 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42384 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42385 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42386 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42387 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42388 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42389 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42390 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42391 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42392 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42393 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42394 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42395 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42396 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42397 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42398 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42399 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42400 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42401 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42402 here...
42403 * conf/common.rmk: ... to here. New file.
42404
42405 * conf/common.mk: New file.
42406
16f820c8 424072005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42408
42409 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42410 (grub_script.tab.c): ... here.
42411
42412 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42413 (grub_script.tab.c): ... here.
42414
42415 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42416 (grub_script.tab.c): ... here.
42417
42418 * normal/command.c (grub_command_find): Fixed a memory leak of
42419 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42420
63ba1554 424212005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42422
42423 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42424 "@" which marks the start of a comment on ARM.
42425 (VARIABLE): Likewise.
42426
7f67dc13 424272005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42428
79bbb63f 42429 Add support for Linux/ADFS partition tables.
7f67dc13 42430
42431 * partmap/acorn.c: New file.
42432
42433 * include/grub/acorn_filecore.h: Likewise.
42434
42435 * DISTLIST: Added `partmap/acorn.c' and
42436 `include/grub/acorn_filecore.h'.
f19dbdb7 42437
7f67dc13 42438 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42439 `partmap/acorn.c'.
42440 (pkgdata_MODULES): Add `acorn.mod'.
42441 (acorn_mod_SOURCES): New variable.
42442 (acorn_mod_CFLAGS): Likewise.
42443
42444 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42445 `partmap/acorn.c'.
42446 (pkgdata_MODULES): Add `acorn.mod'.
42447 (acorn_mod_SOURCES): New variable.
42448 (acorn_mod_CFLAGS): Likewise.
42449
42450 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42451 (pkgdata_MODULES): Add `acorn.mod'.
42452 (acorn_mod_SOURCES): New variable.
42453 (acorn_mod_CFLAGS): Likewise.
42454 (acorn_mod_LDFLAGS): Likewise.
42455
42456 * include/types.h (grub_disk_addr_t): New typedef.
42457
6d099807 424582005-11-13 Marco Gerards <mgerards@xs4all.nl>
42459
42460 * geninit.sh: New file.
42461
42462 * geninitheader.sh: Likewise.
42463
42464 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42465 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42466 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42467 * commands/configfile.c (grub_configfile_init)
42468 (grub_configfile_fini): Likewise.
42469 * commands/default.c (grub_default_init, grub_default_fini):
42470 Likewise.
42471 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42472 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42473 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42474 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42475 Likewise.
42476 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42477 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42478 Likewise.
42479 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 42480 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 42481 Likewise.
42482 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42483 Likewise.
fe6b695a 42484 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 42485 Likewise.
42486 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42487 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42488 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42489 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42490 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42491 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42492 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42493 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42494 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42495 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42496 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42497 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42498 * partmap/amiga.c (grub_amiga_partition_map_init)
42499 (grub_amiga_partition_map_fini): Likewise.
42500 * partmap/apple.c (grub_apple_partition_map_init)
42501 (grub_apple_partition_map_fini): Likewise.
42502 * partmap/pc.c (grub_pc_partition_map_init)
42503 (grub_pc_partition_map_fini): Likewise.
42504 * partmap/sun.c (grub_sun_partition_map_init,
42505 grub_sun_partition_map_fini): Likewise.
42506 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42507 Likewise.
42508
42509 * util/grub-emu.c: Include <grub_modules_init.h>.
42510 (main): Don't initialize and de-initialize any modules directly,
42511 use `grub_init_all' and `grub_fini_all' instead.
42512
42513 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42514 `grub_vesafb_mod_init'.
42515 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42516 all users.
42517 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42518 `grub_vga_mod_init'. Updated all users.
42519 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 42520
6d099807 42521 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
42522 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
42523 rules.
42524
42525 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
42526 Generate a function to initialize the module in utilities.
42527 Updated all callers.
42528 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
42529 initialize the module in utilities. Updated all callers.
42530
9046bcf0 425312005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42532
42533 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
42534 escape sequence and a literal ^L to clear the screen.
42535
42536 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
42537 when returning from Open Firmware.
42538
d13ea639 425392005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42540
42541 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
42542 (grub_ofconsole_height): Likewise.
42543 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
42544 manually insert a '\n'.
42545 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
42546 `grub_ofconsole_height'. Return early if these are already set.
42547
a8fcf206 425482005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
42549
42550 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42551 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
42552 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
42553 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
42554 and `normal/script.c'.
42555 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42556 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42557 (test_mod_SOURCES): New variable.
42558 (test_mod_CFLAGS): Likewise.
42559 (test_mod_LDFLAGS): Likewise.
42560 (pkgdata_MODULES): Add `test.mod'.
42561 (grub_script.tab.c): New rule.
42562 (grub_script.tab.h): Likewise.
42563
b6b32745 425642005-11-07 Marco Gerards <mgerards@xs4all.nl>
42565
42566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42567 `commands/test.c', `normal/execute.c', `normal/lexer.c',
42568 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42569 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42570 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42571 (test_mod_SOURCES): New variable.
42572 (test_mod_CFLAGS): Likewise.
42573 (pkgdata_MODULES): Add `test.mod'.
42574 (grub_script.tab.c): New rule.
42575 (grub_script.tab.h): Likewise.
42576
daac212a 425772005-11-06 Marco Gerards <mgerards@xs4all.nl>
42578
42579 Add initial scripting support.
42580
42581 * commands/test.c: New file.
42582 * include/grub/script.h: Likewise.
42583 * normal/execute.c: Likewise.
42584 * normal/function.c: Likewise.
42585 * normal/lexer.c: Likewise.
42586 * normal/parser.y: Likewise.
42587 * normal/script.c: Likewise.
42588
42589 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 42590
daac212a 42591 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
42592 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
42593 `normal/function.c' and `normal/script.c'.
42594 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42595 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 42596 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
42597 variables.
daac212a 42598 (pkgdata_MODULES): Add `test.mod'.
42599 (grub_script.tab.c): New rule.
42600 (grub_script.tab.h): Likewise.
42601
42602 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
42603
42604 * include/grub/normal.h (grub_test_init): New prototype.
42605 (grub_test_fini): Likewise.
f19dbdb7 42606
daac212a 42607 * normal/command.c: Include <grub/script.h>.
42608 (grub_command_execute): Rewritten.
f19dbdb7 42609
daac212a 42610 * util/grub-emu.c (main): Call `grub_test_init' and
42611 `grub_test_fini'.
42612
77500b2b 426132005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42614
42615 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
42616 to 0.
42617 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
42618 there are no pending characters.
42619
e45deb9e 426202005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42621
42622 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
42623 `grub_strndup' to drop device arguments. Replace unnecessary
42624 `grub_strndup' with `grub_strdup'.
42625
4ce32619 426262005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42627
42628 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
42629 `debug' environment variable has been set.
42630
426312005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42632
4ce32619 42633 * Makefile.in (install-local): Use $(DATA).
42634 (uninstall): Likewise.
42635 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
42636 (sbin_UTILITIES): ... to here.
42637 (sbin_SCRIPTS): New variable.
42638 (grub_install_SOURCES): New variable.
42639 * util/powerpc/ieee1275/grub-install.in: New file.
42640 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
42641 variable.
42642 (add_segments): Call `grub_util_get_path'.
42643
25fe6f03 426442005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42645
42646 From Timothy Baldwin:
42647 * commands/ls.c (grub_ls_list_files): Close FILE with
42648 grub_file_close.
42649 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
42650
04ccf3ec 426512005-10-24 Marco Gerards <mgerards@xs4all.nl>
42652
42653 * include/grub/parser.h: New file.
42654
42655 * kern/parser.c: Likewise.
42656
42657 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
42658 (grub_setup_SOURCES): Likewise.
42659 (grub_probefs_SOURCES): Likewise.
42660 (grub_emu_SOURCES): Likewise.
42661 (kernel_img_HEADERS): Add `parser.h'.
42662
42663 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42664 (grub_emu_SOURCES): Add `kern/parser.c'.
42665 (grubof_SOURCES): Likewise.
42666
42667 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42668 (grubof_SOURCES): Add `kern/parser.c'.
42669
42670 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
42671
42672 * kern/misc.c (grub_split_cmdline): Removed function.
42673
42674 * kern/rescue.c: Include <grub/parser.h>.
42675 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
42676 of `grub_split_cmdline'.
42677
42678 * normal/command.c: Include <grub/parser.h>.
42679 (grub_command_execute): Use `grub_parser_split_cmdline' instead
42680 of `grub_split_cmdline'.
42681
42682 * normal/completion.c: Include <grub/parser.h>.
42683 (cmdline_state): New variable.
42684 (iterate_dir): End the filename with a quote depending on the
42685 command line state.
42686 (get_state): new function.
42687 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
42688 split the arguments and determine the current argument. When the
42689 argument string is not quoted, escape all spaces.
42690
6d8f4b0e 426912005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42692
42693 * normal/sparc64/setjmp.S: New file.
42694
15cf03ed 426952005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42696
42697 * include/grub/sparc64/libgcc.h: New file.
42698 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
42699 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
42700 normal/sparc64/setjmp.c.
42701
03e8661a 427022005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42703
42704 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
42705 * kern/sparc64/cache.S: New file.
42706 * kern/sparc64/cache.c: Removed.
42707 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
42708 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
42709 -mtune=ultrasparc.
42710 (COMMON_LDFLAGS): Add -melf64_sparc.
42711 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
42712 (grubof_SOURCES): Use cache.S instead of cache.c.
42713 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
42714 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
42715 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
42716 commented though.
42717 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
42718 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
42719 (linux_mod_CFLAGS): Commented out.
42720 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
42721 out because module isn't built.
42722 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
42723 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
42724 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
42725 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
42726 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
42727 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42728 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42729 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
42730 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
42731 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
42732 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42733 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42734 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
42735 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
42736
34eeec8a 427372005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
42738
42739 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
42740 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
42741 longer, because HFS should not be used on PC.
42742
708367a3 427432005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42744
42745 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
42746 consistently within the loop.
42747
6fa1251a 427482005-10-15 Marco Gerards <mgerards@xs4all.nl>
42749
42750 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
42751 directory can not be read.
42752
4801580b 427532005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42754
42755 * configure.ac (AC_INIT): Increase the version number to 1.91.
42756
42757 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
42758 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
42759 term/i386/pc/serial.c.
42760
219ad426 427612005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42762
42763 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
42764 file size must be permitted.
42765
42766 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
42767 between %ah and %al.
42768
688e5699 427692005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42770
42771 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
42772 grub_uint64_t.
42773 Call the hook with a NUL-terminated filename.
42774 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
42775 grub_cpu_to_be32.
42776
42777 * kern/term.c (cursor_state): New variable.
42778 (grub_term_set_current): Reset the cursor state on a new
42779 terminal.
42780 (grub_setcursor): Rewritten to use CURSOR_STATE.
42781 (grub_getcursor): New function.
42782
42783 * include/grub/term.h (grub_getcursor): New prototype.
42784
42785 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
42786 integers on ARM. Reported by Timothy Baldwin
42787 <T.E.Baldwin99@members.leeds.ac.uk>.
42788
bb34586c 427892005-10-11 Marco Gerards <mgerards@xs4all.nl>
42790
42791 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
42792 allocated.
42793 (grub_sfs_dir): Likewise.
42794
9a909877 427952005-10-09 Marco Gerards <mgerards@xs4all.nl>
42796
42797 Add support for the SFS filesystem.
42798
42799 * fs/sfs.c: New file.
42800
42801 * DISTLIST: Added `fs/sfs.c'.
42802
42803 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
42804 (grub_probefs_SOURCES): Likewise.
42805 (grub_emu_SOURCES): Likewise.
42806 (pkgdata_MODULES): Add `sfs.mod'.
42807 (sfs_mod_SOURCES): New variable.
42808 (sfs_mod_CFLAGS): Likewise.
42809 (sfs_mod_LDFLAGS): Likewise.
42810
42811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
42812 (pkgdata_MODULES): Add `sfs.mod'.
42813 (sfs_mod_SOURCES): New variable.
42814 (sfs_mod_CFLAGS): Likewise.
42815
42816 * util/grub-emu.c (main): Call `grub_sfs_init' and
42817 `grub_sfs_fini'.
42818
42819 * include/grub/fs.h (grub_sfs_init): New prototype.
42820 (grub_sfs_fini): Likewise.
42821
57bdbde3 428222005-10-07 Marco Gerards <mgerards@xs4all.nl>
42823
42824 Add support for the AFFS filesystem.
42825
42826 * fs/affs.c: New file.
42827
42828 * DISTLIST: Added `fs/affs.c'.
42829
42830 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
42831 (grub_probefs_SOURCES): Likewise.
42832 (grub_emu_SOURCES): Likewise.
42833 (pkgdata_MODULES): Add `affs.mod'.
42834 (affs_mod_SOURCES): New variable.
42835 (affs_mod_CFLAGS): Likewise.
42836 (affs_mod_LDFLAGS): Likewise.
42837
42838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
42839 (pkgdata_MODULES): Add `affs.mod'.
42840 (affs_mod_SOURCES): New variable.
42841 (affs_mod_CFLAGS): Likewise.
42842
42843 * util/grub-emu.c (main): Call `grub_affs_init' and
42844 `grub_affs_fini'.
42845
42846 * include/grub/fs.h (grub_affs_init): New prototype.
42847 (grub_affs_fini): Likewise.
42848
047b67e0 428492005-10-01 Marco Gerards <mgerards@xs4all.nl>
42850
42851 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
42852
59b8208a 428532005-10-01 Marco Gerards <mgerards@xs4all.nl>
42854
42855 * configure.ac: Accept `x86_64' as host_cpu. In that case add
42856 `-m32' to CFLAGS.
42857
42858 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
42859 linking.
f19dbdb7 42860
59b8208a 42861 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
42862 (COMMON_LDFLAGS): New variable.
42863 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
42864 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
42865 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
42866 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
42867 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
42868 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
42869 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
42870 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
42871 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
42872 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
42873 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42874 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42875 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
42876 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
42877 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
42878 variables.
42879 (normal_mod_ASFLAGS): Add `-m32'.
42880
42881 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
42882 (grub_host_size_t, grub_host_ssize_t): New types.
42883 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 42884 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 42885 `GRUB_HOST_SIZEOF_VOID_P'.
42886
42887 * include/grub/kernel.h (struct grub_module_header): Type of
42888 member offset changed to `grub_host_off_t'. Type of member size
42889 changed to `grub_host_size_t'.
42890 (struct grub_module_info): Type of member offset changed to
42891 `grub_host_off_t'. Type of member size changed to
42892 `grub_host_size_t'.
42893
b4093103 428942005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
42895
42896 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 42897
b4093103 42898 * kern/i386/pc/startup.S (multiboot_header): New label.
42899 (multiboot_entry): Likewise.
42900 (multiboot_trampoline): Likewise.
42901
42902 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42903 Increased to 0x4A0.
42904
42905 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
42906 put parentheses after a question mark.
42907 [!GRUB_UTIL] (my_mod): New variable.
42908
42909 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
42910
b2499b29 429112005-09-28 Marco Gerards <mgerards@xs4all.nl>
42912
42913 Adds support for the XFS filesystem. Btrees are not supported
42914 yet.
42915
42916 * fs/xfs.c: New file.
42917
42918 * DISTLIST: Added `fs/xfs.c'.
42919
42920 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
42921 (grub_probefs_SOURCES): Likewise.
42922 (grub_emu_SOURCES): Likewise.
42923 (pkgdata_MODULES): Add `xfs.mod'.
42924 (xfs_mod_SOURCES): New variable.
42925 (xfs_mod_CFLAGS): Likewise.
42926
42927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
42928 (pkgdata_MODULES): Add `xfs.mod'.
42929 (xfs_mod_SOURCES): New variable.
42930 (xfs_mod_CFLAGS): Likewise.
42931
42932 * util/grub-emu.c (main): Call `grub_xfs_init' and
42933 `grub_xfs_fini'.
42934
42935 * include/grub/fs.h (grub_xfs_init): New prototype.
42936 (grub_xfs_fini): Likewise.
42937
f19dbdb7 42938
83d37a62 429392005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
42940
42941 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
42942 color modes, allow greater than 16 colors to be configured as
42943 a default palette.
42944
47d2d65e 429452005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42946
42947 * normal/completion.c (complete_arguments): Add the qualifier
42948 const into OPTIONS.
42949
42950 From Omniflux <omniflux+lists@omniflux.com>:
42951 * include/grub/terminfo.h: New file.
42952 * include/grub/tparm.h: Likewise.
42953 * include/grub/i386/pc/serial.h: Likewise.
42954 * term/terminfo.c: Likewise.
42955 * term/tparm.c: Likewise.
42956 * term/i386/pc/serial.c: Likewise.
42957 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
42958 serial.mod.
42959 (terminfo_mod_SOURCES): New variable.
42960 (terminfo_mod_CFLAGS): Likewise.
42961 (serial_mod_SOURCES): Likewise.
42962 (serial_mod_CFLAGS): Likewise.
42963
48b671ff 429642005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
42965
42966 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
42967 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
42968 and kern/powerpc/ieee1275/cmain.c, respectively.
42969
42970 * boot/powerpc/ieee1275/crt0.S: Moved to ...
42971 * kern/powerpc/ieee1275/crt0.S: ... here.
42972
42973 * boot/powerpc/ieee1275/cmain.c: Moved to ...
42974 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 42975
48b671ff 42976 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
42977 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
42978 instead of boot/powerpc/ieee1275/crt0.S and
42979 boot/powerpc/ieee1275/cmain.c, respectively.
42980
42981 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
42982 sectors. It was not used anyway.
42983
09fc77a7 429842005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42985
42986 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
42987 `unused parameter' warning.
42988
003789c7 429892005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42990
42991 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
42992 function.
42993 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
42994 getcharwidth.
42995
67f44c86 429962005-08-28 Marco Gerards <metgerards@student.han.nl>
42997
42998 * include/grub/normal.h (enum grub_completion_type): Added
42999 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43000
43001 * normal/cmdline.c (print_completion): Handle
43002 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43003 * normal/menu_entry.c (store_completion): Likewise.
43004
43005 * normal/completion.c (complete_arguments): New function.
43006 (grub_normal_do_completion): Call `complete_arguments' when the
43007 current words start with a dash.
43008
0b5abe02 430092005-08-27 Marco Gerards <metgerards@student.han.nl>
43010
43011 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43012 `gzio.mod' instead of `io.mod').
43013
d9864ee1 430142005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43015
43016 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43017 (DISTDIRS): Added io and video.
43018 Rewrite the search routine to make an output consistently.
43019
43020 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43021 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43022 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43023 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43024 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43025 util/powerpc/ieee1275/misc.c.
f19dbdb7 43026
d9864ee1 43027 * include/grub/gzio.h: New file.
43028 * io/gzio.c: Likewise.
f19dbdb7 43029
d9864ee1 43030 * kern/file.c (grub_file_close): Call grub_device_close only if
43031 FILE->DEVICE is not NULL.
43032
43033 * include/grub/mm.h [!NULL] (NULL): New macro.
43034
43035 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43036
43037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43038 (pkgdata_MODULES): Added gzio.mod.
43039 (gzio_mod_SOURCES): New variable.
43040 (gzio_mod_CFLAGS): Likewise.
43041
43042 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43043 (pkgdata_MODULES): Added gzio.mod.
43044 (gzio_mod_SOURCES): New variable.
43045 (gzio_mod_CFLAGS): Likewise.
43046
43047 * commands/cat.c: Include grub/gzio.h.
43048 (grub_cmd_cat): Use grub_gzfile_open instead of
43049 grub_file_open.
f19dbdb7 43050
d9864ee1 43051 * commands/cmp.c: Include grub/gzio.h.
43052 (grub_cmd_cmp): Use grub_gzfile_open instead of
43053 grub_file_open.
43054
43055 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43056 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43057 grub_file_open.
43058 (grub_rescue_cmd_module): Likewise.
43059
fa46f4b5 430602005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43061
43062 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43063 kern/sparc64/ieee1275/init.c because it contains _start.
43064 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43065
e9211b5d 430662005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43067
43068 * configure.ac: Add support for sparc64 host with ieee1275
43069 firmware.
43070 * configure: Generated from configure.ac.
43071 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43072 instead of int.
43073 (grub_ofdisk_read): Likewise.
43074 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43075 pointers as (void *) to remove a warning.
43076 (grub_ofdisk_close): Likewise.
43077 (grub_ofdisk_read): Likewise.
43078 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43079 returns, so make it return void to remove a warning.
43080 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43081 Corresponding prototype change.
43082 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43083 values, and cast the pointers as (void *) to remove a warning.
43084 (grub_mm_dump): Likewise.
43085 * conf/sparc64-ieee1275.mk: New file.
43086 * conf/sparc64-ieee1275.rmk: Likewise.
43087 * include/grub/sparc64/setjmp.h: Likewise.
43088 * include/grub/sparc64/types.h: Likewise.
43089 * include/grub/sparc64/ieee1275/console.h: Likewise.
43090 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43091 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43092 * include/grub/sparc64/ieee1275/time.h: Likewise.
43093 * kern/sparc64/cache.c: Likewise.
43094 * kern/sparc64/dl.c: Likewise.
43095 * kern/sparc64/ieee1275/init.c: Likewise.
43096 * kern/sparc64/ieee1275/openfw.c: Likewise.
43097
385c6a92 430982005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43099
43100 * util/console.c (grub_ncurses_putchar): If C is greater than
43101 0x7f, set C to a question mark.
43102 (grub_ncurses_getcharwidth): New function.
43103 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43104 getcharwidth.
43105
43106 * normal/menu.c (print_entry): Made aware of Unicode. First,
43107 convert TITLE to UCS-4, and predict the cursor position by
43108 grub_getcharwidth.
43109
43110 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43111 const to SRC.
43112 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43113
16ccb8b1 431142005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43115
43116 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43117 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43118 grub_strcat.
43119
43120 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43121 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43122 grub_strcpy and grub_strlen. Take it into account that a space
43123 character is inserted as a delimiter.
43124
6a85ce79 431252005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43126
43127 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 43128 invalid magic in the error.
6a85ce79 43129
43130 * commands/search.c: New file.
f19dbdb7 43131
6a85ce79 43132 * util/grub-emu.c (main): Call grub_search_init and
43133 grub_search_fini.
43134
43135 * kern/rescue.c (grub_rescue_print_disks): Removed.
43136 (grub_rescue_print_devices): New function.
43137 (grub_rescue_cmd_ls): Use grub_device_iterate with
43138 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43139 grub_rescue_print_disks.
43140
43141 * kern/partition.c (grub_partition_iterate): Return the result of
43142 PARTMAP->ITERATE instead of GRUB_ERRNO.
43143
43144 * kern/device.c: Include grub/partition.h.
43145 (grub_device_iterate): New function.
43146
43147 * include/grub/partition.h (grub_partition_iterate): Return int
43148 instead of grub_err_t.
43149
43150 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43151 prototype.
43152 [GRUB_UTIL] (grub_search_fini): Likewise.
43153
43154 * include/grub/device.h (grub_device_iterate): New prototype.
43155
43156 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43157 commands/search.c.
43158 (pkgdata_MODULES): Added search.mod.
43159 (search_mod_SOURCES): New variable.
43160 (search_mod_CFLAGS): Likewise.
43161
43162 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43163 (pkgdata_MODULES): Added search.mod.
43164 (search_mod_SOURCES): New variable.
43165 (search_mod_CFLAGS): Likewise.
43166
43167 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43168 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43169 All callers changed.
43170
43171 * DISTLIST: Added commands/search.c.
43172
ef095434 431732005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43174
43175 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43176 conversion.
43177 (grub_getcharwidth): New function.
43178
43179 * kern/misc.c (grub_utf8_to_ucs4): New function.
43180
43181 * include/grub/term.h (struct grub_term): Added a new member
43182 "getcharwidth".
43183 (grub_getcharwidth): New prototype.
43184
43185 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43186
43187 * term/i386/pc/console.c (map_char): New function. Segregated from
43188 grub_console_putchar.
43189 (grub_console_putchar): Use map_char.
43190 (grub_console_getcharwidth): New function.
43191 (grub_console_term): Specified grub_console_getcharwidth as
43192 getcharwidth.
43193
43194 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43195 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43196
43197 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43198 GRUB_ERRNO.
43199 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43200 on grub_strtoul completely.
43201 (write_char): Declare local variables in the beginning of the
43202 function.
43203 (grub_vesafb_getcharwidth): New function.
43204 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43205 getcharwidth.
43206
1f0a95e4 432072005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43208
43209 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43210 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43211 commands/i386/pc/vbetest.c.
43212
43213 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43214 call grub_vbe_get_controller_info again, because the returned
43215 information is volatile.
43216 (grub_vbe_set_video_mode): Mostly rewritten.
43217 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43218 grub_vbe_status_t correctly.
43219 (grub_vbe_get_video_mode_info): Likewise.
43220 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43221 several if statements.
43222
43223 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43224 * commands/i386/pc/vbeinfo.c: ... this.
43225
43226 * commands/i386/pc/vbe_test.c: Renamed to ...
43227 * commands/i386/pc/vbetest.c: ... this.
43228
43229 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43230 ...
43231 (grub_cmd_vbeinfo): ... this. Save video modes before
43232 iterating. Skip a video mode, if it is not available, not enough
43233 information is given or it is monochrome. Show the memory
43234 model. Leave the interpretation of MODEVAR to grub_strtoul
43235 completely.
43236 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43237 (GRUB_MOD_FINI): Likewise.
43238
43239 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43240 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43241 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43242 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43243 grub_strtoul completely.
43244 (real2pm): Removed.
43245 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43246 (GRUB_MOD_FINI): Likewise.
43247
43248 * normal/misc.c: Include grub/mm.h.
43249
43250 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43251 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43252 (vbe_list_modes_mod_SOURCES): Removed.
43253 (vbe_list_modes_mod_CFLAGS): Likewise.
43254 (vbe_test_mod_SOURCES): Likewise.
43255 (vbe_test_mod_CFLAGS): Likewise.
43256 (vbeinfo_mod_SOURCES): New variable.
43257 (vbeinfo_mod_CFLAGS): Likewise.
43258 (vbetest_mod_SOURCES): Likewise.
43259 (vbetest_mod_CFLAGS): Likewise.
43260
992ffbbe 432612005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43262
43263 * normal/misc.c: New file.
43264
43265 * DISTLIST: Added normal/misc.c.
f19dbdb7 43266
992ffbbe 43267 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43268 DISK to HOOK. Call HOOK with DISK.
43269 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43270 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43271 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43272
43273 * normal/menu_entry.c (struct screen): Added a new member
43274 "completion_shown".
43275 (completion_buffer): New global variable.
43276 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43277 (store_completion): New function.
43278 (complete): Likewise.
43279 (clear_completions): Likewise.
43280 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43281 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43282 a tab, call complete.
43283
43284 * normal/completion.c (disk_dev): Removed.
43285 (print_simple_completion): Likewise.
43286 (print_partition_completion): Likewise.
43287 (print_func): New global variable.
43288 (add_completion): Do not take the arguments WHAT or PRINT any
43289 longer. Added a new argument TYPE. Instead of printing directly,
43290 call PRINT_FUNC if not NULL.
43291 All callers changed.
43292 (complete_device): Use a local variable DEV instead of
43293 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43294 (grub_normal_do_completion): Take a new argument HOOK. Do not
43295 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43296 empty string, return NULL instead.
43297 All callers changed.
43298
43299 * normal/cmdline.c (print_completion): New function.
43300
43301 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43302 to HOOK.
43303 All callers changed.
43304
43305 * kern/disk.c (grub_print_partinfo): Removed.
43306
43307 * include/grub/partition.h (struct grub_partition_map): Add a new
43308 argument DISK into HOOK of ITERATE.
43309 (grub_partition_iterate): Add a new argument DISK to HOOK.
43310
43311 * include/grub/normal.h (enum grub_completion_type): New enum.
43312 (grub_completion_type_t): New type.
43313 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43314 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43315 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43316 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43317 (grub_normal_do_completion): Added a new argument HOOK.
43318 (grub_normal_print_device_info): New prototype.
43319
43320 * include/grub/disk.h (grub_print_partinfo): Removed.
43321
43322 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43323 (normal_mod_SOURCES): Likewise.
43324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43325 (normal_mod_SOURCES): Likewise.
43326
43327 * commands/ls.c (grub_ls_list_disks): Use
43328 grub_normal_print_device_info instead of grub_print_partinfo. Free
43329 PNAME.
43330 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43331 duplicating the code.
43332
0bd41162 433332005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43334
43335 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 43336 follow GCS more precisely.
43337 * commands/i386/pc/vbe_test.c: Likewise.
43338 * include/grub/i386/pc/vbe.h: Likewise.
43339 * term/i386/pc/vesafb.c: Likewise.
43340 * video/i386/pc/vbe.c: Likewise.
0bd41162 43341
6323696a 433422005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43343
43344 * DISTLIST: Added term/i386/pc/vesafb.c
43345 DISTLIST: Added video/i386/pc/vbe.c
43346 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43347 DISTLIST: Added commands/i386/pc/vbe_test.c.
43348 * commands/i386/pc/vbe_list_modes.c: New file.
43349 * commands/i386/pc/vbe_test.c: Likewise.
43350 * term/i386/pc/vesafb.c: Likewise.
43351 * video/i386/pc/vbe.c: Likewise.
43352 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43353 (grub_vbe_probe) Added prototype.
43354 (grub_vbe_set_video_mode) Likewise.
43355 (grub_vbe_get_video_mode) Likewise.
43356 (grub_vbe_get_video_mode_info) Likewise.
43357 (grub_vbe_set_pixel_rgb) Likewise.
43358 (grub_vbe_set_pixel_index) Likewise.
43359 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43360 (pkgdata_MODULES): Added vesafb.mod.
43361 (pkgdata_MODULES): Added vbe_list_modes.mod.
43362 (pkgdata_MODULES): Added vbe_test.mod.
43363 (vbe_mod_SOURCES): Added.
43364 (vbe_mod_CFLAGS): Likewise.
43365 (vesafb_mod_SOURCES): Likewise.
43366 (vesafb_mod_CFLAGS): Likewise.
43367 (vbe_list_modes_mod_SOURCES): Likewise.
43368 (vbe_list_modes_mod_CFLAGS): Likewise.
43369 (vbe_test_mod_SOURCES): Likewise.
43370 (vbe_test_mod_CFLAGS): Likewise.
43371
0a74e62f 433722005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43373
0a74e62f 43374 * normal/command.c (grub_command_execute): If INTERACTIVE is
43375 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43376 CMDLINE. Disable the pager if INTERACTIVE is true.
43377 All callers are changed.
43378
43379 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43380 before reading a config file.
43381 * normal/main.c (read_config_file): Even if a command is not
43382 found, register it if it is within an entry.
43383
43384 * util/grub-emu.c: Include sys/types.h and unistd.h.
43385 (options): Added --hold.
43386 (struct arguments): Added a new member "hold".
43387 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43388 missing.
43389 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43390 cleared by a debugger, if it is not zero.
43391
43392 * include/grub/normal.h (grub_command_execute): Add an argument
43393 INTERACTIVE.
43394
e51f85ae 433952005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43396
43397 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43398
e9c6f39b 433992005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43400
43401 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43402 program with another one, because the old one didn't detect a bug
43403 in gcc-3.4. Always use regparm 2, because the new test is still
43404 not enough for gcc-4.0. Someone must investigate a simple test
43405 case which detects a bug in gcc-4.0.
43406
8de3495c 434072005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43408
43409 * DISTLIST: Added normal/completion.c.
43410
43411 * normal/completion.c: New file.
f19dbdb7 43412
8de3495c 43413 * term/i386/pc/console.c (grub_console_getwh): New function.
43414 (grub_console_term): Assign grub_console_getwh to getwh.
43415
43416 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43417 function is defined in normal/completion.c as
43418 grub_normal_do_completion.
43419 (grub_cmdline_get): Use grub_normal_do_completion instead of
43420 grub_tab_complete.
43421
43422 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43423 returns non-zero, otherwise return 0.
43424 (grub_partition_iterate): First, probe the partition map. Then,
43425 call ITERATE only for this partition map.
43426
43427 * kern/misc.c (grub_strncmp): Rewritten.
43428
43429 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43430 returns non-zero. Otherwise return 0.
43431
43432 * include/grub/partition.h (grub_partition_map_iterate): Return
43433 int instead of void.
43434
43435 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43436
43437 * include/grub/misc.h (grub_strncmp): Change the type of N to
43438 grub_size_t.
43439
43440 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43441 of void.
43442
43443 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 43444 unsigned explicitly before comparing it with I.
8de3495c 43445
43446 * kern/main.c (grub_env_write_root): Add the attribute unused into
43447 VAR.
43448
43449 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43450 normal/completion.c.
43451 (normal_mod_SOURCES): Likewise.
43452 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43453 (normal_mod_SOURCES): Likewise.
43454
43455 * normal/command.c (grub_iterate_commands): If ITERATE returns
43456 non-zero, return one immediately.
43457
e85e144b 434582005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43459
43460 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43461 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43462 descriptions.
43463 (grub_vbe_get_controller_info): New function.
43464 (grub_vbe_get_mode_info): Likewise.
43465 (grub_vbe_set_mode): Likewise.
43466 (grub_vbe_get_mode): Likewise.
43467 (grub_vbe_set_memory_window): Likewise.
43468 (grub_vbe_get_memory_window): Likewise.
43469 (grub_vbe_set_scanline_length): Likewise.
43470 (grub_vbe_get_scanline_length): Likewise.
43471 (grub_vbe_set_display_start): Likewise.
43472 (grub_vbe_get_display_start): Likewise.
43473 (grub_vbe_set_palette_data): Likewise.
43474 * include/grub/i386/pc/vbe.h: New file.
43475
c46153d2 434762005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43477
43478 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43479 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43480 * DISTLIST: Likewise.
43481 * kern/ieee1275/of.c: Moved to ...
43482 * kern/ieee1275/ieee1275.c: ... here.
43483
0cb90c45 434842005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43485
43486 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43487 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43488 Pass 0 as `end' parameter to grub_strtoul().
43489
a19fb360 434902005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43491
43492 * include/grub/powerpc/ieee1275/console.h: Do not include
43493 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43494 ifdef.
43495 (grub_console_cur_color): Remove i386-specific prototype.
43496 (grub_console_real_putchar): Likewise.
43497 (grub_console_checkkey): Likewise.
43498 (grub_console_getkey): Likewise.
43499 (grub_console_getxy): Likewise.
43500 (grub_console_gotoxy): Likewise.
43501 (grub_console_cls): Likewise.
43502 (grub_console_setcursor): Likewise.
43503 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43504 Include <grub/machine/console.h>.
43505 * term/ieee1275/ofconsole.c: Likewise.
43506
4ac9bd04 435072005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43508
43509 * Makefile.in (LIBLZO): New variable.
43510
43511 * configure.ac: Check for LZO version 2.
43512
43513 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43514 lzo/lzo1x.h instead of lzo1x.h.
43515
43516 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43517 of -llzo.
43518
43519 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43520 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43521
43522 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
43523 copying the data from PARTITION to P.
43524
f4917dfd 435252005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43526
43527 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
43528 negative, unload the module.
43529
43530 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
43531 map is "pc_partition_map" but not "pc".
43532 (usage): Fix the description. The options are --boot-image and
43533 --core-image but not --boot-file or --core-file.
43534 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
43535 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
43536 DEFAULT_DIRECTORY.
43537
43538 * util/i386/pc/grub-install.in: Do not specify --boot-file or
43539 --core-file. Specify INSTALL_DEVICE as an argument.
43540
43541 * util/console.c: Include config.h.
43542 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
43543 [HAVE_NCURSES_H]: Include ncurses.h.
43544 [HAVE_CURSES_H]: Include curses.h.
43545 [!A_NORMAL] (A_NORMAL): Defined as zero.
43546 [!A_STANDOUT] (A_STANDOUT): Likewise.
43547
43548 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
43549 -lncurses.
43550 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
43551
43552 * configure.ac: Check for curses libraries and headers.
43553
43554 * Makefile.in (LIBCURSES): New variable.
43555
43556 * genmk.rb (Script::rule): Set the executable bits.
43557
43558 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
43559 name of the PC partition map is "pc_partition_map" but not "pc".
43560
0e143073 435612005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43562
43563 * util/i386/pc/grub-install.in (grub_probefs): New variable.
43564 (modules): Likewise.
43565 (usage): Added descriptions for --modules and --grub-probefs.
43566 Handle --modules and --grub-probefs. Save the arguments in MODULES
43567 and GRUB_PROBEFS, respectively.
43568 Auto-detect a filesystem module against GRUBDIR. If the result is
43569 empty and modules are not specified explicitly, abort the
43570 installation. Add the result to MODULES.
43571
43572 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
43573 disk/powerpc/ieee1275/ofdisk.c,
43574 include/grub/powerpc/ieee1275/init.h and
43575 term/powerpc/ieee1275/ofconsole.c.
43576 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
43577 term/ieee1275/ofconsole.c.
43578
43579 * include/grub/powerpc/ieee1275/console.h: Resurrected.
43580
43581 * COPYING: Upgraded to the latest version. Only the address of the
43582 FSF office has changed.
f19dbdb7 43583
efd6e6d5 435842005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43585
43586 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43587 kern/ieee1275.c with kern/ieee1275/of.c.
43588
43589 * kern/ieee1275.c: Moved to ...
43590 * kern/ieee1275/of.c: ... here.
43591
8ceafda2 435922005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
43593
43594 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 43595 readability.
8ceafda2 43596
43597 * config.guess: Updated to the latest version from gnulib.
43598 * config.sub: Likewise.
43599 * install.sh: Likewise.
43600 * mkinstalldirs: Likewise.
43601
43602 * include/grub/console.h: Removed. This file is arch-specific. Do
43603 not put this in include/grub.
43604
43605 * include/grub/i386/pc/console.h: Resurrected.
43606
43607 * util/console.c: Include grub/machine/console.h instead of
43608 grub/console.h.
43609 * util/grub-emu.c: Likewise.
43610
267f6cd9 436112005-08-04 Marco Gerards <metgerards@student.han.nl>
43612
43613 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
43614 hardcoded value.
f19dbdb7 43615
267f6cd9 43616 From Vincent Pelletier <subdino2004@yahoo.fr>
43617 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
43618 Redefined to use grub_getwh.
43619 (grub_term): New member named getwh.
43620 (grub_getwh): New prototype.
43621 * kern/term.c (grub_getwh): New function.
43622 * term/i386/pc/console.c (grub_console_getwh): New function.
43623 (grub_console_term): New member `getwh'.
43624 * term/i386/pc/vga.c (grub_vga_getwh): New function.
43625 (grub_vga_term): New member `getwh'.
0b5abe02 43626 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 43627 grub_ssize_t.
43628 (grub_ofconsole_getw): New function.
43629 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
43630 (grub_ofconsole_term): New field named getwh and new initial
43631 value.
43632
3be7266d 436332005-08-03 Hollis Blanchard <hollis@penguinppc.org>
43634
43635 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
43636 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
43637 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
43638 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
43639 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
43640 of <grub/machine/ieee1275.h>.
43641 * commands/ieee1275/reboot.c: Likewise.
43642 * boot/powerpc/ieee1275/ieee1275.c: Move ...
43643 * kern/ieee1275.c: ... to here. All users updated. Change all
43644 parameter structs to use new type `grub_ieee1275_cell_t'.
43645 * term/powerpc/ieee1275/ofconsole.c: Move ...
43646 * term/ieee1275/ofconsole.c: ... to here. All users updated.
43647 * disk/powerpc/ieee1275/ofdisk.c: Move ...
43648 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
43649 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
43650 to return int.
43651 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
43652 Remove unused prototypes. All users updated.
43653 * include/grub/powerpc/ieee1275/console.h: Removed.
43654 * include/grub/powerpc/ieee1275/ieee1275.h: Define
43655 `grub_ieee1275_cell_t'.
43656 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
43657 Cast comparisons with -1 to the correct type.
43658 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
43659 type to match `grub_ieee1275_entry_fn'.
43660
8b5f3938 436612005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
43662
43663 * DISTLIST: Added util/i386/pc/grub-probefs.c.
43664
43665 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
43666 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
43667 partmap/sun.c.
43668 (grub_probefs_SOURCES): New variable.
43669
43670 * util/i386/pc/grub-probefs.c: New file.
43671
43672 * util/i386/pc/grub-setup.c (main): Call
43673 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
43674 grub_hfs_init and grub_jfs_init to initialize the system. Call
43675 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
43676 grub_pc_partition_map_fini to finish the system.
43677
ea409713 436782005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
43679
43680 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
43681 function.
43682 (grub_multiboot_load_elf32): Likewise.
43683 (grub_multiboot_is_elf64): Likewise.
43684 (grub_multiboot_load_elf64): Likewise.
43685 (grub_multiboot_load_elf): Likewise.
43686 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
43687 an ELF32 or ELF64 file.
43688 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
43689
43690 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
43691 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
43692 NULL before calling FS->LABEL.
43693 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
43694 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
43695 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
43696 before calling FS->LABEL.
43697
141a288b 436982005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
43699
43700 * util/i386/pc/grub-install.in (datadir): New variable.
43701 (libdir): Removed.
43702 (pkgdatadir): New variable.
43703 (pkglibdir): Removed.
43704
0d5f8a54 437052005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
43706
43707 * DISTLIST: Added util/i386/pc/grub-install.in.
43708
43709 * util/i386/pc/grub-install.in: New file.
43710
43711 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
43712 (grub_install_SOURCES): Likewise.
43713
43714 * genmk.rb: Added support for scripts.
43715 (Script): New class.
43716 (scripts): New variable.
43717
43718 * Makefile.in (install-local): Install sbin_SCRIPTS by
43719 INSTALL_SCRIPT.
43720 (uninstall): Remove sbin_SCRIPTS.
43721
43722 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
43723 device, try to get a GRUB device by
43724 grub_util_biosdisk_get_grub_dev.
43725 Free DEST_DEV.
43726
43727 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
43728 description for --device-map.
43729
5f968e1e 437302005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43731
43732 Change the semantics of variable hooks. They now return strings
43733 instead of error values.
f19dbdb7 43734
5f968e1e 43735 * util/i386/pc/grub-setup.c: Include grub/env.h.
43736 (setup): Use grub_device_set_root instead of grub_env_set.
43737
43738 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
43739 grub_env_get instead of grub_device_set_root and
43740 grub_device_get_root, respectively.
43741
43742 * kern/main.c (grub_env_write_root): New function.
43743 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
43744 grub_env_set instead of grub_device_set_root.
43745
43746 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
43747 many variables.
43748 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
43749 rather than calling ENV->WRITE_HOOK afterwards.
43750 (grub_env_get): Return the result of ENV->READ_HOOK rather than
43751 passing a pointer of a pointer.
43752 (grub_register_variable_hook): Change the types of "read_hook" and
43753 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
43754 respectively.
43755 Allocate the default empty string on the heap, because this string
43756 may be freed later.
43757
43758 * kern/device.c: Include grub/env.h.
43759 (grub_device_set_root): Removed.
43760 (grub_device_get_root): Likewise.
43761 (grub_device_open): Use grub_env_get instead of
43762 grub_device_get_root.
43763
43764 * include/grub/env.h (grub_env_read_hook_t): New type.
43765 (grub_env_write_hook_t): Likewise.
43766 (grub_env_var): Change the types of "read_hook" and "write_hook"
43767 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
43768 (grub_register_variable_hook): Likewise.
43769
43770 * include/grub/device.h (grub_device_set_root): Removed.
43771 (grub_device_set_root): Likewise.
43772
43773 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
43774 make sure that DIRNAME terminates with '/', so that
43775 grub_fat_find_dir will fail if PATH is not a directory.
43776
43777 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
43778 from DIRNAME.
43779 Use the qualifier auto for print_files and print_files_long.
43780 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
43781 as a regular file.
43782 Put a newline only if there is no error.
43783 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
43784 used.
43785
896f0afd 437862005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43787
43788 * kern/partition.c (grub_partition_probe): Initialize PART to
43789 NULL. Otherwise, when no partition map is registered, this returns
43790 a garbage.
43791
b28b81b2 437922005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
43793
43794 * partmap/apple.c (apple_partition_map_iterate): Check if POS
43795 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
43796 valid.
43797
5f3607e0 437982005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
43799
43800 * commands/ls.c (grub_ls_list_disks): Print the filesystem
43801 information on each device, if it does not have partitions. Print
43802 "Device" instead of "Disk", because this function is not specific
43803 to disk devices.
43804
43805 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
43806 static to ensure that it is put on the memory rather than a
43807 register.
43808
502c87e8 438092005-07-17 Yoshinori Okuji <okuji@enbug.org>
43810
43811 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
43812 (grub_cat_init): Likewise.
43813 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
43814 (options): Likewise.
43815 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
43816 (grub_configfile_init): Likewise.
43817 * font/manager.c (GRUB_MOD_INIT): Likewise.
43818 * commands/help.c (GRUB_MOD_INIT): Likewise.
43819 (grub_help_init): Likewise.
43820 * normal/command.c (grub_command_init): Likewise.
43821 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
43822 * disk/loopback.c (grub_loop_init): Likewise.
43823 (GRUB_MOD_INIT): Likewise.
43824 * commands/ls.c (grub_ls_init): Likewise.
43825 (GRUB_MOD_INIT): Likewise.
43826 (options): Likewise.
43827 * commands/boot.c (grub_boot_init): Likewise.
43828 (GRUB_MOD_INIT): Likewise.
43829 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
43830 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
43831 (GRUB_MOD_INIT): Likewise.
43832 * commands/cmp.c (grub_cmp_init): Likewise.
43833 (GRUB_MOD_INIT): Likewise.
43834
43835 * normal/arg.c: Use <> instead of "" to include header files.
43836 (SHORT_ARG_HELP): New macro.
43837 (SHORT_ARG_USAGE): Likewise.
43838 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
43839 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
43840 descriptions.
43841 (find_short): Check if C is 'h' or 'u' explicitly.
43842 (grub_arg_show_help): Use space characters instead of tabs. Treat
43843 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
43844 are shown with --help and --usage only if they are not used for
43845 the command itself.
43846 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
43847 'h' and 'u'.
43848
43849 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
43850 const into "longarg". Change the type of "shortarg" to int.
43851
f806d18e 438522005-07-17 Yoshinori Okuji <okuji@enbug.org>
43853
43854 * boot/i386/pc/boot.S (boot_drive_check): New label.
43855
43856 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
43857 macro.
43858
43859 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
43860 which do not pass a boot drive correctly. Copied from GRUB Legacy.
43861
e293232b 438622005-07-17 Yoshinori Okuji <okuji@enbug.org>
43863
43864 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
43865 When turning off Gate A20, skip the check and return immediately,
43866 because this is not fatal usually.
43867
ebedfd00 438682005-07-17 Yoshinori Okuji <okuji@enbug.org>
43869
43870 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
43871 be 0x7C00 instead of 0x8000.
43872
43873 * boot/i386/pc/pxeboot.S: Rewritten.
43874
43875 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
43876 EXT_C.
43877 (gate_a20_check_state): Read a byte from 0x108000. Invert the
43878 result.
43879
654fc59f 438802005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
43881
43882 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
43883 robustness. This routine now supports a BIOS call and System
43884 Control Port A to modify the gate A20.
43885
43886 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43887 Increased to 0x440.
43888
09f9923f 438892005-07-12 Hollis Blanchard <hollis@penguinppc.org>
43890
43891 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
43892 device path and resulting ihandle.
43893 (grub_ofdisk_close): dprintf the ihandle being closed.
43894 (grub_ofdisk_read): dprintf function parameters.
43895 * kern/mm.c (grub_mm_init_region): Likewise.
43896 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
43897 (grub_linux_boot): dprintf the Linux entry point, initrd address and
43898 size, and boot arguments.
43899 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
43900 before loading into memory.
43901 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
43902 before loading into memory.
43903
7ef504d8 439042005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
43905
43906 * kern/mm.c: Added much documentation.
43907 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
43908 8, set to 5 instead of 8.
43909
e0f050c2 439102005-07-10 Yoshinori Okuji <okuji@enbug.org>
43911
43912 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
43913
43914 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
43915 (grub_mkdevicemap_SOURCES): New variable.
43916
43917 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
43918 lib/device.c of GRUB Legacy.
43919
7224189a 439202005-07-10 Yoshinori Okuji <okuji@enbug.org>
43921
43922 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
43923 instead of PATH is NULL.
43924
68c864eb 439252005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
43926
43927 * commands/cmp.c (BUFFER_SIZE): New macro.
43928 (grub_cmd_cmp): Close the right file at the right time. Compare
43929 only data just read. Don't report files of different size as
43930 identical. Dynamically allocate buffers. Move variable
43931 declarations at the beginning of function.
43932
e6f3e614 439332005-07-09 Yoshinori Okuji <okuji@enbug.org>
43934
43935 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
43936 reverse.
43937
f8f1559a 439382004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
43939
43940 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
43941 when backspace is pressed at beginning of line.
43942
39c9d41d 439432005-07-03 Yoshinori Okuji <okuji@enbug.org>
43944
43945 * DISTLIST: Added genfslist.sh.
43946
43947 * normal/main.c (fs_module_list): New variable.
43948 (autoload_fs_module): New function.
43949 (read_fs_list): Likewise.
43950 (grub_normal_execute): Call read_fs_list.
43951
43952 * kern/fs.c (grub_fs_autoload_hook): New variable.
43953 (grub_fs_probe): Added support for auto-loading.
43954
43955 * include/grub/normal.h (struct grub_fs_module_list): New struct.
43956 (grub_fs_module_list_t): New type.
43957
43958 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
43959 (grub_fs_autoload_hook): New prototype.
43960
43961 * genfslist.sh: New file.
f19dbdb7 43962
39c9d41d 43963 * genmk.rb: Added a rule to generate a filesystem list.
43964
121c1d83 439652005-06-30 Marco Gerards <metgerards@student.han.nl>
43966
43967 * configure.ac: Fix the test for cross-compiling.
43968
43969 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
43970 define GRUB_UTIL anymore.
43971
43972 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
43973 so this function works on other systems than just big endian.
43974 (load_modules): Likewise.
43975 (add_segments): Likewise.
43976
e75d76e1 439772005-06-23 Hollis Blanchard <hollis@penguinppc.org>
43978
43979 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
43980 contains `l' modifier, get a long from va_arg().
43981
50b5a0a7 439822005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
43983
43984 * kern/mm.c (grub_free): If the next free block which is being
43985 merged is the first free block, set the first block to the block
43986 being freed.
43987 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
43988
89371b20 439892005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43990
43991 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
43992 `grub_ieee1275_chosen'.
43993
168d6e58 439942005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43995
43996 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
43997 (grub_ieee1275_chosen): New variable.
43998 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
43999 `chosen'.
44000 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44001 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44002 Rename first argument to `phandle' for consistency.
44003 (grub_ieee1275_get_property_length): Likewise.
44004 (grub_ieee1275_next_property): Likewise. Change type of first argument
44005 to grub_ieee1275_phandle_t.
44006 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44007 Move export next to declaration.
44008 (grub_ieee1275_chosen): New variable.
44009 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44010 Correct cosmetic typo.
44011 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44012 `grub_ieee1275_chosen'.
44013 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44014 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44015 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44016 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44017 `grub_ieee1275_chosen'.
44018
ca5baa3f 440192005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44020
44021 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44022 /chosen/bootargs.
44023 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44024 /chosen/bootargs as "variable=value" pairs.
44025
708b345f 440262005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44027
44028 * include/grub/misc.h (grub_dprintf): New macro.
44029 (grub_real_dprintf): New prototype.
44030 (grub_strword): Likewise.
44031 (grub_iswordseparator): Likewise.
44032 * kern/misc.c (grub_real_dprintf): New function.
44033 (grub_strword): Likewise.
44034 (grub_iswordseparator): Likewise.
44035
f4c5e67c 440362005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44037
44038 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44039 (roundup): Remove macro.
44040 (grub_ieee1275_flags): Make static.
44041 (grub_ieee1275_realmode): Remove.
44042 (grub_ieee1275_test_flag): New function.
44043 (grub_ieee1275_set_flag): Likewise.
44044 (find_options): Rename to `grub_ieee1275_find_options'; update
44045 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44046 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44047 (cmain): New prototype.
44048 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44049 `grub_ieee1275_flags' directly.
44050 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44051 machine/biosdisk.h.
44052 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44053 Don't include grub/machine/init.h.
44054 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44055 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44056 Remove prototype.
44057 (grub_ieee1275_realmode): Likewise.
44058 (grub_ieee1275_flag): New enum.
44059 (grub_ieee1275_test_flag): New prototype.
44060 (grub_ieee1275_set_flag): New prototype.
44061 * include/grub/powerpc/ieee1275/init.h: Remove file.
44062 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44063 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44064 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44065 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44066 comment.
44067 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44068 `grub_ieee1275_test_flag'.
44069 (grub_ieee1275_encode_devname): Likewise.
44070
ed16607e 440712005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44072
44073 * include/grub/powerpc/ieee1275/ieee1275.h
44074 (grub_ieee1275_encode_devname): New prototype.
44075 (grub_ieee1275_get_filename): Likewise.
44076 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44077 function.
44078 (grub_set_prefix): Likewise.
44079 (grub_machine_init): Call grub_set_prefix.
44080 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44081 (grub_parse_type): New enum.
44082 (grub_ieee1275_get_devargs): New function.
44083 (grub_ieee1275_get_devname): Likewise.
44084 (grub_ieee1275_parse_args): Likewise.
44085 (grub_ieee1275_get_filename): Likewise.
44086 (grub_ieee1275_encode_devname): Likewise.
44087
be369920 440882005-03-30 Marco Gerards <metgerards@student.han.nl>
44089
44090 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44091 `grub_loader_unset'.
44092
a5ce3a4a 440932005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44094
44095 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44096 instead of grub_ieee1275_interpret.
44097 (grub_halt_init): New function.
44098 (grub_halt_fini): Likewise.
44099 (GRUB_MOD_INIT): Correct message grammar.
44100 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44101 instead of grub_ieee1275_interpret.
44102 (grub_reboot_init): New function.
44103 (grub_reboot_fini): Likewise.
44104 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44105 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44106 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44107 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44108 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44109 function.
44110 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44111 Add prototype.
44112 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44113 prototype.
44114 (grub_halt): Likewise.
44115 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44116 (cmain): Remove __attribute__((unused)).
44117 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44118 (grub_heap_len): Likewise.
44119 (grub_machine_fini): New function.
44120 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44121 (grub_halt): Likewise.
44122 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44123 function.
44124 * util/powerpc/ieee1275/misc.c: New file.
44125
0058f771 441262005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44127
44128 * DISTLIST: New file.
44129 * gendistlist.sh: Likewise.
f19dbdb7 44130
0058f771 44131 * Makefile.in (COMMON_DISTFILES): Removed.
44132 (BOOT_DISTFILES): Likewise.
44133 (CONF_DISTFILES): Likewise.
44134 (DISK_DISTFILES): Likewise.
44135 (FS_DISTFILES): Likewise.
44136 (INCLUDE_DISTFILES): Likewise.
44137 (KERN_DISTFILES): Likewise.
44138 (LOADER_DISTFILES): Likewise.
44139 (TERM_DISTFILES): Likewise.
44140 (UTIL_DISTFILES): Likewise.
44141 (DISTFILES): Likewise.
44142 (uninstall): Uninstall files in $(pkgdata_DATA).
44143 (DISTLIST): New target.
44144 (distdir): Use the contents of the file DISTLIST to get a list of
44145 distributed files.
44146
46b3b8a5 441472005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44148
44149 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44150 descriptor. This is ported from GRUB Legacy.
44151
44152 * gencmdlist.sh: Added an extra semicolon to make it work with
44153 old sed versions. Reported by Robert Bihlmeyer
44154 <robbe@orcus.priv.at>.
44155
5822ff87 441562005-03-08 Yoshinori Okuji <okuji@enbug.org>
44157
44158 Automatic loading of commands is supported.
f19dbdb7 44159
5822ff87 44160 * normal/main.c (read_command_list): New function.
44161 (grub_normal_execute): Call read_command_list.
44162
44163 * normal/command.c (grub_register_command): Return zero or CMD.
44164 Allocate CMD->NAME from the heap.
44165 Initialize CMD->MODULE_NAME to zero.
44166 Find the same name as well. If the same command is found and it is
44167 a dummy command, overwrite members. If it is not a dummy command,
44168 return zero.
44169 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44170 (grub_command_find): If a dummy command is found, load a module
44171 and retry to find a command only once.
44172
44173 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44174 make sure that each command is loaded.
44175
44176 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44177 macro.
44178 (struct grub_command): Remove const from the member `name'.
44179 Add a new member `module_name'.
44180 (grub_register_command): Return grub_command_t.
44181
44182 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44183 sure that each command is loaded.
44184
44185 * genmk.rb (PModule::rule): Specify a module name without the
44186 suffix ".mod" to gencmdlist.sh.
44187
7b1f4b57 441882005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44189
44190 * gencmdlist.sh: New file.
f19dbdb7 44191
7b1f4b57 44192 * genmk.rb (PModule::rule): Generate a rule for a command list.
44193 Clean command.lst.
44194 Generate command.lst from $(COMMANDFILES).
44195
44196 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44197 (DATA): Added $(pkgdata_DATA).
44198 (install-local): Install files in $(pkgdata_DATA).
44199
062aaf39 442002005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44201
44202 * term/i386/pc/vga.c (debug_command): Removed.
44203 (GRUB_MOD_INIT): Do not register the command "debug".
44204
44205 From Hollis Blanchard:
44206 * commands/configfile.c: New file.
44207 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44208 commands/configfile.c.
44209 (pkgdata_MODULES): Added configfile.mod.
44210 (configfile_mod_SOURCES): New variable.
44211 (configfile_mod_CFLAGS): Likewise.
44212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44213 commands/configfile.c.
44214 (pkgdata_MODULES): Added configfile.mod.
44215 (configfile_mod_SOURCES): New variable.
44216 (configfile_mod_CFLAGS): Likewise.
44217 * util/grub-emu.c (main): Call grub_configfile_init and
44218 grub_configfile_fini.
44219 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44220 prototype.
44221 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 44222
cee01aa6 442232005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44224
44225 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44226 address.
44227
44228 * commands/help.c (grub_cmd_help): Do not print newlines after
44229 the last command in print_command_help.
44230
93f3a1d8 442312005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44232
44233 * commands/default.h: New file.
44234 * commands/timeout.h: Likewise.
44235 * normal/context.c: Likewise.
f19dbdb7 44236
93f3a1d8 44237 * util/misc.c: Do not include sys/times.h.
44238 Include sys/time.h and grub/machine/time.h.
44239 (grub_get_rtc): Rewritten with gettimeofday.
44240
44241 * util/grub-emu.c (main): Call grub_default_init and
44242 grub_timeout_init before grub_normal_init, and call
44243 grub_timeout_fini and grub_default_fini after grub_main.
44244
44245 * util/console.c (grub_ncurses_checkkey): Return the read
44246 character or -1.
44247
44248 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44249 timeouts.
44250
44251 * normal/main.c (read_config_file): Push MENU. If this fails,
44252 print an error and wait for a user input.
44253 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44254 If a menu is empty or an error occurs, pop MENU.
44255 (grub_normal_execute): Pop and free MENU after grub_menu_run
44256 returns.
44257
44258 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44259
44260 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44261 include time.h.
44262 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44263 without GRUB_UTIL.
44264 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44265 time.h.
44266 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44267 without GRUB_UTIL.
44268
44269 * include/grub/normal.h (struct grub_menu_list): New struct.
44270 (grub_menu_list_t): New type.
44271 (struct grub_context): New struct.
44272 (grub_context_t): New type.
44273 (grub_register_command): Got rid of EXPORT_FUNC.
44274 (grub_unregister_command): Likewise.
44275 (grub_context_get): New prototype.
44276 (grub_context_get_current_menu): Likewise.
44277 (grub_context_push_menu): Likewise.
44278 (grub_context_pop_menu): Likewise.
44279 [GRUB_UTIL] (grub_default_init): Likewise.
44280 [GRUB_UTIL] (grub_default_fini): Likewise.
44281 [GRUB_UTIL] (grub_timeout_init): Likewise.
44282 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44283
44284 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44285 commands/timeout.c and normal/context.c.
44286 (pkgdata_MODULES): Added default.mod and timeout.mod.
44287 (normal_mod_SOURCES): Added normal/context.c.
44288 (default_mod_SOURCES): New variable.
44289 (default_mod_CFLAGS): Likewise.
44290 (timeout_mod_SOURCES): Likewise.
44291 (timeout_mod_CFLAGS): Likewise.
44292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44293 conf/i386-pc.rmk.
44294 (pkgdata_MODULES): Added default.mod and timeout.mod.
44295 (normal_mod_SOURCES): Added normal/context.c.
44296 (default_mod_SOURCES): New variable.
44297 (default_mod_CFLAGS): Likewise.
44298 (timeout_mod_SOURCES): Likewise.
44299 (timeout_mod_CFLAGS): Likewise.
44300
44301 * Makefile.in (all-local): Added $(MKFILES).
44302
4ed2e1dd 443032005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44304
44305 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44306 (grub_emu_SOURCES): Likewise.
44307 (pkgdata_MODULES): Add `sun.mod'.
44308 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44310 `partmap/sun.c'.
44311 (pkgdata_MODULES): Add `sun.mod'.
44312 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44313 * include/grub/partition.h (grub_sun_partition_map_init): New
44314 prototype.
44315 (grub_sun_partition_map_fini): Likewise.
44316 * partmap/sun.c: New file.
44317 * util/grub-emu.c (main): Initialize and de-initialize the sun
44318 partitionmap support.
44319
4d4e372e 443202005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44321
44322 This implements an Emacs-like menu entry editor.
f19dbdb7 44323
4d4e372e 44324 * normal/menu_entry.c: New file.
f19dbdb7 44325
4d4e372e 44326 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44327 characters to ASCII.
44328 (saved_char): New variable.
44329 (grub_ncurses_checkkey): Rewritten completely.
44330 (grub_ncurses_getkey): Likewise.
44331 (grub_ncurses_init): Call raw instead of cbreak.
44332
44333 * normal/menu.c (print_entry): Do not put a space.
44334 (init_page): Renamed to ...
44335 (grub_menu_init_page): ... this. All callers changed.
44336 (edit_menu_entry): Removed.
44337 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44338
44339 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44340
44341 * kern/misc.c (grub_vprintf): Call grub_refresh.
44342
44343 * normal/menu.c (DISP_LEFT): Renamed to ...
44344 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44345 * normal/menu.c (DISP_UP): Renamed to ...
44346 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44347 * normal/menu.c (DISP_RIGHT): Renamed to ...
44348 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44349 * normal/menu.c (DISP_DOWN): Renamed to ...
44350 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44351 * normal/menu.c (DISP_HLINE): Renamed to ...
44352 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44353 * normal/menu.c (DISP_VLINE): Renamed to ...
44354 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44355 * normal/menu.c (DISP_UL): Renamed to ...
44356 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44357 * normal/menu.c (DISP_UR): Renamed to ...
44358 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44359 * normal/menu.c (DISP_LL): Renamed to ...
44360 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44361 * normal/menu.c (DISP_LR): Renamed to ...
44362 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44363 * normal/menu.c (TERM_WIDTH): Renamed to ...
44364 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44365 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44366 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44367 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44368 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44369 * normal/menu.c (TERM_MARGIN): Renamed to ...
44370 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44371 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44372 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44373 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44374 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44375 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44376 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44377 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44378 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44379 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44380 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44381 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44382 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44383 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44384 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44385 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44386 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44387 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44388 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44389 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44390 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44391 All callers changed.
44392
44393 * include/grub/normal.h: New prototype.
44394
44395 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44396 normal/menu_entry.c.
44397 (normal_mod_SOURCES): Likewise.
44398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44399 (normal_mod_SOURCES): Likewise.
44400
e6b92c8a 444012005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44402
44403 * include/grub/normal.h (grub_halt_init): New prototype.
44404 (grub_halt_fini): Likewise.
44405 (grub_reboot_init): Likewise.
44406 (grub_reboot_fini): Likewise.
44407
44408 * util/grub-emu.c: Include signal.h.
44409 (main_env): New global variable.
44410 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44411 catch C-c.
44412 (grub_machine_fini): New function.
44413 (main): Call grub_halt_init and grub_reboot_init before
44414 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44415 Call setjmp with MAIN_ENV to go back afterwards.
44416 Call grub_machine_fini right before return.
44417
44418 * include/grub/util/misc.h: Include setjmp.h.
44419 (main_env): New prototype.
44420
44421 * include/grub/kernel.h (grub_machine_fini): New prototype.
44422 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44423 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44424
44425 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44426 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44427 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 44428
e6b92c8a 44429 * util/i386/pc/misc.c: New file.
f19dbdb7 44430
e6b92c8a 44431 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44432 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44433 commands/i386/pc/reboot.c.
44434
c642636f 444352005-02-14 Guillem Jover <guillem@hadrons.org>
44436
44437 * include/grub/dl.h (grub_dl_check_header): New prototype.
44438 (grub_arch_dl_check_header): Change return type to grub_err_t,
44439 remove size parameter and export function. Update all callers.
44440 * kern/dl.c (grub_dl_check_header): New function.
44441 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44442 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44443 are inside the core.
44444 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44445 independent ELF header checks.
44446 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44447 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44448 `grub_dl_check_header' instead of explicit checks. Check for the
44449 ELF type.
44450 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44451 `grub_dl_check_header' instead of explicit checks. Remove arch
44452 specific ELF header checks.
44453
e6b92c8a 44454 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44455 argument SIZE.
44456
5eabe94b 444572005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44458
44459 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44460 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44461
1b14a681 444622005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44463
44464 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 44465 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 44466 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 44467 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 44468 * partmap/amiga.c (amiga_partition_map_iterate): Return
44469 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44470 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44471
aca108aa 444722005-02-01 Guillem Jover <guillem@hadrons.org>
44473
44474 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44475 help info.
44476
c9f9c556 444772005-01-31 Marco Gerards <metgerards@student.han.nl>
44478
44479 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44480 Removed prototype.
44481 (grub_rescue_cmd_linux): New prototype.
44482 (grub_rescue_cmd_initrd): Likewise.
44483 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44484 `bi_rec'.
44485 (grub_linux_release_mem): Release the memory for the initrd.
44486 (grub_load_linux): Renamed from this...
44487 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44488 Changed `entry' not to be static. Loop over memory regions to
44489 find another one when the default fails.
44490 (grub_rescue_cmd_initrd): New function.
44491 (grub_linux_init): Remove function.
44492 (grub_linux_fini): Likewise.
44493 (GRUB_MOD_INIT): Register `initrd'.
44494 (GRUB_MOD_FINI): Unregister `initrd'.
44495 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44496 Function removed.
44497 (grub_linux_normal_fini): Likewise.
44498 (GRUB_MOD_INIT): Register `initrd'.
44499 (GRUB_MOD_FINI): Unregister `initrd'.
44500
990cf3aa 445012005-01-31 Marco Gerards <metgerards@student.han.nl>
44502
44503 * commands/help.c: New file.
44504 * normal/arg.c (show_help): Renamed to...
44505 (grub_arg_show_help): ... this.
44506 * commands/i386/pc/halt.c: New file.
44507 * commands/i386/pc/reboot.c: Likewise.
44508 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44509 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44510 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44511 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44512 variables.
44513 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44514 `commands/help.c'.
44515 (pkgdata_MODULES): Add `help.mod'.
44516 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44517 * grub/i386/pc/init.h (grub_reboot): New prototype.
44518 (grub_halt): Likewise.
44519 * include/grub/normal.h (grub_arg_show_help): New prototype.
44520 (grub_help_init): Likewise.
44521 (grub_help_fini): Likewise.
44522 * util/grub-emu.c (main): Initialize and deinitialize the help
44523 command.
44524
44525 * normal/cmdline.c (grub_cmdline_get): Doc fix.
44526
44527 * normal/command.c (grub_command_init): Fixed the description of
44528 the `set' and `unset' commands.
44529
445302005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 44531
44532 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
44533 function.
44534 * commands/ieee1275/halt.c: New file.
44535 * commands/ieee1275/reboot.c: Likewise.
44536 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
44537 `__attribute__ ((unused))'. Some GCS related fixed.
44538 (grub_suspend_init) [GRUB_UTIL]: Function removed.
44539 (grub_suspend_fini): Likewise.
44540 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
44541 and `halt.mod'.
44542 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
44543 (halt_mod_CFLAGS): New variables.
44544 * include/grub/powerpc/ieee1275/ieee1275.h
44545 (grub_ieee1275_interpret): New prototype.
44546
1ab09cc7 445472005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
44548
44549 * include/grub/misc.h (memmove): New prototype.
44550 (memcpy): Likewise.
44551
8b8cbdb2 445522005-01-22 Hollis Blanchard <hollis@penguinppc.org>
44553
44554 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
44555 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
44556
e3741a27 445572005-01-22 Marco Gerards <metgerards@student.han.nl>
44558
44559 * kern/misc.c (grub_strndup): Function rewritten.
44560
776bd780 445612005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
44562
44563 * normal/menu.c (TERM_WIDTH): Macro redefined.
44564 (TERM_TOP_BORDER_Y): Likewise.
44565 (draw_border): Replaced while-loop by a for-loop. Make the number
44566 of lines consistent with the number of lines displayed in
44567 print_entries. Added a margin below the rectangle.
44568 (print_entry): Make the entry fit in the rectangle.
44569 (print_entries): Display the scroll arrows next to the right
44570 border.
44571
78026bce 445722005-01-21 Marco Gerards <metgerards@student.han.nl>
44573
44574 * fs/minix.c (grub_minix_find_file): Reserve more space for
44575 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
44576 `grub_strncpy' to copy `path' into it.
44577
67bbaf0f 445782005-01-21 Marco Gerards <metgerards@student.han.nl>
44579
44580 Add the loopback device, a device via which files can be accessed
44581 as devices.
f19dbdb7 44582
67bbaf0f 44583 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
44584 (pkgdata_MODULES): Add loopback.mod.
44585 (loopback_mod_SOURCES): New variable.
44586 (loopback_mod_CFLAGS): Likewise.
44587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44588 `disk/loopback.c'.
44589 (pkgdata_MODULES): Add loopback.mod.
44590 (loopback_mod_SOURCES): New variable.
44591 (loopback_mod_CFLAGS): Likewise.
44592 * disk/loopback.c: new file.
44593 * include/grub/normal.h (grub_loop_init): New prototype.
44594 (grub_loop_fini): New prototype.
44595 * util/grub-emu.c (main): Initialize and de-initialize loopback
44596 support.
44597 * include/grub/disk.h (grub_disk_dev_id): Add
44598 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
44599
6f1c18bd 446002005-01-20 Hollis Blanchard <hollis@penguinppc.org>
44601
44602 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
44603 function.
44604 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
44605 (suspend_mod_SOURCES): New variable.
44606 (suspend_mod_CFLAGS): Likewise.
44607 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
44608 New prototype.
44609 * commands/ieee1275/suspend.c: New file.
44610
b38551da 446112005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44612
44613 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 44614 ((unused))' to `__attribute__ ((used))'.
b38551da 44615 (GRUB_MOD_FINI): Likewise.
44616 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
44617 * genmk.rb (PModule): Assign space to common symbols when linking
44618 modules.
44619
777aff39 446202005-01-20 Marco Gerards <metgerards@student.han.nl>
44621
44622 * include/grub/mm.h (grub_mm_init_region): Change the type of the
44623 `unsigned' arguments to `grub_size_t'.
44624 (grub_malloc): Likewise.
44625 (grub_realloc): Likewise.
44626 (grub_memalign): Likewise.
44627 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
44628 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44629 * util/misc.c (grub_malloc): Likewise.
44630 (grub_realloc): Likewise.
44631 * kern/mm.c (get_header_from_pointer): Change the casts to
44632 `unsigned' into a cast to `grub_size_t'.
44633
44634 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
44635 point to `currnode' when `currnode' is changed.
44636
44637 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
44638 Schottelius <nico-linux@schottelius.org>.
44639
d0ff18e1 446402005-01-09 Hollis Blanchard <hollis@penguinppc.org>
44641
44642 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
44643 (note_path): Remove variable.
44644 (GRUB_IEEE1275_NOTE_NAME): New macro.
44645 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
44646 (grub_ieee1275_note_hdr): New structure.
44647 (grub_ieee1275_note_desc): Likewise.
44648 (grub_ieee1275_note): Likewise.
44649 (load_note): Remove `dir' argument. All callers updated. Remove
44650 `note_img' and `path'. Do not load a file from `note_path'.
44651 Initialize a struct grub_ieee1275_note and write that to `out'.
44652 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
44653
4ca7004c 446542005-01-05 Marco Gerards <metgerards@student.han.nl>
44655
44656 * util/misc.c (grub_util_read_image): Revert last change. It
44657 called `grub_util_read_at', which seeks from the beginning of the
44658 file.
44659
0b412211 446602005-01-04 Hollis Blanchard <hollis@penguinppc.org>
44661
44662 * TODO: Add note about endianness in grub-mkimage.
44663 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
44664 section.
44665 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
44666 (grub_mkimage_SOURCES): New target.
44667 * include/grub/kernel.h (grub_start_addr): Remove variable.
44668 (grub_end_addr): Likewise.
44669 (grub_total_module_size): Likewise.
44670 (grub_kernel_image_size): Likewise.
44671 (GRUB_MODULE_MAGIC): New constant.
44672 (grub_module_info): New structure.
44673 (grub_arch_modules_addr): New prototype.
44674 (grub_get_end_addr): Remove prototype.
44675 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
44676 * include/grub/powerpc/ieee1275/kernel.h: New file.
44677 * include/grub/util/misc.h (grub_util_get_fp_size): New
44678 prototype.
44679 (grub_util_read_at): Likewise.
44680 (grub_util_write_image_at): Likewise.
44681 * kern/main.c (grub_get_end_addr): Remove function.
44682 (grub_load_modules): Call grub_arch_modules_addr instead of using
44683 grub_end_addr. Look for a grub_module_info struct in memory. Use
44684 the grub_module_info fields instead of calling grub_get_end_addr
44685 as loop conditions. Move grub_add_unused_region code here.
44686 (grub_add_unused_region): Remove function.
44687 * kern/i386/pc/init.c: Include grub/cache.h.
44688 (grub_machine_init): Remove call to grub_get_end_addr. Remove
44689 one call to add_mem_region.
44690 (grub_arch_modules_addr): New function.
44691 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
44692 (grub_total_module_size): Likewise.
44693 Include grub/machine/kernel.h.
44694 (grub_arch_modules_addr): New function.
44695 * util/grub-emu.c (grub_end_addr): Remove variable.
44696 (grub_total_module_size): Likewise.
44697 (grub_arch_modules_addr): New function.
44698 * util/misc.c: Include unistd.h.
44699 (grub_util_get_fp_size): New function.
44700 (grub_util_read_at): Likewise.
44701 (grub_util_write_image_at): Likewise.
44702 (grub_util_read_image): Call grub_util_read_at.
44703 (grub_util_write_image): Call grub_util_write_image_at.
44704 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
44705 additional memory in kernel_img for a struct grub_module_info.
44706 Fill in that grub_module_info.
44707 * util/powerpc/ieee1275/grub-mkimage.c: New file.
44708
458786f8 447092005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44710
44711 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
44712 New function.
44713 * include/grub/powerpc/ieee1275/ieee1275.h
44714 (grub_ieee1275_milliseconds): New prototype.
44715 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
44716 Change to 1000.
44717 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
44718 grub_ieee1275_milliseconds.
44719
ac507d1b 447202005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44721
44722 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
44723 variable.
44724 (find_options): New function.
44725 (cmain): Call find_options.
44726 * include/grub/powerpc/ieee1275/ieee1275.h
44727 (grub_ieee1275_realmode): New extern variable.
44728 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
44729 grub_map if grub_ieee1275_realmode is false.
44730
6b8fd1c4 447312004-12-29 Marco Gerards <metgerards@student.han.nl>
44732
44733 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
44734 lines are inserted and make it work like readline. Reported by
44735 Vincent Pelletier <subdino2004@yahoo.fr>.
44736
8514a1e0 447372004-12-28 Marco Gerards <metgerards@student.han.nl>
44738
44739 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
44740
44741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
44742 `kern/powerpc/cache.S'.
44743
924b6140 447442004-12-27 Marco Gerards <metgerards@student.han.nl>
44745
44746 * genmk.rb: Handle the `Program' class in the main loop. Written
44747 by Johan Rydberg <jrydberg@gnu.org>.
44748 (Program): New class.
44749 (programs): New variable.
44750 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
44751 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
44752 instead of "grub/kernel.h". Include <grub/machine/init.h>.
44753 (help_arch): Function removed.
44754 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
44755 `powerpc/libgcc.h' and `loader.h'.
44756 (pkgdata_PROGRAMS): New variable.
44757 (sbin_UTILITIES): Variable removed.
44758 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
44759 (grubof_SOURCES): Variable re-defined so it only includes the
44760 core functionality.
44761 (grubof_CFLAGS): Remove `-DGRUBOF'.
44762 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
44763 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
44764 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
44765 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
44766 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
44767 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
44768 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
44769 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
44770 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
44771 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
44772 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44773 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
44774 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
44775 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
44776 (pc_mod_CFLAGS): New variables.
44777 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
44778 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
44779 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
44780 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
44781 Moved from here...
44782 * include/grub/i386/pc/init.h (grub_os_area_addr)
44783 (rub_os_area_size): ... to here.
44784 * include/grub/powerpc/ieee1275/ieee1275.h
44785 (grub_ieee1275_entry_fn): Export symbol.
44786 * include/grub/powerpc/ieee1275/init.h: New file.
44787 * include/grub/powerpc/libgcc.h: Likewise.
44788 * include/grub/cache.h: Likewise.
44789 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
44790 <hollis@penguinppc.org>.
44791 * kern/dl.c: Include <grub/cache.h>.
44792 (grub_dl_flush_cache): New function.
44793 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
44794 for this module.
44795 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
44796 (grub_console_init): Removed prototypes.
44797 (grub_machine_init): Don't initialize the modules anymore.
44798 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
44799 static.
44800 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
44801 Macro undef removed.
44802 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
44803 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
44804 relocation `R_PPC_REL32'. Return an error when the relocation is
44805 unknown.
44806 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
44807 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
44808 * util/misc.c (grub_arch_sync_caches): Likewise.
44809
e4b47e0c 448102004-12-19 Marco Gerards <metgerards@student.han.nl>
44811
44812 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
44813 `symlist.c', add `grubof_symlist.c'.
44814 (symlist.c): Variable removed.
44815 (grubof_HEADERS): Variable added.
44816 (grubof_symlist.c): New target.
44817 (kernel_syms.lst): Use `grubof_HEADERS' instead of
44818 `kernel_img_HEADERS'.
44819 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
44820 * kern/powerpc/dl.c: New file.
44821 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
44822 Function removed.
44823 (grub_arch_dl_relocate_symbols): Likewise.
44824 (grub_register_exported_symbols): Likewise.
44825
4ceb3636 448262004-12-13 Marco Gerards <metgerards@student.han.nl>
44827
44828 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
44829 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
44830 to fail instead. Reported by Vincent Pelletier
44831 <subdino2004@yahoo.fr>.
44832
44833 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
44834 it is not allocated. Reported by Vincent Pelletier
44835 <subdino2004@yahoo.fr>.
44836
44837 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
44838 output so the output looks better.
f19dbdb7 44839
3f1578fe 448402004-12-04 Marco Gerards <metgerards@student.han.nl>
44841
44842 Modulize the partition map support and add support for the amiga
44843 partition map.
f19dbdb7 44844
3f1578fe 44845 * commands/ls.c: Include <grub/partition.h> instead of
44846 <grub/machine/partition.h>.
44847 * kern/disk.c: Likewise.
44848 * kern/rescue.c: Likewise.
44849 * loader/i386/pc/chainloader.c: Likewise.
44850 * normal/cmdline.c: Likewise.
44851 * kern/powerpc/ieee1275/init.c: Likewise.
44852 (grub_machine_init): Call `grub_pc_partition_map_init',
44853 `grub_amiga_partition_map_init' and
44854 `grub_apple_partition_map_init'.
44855 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
44856 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
44857 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
44858 `partition.h' and `pc_partition.h'.
44859 (grub_setup_SOURCES): Remove
44860 `disk/i386/pc/partition.c'. Add `kern/partition.c',
44861 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44862 (grub_emu_SOURCES): Likewise.
44863 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
44864 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
44865 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
44866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44867 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
44868 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44869 (grubof_SOURCES): Likewise.
44870 * disk/i386/pc/partition.c: File removed.
44871 * disk/powerpc/ieee1275/partition.c: Likewise.
44872 * include/grub/powerpc/ieee1275/partition.h: Likewise.
44873 * include/grub/i386/pc/partition.h: Likewise.
44874 * kern/partition.c: New file.
44875 * partmap/amiga.c: Likewise.
44876 * partmap/apple.c: Likewise.
44877 * partmap/pc.c: Likewise.
44878 * include/grub/partition.h: Likewise..
44879 * include/grub/pc_partition.h: Likewise.
44880 * util/grub-emu.c: Include <grub/partition.h> instead of
44881 <grub/machine/partition.h>.
44882 (main): Call `grub_pc_partition_map_init',
44883 `grub_amiga_partition_map_init' and
44884 `grub_apple_partition_map_init' and deinitialize afterwards.
44885 * util/i386/pc/biosdisk.c: Include `#include
44886 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44887 `<grub/machine/partition.h>'.
44888 * util/i386/pc/grub-setup.c: Likewise.
44889 * util/i386/pc/biosdisk.c: Likewise.
44890 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
44891 partition information in case of a PC partition.
44892 * util/i386/pc/grub-setup.c: Include `#include
44893 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44894 `<grub/machine/partition.h>'.
44895 (setup): Only access the PC specific partition information in case
44896 of a PC partition.
44897
0ef4ced9 448982004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 44899
0ef4ced9 44900 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
44901 (grub_longjmp): Likewise.
44902 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
44903 20.
44904 * normal/powerpc/setjmp.S: New file.
44905 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44906 `normal/powerpc/setjmp.S'.
44907 (grubof_CFLAGS): Add `-DGRUBOF'.
44908 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
44909 [GRUB_UTIL && !GRUBOF].
f19dbdb7 44910
19950e29 449112004-11-16 Marco Gerards <metgerards@student.han.nl>
44912
44913 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
44914 property named `name'. Correctly handle the error returned by
44915 `grub_ieee1275_finddevice' if a device can not be opened.
44916
a2fea427 449172004-11-02 Hollis Blanchard <hollis@penguinppc.org>
44918
44919 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
44920 `actual' for negativity.
44921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44922 kern/fshelp.c.
44923
41ea0ea3 449242004-11-01 Marco Gerards <metgerards@student.han.nl>
44925
44926 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
44927 (PAGE_OFFSET): New macro.
44928 (CRTC_ADDR_PORT): Likewise.
44929 (CRTC_DATA_PORT): Likewise.
44930 (START_ADDR_HIGH_REGISTER): Likewise.
44931 (START_ADDR_LOW_REGISTER): Likewise.
44932 (GRAPHICS_ADDR_PORT): Likewise.
44933 (GRAPHICS_DATA_PORT): Likewise.
44934 (READ_MAP_REGISTER): Likewise.
44935 (INPUT_STATUS1_REGISTER): Likewise.
44936 (INPUT_STATUS1_VERTR_BIT): Likewise.
44937 (page): New variable.
44938 (wait_vretrace): New function.
44939 (set_read_map): Likewise.
44940 (set_start_address): Likewise.
44941 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
44942 the right page.
44943 (check_vga_mem): Take the page into account.
44944 (write_char): Likewise.
44945 (write_cursor): Likewise.
44946 (scroll_up): Likewise. Copy the page to the page that is not
44947 shown and switch between both pages.
44948 (grub_vga_putchar): Fix off by one error.
44949 (grub_vga_cls): Wait for the vertical retrace. Take the page into
44950 account.
44951
ad0bd20b 449522004-11-01 Marco Gerards <metgerards@student.han.nl>
44953
44954 Add support for iso9660 (including rockridge).
f19dbdb7 44955
ad0bd20b 44956 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44957 (iso9660_mod_SOURCES): New variable.
44958 (iso9660_mod_CFLAGS): Likewise.
44959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44960 * include/grub/fs.h (grub_iso9660_init): New prototype.
44961 * util/grub-emu.c (main): Call `grub_iso9660_init'.
44962 * fs/iso9660.c: New file.
44963
44964 * include/grub/misc.h (grub_strncat): New prototype.
44965 * kern/misc.c (grub_strncat): New function.
f19dbdb7 44966
ad0bd20b 44967 * fs/hfs.c (grub_hfs_mount): Translate the error
44968 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
44969 * fs/jfs.c (grub_jfs_mount): Likewise.
44970 * fs/ufs.c (grub_ufs_mount): Likewise.
44971
a5477a59 449722004-10-28 Hollis Blanchard <hollis@penguinppc.org>
44973
44974 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
44975 which initialized BAT registers.
44976 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
44977 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44978 Move from here...
44979 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
44980 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44981 ... to here.
44982 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
44983 (grub_mapclaim): Likewise.
44984 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
44985 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
44986 hand.
44987
9304c1f8 449882004-10-19 Hollis Blanchard <hollis@penguinppc.org>
44989
44990 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
44991 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
44992 -ffreestanding and -msoft-float.
44993
86f4ae25 449942004-10-15 Hollis Blanchard <hollis@penguinppc.org>
44995
44996 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
44997 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
44998 set in grub_ieee1275_flags.
44999
38912228 450002004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45001
45002 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45003 prototype.
45004 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45005 grub_console_init first.
45006 Change the memory range used for grub_ieee1275_claim and
45007 grub_mm_init_region.
45008 Print an error message if the claim fails.
45009 Include <grub/misc.h>.
45010
d1923dc8 450112004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45012
45013 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45014 Call grub_children_iterate for device nodes of type `scsi',
45015 `ide', or `ata'.
45016 (grub_ofdisk_open): Remove manual device alias resolution.
45017 Fix memory leak when device cannot be opened.
f19dbdb7 45018 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 45019 (grub_children_iterate): New prototype.
45020 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45021 New function.
45022 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45023 Return -1 if args.size was -1.
45024
4512e4f3 450252004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45026
45027 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45028 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45029 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45030 Open Firmware's memory for it; claim memory from _start to _end.
45031 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45032 (_end): New extern.
45033 (_start): Zero BSS from __bss_start to _end.
45034 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45035 New extern.
45036 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45037
4d61feb0 450382004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45039
ad0bd20b 45040 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45041 -1 if args.base was -1.
4d61feb0 45042
026fa2f9 450432004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45044
45045 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45046 escape sequence instead of a literal ^L. Also call
45047 grub_ofconsole_gotoxy.
45048
9f2220ef 450492004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45050
45051 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45052 void * arguments to grub_addr_t. All callers updated. Also make
45053 the `result' argument optional.
45054 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45055 All callers updated.
45056
8a572cd7 450572004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45058
45059 * commands/ls.c (grub_ls_list_files): Use the string following the
45060 initial ')', if present, as the filesystem path.
45061 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45062
45063 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45064
18aa81f2 450652004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45066
45067 Make the source code of the menu interface more readable.
f19dbdb7 45068
18aa81f2 45069 * normal/menu.c: Include grub/mm.h.
45070 (TERM_WIDTH): New macro.
45071 (TERM_HEIGHT): Likewise.
45072 (TERM_INFO_HEIGHT): Likewise.
45073 (TERM_MARGIN): Likewise.
45074 (TERM_SCROLL_WIDTH): Likewise.
45075 (TERM_TOP_BORDER_Y): Likewise.
45076 (TERM_LEFT_BORDER_X): Likewise.
45077 (TERM_BORDER_WIDTH): Likewise.
45078 (TERM_MESSAGE_HEIGHT): Likewise.
45079 (TERM_BORDER_HEIGHT): Likewise.
45080 (TERM_NUM_ENTRIES): Likewise.
45081 (TERM_FIRST_ENTRY_Y): Likewise.
45082 (TERM_ENTRY_WIDTH): Likewise.
45083 (TERM_CURSOR_X): Likewise.
45084 (draw_border): Use macros instead of magic numbers.
45085 (print_entry): Likewise.
45086 (print_entries): Likewise.
45087 (run_menu): Likewise. Also, handle the key 'e'.
45088 (run_menu_entry): Ignore empty command lines.
45089 (print_message): Added a new argument EDIT. If EDIT is true,
45090 print a different message.
45091 (init_page): Likewise.
45092 (edit_menu_entry): New function. Not implemented yet.
45093
b47efe30 450942004-09-17 Marco Gerards <metgerards@student.han.nl>
45095
45096 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45097 can be loaded from normal mode.
f19dbdb7 45098
b47efe30 45099 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45100 `multiboot.mod'.
45101 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45102 (multiboot_mod_CFLAGS): New variables.
45103 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 45104 * loader/i386/pc/multiboot_normal.c: Likewise.
45105
b47efe30 45106 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45107 attribute `unused'.
f19dbdb7 45108
b47efe30 45109 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45110 `fdiro' to read the mode information from instead of `diro'.
45111
45112 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45113 looking up a symlink.
45114
45115 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45116 macro.
45117 * normal/command.c (grub_command_execute): Don't parse the
45118 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45119 flags of the command.
45120
45121 * normal/menu.c (grub_menu_run): Fix typo.
45122
da75ac71 451232004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45124
45125 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45126
45127 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45128 `y + 1' instead of `y - 1'.
45129
45130 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 45131
062b24c2 451322004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45133
45134 From Hollis Blanchard <hollis@penguinppc.org>:
45135 * kern/misc.c (memmove): New alias for grub_memmove.
45136 (memcmp): New alias for grub_memcmp.
45137 (memset): New alias for grub_memset.
f19dbdb7 45138 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 45139 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 45140 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 45141 (grub_ieee1275_get_property): Likewise.
f19dbdb7 45142
8ddad845 451432004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45144
45145 Added normal mode command `chainloader' as module chain.mod, which
45146 depends on normal.mod and _chain.mod.
f19dbdb7 45147
8ddad845 45148 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45149 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45150 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45151 Deleted prototype.
45152 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45153 but arguments parsing moved to ...
45154 (grub_chainloader_cmd): ... here. New function.
45155 * include/grub/i386/pc/chainloader.h: New file.
45156 * loader/i386/pc/chainloader_normal.c: Likewise.
45157
2c1f4ce3 451582004-09-11 Marco Gerards <metgerards@student.han.nl>
45159
45160 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45161 (grub_mkimage_LDFLAGS): Likewise.
45162 (grub_emu_SOURCES): Likewise.
45163 (kernel_img_HEADERS): Added fshelp.h.
45164 * fs/ext2.c: Include <grub/fshelp.h>.
45165 (FILETYPE_REG): New macro.
45166 (FILETYPE_INO_REG): Likewise.
45167 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45168 Changed all users.
45169 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45170 all users.
45171 (grub_fshelp_node): New struct.
45172 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45173 to a pointer.
45174 (grub_ext2_get_file_block): Removed function.
45175 (grub_ext2_read_block): New function.
45176 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45177 This function was written.
45178 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45179 (grub_ext2_find_file): Removed function.
45180 (grub_ext2_read_symlink): New function.
45181 (grub_ext2_iterate_dir): Likewise.
45182 (grub_ext2_open): Rewritten.
45183 (grub_ext2_dir): Rewritten.
45184 * include/grub/fshelp.h: New file.
45185 * fs/fshelp.c: Likewise.
45186
3c52136a 451872004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45188
45189 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45190 (print_message): Add a missing newline.
45191 (run_menu): Added timeout support.
45192 (run_menu_entry): New local function.
45193 (grub_menu_run): Added support for booting.
45194
45195 * kern/loader.c (grub_loader_is_loaded): New function.
45196
45197 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45198 (grub_get_rtc): Exported.
45199
45200 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45201 (grub_get_rtc): Exported.
45202
45203 * include/grub/normal.h (struct grub_command_list): Remove
45204 constant from the member `command'.
45205
45206 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45207
45208 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45209
45210 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45211
aa033560 452122004-08-28 Marco Gerards <metgerards@student.han.nl>
45213
45214 Add support for the JFS filesystem.
45215
45216 * fs/jfs.c: New file.
45217 * include/grub/fs.h (grub_jfs_init): New prototype.
45218 (grub_jfs_fini): New prototype.
45219 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45220 (grub_emu_SOURCES): Likewise.
45221 (pkgdata_MODULES): Add jfs.mod.
45222 (jfs_mod_SOURCES): New variable.
45223 (jfs_mod_CFLAGS): Likewise.
45224 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45225 (grubof_SOURCES): Likewise.
45226 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45227
45228 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45229 endian to the host endian.
45230 (grub_fat_utf16_to_utf8): Move function from there...
45231 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 45232 the endianness of the source string anymore.
aa033560 45233 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45234
94bc45af 452352004-08-24 Marco Gerards <metgerards@student.han.nl>
45236
45237 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45238 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45239 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45240 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 45241
94bc45af 45242 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45243 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45244 for `node_found' and `it_dir'.
45245 (grub_hfs_dir): Add prototype for `dir_hook'.
45246
45247 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45248 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45249 and `indir32' to silence a gcc warning.
45250
45251 * include/grub/fs.h (grub_hfs_init): New prototype.
45252 (grub_hfs_fini): Likewise.
f19dbdb7 45253
45254
97543f08 452552004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45256
45257 Each disk device has its own id now. This is useful to make use
45258 of multiple disk devices.
f19dbdb7 45259
97543f08 45260 * include/grub/disk.h (grub_disk_dev_id): New enum.
45261 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45262 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45263
45264 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45265 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45266
45267 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45268 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45269
45270 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45271 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45272
45273 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45274 "id" which is used by the cache manager.
45275
45276 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45277 of just "GRUB".
45278
64372eb4 452792004-08-18 Marco Gerards <metgerards@student.han.nl>
45280
45281 * fs/hfs.c: New file.
45282 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45283 (grub_emu_SOURCES): Likewise.
45284 (pkgdata_MODULES): Add hfs.mod.
45285 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45286 (grubof_SOURCES): Likewise.
45287 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45288
45289 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45290 * kern/misc.c (grub_strncasecmp): Add function.
45291
cc61b58f 452922004-08-14 Marco Gerards <metgerards@student.han.nl>
45293
45294 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45295 with parentheses.
45296
45297 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45298 (grub_ext2_dir): In case the directory entry type is unknown, read
45299 it from the inode.
45300
0ef123f6 453012004-08-02 Peter Bruin <pjbruin@dds.nl>
45302
45303 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45304 grub_load_linux instead of grub_rescue_cmd_linux as second
45305 argument of grub_rescue_register_command.
45306
45307 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45308
a447c5df 453092004-07-27 Marco Gerards <metgerards@student.han.nl>
45310
45311 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45312 function.
45313 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45314 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45315 `loader/powerpc/ieee1275/linux.c',
45316 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45317 * include/grub/powerpc/ieee1275/ieee1275.h
45318 (grub_ieee1275_release): New prototype.
45319 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45320 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45321 normal, boot, linux and linux_normal.
45322 * loader/powerpc/ieee1275/linux.c: New file.
45323 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45324
5a9e3546 453252004-07-12 Marco Gerards <metgerards@student.han.nl>
45326
45327 * normal/arg.c (grub_arg_parse): Correct error handling after
45328 reallocating the argumentlist (check if `argl' is not null instead
45329 of checking if `args' is not null).
45330 * kern/mm.c (grub_realloc): Return the same pointer when using the
45331 same region, instead of returning the header address.
45332
e15199cb 453332004-07-11 Marco Gerards <metgerards@student.han.nl>
45334
45335 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45336 one block instead of two when looking for the initial partition.
45337 (grub_partition_probe): Initialize the local variable `p' with 0.
45338 Use base 10 for the grub_strtoul call.
45339 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45340 need for one local variable.
45341 (grub_strtoul): Don't add the new value to `num', instead of that
45342 just assign it.
45343
020616c2 453442004-07-11 Marco Gerards <metgerards@student.han.nl>
45345
45346 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45347 (pxeboot_img_SOURCES): New variable.
45348 (pxeboot_img_ASFLAGS): Likewise.
45349 (pxeboot_img_LDFLAGS): Likewise.
45350 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45351 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45352 <lode_leroy@hotmail.com>.
45353
6c51eb64 453542004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45355
45356 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45357 there was no input.
45358
cfb12aff 453592004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45360
45361 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45362 the history buffer logic.
45363
6eabba74 453642004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45365
45366 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45367 (FILETYPE_INO_SYMLINK): New macros.
45368 (grub_ext2_find_file): Check if the node is a directory using the
45369 inode stat information instead of using the filetype in the
45370 dirent. Exclude the first character of an absolute symlink.
45371 (grub_ext2_dir): Mask out the filetype part of the mode member of
45372 the inode.
45373
66e19ef8 453742004-05-24 Marco Gerards <metgerards@student.han.nl>
45375
45376 Add support for UFS version 1 and 2. Add support for the minix
45377 filesystem version 1 and 2, both the variants with 14 and 30 long
45378 filenames.
f19dbdb7 45379
66e19ef8 45380 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45381 fs/minix.c.
45382 (grub_emu_SOURCES): Likewise.
45383 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45384 (ufs_mod_SOURCES): New variable.
45385 (ufs_mod_CFLAGS): Likewise.
45386 (minix_mod_SOURCES): Likewise.
45387 (minix_mod_CFLAGS): Likewise.
45388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45389 fs/minix.c.
45390 (grubof_SOURCES): Likewise.
45391 * fs/ufs.c: New file.
45392 * fs/minix.c: New file.
45393 * include/grub/fs.h (grub_ufs_init): New prototype.
45394 (grub_ufs_fini): Likewise.
45395 (grub_minix_init): Likewise.
45396 (grub_minix_fini): Likewise.
45397 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45398 minix fs.
45399
cc2e748a 454002004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45401
45402 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45403 commands/ls.c, commands/terminal.c, commands/boot.c,
45404 commands/cmp.c and commands/cat.c.
45405 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45406
45407 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45408 "env.h"
45409
4b13b216 454102004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45411
45412 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45413 and grub_, respectively. Because the conversion is trivial and
45414 mechanical, I omit the details here. Please refer to the CVS
45415 if you need more information.
45416
6a142551 454172004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45418
45419 * include/pupa: Renamed to ...
45420 * include/grub: ... this.
45421 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45422 * util/i386/pc/grub-mkimage.c: ... this.
45423 * util/i386/pc/pupa-setup.c: Renamed to ...
45424 * util/i386/pc/grub-setup.c: ... this.
45425 * util/pupa-emu.c: Renamed to ...
45426 * util/grub-emu.c: ... this.
45427
e56cdf21 454282004-03-29 Marco Gerards <metgerards@student.han.nl>
45429
45430 Add support for the newworld apple macintosh (PPC). This has been
45431 tested on the powerbook 2000 only. It only adds support for
45432 generic ieee1275 functions, console and disk support. This should
45433 be easy to port to other architectures with support for Open
45434 Firmware.
f19dbdb7 45435
e56cdf21 45436 * configure.ac: Accept the powerpc as host_cpu. In the case of
45437 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45438 specific tests are only executed while building for the i386.
45439 Inverse test for crosscompile.
45440 * genmk.rb (Utility): Allow assembler files.
45441 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45442 * conf/powerpc-ieee1275.rmk: New file.
45443 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45444 * disk/powerpc/ieee1275/partition.c: Likewise.
45445 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45446 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45447 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45448 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45449 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45450 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45451 * include/pupa/powerpc/ieee1275/loader.h
45452 * include/pupa/powerpc/setjmp.h: Likewise.
45453 * include/pupa/powerpc/types.h: Likewise.
45454 * kern/powerpc/ieee1275/init.c: Likewise.
45455 * kern/powerpc/ieee1275/openfw.c: Likewise.
45456 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45457
45458 These files were written by Johan Rydberg
45459 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 45460
e56cdf21 45461 * boot/powerpc/ieee1275/cmain.c: New file.
45462 * boot/powerpc/ieee1275/crt0.S: Likewise.
45463 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45464 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45465
8c8cc205 454662004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45467
45468 * Makefile.in: Update copyright.
45469 * genmodsrc.sh: Likewise.
45470 * gensymlist.sh: Likewise.
45471 * term/i386/pc/vga.c: Indent correctly.
45472
45473 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45474 bugreporting address.
45475 * util/i386/pc/pupa-setup.c (usage): Likewise,
45476 (main): Call pupa_ext2_init and pupa_ext2_fini.
45477
f19dbdb7 45478 * fs/fat.c (log2): Renamed to ...
8c8cc205 45479 (fat_log2): ... this.
45480 All callers changed.
45481 * kern/misc.c (memcpy): Alias to pupa_memmove.
45482 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45483 lvalue cast.
45484 * util/console.c (pupa_ncurses_fini): Return 0.
45485
45486 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45487 Move fail label here.
45488 [__GNU__]: Don't warn when using stat.
45489 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45490 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45491 long int. Use strtol instead of strtoul.
f19dbdb7 45492
db1771cf 454932004-03-14 Marco Gerards <metgerards@student.han.nl>
45494
45495 * commands/boot.c: New file.
45496 * commands/cat.c: Likewise.
45497 * commands/cmp.c: Likewise.
45498 * commands/ls.c: Likewise.
45499 * commands/terminal.c: Likewise.
45500 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45501 (pupa_register_command): Changed interface to match the new
45502 argument parser.
45503 (pupa_command_execute): Changed (almost rewritten) so it uses
45504 pupa_split_command. Added support for setting variables using the
45505 syntax `foo=bar'.
45506 (rescue_command): Changed to work with the new argument parser.
45507 (terminal_command): Moved from here to commands/terminal.c.
45508 (set_command): New function.
45509 (unset_command): New function.
45510 (insmod_command): New function.
45511 (rmmod_command): New function.
45512 (lsmod_command): New function.
45513 (pupa_command_init): Don't initialize the command terminal
45514 anymore. Initialize the commands set, unset, insmod, rmmod and
45515 lsmod.
45516 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45517 (kernel_img_HEADERS): Add arg.h and env.h.
45518 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45519 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45520 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45521 normal/arg.c.
45522 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
45523 terminal.mod.
45524 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
45525 (boot_mod_SOURCES): New variable.
45526 (terminal_mod_SOURCES): Likewise.
45527 (ls_mod_SOURCES): Likewise.
45528 (cmp_mod_SOURCES): Likewise.
45529 (cat_mod_SOURCES): Likewise.
45530
45531 * normal/arg.c: New file.
45532 * kern/env.c: Likewise.
45533 * include/pupa/arg.h: Likewise.
45534 * include/pupa/env.h: Likewise.
45535 * font/manager.c (font_command): Changed to match argument parsing
45536 interface changes.
45537 (PUPA_MOD_INIT): Likewise.
45538 * hello/hello.c (pupa_cmd_hello): Likewise.
45539 (PUPA_MOD_INIT): Likewise.
45540 * include/pupa/disk.h: Include <pupa/device.h>.
45541 (pupa_print_partinfo): New prototype.
45542 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
45543 (pupa_dl_get_prefix): Likewise.
45544 * include/pupa/misc.h: Include <pupa/err.h>.
45545 (pupa_isgraph): New prototype.
45546 (pupa_isdigit): Likewise.
45547 (pupa_split_cmdline): Likewise.
45548 * include/pupa/normal.h: Include <pupa/arg.h>.
45549 (pupa_command): Changed the prototype of the member `func' to
45550 match the argument parsing interface. Added member `options'.
45551 (pupa_register_command): Updated to match function.
45552 (pupa_arg_parse): New prototype.
45553 (pupa_hello_init) [PUPA_UTIL]: New prototype.
45554 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
45555 (pupa_ls_init) [PUPA_UTIL]: Likewise.
45556 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
45557 (pupa_cat_init) [PUPA_UTIL]: Likewise.
45558 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
45559 (pupa_boot_init) [PUPA_UTIL]: Likewise.
45560 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
45561 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
45562 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
45563 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
45564 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
45565 * kern/disk.c: Include <pupa/file.h>.
45566 (pupa_print_partinfo): New function.
45567 * kern/dl.c: Include <pupa/env.h>.
45568 (pupa_dl_dir): Variable removed.
45569 (pupa_dl_load): Use the environment variable `prefix' instead of
45570 the variable pupa_dl_dir.
45571 (pupa_dl_set_prefix): Function removed.
45572 (pupa_dl_get_prefix): Likewise.
45573 * kern/i386/pc/init.c: Include <pupa/env.h>.
45574 (pupa_machine_init): Use the environment variable `prefix' instead of
45575 using pupa_dl_set_prefix to set the prefix.
45576 * kern/main.c: Include <pupa/env.h>.
45577 (pupa_set_root_dev): Use the environment variable `prefix' instead of
45578 using pupa_dl_get_prefix to get the prefix.
45579 * kern/misc.c: Include <pupa/env.h>.
45580 (pupa_isdigit): New function.
45581 (pupa_isgraph): Likewise.
45582 (pupa_ftoa): Likewise.
45583 (pupa_vsprintf): Added support for printing values of the type
45584 `double'. Make it possible to format variable output when using
45585 formatting like `%1.2%f'.
45586 (pupa_split_cmdline): New function.
45587 * kern/rescue.c: Include <pupa/env.h>.
45588 (next_word): Removed function.
45589 (pupa_rescue_cmd_prefix): Likewise.
45590 (pupa_rescue_cmd_set): New function.
45591 (pupa_rescue_cmd_unset): New function.
45592 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
45593 split the command line instead of splitting it here. Added
45594 support for setting variables using the syntax `foo=bar'. Don't
45595 initialize the prefix command anymore. Initialized the set and
45596 unset commands.
45597 * normal/cmdline.c: Include <pupa/env.h>.
45598 (pupa_tab_complete): Added prototypes for print_simple_completion,
45599 print_partition_completion, add_completion, iterate_commands,
45600 iterate_dev, iterate_part and iterate_dir. Moved code to print
45601 partition information from here to kern/disk.c.
fe6b695a 45602 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 45603 * normal/main.c: Include <pupa/env.h>.
45604 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
45605 instead of using pupa_dl_get_prefix to get the prefix.
45606 * term/i386/pc/vga.c: Include <pupa/arg.h>.
45607 (check_vga_mem): Cast pointers to `void *' to silence a gcc
45608 warning.
45609 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
45610 (pupa_vga_setcolor): Declare unused variables with `__attribute__
45611 ((unused))' to silence a gcc warning.
45612 (pupa_vga_setcolor): Likewise.
45613 (debug_command): Changed to match argument parsing
45614 interface changes.
45615 * util/pupa-emu.c: Include <pupa/env.h>.
45616 (options): Added 0's for unused fields to silence a gcc warning.
45617 (argp): Likewise.
45618 (main): Use the environment variable `prefix' instead of using
45619 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
45620 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
45621 and terminal.
45622
45623 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
45624 * util/misc.c: Include <malloc.h>.
45625 (pupa_malloc): Rewritten so errors are correctly reported.
45626 (pupa_realloc): Likewise.
45627 (pupa_memalign): Likewise.
45628 (pupa_mm_init_region): Declare unused variables with
45629 `__attribute__ ((unused))' to silence a gcc warning.
45630 * normal/i386/setjmp.S: Remove tab at the end of the file to
45631 silence a gcc warning.
45632 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
45633 variables with `__attribute__ ((unused))' to silence a gcc
45634 warning.
45635 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
45636 local variable i unsigned to silence a gcc warning.
45637
45638 * kern/term.c: Include <pupa/misc.h>.
45639 (pupa_more_lines): New variable.
45640 (pupa_more): Likewise.
45641 (pupa_putcode): When the pager is active pause at the end of every
45642 screen.
45643 (pupa_set_more): New function.
45644 * include/pupa/term.h (pupa_set_more): New prototype.
45645
45646
3b1139cb 456472004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
45648
45649 Now this project is GRUB 2 rather than PUPA. The location of
45650 the CVS repository was moved to GRUB's.
f19dbdb7 45651
3b1139cb 45652 * configure.ac: Use bug-grub as the reporting address.
45653 Use GRUB instead of PUPA.
45654 Change the version number to 1.90.
45655
8367695c 456562004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
45657
45658 * genkernsyms.sh: Updated copyright information.
45659 * genmk.rb: Likewise.
45660 * genmodsrc.sh: Likewise.
45661 * gensymlist.sh: Likewise.
45662 * boot/i386/pc/boot.S: Likewise.
45663 * boot/i386/pc/diskboot.S: Likewise.
45664 * disk/i386/pc/biosdisk.c: Likewise.
45665 * disk/i386/pc/partition.c: Likewise.
45666 * font/manager.c: Likewise.
45667 * fs/ext2.c: Likewise.
45668 * fs/fat.c: Likewise.
45669 * include/pupa/boot.h: Likewise.
45670 * include/pupa/device.h: Likewise.
45671 * include/pupa/disk.h: Likewise.
45672 * include/pupa/dl.h: Likewise.
45673 * include/pupa/elf.h: Likewise.
45674 * include/pupa/err.h: Likewise.
45675 * include/pupa/file.h: Likewise.
45676 * include/pupa/font.h: Likewise.
45677 * include/pupa/fs.h: Likewise.
45678 * include/pupa/kernel.h: Likewise.
45679 * include/pupa/loader.h: Likewise.
45680 * include/pupa/misc.h: Likewise.
45681 * include/pupa/mm.h: Likewise.
45682 * include/pupa/net.h: Likewise.
45683 * include/pupa/normal.h: Likewise.
45684 * include/pupa/rescue.h: Likewise.
45685 * include/pupa/setjmp.h: Likewise.
45686 * include/pupa/symbol.h: Likewise.
45687 * include/pupa/term.h: Likewise.
45688 * include/pupa/types.h: Likewise.
45689 * include/pupa/i386/setjmp.h: Likewise.
45690 * include/pupa/i386/types.h: Likewise.
45691 * include/pupa/i386/pc/biosdisk.h: Likewise.
45692 * include/pupa/i386/pc/boot.h: Likewise.
45693 * include/pupa/i386/pc/console.h: Likewise.
45694 * include/pupa/i386/pc/init.h: Likewise.
45695 * include/pupa/i386/pc/kernel.h: Likewise.
45696 * include/pupa/i386/pc/linux.h: Likewise.
45697 * include/pupa/i386/pc/loader.h: Likewise.
45698 * include/pupa/i386/pc/memory.h: Likewise.
45699 * include/pupa/i386/pc/multiboot.h: Likewise.
45700 * include/pupa/i386/pc/partition.h: Likewise.
45701 * include/pupa/i386/pc/time.h: Likewise.
45702 * include/pupa/i386/pc/vga.h: Likewise.
45703 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
45704 * include/pupa/util/getroot.h: Likewise.
45705 * include/pupa/util/misc.h: Likewise.
45706 * include/pupa/util/resolve.h: Likewise.
45707 * kern/device.c: Likewise.
45708 * kern/disk.c: Likewise.
45709 * kern/dl.c: Likewise.
45710 * kern/err.c: Likewise.
45711 * kern/file.c: Likewise.
45712 * kern/fs.c: Likewise.
45713 * kern/loader.c: Likewise.
45714 * kern/main.c: Likewise.
45715 * kern/misc.c: Likewise.
45716 * kern/mm.c: Likewise.
45717 * kern/rescue.c: Likewise.
45718 * kern/term.c: Likewise.
45719 * kern/i386/dl.c: Likewise.
45720 * kern/i386/pc/init.c: Likewise.
45721 * kern/i386/pc/lzo1x.S: Likewise.
45722 * kern/i386/pc/startup.S: Likewise.
45723 * loader/i386/pc/chainloader.c: Likewise.
45724 * loader/i386/pc/linux.c: Likewise.
45725 * loader/i386/pc/multiboot.c: Likewise.
45726 * normal/cmdline.c: Likewise.
45727 * normal/command.c: Likewise.
45728 * normal/main.c: Likewise.
45729 * normal/menu.c: Likewise.
45730 * normal/i386/setjmp.S: Likewise.
45731 * term/i386/pc/console.c: Likewise.
45732 * term/i386/pc/vga.c: Likewise.
45733 * util/console.c: Likewise.
45734 * util/genmoddep.c: Likewise.
45735 * util/misc.c: Likewise.
45736 * util/pupa-emu.c: Likewise.
45737 * util/resolve.c: Likewise.
45738 * util/unifont2pff.rb: Likewise.
45739 * util/i386/pc/biosdisk.c: Likewise.
45740 * util/i386/pc/getroot.c: Likewise.
45741 * util/i386/pc/pupa-mkimage.c: Likewise.
45742 * util/i386/pc/pupa-setup.c: Likewise.
45743
e6eced71 457442004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
45745
45746 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
45747 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
45748 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
45749 reading and reset it after reading.
45750 (pupa_ext2_close): Return PUPA_ERR_NONE.
45751
45752 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
45753 Correct value.
45754 (struct linux_kernel_header): Add kernel_version and
45755 initrd_addr_max.
45756 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
45757 pupa_file_read succeeds.
45758 (pupa_rescue_cmd_initrd): Implement.
45759
5aded270 457602003-12-03 Marco Gerards <metgerards@student.han.nl>
45761
45762 * fs/ext2.c (pupa_ext2_label): New function.
45763 (pupa_ext2_fs): Added label.
45764 * fs/fat.c (pupa_fat_label): New function.
45765 (pupa_fat_fs): Added label.
45766 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
45767
45768 * kern/misc.c (pupa_strndup): New function.
45769 * include/pupa/misc.h (pupa_strndup): New prototype.
45770
45771 * include/pupa/normal.h: Include <pupa/err.h>.
45772 (pupa_set_history): New prototype.
45773 (pupa_iterate_commands): New prototype.
45774 * normal/cmdline.c: Include <pupa/machine/partition.h>,
45775 <pupa/disk.h>, <pupa/file.h>.
45776 (hist_size): New variable.
45777 (hist_lines): Likewise.
45778 (hist_end): Likewise.
45779 (hist_used): Likewise.
45780 (pupa_set_history): New function.
45781 (pupa_history_get): Likewise.
45782 (pupa_history_add): Likewise.
45783 (pupa_history_replace): Likewise.
45784 (pupa_tab_complete): Likewise.
45785 (pupa_cmdline_run): Added tab completion and history buffer. Tab
45786 completion shows partitionnames while completing partitions, this
45787 feature was suggested by Jeff Bailey.
45788 * normal/command.c (pupa_iterate_commands): New function.
45789 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
45790 (pupa_normal_init): Initialize history buffer.
45791 (PUPA_MOD_INIT): Likewise.
45792 (pupa_normal_fini): Free the history buffer.
45793 (PUPA_MOD_FINI): Likewise.
45794
45795 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
45796 key.
45797
45798 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
45799 * configure.ac [i386]: Check for regparam bug.
45800 (NESTED_FUNC_ATTR) [! i386]: Defined.
45801
1f7315a3 458022003-11-17 Marco Gerards <metgerards@student.han.nl>
45803
45804 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
45805 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
45806 (pupa_emu_SOURCES): New variable.
45807 (pupa_emu_LDFLAGS): Likewise.
45808 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
45809 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
45810 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
45811 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45812 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
45813 (pupa_jmp_buf): New typedef.
45814 (pupa_setjmp) [PUPA_UTIL]: New macro.
45815 (pupa_longjmp) [PUPA_UTIL]: Likewise.
45816 * include/pupa/term.h (struct pupa_term): New member `refresh'.
45817 (pupa_refresh): New prototype.
45818 * include/pupa/util/getroot.h: New file.
45819 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
45820 it.
45821 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
45822 (pupa_rescue_cmd_cat): Likewise.
45823 (pupa_rescue_cmd_ls): Likewise.
45824 (pupa_rescue_cmd_testload): Likewise.
45825 (pupa_rescue_cmd_lsmod): Likewise.
45826 * normal/cmdline.c (pupa_cmdline_get): Likewise.
45827 * normal/menu.c (run_menu): Likewise.
45828 * kern/term.c (pupa_cls): Likewise.
45829 (pupa_refresh): New function.
45830 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
45831 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45832 * util/console.c: New file.
f19dbdb7 45833
1f7315a3 45834 * util/i386/pc/getroot.c: New file.
45835 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
45836 (pupa_putchar): New function.
45837 (pupa_refresh): Likewise.
45838 (xgetcwd): Function moved to ...
45839 (strip_extra_slashes): Likewise.
45840 (get_prefix): Likewise.
f19dbdb7 45841 * util/i386/pc/getroot.c: ... here.
1f7315a3 45842 (find_root_device): Function moved and renamed to...
45843 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
45844 Changed all callers.
45845 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
45846 and renamed to...
45847 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
45848 Changed all callers.
45849 * util/misc.c (pupa_memalign): New function.
45850 (pupa_mm_init_region): Likewise.
45851 (pupa_register_exported_symbols): Likewise.
45852 (pupa_putchar): Function removed.
45853 * util/pupa-emu.c: New file.
45854
9a5c1ade 458552003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
45856
45857 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
45858 (_multiboot_mod_SOURCES): New variable.
45859 (_multiboot_mod_CFLAGS): Likewise.
45860 * loader/i386/pc/multiboot.c: New file.
45861 * include/pupa/i386/pc/multiboot.h: Likewise.
45862 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
45863 (pupa_multiboot_real_boot): New function.
45864 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
45865 (pupa_multiboot_real_boot): New prototype.
45866 (pupa_rescue_cmd_multiboot): Likewise
45867 (pupa_rescue_cmd_module): Likewise.
45868
45869 * kern/loader.c (pupa_loader_set): Continue when
45870 pupa_loader_unload_func() fails.
45871 (pupa_loader_unset): New function.
45872 * include/pupa/loader.h (pupa_loader_unset): New prototype.
45873
45874 * kern/misc.c (pupa_stpcpy): New function.
45875 * include/pupa/misc.h (pupa_stpcpy): New prototype.
45876
8e72a9c0 458772003-11-12 Marco Gerards <metgerards@student.han.nl>
45878
45879 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
45880 for available extensions.
45881
45882 * include/pupa/i386/pc/time.h: New file.
45883 * kern/disk.c: Include <pupa/machine/time.h>.
45884 (PUPA_CACHE_TIMEOUT): New macro.
45885 (pupa_last_time): New variable.
45886 (pupa_disk_open): Flush the cache when there was a timeout.
45887 (pupa_disk_close): Reset the timer.
45888 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
45889 pupa_currticks.
45890 * util/misc.c: Include <sys/times.h>
45891 (pupa_get_rtc): New function.
45892
c4adbd32 458932003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45894
45895 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
45896 as blocks.
45897 (pupa_ext2_get_file_block): Use blocks member.
45898
45899 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
45900 first block. Return -1 instead of pupa_errno on error.
45901
bfd30f06 459022003-10-27 Marco Gerards <metgerards@student.han.nl>
45903
45904 * README: In the pupa-mkimage example use _chain instead of chain
45905 and ext2 instead of fat.
45906 * TODO: Replace ext2fs with jfs as an example. Add an item for
45907 adding journal playback for ext2fs.
45908 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
45909 (pkgdata_MODULES): Added ext2.mod.
45910 (ext2_mod_SOURCES): New variable.
45911 (ext2_mod_CFLAGS): Likewise.
45912 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
45913 * include/pupa/misc.h (pupa_strncpy): New prototype.
45914 (pupa_strcat): Likewise.
45915 (pupa_strncmp): Likewise.
45916 * kern/misc.c (pupa_strcat): Enable function.
45917 (pupa_strncpy): New function.
45918 (pupa_strncmp): Likewise.
45919 * fs/ext2.c: New file.
f19dbdb7 45920
bfd30f06 45921 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
45922 when the read failed before retrying.
45923 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
45924 (_FILE_OFFSET_BITS): Likewise.
45925 * configure.ac: Added AC_SYS_LARGEFILE.
45926
98d15063 459272003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45928
45929 * genmk.rb (PModule#rule): Make sure to get only symbol names
45930 from the output of nm.
59cad637 45931 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 45932
18d9c7cd 459332003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45934
45935 I forgot to check in these changes for a long time. This adds
45936 incomplete support for VGA console, and this is still very
45937 buggy. Also, a lot of consideration is required for I18N,
45938 UNICODE, and VGA font issues. Therefore, assume that this is
45939 such that "better than nothing".
f19dbdb7 45940
18d9c7cd 45941 * font/manager.c: New file.
45942 * include/pupa/font.h: Likewise.
45943 * include/pupa/i386/pc/vga.h: Likewise.
45944 * term/i386/pc/vga.c: Likewise.
45945 * util/unifont2pff.rb: Likewise.
45946
45947 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
45948 (pkgdata_MODULES): Added vga.mod and font.mod.
45949 (vga_mod_SOURCES): New variables.
45950 (vga_mod_CFLAGS): Likewise.
45951 (font_mod_SOURCES): Likewise.
45952 (font_mod_CFLAGS): Likewise.
45953
45954 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
45955
45956 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 45957 (struct pupa_term): Added init and fini.
18d9c7cd 45958 Changed the argument of putchar to pupa_uint32_t.
45959
45960 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
45961 (pupa_console_real_putchar): New prototype.
45962 (pupa_console_putchar): Removed.
45963 (pupa_console_checkkey): Exported.
45964 (pupa_console_getkey): Likewise.
45965
45966 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
45967 characters.
45968
45969 * kern/term.c (pupa_term_set_current): Rewritten.
45970 (pupa_putchar): Likewise.
45971 (pupa_putcode): New function.
45972
45973 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
45974 (pupa_console_real_putchar): ... this.
45975 (pupa_vga_set_mode): New function.
45976 (pupa_vga_get_font): Likewise.
45977
45978 * normal/command.c: Include pupa/term.h.
45979 (terminal_command): New function.
45980 (pupa_command_init): Register the command "terminal".
45981
45982 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
45983 (DISP_UP): Likewise.
45984 (DISP_RIGHT): Likewise.
45985 (DISP_DOWN): Likewise.
45986 (DISP_HLINE): Likewise.
45987 (DISP_VLINE): Likewise.
45988 (DISP_UL): Likewise.
45989 (DISP_UR): Likewise.
45990 (DISP_LL): Likewise.
45991 (DISP_LR): Likewise.
45992
45993 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 45994
977329f5 459952003-02-08 NIIBE Yutaka <gniibe@m17n.org>
45996
45997 * util/resolve.c (pupa_util_resolve_dependencies): BUG
45998 FIX. Reverse the path_list.
45999
46000 * include/pupa/normal.h: Export pupa_register_command and
46001 pupa_unregister_command.
46002
46003 * hello/hello.c (pupa_cmd_hello): New module.
46004 * conf/i386-pc.rmk: Added hello.mod.
46005
1f5ab428 460062003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46007
46008 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 46009
1f5ab428 46010 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46011 (compress_kernel): New variable.
46012 (generate_image): Heavily modified to support compressing a
46013 large part of the core image.
46014
46015 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46016 leak.
46017 (pupa_util_load_image): New function.
46018
46019 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46020 (pupa_compressed_size): New variable.
46021 (codestart): Enable Gate A20 here.
46022 Decompress the compressed part of the core image.
46023 Rearrange the code to put functions and variables which are
46024 required for initialization in the non-compressed part.
46025 Include lzo1x.S.
46026
46027 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46028 here.
46029
46030 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46031
f19dbdb7 46032 * include/pupa/i386/pc/kernel.h
1f5ab428 46033 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46034 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46035 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46036 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46037 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46038
46039 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46040
46041 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46042 (Utility#rule): Likewise.
46043
46044 * configure.ac: Check if LZO is available.
46045
ce5bf700 460462003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46047
46048 * include/pupa/normal.h: New file.
46049 * include/pupa/setjmp.h: Likewise.
46050 * include/pupa/i386/setjmp.h: Likewise.
46051 * normal/cmdline.c: Likewise.
46052 * normal/command.c: Likewise.
46053 * normal/main.c: Likewise.
46054 * normal/menu.c: Likewise.
46055 * normal/i386/setjmp.S: Likewise.
f19dbdb7 46056
ce5bf700 46057 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46058 (pupa_rescue_cmd_initrd): Likewise.
46059
46060 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46061 Likewise.
46062
46063 * kern/i386/pc/startup.S (translation_table): New variable.
46064 (translate_keycode): New function.
46065 (pupa_console_getkey): Call translate_keycode.
46066
46067 * kern/rescue.c (attempt_normal_mode): New function.
46068 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46069 it failed, print a message.
46070
46071 * kern/mm.c (pupa_real_malloc): Print more information when a
46072 free magic is broken.
46073 (pupa_free): If the first free header is not free actually, set
46074 it to P.
46075
46076 * kern/main.c (pupa_load_normal_mode): Just load the module
46077 "normal".
46078 (pupa_main): Don't print the message
46079 "Entering into rescue mode..." here.
46080
46081 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46082 Declared.
46083 (pupa_rescue_cmd_initrd): Likewise.
46084 (pupa_rescue_cmd_initrd): Likewise.
46085
46086 * include/pupa/symbol.h (FUNCTION): Specify the type.
46087 (VARIABLE): Likewise.
46088
46089 * include/pupa/err.h (pupa_err_t): Added
46090 PUPA_ERR_UNKNOWN_COMMAND.
46091
46092 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46093 (pupa_dl_get_prefix): Likewise.
46094
46095 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46096 Added _chain.mod and _linux.mod instead of chain.mod and
46097 linux.mod.
46098 (chain_mod_SOURCES): Renamed to ...
46099 (_chain_mod_SOURCES): ... this.
46100 (chain_mod_CFLAGS): Renamed to ...
46101 (_chain_mod_CFLAGS): ... this.
46102 (linux_mod_SOURCES): Renamed to ...
46103 (_linux_mod_SOURCES): ... this.
46104 (linux_mod_CFLAGS): Renamed to ...
46105 (_linux_mod_CFLAGS): ... this.
46106 (normal_mod_SOURCES): New variable.
46107 (normal_mod_CFLAGS): Likewise.
46108 (normal_mod_ASFLAGS): Likewise.
46109
461102003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46111
46112 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46113 possible.
46114
fe6b695a 46115 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 46116 recursively.
46117 (pupa_dl_unref): Unrefer depending modules recursively.
46118 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46119 a module is unloaded before one depending on that module is
46120 unloaded.
46121 (pupa_dl_unload): Unload depending modules explicitly,
46122 if possible.
46123
c04da074 461242003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46125
46126 * include/pupa/i386/pc/linux.h: New file.
46127 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 46128
c04da074 46129 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46130 Removed.
46131 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46132 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46133 of PUPA_CHAINLOADER_BOOT_SECTOR.
46134
46135 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46136 (pupa_linux_prot_size): New variable.
46137 (pupa_linux_tmp_addr): Likewise.
46138 (pupa_linux_real_addr): Likewise.
46139 (pupa_linux_boot_zimage): New function.
46140 (pupa_linux_boot_bzimage): Likewise.
46141
46142 * kern/i386/pc/init.c (struct mem_region): New structure.
46143 (MAX_REGIONS): New macro.
46144 (mem_regions): New variable.
46145 (num_regions): Likewise.
46146 (pupa_os_area_addr): Likewise.
46147 (pupa_os_area_size): Likewise.
46148 (pupa_lower_mem): Likewise.
46149 (pupa_upper_mem): Likewise.
46150 (add_mem_region): New function.
46151 (compact_mem_regions): Likewise.
46152 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46153 the size of the conventional memory and that of so-called upper
46154 memory (before the first memory hole).
46155 Instead of adding each found region to free memory, use
46156 add_mem_region and add them after removing overlaps.
46157 Also, add only 1/4 of the upper memory to free memory. The rest
46158 is used for loading OS images. Maybe this is ad hoc, but this
46159 makes it much easier to relocate OS images when booting.
46160
46161 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46162 (pupa_enter_rescue_mode): Don't register initrd and module.
46163
46164 * kern/mm.c: Include pupa/dl.h.
46165
46166 * kern/main.c: Include pupa/file.h and pupa/device.h.
46167
46168 * kern/loader.c (pupa_loader_load_module_func): Removed.
46169 (pupa_loader_load_module): Likewise.
46170
46171 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46172 ``.o''.
46173
46174 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46175 (pupa_linux_tmp_addr): Likewise.
46176 (pupa_linux_real_addr): Likewise.
46177 (pupa_linux_boot_zimage): Likewise.
46178 (pupa_linux_boot_bzimage): Likewise.
46179
46180 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46181 (pupa_upper_mem): Likewise.
46182 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46183 module is too dangerous.
46184
46185 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46186 (pupa_os_area_size): Likewise.
46187 (pupa_loader_set): Remove the first argument. Loader doesn't
46188 manage modules or initrd any longer.
46189 (pupa_loader_load_module): Removed.
46190
46191 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46192 (linux_mod_SOURCES): New variable.
46193 (linux_mod_CFLAGS): Likewise.
46194
a13f9237 461952003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46196
46197 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46198 the length of a blocklist correctly.
46199
46200 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46201 Use ioctl only if the OS file is a block device.
46202 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46203 not very useful for normal files.
46204
46205 * kern/main.c (pupa_set_root_dev): New function.
46206 (pupa_load_normal_mode): Likewise.
46207 (pupa_main): Call those above.
46208
46209 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46210 pupa_uint16_t.
46211
46212 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46213
a5ffe966 462142003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46215
46216 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46217 (setup): Configure the installed partition information and the
46218 dl prefix.
46219
46220 * loader/i386/pc/chainloader.c (my_mod): New variable.
46221 (pupa_chainloader_unload): New function.
46222 (pupa_rescue_cmd_chainloader): Refer itself.
46223 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46224
46225 * kern/i386/pc/startup.S (install_partition): Removed.
46226 (version_string): Likewise.
46227 (config_file): Likewise.
46228 (pupa_install_dos_part): New variable.
46229 (pupa_install_bsd_part): Likewise.
46230 (pupa_prefix): Likewise.
46231 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46232
46233 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46234 and pupa/misc.h.
46235 (make_install_device): New function.
46236 (pupa_machine_init): Set the dl prefix.
46237
46238 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46239 (buf): Renamed to ...
46240 (linebuf): ... this.
46241 (pupa_rescue_cmd_prefix): New function.
46242 (pupa_rescue_cmd_insmod): Likewise.
46243 (pupa_rescue_cmd_rmmod): Likewise.
46244 (pupa_rescue_cmd_lsmod): Likewise.
46245 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46246 rmmod and lsmod.
46247
46248 * kern/mm.c (pupa_memalign): If failed even after invalidating
46249 disk caches, unload unneeded modules and retry.
46250
46251 * kern/misc.c (pupa_memmove): New function.
46252 (pupa_memcpy): Removed.
46253 (pupa_strcpy): New function.
46254 (pupa_itoa): Made static.
46255
46256 * kern/dl.c (pupa_dl_iterate): New function.
46257 (pupa_dl_ref): Likewise.
46258 (pupa_dl_unref): Likewise.
46259 (pupa_dl_unload): Return if succeeded or not.
46260 (pupa_dl_unload_unneeded): New function.
46261 (pupa_dl_unload_all): Likewise.
46262 (pupa_dl_init): Renamed to ...
46263 (pupa_dl_set_prefix): ... this.
46264 (pupa_dl_get_prefix): New function.
46265
46266 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46267 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46268 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46269 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46270 (pupa_install_dos_part): Declared.
46271 (pupa_install_bsd_part): Likewise.
46272 (pupa_prefix): Likewise.
46273 (pupa_boot_drive): Likewise.
46274
46275 * include/pupa/types.h: Fix a typo.
46276
46277 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46278 pupa_memmove.
46279 (pupa_memmove): Declared.
46280 (pupa_strcpy): Likewise.
46281
46282 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46283 pupa_mod_init takes one argument, its own module.
46284 (pupa_dl_unload_unneeded): Declared.
46285 (pupa_dl_unload_all): Likewise.
46286 (pupa_dl_ref): Likewise.
46287 (pupa_dl_unref): Likewise.
46288 (pupa_dl_iterate): Likewise.
46289 (pupa_dl_init): Renamed to ...
46290 (pupa_dl_set_prefix): ... this.
46291 (pupa_dl_get_prefix): Declared.
46292
46293 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 46294 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 46295 unloaded.
46296 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46297 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46298
46299 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46300 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46301
012d7999 463022003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46303
46304 * util/i386/pc/pupa-setup.c (setup): Define the internal
46305 function find_first_partition_start at the top level, because GCC
46306 3.0.x cannot compile internal functions in deeper scopes
46307 correctly.
46308 (find_root_device): Use lstat instead of stat.
46309 Don't follow symbolic links.
46310 Fix the path-constructing code.
46311
46312 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46313 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46314 by a BLKGETSIZE ioctl first, because block devices don't fill
46315 the member st_mode of the structure stat on Linux.
46316 [__linux__] (linux_find_partition): Use a temporary buffer
46317 REAL_DEV for the working space. Copy it to DEV before returning.
46318 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46319 buffer cache consistent.
46320 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46321 strncmp. The previous value was merely wrong.
46322 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46323
46324 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46325 FAT size is 12. The previous value was merely wrong.
46326
46327 * kern/main.c (pupa_main): Don't split the starting message from
46328 newlines.
46329
46330 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46331 LF, because BIOS goes crazy about character attributes in this
46332 case.
46333
1cc73a62 463342003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46335
46336 * include/i386/pc/util/biosdisk.h: New file.
46337 * util/i386/pc/biosdisk.c: Likewise.
46338 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 46339
1cc73a62 46340 * Makefile.in (INCLUDE_DISTFILES): Added
46341 include/pupa/i386/pc/util/biosdisk.h.
46342 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46343 directory util/i386/pc.
46344 (install-local): Added a rule for sbin_UTILITIES.
46345 (uninstall): Likewise.
46346
46347 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46348
46349 * util/misc.c (xrealloc): New function.
46350 (pupa_malloc): Likewise.
46351 (pupa_free): Likewise.
46352 (pupa_realloc): Likewise.
46353 (pupa_stop): Likewise.
46354 (pupa_putchar): Likewise.
46355
46356 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46357
46358 * include/pupa/util/misc.h (xrealloc): Declared.
46359
46360 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46361 macro.
46362 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46363 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46364
46365 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46366 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46367
46368 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46369 way should be implemented.
46370 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46371
46372 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46373 the size of NAME for safety.
46374 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46375 0x88.
46376
46377 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46378 (pupa_setup_SOURCES): Likewise.
46379
46380 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46381
08b70fe8 463822002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46383
46384 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46385 bunch of pushl's from pusha, because this destroys the return
46386 value.
46387
62ddcc8f 463882002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46389
46390 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46391 This means that any missing prototypes could be fatal. Also, you
46392 must take care when writing assembly code. See the comments at
46393 the beginning of startup.S, for more details.
f19dbdb7 46394
62ddcc8f 46395 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46396 compilation mechanism.
46397 (pupa_chainloader_real_boot): Likewise.
46398 (pupa_biosdisk_rw_int13_extensions): Likewise.
46399 (pupa_biosdisk_rw_standard): Likewise.
46400 (pupa_biosdisk_check_int13_extensions): Likewise.
46401 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46402 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46403 (pupa_get_memsize): Likewise.
46404 (pupa_get_mmap_entry): Likewise.
46405 (pupa_console_putchar): Likewise.
46406 (pupa_console_setcursor): Likewise.
46407 (pupa_getrtsecs): Use pushl instead of push.
46408
46409 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46410 memory instead of the stack for a mmap entry, because some
46411 BIOSes may ignore the maximum size and overflow.
46412
46413 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46414
46415 * genmk.rb (PModule#rule): Compile automatically generated
46416 sources with module-specific CFLAGS as well as other sources.
46417
9962ed99 464182002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46419
46420 * configure.ac: Check ld.
46421 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46422 respectively, before checking endianness and sizes.
46423
46424 * Makefile.in (LD): New variable.
f19dbdb7 46425
abdfc3c5 464262002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46427
46428 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46429
6a161fa9 464302002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46431
46432 * Changelog: New file.
46433