]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/grub-mkconfig_lib.in: Fix print messages replacing builtin
[grub2.git] / ChangeLog
CommitLineData
5e6a440a
YB
12012-06-27 Yves Blusseau <blusseau@zetam.org>
2
3 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
4 echo shell command by printf command.
5
73a68bcb
VS
62012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
9 the value returned by firmware is the maximal position, not diumension.
10 (grub_terminfo_output_state): Use a more sane fallback.
11
392a603b
VS
122012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
15
42d0867f
VS
162012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
19 frequency to 150 MHz.
20
489509f4
VS
212012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
22
23 Apple fixes.
24
25 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
26 __APPLE_
27 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
28 definition.
29 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
30
9f3fc883
VS
312012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
32
33 Handle slash in HFS label.
34
35 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
36 (grub_hfs_dir): Tanslate slash.
37 (grub_hfs_label): Don't translate slash.
38
54853fd7
VS
392012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
42 network protocol listing since it introduces problematic dependency on
43 net module.
44
4dc02ddf
VS
452012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
48
c50c867d
VS
492012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
50
51 Init video early on yeeloong to avoid being rebooted by watchdog.
52
53 * grub-core/Makefile.am (gensm712): New target.
54 (sm712_start.S): Likewise.
55 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
56 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
57 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
58 description.
59 * include/grub/vga.h: Move registry definitions to...
60 * include/grub/vgaregs.h: ... here.
61
5f92c8a1
VS
622012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
65 signedness.
66
e9e6f111
VS
672012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
68
69 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
70 platforms with firmware disk drivers in the core.
71
754ad9eb
VS
722012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
75 informative verbose message.
76 (read_lv): Handle 64-bit segment size.
77
315654c2
VS
782012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
81
fb022c79
VS
822012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
85 character but still remove trainling spaces.
86 (grub_fat_label): Ignore archive flag.
87
8645f72c
VS
882012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
89
90 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
91 cast between linux_kernel_header and linux_kernel_params.
92
36498496
VS
932012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
96 type for size.
97 (grub_raid6_recover_func_t): Likewise.
98 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
99 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
100
0b5ea6b8
VS
1012012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
104
650cfcfe
GS
1052012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
106
107 Fix overflow.
108
109 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
110 [__NetBSD__]: Add explicit cast before bitshift.
111
8a4d6a44
VS
1122012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * configure.ac: Bump to 2.00~rc1.
115
2fb97ed3
VS
1162012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
119 half of $a0.
120
1fa097dc
VS
1212012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1222012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
123
124 * docs/grub.texi: Fix search syntax.
125 (Multi-boot manual config): Put msdos rather than GPT example.
126 Grammar corrections.
127
c890ba78
VS
1282012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
129
130 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
131
0f92dca7
VS
1322012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
135
3988c4a0
VS
1362012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
139 message on double free. Put the value of magic in case of mismatch.
140
9e86d4c5
VS
1412012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
142
143 Speed-up video on yeeloong.
144
145 * grub-core/video/sm712.c (framebuffer): Remove render_target and
146 add cached_ptr.
147 (grub_video_sm712_video_fini): Unmap cached_ptr.
148 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
149 (grub_video_sm712_set_active_render_target): Removed.
150 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
151 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
152 sync caches.
153
ed24c312
VS
1542012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
155
156 Avoid flushing the same line multiple times on loongson.
157
158 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
159 Step in 32 bytes and not 1 byte.
160 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
161 Likewise.
162
d1718e7d
VS
1632012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
166 subvolumes.
167
982f1909
VS
1682012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
169
170 Implement flow control for http.
171
172 * grub-core/net/http.c (parse_line): Handle response 206.
173 (http_receive): Stall if too many packets are in the queue.
174 (http_establish): Fix range header.
175 (http_seek): Fix double free.
176 (http_close): Likewise.
177 (http_packets_pulled): New function.
178 (grub_http_protocol): Set http_seek
179 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
180 (ack_real): Set window depending on i_stall.
181 (grub_net_send_tcp_packet): Likewise.
182 (grub_net_tcp_stall): New function.
183 (grub_net_tcp_unstall): Likewise.
184 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
185 (grub_net_tcp_unstall): Likewise.
186
bd407d6e
VS
1872012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * grub-core/net/tftp.c: Decrease stall to 50 packets.
190
c7564b8e
VS
1912012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
194
a3706162
VS
1952012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * tests/util/grub-shell.in: Fix a typo.
198
b27069e0
VS
1992012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
200
201 Implement flow control for tftp.
202
203 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
204 packets but stop only if stop condition is satisfied.
205 (grub_net_fs_read_real): Call packets_pulled after real read. Use
206 `stall' instead of `eof' as stop condition.
207 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
208 (http_err): Likewise.
209 * grub-core/net/tftp.c (ack): Replace the first argument with data
210 instead of socket.
211 (tftp_receive): Stall if too many packets are in wait queue.
212 (tftp_packets_pulled): New function.
213 (grub_tftp_protocol): Set packets_pulled.
214 * include/grub/net.h (grub_net_packets): New field count.
215 (grub_net_put_packet): Increment count.
216 (grub_net_remove_packet): Likewise.
217 (grub_net_app_protocol): New field `packets_pulled'.
218 (grub_net): New field `stall'.
219
6b9cfac6
VS
2202012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
223 sync part to handle them.
224
f35abd81
VS
2252012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
228 * grub-core/net/drivers/ieee1275/ofnet.c
229 (grub_ieee1275_net_config_real): Likewise.
230
0e7ec820
VS
2312012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
234 the direct route for server/gateway.
235
9d611a31
VS
2362012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
239 IP address to server name since we may not hame the DNS.
240
418f45ab
VS
2412012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
244 freeing random buffer on failure.
245 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
246
44a0efc1
VS
2472012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
250
531e2241
VS
2512012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
254 reserved bytes.
255 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
256 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
257 Handle malloc error correctly.
258
cde393c9
VS
2592012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
262 blocks.
263
538478d0
VS
2642012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
267 increment.
268
9b55efe0
VS
2692012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
272 none is explicitly specified.
273
9eb832c3
VS
2742012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
277 while reallocating.
278
d6b7c7c9
VS
2792012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
280
281 Respect netmask from bootp/dhcp.
282
283 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
284 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
285 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
286 into ...
287 (grub_net_add_ipv4_local): ... this.
288 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
289 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
290 (grub_net_add_ipv4_local): New proto.
291
67caf9eb
VS
2922012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
295 determining EFI memory map size.
296
43657558
VS
2972012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
300
eb6d0dd3
VS
3012012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
304 when looking for partition separator.
305
31230544
VS
3062012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
309 Escape commas.
310
918a2517
VS
3112012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
312
313 Restructure FAT driver to avoid hook in label reading as it hits a
314 GCC bug.
315
316 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
317 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
318 (grub_fat_iterate_dir): Split into ...
319 (grub_fat_iterate_init): ... this, ...
320 (grub_fat_iterate_fini): ... this, ...
321 (grub_fat_iterate_dir_next): ... and this. All users updated.
322
9f1d654e
VS
3232012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
326 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
327 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
328 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
329 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
330 New fields last_key and last_key_time.
331 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
332 extended key-esc into extended key-extended key.
333
52f0f643
VS
3342012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
335
336 Avoid unnecessary memcpy of whole video buffer.
337
338 * grub-core/video/fb/video_fb.c (dirty): New struct.
339 (framebuffer): Add members current_dirty and previous_dirty.
340 (dirty): New function.
341 (grub_video_fb_fill_rect): Update dirty.
342 (common_blitter): Likewise.
343 (grub_video_fb_scroll): Likewise.
344 (doublebuf_blit_update_screen): Copy only dirty part.
345 (doublebuf_pageflipping_update_screen): Likewise.
346 (grub_video_fb_doublebuf_blit_init): Init dirty.
347 (doublebuf_pageflipping_init): Likewise.
348 (grub_video_fb_setup): Likewise.
349
e169a180
VS
3502012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
353 poll rate.
354
48556879
VS
3552012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
356
357 Fix wildcard regexp dot and other special characters handling.
358 Reported by: Robert Mabee.
359
360 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
361 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
362 (split_path): Trigger expansion on '?'.
363 (unescape): New function.
364 (wildcard_expand): Unescape parts copied without globbing.
365 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
366 (grub_script_arglist_to_argv): Don't unescape expansions.
367
0494408e
VS
3682012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * include/grub/net.h (grub_net_card): New member txbufsize.
371 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
372 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
373 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
374 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
375 txbufsize.
376 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
377 compatible property to check for macs. Set
378 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
379 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
380 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
381 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
382 (send_card_buffer): Use txbuf.
383 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
384 nested function out of the parent while on it.
385
cc35fe8f
VS
3862012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
389 presence check.
390 (grub_ieee1275_net_config_real): Fix config pointer.
391
970a0a09
VS
3922012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
395 filename parsing to non-block devices.
396
3e19bf87
VS
3972012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/kern/device.c (grub_device_open): Remove dead code.
400
c62d1a0c
VS
4012012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
404 All users updated.
405
ef76bec3
VS
4062012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
409 UUID search command even if hints probing failed.
410
4112012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
412
413 * po/POTFILES.in: Regenerated.
414
70aaf305
VS
4152012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
416
417 Speed-up video on fuloong.
418
419 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
420 New function.
421 (grub_pci_device_unmap_range): Handle non-cached address.
422 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
423 add direct_ptr.
424 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
425 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
426 (grub_video_sis315pro_set_active_render_target): Removed.
427 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
428 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
429 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
430 sync caches.
431 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
432 New proto.
433
10400f0b
VS
4342012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
435
436 * docs/grub.texi (Multi-boot manual config): New section.
437
ba67e2c6
VS
4382012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
439
440 Avoid slow read-back from VRAM.
441
442 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
443 Move from here ...
444 * grub-core/video/fb/video_fb.c
445 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
446 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
447 (front_target): Remove front_target. Add pages.
448 (grub_video_fb_init): Skip setting front_pages.
449 (grub_video_fb_fini): Likewise.
450 (doublebuf_blit_update_screen): Use pages.
451 (grub_video_fb_doublebuf_blit_init): Likewise.
452 (doublebuf_pageflipping_init): Allocate offscreen buffer.
453 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
454 (grub_video_fb_setup): Prefer doublebuffing.
455
377c98cb
VS
4562012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
459 gzio.
460
eac49cff
VS
4612012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
462
463 Add loongson tests.
464
465 * tests/util/grub-shell.in: Handle loongson.
466 * tests/partmap_test.in: Add loongson to the list of platform using ATA
467 drivers.
468 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
469 Reboot instead of shutdown if REBOOT is defined.
470
0321415e
VS
4712012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
474 sized ports since unlike on real hardware qemu supports only 32-bit
475 regs.
476
3f2bdd8f
VS
4772012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * Makefile.util.def (grub-mkrescue): Enable on loongson.
480 * util/grub-mkrescue.in: Handle loongson.
481
29a049c9
VS
4822012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
485 Set is_part appropriately.
486 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
487 names. Canonicalize partition without full disk.
488
4abde346
VS
4892012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
490
491 Revert usb-quiesce since it's wrong.
492
493 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
494 (grub_ofdisk_init): Don't do quiesce.
495
61f1d93b
VS
4962012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
497
498 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
499 PowerMac workaround to Xserves as well.
500 Information supplied by: Benjamin Herrenschmidt.
501
a09eb541
VS
5022012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
503
504 Don't assume that beginning address is also the entry point on ppc.
505
506 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
507 (grub_linux_boot): Use linux_entry.
508 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
509 (grub_linux_load64): Likewise.
510
505b3c9b
VS
5112012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
514
cbe0b4ef
VS
5152012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
518 needlessly lose the console.
519
3006e981
VS
5202012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
523 space.
524
4e5a96b0
VS
5252012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
526
7da036bb
VS
527 Remove non-functional EFI grub_get_rtc. Put a better fatal message
528 than current grub_get_rtc() not implemented when booted with
529 coreboot without TSC.
530
531 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
532 Add machine/time.h to kernel headers on loongson.
533 * grub-core/Makefile.core.def (kernel): Remove
534 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
535 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
536 (grub_get_rtc): Likewise.
537 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
538 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
539 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
540 * grub-core/kern/i386/tsc.c (grub_tsc_init)
541 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
542 rather than installing known non-working time source.
543 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
544 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
545 * include/grub/time.h: Don't include machine/time.h.
546 * include/grub/efi/time.h: Removed.
547 * include/grub/i386/efi/time.h: Likewise.
548 * include/grub/i386/ieee1275/time.h: Likewise.
549 * include/grub/powerpc/ieee1275/time.h: Likewise.
550 * include/grub/sparc64/ieee1275/time.h: Likewise.
551 * include/grub/x86_64/efi/time.h: Likewise.
552
5532012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
554
555 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
556
557 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
558 value.
559 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
560 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
561 with dotless variants when any combining above is present.
562
5561c22d
VS
5632012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
566 text and not binary.
567
96f7e60e
VS
5682012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
569
570 Stop polling as soon as we have the packet we were waiting for.
571
572 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
573 All users updated.
574 * grub-core/net/arp.c (have_pending): New var.
575 (pending_req): Likewise.
576 (grub_net_arp_send_request): Fill pending_req and use have_pending as
577 stop indicator.
578 (grub_net_arp_receive): Set have_pending.
579 * grub-core/net/dns.c (recv_data): New field stop.
580 (recv_hook): Set stop.
581 (grub_net_dns_lookup): Init stop and use as stop condition.
582 * grub-core/net/http.c (http_establish): Use headers_recv as stop
583 condition.
584 * grub-core/net/net.c (grub_net_poll_cards): New argument
585 stop_condition. Stop when it goes true.
586 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
587 indicator.
588 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
589
3e747239
VS
5902012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
591
592 Keep TX and RX buffers on EFI rather than always allocate new ones.
593
594 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
595 card. All users updated.
596 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
597 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
598 (get_card_packet): Likewise.
599 (grub_efinet_findcards): Init new fields.
600
f695e99a
VS
6012012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
604 compilation error on sparc64.
605
9e5e66d1
VS
6062012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
607
608 Use ITC on IA64 rather than broken routine based on daytime.
609
610 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
611 ia64.
612 (grub_get_rtc) [__ia64__]: Likewise.
613 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
614 (get_itc): New function.
615 (grub_rtc_get_time_ms): Likewise.
616 (grub_machine_init): Calibrate ITC.
617 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
618 Keep only on non-ia64. Don't export since it's broken and used only
619 if TSC is unavailable.
620
a1767404
VS
6212012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
624 even if it's used.
625 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
626 Skip if parent is unused.
627
34b2bced
VS
6282012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
631
5e619f40
VS
6322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
633
634 Fix wildcard escaping.
635
636 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
637 * grub-core/script/execute.c (wildcard_escape): .. to here.
638 Don't escape dot.
639 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
640 * grub-core/script/execute.c (wildcard_unescape): .. to here.
641 Don't escape dot.
642 * grub-core/script/execute.c (gettext_append): Always escape.
643 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
644 * grub-core/script/yylex.l: Don't cut away the escaping.
645 * tests/grub_script_echo1.in: Add tests with wildcard.
646
c8ca5855
VS
6472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
650 (ftdi_hw_configure): Likewise.
651 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
652 define.
653 (real_config): Handle 1.5 stop bits.
654 (pl2303_hw_configure): Likewise.
655
7183452c
VS
6562012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * Makefile.am: Add ppc linux bootcheck.
659 * grub-core/tests/boot/linux-ppc.cfg: New file.
660 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
661
f57c84cd
VS
6622012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * tests/grub_script_expansion.in: Skip network protocols.
665
ecfc6207
VS
6662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
667
668 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
669
8d03d284
VS
6702012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
673 --rom-directory.
674 Add -graft-points.
675
61c42af0
VS
6762012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
677
678 ESCC serial driver for conducting sautomated tests in qemu.
679 Not tested on real hardware.
680
681 * include/grub/serial.h (grub_serial_port): New field escc_desc.
682 * grub-core/term/ieee1275/escc.c: New file.
683 * grub-core/Makefile.core.def (escc): New module.
684
08fd1291
VS
6852012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
688 invalid on error.
689 (serial_hw_fetch): Don't read invalid handle.
690 (serial_hw_put): Don't write into invalid handle.
691
08dafeea
VS
6922012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
693
694 Add a 1.5 stop bits value.
695
696 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
697 * include/grub/serial.h (grub_serial_stop_bits_t): Add
698 GRUB_SERIAL_STOP_BITS_1_5.
699
9068fdcf
VS
7002012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
703 value rather than let it uninited.
704
f4d5820f
VS
7052012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * grub-core/commands/wildcard.c (+check_file): New function.
708 (wildcard_expand): Don't expand to non-existing files, expand with
709 suffix and not attempt to expand if not needed.
710
3d2de9a7
VS
7112012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
714 out of partitions containing other partitions.
715
c5c81ff9
VS
7162012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
717
718 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
719 on some qemu versions with GRUB.
720
721 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
722 define.
723 (grub_openbsd_bootarg_pcibios): New struct.
724 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
725 Add PCIINFO.
726
08a14e0b
VS
7272012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * tests/util/grub-shell.in: Trim firmware output on EFI.
730
cede3ca3
VS
7312012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
734 and coreboot since it's already in kernel.
735
558d3a60
VS
7362012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
739 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
740 to here. New return value start. All users updated.
741 Recursively scan linear mappings.
742 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
743 proto.
744 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
745 Use grub_util_get_dm_node_linear_info.
746 * util/getroot.c (convert_system_partition_to_system_disk): Use
747 grub_util_info rather than grub_dprintf.
748 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
749
60fde14d
VS
7502012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
751
752 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
753
754 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
755 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
756
24bd8838
VS
7572012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
758
759 * include/grub/types.h (grub_set_unaligned64): New function.
760 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
761 (setup): Likewise.
762
7bc06a49
VS
7632012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
766 (grub_ofdisk_fini): Quiesce USB devices.
767
49cea015
VS
7682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
771 caches.
772
8dcbe03b
VS
7732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
776
5b258735
VS
7772012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/disk/pata.c (grub_pata_pio_read)
780 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
781 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
782
37ba07eb
VS
7832012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
784
785 Extend automated tests to qemu-mips.
786
787 * Makefile.am: reorganise tests and enable qemu-mips.
788 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
789 * grub-core/tests/boot/linux.init-mips.S: New file.
790 * tests/partmap_test.in: Handle ata0 disks.
791 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
792 non-pc i386.
793
070038f8
VS
7942012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
797 ia64.
798 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
799 quotes while on it.
800
004be2cd
VS
8012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
804 (grub_halt): Likewise.
805 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
806
b1622487
VS
8072012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/term/serial.c (grub_serial_register)
810 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
811 the behaviour in line with x86 platforms.
812
b7b4ab33
VS
8132012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
816 (grub_ata_strncpy): Likewise.
817 (grub_ata_identify): Add missing byteswaps.
818
5e3535ae
VS
8192012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
822 byte-swap.
823 (screen_read_char): Likewise.
824 (grub_vga_text_cls): Likewise.
825
c21b17e6
VS
8262012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
829 filenames.
830 (make_file_path): Likewise.
831
bf293dec
VS
8322012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
835 machines.
836 Tested by: Paulo Flabiano Smorigo.
837 Crucial information about API supplied by: Coleen <Last name unknown>.
838 Reviewed by: Coleen <Last name unknown>.
839
81f6ef0e
VS
8402012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * util/grub-mkimage.c: Disable -Wcast-align.
843
7284143a
VS
8442012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
847 as they are fatal.
848
b99f3e00
VS
8492012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
852
944f752d
VS
8532012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * util/grub-probe.c (escape_of_path): Fix double free.
856
6cce6f38
VS
8572012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/commands/videoinfo.c (hook): Show pitch.
860
1e1eb50e
VS
8612012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * util/grub.d/20_linux_xen.in: Skip xen-syms.
864
1c715b5a
VS
8652012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
868 (probe): Add ieee1275 to OFW devices.
869
007ae52d
VS
8702012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
873
4557a36d
VS
8742012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
875
876 Handle IBM OFW path.
877
878 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
879 available.
880 (of_path_of_scsi): Handle vdevice.
881
efbeefe9
VS
8822012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
885 Allocate in multiples of 16 to avoid adding a few bytes free region the
886 windows bugs upon.
887
15a940bb
VS
8882012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
891 Allocate in multiples of 16 to avoid adding a few bytes free region the
892 windows bugs upon.
893 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
894
6e5efd60
VS
8952012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
898 resolutions.
899 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
900 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
901
0d3d137e
IS
9022012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
903
904 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
905
45dbe300
VS
9062012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
909 resulted in \\ at the end of the line.
910
6d8db947
VS
9112012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
914 (grub_parser_cmdline_state): Likewise.
915 (grub_parser_split_cmdline): Likewise.
916
de89d338
VS
9172012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
920 /dev/root and /dev/dm-*.
921
00d41dee
VS
9222012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
925 fix partially stale display.
926
f95d1f11
VS
9272012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/normal/menu_entry.c (backward_char): Use right line for
930 substraction.
931
6297e197
VS
9322012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
935 Fix MBR remapping workaround.
936 (grub_util_biosdisk_read) [__linux__]: Likewise.
937
8a7ecad3
VS
9382012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * util/grub-install.in: Check for ieee1275 and not ieee1276.
941
2b34f944
VS
9422012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * configure.ac: Bump to beta6.
945
684aef11
CW
9462012-05-31 Christer Weinigel <christer@weinigel.se>
947
948 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
949
05b0bb91
VS
9502012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
953 (grub_cmd_linux): Likewise.
954
bda36bfa
CW
9552012-05-31 Christer Weinigel <christer@weinigel.se>
956
957 Fix EHCI low-speed.
958
959 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
960 (GRUB_EHCI_MULT_TWO): Likewise.
961 (GRUB_EHCI_MULT_THREE): Likewise.
962 (GRUB_EHCI_CMASK_MASK): New enum value.
963 (GRUB_EHCI_SMASK_MASK): Likewise.
964 (GRUB_EHCI_CMASK_OFF): Likewise.
965 (GRUB_EHCI_SMASK_OFF): Likewise.
966 (grub_ehci_pci_iter): Enable periodic schedule.
967 (grub_ehci_parse_notrun): Likewise.
968 (grub_ehci_restore_hw): Likewise.
969 (grub_ehci_setup_qh): Set flags for low speed transfers.
970 (grub_ehci_find_qh): Use periodic list for low speed.
971 (grub_ehci_setup_transfer): Check periodic queue as well.
972 (grub_ehci_check_transfer): Likewise.
973 (grub_ehci_cancel_transfer): Cancel periodic transfer.
974
e12bcb1c
PFS
9752012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
976
977 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
978 parameter is used.
979
bcc75fb3
PJ
9802012-05-31 Peter Jones <pjones@redhat.com>
981
982 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
983 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
984 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
985
f19cb95e
VS
9862012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
989 uninited variable. Allocate at least setup_sects.
990
a4e5ca80
VS
9912012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
992
993 Fix handling of EFI with big memory maps.
994
995 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
996 (real_mode_mem): Likewise.
997 (real_mode_target): Likewise.
998 (real_mode_pages): Likewise.
999 (prot_mode_pages): Likewise.
1000 (linux_params): New var.
1001 (linux_cmdline): Likewise.
1002 (free_pages): Don't set real mode variables.
1003 (allocate_pages): Don't allocate real mode memory.
1004 (grub_e820_add_region): Remove the limit.
1005 (grub_linux_boot): Allocate and copy real mode memory.
1006 (grub_linux_unload): Free linux_cmdline.
1007 (grub_cmd_linux): Use temporary storage for parameters.
1008 (grub_cmd_initrd): Likewise.
1009 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1010 (linux_kernel_params): Make it 1K big.
1011
ddb73558
VS
10122012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * Makefile.util.def: Remove -Wno-format.
1015 * grub-core/Makefile.core.def: Likewise.
1016
1c4afb60
VS
10172012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * tests/cmp_unit_test.c: Add missing failure message.
1020 * tests/example_unit_test.c: Likewise.
1021 * tests/printf_unit_test.c: Likewise.
1022
941e3a6d
VS
10232012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1026 relaxation of protective MBR requirements.
1027
b105df76
VS
10282012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 * configure.ac: Add condition for COND_HOST_XNU.
1031 * Makefile.util.def (10_xnu): New script.
1032 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1033
84e1569e
VS
10342012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1037 objconv bug.
1038
130c0f77
VS
10392012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1042 Binary on other platforms stays identical.
1043
6fd0b143
VS
10442012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1047 Apple.
1048
0af1751d
VS
10492012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1052
176d5f7d
VS
10532012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1056 rather than defining size_t ourselves to avoid conflict.
1057
7de5e20a
VS
10582012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1061 initialisation to avoid __bzero reference.
1062
f7143efe
VS
10632012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1066 version.
1067 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1068 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1069 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1070 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1071 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1072
e6ad0555
VS
10732012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1076 * grub-core/kern/misc.c: Likewise.
1077 * grub-core/loader/i386/xnu.c: Likewise.
1078 * include/grub/i386/tsc.h: Likewise.
1079 * include/grub/symbol.h: Likewise.
1080
4a5a3c4a
VS
10812012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1084 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1085 on older compiler.
1086
037f6d90
VS
10872012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1090 Implement Apple flavour.
1091 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1092
f7194551
VS
10932012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1096 (memmove) [__APPLE__]: Likewise.
1097 (memcpy) [__APPLE__]: Likewise.
1098 (memset) [__APPLE__]: Likewise.
1099 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1100 (memmove) [__APPLE__]: Likewise.
1101 (memcpy) [__APPLE__]: Likewise.
1102 (memset) [__APPLE__]: Likewise.
1103
85a730ca
VS
11042012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1107 dependency discard.
1108
40e80b94
VS
11092012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/normal/main.c (read_config_file): Provide config_file and
1112 config_directory.
1113 * util/grub.d/41_custom.in: Use config_directoy when available.
1114
9da59c32
VS
11152012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1118 (grub_bfs_dir): Likewise.
1119
2787ae53
PJ
11202012-05-27 Peter Jones <pjones@redhat.com>
1121
1122 The old code gives arguments to a printf function which can't work
1123 correctly, and the compiler complains.
1124
1125 * grub-core/tests/example_functional_test.c (example_test): Add
1126 missing text.
1127 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1128 * include/grub/test.h (grub_test_assert_helper): New declaration.
1129 (grub_test_assert): Use grub_test_assert_helper.
1130
526ef13d
VS
11312012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1134 (exfctest): ... this to avoid overlong filenames.
1135 All users updated.
1136
20dd511c
VS
11372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 Handle "." and ".." on squashfs.
1140
1141 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1142 Make inode numbers into stack.
1143 (grub_squash_read_symlink): Use stack.
1144 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1145 (make_root_node): Fill stack.
1146 (grub_squash_open): Use stack.
1147
1d80c62a
VS
11482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1151 freeing.
1152
d336f652
VS
11532012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1156 stderr on test calls.
1157
8b43f587
VS
11582012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1161
80a3dc3f
VS
11622012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1165
47e297d4
VS
11662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1169 "..".
1170
df042ccb
VS
11712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1174 (grub_hfsplus_iterate_dir): Add "." and "..".
1175
fc977f48
VS
11762012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1179 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1180
f3250e5f
VS
11812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1184 (find_path): Handle "." and "..".
1185
fd8ed4c5
VS
11862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1189 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1190 (grub_affs_iterate_dir): Handle hardlinks.
1191
4ce776d2
MG
11922012-05-26 Matthew Garrett <mjg@redhat.com>
1193
1194 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1195 (grub_efi_console_fini): Likewise.
1196 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1197 (grub_video_gop_fill_mode_info): Rename to ...
1198 (grub_video_gop_fill_real_mode_info): ... this.
1199 (grub_video_gop_fill_mode_info): New function.
1200 (grub_video_gop_setup): Setup double framebuffer.
1201 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1202 Free offscreen.
1203 (grub_video_gop_swap_buffers): Copy framebuffer.
1204 (grub_video_gop_fini): Free offscreen buffer.
1205 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1206 New enum.
1207 (grub_efi_gop_blt_pixel): New struct.
1208
683031ba
VS
12092012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * gentpl.py: Remove error disabling for objconv.
1212
c2deb798
VS
12132012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * configure.ac: Remove -Wunitialized as it's not available on older
1216 compilers.
1217
12182012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
1219
1220 Fix extent overflow comparator.
1221
1222 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1223 (grub_hfsplus_read_block): Set type.
1224 (grub_hfsplus_cmp_extkey): Compare type.
1225
d6b1fd36
VS
12262012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1229
0a9aa0f6
VS
12302012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1233 than 0.
1234
8360e159
VS
12352012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1238 (dejavu_bold_14.pf2): New target.
1239
501b9e4b
VS
12402012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 * configure.ac: Fix djvu font detection.
1243
7026b0e2
VS
12442012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1247 ext* instead of ext2.
1248
c2a51ade
VS
12492012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1252 name with \0.
1253
8f803a5d
JU
12542012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1255
1256 * docs/grub-dev.texi: Remove dot from .png.
1257
13c6353f
VS
12582012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1261 protective entry in any slot.
1262 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1263 if protective entry is found in any slot.
1264
1265 Protective entry in non-first slot make no sense but is a widespread
1266 brain damage.
1267
4cf6be1b
VS
12682012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1271
937d1c44
VS
12722012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1275 with old reiserfs.
1276 (grub_reiserfs_open): Don't free root.
1277
021d90ec
VS
12782012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1281 after freeing for safety.
1282
967b2b64
VS
12832012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1284
1285 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1286 Reported by: Jordan Uggla.
1287
34274d02
JU
12882012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1289
967b2b64
VS
1290 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1291 actual implementation. Specifically, clarify that the grub menu will
1292 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1293 passed.
34274d02 1294
dcaaae9d
BH
12952012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1296
1297 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1298 of r0.
1299
7086ad52
VS
13002012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 Remove unjustified hard dependency of normal.mod on gfxterm.
1303
1304 * include/grub/term.h (grub_term_output): New member fullscreen.
1305 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1306 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1307 (grub_gfxterm): Set .fullscreen.
1308 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1309 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1310
37ed2c9b
VS
13112012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1314 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 1315 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 1316
a4469c88
VS
13172012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1320
4e461486
VS
13212012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1324 a bad FS.
1325
aa78f5c4
VS
13262012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1329 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1330
197626b5
VS
13312012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1334 (grub_jfs_mount): Fill caseins.
1335 (grub_jfs_find_file): Respect caseins.
1336
8ad3f28c
VS
13372012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1340 through UTF-16.
1341
0c6c324e
VS
13422012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1345 New argument origpath. All users updated.
1346
c6666ba6
VS
13472012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1350 (read_attr): Ensure that we read start of possibly compressed block.
1351
e28e5fe5
VS
13522012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1355 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1356 All users updated.
1357
5fc23ab2
VS
13582012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1361 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1362 (dejavu.pf2): Replace with ...
1363 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1364 this.
1365
79dbc21c
VS
13662012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 * util/grub.d/20_linux_xen.in: Add missing line.
1369
d2fcfb0c
VS
13702012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1373 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1374 (grub_utf16_to_utf8): Likewise.
1375
5560e9d6
VS
13762012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1379 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1380 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1381 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1382 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1383 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1384
13852012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
1386
1387 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1388 a bad FS.
1389
5560e9d6 13902012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
1391
1392 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1393 (grub_udf_read_symlink): Handle read_string failure.
1394
5eae3175
VS
13952012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1398 comment.
1399
c1ad82db
VS
14002012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 Fix handling of UDF symlinks.
1403
1404 * grub-core/fs/udf.c (read_string): New argument outbuf.
1405 All users updated.
1406 (grub_ufs_read_symlink): Rename to ...
1407 (grub_udf_read_symlink): ... this. All users updated.
1408 Handle symlinks with more than one component.
1409
33eca6e0
VS
14102012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1413 symlinks. Replace leading colon with a slash.
1414
57f4a70b
VS
14152012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1418 filename.
1419
38c8ee20
VS
14202012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1423 match in inner node.
1424
2e57f28f
VS
14252012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1428 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1429 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1430 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1431 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1432 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1433 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1434 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1435 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1436
fe8c2f11
VS
14372012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1438
1439 Use grub-probe and not cmp to check that disk is empty.
1440
1441 * util/grub-install.in: Use grub-probe for zero-check.
1442 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1443 (probe): Handle PRINT_ZERO_CHECK.
1444 (argp_parser): Handle -t zero_check.
1445
14462012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
1447
1448 Flush block cache on adding disk to device map.
1449
1450 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1451 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1452 adding.
1453 (read_device_map): Likewise.
1454 (open_device): Flush on opening.
1455
690434e8
VS
14562012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1459 (handle_symlink): Fix off-by-one error.
1460 Canonicalize the target.
1461 (grub_cpio_dir): Canonicalize the name.
1462 Fix memory leak.
1463 Set directory.
1464 (grub_cpio_open): Canonicalize the name.
1465
742d2be6
VS
14662012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1469 handling.
1470
3244fe96
VS
14712012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1474 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1475
8aeb1837
VS
14762012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1479 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 1480 All users updated.
8aeb1837 1481
9133fd05
VS
14822012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1485 counterpart.
1486
6d521c5b
VS
14872012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 Fix UFS1 big file support.
1490
1491 * grub-core/fs/ufs.c (INODE): Removed.
1492 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1493 64-bit.
1494 (INODE_MODE): Simplify.
1495 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1496 (grub_ufs_lookup_symlink): Don't use INODE.
1497
21b82e17
VS
14982012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1501
1502 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1503 (grub_minix_data): Replace log_block_size with block_size.
1504 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1505 (grub_minix_mount): Fill block_size.
1506
15072012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
1508
1509 * configure.ac: Bump to beta5.
1510
f417ed04
VS
15112012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 Fix wrapped HFS+ handling.
1514
1515 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1516 blocks_start. All users updated.
1517 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1518 wrapping offset.
1519 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1520
607d282b
VS
15212012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 Fix long symlinks on reiserfs.
1524
1525 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1526 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1527 (grub_reiserfs_iterate_dir): Save size for non-directories.
1528 (grub_reiserfs_open): Don't reread stat block as we already know the
1529 size.
1530 (grub_reiserfs_read): Split into...
1531 (grub_reiserfs_read_real): ... and ...
1532 (grub_reiserfs_read): ...this.
1533
ae16024d
VS
15342012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 Fix non-indexed JFS.
1537
1538 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1539 (grub_jfs_data): New field namecomponentlen.
1540 (grub_jfs_mount): Fill namecomponentlen.
1541 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1542
eea1e26e
VS
15432012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1546 * tests/grub_script_echo1.in: Add tests.
1547
df760f77
VS
15482012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * util/grub-install.in: Ignore empty devicetree directory.
1551
5efb817d
B
15522012-05-08 Bean <bean123ch@gmail.com>
1553
1554 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
1555 All users updated.
1556 (free_rsm): Free header as well.
1557 (free_old_fragments): Fix memory leak.
1558 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
1559 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
1560 (destroy_pq): Likewise.
1561 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
1562
668ea6d2
VS
15632012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
1566 resulting hash as a precaution.
1567
1739b1fe
VS
15682012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
1571 '_' in variable names.
1572 * grub-core/net/net.c (grub_net_network_level_interface_register):
1573 Likewise.
1574
6ae485aa
VS
15752012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 Fix AFFS with non-512B blocks.
1578
1579 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
1580 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
1581 (grub_affs_data): Replace blocksize with log_blocksize.
1582 (grub_affs_read_block): Fix non-512B blocks.
1583 (grub_affs_read_symlink): Likewise.
1584 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
1585 (grub_affs_read): Fix non-512B blocks.
1586 (grub_affs_label): Likewise.
1587 (grub_affs_mtime): Likewise.
1588 (grub_affs_mount): Fix block detection routine.
1589
d20fab84
VS
15902012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 Add filesystem mtime to AFFS.
1593
1594 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
1595 (aftime2ctime): New function.
1596 (grub_affs_dir): Use aftime2ctime.
1597 (grub_affs_label): Fix return value.
1598 (grub_affs_mtime): New function.
1599 (grub_affs_fs): Add mtime.
1600
e87b10f5
VS
16012012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
1604 UTF-8.
1605
7dceec9b
VS
16062012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
1609 UTF-8.
1610
2f48221f
VS
16112012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
1614
dacd85cf
VS
16152012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
1618 flags.
1619 (FLAGS_CASE_SENSITIVE): New enum value.
1620 (cache_entry): New struct.
1621 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
1622 cache_size and cache.
1623 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
1624 Add log_blocksize and fshelp_flags.
1625 (grub_sfs_read_extent): Handle non-512 blocks.
1626 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
1627 (grub_sfs_read_file): Handle non-512 blocks.
1628 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
1629 fshelp_flags.
1630 (grub_sfs_read_symlink): Handle non-512 blocks.
1631 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
1632 (grub_sfs_dir): Free cache.
1633 (grub_sfs_close): Likewise.
1634
24e9a854
VS
16352012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
1638 filesystems.
1639
62ace64d
VS
16402012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
1643
83b2e89c
VS
16442012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
1647
75ccaea3
VS
16482012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
1651 (grub_sfs_read_extent): Likewise.
1652 (grub_sfs_read_block): Likewise.
1653 (grub_sfs_mount): Likewise.
1654 (grub_sfs_iterate_dir): Likewise.
1655 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
1656 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
1657
1b8463f2
VS
16582012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 Fix errors on compressed NTFS with 512B clusters.
1661
1662 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
1663 types.
1664 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
1665 not 0.
1666 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
1667 Relax check for inline extents.
1668 (ntfscomp): Return correct -1 on error and not 0.
1669
4f8e368f
VS
16702012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * util/grub-install.in: Fix handling of prefix containing spaces.
1673
6f5d5ee8
VS
16742012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
1677 (grub_squash_read_data): Fix offset byte-swapping.
1678
ce41ab7a
VS
16792012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
1682 per common usage and preffered in several parts of code.
1683 (grub_memcmp): Likewise.
1684 (grub_strncmp): Likewise.
1685 * include/grub/misc.h (grub_strcasecmp): Likewise.
1686 (grub_strncasecmp): Likewise.
1687 * Makefile.util.def (cmp_test): New test.
1688 (grub_script_strcmp): Likewise.
1689 * tests/cmp_unit_test.c: New file.
1690 * tests/grub_script_strcmp.in: Likewise.
1691 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
1692
49717bf4
VS
16932012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * include/grub/pci.h: Move enums into no-asm part.
1696
0a308f64
VS
16972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
1700
1796965f
ST
17012012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1702
1703 * util/getroot.c (find_hurd_root_device): Try to make error message
1704 and comments to translators clearer.
1705
4e9b2819
VS
17062012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
1709
076aeb50
VS
17102012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
1713 btrfs.
1714
19424d94
VS
17152012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 * docs/grub.cfg: Update.
1718
ebb73076
VS
17192012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * docs/grub.texi (PXE): Remove not present variables.
1722
9a1b669c
VS
17232012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 * grub-core/net/net.c (defserver_set_env): New function.
1726 (defserver_get_env): Likewise.
1727 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
1728
d38bf7d3
VS
17292012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
1732 entries.
1733
17342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
1735
1736 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
1737 * grub-core/kern/emu/hostdisk.c: Likewise.
1738
e5e4ca48
ST
17392012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
1740
1741 Handle hurd userspace partitions.
1742
1743 * util/getroot.c (find_hurd_root_device): New function.
1744 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
1745
56bb5dd5
VS
17462012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
1749 names.
1750 Reported by: Bastian Blank.
1751
9e8bc27a
VS
17522012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
1755 crossing page boundary.
1756
aa01499d
VS
17572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 Fix B-tree search in BFS, especially in presence of non-ASCII
1760 characters.
1761
1762 * grub-core/fs/bfs.c (bfs_strcmp): New function.
1763 (find_in_b_tree): Use standard bsearch + btree algorithm.
1764
57006035
VS
17652012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
1768 and so on.
1769
9d34bb85
MG
17702012-05-03 Matthew Garrett <mjg@redhat.com>
17712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 Suspend broadcom cards in order to stop their DMA.
1774
1775 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
1776 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
1777 (pci): Don't build on x86 EFI.
1778 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
1779 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
1780 New function.
1781 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
1782 stop_broadcom if running on EFI.
1783 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
1784 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
1785 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
1786 (grub_pci_find_capability): New proto.
1787
01aab997
VS
17882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * docs/grub.texi: Remove dot from the extension as it apparently
1791 doesn't work with some makeinfo versions.
1792
fbd8dca6
VS
17932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
1796 with GRUB expectance.
1797
dab797f4
VS
17982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
1801
1516bfb4
VS
18022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
1805 zero after directory block since last entry may be not 0-terminated if
1806 it ends on block boundary. Use continue instead of if spanning whole
1807 loop.
1808
a3a0eace
VS
18092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 Support 4K sectors UDF inline files.
1812
1813 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
1814 (grub_udf_extended_file_entry): Likewise.
1815 (grub_fshelp_node): Name the anonymous union. Put block at the end.
1816 All users updated.
1817 (get_fshelp_size): New function.
1818 (grub_udf_read_icb): Read whole block.
1819 (grub_udf_iterate_dir): Likewise.
1820 (grub_udf_dir): Likewise.
1821 (grub_udf_open): Likewise.
1822
c82f16c1
VS
18232012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
1826
59fd2aac
VS
18272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
1830 inline symlinks in addition to workaround.
1831
3b4afb4d
VS
18322012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
1835
f45c794a
VS
18362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
1839
f25cecbd
VS
18402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
1843
bb9a34e8
VS
18442012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 Fix reiserfs big seek times.
1847
1848 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
1849 exact. All users updated.
1850 (grub_reiserfs_read): Use nearest btree search for seeking.
1851 Fix return value on error.
1852
dc478aea
VS
18532012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
1856 entries.
1857 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
1858 * docs/grub.texi: Update menuentry description.
1859
8db10f47
VS
18602012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
1863 crash when embedding onto filesystem.
1864
bcb288ed
VS
18652012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
1868 name.
1869
a626fdd7
VS
18702012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
1873
b2f68477
VS
18742012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
1877 commit.
1878
ba15b2af
B
18792012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
18802012-05-01 Bean <bean123ch@gmail.com>
1881
1882 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
1883
a188012e
VS
18842012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
1887 Special behaviour for len = 0 to read whole file isn't used anywhere and
1888 can cause buffer ovewrflows in several places.
1889
f0a53ed2
VS
18902012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
1893
5ed554f0
VS
18942012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 Handle RAIDZ on non-512B sectors.
1897
1898 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
1899 max_children_ashift.
1900 (fill_vdev_info_real): Fill max_children_ashift.
1901 (read_device): Use max_children_ashift.
1902
ddc58357
VS
19032012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
1906
e3282399
VS
19072012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
1910 disk names.
1911 * docs/grub.texi: Update device.map parts.
1912
ee618bd4
VS
19132012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 Don't scan into non-diskfilter devices having diskfilter names.
1916
1917 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
1918 (scan_disk): New argument accept_diskfilter. Fix recursion depth
1919 handling.
1920 (scan_disk_hook): New function.
1921
bdf88864
B
19222012-04-29 Bean <bean123ch@gmail.com>
1923
1924 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
1925 allocation.
1926
32745f51
MK
19272012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
1928
1929 * configure.ac: Detect starfield theme font path
1930 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
1931
bc95c8c0
VS
19322012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
1935 geometry on serial consoles.
1936
147fbcab
VS
19372012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
1940 because of network consoles.
1941
0f42c889
VS
19422012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
1945 handling.
1946
4a3594c9
VS
19472012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
1950 falls on Q syndrom.
1951
5cb53879
VS
19522012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
1955 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
1956
b282dfe5
VS
19572012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
1960 Allocate at lest 8192 for temporary buffer as required for lzo.
1961
daa59f47
VS
19622012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
1965 to cluster_bits, since it's already added in.
1966 (grub_fat_read_data): Likewise.
1967
986748ce
VS
19682012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
1971 as long as cluster size is multiple of 512 bytes.
1972
a20f6ad0
VS
19732012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * util/grub-mkrescue.in: Fix locale directory.
1976
385f9abb
VS
19772012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * grub-core/kern/emu/hostdisk.c (map): Make static.
1980
1c557d30
B
19812012-04-23 Bean <bean123ch@gmail.com>
1982
1983 * util/grub-fstest.c (fstest): Add missing break.
1984
524b5d3a
ST
19852012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
1986
1987 Fix hurd build.
1988
1989 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
1990 not define nr variable.
fe4824e9 1991 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
1992 find_root_devices_from_poolname, find_root_devices_from_libzfs,
1993 grub_find_device): Do not define.
524b5d3a 1994
9a06490c
VS
19952012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 Fix kfreebsd compile and behaviour.
1998
1999 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2000 format-security.
2001 * util/getroot.c: Fix wait.h include.
2002 (grub_guess_root_devices): Error if grub_find_device fails.
2003 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2004 (grub_util_get_dev_abstraction): Likewise.
2005 (grub_util_pull_device): Likewise.
2006 (grub_util_get_grub_dev): Likewise.
2007 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2008
48143d96
VS
20092012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 Fix and unify wholedisk detection.
2012
2013 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2014 is_part. All users updated.
2015 (device_is_wholedisk): Removed.
2016 (grub_util_biosdisk_get_grub_dev): Use is_part.
2017
ebbd24f3
VS
20182012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2021 mode.
2022
56f7aa1e
VS
20232012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * configure.ac: Bump to beta4.
2026
9c815e01
VS
20272012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2030 --fs-uuid --set UUID syntax.
2031
59e2651a
VS
20322012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2035 disunification.
2036
54e03cfc
VS
20372012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2040
81092a75
MK
20412012-04-18 Mads Kiilerich <mads@kiilerich.com>
2042
2043 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2044
f8315e14
MG
20452012-04-18 Mike Gilbert <floppym@gentoo.org>
2046
2047 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2048
1501ac21
B
20492012-04-18 Bean <bean123ch@gmail.com>
2050
2051 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2052 place.
2053
cb7f944e
VS
20542012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2057 users updated.
2058 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2059 corresponding to GRUB partitions.
2060 (grub_util_biosdisk_write): Likewise.
2061
b72d44a1
VS
20622012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 Scan mdraid before LVM.
2065
2066 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2067 (grub_diskfilter_register_front): ... this.
2068 (grub_diskfilter_register_back): New function.
2069 All users of grub_diskfilter_register updated.
2070
33d918b8
VS
20712012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * util/grub-install.in: Fix an automatic target detection bug.
2074
c6ca973d
VS
20752012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * util/grub-install.in: New option --efi-directory.
2078
b41be562
VS
20792012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2082 boot services if we have no other choice.
2083
20842012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2087 document it.
2088 * tests/util/grub-shell.in: Update to --directory.
2089
e0595a73
VS
20902012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2093
4ed80652
VS
20942012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2097 (grub_minix_read_file): Likewise.
2098 (grub_minix_read_inode): Likewise.
2099 (grub_minix_find_file): Likewise.
2100 (grub_minix_dir): Likewise.
2101
56008077
VS
21022012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * util/grub-setup.c (setup): Fix partition handling and blocklist
2105 check.
2106
ee520775
VS
21072012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2110 redundant buggy overlap check.
2111
16fc9293
VS
21122012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2115 and grub-mknetdir.
2116
9bab65c4
VS
21172012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2120 kh.loadflags on pre-2.00 kernels.
2121
3c491b47
VS
21222012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 Terminate UNDI and PXE before launching the payload to avoid problems
2125 with DMA.
2126
2127 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2128 (grub_loader_flags): ... this. All users updated.
2129 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2130 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2131 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2132 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2133 function.
2134 (grub_pxe_restore): Likewise.
2135 (fini_hnd): New var.
2136 (GRUB_MOD_INIT): Register shutdown hook.
2137 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2138 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2139 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2140 (grub_loader_set): Rename second argument to flags.
2141
851ffada
VS
21422012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2145 written bytes.
2146 (grub_get_num_of_utf8_bytes): New function.
2147 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2148 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2149 executing it.
2150 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2151 (grub_ucs4_to_utf8): Change return type.
2152
491c57a8
VS
21532012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2156 warning.
851ffada
VS
2157 * grub-core/fs/bfs.c (hop_level): Likewise.
2158 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 2159
756773df
VS
21602012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * grub-core/lib/adler32.c: Recode due to license unclearness.
2163
fd556a96
VS
21642012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2167 (test_header): Likewise.
2168
9f9d3f69
VS
21692012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 Fix --help formatting.
2172
2173 * util/grub-mkconfig_lib.in (print_option_help): New function.
2174 (grub_fmt): Likewise.
2175 * util/grub-install.in: Use print_option_help and grub_fmt.
2176 * util/grub-kbdcomp.in: Likewise.
2177 * util/grub-mkconfig.in: Likewise.
2178 * util/grub-mknetdir.in: Likewise.
2179 * util/grub-mkrescue.in: Likewise.
2180 * util/grub-mkstandalone.in: Likewise.
2181 * util/grub-reboot.in: Likewise.
2182 * util/grub-set-default.in: Likewise.
2183 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2184
561ec77e
VS
21852012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * linguas.sh: Remove autogenerated *.po.
2188
7ec2b021
VS
21892012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * po/README: Move language fetcing to ...
2192 * linguas.sh: ... here.
2193 * po/README: Point to linguas.sh.
2194
a88f3270
VS
21952012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * po/README: Exclude ko.po due to disclaimer problems.
2198
d61357ce
VS
21992012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2202 len = 0.
2203 (grub_gettext_translate_real): Handle 0th string.
2204 (grub_gettext_translate): Ensure that "" isn't translated.
2205
505e41dc
VS
22062012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2209 TRANSLATORS comment.
2210 (grub_diskfilter_print_partmap): Propagate changing of error into
2211 warning.
2212
e44092db
VS
22132012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2216 to uint64_t to prevent overflow.
2217 (grub_diskfilter_lv): Increase start_extent and extent_count
2218 to uint64_t to prevent overflow.
2219
9b83956a
VS
22202012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * configure.ac: Increase version.
2223
da0d5b3f
VS
22242012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2227
2228 * po/Rules-translit: New file.
2229 * po/arabic.sed: Likewise.
2230 * po/cyrillic.sed: Likewise.
2231 * po/greek.sed: Likewise.
2232 * po/hebrew.sed: Likewise.
2233 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2234 * po/Makefile.in.in: Add extra_dist4.
2235
ac66b453
VS
22362012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2239
2240 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2241 modify names. Introduce MODE_BIGENDIAN.
2242 * grub-core/fs/minix_be.c: New file.
2243 * grub-core/fs/minix2_be.c: Likewise
2244 * grub-core/fs/minix3_be.c: Likewise.
2245 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2246 minix3_be.
2247 * grub-core/Makefile.core.def (minix_be): New module.
2248 (minix2_be): Likewise.
2249 (minix3_be): Likewise.
2250
22512012-04-01 Felix <email@hamburg.de>
2252
2253 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2254 (devs): Add MBP 2011.
2255
0a2d5a82
VS
22562012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2259
d1625889
VS
22602012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/normal/cmdline.c (print_completion): New field
2263 prompt_len.
2264 (grub_cmdline_get): Handle width properly.
2265
6d36a236
VS
22662012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2269
9576977e
VS
22702012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 2273 after 29th of February.
9576977e 2274
d73ff15d
VS
22752012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 Fix exfat endianness handling.
2278
2279 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2280 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2281 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2282 Byte-swap utf16 when necessary.
2283 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2284
bbb39a45
AB
22852012-03-31 Anton Blanchard <anton@samba.org>
22862012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 Fix btrfs endianness handling.
2289
2290 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2291 (lower_bound): Make root uint64_t. Use root in le.
2292 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2293 (find_path): Fix template key init.
2294 (grub_btrfs_dir): Fix mtime byteswap.
2295 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2296
354e0af7
VS
22972012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2300 recursion_depth. Break infinite resursions. All users updated.
2301
4e75f21c
VS
23022012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2305 after free.
2306 Reported by: Peter Jones.
2307
25581802
AB
23082012-03-31 Anton Blanchard <anton@samba.org>
2309
2310 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2311 8 bit values.
2312
08fbf92e
VS
23132012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * util/grub-install.in: Fix nvram call for PreP.
2316
5d1182a6
VS
23172012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2320 the error when some elements are missing into a warning.
2321
3f8cdd90
VS
23222012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2325
51006716
CW
23262012-03-28 Colin Watson <cjwatson@ubuntu.com>
2327
2328 * docs/grub.texi (Invoking grub-probe): New section.
2329 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2330
e1bd676b
VS
23312012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 Fix tab and wide character handling in editor and menu.
2334
2335 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2336 agglomerate control characters with combining marks.
2337 (bidi_line_wrap): Allow break on tab.
2338 (grub_unicode_get_comb_start): New function.
2339 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2340 and tab correctly.
2341 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2342 with a space.
2343 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2344 fixed_tab_size. All users updated.
2345 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2346 (grub_term_getcharwidth): Handle \t.
2347 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2348 and copy.
2349
22e6a774
VS
23502012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 Handle big-endian mdraid.
2353
2354 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2355 * grub-core/Makefile.core.def (mdraid09_be): New module.
2356 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2357 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2358 * grub-core/disk/mdraid_linux_be.c: New file.
2359
3c0eae66
VS
23602012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2363
b6cf74c9
VS
23642012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2367 missing quotes which caused confusion among translators.
2368
83c93b9c
VS
23692012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * util/grub-mkconfig_lib.in: Fix typo.
2372
ac6fd218
VS
23732012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2376 spaces.
2377 * tests/grub_script_leading_whitespace.in: New file.
2378 * Makefile.util.def (grub_script_leading_whitespace): New test.
2379
ba287dd8
VS
23802012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2383 to work.
2384
d2d58d0a
VS
23852012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2388 starts with control character.
2389
0382d9bb
VS
23902012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2393 overflow.
2394 (grub_gdb_outbuf): Likewise.
2395
d83ff9f9
VS
23962012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2399 zero terminator. Fixes a crash.
2400
2282da4a
VS
24012012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2404 beyond 4 GiB.
2405 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2406 images independently of preffered adderss field.
2407
0ae4f0bd
VS
24082012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2411 * grub-core/commands/regexp.c: Likewise.
2412 * grub-core/loader/i386/linux.c: Likewise.
2413 * grub-core/partmap/msdos.c: Likewise.
2414 * grub-core/script/execute.c: Likewise.
2415 * grub-core/term/gfxterm.c: Likewise.
2416
546fbe9b
VS
24172012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 Add variable parsing in $"..." and fix several mismatches with bash.
2420
2421 * Makefile.util.def (grub_script_gettext): New test.
2422 * grub-core/script/execute.c (parse_string): New function.
2423 (gettext_append): Likewise.
2424 (grub_script_arglist_to_argv): Use gettext_append.
2425 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2426 * tests/grub_script_gettext.in: New file.
2427
9fdb2d7b
VS
24282012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 Fix handling of leading spaces in scripts.
2431
2432 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2433 spaces.
2434 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2435 other than skipping \r. All users updated.
2436 * tests/grub_script_echo1.in: Add space-related tests.
2437 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2438
1a1ac4f6
VS
24392012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2442
b63d89b6
VS
24432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * configure.ac: Bump up the version to beta2.
2446
17f38c0f
VS
24472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 Fix gettext reload bugs (e.g. inability to disable gettext
2450 once enabled).
2451
2452 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2453 main_context and secondary_context. All functions updated.
2454 (grub_gettext_translate): Rename to ...
2455 (grub_gettext_translate_real): ... this. Return NULL on failed
2456 translate.
2457 (grub_gettext_translate): Handle secondary context.
2458 (grub_gettext_delete_list): Close file and zero-out the context.
2459 (grub_mofile_open): Don't call grub_gettext_delete_list.
2460 Don't close file.
2461 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2462 if locale="" to avoid pointless error message.
2463 (grub_gettext_env_write_lang): Update lang even if load fails.
2464 Handle secondary context.
2465 (grub_gettext_reread_prefix): New function.
2466 (read_main): Likewise.
2467 (read_secondary): Likewise.
2468 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2469 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2470 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2471 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2472
8e56f870
VS
24732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * configure.ac: Decrease warning level to avoid spurious warnings and
2476 to be able to compile with GCC 4.2.
2477 * Makefile.util.def: Remove -Wno-error=logical-op.
2478
82f6d455
WB
24792012-03-10 William Bittner <william.bittner@gmail.com>
2480
2481 * util/import_unicode.py: Add missing brackets around string for
2482 python 3 support.
2483
1ecd61a4
VS
24842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 Fix efi chainloader on network root.
2487
2488 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2489 network devices.
2490 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2491 New function.
2492
14361ee8
VS
24932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2496 unused show_text member.
2497 * docs/grub.texi: Document "text" property.
2498
922aabf3
VS
24992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2502 in dprintf.
2503
ec316771
VS
25042012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 Fix IMSM handling on Fedora.
2507
2508 * util/getroot.c (grub_util_is_imsm): New function.
2509 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2510
0f021838
VS
25112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * Makefile.am: Strip gold section.
2514 * conf/Makefile.common: Likewise.
2515 * gentpl.py: Likewise.
2516 * grub-core/Makefile.core.def: Likewise.
2517 * grub-core/genmod.sh.in: Likewise.
2518
1039c8eb
VS
25192012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2522 * util/grub.d/20_linux_xen.in: Likewise.
2523 Based on Debian patch.
2524
6dd412cd
VS
25252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * util/grub.d/10_linux.in: Fix syntax error resulting in
2528 Richard Laager's patch.
2529 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2530
3fd8bae5
VS
25312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2534 dependencies.
2535
7eea1671
RL
25362012-03-10 Richard Laager <rlaager@wiktel.com>
2537
2538 * util/grub.d/10_linux.in: Fix ZFS root passing.
2539
e8e0566b
VS
25402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2543 * grub-core/commands/xnu_uuid.c: Likewise.
2544 * grub-core/loader/efi/appleloader.c: Likewise.
2545 * grub-core/script/execute.c: Likewise.
2546 * grub-core/script/main.c: Likewise.
2547 * util/grub-mkfont.c: Likewise.
2548
1acc5b1f
VS
25492012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * util/grub-mkfont.c (options): Use more appropriate "select" that
2552 "set" for face index.
2553
35d70620
VS
25542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * util/grub-editenv.c (options): Gettextize command summaries.
2557
c9eb96b5
VS
25582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
2561 "out of memory" error messagge.
2562
1f493136
VS
25632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
2566 of diskfilter for diskfilter on diskfilter support.
2567
6d790129
VS
25682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
2571
005f46c9
VS
25722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * util/grub-install.in: Check for themes/starfield/theme.txt and not
2575 themes/starfield.
2576
c8f778a0
VS
25772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2578
2579 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
2580
de1e64eb
VS
25812012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
2584
c6d54211
VS
25852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2586
2587 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
2588 of error message.
2589
dd390777
VS
25902012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
2593
5fd1c522
VS
25942012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
2597 message.
c6d54211 2598 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 2599
fae01f6c
VS
26002012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
2603 Gettextize.
2604 * util/grub-mount.c (options): Likewise.
2605
292fdaff
VS
26062012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
2609 gettextize.
2610 * grub-core/commands/search_wrap.c (options): Likewise.
2611
ecdbae77
VS
26122012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
2615
52bfedfa
VS
26162012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
2619 size calculation.
2620 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
2621 none is known.
2622
55b20e58
VS
26232012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
2626 "temporary" since it's used in identifier and is limited in space.
2627
fda9d101
VS
26282012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 * po/POTFILES.in: Regenerate. Include *.h since they contain
2631 translatable strings as well.
2632
6a0295e2
VS
26332012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2636 byte-swap on big-endian.
2637 Reported by: Lennart Sorensen
2638
807fb77c
VS
26392012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
2642 (allocate_pages): Improve dprintf.
2643 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
2644 code32_start. Fill code32_start and kernel_alignment in params.
2645 (grub_cmd_initrd): Use prot_init_space.
2646
61ac50ba
VS
26472012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2648
2649 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
2650
abdd26dd
VS
26512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * util/grub-install.in: Add missing dot at the end of sentence.
2654
6e69da9c
VS
26552012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2658 * grub-core/commands/videotest.c: Likewise.
2659 * grub-core/loader/i386/linux.c: Likewise.
2660
4a929343
VS
26612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
2664 sentence.
2665 Reported by: Milo Casagrande.
2666
bb51c6c6
VS
26672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
2670 * grub-core/commands/gptsync.c: Likewise.
2671 * grub-core/commands/hashsum.c: Likewise.
2672 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2673 * grub-core/commands/legacycfg.c: Likewise.
2674 * grub-core/io/gzio.c: Likewise.
2675 * grub-core/net/net.c: Likewise.
2676 * grub-core/term/gfxterm.c: Likewise.
2677 * grub-core/term/terminfo.c: Likewise.
2678 * grub-core/tests/test_blockarg.c: Likewise.
2679 * grub-core/video/video.c: Likewise.
2680 * util/grub-install.in: Likewise.
2681 * util/grub-mkfont.c: Likewise.
2682
b2b149cb
VS
26832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
2686
c7c080ad
VS
26872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 2690 Reported by: David Prévot.
c7c080ad 2691
f2e243c0
VS
26922012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
2695 description.
2696
09963c76
VS
26972012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * util/grub-script-check.c (main): Fix a syntax error message which was
2700 unclear.
2701
a50514a8
VS
27022012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
2705
4650daec
VS
27062012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
2709 messages.
2710
27112012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
2712
2713 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
2714 without argument.
2715 * util/grub-mount.c (options): Likewise.
2716
bbc5a342
VS
27172012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
2720
ef292a87
VS
27212012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * grub-core/net/http.c: Add TRANSLATORS comments.
2724 * grub-core/normal/cmdline.c: Likewise.
2725 * grub-core/normal/misc.c: Likewise.
2726 * grub-core/partmap/msdos.c: Likewise.
2727 * grub-core/parttool/msdospart.c: Likewise.
2728 * grub-core/script/execute.c: Likewise.
2729 * grub-core/script/main.c: Likewise.
2730 * grub-core/term/terminfo.c: Likewise.
2731 * grub-core/video/bitmap.c: Likewise.
2732 * util/grub-install.in: Likewise.
2733 * util/grub-mkimage.c: Likewise.
2734 * util/grub-mklayout.c: Likewise.
2735 * util/grub-setup.c: Likewise.
2736
0fc19bd0
VS
27372012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
2740 with similar messages in grub-fstest.
2741
d95862ef
VS
27422012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * util/grub-install.in: Unify "option requires an argument" message
2745 with similar messages in other files.
2746 * util/grub-mkconfig.in: Likewise.
2747
b7308f90
VS
27482012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * util/grub-set-default.in: Replace printf with gettext_printf (the
2751 string in in question is already translated from grub-reboot)
2752
559dc587
VS
27532012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * configure.ac: Bump up the version to beta1.
2756
1a11761f
VS
27572012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
2760 case when min_align = 0.
2761
24539abd
VS
27622012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
2765 and fix a case when line_start overflows.
2766
32bd735b
VS
27672012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * util/grub-reboot.in (usage): Mention id posibility.
2770 * util/grub-set-default.in (usage): Likewise.
2771
1a2fd1e6
VS
27722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
2775 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
2776 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2777 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2778 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2779 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2780 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2781
90eeab76
VS
27822012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 * grub-core/commands/menuentry.c (options): Remove
2785 GRUB_ARG_OPTION_REPEATABLE.
2786 Reported by: Andreas Vogel
2787
5ad1be82
AV
27882012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
2789
2790 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
2791
cb055286
HE
27922012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
2793
2794 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
2795 error.
2796
93b1cd79
VS
27972012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 Use sort -V by the idea of Georgi Georgiev.
2800
2801 * util/grub-mkconfig_lib.in (version_sort): New function.
2802 (version_test_numeric): Use version_sort.
2803
0cdc126c
VS
28042012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 Use submenus in grub-mkconfig.
2807
2808 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
2809 * util/grub-mkconfig_lib.in (grub_quote): New function.
2810 (gettext_printf): Use gettext and not gettext_quoted to fix several
2811 messages.
2812 * util/grub.d/10_hurd.in: Use submenus.
2813 * util/grub.d/10_kfreebsd.in: Likewise.
2814 * util/grub.d/10_linux.in: Likewise.
2815 * util/grub.d/10_netbsd.in: Likewise.
2816 * util/grub.d/20_linux_xen.in: Likewise.
2817 * util/grub.d/30_os-prober.in: Likewise.
2818 * util/grub.d/10_illumos.in: Add missing quoting.
2819 * util/grub.d/10_windows.in: Likewise.
2820
d9bef9bc
VS
28212012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 Fix menu title instability bug.
2824
2825 * grub-core/commands/menuentry.c (options): New option --id.
2826 (grub_normal_add_menu_entry): New argument id. All users updated.
2827 (grub_cmd_menuentry): Handle --id.
2828 (grub_menu_init): Accept unknown arguments.
2829 * grub-core/normal/main.c (features): Add feature_menuentry_id and
2830 feature_menuentry_options.
2831 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
2832 saved_entry.
2833 (get_entry_number): Match with id as well.
2834 * include/grub/menu.h (grub_menu_entry): New member id.
2835 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
2836 * util/grub.d/00_header.in: Define menuentry_id_option.
2837 * util/grub.d/10_hurd.in: Define id.
2838 * util/grub.d/10_illumos.in: Likewise.
2839 * util/grub.d/10_kfreebsd.in: Likewise.
2840 * util/grub.d/10_linux.in: Likewise.
2841 * util/grub.d/10_netbsd.in: Likewise.
2842 * util/grub.d/10_windows.in: Likewise.
2843 * util/grub.d/20_linux_xen.in: Likewise.
2844 * util/grub.d/30_os-prober.in: Likewise.
2845
28462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
2847
2848 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
2849 "scope" with "body".
2850
7c8d0ce7
VS
28512012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
2854 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
2855 prot_size and prot_file_size.
2856
49de079b
VS
28572012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
2860 All users updated. If easily=1 require raid-5/-6 to be full.
2861 (is_node_readable): Likewise.
2862 (scan_devices): Scan incomplete but readable LVs at the end.
2863 (grub_diskfilter_memberlist): Pull missing devices.
2864 (insert_array): Skip scanning until device is complete or scan is
2865 done otherwise.
2866 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
2867 check.
2868 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
2869 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
2870
aff05d45
MG
28712012-03-03 Matthew Garrett <mjg@redhat.com>
28722012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 Avoid EFI boot services when loading Linux.
2875
2876 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
2877 avoid_efi_bootservices. All users updated.
2878 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
2879 argument avoid_efi_bootservices. All users updated.
2880 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
2881 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
2882 align, min_align, relocatable, prefered_address. All users updated.
2883 Allocate avoiding boot services if kernel is relocatable.
2884 (grub_cmd_linux): Check if kernel is relocatable.
2885 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
2886 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
2887 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
2888 avoid_efi_boot_services.
2889 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
2890 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
2891 (linux_kernel_params): Likewise.
2892
3935dde2
MG
28932012-03-03 Matthew Garrett <mjg@redhat.com>
28942012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 Use EDID on EFI.
2897
2898 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
2899 datasize_out.
2900 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
2901 modes. Set gop_handle.
2902 (grub_video_gop_get_edid): New function.
2903 (grub_gop_get_preferred_mode): Likewise.
2904 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
2905 (grub_video_efi_gop_adapter): Set .get_edid.
2906 * include/grub/efi/edid.h: New file.
2907 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
2908
32107ec0
VS
29092012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * util/grub-install.in: Load efivars unconditionally.
2912
e70a2c50
VS
29132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * po/Rules-piglatin: Change suffix from .po-update-en to
2916 .po-update-en-piglatin.
2917
8f9cace1
VS
29182012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 Add a pig farm.
2921
2922 * po/piglatin.sed: New file.
2923 * po/en@piglatin.header: Likewise.
2924 * po/Rules-piglatin: Likewise.
2925 * po/README: Add en@piglatin to autogenerated languages.
2926
8f95d002
VS
29272012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
2930 "Command for ...".
2931 * grub-core/commands/hdparm.c (options): Use "Display" rather than
2932 "Check" since we don't check anything.
2933 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
2934 is 64-bit one.
2935 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
2936 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
2937 (grub_md_sha512_real): Likewise.
2938
805a8dcc
VS
29392012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * grub-core/commands/gptsync.c: Fix typographic quoting.
2942 * grub-core/commands/ieee1275/suspend.c: Likewise.
2943 * grub-core/commands/parttool.c: Likewise.
2944 * grub-core/commands/search_wrap.c: Likewise.
2945 * grub-core/commands/videoinfo.c: Likewise.
2946 * grub-core/gfxmenu/gui_label.c: Likewise.
2947 * grub-core/hello/hello.c: Likewise.
2948 * grub-core/kern/emu/main.c: Likewise.
2949 * grub-core/net/net.c: Likewise.
2950 * grub-core/normal/menu.c: Likewise.
2951 * grub-core/normal/menu_text.c: Likewise.
2952 * grub-core/normal/misc.c: Likewise.
2953 * util/grub-editenv.c: Likewise.
2954 * util/grub-install.in: Likewise.
2955 * util/grub-kbdcomp.in: Likewise.
2956 * util/grub-mkconfig.in: Likewise.
2957 * util/grub-mknetdir.in: Likewise.
2958 * util/grub-mkrescue.in: Likewise.
2959 * util/grub-mkstandalone.in: Likewise.
2960 * util/grub-reboot.in: Likewise.
2961 * util/grub-set-default.in: Likewise.
2962 * util/grub-setup.c: Likewise.
2963 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2964
40211ab8
VS
29652012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
2968 * grub-core/commands/keystatus.c: Likewise.
2969 * grub-core/commands/loadenv.c: Likewise.
2970 * grub-core/commands/probe.c: Likewise.
2971 * grub-core/commands/regexp.c: Likewise.
2972 * grub-core/commands/true.c: Likewise.
2973 * grub-core/commands/videoinfo.c: Likewise.
2974 * grub-core/disk/cryptodisk.c: Likewise.
2975 * grub-core/disk/ldm.c: Likewise.
2976 * grub-core/disk/loopback.c: Likewise.
2977 * grub-core/disk/luks.c: Likewise.
2978 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2979 * grub-core/kern/disk.c: Likewise.
2980 * grub-core/kern/emu/hostdisk.c: Likewise.
2981
0c7d99c7
VS
29822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
2985 * util/grub-install.in: Add missing quote in the comment.
2986
e7d2559b
VS
29872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
2990 * grub-core/commands/lsmmap.c: Likewise.
2991 * grub-core/commands/minicmd.c: Likewise.
2992 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2993 * grub-core/commands/regexp.c: Likewise.
2994 * grub-core/gdb/gdb.c: Likewise.
2995 * grub-core/term/gfxterm.c: Likewise.
2996 * util/grub-mkconfig.in: Likewise.
2997 * util/grub-mkfont.c: Likewise.
2998 * util/grub-mklayout.c: Likewise.
2999 * util/grub-mknetdir.in: Likewise.
3000 * util/grub-mkrescue.in: Likewise.
3001 * util/grub.d/30_os-prober.in: Likewise.
3002
49ce9e50
VS
30032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3004
3005 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3006 with "Direct color" and "Packed" with "Packed pixel".
3007 (grub_cmd_videoinfo): Simplify legend.
3008
e4b791fa
VS
30092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3012 absolutely unclear error message.
3013
fd1265cb
VS
30142012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * util/grub-mkstandalone.in: Remove confusing leftover print.
3017
8822a8a0
VS
30182012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3021 comments.
3022 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3023 (GRUB_MOD_INIT): Likewise.
3024 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3025 VGA mode.
3026 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3027 comments.
3028 * util/grub-install.in (usage): Likewise.
3029 Spell ID in whole letters.
3030 Add missing ending dot.
3031 Quote variables.
3032 * util/grub-reboot.in: Fix capitalisation.
3033 * util/grub-set-default.in: Likewise.
3034
937fd0cc
VS
30352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3038 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3039 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3040 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3041 Disable -Werror for -Wdeprecated-declarations.
3042 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3043 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3044 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3045 (grub_util_get_grub_dev): Make luks handling dependent on
3046 HAVE_DEVICE_MAPPER and not __linux__.
3047 (get_win32_path): Fix format security.
3048 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3049 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3050 Don't try grub_find_zpool_from_dir.
3051 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3052 #ifdef-out paresdir.
3053
1bab1ae3
VS
30542012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * util/grub-pe2elf.c (usage): Add missing noreturn.
3057 (write_section_data): Rename name to shname to avoid shadowing.
3058 (write_symbol_table): Rename name to symname to avoid shadowing.
3059 Fix write_reloc_section call.
3060
ef023e42
VS
30612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3064 to ensure that it's after the last byte of .text.
3065
48afcb75
VS
30662012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * util/ieee1275/ofpath.c (my_isdigit): New function.
3069 (trailing_digits): Use my_isdigit.
3070 (strip_trailing_digits): Likewise.
3071
88d51eff
VS
30722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3075 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3076
17edc2ba
VS
30772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/kern/i386/pc/startup.S: Define __start.
3080
ad5518d7
VS
30812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3084 strip already transforms he format.
3085
9e95e1bf
VS
30862012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3089
9cc3ee5c
VS
30902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * util/grub-install.in: Add missing gettext init.
3093 * util/grub-kbdcomp.in: Likewise.
3094 * util/grub-mkconfig.in: Likewise.
3095 * util/grub-mknetdir.in: Likewise.
3096 * util/grub-mkrescue.in: Likewise.
3097 * util/grub-mkstandalone.in: Likewise.
3098 * util/grub-reboot.in: Likewise.
3099 * util/grub-set-default.in: Likewise.
3100 * util/grub.d/00_header.in: Likewise.
3101 * util/grub.d/10_hurd.in: Likewise.
3102 * util/grub.d/10_windows.in: Likewise.
3103 * util/grub.d/30_os-prober.in: Likewise.
3104 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3105
49e08a06
VS
31062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * po/Rules-swiss: Fix header comment.
3109
3809cb41
AV
31102012-02-29 Andreas Vogel <anvoit>
3111
3112 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3113 resulted in leak of arguments.
3114
fa6ec573
VS
31152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3118 reed_solomon_size const definition instead of computing it since
3119 Apple assembler doesn't support the later.
3120
22899b9c
VS
31212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * gentpl.py (kernel): Rewrite Apple part.
3124
a132afc3
VS
31252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3128
9d742bd4
VS
31292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3132 ELF section gap.
3133 (load_image): Likewise.
3134
f04a9a21
VS
31352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * configure.ac: Fix a typo in previous commit.
3138
46cf439c
VS
31392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 Don't add -Wl,-N on Apple platform.
3142
3143 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3144 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3145
c4c48c54
VS
31462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * grub-core/Makefile.core.def (lzma_decompress): Use
3149 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3150
31a12124
VS
31512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * grub-core/genmod.sh.in: Rewrite the Apple part.
3154
4f3aa1af
VS
31552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3158 comparison.
3159
7bd8b0c7
VS
31602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * acinclude.m4 (grub_CHECK_PIC): New test.
3163 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3164
97304d7c
VS
31652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3168 to avoid the warning.
3169
fb883812
VS
31702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3173 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3174 after. All users updated.
3175
a121c964
VS
31762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 Use the common size routine in hostfs so we can read disks as well.
3179
3180 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3181 (grub_util_get_fd_size): ... this. Return size in bytes.
3182 All users updated.
3183 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3184 grub_util_get_fd_size.
3185
c66d6410
VS
31862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3189 Add blocksize retrieval.
3190
dfc8aeb0
VS
31912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 * configure.ac: Restore CFLAGS after efiemu check.
3194
403e25a5
VS
31952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3198 Apple bug.
3199
382775d1
VS
32002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3203
6fd4e6e4
VS
32042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3207 (grub_cmd_halt): Likewise.
3208
bea359d6
VS
32092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3212 for local arithmetics.
3213 Break %sp init into 2 instructions.
3214 Add 0 byte at the end.
3215
32eb6ee1
VS
32162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3219 before loops.
3220
e8377389
VS
32212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3224 for context.
3225
8cb17de7
VS
32262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * grub-core/disk/ldm.c (make_vg): Init part.name.
3229 (grub_ldm_detect): Silence spurious warning.
3230 (grub_util_is_ldm): Likewise.
3231
595717e6
VS
32322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3235 sane value to avoid a spurious warning.
3236
c4b7e588
VS
32372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3240 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3241
59824957
VS
32422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3245 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3246
70115b99
VS
32472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3250 hardcoding the relevant info.
3251
56733740
VS
32522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3255 missing const qualifiers.
3256 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3257
43481481
VS
32582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * util/getroot.c [__APPLE__]: Add missing includes.
3261 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3262
3cb38f01
VS
32632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3266
d9dbf11e
VS
32672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3270 avoid conflicts.
3271
0c42a45d
VS
32722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3275
46c34eb0
VS
32762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3279 and grub_file_close call.
3280
99ce1597
VS
32812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 Add LZSS Mach-O support (needed for new xnu kernelcache).
3284
3285 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3286 * grub-core/loader/lzss.c: New file.
3287 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3288 on Mach-O open failure.
3289 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3290 Don't free cmdsXX in uncompressedXX is set.
3291 (grub_macho_file): Init new fields.
3292 New argument is_64bit. All users updated.
3293 Handle compressed. Error out if no suitable architecture is found.
3294 Don't close file.
3295 (grub_macho_open): New argument is_64bit. All users updated.
3296 * grub-core/loader/macho32.c: Add defines for new fields.
3297 * grub-core/loader/macho64.c: Likewise.
3298 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3299 (grub_macho_parse): Handle compressed.
3300 Defer actual processing if compressed.
3301 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3302 "filename". All users updated.
3303 (grub_macho_size): New argument "filename". All users updated.
3304 (grub_macho_get_entry_point): Likewise.
3305 (grub_macho_load): Handle compressed.
3306 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3307 (GRUB_MACHO_LZSS_OFFSET): New define.
3308 (grub_decompress_lzss): New proto.
3309 * include/grub/machoload.h (grub_macho_file): New fields to handle
3310 compressed.
3311 (grub_macho_contains_macho64): Remove proto.
3312 (grub_macho_contains_macho32): Likewise.
3313 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3314
ebd17d6f
VS
33152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3318
2702b4e4
VS
33192012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 Fix make dist.
3322
3323 * Makefile.am (starfield_theme_files): New var.
3324 (starfield_DATA): Use starfield_theme_files.
3325 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3326 Add bootcheck-related files.
3327 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3328 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3329 and font_char_metrics.txt.
3330 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3331 (setjmp): Add lib/ia64/longjmp.S.
3332 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3333 * po/POTFILES.in: Regenerate.
3334 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3335 DISTFILES.common.extra1.
3336 * util/devicemap.c: Removed.
3337 * grub-core/lib/i386/relocator_backward.S: Likewise.
3338 * util/import_gcry.py: Remove unused files. Add extra_dist for
3339 ChangeLog.
3340
cf1adfdf
VS
33412012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3344 grub_gettext_delete_list before changing grub_gettext_max to avoid
3345 running out of array bounds.
3346
33472012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
3348
3349 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3350 grub_vga_text_init/grub_vga_text_fini.
3351
cf1adfdf 33522012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
3353
3354 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3355
541d92e9
VS
33562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * configure.ac: Bump to 2.00~beta0.
3359
7931dddf
VS
33602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3363 missing initialisation.
3364
f1b16fa3
VS
33652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3366
3367 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3368
83ddae23
VS
33692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 Support v2 xnu boot arguments.
3372
3373 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3374 New argument fsbfreq_out.
3375 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3376 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3377 be used.
3378 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3379 darwin_version.
3380 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3381 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3382 (grub_xnu_boot_params): Rename to ...
3383 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3384 (grub_xnu_boot_params_v2): New struct.
3385
dc693fe6
VS
33862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3389 zeroing of CRC field before computing CRC.
3390
5a6e39c2
VS
33912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3394 Change order of allocations to decrease fragmentation.
3395
6c21f5d7
VS
33962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3399
cfe456dc
CW
34002012-02-27 Colin Watson <cjwatson@ubuntu.com>
3401
3402 Use write-combining MTRR to speed up video with buggy BIOSes.
3403
3404 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3405 (cpuid): New define.
3406 (rdmsr): Likewise.
3407 (wrmsr): Likewise.
3408 (mtrr_base): Likewise.
3409 (mtrr_mask): Likewise.
3410 (grub_vbe_enable_mtrr_entry): New function.
3411 (grub_vbe_enable_mtrr): Likewise.
3412 (grub_vbe_disable_mtrr): Likewise.
3413 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3414 control off to BIOS.
3415 (grub_video_vbe_init): Fill mtrr.
3416 (grub_video_vbe_fini): Disable mtrr.
3417 (grub_video_vbe_get_info_and_fini): Likewise.
3418 (grub_video_vbe_setup): Enable mtrr.
3419
e3c78337
CW
34202012-02-27 Colin Watson <cjwatson@ubuntu.com>
3421
3422 * include/grub/partition.h (grub_partition_map): Change prototype of
3423 embed to take a maximum value for nsectors.
3424 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3425 * include/grub/fs.h (grub_fs): Likewise.
3426 * grub-core/partmap/msdos.c (embed_signatures): New array.
3427 (pc_partition_map_embed): Check for and avoid sectors matching any
3428 of the signatures in embed_signatures, up to max_nsectors.
3429 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3430 returned sector map to max_nsectors.
3431 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3432 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3433 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3434 * util/grub-setup.c (setup): Allow for the embedding area being
3435 split into multiple blocklists. Tell dest_partmap->embed the
3436 maximum number of sectors we care about.
3437
34382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3441 Specify blocklist_install and reserver_first_sector for all fs.
3442 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3443 blocklists.
3444
984b973f
VS
34452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * util/grub-install.in: Clarify strings.
3448 Fix source dir check.
3449
f122e0d6
RL
34502012-02-27 Richard Laager <rlaager@wiktel.com>
3451
3452 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3453 "zfs" and "fuse.zfs" as synonyms.
3454
071114bb
VS
34552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * configure.ac: Put platform and target_cpu substitutions back since
3458 they are used for directories.
3459
817e6abc
RL
34602012-02-27 Richard Laager <rlaager@wiktel.com>
34612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3464 * util/grub.d/20_linux_xen.in: Likewise.
3465
897b7419
RL
34662012-02-27 Richard Laager <rlaager@wiktel.com>
3467
3468 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3469 with full paths.
3470
a414bd15
RL
34712012-02-27 Richard Laager <rlaager@wiktel.com>
3472
3473 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3474 unescape.
3475
30ac48c4
VS
34762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 Don't use insecure popen in getroot.
3479
3480 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3481 (exec_pipe): ... here.
3482 (find_root_devices_from_poolname): Use exec_pipe.
3483
53f13848
VS
34842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 Remove platform and target_cpu replacement.
3487
3488 * configure.ac: Remove platform and target_cpu substitutions.
3489 * tests/util/grub-shell.in: Use modinfo.
3490 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3491 explicitly.
3492
90cb2803
VS
34932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 Autodetect platform in grub-install but allow override.
3496
3497 * util/grub-install.in: Autodetect platform. Support --target and
3498 --directory. Read platform from modinfo.sh.
3499
b9136427
VS
35002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 Support btrfs multi-volume probe.
3503
3504 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3505 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3506 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3507 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3508 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3509 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3510 grub_find_root_devices_from_btrfs if on btrfs.
3511
c36e5cd1
VS
35122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 Remove any awareness of *.c util files about target.
3515
3516 * Makefile.util.def (grub-setup): Split to ...
3517 (grub-bios-setup): ... and this.
3518 (grub-sparc64-setup): ... and this.
3519 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3520 * docs/man/grub-setup.h2m: Split into ...
3521 * docs/man/grub-sparc64-setup.h2m: ... this.
3522 * docs/man/grub-bios-setup.h2m: ... and this.
3523 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3524 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3525 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3526 (grub_target_addr_t): Remove.
3527 (grub_target_size_t): Remove.
3528 (grub_target_ssize_t): Remove.
3529 * util/grub-install.in: Use new grub-*-setup.
3530 * util/grub-mkimagexx.c (Elf_Word): New define.
3531 (Elf_Half): Likewise.
3532 (Elf_Section): Likewise.
3533 (ELF_ST_TYPE): Likewise.
3534 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3535 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3536
584b2f8a
VS
35372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 Replace grub_target_addr with more appropriate types.
3540
3541 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3542 grub_target_addr with grub_addr.
3543 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3544 grub_target_addr with grub_port.
3545 (grub_cmd_write): Likewise.
3546 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3547 grub_target_addr with grub_addr.
3548 (grub_cmd_write): Likewise.
3549 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3550
5a0dc6fb
VS
35512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
3554 const qualifier for vendor_guid.
3555
786aff6e
VS
35562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
3559 const qualifier.
3560 (efiemu_memequal): Likewise.
3561 (find_variable): Likewise.
3562
49017b17
VS
35632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 Fix missing console prototype on qemu-mips.
3566
3567 * include/grub/mips/qemu_mips/console.h: New file.
3568
c5988629
MG
35692012-02-27 Matthew Garrett <mjg@redhat.com>
35702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
3573 * include/grub/efi/efi.h: Likewise.
3574 * include/grub/efi/api.h: Add guid for EFI-specified variables.
3575 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
3576 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
3577 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
3578 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
3579 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
3580
e33f8d69
MG
35812012-02-27 Matthew Garrett <mjg@redhat.com>
3582
3583 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
3584
fb312cd9
VS
35852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
3588 error.
3589
7134247c
VS
35902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * configure.ac: Remove inappropriate use of program_transform_name
3593 on grubdir and bootdir but allow explicit specification of those
3594 variables.
3595
6a313124
VS
35962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * util/grub-mknetdir.in (grub_prefix): Removed.
3599 (subdir): Use @bootdirname@ and @grubdirname@.
3600
2311c5ca
VS
36012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
3604
7d5d60f7
VS
36052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * po/POTFILES.in: Regenerated.
3608
8151bc82
VS
36092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 Remove improper use of program_transform_name on pkglibrootdir.
3612
3613 * configure.ac (pkglibrootdir): Removed.
3614 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
3615 * util/grub-mkimage.c: Likewise.
3616
b4a6a533
VS
36172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
3620 warning.
3621
668f304f
VS
36222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * util/grub-install.in: Use file identifier if no UUID is available
3625 or user explicitly prompted for it.
3626
665f2341
NP
36272012-02-27 Navdeep Parhar <nparhar@gmail.com>
3628
3629 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
3630 (freebsd_get_zfs): New function.
3631 (grub_freebsd_boot): Pass zfs UUID.
3632 (grub_cmd_freebsd): Set zfs UUID.
3633
8151bc82 36342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
3635
3636 * conf/Makefile.common (platformdir): Base on pkglibdir and not
3637 pkglibrootdir.
3638
e4c498a1
MG
36392012-02-27 Mike Gilbert <floppym@gentoo.org>
3640
3641 Add configure flag to control libzfs integration.
3642
3643 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
3644
1e9a9a3f
VS
36452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
3648 device.
3649 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
3650 small devices.
3651
036985b8
VS
36522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 Remove grub_{modname}_init and grub_{modname}_fini. They should never
3655 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
3656 be used on non-modules.
3657
3658 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
3659 Rename to grub_boot_init.
3660 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
3661 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
3662 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
3663 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
3664 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
3665 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
3666 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
3667 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
3668 includes.
3669 (grub_machine_init): Remove empty inits.
3670 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
3671 includes.
3672 (grub_machine_init): Remove empty inits.
3673 * grub-core/term/arc/console.c: Remove explicit proto.
3674 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
3675 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
3676 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3677 grub_at_keyboard_fini.
3678 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
3679 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
3680 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3681 grub_gfxterm_fini.
3682 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
3683 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
3684 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3685 grub_vgatext_fini.
3686 * grub-core/term/ieee1275/console.c: Remove explicit proto.
3687 * grub-core/term/serial.c (GRUB_MOD_INIT)
3688 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
3689 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3690 grub_serial_fini.
3691 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
3692 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
3693 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3694 grub_terminfo_fini.
3695 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
3696 (GRUB_MOD_FINI): Likewise.
3697 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
3698 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
3699 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3700 grub_video_radeon_fuloong2e_fini.
3701 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
3702 [LOONGSON]: Rename to grub_video_sis315pro_init.
3703 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3704 grub_video_sis315pro_fini.
3705 * grub-core/video/sm712.c (GRUB_MOD_INIT)
3706 [LOONGSON]: Rename to grub_video_sm712_init.
3707 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3708 grub_video_sm712_fini.
3709 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
3710 (grub_at_keyboard_fini): Likewise.
3711 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
3712 Don't declare grub_{modname}_init.
3713 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
3714 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
3715 New proto.
3716 (grub_keylayouts_fini) [!EMU]: Likewise.
3717 * include/grub/serial.h (grub_serial_init) [!EMU]:
3718 New proto.
3719 (grub_serial_fini) [!EMU]: Likewise.
3720 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
3721 New proto.
3722 (grub_terminfo_fini) [!EMU]: Likewise.
3723 * include/grub/video.h (grub_font_init) [!EMU]:
3724 New proto.
3725 (grub_font_fini) [!EMU]: Likewise.
3726 (grub_gfxterm_init) [!EMU]: Likewise.
3727 (grub_gfxterm_fini) [!EMU]: Likewise.
3728 (grub_video_sm712_init) [!EMU]: Likewise.
3729 (grub_video_sm712_fini) [!EMU]: Likewise.
3730 (grub_video_sis315pro_init) [!EMU]: Likewise.
3731 (grub_video_sis315pro_fini) [!EMU]: Likewise.
3732 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
3733 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
3734
d5534665
VS
37352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 Make nand a prefix for nand devices.
3738
3739 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
3740
10133b5f
VS
37412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
3744 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
3745
8e307a62
VS
37462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * include/grub/env.h (grub_env_find): Remove prototype.
3749 * grub-core/kern/env.c (grub_env_find): Make static.
3750 (grub_env_set): Remove useless set.
3751
a4c65f34
VS
37522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * grub-core/kern/i386/realmode.S: Remove useless align.
3755
d87893d5
VS
37562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * include/grub/dl.h (grub_dl_load_file): Don't export.
3759
50159add
VS
37602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
3763 grub_dprintf.
3764
b2582b84
VS
37652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
3768 grub_errors.
3769 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
3770 not reloading whole superblock but only the part which is really needed.
3771 Remove useless grub_errors.
3772 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
3773 grub_errors.
3774
e2a83395
VS
37752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 Don't export grub_get_rtc.
3778
3779 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
3780 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
3781
e7d2a906
VS
37822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
3785
6cf1363b
VS
37862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 3789 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 3790
eece3349
VS
37912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 Remove prio_list.
3794
3795 * include/grub/list.h (grub_prio_list): Removed.
3796 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
3797 GRUB_COMMAND_PRIO_MASK.
3798 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
3799 GRUB_COMMAND_FLAG_ACTIVE.
3800 (grub_prio_list_insert): Removed.
3801 (grub_prio_list_remove): Likewise.
3802 (GRUB_AS_PRIO_LIST): Likewise.
3803 (GRUB_AS_PRIO_LIST_P): Likewise.
3804 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
3805 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
3806 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
3807 * grub-core/kern/command.c (grub_register_command_prio): Inline
3808 the prio_list code.
3809 (grub_unregister_command): Likewise.
3810
94f064b4
VS
38112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 Fix interrupt mixup from previous commit.
3814
3815 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
3816 (grub_realidt): New var.
3817 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
3818 Load idt.
3819 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
3820 New declaration.
3821 (grub_relocator16_boot): Set grub_relocator16_idt.
3822 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
3823 (LOCAL(realidt)): ... this.
3824 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
3825 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
3826 (grub_realidt): New variable.
3827
27317084
VS
38282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
3831 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
3832 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
3833 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
3834 Gettextize.
3835 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
3836 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
3837 * po/POTFILES.in: Regenerate.
3838
47b40053
VS
38392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
3842 errors.
3843
2b343101
VS
38442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3845
3846 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
3847 \0.
3848 (add_length): Likewise.
3849
ff27c3dd
LK
38502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
38512012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
3852
3853 GDB serial and backtrace support.
3854
3855 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
3856 (prot_to_real): Likewise.
3857 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
3858 * grub-core/Makefile.core.def (backtrace): New module.
3859 (gdb): Likewise.
3860 * grub-core/gdb/cstub.c: New file.
3861 * grub-core/gdb/gdb.c: Likewise.
3862 * grub-core/gdb/i386/idt.c: Likewise.
3863 * grub-core/gdb/i386/machdep.S: Likewise.
3864 * grub-core/gdb/i386/signal.c: Likewise.
3865 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 3866 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
3867 * include/grub/backtrace.h: Likewise.
3868 * include/grub/gdb.h: Likewise.
3869 * include/grub/i386/gdb.h: Likewise.
3870
38712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
3872
3873 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
3874 New function.
3875 (add_length): Likewise.
3876 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
3877 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
3878 proto.
3879 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
3880 __argp_get_display_len.
3881
ff27c3dd 38822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
3883
3884 $"..." support in scripts.
3885
3886 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
3887 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
3888 * grub-core/script/yylex.l: Likewise.
3889 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
3890 value.
3891
ff27c3dd 38922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
3893
3894 * gentpl.py: Remove obsolete pkglib_DATA handling.
3895
ff27c3dd 38962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
3897
3898 Don't transform PACKAGE_TARNAME following a discussion on autoconf
3899 mailing list.
3900
3901 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
3902 * util/grub-kbdcomp.in: Likewise.
3903 * util/grub-mkconfig.in: Likewise.
3904 * util/grub-mkconfig_lib.in: Likewise.
3905 * util/grub-mknetdir.in: Likewise.
3906 * util/grub-mkrescue.in: Likewise.
3907 * util/grub-mkstandalone.in: Likewise.
3908 * util/grub-reboot.in: Likewise.
3909 * util/grub-set-default.in: Likewise.
3910 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3911
ff27c3dd 39122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
3913
3914 Remove GRUB_PREFIX.
3915
3916 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
3917 * util/grub.d/00_header.in: Compute prefix in the only place it's still
3918 used for backward compatibility.
3919
ff27c3dd 39202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
3921
3922 Add new all_video module.
3923
3924 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
3925 * grub-core/Makefile.core.def (all_video): New module.
3926 * grub-core/genmoddep.awk: Generate dependency of all_video from
3927 video.lst.
3928 * grub-core/lib/fake_module.c: New file.
3929 * grub-core/normal/main.c (features): Add feature_all_video_module.
3930 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
3931 don't do explicit search again.
47454da5 3932 insmod all_video in load_video if available.
22c7ce85 3933
ff27c3dd 39342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
3935
3936 Another round of string clarification and adding TRANSLATORS comments.
3937
ff27c3dd 39382012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
3939
3940 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
3941
ff27c3dd 39422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
3943
3944 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
3945 to grub_ssize_t.
3946 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
3947 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
3948
ff27c3dd 39492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
3950
3951 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
3952 trailing newline implicitly. All users updated.
3953
ff27c3dd 39542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
3955
3956 Implement serial on IEEE1275 and EFI.
3957
3958 * docs/grub.texi (Platform-specific limitations): Fix the columen video
3959 on emu. Mention arc and emu as the only platforms without serial
3960 support.
3961 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
3962 ieee1275 platforms.
3963 * grub-core/term/efi/serial.c: New file.
3964 * grub-core/term/ieee1275/serial.c: Likewise.
3965 * grub-core/term/serial.c (grub_serial_find): Disable direct port
3966 specification if no ns8250 driver is available.
3967 (grub_cmd_serial): Likewise.
3968 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
3969 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
3970 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
3971 (grub_efi_parity_type_t): New type.
3972 (grub_efi_stop_bits_t): Likewise.
3973 (grub_efi_serial_io_interface): New struct.
3974 * include/grub/serial.h (grub_serial_port): Make 'broken' field
3975 available for all interfaces.
3976 Add EFI and IEEE1275 fields.
3977 (grub_ofserial_init): New proto.
3978 (grub_efiserial_init): Likeiwse.
3979 * util/grub.d/00_header.in: Don't check for the presence of serial
3980 module.
3981
ff27c3dd 39822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
3983
3984 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
3985 name as if it was an alias.
3986
114076ef
VS
39872012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * grub-core/commands/lsacpi.c (options): Fix typo.
3990
6a656b0e
VS
39912012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 Convert grub-emu to argp.
3994
3995 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
3996 emu.
3997 * util/argp_common.c: Rename to ...
3998 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
3999 Add missing includes.
4000 * grub-core/kern/emu/main.c: Convert to argp.
4001 * po/POTFILES.in: Regenerate.
4002 * util/grub-install.in (usage): Make first letter lowcase in messages
4003 for uniformity.
4004 * util/grub-setup.c (options): Likewise.
4005
1e3f8ae8
VS
40062012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4009 Put back accidently commented-out code.
4010
ed167a80
VS
40112012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4014 loop check using Brent algorithm.
4015 (grub_hfsplus_btree_search): Likewise.
4016
6753c0ec
VS
40172012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * util/grub-install.in: Fix usage of wrong device for PreP install.
4020
4e27343f
VS
40212012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * conf/Makefile.common (CFLAGS_GNULIB): Add
4024 -Wno-unsafe-loop-optimizations.
4025 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4026 on tools.
4027 * grub-core/commands/legacycfg.c: Add pragma to skip
4028 -Wunsafe-loop-optimizations.
4029 (check_password_md5_real): Fix loop counter type.
4030 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4031 reading.
4032 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4033 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4034 loop condition.
4035 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4036 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4037 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4038 condition.
4039 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4040 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4041 avoid possible infinite loops.
4042 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4043 and -Wunsafe-loop-optimizations.
4044 * grub-core/script/yylex.l: Likewise.
4045 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4046 (print_glyphs): Avoid infinite loops.
4047 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4048
697f18b0
GS
40492012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4050
4051 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4052 to avoid infinite loop.
4053 (disp_acpi_rsdt_table): Likewise.
4054
274416e8
VS
40552012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/font/font.c (grub_font_load): Add support for default
4058 path for fonts ($prefix/fonts).
4059 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4060 for checking if string is a path.
4061 * grub-core/normal/main.c (features): Add feature_default_font_path.
4062 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4063 * util/grub.d/00_header.in: Use default directory if possible.
4064 * util/grub-install.in: Install unicode.pf2.
4065
b3e08622
VS
40662012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4069 * po/Rules-swiss: New file.
4070 * po/swiss.sed: Likewise.
4071
fe42ce09
VS
40722012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * grub-core/fs/btrfs.c (find_device): Fix typos.
4075 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4076 * util/grub-mkrelpath.c (argp_parser): Likewise.
4077 Reported by: Yuri Chornoivan.
4078
72f1d065
DO
40792012-02-23 Dalet Omega <daletomega@gmail.com>
4080
4081 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4082 for usual informative messages.
4083
c5884973
DO
40842012-02-23 Dalet Omega <daletomega@gmail.com>
4085
4086 Starfield theme.
4087
4088 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4089 * conf/Makefile.common: Define starfielddir.
4090 * configure.ac: Configure starfield.
4091 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4092 * themes/starfield/README: Likewise.
4093 * themes/starfield/blob_w.png: Likewise.
4094 * themes/starfield/boot_menu_c.png: Likewise.
4095 * themes/starfield/boot_menu_e.png: Likewise.
4096 * themes/starfield/boot_menu_n.png: Likewise.
4097 * themes/starfield/boot_menu_ne.png: Likewise.
4098 * themes/starfield/boot_menu_nw.png: Likewise.
4099 * themes/starfield/boot_menu_s.png: Likewise.
4100 * themes/starfield/boot_menu_se.png: Likewise.
4101 * themes/starfield/boot_menu_sw.png: Likewise.
4102 * themes/starfield/boot_menu_w.png: Likewise.
4103 * themes/starfield/slider_c.png: Likewise.
4104 * themes/starfield/slider_n.png: Likewise.
4105 * themes/starfield/slider_s.png: Likewise.
4106 * themes/starfield/src/blob_nw.xcf: Likewise.
4107 * themes/starfield/src/bootmenu/: Likewise.
4108 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4109 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4110 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4111 * themes/starfield/src/slider_c.xcf: Likewise.
4112 * themes/starfield/src/slider_n.xcf: Likewise.
4113 * themes/starfield/src/slider_s.xcf: Likewise.
4114 * themes/starfield/src/terminalbox/: Likewise.
4115 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4116 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4117 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4118 * themes/starfield/starfield.png: Likewise.
4119 * themes/starfield/terminal_box_c.png: Likewise.
4120 * themes/starfield/terminal_box_e.png: Likewise.
4121 * themes/starfield/terminal_box_n.png: Likewise.
4122 * themes/starfield/terminal_box_ne.png: Likewise.
4123 * themes/starfield/terminal_box_nw.png: Likewise.
4124 * themes/starfield/terminal_box_s.png: Likewise.
4125 * themes/starfield/terminal_box_se.png: Likewise.
4126 * themes/starfield/terminal_box_sw.png: Likewise.
4127 * themes/starfield/terminal_box_w.png: Likewise.
4128 * themes/starfield/theme.txt: Likewise.
4129
17d73325
VS
41302012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * util/grub.d/00_header.in: Add missing export theme.
4133
dbebaf92
VS
41342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4137 already included.
4138 Reported by: Eren D.
4139
3d68bffb
VS
41402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 * conf/Makefile.common (grubdatadir): Removed.
4143 (Makefile.am): Move eveything grubdata to pkgdata.
4144
4b59234d
VS
41452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 * grub-core/commands/acpihalt.c (get_sleep_type):
4148 Remove unused variable.
4149
463dcadc
VS
41502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4151
4152 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4153 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4154 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4155 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4156 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4157 i18n with gettext no-op.
4158 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4159 GRUB_ACPI_OPCODE_STRING_CONST.
4160 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4161 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4162
e5b90c82
VS
41632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * po/POTFILES.in: Regenerate.
4166
2a704ca9
VS
41672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4170 -Wno-error=missing-noreturn.
4171
84f9d341
VS
41722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4175 condition to avoid possibly infinite loops.
4176 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4177 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4178
d46683f9
VS
41792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4182 condition to avoid possibly infinite loops.
4183
c44866b2
VS
41842012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4187 on show_error.
4188
96790539
VS
41892012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4192
1ba7e295
VS
41932012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4196
21ffe8f1
VS
41972012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * util/bin2h.c (usage): Add missing attribute noreturn.
4200
0ccb6b3c
VS
42012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4204 if the size isn't divisible by 512.
4205
b00d7fb6
VS
42062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 Make list_push and list_remove functions rather than inline functions
4209 to decrease size and avoid aliasing violations.
4210
4211 * include/grub/list.h (grub_list_push): Move to ...
4212 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4213 * include/grub/list.h (grub_list_remove): Move to ...
4214 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4215
9d369087
VS
42162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4219 and -Wunused-result.
4220
af0250d9
VS
42212012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4224 Reported by: Seth Goldberg
4225
aad32b14
VS
42262012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4229
ac96441c
ST
42302012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4231
4232 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4233 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4234 command line.
4235 * docs/grub.texi (Simple configuration): Document
4236 GRUB_CMDLINE_GNUMACH.
4237
42382012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
4239
4240 * conf/Makefile.common (platform_SCRIPTS): New variable.
4241 (platform_PROGRAMS): Likewise.
4242 * gentpl.py: Mark *,module and *.image for install.
4243 * grub-core/gdb_grub.in: Add a notice of expected environment.
4244 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4245 (gmodule.pl): Likewise.
4246
ac96441c 42472012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
4248
4249 Replace grub_checkkey with grub_getkey_noblock.
4250
4251 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4252 (grub_getkey_noblock): ... this. All users updated.
4253
ac96441c 42542012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
4255
4256 * grub-core/kern/emu/console.c: Move to ...
4257 * grub-core/term/emu/console.c: ...here.
4258 (grub_ncurses_getkey): Fix return value if no key is detected.
4259
e51b5666
VS
42602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4263 (grub_unit_test_fini): Likewise.
4264 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4265
42662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * include/grub/test.h (GRUB_UNIT_TEST)
4269
d9a62292
VS
42702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4273 Better error handling.
4274 (grub_script_return): Likewise.
4275 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4276
77c9182f
VS
42772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4280 rimplicit redifinition.
4281
edb13cf9
VS
42822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4285 GRUB.
4286
a9e9dc7c
VS
42872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4290 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4291 prompt here.
4292
b4ba8e02
VS
42932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4296 as GRUB_ERR_BUG. Don't malloc if no device is available.
4297
dded5540
VS
42982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4301 Mark calling with invalid term as GRUB_ERR_BUG.
4302
0cf69874
VS
43032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4306 packets rather than raising an error.
4307
59bfe502
VS
43082012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4311 in if.
4312
db5fc596
VS
43132012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4316 diagnostic to dprintf.
4317 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4318
e4b7f404
VS
43192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4322 device name.
4323
e7b02f9e
VS
43242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4327 (grub_ntfs_iterate_dir): Likewise.
4328
0331e102
VS
43292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 Efiemu stylistic fixes and gettext.
4332
4333 * grub-core/efiemu/i386/loadcore32.c
4334 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4335 * grub-core/efiemu/i386/loadcore64.c
4336 (grub_arch_efiemu_relocate_symbols64): Likewise.
4337 * grub-core/efiemu/i386/pc/cfgtables.c
4338 (grub_machine_efiemu_init_tables): Likewise.
4339 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4340 (grub_efiemu_loadcore_initXX): Add a filename argument.
4341 All users updated.
4342 Improved error message.
4343 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4344 Add a filename argument.
4345 All users updated.
4346 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4347 Reclassify double relocation as GRUB_ERR_BUG.
4348
306fc074
VS
43492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4352 handling.
4353
794d8ef2
VS
43542012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4357 on partition.
4358
43592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
4360
4361 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4362
794d8ef2 43632012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
4364
4365 Improve string. Gettextize.
4366
78dde88e
VS
43672012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4370 utils.
4371 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4372
4786a90f
VS
43732012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4376 [GRUB_UTIL]: New function.
4377 (insert_array) [GRUB_UTIL]: Store partmaps.
4378 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4379 partmaps.
4380 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4381 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4382 (probe_abstraction): Print diskfilter and not raid.
4383 Reported by: Lennart Sorensen
4384
0b6225bd
VS
43852012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4388 * util/grub-mkimagexx.c (MASK3): New define.
4389 (add_value_to_slot_20b): Use MASK3.
4390 (add_value_to_slot_21): Likewise.
4391 (relocate_addresses): Fix format specification.
4392 (load_image): Explicitly init symtab_section.
4393
b055f8f6
VS
43942012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4397 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4398
b77c2fb7
VS
43992012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4402 on powerpc.
4403 Reported by: Lennart Sorensen
4404
e3ec28ab
VS
44052012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * gentpl.py: Add missing license header.
4408 * docs/grub.texi: Update copyright year.
4409
c8d9ead6
GS
44102012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4411
4412 Source grub-mkconfig_lib from the build directory at build time.
4413 Suggested by: Vladimir Serbinenko.
4414
4415 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4416 * util/grub-install.in: Define pkgdatadir if not already set, and source
4417 grub-mkconfig_lib from there.
4418 * util/grub-kbdcomp.in: Likewise.
4419 * util/grub-mkconfig.in: Likewise.
4420 * util/grub-mknetdir.in: Likewise.
4421 * util/grub-mkrescue.in: Likewise.
4422 * util/grub-mkstandalone.in: Likewise.
4423 * util/grub-reboot.in: Likewise.
4424 * util/grub-set-default.in: Likewise.
4425 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4426
ebcecdf1
VS
44272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 Increase warning level.
4430
4431 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4432 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4433 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4434 (TARGET_CFLAGS): Likewise.
4435 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4436 * grub-core/Makefile.core.def (decompressor_xz): Add
4437 -Wno-unreachable-code.
4438 (normal): Add -Wno-redundant-decls.
4439 (xzio): Add -Wno-unreachable-code.
4440 (lzopio): Add -Wno-redundant-decls -Wno-error.
4441 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4442 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4443 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4444 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4445 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4446 * grub-core/kern/i386/coreboot/init.c: Add exception to
4447 -Wsuggest-attribute=noreturn.
4448 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4449 * grub-core/kern/ia64/dl_helper.c: Likewise.
4450 * grub-core/kern/mips/dl.c: Likewise.
4451 * grub-core/kern/sparc64/dl.c: Likewise.
4452 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4453 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4454 (memcmp): Likewise.
4455 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4456 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4457 * grub-core/loader/mips/linux.c: Likewise.
4458 * grub-core/loader/multiboot_elfxx.c: Likewise.
4459 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4460 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4461 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4462 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4463 fixme.
4464 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4465 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4466 Fix prototype.
4467
37bb97fe
VS
44682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4471 address.
4472
29a3550b
VS
44732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4476 Avoid improper use of strings.
4477 (grub_cmd_legacy_initrdnounzip): Likewise.
4478
dfdffd0d
VS
44792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4480
4481 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4482 attribute.
4483 (grub_util_info): Likewise.
4484 (grub_util_error): Likewise.
4485
102fae4a
VS
44862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4489 * util/grub-fstest.c (fstest): Likewise.
4490
7e94d044
VS
44912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4494 (grub_md_sha512_real): Likewise.
4495 (grub_util_get_geli_uuid): Likewise.
4496 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4497 (grub_util_biosdisk_open): Fix format specification.
4498 Respect format security.
4499 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4500 (xrealloc): Likewise.
4501 (xasprintf): Likewise.
4502
5ebd9769
VS
45032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * util/import_gcry.py: Include grub/crypto.h in init.c.
4506
495fc8c1
VS
45072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4510 (generate_image): Make prefix a const char *.
4511 Fix format specifications. Respect format security.
4512 Avoid void * arithmetics.
4513 Avoid shadowing.
4514 (argp_parser): Remove unused variable. Respect format security.
4515 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4516 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4517 (count_funcs): Remove unused variable.
4518 (relocate_addresses): Fix format specification.
4519 Disable x86-64 with elf32. Remove unused variables.
4520 (add_fixup_entry): Avoid shadowing.
4521 (make_reloc_section): Fix format specification.
4522 Use assert.
4523 (locate_sections): Fix format specifications.
4524 (load_image): Avoid shadowing.
4525
043c2ea3
VS
45262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4527
4528 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4529 Fix format specifications. Respect format security.
4530 Don't translate already translated grub_errmsg.
4531 (argp_parser): Remove unused variable
4532
3ec65a81
VS
45332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4536
a4d9fe4a
VS
45372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4540 (main): Likewise. Use xmalloc. Respect format security.
4541
15b81d49
VS
45422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4545 a const char *.
4546 (argp_parser): Remove unused variable.
4547
31731fc0
VS
45482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4551 (add_pixel): Make static.
4552 (add_font): Likewise.
4553 (write_string_section): Make name and str a const char *.
4554 (write_be16_section): Make name a const char *.
4555 (print_glyphs): Make static.
4556 (write_font_ascii_bitmap): Likewise.
4557 (write_font_width_spec): Likewise.
4558 (write_font_pf2): Likewise.
4559 (argp_parser): Remove unused variable.
4560 Respect format security.
4561 (main): Avoid shadowing. Respect format security.
4562
0809527b
VS
45632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * util/grub-editenv.c (argp_parser): Make static.
4566 (create_envblk_file): Use xmalloc.
4567 (open_envblk_file): Likewise.
4568 Resepect format security.
4569 (set_variables): Respect format security.
4570
45b0c8b7
VS
45712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 * util/getroot.c (grub_find_device): Respect format security.
4574 (get_mdadm_uuid): Remove unused variable.
4575 (grub_util_pull_device): Dont call gettext on already translated
4576 grub_errmsg.
4577 (find_system_device): Remove unused variable.
4578 (grub_util_get_grub_dev): Likewise.
4579 (grub_make_system_path_relative_to_its_root): Respect format security.
4580
1b024b4e
VS
45812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * util/grub-fstest.c (execute_command): Make first argument
4584 a const char *.
4585 (read_file): Avoid shadowing.
4586 Reuse underlying error message if device open fails.
4587 (cmd_cmp): Respect format security.
4588 (root): Make const char *.
4589 (fstest): Remove args argument and use global copy.
4590 Respect format security.
4591 (argp_parser): Make static.
4592 (main): Make default_root const char *.
4593
5d1d4e28
VS
45942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4595
4596 * util/grub-mount.c (root): Make const char *.
4597 (execute_command): Make first argument a const char *.
4598 (fuse_init): Respect format security.
4599 (argp_parser): Make static. Remove unused variable.
4600 (main): Make default_root a const char *.
4601 Respect format security.
4602
36eb7379
VS
46032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * util/grub-probe.c (probe): Don't call gettext on already translated
4606 grub_errmsg.
4607 Remove unused variables.
4608 (argp_parser): Remove unused variable.
4609
76fb2ea9
VS
46102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * util/grub-script-check.c (argp_parser): Remove unused variable.
4613 (main): Rename read to curread to avoid shadowing.
4614
56c98584
VS
46152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * util/misc.c (grub_util_write_image_at): Fix format specification.
4618 (grub_util_write_image): Likewise.
4619 (grub_script_execute_argument_to_string): Removed (unused).
4620 (grub_script_execute_menuentry): Likewise.
4621 (grub_putchar): Likewise.
4622
164ebb48
VS
46232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
4626 (FUNCTION) [GRUB_UTIL]: Likewise.
4627 (VARIABLE) [GRUB_UTIL]: Likewise.
4628
44318d61
VS
46292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
4632 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
4633
31a26002
VS
46342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
4637 buffer.
4638
46392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
4642 (LzmaEnc_SaveState): Removed (unused).
4643 (LzmaEnc_RestoreState): Likewise.
4644 (LzmaEnc_InitPriceTables): Made static.
4645 (LzmaEnc_Construct): Likewise.
4646 (LzmaEnc_FreeLits): Likewise.
4647 (LzmaEnc_Destruct): Likewise.
4648 (LzmaEnc_Init): Likewise.
4649 (LzmaEnc_InitPrices): Likewise.
4650 (LzmaEnc_Finish): Likewise.
4651 (LzmaEnc_PrepareForLzma2): Removed (unused).
4652 (LzmaEnc_MemPrepare): Likewise.
4653 (LzmaEnc_GetNumAvailableBytes): Likewise.
4654 (LzmaEnc_GetCurBuf): Likewise.
4655 (LzmaEnc_CodeOneMemBlock): Likewise.
4656
6fa67967
VS
46572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
4660 (grub_util_ldm_embed): Likewise.
4661
9a7428e6
VS
46622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 * util/grub-editenv.c (print_var): Rename name to varname to
4665 avoid shadowing.
4666 (main): Rename index to curindex to avoid shadowing.
31a26002 4667 Make filename a const char *.
9a7428e6 4668
4f96abd1
VS
46692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4672 to arg_getline to avoid shadowing.
4673
44d10dad
VS
46742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4675
4676 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
4677 disk_ to avoid shadowing.
4678
340ba63e
VS
46792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
4682 curindex to avoid shadowing.
4683 Make static.
4684 (MatchFinder_GetNumAvailableBytes): Make static.
4685
22965bce
VS
46862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
4689 avoid shadowing.
4690
7b5784d4
VS
46912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
4694 argument from encrypt to do_encrypt to avoid shadowing.
4695
6f48ca01
VS
46962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
4699 incorrect nesting of #if's.
4700
a4ea2dff
VS
47012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
4704 checks which are always false on some platforms.
4705 (grub_cmd_lsacpi): Likewise.
4706 * grub-core/kern/misc.c (grub_strtoul): Likewise.
4707 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
4708 Likewise.
4709
def9fc1b
VS
47102012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
4713 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
4714
a67b2a04
VS
47152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
4718 re_dfa_t to avoid breaking alignment invariants.
4719 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
4720 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
4721
44c6828d
VS
47222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4723
4724 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
4725 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
4726
bebe0dd0
VS
47272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
4730 Fix declaration.
4731
a9cdb3cf
VS
47322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
4735 conserve alignment invariants.
4736 (grub_ehci_ehcc_read16): Likewise.
4737 (grub_ehci_oper_read32): Likewise.
4738 (grub_ehci_oper_write32): Likewise.
4739 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4740 Conserve alignment invariants.
4741
ccc3b1b8
VS
47422012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4743
4744 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
4745 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
4746 declarations.
4747
987fbd95
VS
47482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
4751 Remove unused variable.
4752
0df363f3
VS
47532012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
4756 Remove set in if.
4757
b2c0c4a6
VS
47582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * include/grub/net.h: Remove double declarations.
4761
690c531f
VS
47622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 Remove "payload" command in ia64 Linux loader since I couldn't
4765 find any evidence of it being used for anything.
4766 Replace "relocate" command with an environment variable
4767
4768 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
4769 fields.
4770 (ia64_boot_payload): Removed.
4771 (last_payload): Likewise.
4772 (RELOCATE_OFF): Likewise.
4773 (RELOCATE_ON): Likewise.
4774 (RELOCATE_FORCE): Likewise.
4775 (relocate): Likewise.
4776 (free_pages): Don't free payloads.
4777 (grub_load_elf64): Use common error messages.
4778 Use "linux_relocate" variable.
4779 Increase the space after boot_params.
4780 (grub_cmd_payload): Removed.
4781 (grub_cmd_relocate): Likewise.
4782 (grub_cmd_fpswa): Improve messages.
4783 (cmd_payload): Removed.
4784 (cmd_relocate): Likewise.
4785 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
4786 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
4787
01783768
VS
47882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 Convert UHCI to DMA framework.
4791
4792 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
4793 (grub_uhci_pci_iter): Fill new members
4794 (grub_alloc_td): Use P2V and V2P functions.
4795 (grub_free_queue): Likewise.
4796 (grub_alloc_qh): Likewise.
4797 (grub_uhci_setup_transfer): Likewise.
4798 (grub_uhci_check_transfer): Likewise.
4799
43206939
VS
48002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
4803 Remove assignment in if while on it.
4804
571e140e
VS
48052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * util/grub-mkstandalone.in: Fix modules directory.
4808
a9d96eeb
VS
48092012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
4812 on i386-pc target.
4813 (argp_parser): Accept "auto" as compression specification.
4814
e4e37e8d
VS
48152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 Fix `help' with unloaded modules.
4818
4819 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
4820 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
4821 (grub_dyncmd_dispatcher): Small stylistic fix.
4822 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
4823 explicit help is requested.
4824
e1ea3ade
VS
48252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
4828 Explicitly init restart while on it.
4829
27556881
VS
48302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
4833 uninited variable.
4834
d65f6b36
VS
48352012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 * util/grub-mknetdir.in: Use . rather than source for POSIX
4838 compatibility.
4839
0a1e473c
VS
48402012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
4843
ce6647c8
VS
48442012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4845
4846 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
4847 variable.
4848
66747894
VS
48492012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
4852 without quotes.
4853
71645f6e
VS
48542012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
4857
0e1c1f61
VS
48582012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
4861 iteration of partitions.
4862
9c4b5c13
VS
48632012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 Improve gettext support. Stylistic fixes and error handling fixes while
4866 on it.
4867
215c90cb
VS
48682012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
4871 part. Instead setup the correct stack in RM.
4872 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
4873 for stack.
4874 * include/grub/i386/relocator_private.h: New file.
4875
b5c1f9bf
VS
48762012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
4879 argument.
4880 * util/grub-fstest.c (options): Add missing DEVICE part.
4881
b525fd83
VS
48822012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 Clarify and unify messages.
4885
4886 * grub-core/commands/hashsum.c (options): Unify messages.
4887 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
4888 literal-only message as translatable.
4889 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
4890 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
4891 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
4892 commands.
4893 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
4894 key, not the key used to unlock. Clarify what it's used for.
4895 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
4896 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
4897 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
4898 * util/grub-editenv.c (options): Unify "verbose" message.
4899 * util/grub-fstest.c (read_file): Unify error message.
4900 (fstest): Add quotes around commands.
4901 (options): Unify "verbose" message.
4902 * util/grub-install.in: Add quotes around variable name.
4903 * util/grub-kbdcomp.in: Unify error message.
4904 * util/grub-mkfont.c (main): Likewise.
4905 * util/grub-mkrescue.in: Likewise.
4906 * util/grub-mklayout.c (options): Unify "verbose" message.
4907 * util/grub-mkstandalone.in: Unify help and verbose messages.
4908 * util/grub-mount.c (options): Unify "verbose" message.
4909 * util/grub-probe.c (options): Likewise.
4910 * util/grub-script-check.c (options): Likewise.
4911 * util/grub-setup.c (setup): Unify no-terminator message.
4912 (options): Use DEVICE and not DEV.
4913 Unify "verbose" message.
4914 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
4915
0ae70393
VS
49162012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 Improve and unify messages.
4919
4920 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
4921 name. All users updated.
4922 Print filename in error.
4923 (read_device_map): Print filename in error.
4924 * util/getroot.c (grub_guess_root_devices): Print filename in error.
4925 (grub_util_get_os_disk): Likewise.
4926 (grub_util_biosdisk_get_grub_dev): Likewise.
4927 (grub_util_check_block_device): Likewise.
4928 (grub_util_check_char_device): Likewise.
4929 (grub_make_system_path_relative_to_its_root): Likewise.
4930 * util/grub-editenv.c (create_envblk_file): Likewise.
4931 (open_envblk_file): Likewise.
4932 (write_envblk): Likewise.
4933 * util/grub-fstest.c (cmd_cp): Likewise.
4934 (cmd_cat): Likewise.
4935 (cmd_cmp): Likewise.
4936 * util/grub-menulst2cfg.c (main): Likewise.
4937 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
4938 (write_font_width_spec): Likewise.
4939 (write_font_pf2): Likewise.
4940 * util/grub-mkimage.c (generate_image): New argument outname.
4941 All users updated.
4942 Remove unreacheable message.
4943 (options): Unify messages.
4944 (help_filter): Likewise.
4945 * util/grub-mklayout.c (usage): Removed (unused).
4946 (main): Print filename in error.
4947 * util/grub-mkrescue.in: Fix wrong quoting.
4948 * util/grub-setup.c (setup): Print filename in error.
4949 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
4950 (check_sas): Likewise.
4951 * util/misc.c (grub_util_get_fp_size): Removed.
4952 (grub_util_get_image_size): Print filename in error.
4953 (grub_util_read_at): Removed.
4954 (grub_util_read_image): Print filename in error.
4955 (grub_util_load_image): Likewise.
4956 (grub_util_write_image_at): New argument filename. All users updated.
4957 Print filename in error.
4958 (grub_util_write_image): New argument filename. All users updated.
4959 Print filename in error.
4960 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
4961 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
4962
0a96117d
VS
49632012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/Makefile.core.def (pxechain): New module.
4966 * grub-core/loader/i386/pc/pxechainloader.c: New file.
4967 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
4968 function.
4969 (grub_pc_net_config_real): Use grub_pxe_get_cached.
4970 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
4971
aca002f7
VS
49722012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
4975 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
4976 * include/grub/err.h (grub_error_saved): New struct.
4977 (grub_errmsg): Make array size explicit.
4978 * include/grub/misc.h (grub_error_save): New function.
4979 (grub_error_load): Likewise.
4980 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
4981 (grub_error_push): Update `errno' member name.
4982 (grub_error_pop): Likewise
4983 * grub-core/net/tftp.c (tftp_data): New member save_err.
4984 (tftp_receive): Save error.
4985 (tftp_open): Restore error.
4986
a51dab13
VS
49872012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
4990 to real mode down to execute A20-related code in protected mode as
4991 intended.
4992
eb6e6649
GS
49932012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4994
4995 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
4996 NULL when the argument `level' has an unexpected value.
4997
92cd0f6e
VS
49982012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 Move platform-dependent files from $prefix to $prefix/$platform.
5001
5002 * config.h.in (GRUB_TARGET_CPU): New definition.
5003 (GRUB_PLATFORM): Likewise.
5004 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5005 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5006 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5007 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5008 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5009 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5010 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5011 * grub-core/normal/term.c (read_terminal_list): Likewise.
5012 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5013 $prefix/locale.
5014 (grub_gettext_init_ext): Likewise.
5015 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5016 grub_platform.
5017 * util/grub-install.in: Update directories.
5018 * util/grub-mknetdir.in: Likewise.
5019 * util/grub-mkrescue.in: Likewise.
5020
db606889
VS
50212012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5024 grub_error framework. All users updated.
5025
c39992a4
VS
50262012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5029 lists (by always binsearching), improve caching (cache strings
5030 used for binsearch, not only results), improve
5031 maintainability (by using more structured binary search) and correct
5032 error handling.
5033
1e5ec32f
VS
50342012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * grub-core/script/execute.c (grub_script_return): Fix warning.
5037
ac576cde
VS
50382012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * grub-core/script/execute.c (grub_script_return): Fix potential
5041 NULL-dereference.
5042 Reported by: Jim Meyering.
5043
498453f6
VS
50442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * po/POTFILES.in: Regenerate.
5047 * util/grub-install.in: Gettextize the strings missed in first pass.
5048
8be63f2e
VS
50492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * Makefile.util.def (grub-mkdevicemap): Removed.
5052 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5053 * include/grub/util/deviceiter.h: Removed.
5054 * util/deviceiter.c: Likewise.
5055 * util/getroot.c (grub_util_get_os_disk): New function.
5056 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5057 replacement for EFI.
5058 * util/grub-mkdevicemap.c: Removed.
5059 * util/grub-probe.c (probe): Handle PRINT_DISK.
5060 (argp_parser): Handle -t disk.
5061
8e1e4e39
VS
50622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * util/grub-mkfont.c: Migrate to argp.
5065 * util/grub-mklayout.c: Likewise.
5066 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5067 * util/grub-mkrelpath.c: Likewise.
5068 * util/grub-probe.c: Likewise.
5069 * util/grub-script-check.c: Likewise.
5070
4459819a
VS
50712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * util/grub-reboot.in: Add missing datarootdir.
5074 Add missing newline.
5075 * util/grub-set-default.in: Add missing datarootdir.
5076 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5077 * util/grub-mkrescue.in: Likewise.
5078
f65741c7
VS
50792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5082
c1a33466
VS
50832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * util/grub-kbdcomp.in: Add decent help and gettextize.
5086 * docs/man/grub-kbdcomp.h2m: New file.
5087
c76899a0
VS
50882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 Migrate grub-mkimage.c to argp.
5091
5092 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5093 (grub-setup): Likewise.
5094 * util/grub-setup.c (print_version): Move to ...
5095 * util/argp_common.c (print_version): ... here.
5096 * util/grub-setup.c (argp_program_version_hook): Move to ...
5097 * util/argp_common.c (argp_program_version_hook): ... here.
5098 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5099 safety.
5100 * util/grub-mkimage.c (main): Migrate to argp.
5101
57db0757
VS
51022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * util/grub-mkrescue.in: Use same message as
5105 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5106 for better translations.
5107
18534ad9
VS
51082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5111 options with generic grub-mkrescue.in with the goal of future
5112 merge.
5113
c84ba308
VS
51142012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 * grub-core/kern/mm.c: Add missing include of i18n.h
5117 * grub-core/lib/relocator.c: Likewise.
5118
347998c2
VS
51192012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5122 error.
5123 (allocate_pages): Check return value.
5124 Replace fatal with error.
5125 (grub_linux_boot): Replace printf with dprintf.
5126 Check find_mmap_size return value.
5127 Replace fatal with error.
5128 Don't call grub_machine_fini.
5129 (grub_load_elf64): Replace printf with dprintf.
5130 (grub_cmd_linux): Likewise.
5131 (grub_cmd_initrd): Likewise.
5132 (grub_cmd_payload): Likewise.
5133
c779226e
VS
51342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5137 message.
5138 * grub-core/video/radeon_fuloong2e.c
5139 (grub_video_radeon_fuloong2e_setup): Likewise.
5140 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5141 * grub-core/video/video.c (grub_video_set_mode): Don't override
5142 standard out of memory message.
5143
dc87d45a
GS
51442012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5145
5146 NetBSD disk wedge support.
5147
5148 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5149 [__NetBSD__]: Handle NetBSD disk wedges.
5150 * util/getroot.c (convert_system_partition_to_system_disk)
5151 [__NetBSD__]: Likewise.
5152
055f856f
MW
51532012-02-03 Mark Wooding <mdw@distorted.org.uk>
5154
5155 * util/grub-mkconfig.in: Use umask rather than chmod to create
5156 grub.cfg.new to avoid insecure grub.cfg.
5157
4a9f8346
VS
51582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/commands/ls.c: Gettextize.
5161 * grub-core/commands/setpci.c: Likewise.
5162 * grub-core/commands/videotest.c: Likewise.
5163 * grub-core/disk/geli.c: Likewise.
5164 * grub-core/kern/mm.c: Likewise.
5165 * grub-core/lib/relocator.c: Likewise.
5166 * grub-core/loader/efi/appleloader.c: Likewise.
5167 * grub-core/loader/i386/xnu.c: Likewise.
5168 * grub-core/loader/ia64/efi/linux.c: Likewise.
5169 * grub-core/loader/xnu.c: Likewise.
5170 * grub-core/net/dns.c: Likewise.
5171 * grub-core/net/net.c: Likewise.
5172 * grub-core/script/lexer.c: Likewise.
5173 * grub-core/script/parser.y: Likewise.
5174 * grub-core/script/yylex.l: Likewise.
5175 * util/getroot.c: Likewise.
5176 * util/grub-setup.c: Likewise.
5177
a646a366
VS
51782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5181 number.
5182
54e2be26
VS
51832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5186
f7c71e68
VS
51872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5190 macro.
5191 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5192 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5193
a32d5c71
VS
51942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5197 * util/grub-install.in: Gettextize.
5198 * util/grub-mkconfig.in: Likewise.
5199 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5200 if not available.
5201 (grub_warn): Gettextize.
5202 * util/grub-mknetdir.in: Gettextize.
5203 * util/grub-mkrescue.in: Likewise.
5204 * util/grub-mkstandalone.in: Likewise.
5205 * util/grub-reboot.in: Likewise.
5206 * util/grub-set-default.in: Likewise.
5207 * util/grub.d/00_header.in: Likewise.
5208 * util/grub.d/10_hurd.in: Likewise.
5209 * util/grub.d/10_kfreebsd.in: Likewise.
5210 * util/grub.d/10_linux.in: Likewise.
5211 * util/grub.d/10_netbsd.in: Likewise.
5212 * util/grub.d/10_windows.in: Likewise.
5213 * util/grub.d/20_linux_xen.in: Likewise.
5214 * util/grub.d/30_os-prober.in: Likewise.
5215 * po/POTFILES-shell.in: Regenerate.
5216
69edd81a
RL
52172012-02-03 Richard Laager <rlaager@wiktel.com>
5218
5219 * util/grub-mkimage.c (main): Fix format-security warning.
5220 * util/grub-mkrelpath.c (main): Likewise.
5221 * util/grub-probe.c (main): Likewise.
5222
65f08dbf
RL
52232012-02-03 Richard Laager <rlaager@wiktel.com>
5224
5225 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5226 failure.
5227 Put back lost PRINT_DRIVE.
5228
e9084abe
RL
52292012-02-03 Richard Laager <rlaager@wiktel.com>
5230
5231 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5232 (grub_guess_root_devices): Replace strlen with sizeof.
5233 Avoid crash.
5234 (find_root_devices_from_poolname): Remove unused variable.
5235 Handle raidzN.
5236
cf5f7ee7
VS
52372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 Support install on multi-device filesystems.
5240
5241 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5242 (grub_guess_root_devices): ...this. Return char **. All users updated.
5243 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5244 Removed.
5245 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5246 (find_root_devices_from_poolname): ... here.
5247 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5248 Support zfs-fuse.
5249 (grub_guess_root_device): Rename to ...
5250 (grub_guess_root_devices): ... this. Return char **. All users updated.
5251 * util/grub-install.in: Handle multi-device filesystems.
5252 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5253 argument. All users updated.
5254 Handle multi-device filesystems.
5255 Use 'delim' as separator.
5256 Remove device check to allow filesystems on file.
5257 (main): Support -0 argument. Handle multi-device.
5258 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5259 Fix a cross-device check while on it.
5260 (arguments): Remove root_dev.
5261 (argp_parser): Remove -r.
5262 (main): Remove root_dev.
5263
2f53a9ed
VS
52642012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5267
17e1d934
VS
52682012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5271 symbol.
5272 Reported by: NODA, Kai <nodakai>.
5273
d3e3fab5
VS
52742012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 Fix ehci on amd64.
5277
5278 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5279 pointers.
5280 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5281 (grub_ehci_setup_qh): Likewise.
5282 (grub_ehci_find_qh): Likewise.
5283 (grub_ehci_transaction): Likewise.
5284 (grub_ehci_setup_transfer): Likewise.
5285 (grub_ehci_check_transfer): Likewise.
5286 (grub_ehci_portstatus): Likewise.
5287 (grub_ehci_detect_dev): Likewise.
5288 (grub_ehci_transfer_controller_data): New field td_last_phys.
5289 (grub_ehci_setup_transfer): Fill td_last_phys.
5290 (grub_ehci_check_transfer): Use td_last_phys.
5291
3008675b
SG
52922012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5293
5294 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5295 if no submenu is present.
5296
fc9b5652
AN
52972012-02-01 Aleš Nesrsta <starous@volny.cz>
5298
5299 CBI support.
5300
5301 * include/grub/usb.h (grub_usbms_protocol_t): New values
5302 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5303 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5304 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5305 (grub_usbms_dev): Add subclass, protocol and intrpt.
5306 Remove in_maxsz and out_maxsz.
5307 (grub_usbms_reset): Rename to ...
5308 (grub_usbms_bo_reset): .. this.
5309 (grub_usbms_cbi_cmd): New function.
5310 (grub_usbms_cbi_reset): Likewise.
5311 (grub_usbms_reset): Likewise.
5312 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5313 (grub_usbms_transfer): Rename to ...
5314 (grub_usbms_transfer_bo): ... this.
5315 (grub_usbms_transfer_cbi): Likewise.
5316 (grub_usbms_transfer): Likewise.
5317
a2b81d53
AN
53182012-02-01 Aleš Nesrsta <starous@volny.cz>
53192012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5322 the support for the CS5536 modification thereos and few bugfixes.
5323
5324 * grub-core/Makefile.core.def (ehci): New module.
5325 * grub-core/bus/usb/ehci.c: New file.
5326 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5327 port and hubaddr. All users updated.
5328 Save port and hubaddr into dev structure.
5329 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5330 define.
5331 * include/grub/pci.h (grub_dma_phys2virt): New function.
5332 (grub_dma_virt2phys): Likewise.
5333 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5334
b1d51f02
VS
53352012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5338 check as some mkfs implementations omit it.
5339
fc694106
VS
53402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5343
6c0920e3
VS
53442012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5347 Add new member volname2.
5348 (grub_jfs_label): Use volname2 if available.
5349
d1a46f9a
VS
53502012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5353 over last_mounted as seen in image generated by mkfs.nilfs2.
5354 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5355
dec8ed14
VS
53562012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5359 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5360 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5361
7397c69b
VS
53622012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5365 over the sector.
5366
b3fe42ad
VS
53672012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5368
5369 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5370 subvolume name (by removing a bogus and useless check).
5371
10476bb0
VS
53722012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5375 sizeof while on it.
5376
9c08ad87
VS
53772012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5380 (grub_scsi_read_capacity10): ... this.
5381 (grub_scsi_read_capacity16): New function.
5382 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5383 0xffffffff.
5384 Fix off-by-one error.
5385 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5386 64-bit unsigned.
5387 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5388 (grub_scsi_read_capacity10): ... this.
5389 (grub_scsi_read_capacity_data): Rename to ...
5390 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5391 (grub_scsi_read_capacity16): New struct.
5392 (grub_scsi_read_capacity16_data): Likewise.
5393 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5394 grub_scsi_cmd_read_capacity10.
5395 New command grub_scsi_cmd_read_capacity16.
5396
bc8d0f45
VS
53972012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 SCSI >2TiB support.
5400
5401 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5402 (grub_scsi_write16): Likewise.
5403 (grub_scsi_read): Use read16 when necessary.
5404 (grub_scsi_write): Likewise.
5405 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5406 (grub_scsi_write16): Likewise.
5407 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5408
cc774926
VS
54092012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 SCSI write support (for usbms mainly).
5412
5413 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5414 a const pointer.
5415 (grub_scsi_write): Implement.
5416 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5417
67639fd7
VS
54182012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5421 variable.
5422
9079d3ed
VS
54232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5426
c6a6f204
VS
54272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5428
5429 * po/POTFILES.in: Regenerate.
5430
ecbf8cd1
VS
54312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5434 with grub_printf to avoid unnecessary fatal failure.
5435
0b3b3b38
VS
54362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5437
5438 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5439 (INT_MAX): Likewise.
5440 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5441 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5442 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5443 (strcpy): Likewise.
5444 (strstr): Likewise.
5445 (strchr): Likewise.
5446 (strncpy): Likewise.
5447 (strcat): Likewise.
5448 (strncat): Likewise.
5449 (strcoll): Likewise.
5450 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5451 (GRUB_INT_MAX): Likewise.
5452
db7337a3
VS
54532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5456 unexpected error.
5457 (optimize_utf8): Likewise.
5458 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5459
f37c87e1
VS
54602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5461
5462 * grub-core/boot/i386/pc/lnxboot.S: Use
5463 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5464 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5465 location.
5466 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5467 definition.
5468 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5469
63fe43f3
VS
54702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5473 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5474 now to avoid double free.
5475 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5476 hostdisk.
5477 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5478 * util/grub-probe.c (escape_of_path): Always return a new copy.
5479 (print_full_name): Escape path.
5480 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5481 Fix hints on abstractions.
5482
ebe2c961
VS
54832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5486 Don't add "root" line if no compatibility hont is available.
5487 Suggested by: Seth Goldberg.
5488
2b5336a2
VS
54892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5492 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5493 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5494 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5495
74310bd8
VS
54962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5497
5498 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5499
c30582ba
VS
55002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * util/grub-pe2elf.c (ehdr): Make static.
5503 (shdr): Likewise.
5504 (num_sections): Likewise.
5505 (offset): Likewise.
5506
5f47782c
VS
55072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 Eliminate ofpath limits and possible overflows.
5510
5511 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5512 (OF_PATH_MAX): Removed.
5513 (MAX_DISK_CAT): New const.
5514 (find_obppath): Use allocated rather than preallocated buffer.
5515 Return result. Argument of_path removed. All users updated.
5516 Add missing fdstat.
5517 (xrealpath): New function.
5518 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5519 Allocate rather than use preallocated buffer. All users updated.
5520 (__of_path_common): Use allocated rather than preallocatecd buffer.
5521 Return result. Argument of_path removed. All users updated.
5522 (vendor_is_ATA): Read only needed part form the file.
5523 (check_sas): Allocate depending on contents rather than fixed.
5524 (main) [STANDALONE]: Handle NULL result.
5525
f990cbf9
VS
55262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5529
9c6e84b8
VS
55302012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 Cryptodisk write support.
5533
5534 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5535 (grub_cryptodisk_decrypt): Moved logic to ...
5536 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5537 (grub_cryptodisk_write): Implement.
5538 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5539 (grub_util_fd_write): ... this. Make global.
5540 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5541
87cf9744
VS
55422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 * include/grub/list.h (grub_list_remove): Don't crash if element is
5545 removed twice.
5546
ca8c0baf
VS
55472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 Rename ofconsole to console.
5550
5551 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
5552 as sysnonym to console.
5553 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
5554 * grub-core/term/ieee1275/console.c: ... this. All users updated.
5555 Rename grub_ofconsole_ to grub_console_. All users updated
5556 (grub_console_term_output): Rename "ofconsole" to "console".
5557 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
5558 as "console".
5559
64c8b8f6
VS
55602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
5563 handling.
5564 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
5565 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
5566 GRUB_DISK_DEVICE_FILE_ID.
5567
f6c434d5
VS
55682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
5571 and improve performance.
5572
5858b42d
VS
55732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5574
5575 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
5576 missing ieee1275/ prefix on whole disk.
5577
4ed3c26b
VS
55782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
5581 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
5582
df71143e
VS
55832012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
5586
076e7c0f
VS
55872012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 Merge common RAID and LVM logic to an abstract diskfilter.
5590 Add LDM support using the same framework.
5591
5592 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
5593 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
5594 (libgrubmods): Remove grub-core/disk/raid.c and
5595 grub-core/partmap/gpt.c.
5596 * grub-core/Makefile.core.def (ldm): New module.
5597 (raid): Renamed to diskfilter. All users updated.
5598 * grub-core/disk/raid.c: Moved to ...
5599 * grub-core/disk/diskfilter.c: ... here.
5600 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
5601 (lv_num): New var.
5602 (find_array): Renamed to ...
5603 (find_lv): ... this. Support multi-LV. Skip nameless LVs
5604 (grub_is_array_readable): Renamed to ...
5605 (grub_is_lv_readable): ... this. Support multinode hierarchy.
5606 (insert_array): New argument id.
5607 (is_node_readable): New function.
5608 (scan_device): Rename to ...
5609 (scan_disk): .. this. Restrict to one disk.
5610 (scan_devices): New function.
5611 (grub_diskfilter_iterate): Support multi-LV.
5612 Skip invisible and nameless LVs.
5613 (grub_diskfilter_memberlist): Support multi-LV.
5614 (grub_diskfilter_read_node): New function.
5615 (grub_raid_read): Most of logic moved to ...
5616 (read_segment): ... here
5617 (read_lv): New function.
5618 (grub_diskfilter_get_vg_by_uuid): New function.
5619 (grub_diskfilter_make_raid): Likewise.
5620 * grub-core/disk/ldm.c: New file.
5621 * grub-core/disk/lvm.c (vg_list): Removed.
5622 (lv_count): Likewise.
5623 (scan_depth): Likewise.
5624 (is_lv_readable): Likewise.
5625 (grub_lvm_getvalue): Advance pointer past the number.
5626 (find_lv): Removed.
5627 (do_lvm_scan): Refactored into ...
5628 (grub_lvm_detect): ... this. Support raid.
5629 (grub_lvm_iterate): Removed.
5630 (grub_lvm_memberlist): Likewise.
5631 (grub_lvm_open): Likewise.
5632 (grub_lvm_close): Likewise.
5633 (read_lv): Likewise.
5634 (read_node): Likewise.
5635 (is_node_readable): Likewise.
5636 (is_lv_readable): Likewise.
5637 (grub_lvm_read): Likewise.
5638 (grub_lvm_write): Likewise.
5639 (grub_lvm_dev): Use diskfilter
5640 (GRUB_MOD_INIT): Likewise.
5641 (GRUB_MOD_FINI): Likewise.
5642 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
5643 new interface.
5644 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
5645 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5646 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
5647 grub_diskfilter_read_node.
5648 Fix a bug with xor.
5649 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
5650 grub_diskfilter_read_node.
5651 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
5652 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
5653 (grub_disk_dev_iterate): Move from here...
5654 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
5655 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5656 Make global.
5657 (grub_hostdisk_find_partition_start): Likewise.
5658 (grub_hostdisk_os_dev_to_grub_drive): New function.
5659 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
5660 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
5661 * util/getroot.c (make_device_name): ... here.
5662 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5663 Move to ...
5664 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
5665 * grub-core/kern/emu/hostdisk.c
5666 (convert_system_partition_to_system_disk): Move to ...
5667 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
5668 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
5669 * util/getroot.c (device_is_wholedisk): ... here.
5670 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
5671 * util/getroot.c (find_system_device): ... here.
5672 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
5673 Move to ...
5674 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
5675 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5676 Move to ...
5677 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
5678 Handle LDM.
5679 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5680 Move to ...
5681 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
5682 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
5683 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
5684 DISKFILTER.
5685 * include/grub/raid.h: Renamed to ...
5686 * include/grub/diskfilter.h: ... this.
5687 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
5688 (GRUB_RAID_LAYOUT_*): Make into array.
5689 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
5690 (grub_diskfilter_vg): New struct.
5691 (grub_diskfilter_pv_id): Likewise.
5692 (grub_raid_member): Removed.
5693 (grub_raid_array): Likewise.
5694 (grub_diskfilter_pv): New struct.
5695 (grub_diskfilter_lv): Likewise.
5696 (grub_diskfilter_segment): Likewise.
5697 (grub_diskfilter_node): Likewise.
5698 (grub_diskfilter_get_vg_by_uuid): New proto.
5699 (grub_raid_register): Inline.
5700 (grub_diskfilter_unregister): Likewise.
5701 (grub_diskfilter_make_raid): New proto.
5702 (grub_diskfilter_vg_register): Likewise.
5703 (grub_diskfilter_read_node): Likewise.
5704 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
5705 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
5706 (grub_util_is_ldm): Likewise.
5707 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
5708 (grub_hostdisk_find_partition_start): Likewise.
5709 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
5710 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
5711 New definition.
5712 (grub_gpt_partition_map_iterate): New proto.
5713 * include/grub/lvm.h (grub_lvm_vg): Removed.
5714 (grub_lvm_pv): Likewise.
5715 (grub_lvm_lv): Likewise.
5716 (grub_lvm_segment): Likewise.
5717 (grub_lvm_node): Likewise.
5718 * util/getroot.c [...]
5719 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
5720 (probe_abstraction): Likewise.
5721 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
5722 (main): Remove dead logic.
5723
8a7f9b9c
VS
57242012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 Simplify root device discover and don't fail when trying to open
5727 incorrect devices.
5728
5729 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
5730 function.
5731 (get_diskname_from_path): Likewise.
5732 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
5733 of iterating.
5734
30545b85
VS
57352012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
5738
28ea58cf
VS
57392012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
5742 pastthe end.
5743
692dabca
VS
57442012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * util/grub-install.in: Add missing \.
5747 Reported by: gentoofan
5748
f6e4ea70
VS
57492012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
5752 (direct_read): Use correct compressed size.
5753 (grub_squash_read_data): Likewise.
5754
57552012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
5756
5757 * docs/grub.texi (Platform limitations): New section.
5758 (Platform-specific operations): Likewise.
5759 * docs/grub-dev.texi (Porting): Likewise.
5760
76261110
VS
57612012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 IEEE1275 disk write support.
5764
5765 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
5766 const void *.
5767 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
5768 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
5769 and seek loginc to ...
5770 (grub_ofdisk_prepare): ... here.
5771 (grub_ofdisk_write): Implement.
5772
fc36d603
VS
57732012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 ARC disk write support.
5776
5777 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
5778 (reopen): New argument writable. All users updated.
5779 Handle required access mode.
5780 (grub_arcdisk_write): Implement.
5781 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
5782 (grub_arc_firmware_vector): Make buffer to write a const buffer.
5783
e06c2e7a
VS
57842012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
5787 (read_sblock): Don't attempt to read superblocks outside the disk size.
5788
ff447958
VS
57892012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5790
5791 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
5792 first superblock to find the second one when possible.
5793
9e88df39
VS
57942012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 * util/grub-install.in: Fix an ARC bug.
5797 Print a warning if no platform-specific setup is available.
5798
bb26e4ff
VS
57992012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5800
5801 Use static allocation rather than scratch pointer in reed_solomon.
5802 It decreases its size significantly and avoids a variable in .text.
5803
5804 * grub-core/lib/reed_solomon.c (scratch): Removed.
5805 (chosenstat): New const or static array.
5806 (sigma): Likewise.
5807 (errpot): Likewise.
5808 (errpos): Likewise.
5809 (sy): Likewise.
5810 (mstat): Likewise.
5811 (errvals): Likewise.
5812 (eqstat): Likewise.
5813 (pol_evaluate): Replace x with log_x argument. All users updated.
5814 (syndroms): Removed.
5815 (gauss_solve): Use statically allocated arrays.
5816 (rs_recover): Likewise.
5817 Calculate syndroms directly.
5818 (decode_block): Use statically allocated arrays.
5819 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
5820 (main) [TEST]: Allow -DTEST -DSTANDALONE.
5821
2e13ede5
VS
58222012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 Eliminate fixed limit on reed solomon decoder length.
5825
5826 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
5827 rather than hardcoding the address.
5828 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
5829 no_reed_solomon_length.
5830 Move gate_a20 to no-reed-solomon part.
5831 Don't force a particular size of no reed-solomon part.
5832 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5833 Removed.
5834 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
5835 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
5836
f8a9ab12
VS
58372012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * grub-core/commands/wildcard.c (match_files): Handle filenames
5840 without explicit device.
5841 (wildcard_expand): Don't add explicit device if not already present.
5842 * tests/grub_script_echo1.in: Add a new expansion test.
5843
87edb894
VS
58442012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 Replace single-linked with double-linked lists. It results in more
5847 compact and more efficient code.
5848
5849 * grub-core/kern/list.c (grub_list_push): Moved from here ...
5850 * include/grub/list.h (grub_list_push): ... to here. Set prev.
5851 (grub_list_remove): Moved from here ...
5852 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
5853 (grub_prio_list_insert): Set prev.
5854 * include/grub/list.h (grub_list): Add prev. All users updated.
5855
48b391e9
VS
58562012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 Handle newer autotools. Add some missing quotes while on it.
5859
5860 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
5861 (pkglib_DATA): Move grub-mkconfig_lib from here ...
5862 (pkgdata_DATA): ... here.
5863 * Makefile.util.def (update-grub_lib): Removed.
5864 * conf/Makefile.common (pkglib_DATA): Removed.
5865 (pkglib_SCRIPTS): Likewise.
5866 (pkgdata_DATA): New variable.
5867 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
5868 needed.
5869 Add missing quotes.
5870 Remove unused variable while on it.
5871 * tests/util/grub-shell.in: Likewise.
5872 * util/grub-install.in: Likewise.
5873 * util/grub-mkconfig.in: Likewise.
5874 * util/grub-mknetdir.in: Likewise.
5875 * util/grub-mkrescue.in: Likewise.
5876 * util/grub-mkstandalone.in: Likewise.
5877 * util/grub.d/00_header.in: Likewise.
5878 * util/grub.d/10_hurd.in: Likewise.
5879 * util/grub.d/10_illumos.in: Likewise.
5880 * util/grub.d/10_kfreebsd.in: Likewise.
5881 * util/grub.d/10_linux.in: Likewise.
5882 * util/grub.d/10_netbsd.in: Likewise.
5883 * util/grub.d/10_windows.in: Likewise.
5884 * util/grub.d/20_linux_xen.in: Likewise.
5885 * util/grub.d/30_os-prober.in: Likewise.
5886 * util/update-grub_lib.in: Removed.
5887
58882012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
5889
5890 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
5891 a workaround for intel problem.
5892
66832792
PRP
58932012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
58942012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
58952012-01-23 pfsmorigo
5896
5897 * util/grub-install.in: Support dd'in into PreP partition.
5898 * util/grub-probe.c (probe): Support discovering partition type.
5899 (main): Support -t msdos_parttype.
5900
7816a17e
VS
59012012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
5904 infinite recursion using counter.
5905 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
5906 init to skip it if the magic check fails.
5907 (dec_stream_header): Init s->crc32.
5908
8f9d3a8c
ZB
59092012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
59102012-01-22 Zachary Bedell <pendorbound@gmail.com>
59112012-01-22 Richard Laager <rlaager@wiktel.com>
5912
5913 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
5914 All users updated.
5915 (find_bestub): Determine correct size.
5916 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
5917 (scan_disk): Align the size down.
5918 Call check pool before find_bestub to have ashift.
5919
b055dd32
VS
59202012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
5923 dprintf in no-malloc zone.
5924
d779e9bd
ML
59252012-01-22 Mario Limonciello <mario_limonciello@dell.com>
5926
5927 * configure.ac: Add back in test for limits.h.
5928
b508af69
VS
59292012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 Support 4K-sector NTFS.
5932
5933 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
5934 (grub_ntfs_data): Remove blocksize.
5935 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
5936 Remove data argument. All users updated.
5937
dad9c8b5
VS
59382012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
5941 being in .text to avoid dprel references.
5942 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
5943 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
5944 (grub_arch_highmemsize): Likewise.
5945 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
5946 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
5947 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
5948
d43a777e
VS
59492012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
5952
5953 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
5954 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
5955
34e4208f
VS
59562012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
5959 GRUB_UTIL.
5960 (grub_set_datetime_cmos): Likewise.
5961
3ec0fc1c
VS
59622012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 Make XZ compression parameters dependent on target and not host CPU.
5965
5966 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
5967 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
5968
22489834
VS
59692012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
5972 set but not used variable.
5973
8502fbca
VS
59742012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
5977 created when no uuid support is compiled into mkfs.reiser.
5978
76df2068
VS
59792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
5982 (utf8_to_macroman): Do the opposite.
5983 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
5984
64e3f8f6
VS
59852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5986
5987 * configure.ac: Refise build qemu_mips w/o unifont.
5988
9c271078
VS
59892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 Eliminate grub_min/grub_max prone to overflow usage.
5992
5993 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
5994 (poll_nonroot_hub): Likewise.
5995 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
5996 (grub_affs_label): Likewise.
5997 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
5998 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
5999 (grub_hfs_label): Likewise.
6000 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6001 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6002 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6003 (zap_leaf_array_get): Likewise.
6004 (dnode_get_path): Likewise.
6005 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6006 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6007 * grub-core/script/execute.c (grub_script_break): Likewise.
6008 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6009 grub_max.
6010 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6011 * include/grub/misc.h (grub_min): Removed.
6012 (grub_max): Likewise.
6013
80662dbc
VS
60142012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6015
6016 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6017 direct.inode = 0.
6018
e6da1467
VS
60192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6022
b1ac4cb1
VS
60232012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6024
6025 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6026
b4bf7c3b
VS
60272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6028
6029 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6030 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6031
8ee1101a
VS
60322012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6035 rather than a hack for grub_strncasemap.
6036
60372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 Support multiple initrds
6040 Note: part of this was accidently committed in r3739.
6041
6042 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6043 initrd.
6044 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6045 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6046 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6047 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6048 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6049
4d1e2bc9
VS
60502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6053 disks with unknown size.
6054 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6055
75b49ebe
VS
60562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 Remove defines pertaining to arbitrary limits not affecting GRUB
6059 anymore.
6060
6061 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6062 (EXT2_MAX_SYMLINKCNT): Likewise.
6063 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6064 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6065 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6066 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6067 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6068 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6069 (DN_MAX_OBJECT_SHIFT): Likewise.
6070 (DN_MAX_OFFSET_SHIFT): Likewise.
6071 (DN_MAX_OBJECT): Likewise.
6072 (DNODES_PER_LEVEL_SHIFT): Likewise.
6073 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6074 (SPA_MAXBLOCKSIZE): Likewise.
6075 (SPA_BLOCKSIZES): Likewise.
6076 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6077 (MZAP_MAX_BLKSZ): Likewise.
6078
74a1dce7
VS
60792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6082 handle NULL appropriately.
6083 Remove MIN.
6084
30c7d3ce
VS
60852012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 Fix efiemu.
6088
6089 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6090 cpu/types.h.
6091 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6092 * configure.ac: Fix efiemu check.
6093
3c76ea0c
VS
60942012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6097 grub_probe.
6098 Reported by: adamwill
6099
7e532280
SG
61002012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6101
6102 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6103
30492374
VS
61042012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 Fix handling of wide characters in gfxterm.
6107
6108 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6109 (clear_char): Likewise.
6110 (paint_char): Skip code == NULL chars.
6111 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6112
e70cb72f
VS
61132012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 * grub-core/normal/charset.c: Move comment to right place.
6116
5c827cf9
VS
61172012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6120 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6121 (grub_affs_mount): Revert the correct version checking.
6122
53603892
VS
61232012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * docs/grub.texi (Unicode): Mention several other unsupported features.
6126
ff094b9b
VS
61272011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6130 case statements as compile-time one.
6131 (direct_read): Prevent spurious warnings.
6132 (grub_squash_read_data): Likewise.
6133
c029da8a
VS
61342011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 Various squash4 fixes and LZO and XZ support.
6137
6138 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6139 Add xzembed source files.
6140 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6141 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6142 (grub_squash_inode): New subtype long_dir.
6143 (SQUASH_TYPE_LONG_DIR): New inode type.
6144 (COMPRESSION): New enum.
6145 (XZBUFSIZ): New const.
6146 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6147 (read_chunk): Use data->decompress.
6148 (zlib_decompress): New function.
6149 (lzo_decompress): Likewise.
6150 (xz_decompress): Likewise.
6151 (squash_mount): Set new data fields.
6152 (grub_squash_iterate_dir): Handle long dir.
6153 (squash_unmount): Free xzdec and xzbuf.
6154 (grub_squash_open): Check ino type.
6155 (direct_read): Stylistic fixes. Use data->decompress.
6156 (grub_squash_read_data): Likewise.
6157 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6158 (get_byte): Likewise.
6159 (grub_zlib_disk_read): Removed.
6160 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6161 (GRUB_POSIX_BOOL_DEFINED): New define.
6162 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6163 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6164 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6165 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6166
7a45a539
VS
61672011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 Don't override more informative errors.
6170
6171 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6172 * grub-core/font/font.c (open_section): Likewise.
6173 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6174 filename. Don't override errors.
6175 (grub_cmd_openbsd_ramdisk): Don't override errors.
6176 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6177 (grub_cmd_initrd): Likewise.
6178 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6179 (grub_cmd_initrd): Likewise.
6180 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6181 (grub_cmd_linux): Likewise.
6182 (grub_cmd_initrd): Likewise.
6183 (grub_cmd_payload): Likewise.
6184 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6185 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6186 (grub_cmd_module): Likewise.
6187 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6188 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6189 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6190 (grub_cmd_xnu_mkext): Likewise.
6191 (grub_cmd_xnu_ramdisk): Likewise.
6192 (grub_xnu_check_os_bundle_required): Likewise.
6193 (grub_xnu_load_kext_from_dir): Likewise.
6194 (grub_cmd_xnu_kextdir): Likewise.
6195 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6196
b2d004db
VS
61972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6198
6199 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6200 as 1024 in block size field. Found on one of my test images.
6201 Small optimisation while on it.
6202
ec000eac
VS
62032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6206 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6207 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6208 performance fixes while on it.
6209 (grub_sfs_close): Fix memory leak while on it.
6210 (grub_sfs_label): Convert Latin1 to UTF-8.
6211
f50e1165
VS
62122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6215 space to avoid overflows.
6216 (grub_hfs_label): Convert from macroman to UTF-8.
6217
2ae254de
VS
62182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6221
0108f491
VS
62222011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6225
f45f5f89
VS
62262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * unicode: Import Unicode 6.0 data.
6229
4d8c4765
VS
62302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6231
63fa8ef9
VS
6232 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6233 outside of range.
6234
62352011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
6238
6239 * include/grub/charset.h (grub_getend): New function.
6240 * grub-core/script/function.c (grub_script_function_find): Use
6241 grub_getend.
6242 * grub-core/normal/completion.c (add_completion): Likewise.
6243
f3cb4a4e
VS
62442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6247 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6248 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6249 (GRUB_UNICODE_TAG_END): Likewise.
6250 (GRUB_UNICODE_LAST_VALID): Likewise.
6251
5da8dbc5
VS
62522011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6255 len and make it smaller. All users updated.
6256 * util/import_unicode.py: Put length and not end character.
6257 Check length.
6258
8569f13d
VS
62592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 Make better Unicode-compliant and unify some UTF-8 code pathes.
6262
6263 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6264 valid character.
6265 (grub_is_valid_utf8): Use grub_utf8_process.
6266 Check resulting code range.
6267 (grub_utf8_to_ucs4): Use grub_utf8_process.
6268 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6269 valid character.
6270
cc4fddf5
VS
62712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6274
bbc47747
VS
62752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6276
6277 * docs/grub.texi (Filesystems): Mention AFS.
6278
f63d6bf4
VS
62792011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * docs/grub.texi (Filesystems): Clarify restrictions.
6282 (Regexp): Mention non-Unicode regexp behaviour.
6283 (Other): Mention non-Unicode matching behaviour.
6284
74bbf0db
VS
62852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6286
f63d6bf4 6287 Make HFS implementation use MacRoman.
74bbf0db
VS
6288
6289 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6290 (macroman): New const array.
6291 (macroman_to_utf8): New function.
6292 (utf8_to_macroman): Likewise.
6293 (grub_hfs_find_dir): Use utf8_to_macroman.
6294 (grub_hfs_dir): Use macroman_to_utf8.
6295 Set case_insensitive.
6296
4ea0316e
VS
62972011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6300
d3c13cbd
VS
63012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 Integrate hints into autogeneration scripts.
6304
6305 * docs/grub.texi (Filesystems): Add a hostdisk example.
6306 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6307 (grub-probe): Add ofpath.
6308 * gentpl.py: Remove group nosparc64.
6309 * grub-core/commands/search.c (cache_entry): New struct.
6310 (cache): New var.
6311 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6312 * grub-core/commands/search_wrap.c (options): Add platform-specific
6313 hint options.
6314 (grub_cmd_search): Handle platform-specific hints.
6315 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6316 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6317 (grub_util_biosdisk_data): Likewise.
6318 (grub_util_biosdisk_open): Set device_map.
6319 (read_device_map): Handle "" as indication of no map.
6320 Set device_map.
6321 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6322 (grub_util_biosdisk_get_compatibility_hint): New function.
6323 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6324 * include/grub/emu/hostdisk.h
6325 (grub_util_biosdisk_get_compatibility_hint): New proto.
6326 * util/grub-install.in: Don't call grub-mkdevicemap.
6327 Add platform-specific hint to load.cfg.
6328 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6329 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6330 hints. Set root preliminary to compatibility hint, not to OS name.
6331 * util/grub-probe.c (PRINT_*): Add hints.
6332 (print): Make static.
6333 (escape_of_path): New function.
6334 (guess_bios_drive): Likewise.
6335 (guess_efi_drive): Likewise.
6336 (guess_baremetal_drive): Likewise.
6337 (print_full_name): Likewise.
6338 (probe): Handle hints.
6339 (main): Likewise.
6340 * util/ieee1275/devicemap.c: Removed.
6341 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6342 updated.
6343 (grub_util_devname_to_ofpath): Return NULL on failure.
6344
6345 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6346 resource leak.
6347 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6348
6349 * po/POTFILES.in: Regenerated.
6350
6351 Allow purely long options
6352
6353 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6354 (SHORT_ARG_USAGE): Likewise.
6355 (grub_arg_show_help): Compare opt with help_options.
6356 (parse_option): Receive opt as argument. If makes big simplificatons.
6357 All users updated
6358
00ce2df3
VS
63592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6362 Restructure to avoid warning.
6363
e77e325f
VS
63642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * util/grub-install.in: Account for possible escaped comma in device
6367 name.
6368
165099ea
VS
63692011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6372 channel.
6373
ce4a999d
VS
63742011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6377 allocation and zero-setting.
6378 (grub_ieee1275_get_devname): Check that alias is complete.
6379
379586ad
VS
63802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6383 unaligned segments.
6384
9197b0ad
VS
63852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6388 prefix.
6389 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6390 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6391 Add ieee1275 prefix.
6392
edddb7f9
VS
63932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * docs/grub.texi (Filesystems): Update.
6396
a1a8b1b9
VS
63972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 Support odc, newc and bigendian cpio formats.
6400
6401 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6402 * grub-core/Makefile.core.def (newc): New module.
6403 (odc): Likewise.
6404 (cpio_be): Likewise.
6405 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6406 (MAGIC): Likewise.
6407 (MAGIC2): Likewise.
6408 (head) [MODE_ODC]: Adapt for the format.
6409 (head) [MODE_NEWC]: Likewise.
6410 (head) [!MODE_*]: Write fields of interest as arrays.
6411 (MAGIC_USTAR): Removed.
6412 (read_number) [MODE_NEWC]: Change to hex.
6413 (read_number) [!MODE_*]: Parse binary arrays.
6414 (grub_cpio_find_file): Factor out the code for better structure and
6415 always use read_number.
6416 (grub_cpio_mount): Use MAGIC and MAGIC2.
6417 (grub_cpio_dir): Exit on first hook non-0 return.
6418 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6419 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6420 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6421 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6422 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6423 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6424 * grub-core/fs/newc.c: New file.
6425 * grub-core/fs/odc.c: Likewise.
6426 * grub-core/fs/cpio_be.c: Likewise.
6427
58eba9ee
VS
64282011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 Fix handling of tar numbers occupying the whole field.
6431
6432 * grub-core/fs/cpio.c (read_number): New function.
6433 (grub_cpio_find_file): Use read_number instead of strtoull.
6434
a54a0e12
VS
64352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6438 occupying the whole field size.
6439
a6120aca
LA
64402011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6441
6442 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6443
a93964ce
VS
64442011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6447
3ea1ca46
SG
64482011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6449
6450 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6451 TARGET_IMG_LDFLAGS.
6452
b87f7ef2
VS
64532011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6456 (mountinfo_entry): Increase the field size to take escaping into
6457 account.
6458 (find_root_device_from_libzfs): Add one byte to size of strings for
6459 security.
6460
62092395
VS
64612011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6464 an assert.
6465 * util/grub-setup.c (setup): Likewise.
6466
1f0b1a77
VS
64672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6470 _LzmaDecodeA.
6471
8eba9997
VS
64722011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * docs/grub.texi (Internationalisation): New section.
6475
dd0c91e9
VS
64762011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * docs/grub.texi (Loopback booting): New section.
6479
64802011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
6481
6482 * util/grub-mkstandalone.in: Fix minor typo errors.
6483
198e150a
VS
64842011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6487
6488 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6489 net/icmp.c and net/icmp6.c.
6490 (http): New module.
6491 (priority_queue): Likewise.
6492 * grub-core/io/bufio.c: Rewritten.
6493 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6494 TYPE_WITH_CONFIGFILE_OPTION.
6495 (legacy_commands): Add bootp and dhcp.
6496 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6497 (grub_legacy_parse): Likewise.
6498 * grub-core/lib/priority_queue.c: New file.
6499 * grub-core/net/arp.c: Add missing license header.
6500 (arp_find_entry): Removed.
6501 (arp_find_entry): Likewise.
6502 (grub_net_arp_resolve): Rename to ...
6503 (grub_net_arp_send_request): ...this.
6504 (grub_net_arp_receive): New card argument.
6505 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6506 Set router and DNS server.
6507 (grub_net_configure_by_dhcp_ack): Handle routing information.
6508 (grub_cmd_bootp): Set checksum.
6509 (grub_bootp_init): Remove net_dhcp.
6510 * grub-core/net/dns.c: New file.
6511 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6512 completion.
6513 (get_card_packet): Handle allocation.
6514 (grub_efinet_findcards): Set mtu.
6515 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6516 (get_card_packet): Handle allocation.
6517 (emucard): Set mtu.
6518 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6519 (GRUB_MOD_INIT): Set mtu.
6520 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6521 mtu.
6522 (get_card_packet): Handle allocation.
6523 (grub_ofnet_findcards): Set mtu.
6524 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6525 assert.
6526 (grub_net_recv_ethernet_packet): Handle IPv6.
6527 * grub-core/net/http.c: New file.
6528 * grub-core/net/icmp.c: Likewise.
6529 * grub-core/net/icmp6.c: Likewise.
6530 * grub-core/net/ip.c (ip6addr): New type.
6531 (ip6hdr): Likewise.
6532 (reassemble): Likewise.
6533 (cmp): New function.
6534 (reassembles): New variable.
6535 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6536 (id): New variable.
6537 (send_fragmented): New function.
6538 (grub_net_send_ip_packet): Rename to ...
6539 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6540 Handle non-UDP.
6541 (grub_net_recv_ip_packets): Rename to ...
6542 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6543 (free_rsm): New function.
6544 (free_old_fragments): Likewise.
6545 (grub_net_recv_ip4_packets): New function.
6546 (grub_net_send_ip6_packet): Likewise.
6547 (grub_net_send_ip_packet): Likewise.
6548 (grub_net_recv_ip6_packets): Likewise.
6549 (grub_net_recv_ip_packets): Likewise.
6550 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6551 (LINK_LAYER_CACHE_SIZE): New const.
6552 (link_layer_find_entry): New function.
6553 (grub_net_link_layer_add_address): Likewise.
6554 (grub_net_link_layer_resolve_check): Likewise.
6555 (grub_net_link_layer_resolve): Likewise.
6556 (grub_net_ipv6_get_slaac): Likewise.
6557 (grub_net_ipv6_get_link_local): Likewise.
6558 (grub_cmd_ipv6_autoconf): Likewise.
6559 (parse_ip): Handle one number representation.
6560 (parse_ip6): New functoion.
6561 (match_net): Handle IPv6.
6562 (grub_net_resolve_address): Handle IPv6 and DNS.
6563 (grub_net_resolve_net_address): Handle IPv6.
6564 (route_cmp): New function.
6565 (grub_net_route_address): Find best route.
6566 (grub_net_addr_to_str): Handle IPv6.
6567 (grub_net_addr_cmp): New function.
6568 (grub_net_add_addr): Register local route.
6569 (print_net_address): Handle net address.
6570 (grub_net_poll_cards): Retransmit TCP.
6571 (grub_net_poll_cards_idle_real): Likewise.
6572 (have_ahead): New function.
6573 (grub_net_seek_real): Use underlying seek.
6574 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
6575 * grub-core/net/tcp.c: New file.
6576 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
6577 (cmp): New function.
6578 (ack): Likewise.
6579 (tftp_receive): Handle unordered input.
6580 (destroy_pq): New function.
6581 (tftp_close): Close pq.
6582 * grub-core/net/udp.c: Put missing license header.
6583 (grub_net_udp_socket): New function.
6584 (udp_socket_register): Likewise.
6585 (grub_net_udp_close): Likewise.
6586 (grub_net_recv_udp_packet): Check checksum.
6587 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
6588 * include/grub/misc.h (grub_memchr): New function.
6589 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
6590 (grub_net_card_driver): Return buf in recv.
6591 (grub_net_slaac_mac_list): New struct.
6592 (grub_network_level_protocol_id): Add ipv6.
6593 (grub_net_network_level_addr): Likewise.
6594 (grub_net_network_level_net_addr): Likewise.
6595 (grub_net_app_protocol): Add seek.
6596 (grub_net_socket): Removed.
6597 (grub_net_sockets): Likewise.
6598 (grub_net_socket_register): Likewise.
6599 (grub_net_socket_unregister): Likewise.
6600 (FOR_NET_SOCKETS): Likewise.
6601 (grub_net_add_addr): Add const.
6602 (GRUB_NET_BOOTP_*): New enum.
6603 (grub_net_addr_cmp): New proto.
6604 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
6605 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
6606 (grub_net_hwaddr_to_str): NEw proto.
6607 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
6608 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
6609 (grub_dns_init): New proto.
6610 (grub_dns_fini): Likewise.
6611 (grub_net_tcp_retransmit): Likewise.
6612 (grub_net_link_layer_add_address): Likewise.
6613 (grub_net_link_layer_resolve_check): Likewise.
6614 (grub_net_link_layer_resolve): Likewise.
6615 (grub_net_dns_lookup): Likewise.
6616 (grub_net_add_dns_server): Likewise.
6617 (grub_net_remove_dns_server): Likewise.
6618 (GRUB_NET_TRIES): New const.
6619 (GRUB_NET_INTERVAL): Likewise.
6620 * include/grub/net/arp.h: Mostly rewritten.
6621 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
6622 * include/grub/net/ip.h: Mostly rewritten.
6623 * include/grub/net/netbuff.h: Indent.
6624 * include/grub/net/tcp.h: New file.
6625 * include/grub/net/udp.h: Mostly rewritten.
6626 * include/grub/priority_queue.h: New file.
6627 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
6628 (grub_swap_bytes64_compile_time): Likewise.
6629 (grub_cpu_to_be16_compile_time): Likewise.
6630 (grub_cpu_to_be32_compile_time): Likewise.
6631 (grub_cpu_to_be64_compile_time): Likewise.
6632 (grub_be_to_cpu64_compile_time): Likewise.
6633
215c1800
VS
66342011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
6637 UINT_TO_PTR with cast.
6638
c17e546c
VS
66392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
6642 don't use them.
6643
ff6b18b6
VS
66442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
6647 already there.
6648
70ffcc93
VS
66492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
6652 confusing ipxe.
6653
e5f4d260
VS
66542011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
6657 Add missing const attribute.
6658 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
6659 Likewise.
6660 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
6661 Likewise.
6662
8e54b4b7
VS
66632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
6666 misaligned access.
6667 (serpent_setkey): Likewise.
6668 (serpent_encrypt_internal): Likewise.
6669 (serpent_decrypt_internal): Likewise.
6670 (serpent_encrypt): Don't put an alignment-increasing cast.
6671 (serpent_decrypt): Likewise.
6672 (serpent_test): Likewise.
6673
813c0a2b
VS
66742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
6677
f2b60fbd
VS
66782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
6681
6682 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
6683 grub_addr_t casts.
6684 (PTR_TO_UINT64): Likewise.
6685 (PTR_TO_UINT32): Likewise.
6686
5ef5c511
VS
66872011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6688
6689 * util/grub-mkimage.c (generate_image): Decrease the higher limit
6690 because of stack.
6691 * util/grub-setup.c (setup): Don't add redundancy past the higher load
6692 limit.
6693
c476e6df
VS
66942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
6697 text_width > available width a bit more gracefully.
6698
384ad7cc
VS
66992011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
6702 current address calculation.
6703
96f8caf8
VS
67042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
6707 stack.
6708 (encode_block): Likewise.
6709
276b7a8b
VS
67102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
6713 certainety.
6714
e3fd394a
VS
67152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
6718 non-RS part to avoid RS messing with GDT.
6719 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6720 Increase to suit in realmode routines.
6721
67222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * grub-core/kern/i386/realmode.S: Increase alignment.
6725 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
6726
ee9c2e7a
VS
67272011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
6730 be deterministic.
6731 (syndroms): Compute 0 syndrom.
6732 (rs_recover): Use 0 syndrom.
6733
7a7f7cc9
VS
67342011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
6737
a14b16d1
VS
67382011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
6741 brackets.
6742
9f59e9fc
VS
67432011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6744
ca1b552c
VS
6745 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
6746 account.
6747 (get_top_pad): Likewise.
6748 (get_right_pad): Likewise.
6749 (get_bottom_pad): Likewise.
6750
67512011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 6754
e739d698
VS
67552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6756
6757 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
6758 attribute as the structure isn't guaranteed to be properly aligned.
6759 (grub_efi_pci_device_path): Likewise.
6760 (grub_efi_pccard_device_path): Likewise.
6761 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
6762 specify the size of `memory_type'.
6763 (grub_efi_vendor_device_path): Likewise.
6764 (grub_efi_controller_device_path): Likewise.
6765 (grub_efi_acpi_device_path): Likewise.
6766 (grub_efi_expanded_acpi_device_path): Likewise.
6767 (grub_efi_atapi_device_path): Likewise.
6768 (grub_efi_scsi_device_path): Likewise.
6769 (grub_efi_fibre_channel_device_path): Likewise.
6770 (grub_efi_1394_device_path): Likewise.
6771 (grub_efi_usb_device_path): Likewise.
6772 (grub_efi_usb_class_device_path): Likewise.
6773 (grub_efi_i2o_device_path): Likewise.
6774 (grub_efi_mac_address_device_path): Likewise.
6775 (grub_efi_ipv4_device_path): Likewise.
6776 (grub_efi_ipv6_device_path): Likewise.
6777 (grub_efi_infiniband_device_path): Likewise.
6778 (grub_efi_uart_device_path): Likewise.
6779 (grub_efi_vendor_messaging_device_path): Likewise.
6780 (grub_efi_hard_drive_device_path): Likewise.
6781 (grub_efi_cdrom_device_path): Likewise.
6782 (grub_efi_vendor_media_device_path): Likewise.
6783 (grub_efi_file_path_device_path): Likewise.
6784 (grub_efi_protocol_device_path): Likewise.
6785 (grub_efi_piwg_device_path): Likewise.
6786 (grub_efi_bios_device_path): Likewise.
6787
cb8f88ea
VS
67882011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6789
6790 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
6791 (grub_ucs4_to_utf8_alloc): Likewise.
6792 (grub_ucs4_to_utf8): Likewise.
6793 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
6794 (grub_ucs4_to_utf8_alloc): Likewise.
6795
309e5352
VS
67962011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 AFFS never uses unicode.
6799
6800 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
6801 (grub_latin1_to_utf8): New inline function.
6802 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
6803
e7987e1b
VS
68042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6805
6806 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
6807 overflow.
6808
efc2616e
VS
68092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
6812 (grub_squash_dirent_header): Likewise.
6813 (read_chunk): Don't double swap.
6814 (grub_squash_iterate_dir): Fix swap sizes.
6815
3c349f5a
VS
68162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
6819
b453412d
VS
68202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
6823 (grub_hfs_iterate_dir): Likewise.
6824
12e9d4d1
VS
68252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 Fix video on platforms where unaligned access is forbidden.
6828 Make several optimisations while on it.
6829
6830 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
6831 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6832 (grub_video_fbblit_replace_32bit_1bit): Likewise.
6833 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6834 Disable.
6835 (grub_video_fbblit_replace_16bit_1bit):
6836 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6837 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6838 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
6839 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
6840 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6841 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6842 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
6843 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
6844 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
6845 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
6846 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
6847 (grub_video_fbblit_replace_index_RGB888): Likewise.
6848 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
6849 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
6850 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
6851 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6852 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
6853 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6854 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6855 Disable.
6856 (grub_video_fbblit_blend_XXX565_1bit):
6857 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6858 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
6859 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
6860 void *.
6861 * grub-core/video/fb/video_fb.c (common_blitter)
6862 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
6863 (grub_video_fb_create_render_target_from_pointer)
6864 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6865 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
6866 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
6867 definition.
6868 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
6869
ace96609
VS
68702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
6873 HH22 and HM10 relocations.
6874
fd261d73
VS
68752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
6878
e59b7857
VS
68792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
6882 allocation succeeded.
6883
9b4baaa4
VS
68842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
6887 argument a u8 pointer. All users updated.
6888 Handle unaligned buffers.
6889
dc713193
VS
68902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
6893 add_part to workaround compiler bug.
6894
30dd48c2
VS
68952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
6898
0c6087a8
VS
68992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
6902 Reserve alignment invariants.
6903 (grub_multiboot_load): Likewise.
6904 (retrieve_video_parameters): Likewise.
6905 (grub_multiboot_make_mbi): Likewise.
6906
c2e77777
VS
69072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6908
6909 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
6910 incorrect pointer.
6911
b70b6d11
VS
69122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
6915 (grub_pata_pio_write): Likewise.
6916
02a2bf83
VS
69172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 Add noreturn attributes and remove unreachable code.
6920
6921 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
6922 code.
6923 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
6924 code. Mark as noreturn.
6925 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
6926 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
6927 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
6928 unreachable code.
6929 * grub-core/kern/main.c (grub_main): Mark as noreturn.
6930 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
6931 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
6932 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
6933 * include/grub/kernel.h (grub_main): Mark as noreturn.
6934 * include/grub/reader.h (grub_rescue_run): Likewise.
6935
2019d09e
VS
69362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
6939 redundant declaration.
6940
d1c501ee
VS
69412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6942
6943 * include/grub/net.h (grub_net_network_level_interfaces): Remove
6944 redundant declaration.
6945 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
6946
61664420
VS
69472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
6950 to ensure alignment.
6951 (grub_hdparm_print_identify): Make argument uint16 * to ensure
6952 alignment. Ensure tmp alignment.
6953 (grub_cmd_hdparm): Ensure buf alignment.
6954 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
6955 to ensure alignment.
6956 (grub_ata_dumpinfo): Ensure text alignment.
6957 (grub_atapi_identify): Preserve alignment invariant.
6958 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
6959
0d51ee20
VS
69602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
6963 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
6964 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
6965 * include/grub/misc.h (grub_reboot)
6966 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
6967 (grub_halt) [__mips__]: Likewise.
6968
753ef8c1
VS
69692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
6972 Remove redundant declaration.
6973 (grub_mmap_get_post64): Likewise.
6974 (grub_mmap_get_upper): Likewise.
6975 (grub_mmap_get_lower): Likewise.
6976
85c85365
VS
69772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
6980 uint32_t * to ensure alignment.
6981 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
6982
a23f2cc4
VS
69832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6984
93018f64
VS
6985 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
6986 uint16_t * to ensure alignment.
6987 (sun_pc_partition_map_iterate): Make `block' a union to ensure
6988 alignment.
6989
69902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
6993 to ensure alignment.
6994 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
6995
58acccd6
VS
69962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * grub-core/fs/ntfs.c (u16at): Make into inline function.
6999 Handle unaligned pointers.
7000 (u32at): Likewise.
7001 (u64at): Likewise.
7002 (fixup): Use byte access instead of v16at.
7003 (find_attr): Fix imporper usage of v32at.
7004 (read_data): Likewise.
7005 (list_file): Handle byte-swapping and unaligned strings.
7006 (grub_ntfs_label): Likewise.
7007
9b05cad7
VS
70082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7011 as it's not necessarily aligned.
7012
b3950b84
VS
70132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7016 redundant declaration.
7017 (grub_serial_init): Likewise.
7018 (grub_terminfo_init): Likewise.
7019
fcd232b7
VS
70202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7023 function.
7024 (ZAP_HASH_IDX): Likewise.
7025 (ZAP_LEAF_HASH_SHIFT): Likewise.
7026 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7027 (LEAF_HASH): Likewise.
7028 (ZAP_LEAF_NUMCHUNKS): Likewise.
7029 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7030 alignment invariants. Return pointer. All users updated.
7031 (ZAP_LEAF_ENTRY): Make into inline function.
7032 (NBBY): Removed.
7033 (xor): LIkewise.
7034 (xor_out): Use grub_crypto_xor.
7035 (dnode_get_path): Use grub_get_unaligned.
7036 (nvlist_find_value): Likewise.
7037 (grub_zfs_nvlist_lookup_uint64): Likewise.
7038 (grub_zfs_nvlist_lookup_string): Likewise.
7039 (get_nvlist_size): Likewise.
7040 (grub_zfs_open): Likewise.
7041 (fill_fs_info): Likewise.
7042 (grub_zfs_dir): Likewise.
7043 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7044 alignment invariants.
7045 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7046 necessarily aligned.
7047
f138623a
VS
70482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7051
564840dc
VS
70522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7055 arithmetic to conserve alignment invariants.
7056
9b40df20
VS
70572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7060 redundant declaration.
7061 (grub_efiemu_mm_obtain_request): Likewise.
7062 (grub_efiemu_prepare): Likewise.
7063
d1c930f9
VS
70642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7067 to match types.
7068
4c5f3056
VS
70692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7072 case of aunaligned recptr.
7073 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7074 alignment.
7075 (grub_hfsplus_btree_search): Handle unaligned index.
7076
728cba91
VS
70772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7080 to get freetag and skip.
7081
eb561f31
VS
70822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7085 array.
7086 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7087 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7088
20993fbb
VS
70892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7092 name for checksum and fix allocation algorithm.
7093
1f313b94
VS
70942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * include/grub/types.h (grub_properly_aligned_t): New type.
7097 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7098 (grub_get_unaligned16): Add explicit casts.
7099 (grub_get_unaligned32): Likewise.
7100 (grub_get_unaligned64): Likewise.
7101 (grub_set_unaligned16): New function.
7102 (grub_set_unaligned32): Likewise.
7103
47ae27ec
VS
71042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7107
78c2cd1c
VS
71082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7111 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7112 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7113
53072f9b
VS
71142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7117 conditionals.
7118
055dc239
VS
71192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7122 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7123
496bd074
VS
71242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 Unify and improve RAID and crypto xor.
7127
7128 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7129 changed to grub_crypto_xor
7130 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7131 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7132 Use bigger types when possible.
7133
ef6e4335
VS
71342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * grub-core/disk/raid.c (scan_devices): Fix condition.
7137
5d048bf2
VS
71382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7141 Make name a const ptr.
7142
ee533335
VS
71432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7146 first argument a const pointer.
7147 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7148 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7149 proto.
7150 (grub_children_iterate): Likewise.
7151 (grub_machine_mmap_iterate): Remove redundant declaration.
7152
cc8f3668
VS
71532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7156 (grub_cmd_acpi) [!x86]: Disable EBDA.
7157
c5fc563a
VS
71582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7159
7160 Enable UTF8 in gnulib regexp.
7161
7162 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7163 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7164 (isupper): Use grub_isupper.
7165 (isascii): New inline function.
7166 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7167 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7168 * grub-core/normal/charset.c (grub_utf8_process): New function.
7169 (grub_utf8_to_utf16): Use grub_utf8_process.
7170 (grub_encode_utf8_character): New function.
7171 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7172 * include/grub/charset.h (grub_utf8_process): New declaration.
7173 (grub_encode_utf8_character): Likewise.
7174 * include/grub/misc.h (grub_islower): New inline function.
7175 (grub_isupper): Likewise.
7176 (grub_strchrsub): Moved down to fix the definitions.
7177
0af2346f
VS
71782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7181 specification.
7182
74dbd244
VS
71832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * include/grub/loader.h (grub_loader_register_preboot_hook):
7186 Use struct preboot * and not void * for handle. All users updated.
7187 (grub_loader_unregister_preboot_hook): Likewise.
7188
1bc8f60d
VS
71892011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7192 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7193 UTF-16-BE. All users updated.
7194 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7195 (grub_hfsplus_iterate_dir): Likewise.
7196 (grub_hfsplus_label): Likewise.
7197
48d6e456
VS
71982011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7201
bf3a3857
VS
72022011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 Add missing const qualifiers.
7205
7206 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7207 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7208 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7209 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7210 (grub_lvm_check_flag): Likewise.
7211 * grub-core/efiemu/i386/coredetect.c
7212 (grub_efiemu_get_default_core_name): Likewise
7213 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7214 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7215 * grub-core/fs/ntfs.c (fixup): Likewise.
7216 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7217 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7218 (fzap_lookup): Likewise.
7219 (zap_lookup): Likewise.
7220 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7221 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7222 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7223 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7224 (grub_freebsd_add_meta_module): Likewise.
7225 (grub_cmd_freebsd_module): Likewise.
7226 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7227 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7228 (grub_xnu_writetree_get_size): Likewise.
7229 (grub_xnu_writetree_toheap_real): Likewise.
7230 (grub_xnu_find_key): Likewise.
7231 (grub_xnu_create_key): Likewise.
7232 (grub_xnu_create_value): Likewise.
7233 (grub_xnu_register_memory): Likewise.
7234 (grub_xnu_check_os_bundle_required): Likewise.
7235 (grub_xnu_scan_dir_for_kexts): Likewise.
7236 (grub_xnu_load_kext_from_dir): Likewise.
7237 * grub-core/normal/color.c (color_list): Likewise.
7238 * grub-core/normal/completion.c (current_word): Likewise.
7239 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7240 * grub-core/term/serial.c (grub_serial_find): Likewise.
7241 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7242 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7243 Likewise.
7244 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7245 (grub_freebsd_add_meta_module): Likewise.
7246 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7247 * include/grub/net.h (grub_net_card_driver): Likewise.
7248 (grub_net_card): Likewise.
7249 (grub_net_app_protocol): Likewise.
7250 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7251 * include/grub/serial.h (grub_serial_find): Likewise.
7252 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7253 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7254 (grub_xnu_create_value): Likewise.
7255 (grub_xnu_find_key): Likewise.
7256 (grub_xnu_scan_dir_for_kexts): Likewise.
7257 (grub_xnu_load_kext_from_dir): Likewise.
7258
7259 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7260 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7261 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7262 Moved from here ...
7263 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7264
112b4837
CW
72652011-11-28 Colin Watson <cjwatson@ubuntu.com>
7266
7267 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7268
49e891ac
VS
72692011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7272 (read_device): Fix size calculation.
7273
fd258e5c
RM
72742011-11-25 Robert Millan <rmh@gnu.org>
7275
7276 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7277 (find_root_device_from_libzfs): Add zpool output parser to be used
7278 as fallback when libzfs isn't available.
7279
78845dc2
SG
72802011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7281
7282 * po/Makefile.in.in: Add missing escape-continuation.
7283
adac5211
VS
72842011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7287
10b64f1c
VS
72882011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7291
bb416954
VS
72922011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7295
bdfe9eeb
VS
72962011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7299
581ffa8a
VS
73002011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 * grub-core/lib/adler32.c: Add missing license specification.
7303 * grub-core/lib/crc64.c: Likewise.
7304 * grub-core/loader/i386/pc/plan9.c: Likewise.
7305 * grub-core/partmap/plan.c: Likewise.
7306
2536cf64
LK
73072011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7308
7309 Add facility to debug GRUB with gdb under qemu.
7310
7311 * grub-core/gdb_grub.in: New file.
7312 * grub-core/gmodule.pl.in: Likewise.
7313 * grub-core/Makefile.core.def (gmodule.pl): New script.
7314 (gdb_grub): Likewise.
7315
bc108a4a
VS
73162011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * util/grub-mount.c (argp_parser): Accept relative pathes.
7319 * util/grub-fstest.c (argp_parser): Likewise.
7320
111c1778
VS
73212011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 Plan9 support.
7324
7325 * Makefile.util.def (libgrubmods): Add
7326 grub-core/partmap/plan.c.
7327 * docs/grub.texi: Notice Plan9 support.
7328 * grub-core/Makefile.core.def (plan9): New module.
7329 (part_plan): Likewise.
7330 * grub-core/loader/i386/pc/plan9.c: New file.
7331 * grub-core/partmap/plan.c: Likewise.
7332 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7333 define.
7334 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7335 * include/grub/mm.h (grub_extend_alloc): New inline function.
7336
c30be3b6
VS
73372011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7338
7339 Make Reed-Solomon faster by using power of generator representation of
7340 GF(256)*.
7341
7342 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7343 (gf_double_t): Likewise.
7344 (gf_invert): Removed.
7345 (gf_powx): New array.
7346 (gf_powx_inv): Likewise.
7347 (scratch): Move higher.
7348 (gf_reduce): Removed.
7349 (gf_mul): Use powx.
7350 (gf_invert): Likewise.
7351 (init_inverts): Replaced with ...
7352 (init_powx): ...this. All users updated.
7353 (pol_evaluate): Replace multiplications with additions.
7354 (rs_encode): Likewise.
7355 (gauss_eliminate): Call gf_invert.
7356 (grub_reed_solomon_add_redundancy): Call init_powx.
7357 (grub_reed_solomon_recover): Call init_powx unconditionally.
7358
fa5aeffc
VS
73592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7362
a346b81c
VS
73632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7366 disk->partiton for safety.
7367
d89ee414
VS
73682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7371 Fix a memory leak.
7372 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7373
91ee7b6d
VS
73742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7377
91e5a33d
VS
73782011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7381
9edd7be2
VS
73822011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 Fix spaces handling in proc/self/mountinfo.
7385
7386 * util/getroot.c (unescape): New function.
7387 (grub_find_root_device_from_mountinfo): Use unescape.
7388
ba102053
VS
73892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 Support ZFS embedding.
7392
7393 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7394 (grub_zfs_fs): Register grub_zfs_embed.
7395
aa94b870
VS
73962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 Fix MIPS compilation.
7399
7400 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7401 * include/grub/offsets.h: Rename decompressor fields from
7402 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7403 * util/grub-mkimage.c (image_targets): Use new names.
7404
5fbdac14
VS
74052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 Defer multiboot device parsing until we're in compressed part.
7408
7409 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7410 bsd_part. setdevice has fallen into disuse.
7411 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7412 (bsd_part): Likewise.
7413 (boot_dev): New variable.
7414 (multiboot_trampoline): Don't parse multiboot device.
7415 Pass multiboot device in %edx.
7416 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7417 grub_boot_device.
7418 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7419 Likewise.
7420 * grub-core/kern/i386/pc/startup.S: Save edx.
7421 (grub_boot_drive): Removed.
7422 (grub_install_dos_part): Likewise.
7423 (grub_install_bsd_part): Likewise.
7424 (grub_boot_device): New variable.
7425 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7426 (grub_install_bsd_part): Likewise.
7427 (grub_boot_drive): Likewise.
7428 (grub_boot_device): New variable.
7429 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7430 Removed.
7431 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7432 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7433 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7434 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7435 * util/grub-install.in: Remove redundant condition.
7436
691cbb58
VS
74372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 Fix bug introduced by previous commit.
7440
7441 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7442
60240b8b
VS
74432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 Use decompressors framework on i386-pc. It increases core size
7446 by 46 bytes but improves compatibility and maintainability.
7447
7448 * grub-core/Makefile.core.def (lzma_decompress): New image.
7449 (kernel): Add i386_pc_ldflags.
7450 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7451 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7452 to real_to_prot, prot_to_real and device info.
7453 * include/grub/offsets.h: Renamed decompressor offsets.
7454 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7455 (image_target_desc): Remove raw_size and rename decompressor fields.
7456 (compress_kernel): Handle lzma.
7457 (generate_image): Handle decompressors on i386-pc.
7458
e9d3421c
VS
74592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7460
7461 * configure.ac: Add -fno-asynchronous-unwind-tables.
7462
2b23074a
VS
74632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 Move assembly code to C by using intwrap. It increases core size
7466 by 88 bytes but improves compatibility and maintainability.
7467
7468 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7469 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7470 ... here. Translated to C.
7471 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7472 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7473 ... here. Translated to C.
7474 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7475 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7476 ... here. Translated to C.
7477 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7478 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7479 ... here. Translated to C.
7480 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7481 * grub-core/term/i386/pc/console.c (grub_console_cls):
7482 ... here. Translated to C.
7483 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7484 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7485 ... here. Translated to C.
7486 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7487 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7488 Translated to C.
7489 * grub-core/term/i386/pc/console.c (int10_9): New function.
7490 (grub_console_putchar): Likewise.
7491 * include/grub/i386/pc/console.h: Removed the not anymore shared
7492 functions.
7493
678f4b67
VS
74942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 Move grub_chainloader_real_boot out of the kernel.
7497
7498 * grub-core/Makefile.am: Remove machine/loader.h.
7499 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7500 Removed.
7501 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7502 variable.
7503 (grub_relocator16_keep_a20_enabled): Likewise.
7504 (grub_relocator16_boot): Fill new variables.
7505 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7506 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7507 relocator.
7508 (grub_chainloader_unload): Likewise.
7509 (grub_chainloader_cmd): Likewise.
7510 * include/grub/i386/pc/loader.h: Removed.
7511 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7512 and esi. All initialisers updated.
7513
4626edf6
VS
75142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
75152011-11-12 Colin Watson <cjwatson@ubuntu.com>
7516
7517 * Makefile.util.def (grub-mount): New util.
7518 * .bzrignore: Add grub-mount.
7519 * configure.ac: Check for fuse and enable grub-mount if available.
7520 * docs/man/grub-mount.h2m: New file.
7521 * util/grub-mount.c: Likewise.
7522
10f0117b
VS
75232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * grub-core/commands/efi/fixvideo.c: Gettextize.
7526 * grub-core/commands/hashsum.c: Likewise.
7527 * grub-core/commands/i386/cmostest.c: Likewise.
7528 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7529 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7530 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7531 * grub-core/commands/lsmmap.c: Likewise.
7532 * grub-core/commands/menuentry.c: Likewise.
7533 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7534 * grub-core/commands/setpci.c: Likewise.
7535 * grub-core/loader/i386/bsd.c: Likewise.
7536 * grub-core/loader/i386/linux.c: Likewise.
7537 * util/getroot.c: Likewise.
7538 * util/grub-editenv.c: Likewise.
7539 * util/grub-fstest.c: Likewise.
7540 * util/grub-mkfont.c: Likewise.
7541 * util/grub-mkimage.c: Likewise.
7542 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7543 * util/grub-pe2elf.c: Likewise.
7544 * util/grub-probe.c: Likewise.
7545 * util/grub-setup.c: Likewise.
7546 * util/ieee1275/ofpath.c: Likewise.
7547 * util/misc.c: Likewise.
7548 * util/raid.c: Likewise.
7549
566f779b
RM
75502011-11-11 Robert Millan <rmh@gnu.org>
7551
7552 * util/getroot.c (grub_util_get_geom_abstraction): Remove
7553 __attribute__((unused)) from `os_dev', which *is* being used.
7554
b50787de
VS
75552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
7558 forgotten define.
7559 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
7560 GRUB_IA64_DL_GOT_ALIGN.
7561 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
7562 GRUB_IA64_DL_TRAMP_ALIGN.
7563
119d11c8
VS
75642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 Replace grub_fatal with normal errors in i386 linux loader.
7567
7568 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
7569 (allocate_pages): Check find_efi_mmap_size return value.
7570 (grub_e820_add_region): Return error.
7571 (grub_linux_boot): Check mmap return value.
7572
6e0632e2
VS
75732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 * grub-core/commands/acpihalt.c: Gettextized.
7576 * grub-core/commands/cacheinfo.c: Likewise.
7577 * grub-core/commands/cmp.c: Likewise.
7578 * grub-core/commands/efi/loadbios.c: Likewise.
7579 * grub-core/commands/gptsync.c: Likewise.
7580 * grub-core/commands/ieee1275/suspend.c: Likewise.
7581 * grub-core/commands/legacycfg.c: Likewise.
7582 * grub-core/commands/memrw.c: Likewise.
7583 * grub-core/commands/minicmd.c: Likewise.
7584 * grub-core/commands/parttool.c: Likewise.
7585 * grub-core/commands/time.c: Likewise.
7586 * grub-core/commands/videoinfo.c: Likewise.
7587 * grub-core/disk/geli.c: Likewise.
7588 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
7589 * grub-core/disk/luks.c: Likewise.
7590 * grub-core/disk/lvm.c: Likewise.
7591 * grub-core/font/font_cmd.c: Likewise.
7592 * grub-core/fs/zfs/zfscrypt.c: Likewise.
7593 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7594 * grub-core/gfxmenu/view.c: Likewise.
7595 * grub-core/kern/emu/hostdisk.c: Likewise.
7596 * grub-core/kern/emu/main.c: Likewise.
7597 * grub-core/kern/emu/misc.c: Likewise.
7598 * grub-core/kern/emu/mm.c: Likewise.
7599 * grub-core/kern/mips/arc/init.c: Likewise.
7600 * grub-core/kern/mips/loongson/init.c: Likewise.
7601 * grub-core/kern/partition.c: Likewise.
7602 * grub-core/lib/i386/halt.c: Likewise.
7603 * grub-core/lib/mips/arc/reboot.c: Likewise.
7604 * grub-core/lib/mips/loongson/reboot.c: Likewise.
7605 * grub-core/loader/i386/pc/chainloader.c: Likewise.
7606 * grub-core/loader/i386/xnu.c: Likewise.
7607 * grub-core/loader/multiboot.c: Likewise.
7608 * grub-core/net/bootp.c: Likewise.
7609 * grub-core/net/net.c: Likewise.
7610 * grub-core/normal/term.c: Likewise.
7611 * grub-core/partmap/bsdlabel.c: Likewise.
7612 * grub-core/parttool/msdospart.c: Likewise.
7613 * grub-core/term/gfxterm.c: Likewise.
7614 * grub-core/term/terminfo.c: Likewise.
7615 * grub-core/video/i386/pc/vbe.c: Likewise.
7616 * util/grub-menulst2cfg.c: Likewise.
7617 * util/grub-mkdevicemap.c: Likewise.
7618 * util/grub-mklayout.c: Likewise.
7619 * util/grub-mkrelpath.c: Likewise.
7620 * util/grub-script-check.c: Likewise.
7621 * util/ieee1275/grub-ofpathname.c: Likewise.
7622 * util/resolve.c: Likewise.
7623
073aa7a9
VS
76242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 Support %1$d syntax.
7627
7628 * tests/printf_unit_test.c: New file.
7629 * Makefile.util.def (printf_test): New test.
7630 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
7631
c76b5417
VS
76322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
7635 fix.
7636
df067ad1
VS
76372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
7640 dprintf.
7641 * grub-core/font/font.c (grub_font_load): Likewise.
7642
5b289bc5
VS
76432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * util/grub-macho2img.c: Add comment concerning gettext.
7646 * grub-core/lib/legacy_parse.c: Likewise.
7647
c1860f87
VS
76482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
7651 (grub_xvasprintf): Likewise.
7652
d35d0d37
VS
76532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 Add const keyword to grub_env_get and gettextize week days.
7656
7657 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
7658 (grub_read_hook_datetime): Return const char *.
7659 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
7660 updated.
7661 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7662 Mark for gettext.
7663 (grub_get_weekday_name): Return const char *. Call gettext.
7664 * grub-core/script/argv.c (grub_script_argv_append): Receive const
7665 char * and len as the argument. All users updated.
7666 (grub_script_argv_split_append): Receive const char *.
7667 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
7668 * include/grub/env.h (grub_env_get): Likewise.
7669 (grub_env_read_hook_t): Return const char *.
7670 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
7671 (grub_script_argv_split_append): Likewise.
7672
9aed8a71
VS
76732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
7676
067fdf00
VS
76772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
7680 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
7681
a8bd9d39
VS
76822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
7685 Fix prototype.
7686
f7ce5baf
VS
76872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 Fix mips compilation.
7690
7691 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
7692 normal decoder.
7693 (hashes): Use in embed decoder as well (for sizes).
7694 (dec_stream_header): Fix embed decompressor logic.
7695 (dec_stream_footer): Likewise.
7696
9bb182f3
VS
76972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
7700 an error and not a fatal on unrecognised relocation types.
7701
63a9e6f6
VS
77022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7705 Issue error rather than printf on unknown arguments.
7706
4c458569
VS
77072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7708
7709 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
7710 Make buf a const.
7711
e2d22baf
VS
77122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7713
7714 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
7715 Fix module name.
7716
53dc8590
VS
77172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
7720 leftover debug printf.
7721
6c189294
VS
77222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
7725
f7688369
VS
77262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
7729 A stylistic fix.
7730
11a775a3
VS
77312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
7734
33f784e8
SL
77352011-11-10 Shea Levy <slevy@tieronedesign.com>
7736
7737 Allow all modules to perform serial IO
7738
7739 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
7740 * include/grub/serial.h (grub_serial_port_configure): New inline
7741 function.
7742 (grub_serial_port_fetch): Likewise.
7743 (grub_serial_port_put): Likewise.
7744 (grub_serial_port_fini): Likewise.
7745 (grub_serial_find): New proto.
7746
f6276525
VS
77472011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 Put symlink at the end of the node and fix a potential
7750 memory corruption.
7751
7752 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
7753 Make symlink into an array.
7754 (set_rockridge): Set have_symlink and alloc_dirents.
7755 (grub_iso9660_read_symlink): Use new layout.
7756 (grub_iso9660_iterate_dir): Fix memory corruption.
7757 Use new layout.
7758 (grub_iso9660_dir): Set have_symlink.
7759 (grub_iso9660_open): Likewise.
7760
c3591189
VS
77612011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 Remove local keyword.
7764
7765 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
7766 (version_test_gt): Likewise.
7767 (version_find_latest): Likewise.
7768 (gettext_printf): Likewise.
7769 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
7770
cb544caa
VS
77712011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7772
7773 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
7774
45bd824d
VS
77752011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 Fix ZFS memory and resource leaks.
7778
7779 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
7780 All users updated.
7781 Free type on exit.
7782 (fill_vdev_info): New parameter inserted. All users updated.
7783 (check_pool_label): Likewise.
7784 (scan_disk): Likewise.
7785 (scan_devices): Close non-inserted disks.
7786 (fzap_iterate): Free l.
7787 (unmount_device): Free children descripto memory.
7788
ad9a2f44
VS
77892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
7792 argument (access out of bounds).
7793
6b68db81
VS
77942011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
7797 >= 6 drives.
7798
28840fda
VS
77992011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
7802 Fix declaration.
7803
8a5a3a5b
VS
78042011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 Fix several memory leaks.
7807
7808 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
7809 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
7810 (grub_cpio_dir): Likewise.
7811 * grub-core/fs/fat.c (grub_fat_label): Likewise.
7812 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
7813 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
7814 (grub_romfs_label): Likewise.
7815 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
7816 (squash_unmount): New function.
7817 (grub_squash_dir): Fix memory leak.
7818 (grub_squash_open): Likewise.
7819 (grub_squash_read): Likewise.
7820 (grub_squash_mtime): Likewise.
7821 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
7822 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
7823 * util/grub-fstest.c (fstest): Likewise.
7824
57b01250
VS
78252011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
7828 avoid accessing beyond the array.
7829
19e81ba7
VS
78302011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
7833
52b656c0
VS
78342011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 Several AFFS fixes.
7837
7838 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
7839 (GRUB_AFFS_FLAG_FFS): Removed.
7840 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
7841 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
7842 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
7843 (grub_fshelp_node): Make block 32-bit.
7844 Add block_cache and last_block_cache.
7845 (grub_affs_read_block): Fill and use block cache.
7846 (grub_affs_read_file): Removed.
7847 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
7848 boot block.
7849 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
7850 safety.
7851 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
7852 space.
7853 (grub_affs_close): Free block cache.
7854 (grub_affs_read): Use grub_fshelp_read_file directly.
7855
438a746a
VS
78562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
7859 with no error set.
7860
49a45021
VS
78612011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
7864 used variable.
7865 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7866 Likewise.
7867
3ae17eb8
VS
78682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
7871
7872 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
7873 byteswap when needed.
7874
27610c38
VS
78752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7876
7877 Fix FreeBSD compilation.
7878
7879 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
7880 to avoid circular dependency.
7881 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
7882 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
7883 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
7884
4a19b601
VS
78852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 Fix ZFS crypto error types.
7888
7889 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
7890 (grub_gcm_decrypt): Likewise.
7891 (grub_zfs_load_key_real): Fix error code type. Handle possible error
7892 from PBKDF2.
7893
958ee221
VS
78942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7895
7896 Illumos support.
7897
7898 * Makefile.util.def (10_illumos): New script.
7899 * configure.ac: Set COND_HOST_ILLUMOS.
7900 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
7901 Support Illumos calls.
7902 (find_partition_start) [__sun__]: Likewise.
7903 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
7904 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
7905 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
7906 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
7907 device.
7908 * util/grub-probe.c (probe) [__sun__]: Do character check.
7909 * util/grub.d/10_illumos.in: New file.
7910
cac14fb6
VS
79112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 Support escaped commas in hostdisk.
7914
7915 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
7916 (find_grub_drive): Use unescape_cmp.
7917 (make_device_name): Escape commas.
7918
78e08dc3
VS
79192011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
7922
9f421dd1
VS
79232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
7926 variable.
7927
ed64e9e2
VS
79282011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 Support trampoline jumps on powerpc.
7931
7932 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
7933 __ia64__ path.
7934 (grub_dl_load_segments): Set mod->sz.
7935 (grub_dl_flush_cache): Flush whole space occupied by module, not just
7936 segments.
7937 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
7938 (jump): Likewise.
7939 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
7940 function.
7941 (trampoline): New struct.
7942 (trampoline_template): New const.
7943 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
7944 * include/grub/dl.h (grub_dl): Add sz element.
7945 [__powerpc__]: Follow __ia64__.
7946 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
7947 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
7948 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
7949 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
7950
3084ede4
VS
79512011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7952
7953 ZFS crypto support.
7954
7955 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
7956 * grub-core/Makefile.core.def (zfscrypt): New module.
7957 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
7958 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
7959 it. All users updated.
7960 (grub_zfs_decrypt): New var.
7961 (grub_zfs_load_key): Likewise.
7962 (zio_checksum_functions): Add SHA256+MAC.
7963 (zio_checksum_verify): Handle incomplete comparison due to MAC.
7964 (zio_read): Handle encrypted blocks.
7965 (zap_verify): Remove incorrect check.
7966 (fzap_iterate): Handle non-standard fzap.
7967 (zap_iterate): Likewise.
7968 (zap_iterate_u64): New function.
7969 (dnode_get_fullpath): Load keys.
7970 * grub-core/fs/zfs/zfscrypt.c: New file.
7971 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
7972 (grub_crypto_ecb_encrypt): Make input const.
7973 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
7974 (grub_crypto_ecb_encrypt): Make input const.
7975 (GRUB_CIPHER_AES): New macro.
7976 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
7977 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
7978 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
7979 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
7980 prefix. All users updated.
7981 (grub_zfs_add_key): New proto.
7982 (grub_zfs_decrypt): Likewise.
7983 (grub_zfs_load_key): Likewise.
7984 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
7985 * util/grub-fstest.c (options): Add -K option.
7986 (argp_parser): Likewise.
7987
b632b404
VS
79882011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 Support zle compression on ZFS.
7991
7992 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
7993 (decomp_table): Add zle.
7994 * include/grub/zfs/zio.h (zio_compress): Add zle.
7995
c7ba4f69
VS
79962011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 Support BtrFS embedding.
7999
8000 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8001 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8002 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8003 * util/grub-setup.c (setup): Use fs embedding if available.
8004 Add additional sanity check.
8005
455377d9
VS
80062011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * util/grub-install.in: Fix condition for config_opt.
8009
c2fd16ca
VS
80102011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 Support third redundancy strip on raidz3.
8013
8014 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8015 Return error on singularity. All users updated.
8016 (read_device): Don't stop on 3rd failure on raidz3.
8017
8622923b
VS
80182011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 Support case-insensitive ZFS subvolumes.
8021
8022 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8023 All users updated.
8024 (zap_hash): Likewise.
8025 (name_cmp): New function.
8026 (zap_leaf_array_equal): New parameter case_insensitive.
8027 All users updated.
8028 (zap_leaf_lookup): Likewise.
8029 (fzap_lookup): Likewise.
8030 (zap_lookup): Likewise.
8031 (dnode_get_path): New parameter case_insensitive. Retrieve case
8032 sensitiviness of a volume. All users updated.
8033 (dnode_get_fullpath): New parameter case_insensitive.
8034 All users updated.
8035 (grub_zfs_dir): Set info.case_insensitiveness.
8036
95f2e860
VS
80372011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 Support second redundancy strip on raidz(2,3).
8040
8041 * grub-core/fs/zfs/zfs.c (powx): New array.
8042 (powx_inv): Likewise.
8043 (poly): New const.
8044 (xor_out): New function.
8045 (gf_mul): Likewise.
8046 (recovery): Likewise.
8047 (read_device): Use second redundancy strip.
8048
11ee4389
VS
80492011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8050
8051 Use a power of generator representation of GF(256) multiplication group
8052 to save space time and complexity.
8053
8054 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8055 (raid6_table2): Likewise.
8056 (powx): New array.
8057 (powx_inv): Likewise.
8058 (poly): New const.
8059 (grub_raid_block_mul): Replace with ...
8060 (grub_raid_block_mulx): ...this.
8061 (grub_raid6_init_table): Rewritten.
8062 (grub_raid6_recover): Use power of generator representation.
8063
09e2763f
VS
80642011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8067 for the right device.
8068
8bec9a28
VS
80692011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8072 expected by grub-mkimage and it's more clear since there is no implicit
8073 padding.
8074
dbd3a32e
VS
80752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8078 disk.
8079 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8080
182c872a
PMH
80812011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8082
8083 * util/grub-mkrescue.in: Fix handling xorriso option.
8084
1e51cabd
VS
80852011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8088 NULL.
8089
9cc3581d 80902011-11-03 crocket <crockabiscuit@gmail.com>
8091
8092 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8093
158dc1ea
VS
80942011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 XZ CRC64 and SHA256 support.
8097
8098 * Makefile.util.def (libgrubmods): Add crc64.c.
8099 * grub-core/Makefile.core.def (crc64): New module.
8100 * grub-core/lib/crc64.c: New file.
8101 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8102 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8103 Fix the type.
8104 (MAX_HASH_SIZE): New define.
8105 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8106 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8107 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8108 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8109 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8110 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8111 Handle non-crc32 hashes.
8112 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8113 (dec_stream_header): Handle non-crc32 hashes.
8114 (dec_stream_footer): Likewise.
8115 (dec_block_header): Likewise.
8116 (dec_main): Likewise.
8117 (xz_dec_init): Likewise.
8118 (xz_dec_reset): Likewise.
8119 (xz_dec_end): Likewise.
8120 * util/import_gcry.py: Add CRC64 line.
8121
9d9b3d2f
VS
81222011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8125 as well.
8126
7d0ac931
VS
81272011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8128
8129 Make reiserfs label retrieval similar to other *_label functions.
8130
8131 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8132 (REISERFS_MAX_LABEL_LENGTH): Removed.
8133 (REISERFS_LABEL_OFFSET): Likewise.
8134 (grub_reiserfs_label): Rewritten.
8135
81362011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8139 field.
8140
cf5ba824
VS
81412011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8144
17744004
VS
81452011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8148 drive failure on both raidz and raidz2.
8149
aca5aefc
VS
81502011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 Fix RAIDZ(2) for >= 5 devices.
8153
8154 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8155 asize argument. All users updated.
8156
ce8ca56e
VS
81572011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 Fix RAIDZ(2).
8160
8161 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8162 (fill_vdev_info_real): Set ashift.
8163 (read_device): Rewrite RAIDZ part based on reverse engineering.
8164
7c01e783
VS
81652011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8168 don't report potentially unavialiable fields in debug output.
8169 (find_path): Fix double-free and memory leak.
8170
ce109e84
VS
81712011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 Read label on UFS1.
8174
8175 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8176 (grub_ufs_fs): Always set .label.
8177
87661123
VS
81782011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 Use shifts in UFS.
8181
8182 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8183 (grub_ufs_data): New field log2_blksz.
8184 (grub_ufs_read_file): Use shifts.
8185 (grub_ufs_mount): Check block size and logarithm it.
8186
46bc1dc2
VS
81872011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8190 long symlinks.
8191
19ee2987
VS
81922011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 Handle symlinks and long names on tar and cpio.
8195
8196 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8197 (ATTR_FILE): Likewise.
8198 (ATTR_DIR): Likewise.
8199 (ATTR_LNK): Likewise.
8200 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8201 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8202 L and K entries.
8203 (grub_cpio_mount): Zero-fill data.
8204 (handle_symlink): New function.
46bc1dc2
VS
8205 (grub_cpio_dir): Handle symlinks.
8206 (grub_cpio_open): Likewise.
8207 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 8208
c83a08d8
VS
82092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 Fix iso9660 filename limitations and fix memory leaks.
8212
8213 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8214 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8215
45cdd3ea
VS
82162011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 Fix JFS file name length limitations.
8219
8220 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8221 (grub_jfs_diropen): Fix maximum filename length.
8222 (grub_jfs_getent): Fix filename length.
8223 (grub_jfs_lookup_symlink): Fix size checks.
8224
94ef05c2
VS
82252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8228 string.
8229
785ab8c7
VS
82302011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8231
eb0b6b45
VS
8232 Leverage BFS implementation to read AFS.
8233
8234 * Makefile.util.def (libgrubmods): Add afs.c.
8235 * grub-core/Makefile.core.def (afs): New module
8236 * grub-core/fs/afs.c: New file.
8237 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8238
82392011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 8242
c4a1628f
VS
82432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * grub-core/fs/bfs.c: Run indent.
8246
5825b379
VS
82472011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 BFS implementation based on the specification.
8250
8251 * grub-core/fs/bfs.c: New file.
8252 * Makefile.util.def (libgrubmods): Add bfs.c.
8253 * grub-core/Makefile.core.def (bfs): New module.
8254
42b2a706
VS
82552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 * util/grub-fstest.c (cmd_cp): Clarify error message.
8258 (cmd_cmp): Likewise.
8259
61b99bfc
YB
82602011-10-30 Yves Blusseau <blusseau@zetam.org>
8261
8262 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8263 and befs_be.
8264
faba3d16
VS
82652011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 Remove afs and befs because of copyright problem.
8268
8269 * grub-core/fs/afs.c: Removed.
8270 * grub-core/fs/afs_be.c: Removed.
8271 * grub-core/fs/befs.c: Removed.
8272 * grub-core/fs/befs_be.c: Removed.
8273 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8274 * grub-core/Makefile.core.def (afs): Removed.
8275 (afs_be): Likewise.
8276 (befs): Likewise.
8277 (befs_be): Likewise.
8278
c39224b0
VS
82792011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 Prefer rockridge over Joliet.
8282
8283 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8284 to ...
8285 (set_rockridge): ... here.
8286 (grub_iso9660_mount): Check rockridge on the primary label when
8287 discovering. Ignore Joliet if Rockridge is present.
8288
e551115a
VS
82892011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 Use shifts in nilfs2.
8292
8293 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8294 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8295 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8296 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8297 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8298 (grub_nilfs2_entries_per_block): Replaced with ...
8299 (grub_nilfs2_log_entries_per_block_log): ... this.
8300 (grub_nilfs2_blocks_per_group): Replaced with ...
8301 (grub_nilfs2_blocks_per_group_log): ... this.
8302 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8303 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8304 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8305 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8306 (grub_nilfs2_palloc_entry_offset): Replaced ...
8307 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8308 (grub_nilfs2_dat_translate): Use shifts.
8309 (grub_nilfs2_read_inode): Likewise.
8310 (GRUB_MOD_INIT): Ensure that logs are correct.
8311
564dd58c
VS
83122011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 Use shifts in minix filesystem.
8315
8316 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8317 (GRUB_MINIX_ZONE2SECT): Likewise.
8318 (grub_minix_data): Replace block_size with log_block_size.
8319 (grub_minix_read_file): Use shifts.
8320 (grub_minix_mount): Check block size and take a logarithm.
8321
ed9ba06d
VS
83222011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 Use shifts in squash4.
8325
8326 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8327 (squash_mount): Check block size and take logarithm.
8328 (direct_read): Use shifts.
8329
ad03fe76
VS
83302011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8331
8332 Correct befs block counting logic.
8333
8334 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8335 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8336 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8337 (grub_afs_read_inode): Use block_shift.
8338 (RANGE_SHIFT): New definition.
8339 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8340 unexpected conditions, use shifts and appropriate types.
8341 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8342
6563f63d
VS
83432011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * grub-core/disk/raid.c (scan_devices): Check partition.
8346 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8347
5b1ae25f
VS
83482011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 Support BFS (befs) UUID.
8351
8352 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8353 (grub_afs_small_data_element_header): New struct.
8354 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8355 (grub_afs_read_attribute) [MODE_BFS]: New function.
8356 (grub_afs_iterate_dir): Allocate for complete inode.
8357 (grub_afs_mount): Likewise.
8358 (grub_afs_uuid) [MODE_BFS]: New function.
8359 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8360
f8d82408
VS
83612011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8364 (zfs_unmount): Fix memory leak.
8365
5773fb64
VS
83662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 Support NTFS reparse points.
8369
8370 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8371 (symlink_descriptor): New struct.
8372 (grub_ntfs_read_symlink): New function.
8373 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8374 (grub_ntfs_open): Likewise.
8375
91c3fdde
VS
83762011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8379
3be82e10
VS
83802011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 fstest xnu_uuid subcommand.
8383
8384 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8385 grub-core/commands/xnu_uuid.c.
8386 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8387 (fstest): Handle xnu_uuid.
8388 (options): Document xnu_uuid.
8389 (argp_parser): Parse xnu_uuid.
8390
8e32442e
VS
83912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8394 -l argument. Add newline at the end if printing.
8395 (GRUB_MOD_INIT): Document -l.
8396
52a05075
VS
83972011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8400
1869edb5
VS
84012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 ZFS multi-device and version 33 support.
8404
8405 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8406 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8407 (grub_zfs_data): Add multidev-ice-related fields.
8408 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8409 (dva_get_offset): Make dva const.
8410 (zfs_fetch_nvlist): New function.
8411 (fill_vdev_info_real): Likewise.
8412 (fill_vdev_info): Likewise.
8413 (check_pool_label): Likewise.
8414 (scan_disk): Likewise.
8415 (scan_devices): Likewise.
8416 (read_device): Likewise.
8417 (read_dva): Likewise.
8418 (zio_read_gang): Use read_dva.
8419 (zio_read_data): Likewise.
8420 (zap_leaf_lookup): Add missing endian conversion.
8421 (zap_verify): Add missing endian conversion. All users updated.
8422 (fzap_lookup): Likewise.
8423 (fzap_iterate): Likewise.
8424 (dnode_get_path): Handle SA bonus.
8425 (nvlist_find_value): Make input const. All users updated.
8426 (unmount_device): New function.
8427 (zfs_unmount): Use unmount_device.
8428 (zfs_mount): Use scan_disk.
8429 (zfs_mtime): New function.
8430 (grub_zfs_open): Handle system attributes.
8431 (fill_fs_info): Likewise.
8432 (grub_zfs_dir): Likewise.
8433 (grub_zfs_fs): Add mtime.
8434 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8435 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8436 (SA_MTIME_OFFSET): Likewise.
8437 (SA_SYMLINK_OFFSET): Likewise.
8438 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8439 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8440 (fstest): Support zfsinfo.
8441 (argp_parser): Likewise.
8442
186b4028
VS
84432011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8446 error.
8447
84482011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
8449
8450 ZFS fixes.
8451
8452 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8453 sharing the same block. Iterate over correct number of indices.
8454 (dnode_get_path): Handle symlinks correctly.
8455
c0584900
VS
84562011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8459
67e2bd71
VS
84602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 Read label on HFS+.
8463
8464 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8465 (grub_hfsplus_btree_search): Fix types.
8466 (grub_hfsplus_label): Implement.
8467
e9cc6b7b
VS
84682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8471
19832ddb
VS
84722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8475
66b40850
VS
84762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 Fix symlink handling on iso9660.
8479
8480 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8481 All users updated.
8482 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8483 (grub_iso9660_read_symlink): Moved most of code ...
8484 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8485
db821363
VS
84862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8489 Use union to avoid breaking strict-aliasing rules.
8490
e1211949
VS
84912011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 Support multi-extent iso files.
8494
8495 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8496 Add node.
8497 (grub_fshelp_node): Revamp. All users updated.
8498 (FLAG_*): New enum.
8499 (read_node): New function.
8500 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8501 All users updated.
8502 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8503 (get_node_size): New function.
8504 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8505 entries.
8506 Fix memory leak on . and ..
8507 (grub_iso9660_read): Use read_node.
8508 (grub_iso9660_close): Free node.
8509
d4888031
VS
85102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 Fix tar 4G limit and handle paths containing dot.
8513
8514 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8515 (canonicalize): New function.
8516 (grub_cpio_find_file): Use canonicalize. Store offs in
8517 grub_disk_addr_t.
8518 (grub_cpio_dir): Use grub_disk_addr_t.
8519 (grub_cpio_open): Likewise.
8520
9f12e664
VS
85212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8524
8525 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8526 unused flags.
8527 (grub_squash_inode): Add long_file and block_size.
8528 (grub_squash_cache_inode): New struct.
8529 (grub_squash_dirent): Make types into enum.
8530 (SQUASH_TYPE_LONG_REGULAR): New type.
8531 (grub_squash_frag_desc): Add field size.
8532 (SQUASH_BLOCK_FLAGS): New enum.
8533 (grub_squash_data): Use grub_squash_cache_inode.
8534 (grub_fshelp_node): Make ino_chunk 64-bit.
8535 (read_chunk): Minor argument change. All users updated.
8536 (squash_mount): Use correct le_to_cpu.
8537 (grub_squash_open): Handle LONG_REGULAR.
8538 (direct_read): New function.
8539 (grub_squash_read_data): Handle blocks correctly.
8540
9f326fba
VS
85412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8544
f4d9b64b
VS
85452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8548
5bbd28b8
VS
85492011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 Fix 2G limit on ZFS.
8552
8553 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
8554 types.
8555 (uberblock_verify): Likewise.
8556 (dmu_read): Likewise.
8557 (grub_zfs_read): Likewise. Remove invalid cast.
8558
68c72069
VS
85592011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
8562 (grub_jfs_blkno): Fix incorrect shift.
8563 (grub_jfs_read_file): Use more appropriate types.
8564
6e536dc8
VS
85652011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 Support triple indirect on minix2 and minix3.
8568
8569 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
8570 Declare triple_indir_zone.
8571 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
8572 indirect.
8573
e0864e7a
VS
85742011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 Minix FS fixes.
8577
8578 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
8579 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
8580 Rename ctime to mtime. All users updated.
8581 (grub_minix_get_file_block): Fix types and double indirect computations.
8582
89481cab
VS
85832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8584
8585 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
8586 if no label is found.
8587 (grub_fat_iterate_dir): Fix file size type.
8588 (grub_fat_iterate_dir): Likewise.
8589
f646e143
VS
85902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
8593 save some space.
8594 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8595 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8596
534d769e
VS
85972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8598
8599 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
8600
e084ba18
VS
86012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * util/import_gcry.py: Accept space between # and include.
8604
3471ecdf
VS
86052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
8608
124df5f6
VS
86092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8610
8611 Fine grainely disable warnings on lexer. Remove Wno-error on it.
8612
8613 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
8614 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
8615 yylex_strncpy.
8616 * grub-core/script/yylex.l: Add fine-grained #pragma.
8617
4defb8d5
VS
86182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
8621 New inline function.
8622 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
8623 Likewise.
8624 (memset) [GRUB_UTIL]: Likewise.
8625 (memcmp) [GRUB_UTIL]: Likewise.
8626
4e94ae65
VS
86272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
8630 inline function rather than a define.
8631
18c575e5
VS
86322011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * util/grub-setup.c: Add missing include.
8635
f8bc22a8
VS
86362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 * util/ieee1275/grub-ofpathname.c: Add missing include.
8639
3ce69fc9
VS
86402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
8643 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
8644 Likewise.
8645
d1e293bb
VS
86462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
8649 grub_memcmp usage.
8650
7a5c54a4
VS
86512011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * util/grub-install.in: Add datarootdir as per automake manual
8654 suggestion.
8655 * util/grub-mknetdir.in: Likewise.
8656
86572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
8658
8659 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
8660 suggestion.
8661 * util/grub.d/10_kfreebsd.in: Likewise.
8662 * util/grub.d/10_linux.in: Likewise.
8663 * util/grub.d/10_netbsd.in: Likewise.
8664 * util/grub.d/10_windows.in: Likewise.
8665 * util/grub.d/20_linux_xen.in: Likewise.
8666
766f7d08
VS
86672011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 Remove redundant grub_kernel_image_size.
8670
8671 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
8672 _edata and _start.
8673 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
8674 the small code. It moves it only by few bytes but simplifies the code.
8675 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
8676 _start.
8677 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
8678 (grub_kernel_image_size): Removed.
8679 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
8680 (grub_kernel_image_size): Removed.
8681 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
8682 compiled with Apple toolchain.
8683 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
8684 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
8685 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
8686 (grub_total_module_size): Likewise.
8687 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
8688 Removed.
8689 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
8690 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
8691 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8692 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
8693 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
8694 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
8695 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
8696 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
8697 Removed.
8698 (grub_total_module_size): Removed.
8699 * util/grub-mkimage.c (image_target_desc): Remove image_size.
8700 (image_targets): Likewise.
8701 Set .compressed_size to no field on sparc.
8702 (generate_image): Remove kernel_image_size handling.
8703
fcf1d672
SJ
87042011-10-19 Szymon Janc <szymon@janc.net.pl>
8705
8706 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
8707 NULL pointer dereference.
8708
de9c615e
VS
87092011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
8712 done with a dedicated section.
8713
8714 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
8715 Ensure the correct position of boot_path.
8716 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
8717 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
8718 other fields.
8719 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
8720 * include/grub/boot.h: Removed. All references removed.
8721 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8722 Removed.
8723 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
8724
e55599dc
VS
87252011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
8728 name.
8729
36dd20ad
VS
87302011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
8733
f8f72eb8
VS
87342011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8737 Don't add the bogus brackets.
8738
a374751b
VS
87392011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 ExFAT support.
8742
8743 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
8744 * grub-core/Makefile.core.def (exfat): New module.
8745 * grub-core/fs/exfat.c: New file.
8746 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
8747 (GRUB_FAT_ATTR_*): Make into an enum.
8748 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
8749 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
8750 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
8751 (GRUB_FAT_MAXFILE): Removed.
8752 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
8753 (grub_current_fat_bpb_t): New type.
8754 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
8755 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
8756 (grub_fat_dir_node_t): New type.
8757 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
8758 (fat_log2) [MODE_EXFAT]: Removed.
8759 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
8760 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
8761 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
8762 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
8763 (grub_fat_label) [MODE_EXFAT]: New function.
8764 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
8765 reserved_first_sector to 0.
8766
544c2487
VS
87672011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 Move grub_reboot out of the kernel.
8770
8771 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
8772 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
8773 * grub-core/lib/efi/reboot.c: ... here.
8774 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
8775 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8776 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
8777 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
8778 * grub-core/lib/i386/reboot_trampoline.S: ... here.
8779 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
8780 * grub-core/lib/ieee1275/reboot.c: ... here.
8781 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
8782 * grub-core/lib/mips/arc/reboot.c: ... here.
8783 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
8784 * grub-core/lib/mips/loongson/reboot.c: ...here.
8785 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
8786 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
8787 * include/grub/emu/misc.h (grub_reboot): New function declaration.
8788 * include/grub/i386/reboot.h: New file.
8789 * include/grub/mips/loongson/ec.h: Fix includes.
8790 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
8791 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
8792 * grub-core/lib/i386/reboot.c: New file.
8793
a97501d2
VS
87942011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 Make grub_prefix into module to fix the arbitrary limit and save
8797 some space.
8798
8799 * grub-core/kern/emu/main.c (grub_prefix): Removed.
8800 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
8801 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
8802 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
8803 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
8804 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
8805 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
8806 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
8807 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
8808 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
8809 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
8810 * include/grub/ia64/efi/kernel.h: Removed.
8811 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
8812 (grub_prefix): Removed.
8813 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
8814 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
8815 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
8816 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
8817 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
8818 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
8819 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
8820 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
8821 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
8822 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
8823 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8824 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8825 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8826 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8827 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
8828 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
8829 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
8830 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8831 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
8832 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
8833 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
8834 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
8835 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
8836 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
8837 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
8838 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
8839 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
8840 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
8841 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
8842 from module.
8843 * util/grub-mkimage.c (image_target_desc): Removed prefix and
8844 prefix_end.
8845 (image_targets): Likewise.
8846 (generate_image): Put prefix as a module.
8847
39705fad
VS
88482011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8849
8850 Replace grub_module_iterate with FOR_MODULES.
8851
8852 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
8853 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
8854 (grub_efi_modules_addr): ...this.
8855 * grub-core/kern/efi/init.c (grub_modbase): New variable.
8856 (grub_efi_init): Set grub_modbase.
8857 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
8858 (grub_modbase): New variable.
8859 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
8860 (grub_modbase): New variable.
8861 (grub_machine_init): Set grub_modbase.
8862 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
8863 (grub_modbase): New variable.
8864 (grub_machine_init): Set grub_modbase.
8865 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
8866 (grub_modbase): New variable.
8867 (grub_machine_init): Set grub_modbase.
8868 * grub-core/kern/main.c (grub_module_iterate): Remove.
8869 (grub_modules_get_end): Use grub_modbase.
8870 (grub_load_modules): Use FOR_MODULES.
8871 (grub_load_config): Likewise.
8872 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
8873 (grub_modbase): New variable.
8874 (grub_machine_init): Set grub_modbase.
8875 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
8876 (grub_modbase): New variable.
8877 (grub_machine_init): Set grub_modbase.
8878 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
8879 Removed.
8880 (grub_modbase): New variable.
8881 (grub_machine_init): Set grub_modbase.
8882 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
8883 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
8884 (grub_module_iterate): Likewise.
8885 (grub_modbase): New variable declaration.
8886 (FOR_MODULES): New macro.
8887
2afb7f6c
VS
88882011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 * configure.ac: Check for __ctzdi2 and __ctzsi2.
8891 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
8892
366e34fa
VS
88932011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 Fix few obvious type discrepancies.
8896
8897 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
8898 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
8899 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
8900 variable.
8901 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
8902 and connected types.
8903 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
8904 offset.
8905 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
8906 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
8907 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
8908 and connected types.
8909
177b960e
VS
89102011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 Fix python 3.x incompatibilities.
8913
8914 * gentpl.py: Put brackets around print strings.
8915 * util/import_gcry.py: Open explicitly as utf-8.
8916 Use in instead of has_key.
8917
3b619ae1
VS
89182011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
8921 (GRUB_XFS_INO_AGBITS): Make into inline function.
8922 (GRUB_XFS_INO_INOINAG): Likewise.
8923 (GRUB_XFS_INO_AG): Likewise.
8924 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8925 (GRUB_XFS_EXTENT_OFFSET): Likewise.
8926 (GRUB_XFS_EXTENT_BLOCK): Likewise.
8927 (GRUB_XFS_EXTENT_SIZE): Likewise.
8928 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
8929 (GRUB_XFS_NEXT_DIRENT): Likewise.
8930 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
8931 (grub_xfs_read_file): Fix offset type.
8932
8bcebcb8
RM
89332011-10-15 Robert Millan <rmh@gnu.org>
8934
8935 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
8936
0017e5ef
RM
89372011-10-15 Robert Millan <rmh@gnu.org>
8938
8939 Fix build problem on FreeBSD and GNU/kFreeBSD.
8940
8941 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
8942
d8919552
VS
89432011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
8946
8947 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
8948 types.
8949 (grub_hfsplus_btree_recoffset): Likewise.
8950 (grub_hfsplus_btree_recptr): Likewise.
8951 (grub_hfsplus_find_block): Likewise.
8952 (grub_hfsplus_btree_search): Likewise.
8953 (grub_hfsplus_read_block): Likewise.
8954 (grub_hfsplus_read_file): Likewise.
8955 (grub_hfsplus_mount): Likewise.
8956 (grub_hfsplus_btree_iterate_node): Likewise.
8957 (grub_hfsplus_btree_search): Likewise.
8958 (grub_hfsplus_iterate_dir): Likewise.
8959 (grub_hfsplus_read): A small code simplification.
8960
c81296b6
VS
89612011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * grub-core/kern/emu/hostdisk.c
8964 (convert_system_partition_to_system_disk): Don't assume that children
8965 of mapper nodes are mapper nodes.
8966
0eb8ffb1
VS
89672011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
8970 * include/grub/misc.h (grub_isxdigit): New function.
8971 * grub-core/video/colors.c (my_isxdigit): Removed. All users
8972 switched to grub_isxdigit.
8973 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
8974 number starting with a letter.
8975
a98f4a08
RM
89762011-10-09 Robert Millan <rmh@gnu.org>
8977
8978 LVM support for FreeBSD and GNU/kFreeBSD.
8979
8980 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
8981 GNU/kFreeBSD.
8982 (LVM_DEV_MAPPER_STRING): Move from here ...
8983 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
8984 * util/getroot.c: Include `<grub/util/lvm.h>'.
8985 (grub_util_get_dev_abstraction): Enable
8986 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
8987 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
8988 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
8989 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
8990 support it.
8991 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
8992 GNU/kFreeBSD.
8993 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
8994 when LVM abstraction is required for ${GRUB_DEVICE}.
8995
050e8e90
SJ
89962011-10-06 Szymon Janc <szymon@janc.net.pl>
8997
8998 Add support for LZO compression in GRUB:
8999 - import of minilzo library,
9000 - LZO decompression for btrfs,
9001 - lzop files decompression.
9002
9003 * grub-core/io/lzopio.c: New file.
9004 * grub-core/lib/adler32.c: Likewise.
9005 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9006 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9007 * grub-core/lib/minilzo/minilzo.c: Likewise.
9008 * grub-core/lib/minilzo/minilzo.h: Likewise.
9009 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9010 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9011 grub-core/lib/minilzo/minilzo.c to common.
9012 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9013 cflags in cppflags.
9014 * grub-core/Makefile.core.def (btrfs): Likewise.
9015 * grub-core/Makefile.core.def (lzopio): New module.
9016 (adler32): Likewise.
9017 * grub-core/fs/btrfs.c: Include minilzo.h.
9018 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9019 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9020 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9021 (grub_btrfs_lzo_decompress): New function.
9022 (grub_btrfs_extent_read): Add support for LZO compression type.
9023 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9024 (GRUB_USHRT_MAX): Likewise.
9025 (GRUB_UINT_MAX): Likewise.
9026 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9027 (UINT_MAX): Likewise.
9028 (CHAR_BIT): Likewise.
9029 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9030 grub-core/lib/posix_wrap/limits.h
9031 (UCHAR_MAX): Likewise.
9032 * include/grub/file.h (grub_file_filter_id): New compression filter
9033 GRUB_FILE_FILTER_LZOPIO.
9034 * include/grub/file.h (grub_file_filter_id): Set
9035 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9036 * include/grub/types.h (grub_get_unaligned16): New function.
9037 (grub_get_unaligned32): Likewise.
9038 (grub_get_unaligned64): Likewise.
9039 * util/import_gcry.py (cryptolist): Add adler32.
9040
0eb8ffb1
VS
90412011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9044 in perspective decreases the complexity of build system and fixes
9045 compilation right now.
9046
ce79cc99 90472011-10-01 Ales Nesrsta <starous@volny.cz>
9048
9049 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9050 (fixed problem related to using UHCI with coreboot).
9051
8667a314
BC
90522011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9053
9054 * gentpl.py: Use Autogen macros so that the output template file
9055 (Makefile.tpl) size is reduced.
9056
fc5efcc0
MK
90572011-09-29 Mads Kiilerich <mads@kiilerich.com>
9058
9059 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9060 extra_dist.
9061
d1ab689d
ML
90622011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9063
9064 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9065 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9066
c05de032
ML
90672011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9068
9069 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9070 _fullpath.
9071
cca7ccd8
ML
90722011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9073
9074 Remove extra declaration of sleep for mingw32.
9075
9076 * util/misc.c (sleep) [__MINGW32__]: Removed.
9077 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9078
e0b0dc83
GS
90792011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9080
9081 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9082 type and packname.
9083 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9084 Resurrected.
9085 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9086 (grub_netbsd_btinfo_bootwedge): New struct.
9087 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9088 New function.
9089 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9090
91a1a164
TH
90912011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9092
9093 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9094 loader.
9095
2ded951e
AB
90962011-09-28 Andreas Born <futur.andy@googlemail.com>
9097
9098 Fix incorrect identifiers in bash-completion.
9099
9100 * util/bash-completion.d/grub-completion.bash.in
9101 (_grub_mkpasswd-pbkdf2): Rename to ...
9102 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9103 (_grub_script-check): Rename to ...
9104 (_grub_script_check): ... this. All users updated.
9105
69915030
VS
91062011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9109 Return 0 if disk isn't biosdisk.
9110
20fd15f9
GS
91112011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9112
9113 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9114 on NetBSD.
9115 * Makefile.util.def (grub-fstest): Likewise.
9116
1a7d7db9
GS
91172011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9118
9119 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9120 Get sector size from disk label.
9121
2221ab6c
CW
91222011-09-05 Colin Watson <cjwatson@ubuntu.com>
9123
9124 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9125 */README* as well as README*.
9126 Reported by: Axel Beckert.
9127
ca51c4a0
VS
91282011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9131 case of less than 256 MiB of RAM.
9132
ab80f326
VS
91332011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * grub-core/commands/wildcard.c (make_regex): Handle @.
9136
4155e697
VS
91372011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9140
ab178c08
SJ
91412011-08-21 Szymon Janc <szymon@janc.net.pl>
9142
9143 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9144 AC_LANG_CONFTEST macros.
9145
7dc3c686
SJ
91462011-08-20 Szymon Janc <szymon@janc.net.pl>
9147
9148 Add grub-fstest option to uncompress data for commands.
9149
9150 * util/grub-fstest.c (uncompress): New var.
9151 (options): New option -u.
9152
fe8d4a7b
SJ
91532011-08-20 Szymon Janc <szymon@janc.net.pl>
9154
9155 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9156 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9157
a5219af1
SJ
91582011-08-20 Szymon Janc <szymon@janc.net.pl>
9159
9160 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9161 file type was not recognized correctly (not gzip or corrupted).
9162
f87abff5
VS
91632011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9166 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9167
d94497ea
VS
91682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9171 loongson.
9172 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9173 video_radeon_fuloong2e.
9174 * grub-core/video/radeon_fuloong2e.c: New file.
9175 * include/grub/video.h (grub_video_id_t): Add new ID
9176 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9177
0d1fd011
VS
91782011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9181 define.
9182 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9183 that PRID matches the detected subplatform and reset the subplatform
9184 if it doesn't.
9185
84beb0ee
VS
91862011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9189
1227c133
VS
91902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 Fix PCI iterating on functions >= 4.
9193
9194 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9195 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9196 Removed.
9197 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9198 (grub_pci_read): Fix bitmask.
9199 (grub_pci_read_word): Likewise.
9200 (grub_pci_read_byte): Likewise.
9201 (grub_pci_write): Likewise.
9202 (grub_pci_write_word): Likewise.
9203 (grub_pci_write_byte): Likewise.
9204
9594c689
VS
92052011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9208 can still be specified in TARGET_CFLAGS)
9209
14a2562c
VS
92102011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9213
9214 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9215 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9216 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9217 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9218 (FULOONG): Rename to ...
9219 (FULOONG2F): ... this. All users updated.
9220 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9221 (machtype_fuloong2f_str): ... this.
9222 (machtype_fuloong2e_str): New string.
9223 Check for machtype_fuloong2e_str.
9224 * grub-core/loader/mips/linux.c (loongson_machtypes)
9225 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9226 * grub-core/term/serial.c (loongson_defserial)
9227 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9228 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9229 loongson_defserial.
9230 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9231 Rename to ...
9232 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9233 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9234 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9235 to IMAGE_FULOONG2F_FLASH. All users updated.
9236 (image_targets): Rename images.
9237 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9238
b526cbb6
SJ
92392011-08-19 Szymon Janc <szymon@janc.net.pl>
9240
9241 Make enable of disk cache statistics code configurable.
9242
9243 * configure.ac: --enable-cache-stats added.
9244 * config.h.in (DISK_CACHE_STATS): New define.
9245 * grub-core/Makefile.core.def (cacheinfo): New command.
9246 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9247 * grub-core/commands/cacheinfo.c: New file.
9248 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9249 moved to cacheinfo.c.
9250 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9251 debug code.
9252 * include/grub/disk.h: Likewise.
9253
fb739ccd
SJ
92542011-08-19 Szymon Janc <szymon@janc.net.pl>
9255
9256 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9257 * grub-core/Makefile.am: Likewise.
9258
2bba8cfd
VS
92592011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9262 non-zero pull.
9263
43526629
VS
92642011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9267 All users updated.
9268 (grub_jfs_lookup_symlink): Use correct starting inode.
9269
5c144cc8
VS
92702011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9271
9272 * util/grub-setup.c (main): Add missing gcry initialisation.
9273
b1257f65
VS
92742011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 Don't accept text modes on EFI when booting Linux.
9277
9278 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9279 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9280
828bc390
ML
92812011-08-15 Mario Limonciello <mario_limonciello@dell.com>
92822011-08-15 Colin Watson <cjwatson@ubuntu.com>
9283
9284 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9285 use of "/path/.." as in grub-install for EFI as well as handling
9286 symlinks correctly.
9287 Fixes Debian bug #637768.
9288
5f60ccac
CW
92892011-08-15 Colin Watson <cjwatson@ubuntu.com>
9290
9291 * util/grub-probe.c: Remove duplicate #include.
9292
6dc212f9
RM
92932011-08-10 Robert Millan <rmh@gnu.org>
9294
9295 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9296
9297 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9298 function.
9299 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9300 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9301
66816d85
RM
93022011-08-03 Robert Millan <rmh@gnu.org>
9303
9304 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9305 la_array as packed.
9306 Reported by: Zachary Bedell
9307
20168fca
CW
93082011-07-26 Colin Watson <cjwatson@ubuntu.com>
9309
9310 * configure.ac: The Loongson port requires grub-mkfont due to its
9311 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9312 be built.
9313
303b6246
CW
93142011-07-26 Colin Watson <cjwatson@ubuntu.com>
9315
9316 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9317 processing arguments (otherwise help2man fails when GRUB has not yet
9318 been installed).
9319
6795300e
VS
93202011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9321
41aa28ea
VS
9322 New script grub-mkstandalone.
9323
9324 * Makefile.util.def (grub-mkstandalone): New script.
9325 * docs/man/grub-mkstandalone.h2m: New file.
9326 * util/grub-mkstandalone.in: Likewise.
9327
93282011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 Support ATA disks with 4K sectors.
6795300e
VS
9331
9332 * include/grub/ata.h (grub_ata): New member log_sector_size.
9333 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9334 (grub_ata_identify): Read sector size.
9335 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9336
92227597
VS
93372011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9338
9339 * util/grub-install.in: Don't use uhci outside of x86.
9340
c77069f5
VS
93412011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 * util/grub-mkrescue.in: Add missing quotes.
9344
93452011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
9346
9347 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9348 dereference.
9349
583168a2
VS
93502011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9353
6be1c01f
VS
93542011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9355
9356 * include/grub/video.h: add missing EXPORT_FUND on
9357 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9358
a1167439
VS
93592011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * include/grub/mips/kernel.h: Fix define conflict.
9362
bf66054f
VS
93632011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9366 all four ways.
9367
8fc4fa45
CW
93682011-07-21 Colin Watson <cjwatson@ubuntu.com>
9369
9370 Preferred resolution detection for VBE.
9371
9372 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9373 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9374 the Flat Panel extension, in line with the X.org VESA driver.
9375 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9376 New function.
9377 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9378 (grub_vbe_bios_read_edid): Likewise.
9379 (grub_vbe_get_preferred_mode): Likewise.
9380 (grub_video_vbe_setup): When the mode is "auto", try to get the
9381 preferred mode from VBE, and use the largest mode that is no larger
9382 than the preferred mode (some BIOSes expose a preferred mode that is
9383 not in their mode list!). If this fails, fall back to 640x480 as a
9384 safe conservative choice.
9385 (grub_video_vbe_get_edid): New function.
9386 (grub_video_vbe_adapter): Add get_edid.
9387 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9388 (struct grub_video_adapter): Add get_edid.
9389 (grub_video_edid_checksum): Add prototype.
9390 (grub_video_edid_preferred_mode): Likewise.
9391 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9392 structure.
9393
9394 * grub-core/commands/videoinfo.c (print_edid): New function.
9395 (grub_cmd_videoinfo): Print EDID if available.
9396
9397 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9398 is more appropriate on a wider range of platforms than 640x480.
9399 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9400 documentation.
9401
ca5572a9
VS
94022011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9405
e4bcf625
VS
94062011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * po/POTFILES.in: Regenerate.
9409
c4edd548
VS
94102011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9413 incorrect memory usage.
9414
16a2bab0
VS
94152011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 * util/grub-install.in: Source grub-mkconfig_lib.
9418
2e418de6
VS
94192011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 Remove getroot.c from core on emu platform.
9422
9423 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9424 kern/emu/raid.c.
9425 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9426 useless.
9427 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9428 * util/getroot.c (get_win32_path): ... here.
9429 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9430 * util/getroot.c (fini_libzfs): ... here.
9431 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9432 * util/getroot.c (grub_get_libzfs_handle): ... here.
9433 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9434 Moved from here...
9435 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9436 * grub-core/kern/emu/misc.c
9437 (grub_make_system_path_relative_to_its_root): Moved from here...
9438 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9439 * grub-core/kern/emu/getroot.c: Moved from here ...
9440 * util/getroot.c: ... here. All users updated.
9441 * grub-core/kern/emu/raid.c: Moved from here ...
9442 * util/raid.c: ... here. All users updated.
9443
def9832a
VS
94442011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 * po/POTFILES.in: Regenerate.
9447
cd8fe79a
VS
94482011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 Fix compilation on GNU/Linux.
9451
9452 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9453 Disable geli.
9454 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9455 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9456 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9457
a251b719
VS
94582011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
94592011-07-07 Michael Gorven <michael@gorven.za.net>
94602011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9461
9462 LUKS and GELI support.
9463
9464 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9465 grub-core/disk/luks.c, grub-core/disk/geli.c,
9466 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9467 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9468 grub-core/lib/arg.c.
9469 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9470 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9471 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9472 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9473 (grub-bin2h): Add libgcry.a.
9474 (grub-mkimage): Likewise.
9475 (grub-mkrelpath): Likewise.
9476 (grub-script-check): Likewise.
9477 (grub-editenv): Likewise.
9478 (grub-mkpasswd-pbkdf2): Likewise.
9479 (grub-pe2elf): Likewise.
9480 (grub-fstest): Likewise.
9481 (grub-mkfont): Likewise.
9482 (grub-mkdevicemap): Likewise.
9483 (grub-probe): Likewise.
9484 (grub-ofpath): Likewise.
9485 (grub-mklayout): Likewise.
9486 (example_unit_test): Likewise.
9487 (grub-menulst2cfg): Likewise.
9488 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9489 * grub-core/Makefile.core.def (cryptodisk): New module.
9490 (luks): Likewise.
9491 (geli): Likewise.
9492 * grub-core/disk/AFSplitter.c: New file.
9493 * grub-core/disk/cryptodisk.c: Likewise.
9494 * grub-core/disk/geli.c: Likewise.
9495 * grub-core/disk/luks.c: Likewise.
9496 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9497 grub_util_is_lvm.
9498 (grub_util_get_dm_abstraction): New function.
9499 (grub_util_follow_gpart_up): Likewise.
9500 (grub_util_get_geom_abstraction): Likewise.
9501 (grub_util_get_dev_abstraction): Use new functions.
9502 (grub_util_pull_device): Pull GELI and LUKS.
9503 (grub_util_get_grub_dev): Handle LUKS and GELI.
9504 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9505 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9506 (follow_geom_up): Removed.
9507 (grub_util_fd_seek): New function.
9508 (open_device): Use grub_util_fd_seek.
9509 (nread): Rename to ..
9510 (grub_util_fd_read): ... this. All users updated.
9511 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9512 (grub_crypto_cbc_decrypt): Likewise.
9513 (grub_crypto_hmac_write): Likewise.
9514 (grub_crypto_hmac_buffer): Likewise.
9515 (grub_password_get): Extend to util.
9516 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9517 New member modname.
9518 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9519 * include/grub/cryptodisk.h: New file.
9520 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9521 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9522 LUKS and GELI.
9523 (grub_util_follow_gpart_up): New proto.
9524 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9525 (grub_util_fd_read): Likewise.
9526 (grub_cryptodisk_cheat_mount): Likewise.
9527 (grub_util_cryptodisk_print_uuid): Likewise.
9528 (grub_util_get_fd_sectors): Likewise.
9529 * util/grub-fstest.c (mount_crypt): New var.
9530 (fstest): Mount crypto if requested.
9531 (options): New option -C.
9532 (argp_parser): Parse -C.
9533 (main): Init and fini gcry.
9534 * util/grub-install.in: Support cryptodisk install.
9535 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9536 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9537 cryptodisk.
9538 (prepare_grub_to_access_device): Likewise.
9539 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9540 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9541 (probe_cryptodisk_uuid): New function.
9542 (probe_abstraction): Likewise.
9543 (probe): Use new functions.
9544 * util/import_gcry.py: Create Makefile.utilgcry.def.
9545 Add modname member.
9546
9bfdcbbc
VS
95472011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 Lazy device scanning.
9550
9551 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
9552 (grub-setup): Remove util/raid.c.
9553 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
9554 * grub-core/disk/lvm.c (scan_depth): New variable.
9555 (grub_lvm_iterate): Rescan if necessary.
9556 (find_lv): New function based on grub_lvm_open.
9557 (grub_lvm_open): Use find_lv. Rescan on error.
9558 (is_node_readable): New function.
9559 (is_lv_readable): Likewise.
9560 (grub_lvm_scan_device): Skip already found disks.
9561 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
9562 Stop if searched device is found and readable.
9563 * grub-core/disk/raid.c (inscnt): New variable.
9564 (scan_depth): Likewise.
9565 (scan_devices): New function based on grub_raid_register. Abort if
9566 looked for device is found.
9567 (grub_raid_iterate): Rescan if needed.
9568 (find_array): NEw function based on -grub_raid_open.
9569 (grub_raid_open): Use find_array and rescan.
9570 (insert_array): Set became_readable_at.
9571 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
9572 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
9573 New function.
9574 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
9575 (grub_util_pull_device): New function.
9576 (grub_util_get_grub_dev): Call grub_util_pull_device.
9577 * util/raid.c: Moved to ..
9578 * grub-core/kern/emu/raid.c: ... here.
9579 (grub_util_raid_getmembers): New parameter "bootable".
9580 All users updated. Support 1.x.
9581 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
9582 All users updated.
9583 * include/grub/disk.h (grub_disk_pull_t): New enum.
9584 (grub_disk_dev): Change iterate prototype.
9585 All users updated.
9586 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
9587 New proto.
9588 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
9589 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
9590 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
9591 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
9592 All users updated.
9593 * include/grub/util/raid.h: Removed.
9594
1c358e59
VS
95952011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * po/POTFILES.in: Regenerate.
9598
abee94ed
VS
95992011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9600
9601 Unify sparc init with other ieee1275.
9602
9603 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
9604 instead of kern/sparc64/ieee1275/init.c.
9605 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
9606 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
9607 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
9608 grub/machine/kernel.h.
9609 (grub_ieee1275_original_stack) [__sparc__]: New variable.
9610 (grub_claim_heap) [__sparc__]: Use sparc version.
9611 (grub_machine_init): Moved args parsing to
9612 (grub_parse_cmdline): ...this.
9613 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
9614 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
9615 New definition.
9616 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
9617
9618 Move BOOTP to separate file.
9619
9620 * grub-core/Makefile.core.def (net): Add net/bootp.c.
9621 * grub-core/net/net.c: Move all BOOTP functions to
9622 * grub-core/net/bootp.c: ... here.
9623
9624 Use frame interface on PXE.
9625
9626 * grub-core/Makefile.core.def (pxecmd): Removed.
9627 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
9628 * grub-core/commands/i386/pc/pxecmd.c: Removed.
9629 * grub-core/i386/pc/pxe.c: Moved from here ...
9630 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
9631 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
9632 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
9633
9634 EFI network support.
9635
9636 * grub-core/Makefile.core.def (efinet): New module.
9637 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
9638 here...
9639 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
9640 All users updated.
9641 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
9642 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
9643 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
9644 * grub-core/net/drivers/efi/efinet.c: New file.
9645 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
9646 (grub_efi_net_config): New extern var.
9647
9648 Various cleanups and bugfixes.
9649
9650 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
9651 error.
9652 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
9653 disk declared as partition.
9654 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
9655 leak on failure.
9656 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
9657 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
9658 (grub_debug_zalloc): Likewise.
9659 (grub_debug_realloc): Likewise.
9660 (grub_debug_memalign): Likewise.
9661 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
9662 Check that target is IPv4.
9663 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
9664 local-mac-address as fallback.
9665 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
9666 memory leak.
9667 * grub-core/net/ip.c (ipchksum): Rename to ...
9668 (grub_net_ip_chksum): ... this. All users updated.
9669 (grub_net_recv_ip_packets): Special handling for DHCP.
9670 * util/grub-mkimage.c (generate_image): Zero-out aout header.
9671
9672 Unify prefix handling
9673
9674 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
9675 (grub_machine_get_bootlocation): ... this.
9676 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
9677 (grub_machine_get_bootlocation): ... this.
9678 (grub_prefix): New variable.
9679 (prefix): Removed.
9680 (root_dev): New variable.
9681 (dir): Likewise.
9682 (main): Use new variables.
9683 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
9684 Revamped into ...
9685 (grub_machine_get_bootlocation): ... this.
9686 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
9687 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
9688 (grub_machine_get_bootlocation): ... this.
9689 (grub_machine_set_prefix): Removed.
9690 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
9691 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
9692 Revamped into ...
9693 (grub_machine_get_bootlocation): ... this.
9694 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
9695 (grub_set_prefix_and_root): ... this. All users updated.
9696 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
9697 Revamped into ...
9698 (grub_machine_get_bootlocation): ... this.
9699 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
9700 (grub_machine_get_bootlocation): New proto.
9701 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
9702
9703 Less intrusive and more reliable seek on network implementation.
9704
9705 * grub-core/kern/file.c (grub_file_net_seek): Removed.
9706 (grub_file_seek): Don't call grub_file_net_seek.
9707 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
9708 (grub_net_fs_read_real): .. this.
9709 (grub_net_seek_real): Use net->offset.
9710 (grub_net_fs_read): Seek if necessary.
9711
9712 Unify IEEE1275 netwotk config with the other platforms.
9713
9714 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
9715 New variable.
9716 (grub_machine_get_bootlocation): Support network.
9717 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9718 Support type and device parsing.
9719 (grub_ieee1275_get_device_type): New function.
9720 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
9721 into ...
9722 (grub_ieee1275_net_config_real): ... this.
9723 (grub_ofnet_probecards): Removed.
9724 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
9725 * include/grub/ieee1275/ofnet.h: Removed.
9726 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
9727 extern var.
9728 (grub_ieee1275_get_device_type): New function.
9729
9730 Unify network device closing across platforms and make more robust.
9731
9732 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
9733 grub_grubnet_fini.
9734 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
9735 already.
9736 * grub-core/net/net.c (grub_net_network_level_interface_register):
9737 Update num_ifaces.
9738 (grub_net_card_unregister): Close all interfaces.
9739 (receive_packets): Don't poll if no iterfaces are registered.
9740 Open if necessary.
9741 (grub_net_fini_hw): New function.
9742 (grub_net_restore_hw): Likewise.
9743 (fini_hnd): New variable.
9744 (GRUB_MOD_INIT): Register preboot hook.
9745 (GRUB_MOD_FINI): Run and unregister preboot hook.
9746
9747 Poll network cards when idle.
9748
9749 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
9750 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
9751 * grub-core/net/net.c (receive_packets): Save last poll time.
9752 (grub_net_poll_cards_idle_real): New function.
9753 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
9754 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
9755 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
9756
9757 Rename ofnet interfaces.
9758
9759 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
9760 (grub_ofnet_findcards): Use ofnet_%s names.
9761
9762 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
9763
9764 Cleanup socket opening.
9765
9766 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
9767 (grub_net_fs_close): Likewise.
9768 (grub_net_fs_read_real): Use eof member.
9769 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
9770 (+grub_net_udp_close): New inline function.
9771
9772 * include/grub/net/tftp.h: Moved to the top of ...
9773 * grub-core/net/tftp.c: ... here.
9774 * include/grub/net/ip.h: Moved mostly to the top of ...
9775 * grub-core/net/ip.c: ... here.
9776 * include/grub/net/ethernet.h: Moved mostly to the top of ...
9777 * grub-core/net/ethernet.c: ... here.
9778
9779 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
9780
9781 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
9782 FS name.
9783
9784 * include/grub/net/ip.h (ipv4_ini): Removed.
9785 (ipv4_fini): Likewise.
9786
9787 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
9788 (grub_net_send_ip_packets): Likewise.
9789
cf1337aa
VS
97902011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
9793 grub_read_cmos prototype.
9794
93c06ff9
VS
97952011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 VGA text support in qemu-mips
9798
9799 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
9800 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
9801 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
9802 text.
9803 * grub-core/kern/i386/qemu/init.c: Renamed to ...
9804 * grub-core/kern/vga_init.c: ... this.
9805 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
9806 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
9807 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
9808 Adjust.
9809 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
9810 GRUB_MACHINE_PCI_IO_BASE.
9811
748ccabe
VS
98122011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 MIPS qemu flash support.
9815
9816 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
9817 magic.
9818 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
9819 (grub_machine_init): Probe memory if its size isn't known.
9820 * util/grub-mkimage.c (image_targets): Add flash targets.
9821 (generate_image): Handle flash targets.
9822
d7345994
VS
98232011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 MIPS qemu at_keyboard support.
9826
9827 * gentpl.py (videoinkernel): Add qemu-mips.
9828 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
9829 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
9830 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
9831 modules.
9832 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
9833 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
9834 * grub-core/term/serial.c (grub_serial_register)
9835 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
9836
a07a81b3
VS
98372011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9838
9839 CMOS support on sparc.
9840
9841 * gentpl.py (cmos): Add powerpc and sparc.
9842 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
9843 powerpc and sparc.
9844 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
9845 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
9846 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
9847 grub_set_datetime_cmos.
9848 * grub-core/lib/ieee1275/cmos.c: New file.
9849 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
9850 (find_rtc): Set no_ieee1275_rtc on error.
9851 (grub_get_datetime): Call grub_get_datetime_cmos on error.
9852 (grub_set_datetime): Call grub_set_datetime_cmos on error.
9853 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
9854 fail. Move value to argument. All users updated
9855 (grub_cmos_write): Likewise.
9856 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
9857 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
9858 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
9859 grub_get_datetime_cmos and grub_set_datetime_cmos.
9860
77546584
GS
98612011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
9862
9863 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
9864 sourcing grub-mkconfig_lib.
9865 * util/update-grub_lib.in: Likewise.
9866 * util/grub.d/00_header.in: Likewise.
9867 * util/grub.d/10_hurd.in: Likewise.
9868 * util/grub.d/10_kfreebsd.in: Likewise.
9869 * util/grub.d/10_linux.in: Likewise.
9870 * util/grub.d/10_netbsd.in: Likewise.
9871 * util/grub.d/10_windows.in: Likewise.
9872 * util/grub.d/20_linux_xen.in: Likewise.
9873 * util/grub.d/30_os-prober.in: Likewise.
9874
54894791
CW
98752011-06-28 Colin Watson <cjwatson@ubuntu.com>
9876
9877 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
9878 default_bg_color rather than black.
9879 (grub_gfxterm_fullscreen): Likewise.
9880 (grub_gfxterm_background_color_cmd): Save new background color in
9881 default_bg_color.
9882
8d5d8444
VS
98832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
9886
5afeb5bd
VS
98872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
9890 mismerge.
9891
ba7df45e
VS
98922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9893
9894 Chainloading on coreboot support.
9895
9896 * grub-core/Makefile.core.def (chain): Add coreboot.
9897 * grub-core/loader/i386/coreboot/chainloader.c: New file.
9898
d0b526b2
VS
98992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9900
9901 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
9902 if it happens.
9903
5ff1d945
VS
99042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 Implement time command.
9907
9908 * grub-core/Makefile.core.def (time): New module.
9909 * grub-core/commands/time.c: New file.
9910 * grub-core/script/parser.y: Remove "time" keyword.
9911 * grub-core/script/yylex.l: Likewise.
9912
5ebaad7e
VS
99132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
9916
bdea3798
VS
99172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9918
9919 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
9920 when handling leftovers.
9921
b28c5655
VS
99222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
9925 so that help2man doesn't fail.
9926
b6f945dc
VS
99272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
9930 type in pointers on sparc64.
9931 (get_card_packet): Likewise.
9932
f9b75e8a
CW
99332011-06-27 Colin Watson <cjwatson@ubuntu.com>
9934
9935 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
9936 with `*'.
9937 (grub_cmd_videoinfo): Fetch current video mode.
9938
1e3d9b86
VS
99392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
9942 because of underlying system restrictions.
9943
efff4b1c
VS
99442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
9947 necessary.
9948
9fc9ce37
VS
99492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 Coreboot video support.
9952
9953 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
9954 (vbe): Likewise.
9955 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
9956 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
9957 here ...
9958 * grub-core/kern/i386/int.S: ... here.
9959 * grub-core/video/i386/pc/vbe.c: Updated includes.
9960 * grub-core/video/i386/pc/vga.c: Likewise.
9961 * include/grub/i386/coreboot/memory.h
9962 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
9963 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
9964 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
9965 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
9966 Disable interrupts.
9967 * include/grub/i386/pc/vga.h: Removed. All users updated.
9968
41bec7fe
VS
99692011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
9972 definitions for dprintf.
9973 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
9974
ca80309d
VS
99752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9976
9977 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
9978 prototype.
9979 (get_card_packet): Likewise.
9980
9e322ce8
YB
99812011-06-26 Yves Blusseau <blusseau@zetam.org>
9982
9983 Display the path of the file when file is not found
9984
9985 * grub-core/fs/fat.c: Display the filename when file is not found.
9986 * grub-core/fs/fshelp.c: Likewise.
9987 * grub-core/fs/hfs.c: Likewise.
9988 * grub-core/fs/jfs.c: Likewise.
9989 * grub-core/fs/minix.c: Likewise.
9990 * grub-core/fs/ufs.c: Likewise.
9991 * grub-core/fs/btrfs.c: Likewise.
9992 * grub-core/commands/i386/pc/play.c: Likewise.
9993
cbf597af
SJ
99942011-06-26 Szymon Janc <szymon@janc.net.pl>
9995
9996 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
9997 pointer checks before calling grub_free().
9998 * grub-core/commands/wildcard.c (match_devices): Likewise.
9999 * grub-core/commands/wildcard.c (match_files): Likewise.
10000 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10001 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10002 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10003 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10004 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10005 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10006 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10007 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10008 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10009
6295b32f
P
100102011-06-25 Patrick <p55@mailinator.com>
10011
10012 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10013
77c0840b
VS
100142011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10017 (grub_pxe_send): Likewise.
10018 (GRUB_MOD_INIT): Fix types.
10019
40ea05de
SJ
100202011-06-24 Szymon Janc <szymon@janc.net.pl>
10021
10022 * grub-core/io/xzio.c: Fix code style issues
10023
90162423
MRA
100242011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
100252011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
10026
10027 Network infrastructure.
10028 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10029
10030 * include/grub/net/arp.h: New file.
90162423
MRA
10031 * include/grub/net/device.h: Likewise.
10032 * include/grub/net/ethernet.h: Likewise.
10033 * include/grub/net/ip.h: Likewise.
10034 * include/grub/net/netbuff.h: Likewise.
10035 * include/grub/net/tftp.h: Likewise.
10036 * include/grub/net/udp.h: Likewise.
10037 * include/grub/ieee1275/ofnet.h: Likewise.
10038 * include/grub/emu/export.h: Likewise.
10039 * include/grub/net.h: Likewise.
10040 * grub-core/net/arp.c: Likewise.
10041 * grub-core/net/ethernet.c: Likewise.
10042 * grub-core/net/ip.c: Likewise.
10043 * grub-core/net/udp.c: Likewise.
10044 * grub-core/net/tftp.c: Likewise.
10045 * grub-core/net/netbuff.c: Likewise.
10046 * grub-core/net/net.c: Likewise.
10047 * grub-core/net/drivers/emu/emunet.c: Likewise.
10048 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10049 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10050 export.h.
10051 * grub-core/Makefile.core.def (net): New module.
10052 (tftp): Likewise.
10053 (ofnet): Likewise.
10054 (emunet): Likewise.
10055 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10056 network protocols.
10057 * grub-core/kern/device.c (grub_net_open) : New variable.
10058 (grub_device_open): Handle network device.
10059 (grub_device_close): Likewise.
10060 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10061 (grub_grubnet_fini): Likewise.
10062 (grub_file_seek): Seek in network device.
10063 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10064 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10065 network root.
10066 (grub_machine_fini): Call grub_grubnet_fini.
10067 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10068 network.
10069 (grub_ieee1275_get_aliasdevname): New function.
10070 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10071 Add unofficial Solaris network info.
10072 (grub_multiboot_make_mbi): Likewise.
10073 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10074 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10075 * include/grub/device.h (grub_fs): Removed.
10076 * include/grub/err.h (grub_err_t): Add network-related values.
10077 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10078 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10079 (grub_ieee1275_get_aliasdevname): New proto.
10080 * include/grub/net.h: Rewritten.
423a1849 10081
031f22a0
VS
100822011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10083
10084 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10085 names.
10086
4388ca72
VS
100872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10088
10089 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10090 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10091 it truncates the output.
10092 Reported by: Ximin Luo.
10093
98e2f506
VS
100942011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10097
2a5e94d8
VS
100982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10101 partmap before abstraction.
10102
535c1910
AK
101032011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10104
10105 * util/grub-mkconfig_lib.in: Add missing quotes.
10106
bc09e1a2
VS
101072011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10108
10109 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10110 old method if mountinfo would return /dev/root and /dev/root doesn't
10111 exist.
10112
290766fb
VS
101132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10114
10115 ZFS zlib support
10116
10117 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10118 (decomp_table): Add zlib entries.
10119 (zio_read): USe 8 bits for compression function rather than 3.
10120 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10121
101222011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * grub-core/disk/ahci.c: Add missing license statements.
10125 * grub-core/fs/romfs.c: Likewise.
10126 * grub-core/lib/ia64/setjmp.S: Likewise.
10127 * grub-core/loader/i386/pc/freedos.c: Likewise.
10128 * grub-core/loader/ia64/efi/linux.c: Likewise.
10129 * grub-core/video/colors.c: Likewise.
10130 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10131
5ab3f48a
VS
101322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 AHCI support.
10135
10136 * grub-core/Makefile.core.def (ata_pthru): Removed.
10137 (ahci): New module.
10138 (pata): Likewise.
10139 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10140 on unload.
10141 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10142 readwrite.
10143 (grub_hdparm_do_check_powermode_cmd): Likewise.
10144 (grub_hdparm_do_smart_cmd): Likewise.
10145 (grub_hdparm_set_val_cmd): Likewise.
10146 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10147 * grub-core/disk/ahci.c: New file.
10148 * grub-core/disk/ata.c: Factor out the low-level part into ...
10149 * grub-core/disk/pata.c: ... here.
10150 * grub-core/disk/ata_pthru.c: Contents moved to ...
10151 * grub-core/disk/pata.c: ... here.
10152 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10153 (grub_scsi_iterate): Use grub_scsi_names.
10154 (grub_scsi_open): Likewise.
10155 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10156 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10157 (grub_ata_regs_t): New struct.
10158 (grub_disk_ata_pass_through_parms): Likewise.
10159 (grub_ata_device): Renamed to ...
10160 (grub_ata): ... this.
10161 (grub_ata_dev): New struct.
10162 Removed all low-level inline functions.
10163 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10164 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10165 iterate hooks and open. All users updated.
10166 * util/grub-install.in: Handle AHCI disk module.
10167
c31dc5f5
SJ
101682011-06-23 Szymon Janc <szymon@janc.net.pl>
10169
10170 Add support for DRI and RSTn markers in JPEG files.
10171
10172 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10173 (JPEG_MARKER_RST0): Likewise.
10174 (JPEG_MARKER_RST1): Likewise.
10175 (JPEG_MARKER_RST2): Likewise.
10176 (JPEG_MARKER_RST3): Likewise.
10177 (JPEG_MARKER_RST4): Likewise.
10178 (JPEG_MARKER_RST5): Likewise.
10179 (JPEG_MARKER_RST6): Likewise.
10180 (JPEG_MARKER_RST7): Likewise.
10181 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10182 (grub_jpeg_decode_dri): New function.
10183 (grub_jpeg_decode_sos): Move image data related part into
10184 grub_jpeg_decode_data function.
10185 (grub_jpeg_decode_data): New function.
10186 (grub_jpeg_reset): New function.
10187 (grub_jpeg_decode_jpeg): Handle new markers.
10188
fe12fd5b
VS
101892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10190
10191 * util/ieee1275/ofpath.c (check_sas): Close fd.
10192 (main): Free of_path.
10193 Reported by: David Volgyes <dvolgyes>.
10194
03147f46
VS
101952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10196
10197 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10198 Reported by: David Volgyes <dvolgyes>.
10199
cad3237f
VS
102002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10201
10202 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10203 file after stat.
10204 Reported by: David Volgyes <dvolgyes>.
10205
13548d26
VS
102062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10209
10210 Reported by: David Volgyes <dvolgyes>.
10211
e061a1b5
VS
102122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10213
10214 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10215 Prevent memory leak.
10216
1abe47dc
VS
102172011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10220 (main): Close file.
e061a1b5 10221 Reported by: David Volgyes <dvolgyes>.
1abe47dc 10222
fbc62666
VS
102232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10226 to continue if allocation is failed.
10227
10228 Reported by: David Volgyes <dvolgyes>.
10229
e98c83e9
DV
102302011-06-23 David Volgyes <dvolgyes>
10231
10232 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10233 dereference.
10234
a199a8cd
VS
102352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 Fix spurious warning.
10238
10239 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10240 (acorn_partition_map_find): Use .bin member.
10241
e2d1dba0
VS
102422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10245 /dev/root as a valid device.
10246
8a5d6919
JM
102472011-06-23 Jim Meyering <meyering@redhat.com>
10248
e2d1dba0
VS
10249 Avoid NULL deref in grub_device_open.
10250
8a5d6919
JM
10251 * grub-core/kern/device.c (grub_device_open): Don't dereference
10252 a NULL pointer upon failed grub_env_get.
10253
f7db6f4a
VS
102542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 Support non-512B sectors and agglomerate reads.
10257
10258 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10259 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10260 (disk_io_guid): Removed.
10261 (make_devices): Locate solely by BlockIO.
10262 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10263 (grub_efidisk_read): Use read_blocks.
10264 (grub_efidisk_write): Use write_blocks.
10265 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10266 log_sector_size.
10267 (get_safe_sectors): Handle non-512B sectors.
10268 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10269 sectors.
10270 (grub_biosdisk_write): Handle non-512B sectors.
10271 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10272 (grub_scsi_read): Remove special non-512B block handling (now handled
10273 one level up).
10274 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10275 and do sanity checks.
10276 (grub_disk_adjust_range): Handle non-512B sectors.
10277 (transform_sector): New function.
10278 (grub_disk_read_small): Likewise.
10279 (grub_disk_read): Rewritten.
10280 (grub_disk_write): Handle non-512B sectors.
10281 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10282 log_sector_size.
10283 (open_device): Use log_sector_size.
10284 (grub_util_biosdisk_read): Likewise.
10285 (grub_util_biosdisk_write): Likewise.
10286 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10287 non-512B sectors.
10288 (pc_partition_map_embed): Likewise.
10289 * include/grub/disk.h (grub_disk): New field log_sector_size.
10290 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10291 (GRUB_DISK_CACHE_BITS): Increased to 6.
10292 * util/grub-fstest.c (fstest): New command testload.
10293 (argp_parser): Likewise.
10294
881ac815
RM
102952011-06-16 Robert Millan <rmh@gnu.org>
10296
10297 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10298 `ata' driver on kernel of FreeBSD 9.
10299
10300 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10301 (get_ataraid_disk_name): New functions.
10302 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10303 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10304 get_ataraid_disk_name() and get_ada_disk_name().
10305
1e9aef7d
CW
103062011-06-13 Colin Watson <cjwatson@ubuntu.com>
10307
10308 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10309 input format.
10310
351c7c8a
CW
103112011-05-29 Colin Watson <cjwatson@ubuntu.com>
10312
10313 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10314 `ftp.gnu.org' for `alpha.gnu.org'.
10315
6b4e6430
CW
103162011-05-27 Colin Watson <cjwatson@ubuntu.com>
10317
10318 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10319 partitions under /dev/disk/by-id/.
10320
c64db050
CW
103212011-05-27 Colin Watson <cjwatson@ubuntu.com>
10322
10323 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10324 after ten consecutive open failures. Scanning all the way up to
10325 10000 is excessive and can cause serious performance problems in
10326 some configurations.
10327 Fixes Ubuntu bug #787461.
10328
245f4aba
VS
103292011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10332 opening new one.
10333
f767c929
VS
103342011-05-21 Colin Watson <cjwatson@ubuntu.com>
103352011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 Don't stat devices unless we have to.
10338
10339 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10340 dir == /dev/mapper.
10341 (grub_guess_root_device): Use already known os_dev if possible.
10342 * grub-core/kern/emu/hostdisk.c
10343 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10344 if device is known to be a dm one.
10345
f35fa3a6
CW
103462011-05-20 Colin Watson <cjwatson@ubuntu.com>
10347
10348 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10349 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10350 Reported by: Pawel Tecza.
10351
9a79fcf2
VS
103522011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10355 (lsefisystab): Likewise.
10356 (lssal): Likewise.
10357 (lsefimmap): Likewise.
10358 (hdparm): Enable on qemu-mips.
10359 (setjmp): Add ia64 nodist.
10360 (serial): Simplify tags.
10361
63e3eea9
CW
103622011-05-18 Colin Watson <cjwatson@ubuntu.com>
10363
10364 * Makefile.util.def (grub-ofpathname): Install manual page.
10365
09728256
CW
103662011-05-18 Colin Watson <cjwatson@ubuntu.com>
10367
10368 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10369
8b63a142
CW
103702011-05-18 Colin Watson <cjwatson@ubuntu.com>
10371
10372 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10373
e775d8ed
VS
103742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10375
10376 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10377 into dprintf.
10378
bf947d36
VS
103792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 Use full 64-bit division.
10382
10383 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10384 (grub_divmod64): ... this.
10385 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10386 version.
10387
b84f26c5
CW
103882011-05-18 Colin Watson <cjwatson@ubuntu.com>
10389
10390 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10391 `source'.
10392
5626056f
CW
103932011-05-18 Colin Watson <cjwatson@ubuntu.com>
10394
10395 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10396 to avoid accidents when debugging with 'sh -x'.
10397 * grub-core/gensyminfo.sh.in: Likewise.
10398 * tests/example_scripted_test.in: Likewise.
10399 * tests/grub_cmd_regexp.in: Likewise.
10400 * tests/grub_script_blanklines.in: Likewise.
10401 * tests/grub_script_dollar.in: Likewise.
10402 * tests/grub_script_expansion.in: Likewise.
10403 * tests/grub_script_final_semicolon.in: Likewise.
10404 * tests/partmap_test.in: Likewise.
10405 * tests/util/grub-shell-tester.in: Likewise.
10406 * tests/util/grub-shell.in: Likewise.
10407
e2965f4a
CW
104082011-05-18 Colin Watson <cjwatson@ubuntu.com>
10409
10410 Move gfxmenu color handling to video, so that gfxterm can use it
10411 too.
10412
10413 * grub-core/gfxmenu/named_colors.c: Move to ...
10414 * grub-core/video/colors.c: ... here. Rename
10415 grub_gui_get_named_color to grub_video_get_named_color.
10416 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10417 * grub-core/video/colors.c (my_isxdigit): ... here.
10418 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10419 Move to ...
10420 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10421 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10422 to ...
10423 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10424
10425 * include/grub/gui.h (grub_gui_color_t): Move to ...
10426 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10427 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10428 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10429 * include/grub/gui.h (grub_gui_map_color): Move to ...
10430 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10431 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10432 to ...
10433 * include/grub/video.h (grub_video_get_named_color): ... here.
10434 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10435 * include/grub/video.h (grub_video_parse_color): ... here.
10436
10437 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10438 video/colors.c.
10439 (gfxmenu): Remove gfxmenu/named_colors.c.
10440 (video) [videomodules]: Add video/colors.c.
10441
10442 Add a background_color command.
10443
10444 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10445 function.
10446 (GRUB_MOD_INIT): Register background_color command.
10447 (GRUB_MOD_FINI): Unregister background_color command.
10448 (redraw_screen_rect): Allow blend/replace of text layer to be
10449 controlled independently from whether there is a background bitmap.
10450 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10451 changing bitmap.
10452
1e4b4390
VS
104532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10454
26618ff0
VS
10455 Patch BPB in ntldr and chainloader --bpb.
10456
1e4b4390
VS
10457 * grub-core/fs/fat.c: Include grub/fat.h.
10458 (grub_fat_bpb): Moved to ...
10459 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10460 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10461 grub/ntfs.h.
10462 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10463 Moved from here...
10464 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10465 here.
10466 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10467 New function.
10468 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10469 (GRUB_MOD_INIT): Show --bpb.
10470 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10471 * grub-core/normal/main.c (features): New variable.
10472 (GRUB_MOD_INIT): Set feature_* variables.
10473 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10474 proto.
10475 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10476
cf02731e
VS
104772011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10480 for cleanness.
10481
e3a1073f
VS
104822011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10483
10484 FreeDOS direct loading support.
10485
10486 * docs/grub.texi (Supported OS): Add FreeDOS.
10487 * grub-core/Makefile.core.def (freedos): New module.
10488 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10489 variable.
10490 (grub_relocator16_boot): Handle %ebx.
10491 * grub-core/lib/i386/relocator16.S: Likewise.
10492 * grub-core/loader/i386/pc/freedos.c: New file.
10493
05caa461
VS
104942011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 Long Linux command line support.
10497
10498 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10499 (maximal_cmdline_size): New variable.
10500 (allocate_pages): Use maximal_cmdline_size.
10501 (grub_cmd_linux): Set and use maximal_cmdline_size.
10502 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10503 (allocate_pages): Use maximal_cmdline_size.
10504 (grub_cmd_linux): Set and use maximal_cmdline_size.
10505 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10506 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10507 and cmdline_size.
10508
a2491e23
VS
105092011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
105102011-05-18 Colin Watson <cjwatson@ubuntu.com>
10511
10512 Improve devmapper support
10513
10514 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10515 (grub_util_is_lvm): New function.
10516 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10517 than lvm if not dmraid.
10518 Handle mapped md nodes.
10519 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10520 (grub_util_device_is_mapped): ... this. Make always available. All users
10521 updated.
10522 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10523 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10524 dmraid nodes.
10525 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10526
6ad6223e
VS
105272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10530
10531 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10532 * grub-core/modinfo.sh.in: New file.
10533 * grub-core/Makefile.core.def (modinfo.sh): New script.
10534 * util/grub-mknetdir.in: Use modinfo.sh.
10535 * util/grub-mkrescue.in: Likewise.
10536
543a8f6e
VS
105372011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10540 Fix potential usage of Elf32 instead of Elf64 when compiling on
10541 32-bit architecture. Add endianness macros while on it.
10542
4959e111
VS
105432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10544
10545 Use mipsel- rather than mips- in directories involving mipsel ports to
10546 allow both endiannesses coexist.
10547
10548 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10549 mips. All conditions adjusted.
10550 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10551 variable.
10552 * util/grub-install.in: Adjust conditions to take renaming into account.
10553 * util/grub-mkimage.c (image_targets): Likewise. New target
10554 mips-qemu_mips-elf for bigendian mips.
10555
35341bbc
VS
105562011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 Avoid unnecessary copying on MIPS.
10559
10560 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
10561 early if src == dest.
10562 * util/grub-mkimage.c (generate_image): Arange for src == dest if
10563 compression is none.
10564
b772baed
VS
105652011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 Reduce memory footprint on SGI by putting modules before the kernel
10568 as opposed to after.
10569
10570 * grub-core/Makefile.core.def (kernel): Increase linking address.
10571 (none_decompress): Likewise.
10572 (xz_decompress): Likewise.
10573 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
10574 address.
10575 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
10576 layout change.
10577 (grub_arch_modules_addr): New function.
10578 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
10579 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
10580 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
10581 here.
10582 * grub-core/kern/mips/startup.S (total_size): Rename to ...
10583 (grub_total_modules_size): ... this. Make global.
10584 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
10585 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
10586 New definition.
10587 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
10588 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
10589 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
10590 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
10591 * util/grub-mkimage.c (image_target_desc): New flag
10592 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
10593 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
10594 (generate_image): Handle images with modules before kernel.
10595
566a1917
VS
105962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 Prevent potential loss of memory map by overwrite on qemu-mips.
10599
10600 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10601 Save ram size in $s4.
10602 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
10603 All users changed to grub_arch_memsize.
10604 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
10605 Loongson.
10606 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
10607 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
10608 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
10609 external variable.
10610
5d420cd9
CW
106112011-05-17 Colin Watson <cjwatson@ubuntu.com>
10612
10613 * .bzrignore: Remove grub-dumpbios.
10614
d064b830
CW
106152011-05-17 Colin Watson <cjwatson@ubuntu.com>
10616
10617 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
10618 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
10619 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
10620 existing options which append).
10621 * docs/grub.texi (Simple configuration): Document new options.
10622 Reported by: Ian Jackson. Fixes Debian bug #617538.
10623
3ca2b466
CW
106242011-05-17 Colin Watson <cjwatson@ubuntu.com>
10625
10626 * util/grub-fstest.c (cmd_cat): New function.
10627 (fstest): Handle CMD_CAT.
10628 (options): Add cat.
10629 (argp_parser): Handle cat.
10630
24c9143a
CW
106312011-05-17 Colin Watson <cjwatson@ubuntu.com>
10632
10633 * Makefile.util.def (grub-bin2h): Don't install.
10634 * docs/man/grub-bin2h.h2m: Remove.
10635
90f7ac19
VS
106362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
10639 place.
10640
8d4a5178
VS
106412011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 Reenable qemu-mips port.
10644
10645 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
10646 Fix small arc bug while on it.
10647 * gentpl.py: Handle qemu_mips.
10648 * grub-core/Makefile.am: Likewise.
10649 * grub-core/Makefile.core.def: Likewise.
10650 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
10651 inappropriate includes.
10652 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
10653 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
10654 * grub-core/kern/main.c (grub_modules_get_end)
10655 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
10656 * grub-core/kern/mips/qemu-mips: Moved to ..
10657 * grub-core/kern/mips/qemu_mips: ... this.
10658 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
10659 (grub_machine_init): Call terminfo_init and serial_init.
10660 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
10661 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10662 New variable.
10663 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
10664 parameter passing.
10665 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
10666 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
10667 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
10668 * include/grub/mips/qemu_mips/cmos.h: New file.
10669 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
10670 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
10671 Removed.
10672 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
10673 Use correct mips-style address.
10674 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
10675 (GRUB_TICKS_PER_SECOND): Removed.
10676 (grub_get_rtc): Likewise.
10677 (grub_cpu_idle): Likewise.
10678 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
10679 New definition.
10680 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
10681 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
10682 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
10683 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
10684 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10685 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10686 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
10687 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
10688
400b9371
VS
106892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10690
10691 SGI ARCS port.
10692
10693 * Makefile.util.def (libgrubmods.a): Add dvh.c.
10694 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
10695 platforms.
10696 * configure.ac: New target mips-arc.
10697 * gentpl.py: Likewise.
10698 * grub-core/Makefile.am: Likewise.
10699 * grub-core/Makefile.core.def: Likewise.
10700 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
10701 (none_decompress): Likewise.
10702 (lsdev): New module.
10703 (datetime): Use lib/arc/datetime.c on ARC.
10704 (part_dvh): New module.
10705 * grub-core/commands/arc/lsdev.c: New file.
10706 * grub-core/disk/arc/arcdisk.c: Likewise.
10707 * grub-core/kern/mips/arc/init.c: Likewise.
10708 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
10709 aligned addresses.
10710 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
10711 support.
10712 (grub_arch_dl_relocate_symbols): Likewise.
10713 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
10714 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
10715 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
10716 platforms.
10717 * grub-core/lib/arc/datetime.c: New file.
10718 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
10719 pci.h on non-loongson.
10720 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
10721 (grub_linux_boot): Set unused registers to 0.
10722 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
10723 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
10724 * grub-core/mmap/mips/uppermem.c: ...here.
10725 * grub-core/partmap/dvh.c: New file.
10726 * grub-core/term/arc/console.c: Likewise.
10727 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
10728 (grub_terminfo_set_current): Add terminal "arc".
10729 (grub_terminfo_readkey): Support ARC sequences.
10730 * include/grub/arc/arc.h: New file.
10731 * include/grub/arc/console.h: Likewise.
10732 * include/grub/disk.h (grub_disk_dev_id): Add
10733 GRUB_DISK_DEVICE_ARCDISK_ID.
10734 * include/grub/mips/arc/kernel.h: New file.
10735 * include/grub/mips/arc/memory.h: Likewise.
10736 * include/grub/mips/arc/time.h: Likewise.
10737 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
10738 * include/grub/mips/kernel.h (grub_halt): ... here.
10739 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
10740 here...
10741 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
10742 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
10743 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
10744 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
10745 proto.
10746 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
10747 from here ...
10748 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
10749 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
10750 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
10751 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
10752 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
10753 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
10754 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
10755 (grub_phys_addr_t): Moved from here ...
10756 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
10757 (grub_vtop): Moved from here ...
10758 * include/grub/mips/memory.h (grub_vtop): ... here.
10759 (grub_map_memory): Moved from here ...
10760 * include/grub/mips/memory.h (grub_map_memory): ... here.
10761 (grub_unmap_memory): Moved from here ...
10762 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
10763 (grub_machine_mmap_iterate): Moved from here ...
10764 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
10765 (grub_mmap_get_lower): Moved from here ...
10766 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
10767 (grub_mmap_get_upper): Moved from here ...
10768 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
10769 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10770 here ...
10771 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10772 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
10773 here ...
10774 * include/grub/mips/time.h (grub_get_rtc): ... here.
10775 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10776 here ...
10777 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10778 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
10779 here ...
10780 * include/grub/mips/time.h (grub_cpu_idle): ... here.
10781 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
10782 definition.
10783 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
10784 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
10785 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
10786 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
10787 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10788 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10789 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
10790 (GRUB_MACHINE_LINK_ADDR): Likewise.
10791 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
10792 to 6.
10793 * util/grub-install.in: Run dvhtool on ARC.
10794 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 10795 (generate_image): Handle ECOFF output for mips-arc.
400b9371 10796
c8ecc840
VS
107972011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
10800 blocks.
10801
153a4b55
VS
108022011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
10805 after enabling port.
10806
ff44d107
VS
108072011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 Skip incorrect USB devices.
10810
10811 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
10812 configcnt == 0.
10813 * include/grub/usb.h (grub_usb_err_t): New enum value
10814 GRUB_USB_ERR_BADDEVICE.
10815
638dbe4f
VS
108162011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10817
10818 Fuloong video init support.
10819
10820 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
10821 well.
10822 (grub_vga_read_arx): New function.
10823 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
10824 definition.
10825 (framebuffer): New members io, mmioptr and mmiobase.
10826 (read_sis_cmd): New function.
10827 (write_sis_cmd): Likewise.
10828 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
10829 rather than 640x400.
10830 * grub-core/video/sis315_init.c: New file.
10831
c3fc520c
VS
108322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
10835 non-loongson.
10836 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
10837 to grub_dl_register_symbol.
10838
67b1e5c9
VS
108392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 Fix compilation errors.
10842
10843 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
10844 potentially unused.
10845 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
10846 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
10847 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
10848 to loongson machines.
10849
b756f75f
VS
108502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 Several FS mtime support.
10853
10854 * grub-core/fs/affs.c (grub_affs_time): New struct.
10855 (grub_affs_file): New field mtime.
10856 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
10857 type. Removed 'size'. New field 'di'. All users updated.
10858 (grub_affs_mount): Simplify checsum checking.
10859 (grub_affs_iterate_dir): New helper grub_affs_create_node.
10860 (grub_affs_dir): Handle mtime.
10861 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
10862 (grub_cpio_dir): Likewise.
10863 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
10864 (grub_hfs_filerec): New field mtime.
10865 (grub_hfs_dir): Handle mtime.
10866 (grub_hfs_mtime): New function.
10867 (grub_hfs_fs): Register grub_hfs_mtime.
10868 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
10869 (grub_iso9660_dir): New field mtime.
10870 (grub_fshelp_node): New field dirent.
10871 (iso9660_to_unixtime): New function.
10872 (iso9660_to_unixtime2): Likewise.
10873 (grub_iso9660_read_symlink): Use node->dirent.
10874 (grub_iso9660_iterate_dir): Likewise.
10875 (grub_iso9660_dir): Set mtime.
10876 (grub_iso9660_mtime): New function.
10877 (grub_iso9660_fs): Register grub_iso9660_mtime.
10878 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
10879 (grub_jfs_inode): New fields atime, ctime and mtime.
10880 (grub_jfs_dir): Set mtime.
10881 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10882 * grub-core/fs/ntfs.c (list_file): Set mtime.
10883 (grub_ntfs_dir): Likewise.
10884 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
10885 (grub_reiserfs_iterate_dir): Set mtime.
10886 (grub_reiserfs_dir): Likewise.
10887 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
10888 (grub_fshelp_node): Likewise.
10889 (grub_sfs_iterate_dir): Set mtime.
10890 (grub_sfs_dir): Likewise.
10891 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
10892 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
10893 (grub_xfs_inode): New fields atime, mtime, ctime.
10894 (grub_xfs_dir): Set mtime.
10895 * include/grub/datetime.h (grub_datetime2unixtime): New function.
10896 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
10897 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
10898
10899 Support UDF symlinks.
10900
10901 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
10902 (grub_ufs_read_symlink): New function. All users updated.
10903
10904 Check amiga partmap checksum.
10905
10906 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
10907 (grub_amiga_partition): Likewise.
10908 (amiga_partition_map_checksum): New function.
10909 (amiga_partition_map_iterate): Check checksum.
10910
5470225d
VS
109112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 ROMFS support.
10914
10915 * Makefile.util.def (libgrubmods.a): Add romfs.
10916 * grub-core/Makefile.core.def (romfs): New module.
10917 * grub-core/fs/romfs.c: New file.
10918
d4680a35
VS
109192011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 Squashfs v4 support.
10922
10923 * Makefile.util.def (libgrubmods.a): Add squash4.
10924 * grub-core/Makefile.core.def (squash4): New module.
10925 * grub-core/fs/squash4.c: New file.
10926 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
10927 disk_input_start, disk_input.
10928 (get_byte): Handle disk_input.
10929 (grub_zlib_disk_read): New function.
10930 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
10931
bcb18e74
FZ
109322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
109332011-05-15 Feiran Zheng <famcool@gmail.com>
10934
10935 * Makefile.util.def (libgrubmods.a): Add minix3.
10936 * grub-core/Makefile.core.def (minix3): New module.
10937 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
10938 (GRUB_MINIX_BSIZE): Removed.
10939 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
10940 (grub_minix_ino_t): New type.
10941 (grub_minix_le_to_cpu_ino): New macro.
10942 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
10943 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
10944 (grub_minix_data): New field block_size.
10945 (grub_minix_read_file): Handle 64-bit correctly.
10946 * grub-core/fs/minix3.c: New file.
10947
32297d5f
TG
109482011-05-15 Tristan Gingold <gingold@free.fr>
109492011-05-15 Robert Millan <rmh.grub@aybabtu.com>
109502011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 IA64 support.
10953
10954 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
10955 * configure.ac: Add ia64-efi target.
10956 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
10957 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
10958 * gentpl.py: Add ia64_efi platform.
10959 Rename x86_efi to efi and Add ia64-efi. All users updated.
10960 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
10961 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
10962 Remove kern/generic/rtc_get_time_ms.c on EFI.
10963 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
10964 kern/ia64/dl_helper.c on ia64-efi.
10965 Add kern/emu/cache.c on emu.
10966 (linux): Use on loader/ia64/efi/linux.c on ia64.
10967 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
10968 whether symbol is a function.
10969 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
10970 (grub_symbol): New field 'isfunc'.
10971 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
10972 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
10973 (grub_dl_load_segments): Place all sections into the same region.
10974 [__ia64__]: Create trampolines and got.
10975 [GRUB_MACHINE_EMU]: Call mprotect.
10976 (grub_dl_resolve_symbols): Resolve symbol type as well.
10977 [__ia64__]: Create function descriptors.
10978 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
10979 (grub_rtc_get_time_ms): ... this. Expressions simplified.
10980 (grub_get_rtc): New function.
10981 * grub-core/kern/emu/cache.c [__ia64__]: New file.
10982 * grub-core/kern/emu/cache.S: Renamed to ...
10983 * grub-core/kern/emu/cache_s.S: ... this.
10984 [__ia64__]: Add a nop.
10985 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
10986 [__ia64__]: New function.
10987 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
10988 * grub-core/kern/ia64/dl.c: New file.
10989 * grub-core/kern/ia64/dl_helper.c: Likewise.
10990 * grub-core/kern/ia64/efi/init.c: New file.
10991 * grub-core/kern/ia64/efi/startup.S: Likewise.
10992 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
10993 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
10994 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
10995 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
10996 * grub-core/loader/ia64/efi/linux.c: New file.
10997 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
10998 (GRUB_MOD_DEP): Likewise.
10999 (grub_dl) [__ia64__]: New fields got and tramp.
11000 (grub_dl): New field 'base'.
11001 (grub_dl_register_symbol): New argument isfunc. All users updated.
11002 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11003 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11004 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11005 (grub_ia64_dl_get_tramp_got_size): New proto.
11006 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11007 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11008 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11009 * include/grub/efi/api.h: Skip call wrappers on ia64.
11010 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11011 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11012 * include/grub/elf.h (ELF_ST_INFO): New definition.
11013 * include/grub/ia64/efi/kernel.h: New file.
11014 * include/grub/ia64/efi/memory.h: Likewise.
11015 * include/grub/ia64/efi/time.h: Likewise.
11016 * include/grub/ia64/kernel.h: Likewise.
11017 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11018 * include/grub/ia64/time.h: New file.
11019 * include/grub/ia64/types.h: Likewise.
11020 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11021 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11022 New protos.
11023 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11024 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11025 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11026 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11027 All users updated.
11028 (EFI64_HEADER_SIZE): New definition. All users updated.
11029 (image_targets): Add ia64-efi.
11030 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11031 jumpers_addr. All users updated.
11032 Create function descriptors.
11033 (count_funcs): New function.
11034 (unaligned_uint32): New struct.
11035 (MASK20): New definition.
11036 (MASK19): Likewise.
11037 (MASKF21): Likewise.
11038 (add_value_to_slot_20b): New function.
11039 (add_value_to_slot_21_real): Likewise.
11040 (add_value_to_slot_21): Likewise.
11041 (ia64_kernel_trampoline): New struct.
11042 (nopm): New variable.
11043 (jump): Likewise.
11044 (make_trampoline): New function.
11045 (relocate_addresses): Handle ia64.
11046 (make_reloc_section): Likewise.
11047 (load_image): Likewise.
11048
983b414d
VS
110492011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11050
11051 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11052 warning. Move variables before code while on it.
11053
5d063cdc
VS
110542011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 Fuloong support.
11057
11058 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11059 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11060 * grub-core/boot/mips/loongson/fuloong.S: New file.
11061 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11062 Explicitly init CS5536.
11063 [FULOONG]: Don't use serial until CS5536 is available.
11064 Set GPIO based on dumps.
11065 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11066 [FULOONG]: Handle GPIO and memory controller differences.
11067 Parse machine type in $a2.
11068 * grub-core/boot/mips/startup_raw.S: Determine and save the
11069 architecture.
11070 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11071 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11072 init on architecture type.
11073 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11074 SIS315E. Don't init at_keyboard on fuloong.
11075 (grub_halt): Support Fuloong.
11076 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11077 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11078 (loongson_machtypes): New array.
11079 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11080 type.
11081 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11082 config. All users updated. Handle CS5536 serial.
11083 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11084 default port on machine type. Register serial as inactive.
11085 * grub-core/video/sis315pro.c: New file.
11086 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11087 definition.
11088 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11089 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11090 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11091 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11092 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11093 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11094 to ...
11095 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11096 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11097 definition.
11098 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11099 (grub_arch_machine): New extern var.
11100 * include/grub/mips/loongson/serial.h
11101 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11102 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11103 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11104 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11105 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11106 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11107 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11108 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11109 * include/grub/term.h (grub_term_register_input_inactive): New inline
11110 function.
11111 (grub_term_register_output_inactive): Likewise.
11112 * include/grub/video.h (grub_video_driver_id): New value
11113 GRUB_VIDEO_DRIVER_SIS315PRO.
11114 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11115 New field "names". All users updated.
11116 New field value IMAGE_FULOONG_FLASH.
11117 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11118
6ada82d1
JU
111192011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11120
11121 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11122 and add some clarification.
11123
90c571a4
VS
111242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11125
11126 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11127 platforms if kernel is compressed.
11128
de04eecf
VS
111292011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11130
11131 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11132 unused modules since currently referrence counter isn't reliable and
11133 there isn't much memory to recover there anyway.
11134
57688121
VS
111352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11138 rather than resetting it to allow modules to reference themselves
11139 in init.
11140
3d2c7e35
VS
111412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11144 counter on dependencies since grub_dl_unref already handles this.
11145
b25db218
VS
111462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11149 on error if not already done.
11150
25a45338
VS
111512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11152
11153 Fix few potential memory misusage.
11154
11155 * grub-core/font/font.c (load_font_index): Don't free char_index to
11156 avoid double free.
b25db218
VS
11157 (grub_font_load): Zero-fill font at alloc for safety.
11158 Close file on error.
11159 (free_font): Free bmp_idx.
25a45338 11160
0cac83df
VS
111612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11162
11163 * docs/grub.texi (Installation): Fix several outdated claims.
11164
2217a143
VS
111652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 Handle module_license on windows.
11168
11169 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11170 sections shifted.
11171 (insert_string): Make argument const char * instead of char *.
11172 (write_section_data): Handle long section names.
11173 Handle module_license.
11174
d4de6b01
VS
111752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11176
11177 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11178 handle class-free menuentries.
11179 (grub_normal_add_menu_entry): Add a check to be sure.
11180
4c2a3b43
VS
111812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11182
11183 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11184 PgUp and PgDown.
11185
85c6210f
VS
111862011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11187
11188 * configure.ac: Bump version to 1.99.
11189
36084912
VS
111902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11191
11192 Give ATA device a bit more time on first try in order to allow disks
11193 to spin up.
11194
11195 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11196 if dev->present is 1. Reset dev->present on failure.
11197 (grub_ata_device_initialize): Set dev->present to 1.
11198 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11199 (grub_ata_device): New member 'present'.
11200
bda0e219
VS
112012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 * util/grub-mkimage.c (generate_image): Update hash.
11204
19e1c41b
VS
112052011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 Flush caches on DMA memory.
11208
11209 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11210 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11211 (grub_dma_free): Likewise.
11212 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11213
91bbcc0c
VS
112142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11217 to avoid asm treating ld and sd as macros.
11218
60ddfad3
VS
112192011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11222 decompressor.
11223
a298aa04
VS
112242011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11227 grub_decompress_core since later would fail if grub_decompress_core
11228 is too far.
11229
9b44feca
VS
112302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11231
11232 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11233 R_MIPS_JALR since it's used by newer compiler.
11234
56dbe7b4
VS
112352011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11236
11237 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11238
52856af2
VS
112392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11240
11241 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11242 file_path to 0 for surety.
11243 (grub_chainloader_boot): Set exit_data to NULL.
11244 Unset the loader once done.
11245 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11246
9c9bfc6d
VS
112472011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11248
11249 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11250 unknown key into a dprintf.
11251
dd94a3df
VS
112522011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11253
11254 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11255 on first non-existant partition.
11256
fa68d99c
VS
112572011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11258
11259 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11260 openning fails.
11261 Reported by: Mark Korenberg.
11262
157effb7
VS
112632011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11264
11265 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11266 overflow.
11267
ea75312f
VS
112682011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11271 before closing to ensure that it will be readable by grub-setup.
11272
072b5d31
VS
112732011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11276 (devpath_1): Use MAKE_PIWG_PATH.
11277 (devpath_2): Likewise.
11278 (devpath_3): Likewise.
11279 (devpath_4): Likewise.
11280 (devpath_5): Likewise.
11281 (devpath_6): Likewise.
11282
11283 The appleldr.mod was checked that to be binary identical to previous
11284 version.
11285
7fae0051
Z
112862011-05-05 Zach <mikezackles>
11287
11288 Support 2010 Macbooks.
11289
11290 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11291 (devs): Add devpath_6.
11292
7c515bee
VS
112932011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11296 /dev/random. /dev/urandom is good enough for our purposes (salting).
11297
ed660bd8
VS
112982011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11299
11300 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11301
ee5614b7
VS
113022011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11303
11304 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11305 hexadecimal.
11306
664889a6
VS
113072011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11310 and not 0 on failure.
11311
bd405bbc
CW
113122011-05-03 Colin Watson <cjwatson@ubuntu.com>
11313
11314 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11315 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11316 disk; otherwise grub_fs_probe will not fall back to the next
11317 filesystem.
11318 (grub_pxefs_open): Likewise, for consistency.
11319 Reported and tested by: Ezekiel Grave.
11320
4ebff753
CW
113212011-05-03 Colin Watson <cjwatson@ubuntu.com>
11322
11323 * tests/partmap_test.in: Don't hardcode path to parted.
11324 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11325
8f942553
CW
113262011-05-01 Colin Watson <cjwatson@ubuntu.com>
11327
11328 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11329 of `ls' to find out which devices are available.
11330
3c62402d
VS
113312011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11334 than source address for efi mmap buffer.
11335
723f63f2
VS
113362011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11337
11338 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11339 wrong action on non-detecting the magic.
11340
68797f92
VS
113412011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11344 already supplied by another part of the module (fixes compilation on
11345 FreeBSD).
11346
6be8715d
VS
113472011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11350 match the one used by mdadm.
11351
e91dba5b
CW
113522011-04-21 Colin Watson <cjwatson@ubuntu.com>
11353
11354 * po/README: Add instructions for creating po/LINGUAS.
11355
c85140b3
CW
113562011-04-21 Colin Watson <cjwatson@ubuntu.com>
11357
11358 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11359 #551428.
11360
11361 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11362 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11363 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11364 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11365 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11366 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11367 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11368 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11369 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11370 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11371 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11372 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11373 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11374 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11375 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11376 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11377 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11378 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11379 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11380 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11381 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11382 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11383
92051871
CW
113842011-04-21 Colin Watson <cjwatson@ubuntu.com>
11385
11386 * grub-core/kern/emu/getroot.c
11387 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11388 test that was incorrectly reintroduced in r3214.
11389 Reported by: Ian Dall. Fixes Savannah bug #33133.
11390
b13f79a4
CW
113912011-04-21 Colin Watson <cjwatson@ubuntu.com>
11392
11393 Fix stack pointer handling in 16-bit relocator.
11394
11395 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11396 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11397 Fixes Ubuntu bug #683904.
11398
9b710a88
VS
113992011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 * configure.ac: Bump version to 1.99~rc2.
11402
d97e7b59
VS
114032011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11404
11405 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11406 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11407 * grub-core/lib/x86_64/setjmp.S: Likewise.
11408 * grub-core/lib/mips/setjmp.S: Likewise.
11409 * grub-core/lib/powerpc/setjmp.S: Likewise.
11410 * grub-core/lib/sparc64/setjmp.S: Likewise.
11411
0624551c
VS
114122011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11413
11414 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11415 * grub-core/lib/efi/datetime.c: Likewise.
11416
e8f28d4c
VS
114172011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11420 New function.
11421 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11422 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11423 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11424
bba79a15
VS
114252011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11428 bitmap.
11429 (grub_gfxterm_term_init): Likewise.
11430
abc474ef
VS
114312011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 Take into account the decorations the computing menu entry width.
11434
11435 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11436 (grub_gfxmenu_create_box): Register get_border_width.
11437 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11438 if available.
11439 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11440 get_border_width.
11441
e74b3947
EP
114422011-04-18 Endres Puschner <code@e7p.de>
11443
11444 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11445 Don't skip first class.
11446
34faa595
VS
114472011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11450 chunks.
11451 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11452
93a777e3
VS
114532011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11454
11455 Complete 64-bit division support.
11456
11457 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11458 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11459 * include/grub/misc.h (grub_divmod64): Rename to ...
11460 (grub_divmod64_full): ... this.
11461 (grub_divmod64): New inline function.
11462
a5102d94
VS
114632011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11466
f3fb7b36
VS
114672011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11468
11469 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11470 performing the necessary test.
11471
9ac718b0
VS
114722011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11475 (kfreebsd.elf): Likewise.
11476 (pc-chainloader.elf): Likewise.
11477 (ntldr.elf): Likewise.
11478
50d2cc5a
VS
114792011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11480
11481 Identify RAID by its UUID rather than (guessed) name.
11482
11483 * grub-core/disk/raid.c (ascii2hex): New function.
11484 (grub_raid_open): Accept mduuid/%s specification.
11485 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11486 (get_mdadm_uuid): ... this.
11487 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11488
e03f7bea
VS
114892011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11492 to negative size.
11493
e74c3112
CW
114942011-04-13 Colin Watson <cjwatson@ubuntu.com>
11495
11496 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11497 btrfs subvolume.
11498 * util/grub.d/20_linux_xen.in: Likewise.
11499
78fa584f
CW
115002011-04-13 Colin Watson <cjwatson@ubuntu.com>
11501
11502 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11503 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11504
11505 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11506 Build a list of relevant visible mounts using the mnt_id and
11507 parent_mnt_id fields, and then scan that list at the end.
11508
9d5f8162
CW
115092011-04-12 Colin Watson <cjwatson@ubuntu.com>
11510
11511 * docs/grub.texi (normal): New section.
11512 (normal_exit): New section.
11513 (Embedded configuration): Add reference to normal.
11514 (GRUB only offers a rescue shell): Likewise.
11515 * docs/grub-dev.texi (Error Handling): Fix typo.
11516
09a9d66f
CW
115172011-04-12 Colin Watson <cjwatson@ubuntu.com>
11518
11519 * NEWS: Drop obsolete entry about probe-only btrfs support.
11520
0c676933
CW
115212011-04-12 Colin Watson <cjwatson@ubuntu.com>
11522
11523 * util/import_gcry.py: Fix typo.
11524
ec9f5e0d
VS
115252011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 * NEWS: Add btrfs support.
11528
fe6b2cba
VS
115292011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
115302011-04-11 Colin Watson <cjwatson@ubuntu.com>
11531
11532 BtrFS support. Written by me (Vladimir) with important bugfixes and
11533 even more important testing by Colin.
11534
11535 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11536 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11537 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11538 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11539 mem_input_off and mem_input. All users updated to accept in-RAM input.
11540 (gzio_seek): New function.
11541 (test_zlib_header): Likewise.
11542 (grub_gzio_read): Likewise.
11543 (grub_zlib_decompress): Likewise.
11544 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11545 Accept partial and non-virtual mounts.
11546 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11547 avoid receiving /dev/dm-X as device.
11548 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11549 Handle bind and partial mounts.
11550 * grub-core/lib/crc.c: New file.
11551 * include/grub/deflate.h: Likewise.
11552 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
11553 proto.
11554 * include/grub/lib/crc.h: New file.
11555
e745cf0c
VS
115562011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 Implement automatic module license checking according to new GNU
11559 guidelines.
11560
11561 * grub-core/kern/dl.c (grub_dl_check_license): New function.
11562 (grub_dl_load_core): Use grub_dl_check_license.
11563 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
11564 (GRUB_MOD_LICENSE): Likewise.
11565 (GRUB_MOD_DUAL_LICENSE): Likewise.
11566 All modules updated.
11567
2a9bc016
CW
115682011-04-11 Colin Watson <cjwatson@ubuntu.com>
11569
11570 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
11571 reserved_first_sector to 1. btrfs reserves plenty of space for boot
11572 loaders.
11573 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
11574
8a3bc88e
VS
115752011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
11578
af869a4a
VS
115792011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11580
11581 * util/grub-fstest.c (read_file): Report GRUB error if file opening
11582 failed.
11583
9ee8d94f
VS
115842011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11585
11586 * grub-core/kern/file.c (grub_file_open): Don't take into account the
11587 parenthesis in the middle of the filename.
11588
b01abe3e
VS
115892011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11590
11591 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
11592 rather than trying to put initrd way too high.
11593 Reported by: Ryan Lortie <desrt@desrt.ca>
11594
335bda1e
VS
115952011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
11598 improperly removed string.
11599
5ca1a64d
VS
116002011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
11603 is_disk.
11604 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
11605 (open_device) Likewise.
11606 (grub_util_biosdisk_close): Likewise.
d8ce9995 11607 Reported by: Mark Korenberg.
5ca1a64d 11608
cbac5b1e
AK
116092011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
11610
11611 * util/grub-mkconfig_lib.in: Add missing quotes.
11612
088cdb65
CW
116132011-04-10 Colin Watson <cjwatson@ubuntu.com>
11614
11615 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
11616 is NULL.
11617
8b8a81fa
VS
116182011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 Dynamically count the number of lines for the lower banner.
11621
11622 * grub-core/normal/menu_entry.c (per_term_screen): New member
11623 num_entries.
11624 (print_down): Use num_entries.
11625 (update_screen): Likewise.
11626 (grub_menu_entry_run): Set num_entries.
11627 * grub-core/normal/menu_text.c (menu_viewer_data): New member
11628 num_entries.
11629 (grub_print_message_indented): Move real part to ...
11630 (grub_print_message_indented_real): ... here. Additional argument
11631 dry_run.
11632 (draw_border): Additional argument num_entries.
11633 (print_message): Additional argument dry_run.
11634 (print_entries): Receive menu viewer data.
11635 (grub_menu_init_page): New argment num_entries.
11636 (menu_text_set_chosen_entry): Use num_entries.
11637 (grub_menu_try_text): Likewise.
11638 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
11639 All users updated.
11640 (grub_ucs4_count_lines): New function.
11641 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
11642 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
11643 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
11644 (grub_term_border_height): Likewise.
11645 (grub_term_num_entries): Likewise.
11646
277f955b
VS
116472011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
11650 Remove now unused string.
11651
536ce85a
CW
116522011-04-09 Colin Watson <cjwatson@ubuntu.com>
11653
11654 * docs/grub-dev.texi (Finding your way around): Update for 1.99
11655 build system.
11656 (Getting started): GRUB is developed in Bazaar now, not Subversion.
11657
11658 (Comment): Fix typo.
11659 (Getting started): General copy-editing.
11660 (Typical Development Experience): Likewise.
11661 (Error Handling): Likewise.
11662 (Video API): Likewise.
11663
2cf09e32
CW
116642011-04-09 Colin Watson <cjwatson@ubuntu.com>
11665
11666 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
11667 throughout.
11668
1ec652f4
VS
116692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 * util/grub-mkimage.c (main): Handle special naming of yeeloong
11672 directory.
11673
2c583728
CW
116742011-04-08 Colin Watson <cjwatson@ubuntu.com>
11675
11676 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
11677 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
11678 "development".
11679
d7a565e9
VS
116802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
11683 grub_strcpy since the lines aren't necessarily 0-terminated.
11684
7c2e4909
VS
116852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
11688 root on legacy.
11689
34c09785
VS
116902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 * grub-core/commands/probe.c (options): Argument to set isn't optional.
11693 (GRUB_MOD_INIT): DEVICE isn't optional.
11694
6a6f8058
VS
116952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
11698 word on new line if it's too long anyway. Fixes a hang.
11699
2e335e90
VS
117002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
11703 const.
11704 * util/grub-setup.c (main): Reuse md device name if available.
11705 * util/raid.c (grub_util_raid_getmembers): Receive device name and
11706 not GRUB name as argument.
11707 Based on patch by: Florian Wagner <fwagner>.
11708
10a7a867
VS
117092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11710
11711 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11712 Place mbi on low memory for better compatibility.
11713
7a3d6cd9
VS
117142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11715
11716 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
11717
18dd6b47
VS
117182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
117192011-04-08 Colin Watson <cjwatson@ubuntu.com>
11720
11721 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 11722 * conf/Makefile.common: Likewise.
18dd6b47 11723
3c0e3f14
VS
117242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11725
f7148863
VS
11726 * grub-core/normal/menu.c: Add missing include.
11727
117282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 11731
6d1fa41f
MZ
117322011-04-08 Martin Zuther <mzuther@mzuther.de>
11733
11734 * util/grub-mkconfig.in: Ignore emacsen backup.
11735
478182a8
VS
117362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
11739 on open.
11740 (grub_util_biosdisk_close): Likewise.
11741
72a89a54
VS
117422011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11743
11744 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
11745 const attribute and use grub_isdigit.
11746
b5ebecfa
A
117472011-04-06 Andrey <dev_null@ukr.net>
11748
11749 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
11750 gcc warning.
11751
7755f66e
VS
117522011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
11755 useful grub_dprintf's.
11756
461121ff
VS
117572011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11758
11759 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
11760
2a961775
VS
117612011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11762
11763 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
11764
adf594cc
VS
117652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11766
11767 Output errors if theme loading failed.
11768
11769 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
11770 grub_gfxterm_fullscreen on error paths to ...
11771 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
11772 theme loading error.
11773
665900a3
VS
117742011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11775
11776 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
11777 space for older compilers.
11778 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11779
a562b479
VS
117802011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
11783 and report them as not RAID members since they are useless for GRUB.
11784 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11785
850e9373
VS
117862011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11787
11788 Increase LVM implementation robustness in order not to crash on
11789 configurations like pvmove. Previously code assumed that in some places
11790 only lvs or only pvs are used whereas it seems that they are used
11791 interchangeably.
11792
11793 * grub-core/disk/lvm.c (read_node): New function.
11794 (read_lv): Use read_node.
11795 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
11796 Match volumes only at the end when all lvs are found. Take both
11797 pvs (first) and lvs (second) into account.
11798 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
11799 mirror_* into node_*. All users updated.
11800 (grub_lvm_stripe): Merge this ...
11801 (grub_lvm_mirror): ... and this ...
11802 (grub_lvm_node): ... into this. All users updated.
11803
6f332153
VS
118042011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
11807 of function to allow further scanning for LVMs.
11808
829ea451
VS
118092011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
11812 on failed seek as it breaks open fd reusage.
11813
09ceb9a5
VS
118142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11815
11816 * util/grub-install.in: Add a recommendation to use --recheck before
11817 reporting bugs.
11818
67e11623
VS
118192011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11820
11821 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
11822 are obtained.
11823
caee5efd
VS
118242011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11825
11826 GRUB developper manual based on existing Internals section and
11827 contributions by the various authors with active copyright assignment.
11828
11829 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
11830 * docs/font_char_metrics.png: New file.
11831 * docs/font_char_metrics.txt: Likewise.
11832 * docs/grub-dev.texi: Likewise.
11833 * docs/grub.texi (Internals): Move from here ...
11834 * docs/grub-dev.texi: ... here.
11835
2cccc747
CW
118362011-04-01 Colin Watson <cjwatson@ubuntu.com>
11837
11838 Store the loopback device as data on loopback grub_disk structures,
11839 rather than the file it points to. This fixes use of freed memory
11840 if an existing loopback device is replaced.
11841
11842 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
11843 disk->data, not dev->file.
11844 (grub_loopback_read): Adjust file assignment to match.
11845 Fixes Ubuntu bug #742967.
11846
186ae367
CW
118472011-04-01 Colin Watson <cjwatson@ubuntu.com>
11848
11849 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
11850 when replacing an existing device.
11851
cfed2ad0
VS
118522011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
11855 memory corruptions.
11856
11857 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
11858 unsigned.
11859 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
11860 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
11861 (grub_jfs_read_inode): Likewise.
11862 (grub_jfs_opendir): Likewise. Remove now useless casts.
11863 (grub_jfs_getent): Likewise.
11864 Make ino a grub_uint32_t rather than int.
11865 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
11866 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
11867 division and module with bit operations.
11868 (grub_jfs_find_file): Make ino a grub_uint32_t.
11869 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
11870
05d2ed32
CW
118712011-04-01 Colin Watson <cjwatson@ubuntu.com>
11872
11873 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
11874 warning. (This was in fact always initialised before use, but GCC
11875 wasn't smart enough to prove that.)
11876 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11877
91dc6073
VS
118782011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
11881 stack alignment.
11882 (efi_wrap_1): Likewise.
11883 (efi_wrap_2): Likewise.
11884 (efi_wrap_3): Likewise.
11885 (efi_wrap_4): Likewise.
11886 (efi_wrap_5): Likewise.
11887 (efi_wrap_6): Likewise.
11888 (efi_wrap_10): Likewise.
11889 Based on information by: Red Hat/Peter Jones.
11890
a8afc1d1
CW
118912011-03-31 Colin Watson <cjwatson@ubuntu.com>
11892
11893 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
11894 set-but-not-used variable.
11895
a826cc7d
CW
118962011-03-31 Colin Watson <cjwatson@ubuntu.com>
11897
11898 * docs/grub.texi (Simple configuration): Be more explicit about
11899 GRUB_DEFAULT, and add an example.
11900 Reported by: Leslie Rhorer.
11901
875b67ba
CW
119022011-03-30 Colin Watson <cjwatson@ubuntu.com>
11903
11904 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
11905 shell".
11906
fd7cd914
AS
119072011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11908
11909 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
11910 * util/grub.d/20_linux_xen.in: Likewise.
11911
090b1b6a
VS
119122011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 * util/grub.d/10_linux.in: Try alternative config filenames where
11915 we parse config file.
11916 * util/grub.d/20_linux_xen.in: Likewise.
11917
baad885c
AS
119182011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11919
11920 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
11921 * util/grub.d/20_linux_xen.in: Likewise.
11922
241e41f5
VS
119232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11924
11925 * grub-core/disk/raid.c (insert_array): Add few potentially
11926 useful grub_util_info.
11927 (grub_raid_register): Likewise.
11928
56445fb2
VS
119292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
11932 Preserve partition number in mdadm code path.
11933
c871b1c6
VS
119342011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11935
11936 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
11937 few potentially useful grub_util_info.
11938
5e631b4f
CW
119392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11940
11941 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
11942
2d5d0333
CW
119432011-03-30 Colin Watson <cjwatson@ubuntu.com>
11944
11945 * docs/grub.texi (default): Use @example rather than nested
11946 itemized lists to avoid breaking gendocs.
11947
3d7ed04e
CW
119482011-03-30 Colin Watson <cjwatson@ubuntu.com>
11949
11950 * docs/grub.texi (Future): Update.
11951
abf04200 119522011-03-30 Colin Watson <cjwatson@ubuntu.com>
11953
11954 * docs/grub.texi (Environment): New chapter.
11955 (Changes from GRUB Legacy): Link to "Environment block" section for
11956 details of limitations.
11957 (Simple configuration): Likewise. Link to documentation of gfxmode
11958 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
11959 respectively.
11960 (Shell-like scripting): Note that normal variables are stored in the
11961 environment.
11962 (gettext): Link to documentation of lang and locale_dir.
11963 (list_env): New section.
11964 (load_env): New section.
11965 (save_env): New section.
11966
11967 (Reporting bugs): Fix typo.
11968
e1ad0edd
VS
119692011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
11972 the example.
11973
5d803174
VS
119742011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11975
11976 * grub-core/term/at_keyboard.c (set_scancodes)
11977 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
11978
2a2da1d0
CW
119792011-03-30 Colin Watson <cjwatson@ubuntu.com>
11980
11981 * docs/grub.texi (Menu-specific commands): Remove some semantics
11982 that were true in GRUB Legacy but not in GRUB 2.
11983 (submenu): New section.
11984 (false): New section.
11985 (read): New section.
11986 (true): New section.
11987
a7527639
CW
119882011-03-30 Colin Watson <cjwatson@ubuntu.com>
11989
11990 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
11991
119922011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
11993
11994 * docs/grub.texi (Simple configuration): Explain some of the
11995 current limitations of grub-mkconfig.
8a748df2 11996 Reported by: Leslie Rhorer.
e30af029 11997
fc858482
VS
119982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11999
12000 Old macs search for boot.efi rather than for bootia32.efi.
12001
12002 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12003 * util/grub-mkrescue.in: Likewise.
12004 Suggested by: Peter Jones.
12005
e1eb511d
VS
120062011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12007
12008 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12009
70e75364
VS
120102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12013 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12014 (grub_lvm_mirror): New struct.
12015 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12016 (grub_lvm_iterate): Iterate only visible volumes.
12017 (grub_lvm_read): Factor out to ..
12018 (read_lv): ... this. Support mirrors.
12019 (grub_lvm_read): New wrapper function.
12020 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12021 stripped or mirrored.
12022
fc18f6a3
VS
120232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12026
5c650f4c
CW
120272011-03-29 Colin Watson <cjwatson@ubuntu.com>
12028
12029 * docs/grub.texi (loopback): New section.
12030
61d7156b
CW
120312011-03-29 Colin Watson <cjwatson@ubuntu.com>
12032
12033 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12034 removed -p option.
12035
994b8264
CW
120362011-03-29 Colin Watson <cjwatson@ubuntu.com>
12037
12038 * docs/grub.texi (BIOS installation): New section, partly based on
12039 previous text in other sections.
12040 (Installing GRUB using grub-install): Replace BIOS discussion with a
12041 cross-reference.
12042 (Images): Likewise.
12043
9e4d19e0
VS
120442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12047 [HAVE_DIOCGDINFO]: Add safety checks.
12048
a307c0b2
VS
120492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12050
12051 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12052 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12053
b4db4f39
CW
120542011-03-29 Colin Watson <cjwatson@ubuntu.com>
12055
12056 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12057 real_sb->size is zero (e.g. RAID-0), get the disk size from
12058 real_sb->data_size instead.
12059 Fixes Ubuntu bug #743136.
12060
35e5f84c
VS
120612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12064 printf clauses for printing size and start.
12065
d2e29d81
VS
120662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12069 Reported and tested by: Timothy Nikkel.
12070
ed5587af
VS
120712011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12074 (dirty_region_add_real): ... this.
12075 (dirty_region_add): Don't discard margin refresh when performing
12076 scheduled repaint.
12077
a1dc717c
VS
120782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12079
12080 * grub-core/lib/relocator.c (allocate_regstart)
12081 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12082 terminals are capabple of malloc-free operation.
12083 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12084 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12085
9f3677d3
VS
120862011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12087
12088 * util/grub-setup.c: Copy the partition table zone if floppy support
12089 is disabled, even if no partition table is found.
12090
12091 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12092 during POST if an invalid partition table is contained in the PBR
12093 of the active partition when GRUB is installed to a partition.
12094
24148725
CW
120952011-03-28 Colin Watson <cjwatson@debian.org>
12096
12097 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12098 comment.
12099
f329eda7
CW
121002011-03-28 Colin Watson <cjwatson@debian.org>
12101
12102 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12103 to be specific about what kind of RAID device we're scanning for.
12104
c482ad98
SG
121052011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12106
12107 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12108 return freed string.
12109
5ee04984
VS
121102011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12111
12112 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12113
f4727da9
VS
121142011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 Use libgeom on FreeBSD to detect partitions.
12117
12118 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12119 (grub-mkrelpath): Likewise.
12120 (grub-script-check): Likewise.
12121 (grub-editenv): Likewise.
12122 (grub-mkpasswd-pbkdf2): Likewise.
12123 (grub-fstest): Likewise.
12124 (grub-mkfont): Likewise.
12125 (grub-mkdevicemap): Likewise.
12126 (grub-probe): Likewise.
12127 (grub-setup): Likewise.
12128 (grub-ofpathname): Likewise.
12129 (grub-mklayout): Likewise.
12130 (example_unit_test): Likewise.
12131 (grub-menulst2cfg): Likewise.
12132 * grub-core/Makefile.core.def (grub-emu): Likewise.
12133 (grub-emu-lite): Likewise.
12134 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12135 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12136 define HAVE_DIOCGDINFO.
12137 (follow_geom_up) [FreeBSD]: New function.
12138 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12139 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12140 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12141 unconditionally of HAVE_DIOCGDINFO.
12142
82fe6c75
VS
121432011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 Fix FreeBSD compilation problem.
12146
12147 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12148 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12149
4c6c9431
CW
121502011-03-24 Colin Watson <cjwatson@ubuntu.com>
12151
12152 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12153 Switch back to page zero before loading a kernel, since some kernel
12154 drivers expect that.
12155 Thanks to: Felix Kuehling.
12156
c7064d94
VS
121572011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12160 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12161 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12162
3f71cded
VS
121632011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12166 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12167
ef6de21a
VS
121682011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12169
12170 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12171 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12172 malloc is disabled.
12173
8bc66a2c
VS
121742011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12177 for modules headers when counting the needed allocation size.
12178
5657722c
VS
121792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12180
12181 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12182 if no ASCII character is found to prevent crash.
12183
41a85f55
AK
121842011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12185
12186 * grub-core/video/bitmap.c (match_extension): Ignore case.
12187
59e1e5f1
VS
121882011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12189
12190 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12191
bd4d051a
VS
121922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 * grub-core/script/parser.y: Declare "time" as valid argument.
12195
bae7fcc1
PJ
121962011-03-23 Peter Jones <pjones@redhat.com>
12197
12198 Fix incorrect assert failure reporting.
12199
12200 * grub-core/tests/example_functional_test.c (example_test): Add
12201 a failure comment.
12202 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12203 (failure_start): ...this. Check that malloc succeeded.
12204 Don't call xvasprintf. Return failure struct.
12205 (failure_append_vtext): New function.
12206 (failure_append_text): Likewise.
12207 (add_failure): Likewise.
12208 (grub_test_assert_helper): Likewise.
12209 * include/grub/test.h (grub_test_assert_helper): New declaration.
12210 (grub_test_assert): Macro rewritten.
12211
537dc9be
VS
122122011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12213
12214 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12215
fa3e01bf
VS
122162011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12217
12218 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12219
b1d28404
VS
122202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12221
12222 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12223 into GRUB-style one.
12224
2e3e2e09
VS
122252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12228 error and not grub_errno.
12229 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12230
ed57e557
VS
122312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12234 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12235
d1611f01
VS
122362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 * grub-core/efiemu/i386/pc/cfgtables.c
12239 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12240 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12241 (grub_xnu_unlock): Likewise.
12242 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12243
7d4e39d6
VS
122442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12247 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12248 * grub-core/commands/hashsum.c (aliases): Likewise.
12249 * grub-core/commands/setpci.c (pci_registers): Likewise.
12250 * grub-core/disk/usbms.c (attach_hook): Likewise.
12251 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12252 (zio_checksum_table): Likewise.
12253 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12254 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12255 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12256 * grub-core/lib/relocator.c (leftovers): Likewise.
12257 (extra_blocks): Likewise.
12258 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12259 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12260 (modules_last): Likewise.
12261 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12262 (devices): Likewise.
12263 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12264 (modules_last): Likewise.
12265 * grub-core/normal/auth.c (users): Likewise.
12266 * grub-core/normal/context.c (initial_menu): Likewise.
12267 (current_menu): Likewise.
12268 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12269 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12270 (grub_serial_terminfo_input_template): Likewise.
12271 (grub_serial_terminfo_output_template): Likewise.
12272 (grub_serial_terminfo_input): Likewise.
12273 (grub_serial_terminfo_output): Likewise.
12274 (registered): Likewise.
12275 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12276
40fc4659
VS
122772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12280 grub_video_mode_type_t.
12281 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12282 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12283 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12284
2da48d28
VS
122852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12286
12287 * util/grub-install.in: Correct the x86-64 name as x86_64.
12288
9b43bf39
CW
122892011-03-11 Colin Watson <cjwatson@ubuntu.com>
12290
12291 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12292 initial chunk read from the kernel always includes GRUB's multiboot
12293 header, which is now outside the first sector.
12294
be1a7ce0
CW
122952011-03-09 Colin Watson <cjwatson@ubuntu.com>
12296
12297 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12298 cached mmap_size, so that this works correctly when called multiple
12299 times.
12300 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12301
83a3c48d
CW
123022011-03-09 Colin Watson <cjwatson@ubuntu.com>
12303
12304 * docs/grub.texi (Simple configuration): Tidy up formatting.
12305
57d75699
SJ
123062011-03-07 Szymon Janc <szymon@janc.net.pl>
12307
12308 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12309 Set-but-not-used variable removed.
12310
028501a0
VS
123112011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12312
12313 Workaround yet another IEEE1275 bug.
12314
12315 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12316 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12317 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12318 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12319 is set.
12320 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12321 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12322
d998657d
VS
123232011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12324
12325 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12326 error.
12327
fee7cdd4
CW
123282011-02-11 Colin Watson <cjwatson@ubuntu.com>
12329
12330 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12331 empty, since in that case we can only generate either nothing or a
12332 syntactically invalid configuration file.
12333 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12334
97286eb5
CW
123352011-02-09 Colin Watson <cjwatson@ubuntu.com>
12336
12337 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12338 (Making a GRUB bootable CD-ROM): Likewise.
12339 (Invoking grub-mkrescue): New section.
12340 Reported by: Yann Dirson. Fixes Debian bug #612585.
12341
22b28eb3
CW
123422011-02-09 Colin Watson <cjwatson@ubuntu.com>
12343
12344 * util/grub-install.in: Remove unnecessary brackets from tr
12345 arguments.
12346 * util/grub.d/10_hurd.in: Likewise.
12347 * util/grub.d/10_kfreebsd.in: Likewise.
12348 * util/grub.d/10_linux.in: Likewise.
12349 * util/grub.d/20_linux_xen.in: Likewise.
12350 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12351
7e735e43
CW
123522011-02-08 Colin Watson <cjwatson@ubuntu.com>
12353
12354 * include/grub/file.h (not_easly_seekable): Rename to ...
12355 (not_easily_seekable): ... this. Update all users.
12356
800f1881
CW
123572011-01-28 Colin Watson <cjwatson@ubuntu.com>
12358
12359 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12360 grub-mkrescue.
12361
3281d3d6
VS
123622011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 * util/grub-mkimage.c (generate_image): Refuse to create the images
12365 bigger than the actual flash (512K) in Loongson machines. 512K is also
12366 the biggest chip supported by them.
12367
3533413c
VS
123682011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12371
73ae4f4f
VS
123722011-01-22 Anthony DeRobertis <anthony@derobert.net>
12373
12374 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12375 super_offset field.
12376
37f4f608
VS
123772011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12378
12379 * util/grub-install.in: Ignore install device on platforms
12380 where it doesn't make sense. Always use UUIDs except on pc, efi and
12381 sparc64.
12382 Reported by: Daniel Kahn Gillmor.
12383
03a4ccb5
VS
123842011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12387
ffc8f4d8
VS
123882011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12389
12390 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12391 (iterate_real): Don't rely on partition being non-NULL.
12392
80f23be7
VS
123932011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12396 supported platforms. Put a compile time assert for this rather than
12397 generate a warning with 32-bit shift.
12398
5d4f4dd5
VS
123992011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12402 logical expression more readable.
12403
e489601a
VS
124042011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12407 even if some elements have a name.
12408 Reported by: Alexander GQ Gerasiov.
12409
96e0a6ea
CW
124102011-01-22 Colin Watson <cjwatson@ubuntu.com>
12411
12412 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12413 path unreadable if `grub-probe -t abstraction' fails, for example if
12414 memberlist fails on an LVM volume group.
12415 Reported by: Darius Jahandarie.
12416
81431e2b
CW
124172011-01-22 Colin Watson <cjwatson@ubuntu.com>
12418
12419 * docs/grub.texi (Simple configuration): Document
12420 GRUB_PRELOAD_MODULES.
12421
5e79d66a
CW
124222011-01-17 Colin Watson <cjwatson@ubuntu.com>
12423
12424 * .bzrignore: Remove nonexistent grub-pbkdf2.
12425
646ada34
VS
124262011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 * configure.ac: Bump version to 1.99~rc1.
12429
04360337
VS
124302011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12433 for safety.
12434
46c9db88
VS
124352011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12438 module.
12439
124402011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
12441
12442 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12443
4fbf1852
VS
124442011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12445
12446 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12447 diskdevid.
12448
f1632d4d
VS
124492011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 Fix compilation on cygwin.
12452
12453 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12454 -R .drectve on cygwin.
12455 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12456 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12457 (COND_CYGWIN): New condition.
12458 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12459 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12460 not @TARGET_OBJ2ELF@.
12461 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12462 type to determine whether aux is to be used.
12463
0b5e127b
VS
124642011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12467 realpath'ed device string.
12468 Handle floppy (somewhat).
12469 Issue error in unknown case rather than garbage.
12470 Reported by: Axel Beckert.
12471
173b71e9
VS
124722011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 * util/grub.d/00_header.in (load_video): Handle the case when no video
12475 drivers available.
12476 Thanks to: Axel Beckert.
12477
f8f479db
VS
124782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12481 variable. Fixes problem on big endian platforms.
12482
8fc0a245
VS
124832011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12486 It doesn't work well there.
12487
b8494fbe
VS
124882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12491 warning.
12492 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12493 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12494 counter.
12495
b44a558c
VS
124962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12497
12498 Use alias->path rather than buggy "canon".
12499
12500 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12501 (ofdisk_hash_add): New argument curcan. All users updated.
12502
51fa856c
CW
125032011-01-11 Colin Watson <cjwatson@ubuntu.com>
12504
12505 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12506
9da068a5
VS
125072011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12508
12509 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12510 loadmask before doing any calculations. Use correct type for offset.
12511 (grub_linux_load64): Likewise.
12512
86205c94
CW
125132011-01-11 Colin Watson <cjwatson@ubuntu.com>
12514
12515 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12516 with NULL.
12517 (console_grub_equivalences_unshift): Likewise.
12518 Reported by: Daniel Dehennin.
12519
4531a206
VS
125202011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12523 (set_env_limn_ro): Likewise.
12524 (GRUB_MOD_INIT): Likewise.
12525 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12526 ARRAY_SIZE while on it.
12527 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12528 * grub-core/normal/context.c (grub_env_export): Move from here ...
12529 * grub-core/kern/env.c (grub_env_export): ... here.
12530 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12531 prefix.
12532 * grub-core/kern/main.c (grub_main): Export root and prefix.
12533 * include/grub/env.h (grub_env_export): Export.
12534 Reported by: Seth Goldberg.
12535
45146057
VS
125362011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12539 Take into account space used by ELF sections and multiboot palette.
12540 Reported by: Grégoire Sutre.
12541
f093110b
VS
125422011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * BUGS: New file.
12545
3395fe52
VS
125462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 Pass more appropriate video id to Linux.
12549
12550 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12551 grub_video_get_driver_id and variable gfxpayloadforcelfb to
12552 fill have_vga.
12553 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
12554 shift params->lfb_size.
12555 * include/grub/i386/linux.h: Make an enume out of have_vga values.
12556
c2fa6cbb
VS
125572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12558
12559 * util/grub-menulst2cfg.c: Add missing include of misc.h.
12560
b3ff6ff0
VS
125612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
12564 separator and pass bootpath/devid even if only one of them is available.
12565 Reported by: Seth Goldberg.
12566
ae67942e
VS
125672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
12570 implementations bug on them.
12571
12572 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
12573 memory.
12574 (filter_memory_map): Likewise.
12575
d570097a
VS
125762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12577
12578 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
12579 Reported by: nebuchadnezzar.
12580
a508e776
VS
125812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12582
12583 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
12584 Reported by: nebuchadnezzar.
12585
dcb883b1
VS
125862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12587
12588 Submenu default support.
12589
12590 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
12591 auto_boot. All users updated.
12592 Declared static.
12593 Handle chosen and default with submenus.
12594 (grub_menu_execute_with_fallback): Declared static.
12595 Don't notify failure if autobooted. Upper level does it.
12596 (menuentry_eq): New function.
12597 (get_entry_number): Use menuentry_eq.
12598 (show_menu): New parameter "autobooted". All users updated.
12599 (grub_show_menu): Likewise.
12600 * include/grub/normal.h (grub_show_menu): Likewise.
12601 * include/grub/menu.h (grub_menu_execute_entry): Removed.
12602 (grub_menu_execute_with_fallback): Likewise.
12603
6fef99b4
VS
126042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12605
12606 * util/grub-mklayout.c (usage): Update help text.
12607
47a77af5
VS
126082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12609
12610 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
12611
ce6bb3ee
VS
126122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12613
12614 * util/grub-menulst2cfg.c (main): Trim the line.
12615
db87be2a
VS
126162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12617
12618 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
12619 (grub_machine_init): Don't check amount of low memory as reportedly
12620 INT 12h can be broken and if low memory is too low we wouldn't have
12621 gotten into grub_machine_init anyway.
12622
c49849cc
VS
126232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
12626 (grub_machine_mmap_iterate): Take low memory into account
12627
b1969b30
VS
126282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
12631 badfs.
12632 Reported by: TiCPU.
12633
cf0eaf13
VS
126342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
12637 members errors.
12638
1f060f39
GS
126392011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12640
12641 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
12642 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
12643
a21e5672
GS
126442011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12645
12646 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
12647 openbsd and netbsd types being in part_bsd module.
12648
c88172fa
VS
126492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
12652 (_FILE_OFFSET_BITS): Likewise.
12653 Reported by: Seth Goldberg.
12654
53798c4b
GS
126552011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12656
12657 * configure.ac: Check for libdevmapper header.
12658
e7121b69
VS
126592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
12662 avoid aliasing.
12663 (fzap_lookup): Likewise.
12664 (dnode_get): Likewise.
12665 (make_mdn): Likewise.
12666 (zfs_mount): Likewise.
12667 (fzap_iterate): Use temporary pointer to avoid aliasing.
12668 (grub_zfs_read): Likewise.
12669 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
12670 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
12671 pointers to avoid aliasing.
12672 (grub_cmd_xnu_kernel64): Likewise.
12673 (grub_xnu_load_driver): Likewise.
12674
fc836af9
VS
126752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
12678 aliasing warning.
12679 (grub_cmd_terminal_output): Likewise.
12680 Reported and tested by: Grégoire Sutre.
12681
f9f37648
VS
126822011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
12685 warning.
12686 Reported and tested by: Grégoire Sutre.
12687
ec1dfd63
VS
126882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12689
12690 * configure.ac: Do CPU substitution even if it's specified explicitly.
12691 Reported and tested by: Alain Greppin.
12692
9462775a
VS
126932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12694
12695 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
12696 Reported and tested by: Alain Greppin.
12697
0fd48e35
VS
126982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12699
12700 Satisfy some bison versions need for inttypes.h.
12701
12702 * grub-core/lib/posix_wrap/inttypes.h: New file.
12703 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
12704 (int16_t): Likewise.
12705 (int32_t): Likewise.
12706 (int64_t): Likewise.
12707 Reported and tested by: Alain Greppin.
12708
43f1bc83
VS
127092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12710
12711 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
12712 Silence spurious warning.
12713 Reported and tested by: Alain Greppin.
12714
64d1f041
SJ
127152011-01-07 Szymon Janc <szymon@janc.net.pl>
12716
12717 * docs/grub.texi (Support automatic decompression): Update with xz
12718 decompression support.
12719
25953e10
SJ
127202011-01-07 Szymon Janc <szymon@janc.net.pl>
12721
12722 Improve loaders' kernel command line handling.
12723
12724 * grub-core/lib/cmdline.c: New file.
12725 * include/grub/lib/cmdline.h: Likewise.
12726 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
12727 grub_create_loader_cmdline to create kernel command line.
12728 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12729 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
12730 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
12731 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
12732 (linux): Add lib/cmdline.c on common.
12733
e72d259f
VS
127342011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
12737 inopos might be unaligned.
12738
c0cf26da
VS
127392011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12740
12741 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
12742 endian transformations.
12743 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12744 Based on report by: Doug Nazar.
12745
0ca09e6c
DN
127462011-01-07 Doug Nazar <nazard.michi@gmail.com>
12747
12748 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
12749 array->members[i].start_sector.
12750 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
12751
014b6806
VS
127522011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12753
12754 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
12755 Reported and tested by: Grégoire Sutre.
12756
415502c2
CW
127572011-01-06 Colin Watson <cjwatson@ubuntu.com>
12758
12759 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
12760 avoid causing test failures by clearing the screen.
12761
71b6a2b7
CW
127622011-01-06 Colin Watson <cjwatson@ubuntu.com>
12763
12764 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12765 Fix prefix check to handle the case where dir ends with a slash
12766 (most significantly, "/" itself).
12767 Reported by: Michael Vogt.
12768
b3f8d28a
VS
127692011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12770
12771 Run terminfo_cls on initing terminfo output to clear the screen and
12772 move the cursor to (0,0).
12773
12774 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
12775 Call grub_terminfo_output_init.
12776 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
12777 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
12778 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
12779
4c3e4f37
VS
127802011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12781
12782 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
12783 only when needed.
12784
488f71f1
VS
127852011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12786
12787 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
12788 CTRL.
12789
18a38098
VS
127902011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12791
12792 The E820 type 5 is BADRAM, not EXEC_CODE.
12793
12794 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12795 (GRUB_E820_BADRAM): New define.
12796 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
12797 into reserved. Propagate BADRAM.
12798 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12799 (GRUB_E820_BADRAM): New define.
12800
9eae2084
VS
128012011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
12804 Ignore the memory post-4G.
12805 (grub_relocator_firmware_alloc_region): Additional debug statement.
12806
ebc71d28
VS
128072011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12808
12809 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
12810 names.
12811 Reported by: David Pravec.
12812
446fa400
VS
128132011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
12816 BIOSes.
12817
a0159f37
VS
128182011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12819
12820 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
12821 Prevent overflow.
12822 (grub_reed_solomon_recover): Likewise.
12823
e5146ca1
VS
128242011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12825
12826 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
12827
128282011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
12829
12830 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
12831 variable.
12832
5b1bdf12
CW
128332011-01-04 Colin Watson <cjwatson@ubuntu.com>
12834
12835 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
12836 descriptions of extract_legacy_entries_source and
12837 extract_legacy_entries_configfile.
12838 Reported by: Seung Soo, Ha.
12839
99d925aa
CW
128402011-01-03 Colin Watson <cjwatson@ubuntu.com>
12841
12842 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
12843 on devices that do not implement function 0.
12844
4af0504b
DV
128452011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
12846
12847 * grub-core/fs/hfsplus.c: Make parent unsigned.
12848 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
12849 overflows.
12850 (grub_hfsplus_cmp_extkey): Likewise
12851
469ee10a
VS
128522011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12853
12854 * util/grub-install.in: Correctly use bootloader_id and not
12855 GRUB_DISTRIBUTOR on efibootmgr line.
12856
323a8e9c
VS
128572011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
12860
1b394975
IC
128612010-12-31 Ian Campbell <ijc@hellion.org.uk>
12862
12863 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
12864 Xen and reorder menu item wording to make it clearer that this entry
12865 will launch Xen. Print separate messages when loading Xen and
12866 Linux.
12867
275bff5f
VS
128682010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12869
12870 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
12871 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
12872 loop in case of incorrect amiga partmap.
12873
307806cb
VS
128742010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12875
12876 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
12877 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
12878 Reported by:EHeM.
12879
b12b923e
VS
128802010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12881
12882 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
12883 spurious warning.
12884 Reported by: crocket
12885
14b48a19
VS
128862010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
12889 Preload EFIemu.
12890 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
12891
693db2df
VS
128922010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
12895 is loaded
12896 (grub_cmd_xnu_kextdir): Likewise.
12897 (grub_cmd_xnu_splash): Likewise.
12898
c7638645
VS
128992010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12900
12901 Avoid using Reed-Solomon with 0 redundancy.
12902
12903 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
12904 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
12905 or 0 redundancy.
12906 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
12907 (grub_reed_solomon_recover): Likewise.
12908
25dd4780
VS
129092010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 Don't use disk subsystem in freebsd_boot.
12912
12913 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
12914 (freebsd_biosdev): Likewise.
12915 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
12916 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
12917
0b2db943
VS
129182010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12919
12920 Handling of files of unknown size is currently limited. They can't be
12921 used e.g. for initrd or modules. Moreover gzip handling of not
12922 easily seekable files is buggy. Disable unknown file size for now. May
12923 be inefficient but works.
12924
12925 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
12926 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
12927
5c408d0f
MP
129282010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
12929
12930 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
12931 floppy probe.
12932
190a011a
JD
129332010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
12934
12935 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
12936
022d01b8
SL
129372010-12-25 Shea Levy <shlevy>
12938
12939 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
12940
c4855fdc
VS
129412010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
12944 Windows Server 2008.
12945 Reported by: Devin Giddings.
12946
0354b867
VS
129472010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12948
12949 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
12950 writing an error message because of async power management.
12951 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
12952 (grub_reboot): Likewise.
12953
ab66c69f
JU
129542010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
12955
12956 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
12957 keep unit tests from failing when they shouldn't.
12958
1426ef35
CW
129592010-12-21 Colin Watson <cjwatson@ubuntu.com>
12960
12961 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
12962 previous patch increased the size of the RS code by 20 bytes (at
12963 least with gcc-4.4), so increase this by 20 bytes to match.
12964 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12965
20641b6b
CW
129662010-12-21 Colin Watson <cjwatson@ubuntu.com>
12967
12968 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
12969 scratch area. Make sure to initialise chosen in standalone mode as
12970 well as non-standalone.
12971 Reported by: Robert Hooker and Andy Whitcroft.
12972 Tested by: Andy Whitcroft.
12973
d060ad60
CW
129742010-12-21 Colin Watson <cjwatson@ubuntu.com>
12975
12976 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
12977 constructing a new unescaped string and passing it to grub_xputs in
12978 one go, rather than passing characters to grub_printf one at a time.
12979
b889cfad
CW
129802010-12-21 Colin Watson <cjwatson@ubuntu.com>
12981
12982 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
12983 initialising utf16.
12984
4e01b6c8
CW
129852010-12-21 Colin Watson <cjwatson@ubuntu.com>
12986
12987 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
12988 comment. Add an extra layer of quotation, requiring the output of
12989 this function to be used in a printf format string.
12990 (gettext_printf): New function.
12991 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
12992 Extract translatable strings from here-documents and use a temporary
12993 variable instead, so that xgettext can find them.
12994 * util/grub.d/10_kfreebsd.in: Likewise.
12995 * util/grub.d/10_linux.in: Likewise.
12996 * util/grub.d/20_linux_xen.in: Likewise.
12997
12998 * po/grub.d.sed: New file.
12999 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13000 arguments. Set c-format flags on all strings extracted from
13001 util/grub.d/ (xgettext refuses to include these itself for strings
13002 it extracted from a shell file, but these really are c-format).
13003
5318fe98
VS
130042010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13005
13006 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13007 Avoid next pointing to nowhere.
13008
6c85b743
VS
130092010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13012 rather than assuming than rootblock is exactly in the middle.
13013 (grub_affs_label): Likewise.
13014
a2a08a35
VS
130152010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13018 reserved_first_sector to 0.
13019 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13020 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13021 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13022
7059d1ec
VS
130232010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 Fix handling of UTF-16 UDF labels.
13026
13027 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13028 (read_string): .. here.
13029 (grub_udf_label): Use read_string.
13030
30aff4cb
BC
130312010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13032
13033 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13034 editor under argument scope.
13035 Reported by: Jordan Uggla
13036
5cf86f4b
VS
130372010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13038
13039 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13040
32570200
CW
130412010-12-18 Colin Watson <cjwatson@ubuntu.com>
13042
13043 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13044 line, and other keys scroll an entire page (previous handling was
13045 for \r and \n to scroll a page and other keys to scroll two lines).
13046
e1dffcf2
VS
130472010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13048
13049 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13050 Set ptrdest to correct get_physical_target_address rather than
13051 incorrect get_virtual_current_address.
13052
b04298cf 130532010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13054
13055 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13056 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13057
5367ecd3
CW
130582010-12-10 Colin Watson <cjwatson@ubuntu.com>
13059
13060 * .bzrignore: Ignore grub-core/rs_decoder.S.
13061
1fb430f8
CW
130622010-12-10 Colin Watson <cjwatson@ubuntu.com>
13063
13064 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13065 .mo/.mo.gz opening sequence to ...
13066 (grub_mofile_open_lang): ... here.
13067 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13068 * util/grub.d/00_header.in (grub_lang): Include country part of
13069 locale.
13070 Reported by: Mario Limonciello.
13071
a94a6671
RM
130722010-12-09 Robert Millan <rmh@gnu.org>
13073
13074 * NEWS: Document addition of ZFS support.
13075
24b7938b
CW
130762010-12-04 Colin Watson <cjwatson@ubuntu.com>
13077
13078 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13079 rather than `/ 2', as the latter requires -Wa,--divide which would
13080 require bumping our minimum binutils version.
13081
bddc3ef6
BC
130822010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13083
13084 * util/grub-script-check.c (main): Print script line number on
13085 error.
13086
bf78d5b2
RM
130872010-12-01 Robert Millan <rmh@gnu.org>
13088
13089 * grub-core/fs/zfs/zfs.c: New file.
13090 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13091 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13092 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13093 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13094
13095 * include/grub/zfs/dmu.h: Likewise.
13096 * include/grub/zfs/dmu_objset.h: Likewise.
13097 * include/grub/zfs/dnode.h: Likewise.
13098 * include/grub/zfs/dsl_dataset.h: Likewise.
13099 * include/grub/zfs/dsl_dir.h: Likewise.
13100 * include/grub/zfs/sa_impl.h: Likewise.
13101 * include/grub/zfs/spa.h: Likewise.
13102 * include/grub/zfs/uberblock_impl.h: Likewise.
13103 * include/grub/zfs/vdev_impl.h: Likewise.
13104 * include/grub/zfs/zap_impl.h: Likewise.
13105 * include/grub/zfs/zap_leaf.h: Likewise.
13106 * include/grub/zfs/zfs.h: Likewise.
13107 * include/grub/zfs/zfs_acl.h: Likewise.
13108 * include/grub/zfs/zfs_znode.h: Likewise.
13109 * include/grub/zfs/zil.h: Likewise.
13110 * include/grub/zfs/zio.h: Likewise.
13111 * include/grub/zfs/zio_checksum.h: Likewise.
13112
13113 * Makefile.util.def: Build ZFS into libgrubmods.
13114 * grub-core/Makefile.core.def: Build zfs.mod.
13115
3f0f3831
SJ
131162010-11-30 Szymon Janc <szymon@janc.net.pl>
13117
13118 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13119 variable.
13120 * grub-core/commands/wildcard.c (match_files): Likewise.
13121
3a4253b2
RM
131222010-11-30 Robert Millan <rmh@gnu.org>
13123
13124 * grub-core/loader/i386/bsd.c
13125 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13126 whether kernel is loaded using grub_loader_is_loaded(), rather
13127 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13128 certain error conditions.
13129
8c317b27
RM
131302010-11-30 Robert Millan <rmh@gnu.org>
13131
c5c9cd3e
RM
13132 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13133 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 13134
49d3ab46
VS
131352010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 Avoid using tricks for initialising endian variables.
13138
13139 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13140 Make const.
13141 (GRUB_MOD_INIT): Don't byte-swap.
13142 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13143 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13144 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13145 (grub_swap_bytes32_compile_time): Likewise.
13146 (grub_cpu_to_le32_compile_time): Likewise.
13147 (grub_cpu_to_le16_compile_time): Likewise.
13148
f420a804
VS
131492010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 * util/grub-setup.c (setup): Stop recommending --force. People who
13152 understand the dangers of blocklists are able to find this option
13153 anyway and the ones who don't shouldn't use it anyway.
13154
4e7db17b
RM
131552010-11-26 Robert Millan <rmh@gnu.org>
13156
13157 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13158 Update all users.
13159
9be57a0d
CW
131602010-11-26 Colin Watson <cjwatson@ubuntu.com>
13161
13162 Fix LVM-on-RAID probing.
13163
13164 * util/grub-probe.c (probe): Remember which disk was detected as
13165 RAID (perhaps an LVM physical volume). Use that disk's raidname
13166 rather than that of the top-level disk.
13167
2c7859b3 131682010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 13169
d7647bb6
BC
13170 Fix cmdline argument quotes for setparams command of menuentry
13171 definitions.
7e623b0d
BC
13172
13173 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13174 quotes for arguments.
f866fe80 13175 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 13176 grub_strchrsub function instead.
f866fe80 13177
7955bea0 13178 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 13179
74f72a64
CW
131802010-11-24 Colin Watson <cjwatson@ubuntu.com>
13181
13182 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13183 effort by skipping "." and ".." entries up-front.
13184 Suggested by: Michael Lazarev.
13185
5a407278
CW
131862010-11-24 Colin Watson <cjwatson@ubuntu.com>
13187
13188 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13189 ldflags to ldadd, to fix link line ordering.
13190 (none_decompress): Likewise.
13191
3030d8ec
CW
131922010-11-24 Colin Watson <cjwatson@ubuntu.com>
13193
13194 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13195 platforms.
13196 (grub-emu-lite): Remove kern/emu/cache.S.
13197
b7fbac12
CW
131982010-11-23 Colin Watson <cjwatson@ubuntu.com>
13199
13200 * util/deviceiter.c (compare_devices): If the by-id link for a
13201 device couldn't be resolved, fall back to sorting by the by-id link
13202 rather than segfaulting.
13203 Reported and tested by: Daniel Mierswa.
13204
5225f328
CW
132052010-11-23 Colin Watson <cjwatson@ubuntu.com>
13206
13207 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13208 ldflags, to fix link line ordering.
13209
038b3ce8
CW
132102010-11-23 Colin Watson <cjwatson@ubuntu.com>
13211
13212 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13213 linkers are picky about this.
13214
bf16e98e
CW
132152010-11-23 Colin Watson <cjwatson@ubuntu.com>
13216
13217 * grub-core/Makefile.am (command.lst): Adjust sed expression
13218 ordering so that extended and priority commands aren't treated as
13219 ordinary commands.
13220
7242bab6
CW
132212010-11-23 Colin Watson <cjwatson@ubuntu.com>
13222
13223 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13224 Remove byte-swapping function calls, which are not valid in
13225 structure initialisers.
13226 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13227 non-const.
13228 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13229 grub_gpt_partition_type_bios_boot.
13230
14e8b279
CW
132312010-11-22 Colin Watson <cjwatson@ubuntu.com>
13232
13233 Fix test program build on GNU/kFreeBSD.
13234
13235 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13236 $(LIBNVPAIR)' library dependencies.
13237
e6f63338 132382010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
13239
13240 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13241
cf8ffc38
CW
132422010-11-22 Colin Watson <cjwatson@ubuntu.com>
13243
13244 * util/grub-install.in: Remove excessive quoting that broke
13245 installations to RAID devices.
13246
7f8b0fd7
VS
132472010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13248
13249 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13250 bootloader version instead of 0.
13251
dfd240b1
VS
132522010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13255 warning.
13256
7b61e609
VS
132572010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13260 retrieve the metadat sector if size isn't known.
13261 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13262
9dfe92d0
RM
132632010-11-18 Robert Millan <rmh@gnu.org>
13264
13265 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13266 with grub_memcmp().
13267
41cc919e
VS
132682010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13271 arrow.
13272 Reported by: Jordan Uggla.
13273
1afcc914
VS
132742010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 Make better UTF compliant.
13277
13278 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13279 sequences as incorrect.
13280 (grub_is_valid_utf8): Likewise.
13281 (grub_utf8_to_ucs4): Likewise.
13282 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13283 (grub_ucs4_to_utf8_alloc): Likewise.
13284 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13285
f1808884
VS
132862010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13287
13288 Make legacy_source behave like source.
13289
13290 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13291 grub_show_menu.
13292 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13293
24ec575b
CW
132942010-11-16 Colin Watson <cjwatson@debian.org>
13295
13296 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13297 (-Wunused implies -Wunused-parameter, but not vice versa).
13298
72b7c7aa
CW
132992010-11-16 Colin Watson <cjwatson@ubuntu.com>
13300
13301 * configure.ac: Make error messages less confusing by testing for
13302 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13303 accepted, but produces a diagnostic if something else is wrong).
13304
e98937aa
VS
133052010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13306
13307 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13308 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13309 (now unused).
13310 (grub_keyboard_controller_init)
13311 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13312 read the initial state since controller isn't inited yet.
13313
f6bbabc3
VS
133142010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13317 allocate_regbeg may need to create new chunk header.
13318
22e7dbb2
VS
133192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13320
13321 Fix quoting in legacy parser.
13322
13323 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13324 single quotes.
13325 (grub_legacy_parse): Likewise.
13326 Reported by: Jordan Uggla.
13327 Tested by: Jordan Uggla.
13328
03f80960
VS
133292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 Don't add -lgcc on i386 and x86_64.
13332
13333 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13334 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13335 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13336
779dc15b
VS
133372010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13338
13339 * configure.ac: Add -Wno-trampolines when supported.
13340
d20a3b37
MV
133412010-11-14 Modestas Vainius <modax@debian.org>
13342
13343 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13344 fakeraid.
13345
e5360933
GC
133462010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13347
13348 Add generic logical block size support for UDF.
13349
13350 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13351 (GRUB_UDF_BLKSZ): Removed.
13352 (struct grub_udf_data): New field "lbshift" to hold the logical block
13353 size of the file system in log2 format. All users updated.
13354 (sblocklist): Change type to unsigned.
13355 (grub_udf_mount): Change type of "sblklist" to unsigned.
13356 Move AVDP search before VRS recognition, because the latter requires
13357 knowledge of the logical block size, which is detected during the
13358 former.
13359 Detect and validate logical block size during AVDP search, adding
13360 support for block sizes 512, 1024 and 4096.
13361 Make VRS recognition independent of block size.
13362
cb0229c5
GC
133632010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13364
13365 Properly handle deleted files on UDF.
13366
13367 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13368 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13369 set.
13370
406858a8
GC
133712010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13372
13373 Support reading files larger than 2 GiB.
13374
13375 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13376 "offset" to grub_off_t.
13377 (grub_udf_read_file): Likewise for parameter "pos".
13378
130da6a7
VS
133792010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13382 unavailable.
13383 (Simple configuration): Refer to Changes from GRUB Legacy about
13384 save_env availability.
13385
65e93f6b
VS
133862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13387
13388 * util/grub-install.in: Ignore empty partition table detection
13389 instead of trying to include part_ module.
13390
1fd08bf1
VS
133912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13392
13393 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13394 LVM on RAID support.
13395
de1a024f
VS
133962010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13397
13398 Properly define WORDS_BIGENDIAN in wrapped environments.
13399
13400 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13401 definition.
13402 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13403
13404 Reported by: Manoel Rebelo Abranches.
13405 Tested by: Manoel Rebelo Abranches.
13406
bc5dd0b9
VS
134072010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13408
13409 * util/grub-mkconfig.in: Fix quoting.
13410
58c184be
VS
134112010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13412
13413 Support big ext2 files.
13414
13415 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13416 (grub_ext2_read_block): Support triple indirect blocks.
13417 (grub_ext2_read_file): Use 64-bit types and read size_high.
13418 (grub_ext2_open): Read size_high.
13419 Reported by: Ximin Luo.
13420 Tested by: Manoel Rebelo Abranches.
13421
5f0c02b3
VS
134222010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 * util/grub-install.in: Handle filenames containing spaces.
13425 Reported by: Jordan Uggla.
13426 Tested by: Jordan Uggla.
13427
4417aae6
VS
134282010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 * util/grub-mkconfig.in (grub_script_check): New variable.
13431 Use grub_script_check instead of grub-script-check.
13432 Reported by: Barry Jackson.
13433
7625a68e
VS
134342010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13435
13436 * docs/grub.texi (menu): Correct the order.
13437 Reported by: D. Hugh Redelmeier.
13438
10001ac5
VS
134392010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13442 jump.
13443
9c4cf53b
MRA
134442010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13445
10001ac5
VS
13446 * include/grub/elfload.h (grub_elf32_size): New parameter.
13447 All users updated.
9c4cf53b
MRA
13448 Return maximum segments alignment.
13449 (grub_elf64_size): Likewise.
13450 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13451 Return maximum segments alignment.
13452 (grub_elf64_size): Likewise.
13453 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
13454 (grub_linux_claimmap_iterate): New function. Uses the
13455 "available" property in the "memory" node for memory allocation
13456 for kernel in the PowerPC loader.
9c4cf53b
MRA
13457 (grub_linux_load32): Correctly find linux entry point offset.
13458 (grub_linux_load64): Likewise.
13459
d2bf06bf
RM
134602010-11-07 Robert Millan <rmh@gnu.org>
13461
13462 On mips-yeeloong, build with -march=loongson2f when this flag is
13463 available (GCC >= 4.4).
13464 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13465 `-march=mips3'.
13466 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13467 or otherwise add -march=mips3.
13468
898c99a2
BC
134692010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13470
87220a68
BC
13471 Suppress shell expansion on echo '*' and echo "*" like cases.
13472 Reported by: Jordan Uggla.
898c99a2
BC
13473
13474 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13475 string arguments before shell expansion.
13476 * tests/grub_cmd_echo.in: New testcases.
13477
4f9b406a
RM
134782010-11-07 Robert Millan <rmh@gnu.org>
13479
13480 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13481 transition.
13482
80c6d25e
VS
134832010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * grub-core/kern/emu/hostdisk.c
13486 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13487
4a1a0153
VS
134882010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13489
13490 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13491 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13492 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13493
34706ddc
VS
134942010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13497
6972dea9
VS
134982010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 * util/grub-install.in: Replace useless recomendation to pass
13501 --modules with a recomendation to report a bug.
13502
9c693bd6
VS
135032010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13504
13505 Properly register serial terminfo.
13506 Reported by: Jordan Uggla
13507
13508 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13509 const.
13510 (grub_serial_terminfo_output_template): Likewise.
13511 (grub_cmd_serial): Register "serial" with terminfo.
13512 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13513 grub_serial_terminfo_output.
13514
6c9e4c0c
RM
135152010-11-05 Robert Millan <rmh@gnu.org>
13516
13517 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13518 needed).
13519
b9b3839f
RM
135202010-11-05 Robert Millan <rmh@gnu.org>
13521
13522 On Yeeloong, pass machine type information to Linux.
13523
13524 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13525 (LOONGSON_MACHTYPE): New macro, set to
13526 "machtype=lemote-yeeloong-2f-8.9inches".
13527 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13528 additional argument to Linux.
13529
1a3aaff4
RM
135302010-11-04 Robert Millan <rmh@gnu.org>
13531
13532 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13533 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13534 (its SATA disks are detected as slaveless IDE master drives on
13535 kFreeBSD).
13536 Reported by Carsten Aulbert.
13537
a75f4f62
CW
135382010-11-02 Colin Watson <cjwatson@ubuntu.com>
13539
13540 * util/bin2h.c (main): Fix spelling error in generated output.
13541
33b4b0c6
GS
135422010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13543
13544 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13545
2b36fbf4
VS
135462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13547
13548 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13549 vga= option is supplied.
13550
74aaf558
VS
135512010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
13554 * util/grub.d/10_kfreebsd.in: Likewise.
13555 * util/grub.d/10_linux.in: Likewise.
13556 * util/grub.d/20_linux_xen.in: Likewise.
13557
6428dec3
VS
135582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
13561 argument as an argument to no-argument option.
13562
f8729d98
VS
135632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 * util/grub.d/10_linux.in: Add missing load_video with explicit
13566 GRUB_GFXPAYLOAD_LINUX.
13567
89d68fa6
VS
135682010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13569
13570 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
13571
3a1197cd
VS
135722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13573
13574 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
13575 elements with invlid index.
13576 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13577 * grub-core/disk/raid.c (insert_array): Automatically reallocate
13578 members.
13579 * include/grub/raid.h (grub_raid_member): New struct.
13580 (grub_raid_array): Transform devices and start_sector into usage of
13581 grub_raid_member. All users updated
13582 (allocated_devs): New member.
13583
71574288
VS
135842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
13587 is modified
13588
8d40ec65
BC
135892010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
13590
13591 NetBSD build fix for getline function conflict from gnulib.
13592
13593 * Makefile.util.def (libgrubkern.a): New library for grub kernel
13594 components that depend on gnulib headers.
13595 (libgrubmods.a): Renamed from earlier libgrub.a.
13596 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
13597
95b9257e
VS
135982010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13599
13600 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
13601 install rather than creating a broken install.
13602
26c53dc6
VS
136032010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13604
13605 * util/grub-setup.c (argp): Remove misleading example of installing to
13606 a partition.
13607
4171b3c5
VS
136082010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 * util/grub-setup.c (setup): Clarify the error message.
13611
18568d18
VS
136122010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
13615
4f6a2e21
VS
136162010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13617
13618 * grub-core/kern/emu/misc.c
13619 (grub_make_system_path_relative_to_its_root)
13620 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
13621
136222010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
13623
13624 * grub-core/kern/emu/misc.c
13625 (grub_make_system_path_relative_to_its_root): Revert r2882.
13626
e138c458
VS
136272010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
13628
13629 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
13630 useless field head. All users updated.
13631 (free_subchunk): Correct handling of IN_REGION subchunk.
13632
0cbcdf0e
CW
136332010-10-22 Colin Watson <cjwatson@ubuntu.com>
13634
13635 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
13636 (Supported kernels): Likewise.
13637
b65ea155
GS
136382010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13639
13640 Make mktemp invocations portable.
13641
13642 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
13643 exit if mktemp fails.
13644 * tests/grub_script_blockarg.in: Likewise.
13645 * tests/partmap_test.in: Likewise.
13646 * tests/util/grub-shell-tester.in: Likewise.
13647 * tests/util/grub-shell.in: Likewise.
13648 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13649 * Makefile.am: Likewise, and chain shell commands with `&&'
13650 instead of ';'.
13651 * util/grub-mkrescue.in: Use the same explicit template as above, and
13652 exit if mktemp fails.
13653
05f43cdd
BC
136542010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
13655
13656 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
13657 Linux kernel, reported by Dennis Schridde.
13658
800e6a9b
SJ
136592010-10-17 Szymon Janc <szymon@janc.net.pl>
13660
13661 * grub-core/normal/auth.c (grub_auth_check_authentication):
13662 Set-but-not-used variable removed.
13663
d82df574
VS
136642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13665
13666 * docs/grub.texi (GNU/Linux): Document APM unavailability with
13667 32-bit linux protocol.
13668
7bced458
VS
136692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13670
13671 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
13672 cursor shape for sanity.
13673
5b027690
VS
136742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 * docs/grub.texi (Installation): Document buggy BIOS install.
13677
ba5f65cf
VS
136782010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 * docs/grub.texi (Installation): Indent.
13681
fdf2ec9c
VS
136822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13683
13684 * util/grub-setup.c (setup): New parameter allow_floppy.
13685 (arguments): New member allow_floppy.
13686 (argp_parser): Handle --allow-floppy.
13687 (main): Pass allow_floppy.
13688 * util/grub-install.in: New option --allow-floppy passed though to
13689 grub-setup.
13690
861dfd4c
VS
136912010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 * util/grub-install.in: Handle partitionless disks.
13694
f77a8c24
VS
136952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * util/grub-setup.c (setup): Don't clean blocklists before readability
13698 verfification.
13699
27d9ee32
VS
137002010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 * docs/grub.texi (Installation): Document embedding zone. Remove
13703 obsolete grub-install example.
13704
6bdda8f8
SJ
137052010-10-16 Szymon Janc <szymon@janc.net.pl>
13706
13707 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13708 Set-but-not-used variable ifdef'ed.
13709 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
13710 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
13711 variable removed.
13712 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
13713 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
13714 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13715 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
13716 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
13717 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13718 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
13719 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
13720 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
13721 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
13722 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
13723 Likewise.
13724
e19b016b
VS
137252010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
13728 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
13729 enum value.
13730
6c8d3002
VS
137312010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13732
13733 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
13734 synonym to _S5_. Needed for some DSDTs.
13735
c32b51c9
VS
137362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 Userspace ACPI parser debugging.
13739
13740 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
13741 headers and add relevant defines. Don't include standard headers.
13742 (main) [GRUB_DSDT_TEST]: New function.
13743 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
13744 Don't declare functions.
13745
fbfbeb39
VS
137462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 Remove dead grub_efi_mm_fini.
13749
13750 * grub-core/kern/efi/mm.c (allocated_page): Removed.
13751 (ALLOCATED_PAGES_SIZE): Likewise.
13752 (MAX_ALLOCATED_PAGES): Likewise.
13753 (allocated_pages): Likewise.
13754 (grub_efi_allocate_pages): Don't record allocated pages.
13755 (grub_efi_free_pages): Likewise.
13756 (grub_efi_mm_init): Likewise.
13757 (grub_efi_mm_fini): Removed.
13758
65f7ed7c
VS
137592010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13760
13761 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
13762 (grub_efi_mm_init): Take into account the memory map size increase.
13763
24977b44
VS
137642010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13765
13766 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
13767 (serial_hw_put): Wait based on real time rather than port reads. Don't
13768 roken ports.
13769 * include/grub/serial.h (grub_serial_port): New field broken.
13770
1eb01cd2
RM
137712010-10-16 Robert Millan <rmh@gnu.org>
13772
13773 * grub-core/kern/emu/misc.c
13774 (grub_make_system_path_relative_to_its_root): Fix premature return
13775 when processing non-root ZFS filesystems.
5f8b440b 13776 Reported by Sergio Talens-Oliag.
1eb01cd2 13777
2d5fed60
RM
137782010-10-15 Robert Millan <rmh@gnu.org>
13779
13780 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
13781 guarantee compressed ones are processed first.
13782
d0f4c1ea
VS
137832010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13784
13785 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
13786 grub_efiemu_autocore.
13787
d87c681f
VS
137882010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13789
13790 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
13791 rather than 0x1b.
13792 (grub_console_getkey): Use correct jae opcode rather than ja.
13793
219b3564
RM
137942010-10-12 Robert Millan <rmh@gnu.org>
13795
13796 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
13797 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
13798 variable. All references updated.
13799
13800 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
13801
20c6bb7e
VS
138022010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 Correctly distinguish mdraid flavours.
13805
13806 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
13807 (insert_array): New argument raid.
13808 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
13809 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
13810 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
13811
74baff84
VS
138122010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
13815 handling of special keys.
13816
3ef068df 138172010-10-02 Aleš Nesrsta <starous@volny.cz>
13818
c7980ad9
VS
13819 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
13820 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 13821
a9455194 138222010-10-02 Aleš Nesrsta <starous@volny.cz>
13823
c7980ad9
VS
13824 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
13825 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
13826 users updated.
a9455194 13827 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 13828 Use right endpoint when querying descriptor.
a9455194 13829
441cfe65
VS
138302010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13831
13832 Clear out 0x80 color bit on EFI.
13833 Tested by: decoder
13834 Reported by: decoder and meta tech.
13835
13836 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
13837 (grub_console_setcolorstate): Clear out 0x80 bit.
13838 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
13839 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
13840 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
13841
bf26bcc4
VS
138422010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13843
13844 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
13845 Set to "auto".
13846
6e3c515d
VS
138472010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13848
13849 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
13850 mo_file after freeing.
13851
e6d983ba
VS
138522010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13853
13854 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
13855
74ccb5b5
VS
138562010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13857
13858 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
13859 flags.
13860
17821956
VS
138612010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13862
13863 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
13864 usage.
13865
ee74fa48
VS
138662010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 Put terminfo into core on ieee1275 and yeeloong (needed for console).
13869
13870 * gentpl.py: New groups terminfoinkernel and terminfomodule.
13871 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
13872 and terminfo.h when needed.
13873 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
13874 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
13875 (terminfo): Enable only on terminfokernel.
13876 (extcmd): Likewise.
13877 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
13878 * include/grub/lib/arg.h: Likewise.
13879 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
13880 incorrect usage of ->.
13881
aa438e68
VS
138822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
13885 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
13886
57994012
VS
138872010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13888
13889 Fix coreboot compilation.
13890
13891 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13892 Take VBE info into account even if only text is supported.
13893 (fill_vbe_info): Take into account the case when only VGA text
13894 is supported.
13895 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
13896 on coreboot, multiboot and qemu.
13897
2a406611
VS
138982010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
13901 debug messages.
13902 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
13903
d33613fc
VS
139042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
13907 parameters.
13908
44a1b432
VS
139092010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
13912 if they were BSD-style.
13913
edde54e6
VS
139142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 * grub-core/boot/i386/pc/lnxboot.S: Replace
13917 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
13918 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
13919
b65830fa
VS
139202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13921
13922 Write embedding zone using Reed-Solomon.
13923
13924 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
13925 * grub-core/Makefile.am (rs_decoder.S): New target.
13926 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
13927 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
13928 (multiboot): Move to RS part.
13929 (post_reed_solomon): New label.
13930 (grub_boot_drive): Move to non-RS part since it's modified in memory
13931 on boot.
13932 Include rs_decoder.S.
13933 * grub-core/lib/reed_solomon.c: New file.
13934 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
13935 New definition.
13936 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
13937 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
13938 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
13939 * include/grub/partition.h (grub_partition_map): Change prototype of
13940 embed to allow returning additional sectors.
13941 * include/grub/reed_solomon.h: New file.
13942 * util/grub-setup.c (setup): Handle Reed-Solomon.
13943
0b4b227f
CW
139442010-09-28 Colin Watson <cjwatson@ubuntu.com>
13945
13946 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13947 i386 and x86-64 definedness tests.
13948
f772623b
YB
139492010-09-27 Yves Blusseau <blusseau@zetam.org>
13950
13951 Fix generation of kernel_syms.lst
13952
13953 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
13954 ASM_PREFIX
13955
8e57a6ca
RM
139562010-09-26 Robert Millan <rmh@gnu.org>
13957
13958 Support degraded ZFS arrays in "grub-probe -t device" resolution.
13959
13960 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
13961 the pool is an array of devices, iterate through it and return the
13962 first device that passes a stat() test (instead of blindly returning
13963 the first one).
13964
f9130836
RM
139652010-09-26 Robert Millan <rmh@gnu.org>
13966
13967 Build fixes for GNU/kFreeBSD.
13968
13969 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
13970 to programs that require ZFS conversion.
13971 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
13972 kernels that don't have FLOPPY_MAJOR.
13973
96510faf
BC
139742010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13975
13976 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
13977
449333eb
BC
139782010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13979
13980 Fix grub-emu build.
13981
13982 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
13983 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
13984 mdraid09 and mdraid1x.
13985
e1fd1939
CW
139862010-09-24 Colin Watson <cjwatson@ubuntu.com>
13987
13988 Re-enable grub-extras.
13989
13990 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
13991 avoid confusing Automake. Run autogen only twice, once for the top
13992 level and once for grub-core. Add Makefile.util.def and
13993 Makefile.core.def from extra modules to the appropriate autogen
13994 invocations. If Makefile.common exists in an extra module, include
13995 it in both Makefile.util.am and grub-core/Makefile.core.am;
13996 similarly, include any Makefile.util.common file in Makefile.util.am
13997 and any Makefile.core.common file in grub-core/Makefile.core.am.
13998 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
13999 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14000 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14001 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14002
14003 * gentpl.py (gvar_add): Turn GVARS into a set.
14004 (global_variable_initializers): Sort global variables on output.
14005 (vars_init): New function.
14006 (first_time): Likewise.
14007 (library): Ensure that non-global variable initialisations are
14008 emitted before the first time we emit code for a library block.
14009 Append to variables rather than setting them. Only emit
14010 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14011 each conditional path.
14012 (program): installdir() emits an Autogen macro, so must be passed to
14013 var_add rather than gvar_add.
14014 (data): Likewise.
14015 (script): Likewise.
14016 (rules): New function, centralising handling for different target
14017 types. Set up Guile association lists for first_time and vars_init,
14018 and send most output to a diversion so that variable initialisations
14019 can be emitted first.
14020 (module_rules): Use new rules function.
14021 (kernel_rules): Likewise.
14022 (image_rules): Likewise.
14023 (library_rules): Likewise.
14024 (program_rules): Likewise.
14025 (script_rules): Likewise.
14026 (data_rules): Likewise.
14027
14028 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14029
14030 * .bzrignore: Add contrib and grub-core/contrib. Remove
14031 grub-core/Makefile.gcry.am.
14032
1d12cf29
YB
140332010-09-24 Yves Blusseau <blusseau@zetam.org>
14034
14035 * grub-core/lib/LzFind.c: Add missing include.
14036 * grub-core/lib/LzmaEnc.c: Likewise.
14037 * grub-core/script/lexer.c: Likewise.
14038 * grub-core/script/yylex.l: Likewise.
14039 * util/grub-macho2img.c: Likewise.
14040 * util/grub-menulst2cfg.c: Likewise.
14041 * util/grub-mklayout.c: Likewise.
14042 * util/grub-mkpasswd-pbkdf2.c
14043 * util/grub-mkrelpath.c: Likewise.
14044 * util/resolve.c: Likewise.
14045
dd363028
BC
140462010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14047
14048 * Makefile.util.def (example_unit_test): Add
14049 grub-core/gnulib/libgnu.a.
14050
f5a109e2
GS
140512010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14052
14053 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14054
6d0fa83c
VS
140552010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14056
14057 Support xz compression on yeeloong.
14058
14059 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14060 * configure.ac: Check for LZMA.
14061 * grub-core/Makefile.core.def (xz_decompress): New target.
14062 (none_decompress): Likewise.
14063 * grub-core/boot/decompressor/minilib.c: New file.
14064 * grub-core/boot/decompressor/none.c: Likewise.
14065 * grub-core/boot/decompressor/xz.c: Likewise.
14066 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14067 * grub-core/kern/mips/cache_flush.S: Likewise.
14068 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14069 * grub-core/kern/mips/startup.S: Move first stage to ...
14070 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14071 nomacro.
14072 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14073 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14074 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14075 Allocate statically.
14076 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14077 Allocate statically or use scratch. Don't check CRC32.
14078 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14079 Allocate statically. Don't check CRC32.
14080 * include/grub/decompressor.h: New file.
14081 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14082 Removed.
14083 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14084 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14085 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14086 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14087 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14088 * util/grub-mkimage.c (grub_compression_t): New type.
14089 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14090 (image_target_desc): New field default_compression.
14091 (image_targets): Adjust yeeloong targets.
14092 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14093 (compress_kernel): New parameter comp.
14094 (generate_image): Likewise. Handle new compression case.
14095 (options): New option --compression
14096 (help): Likewise.
14097 (main): Handle new option.
14098
1b655af6
GS
140992010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14100
14101 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14102
8f03f0b5
CW
141032010-09-22 Colin Watson <cjwatson@ubuntu.com>
14104
14105 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14106 typo in __i386__ conditional.
14107
7835dfd3
VS
141082010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14109
14110 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14111 include.
14112
e255597e
VS
141132010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14114
6d0fa83c 14115 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
14116
14117 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14118 new tags as supported.
14119 (acpiv2_size): New function.
14120 (grub_multiboot_get_mbi_size): Take new tags into account.
14121 (grub_multiboot_make_mbi): Add new tags.
14122 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 14123
6cc14051 141242010-09-21 Aleš Nesrsta <starous@volny.cz>
14125
14126 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14127 Added missing configuration of USB device.
14128
df7769d8
CW
141292010-09-21 Colin Watson <cjwatson@ubuntu.com>
14130
14131 * grub-core/normal/menu_entry.c (run): Make sure we always return
14132 a value.
14133
b031012d
CW
141342010-09-21 Colin Watson <cjwatson@ubuntu.com>
14135
14136 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14137 NumberOfPages is UINT64 according to the UEFI specification, not
14138 UINTN. Fix printf format.
14139
174de8f3
CW
141402010-09-21 Colin Watson <cjwatson@ubuntu.com>
14141
14142 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14143 `err' to grub_usb_err_t.
14144 Reported and tested by: KESHAV P.R.
14145
d7dbe923
CW
141462010-09-21 Colin Watson <cjwatson@ubuntu.com>
14147
14148 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14149 tpart non-const, so that we can assign to it. (Since this is a
14150 typedef, the constness refers to the pointer rather than what it
14151 points to.)
14152
8d5e2af3
CW
141532010-09-21 Colin Watson <cjwatson@ubuntu.com>
14154
14155 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14156 $(top_srcdir)/grub-core/gnulib as well as
14157 $(top_builddir)/grub-core/gnulib.
14158 Reported by: KESHAV P.R.
14159
5c527783
CW
141602010-09-21 Colin Watson <cjwatson@ubuntu.com>
14161
14162 * util/grub-install.in: Fix the bootloader ID option to be
14163 consistently --bootloader-id, not --bootloader_id.
14164 Reported by: KESHAV P.R.
14165
d309a16e
CW
141662010-09-21 Colin Watson <cjwatson@ubuntu.com>
14167
14168 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14169 check hash checksum." consistently translatable.
14170
b830cd16
YB
141712010-09-21 Yves Blusseau <blusseau@zetam.org>
14172
14173 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14174 $(top_builddir).
14175
c4fe27a8
CW
141762010-09-21 Colin Watson <cjwatson@ubuntu.com>
14177
14178 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14179 (GRUB_MOD_INIT): Register sha1sum command.
14180 (GRUB_MOD_FINI): Unregister sha1sum command.
14181
a4c1d277
YB
141822010-09-21 Yves Blusseau <blusseau@zetam.org>
14183
14184 Keep boot and grub directory names in sync with utils scripts
14185
14186 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14187 * config.h.in: Add previous macros.
14188 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14189 * util/grub-install.in: Use $bootdir and $grubdir variables.
14190
4eff79d2
CW
141912010-09-21 Colin Watson <cjwatson@ubuntu.com>
14192
14193 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14194 convert partition names to disk names if the new `convert' parameter
14195 is set.
14196 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14197 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14198 disk in its own right. This can happen with Xen disk images.
14199
934d7e44
YB
142002010-09-21 Yves Blusseau <blusseau@zetam.org>
14201
14202 * util/grub-editenv.c: Update strings to avoid warnings when generating
14203 grub.pot file.
14204 * util/grub-setup.c: Likewise.
934d7e44 14205
df3367cc
VS
142062010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14207
14208 * configure.ac: Change version to 1.99~beta0.
14209
77a94e98
VS
142102010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14211
14212 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14213 Add BADRAM.
14214 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14215 Likewise.
14216 * include/multiboot.h: Resynced with specification.
14217 * include/multiboot2.h: Likewise.
14218
269004c1
CW
142192010-09-21 Colin Watson <cjwatson@ubuntu.com>
14220
14221 Fix po directory handling.
14222
14223 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14224 * grub-core/gnulib/Makefile.am: Import gettext module.
14225 * m4/gnulib-cache.m4: Likewise.
14226 * m4/gnulib-comp.m4: Likewise.
14227 * m4/gettext.m4: New file, from gnulib.
14228 * m4/glibc2.m4: Likewise.
14229 * m4/iconv.m4: Likewise.
14230 * m4/intdiv0.m4: Likewise.
14231 * m4/intl.m4: Likewise.
14232 * m4/intldir.m4: Likewise.
14233 * m4/intlmacosx.m4: Likewise.
14234 * m4/intmax.m4: Likewise.
14235 * m4/inttypes-pri.m4: Likewise.
14236 * m4/lcmessage.m4: Likewise.
14237 * m4/lib-ld.m4: Likewise.
14238 * m4/lib-link.m4: Likewise.
14239 * m4/lib-prefix.m4: Likewise.
14240 * m4/lock.m4: Likewise.
14241 * m4/nls.m4: Likewise.
14242 * m4/po.m4: Likewise.
14243 * m4/printf-posix.m4: Likewise.
14244 * m4/progtest.m4: Likewise.
14245 * m4/threadlib.m4: Likewise.
14246 * m4/uintmax_t.m4: Likewise.
14247 * m4/visibility.m4: Likewise.
14248 * po/Makefile.am: Remove.
14249 * po/Makefile.in.in: New file, from gettext.
14250 ($(DOMAIN).pot-update): Support POTFILES-shell.
14251 * po/Makevars: New file.
14252 * po/POTFILES-shell: Rename to ...
14253 * po/POTFILES-shell.in: ... this. Update.
14254 * po/POTFILES: Rename to ...
14255 * po/POTFILES.in: ... this. Update.
14256 * po/Rules-quot: New file, from gettext.
14257 * po/boldquot.sed: Likewise.
14258 * po/en@boldquot.header: Likewise.
14259 * po/en@quot.header: Likewise.
14260 * po/insert-header.sin: Likewise.
14261 * po/quot.sed: Likewise.
14262 * po/remove-potcdate.sin: Likewise.
14263
3e0fa5d0
VS
142642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14267
ade9bd66
VS
142682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 * util/grub.d/20_linux_xen.in: Use submenus.
14271
fc55cc4c
VS
142722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14273
14274 Support submenus.
14275
14276 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14277 parameter submenu. All users updated.
14278 * grub-core/normal/main.c (free_menu): Rename to ...
14279 (grub_normal_free_menu): ... this. Made global.
14280 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14281 if requested.
14282 * grub-core/normal/menu_entry.c (screen): New field submenu.
14283 (make_screen): Set submenu.
14284 (run): Open new context if requested.
14285 * include/grub/menu.h (grub_menu_entry): New field submenu.
14286 * include/grub/normal.h (grub_normal_free_menu): New proto.
14287
600cedf7
VS
142882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14289
14290 Menu entries extractor.
14291
14292 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14293 variants.
14294 (GRUB_MOD_INIT): Register new variants.
14295 (GRUB_MOD_FINI): Unregister new variants.
14296 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14297 into grub_cmd_legacy_source.
14298 (grub_cmd_legacy_source): Implement extractor variants.
14299 (GRUB_MOD_INIT): Register new variants.
14300 (GRUB_MOD_FINI): Unregister new variants.
14301 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14302 as an extractor.
14303 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14304 search as an extractor.
14305 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14306 test as an extractor.
14307 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14308 as an extractor.
14309 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14310 (grub_env_new_context): New function.
14311 (grub_env_context_open): Likewise.
14312 (grub_env_extractor_open): Likewise.
14313 (grub_env_extractor_close): Likewise.
14314 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14315 grub_extractor_level.
14316 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14317 * include/grub/env.h (grub_env_extractor_open): New proto.
14318 (grub_env_extractor_close): Likewise.
14319 * include/grub/normal.h (grub_extractor_level): New external variable.
14320
7bda3a87
VS
143212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14322
14323 Make cutmem accept a region specification.
14324 Suggested by: Samuel Thibault
14325
14326 * grub-core/mmap/mmap.c (parsemem): New function.
14327 (grub_cmd_cutmem): Handle new arguments.
14328
2ea57f88
VS
143292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14330
14331 New command cutmem.
14332
14333 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14334 (GRUB_MOD_INIT): Register new command.
14335 (GRUB_MOD_FINI): Unregister new command.
14336
74342e31
VS
143372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14338
14339 Support some annoying BSD and Minix subpartitions.
14340
14341 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14342 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14343 Properly handle concatenation.
14344 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14345 * grub-core/normal/completion.c (iterate_partition): Likewise.
14346 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14347 contain partition. All users updated.
14348 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14349 struct.
14350 (grub_openbsdlabel_partition_map): Likewise.
14351 (bsdlabel_partition_map_iterate): Rename to ..
14352 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14353 (bsdlabel_partition_map_iterate): New function.
14354 (netopenbsdlabel_partition_map_iterate): Likewise.
14355 (netbsdlabel_partition_map_iterate): Likewise.
14356 (openbsdlabel_partition_map_iterate): Likewise.
14357 (GRUB_MOD_INIT): Register new partmaps.
14358 (GRUB_MOD_FINI): Unregister new partmaps.
14359 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14360 (grub_partition_msdos_iterate): ... this. All users updated.
14361 Don't support embedding other than in a minix partition.
14362 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14363 proto.
14364 * include/grub/partition.h (grub_partition): New field msdostype.
14365 * util/grub-install.in: Handle openbsd and netbsd types being in
14366 part_bsd module.
14367
1e8d555b
VS
143682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14371
14372 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14373 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14374 (mdraid09): ... this.
14375 (mdraid1x): New module.
14376 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14377 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14378
899d8af4
VS
143792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14380
14381 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14382 vsprintf.
14383
40901acd
CW
143842010-09-20 Colin Watson <cjwatson@ubuntu.com>
14385
14386 * grub-core/commands/efi/lsefimmap.c: Correct header.
14387 * NEWS: Update.
14388
dfe3b247
CW
143892010-09-20 Colin Watson <cjwatson@ubuntu.com>
14390
14391 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14392 as printf format strings; the translations might contain '%' which
14393 could cause a crash.
14394 (main): Likewise.
14395 * util/grub-fstest.c (argp_parser): Likewise.
14396 * util/grub-setup.c (argp_parser): Likewise.
14397 (main): Likewise.
14398
3286a4b4
VS
143992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14400
14401 Use argp in grub-fstest.
14402
14403 * util/grub-fstest.c: Don't include getopt.h.
14404 Include argp.h.
14405 (root): New variable.
14406 (args_count): Likewise.
14407 (nparm): Likewise.
14408 (num_disks): Likewise.
14409 (images): Likewise.
14410 (cmd): Likewise.
14411 (debug_str): Likewise.
14412 (args): Likewise.
14413 (options): Transformed to argp.
14414 (usage): Removed.
14415 (main): Split argument parsing into ...
14416 (argp_parser): ... this. Changed to argp format.
14417 (argp): New variable.
14418 (main): Use argp_parse.
14419
3dccbe4b
TG
144202010-09-20 Tristan Gingold <gingold@free.fr>
144212010-09-20 Robert Millan <rmh.grub@aybabtu.com>
144222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14423
14424 * grub-core/commands/efi/lsefimmap.c: New file.
14425 * grub-core/Makefile.core.def (lsefimmap): New module.
14426 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14427
38c259a7
VS
144282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 Pause the execution (10s max) if any errors are displayed so the user
14431 has a chance to see them.
14432
14433 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14434 (grub_print_error): Increment grub_err_printed_errors.
14435 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14436 execution if any errors were displayed.
14437 (show_menu): Remove old code for pause.
14438 * grub-core/normal/menu_entry.c (run): Likewise.
14439 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14440 users updated.
14441 (grub_normal_get_char_counter): Likewise.
14442 * include/grub/err.h (grub_err_printed_errors): New external variable.
14443 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14444
f218b09c
VS
144452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14446
14447 Support multiboot VBE info.
14448
14449 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14450 Take VBE info into account.
14451 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14452 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14453 Call fill_vbe_info when appropriate.
14454 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14455 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14456 as supported.
14457 (grub_multiboot_get_mbi_size): Take new tags into account.
14458 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14459 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14460 Call fill_vbe_tag when appropriate.
14461 (grub_multiboot_make_mbi): Properly align tags.
14462 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14463 function.
14464 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14465 proto.
14466 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14467
a9cc5438
VS
144682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14469
14470 Suport manual terminal geometry specification.
14471
14472 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14473 Save state in grub_ofconsole_terminfo_output.
14474 (grub_ofconsole_term): Use grub_terminfo_getwh.
14475 (grub_ofconsole_getwh): Removed.
14476 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14477 (grub_serial_term): Use grub_terminfo_getwh.
14478 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14479 (options): New struct.
14480 (OPTION_*): New enum.
14481 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14482 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14483 width and height.
14484 (grub_terminfo_getwh): New proto.
14485 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14486
1a8fed20
VS
144872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14488
14489 Handle legacy "terminal" command.
14490
14491 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14492 and FLAG_TERMINAL.
14493 (legacy_commands): Add terminal and title.
14494 (grub_legacy_parse): Handle terminal. Simplify title handling.
14495
41e9c57d
VS
144962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14497
14498 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14499 parameters overflow.
14500
61c874c5
CW
145012010-09-20 Colin Watson <cjwatson@ubuntu.com>
14502
14503 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14504 widthspec.h.
14505
14506 * docs/grub.texi (Shell-like scripting): Document `!'.
14507 (Network): Simplify using new i386-pc-pxe format. Mention
14508 grub-mknetdir.
14509
14510 * NEWS: Update.
14511
943682b4
CW
145122010-09-20 Colin Watson <cjwatson@ubuntu.com>
14513
14514 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14515 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14516 when needed.
14517
6d3d698d
CW
145182010-09-20 Colin Watson <cjwatson@ubuntu.com>
14519
14520 * grub-core/commands/efi/lsefisystab.c: Correct header.
14521 * grub-core/commands/efi/lssal.c: Likewise.
14522 * grub-core/commands/testload.c: Likewise.
14523
c982589f
CW
145242010-09-20 Colin Watson <cjwatson@ubuntu.com>
14525
14526 * util/grub-mkrescue.in: Add explicit root argument to --set to
14527 prevent the UUID being interpreted as an argument to --set (matches
14528 previous change to prepare_grub_to_access_device).
14529
a63c31b6
CW
145302010-09-20 Colin Watson <cjwatson@ubuntu.com>
14531
14532 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14533 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14534 the verbosity of later #ifs.
14535 (find_partition_start): Define this function on FreeBSD too.
14536 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14537 function.
14538 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14539 on FreeBSD.
14540
6439b8ee
YB
145412010-09-20 Yves Blusseau <blusseau@zetam.org>
14542
14543 * util/grub-editenv.c: Use argp instead of getopt.
14544
c5930ec8
YB
145452010-09-20 Yves Blusseau <blusseau@zetam.org>
14546
14547 * util/grub-setup.c: Use argp instead of getopt.
14548
15c69261
YB
145492010-09-20 Yves Blusseau <blusseau@zetam.org>
14550
14551 Use gnulib-tool to create gnulib source files.
14552
14553 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
14554 grub-core/gnulib directories
14555 * .bzignore: Add **/.deps and autogenerated gnulib files
14556 * configure.ac: Assign auxiliary directory to build-aux, add invocation
14557 of gnulib macros, add grub-core/gnulib/Makefile
14558 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
14559 include m4 directory to aclocal.
14560 * Makefile.util.def: Remove direct compilation of gnulib source files
14561 and use the new grub-core/gnulib/libgnu.a.
14562 * build-aux/config.rpath: move config.rpath from top directory to
14563 build-aux
14564 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
14565 in gnulib headers
14566 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
14567 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
14568 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
14569 header.
14570 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
14571 string.
14572
e511c9f5
YB
145732010-09-20 Yves Blusseau <blusseau@zetam.org>
14574
14575 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
14576 grub-core/genmod.sh and grub-core/gensyminfo.sh
14577
c2dede05
BC
145782010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
14579
14580 Add a test for echo command options.
14581
14582 * tests/grub_cmd_echo.in: New test.
14583 * Makefile.util.def: Rules for new test.
14584
c55f5018
SJ
145852010-09-20 Szymon Janc <szymon@janc.net.pl>
14586
14587 Remove crc.mod and move crc command to hashsum.mod.
14588 Remove lib/crc.c - users updated to use gcrypt implementation.
14589
14590 * grub-core/commands/crc.c: Removed.
14591 * grub-core/Makefile.core.def (crc): Module removed.
14592 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
14593 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
14594 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
14595 * grub-core/lib/crc.c: Removed.
14596 * include/grub/lib/crc.h: Removed.
14597 * Makefile.util.def (crc): Remove lib/crc.c
14598 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
14599 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
14600 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
14601 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
14602 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
14603 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
14604
e0337366
VS
146052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14606
14607 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
14608
742f9232
VS
146092010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14610
14611 Split config.h for util and core.
14612
14613 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
14614 (ADDR32): Likewise.
14615 (DATA32): Likewise.
14616 (BSS_START_SYMBOL): Likewise.
14617 (END_SYMBOL): Likewise.
14618 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
14619 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
14620 * config.h.in: New file.
14621 * configure.ac: Use config-util.h as config define file.
14622 Rename MACHINE into GRUB_MACHINE. All users updated.
14623 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
14624 updated.
14625 (NESTED_FUNC_ATTR): Likewise.
14626 Substitue new variables.
14627 (COND_HAVE_ASM_USCORE): New conditional.
14628 * grub-core/Makefile.am (ASM_PREFIX): New variable.
14629 (kernel_syms.lst): Use ASM_PREFIX.
14630 * grub-core/kern/emu/console.c: Include config-util.h.
14631 * grub-core/kern/emu/misc.c: Likewise.
14632 * grub-core/kern/emu/mm.c: Likewise.
14633 * include/grub/emu/misc.h: Likewise.
14634 * include/grub/libgcc.h: Likewise.
14635
39feb0e8
VS
146362010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14637
14638 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
14639 constants usage.
14640 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
14641 Fix GRUB_TERM_KEY_* constants usage.
14642 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
14643
9af6dac3
VS
146442010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
14647 print pointer.
14648 * grub-core/bus/usb/uhci.c: Remove empty define.
14649 (grub_uhci_check_transfer): Add missing cast.
14650 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
14651 print pointer.
14652 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
14653 PRIuGRUB_SIZE.
14654 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
14655
d6d94820
VS
146562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 * grub-core/Makefile.core.def (legacycfg): Add
14659 lib/i386/pc/vesa_modes_table.c on emu.
14660
3572f2b6
BC
146612010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14662
14663 Reduce number of temporary files generated by build system.
14664
14665 * grub-core/gencmdlist.sh: Removed.
14666 * grub-core/genfslist.sh: Removed.
14667 * grub-core/genhandlerlist.sh: Removed.
14668 * grub-core/genmodsrc.sh: Removed.
14669 * grub-core/genpartmaplist.sh: Removed.
14670 * grub-core/genparttoollist.sh: Removed.
14671 * grub-core/gentermiinallist.sh: Removed.
14672 * grub-core/genvideolist.sh: Removed.
14673
14674 * grub-core/genmod.sh.in: New file.
14675 * grub-core/gensyminfo.sh.in: New file.
14676
14677 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
14678 * conf/Makefile.extra-dist: Update with new files.
14679 * gentpl.py: Remove rules related to unnecessary temporary files.
14680 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
14681 and und-* files.
14682 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
14683 genmod.sh scripts.
14684 * grub-core/bus/usb/uhci.c: Remove empty #define.
14685 * grub-core/genmoddep.awk: Updated with new syminfo format.
14686 * util/bash-completion.d/Makefile.am: Add config.log to
14687 CLEANFILES.
14688
c836b030
YB
146892010-09-19 Yves Blusseau <blusseau@zetam.org>
14690
14691 * Makefile.util.def: Add forgotten $(LIBINTL) library.
14692
2f4e8053
BC
146932010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14694
14695 * util/grub-mkconfig.in: Check the config script for syntax errors
14696 before saving.
14697
75831c34
CW
146982010-09-19 Colin Watson <cjwatson@ubuntu.com>
146992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14700
14701 * Makefile.util.def (grub-install): Use util/grub-install.in on all
14702 platforms.
14703 * util/grub-install.in: Add EFI and IEEE1275 support.
14704 * util/i386/efi/grub-install.in: Removed.
14705 * util/ieee1275/grub-install.in: Likewise.
14706
eaf41b25
VS
147072010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14708
14709 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
14710 (grub_cmd_cmosclean): Likewise.
14711 (GRUB_MOD_INIT): Register command cmosclean.
14712 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
14713 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
14714
1a9130dd
CPE
147152010-09-18 Carles Pina i Estany <carles@pina.cat>
147162010-09-18 Aleš Nesrsta <starous@volny.cz>
147172010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14718
14719 Add keyboard layouts support.
14720
14721 * Makefile.util.def (grub-mklayout): New file.
14722 (grub-kbdcomp): New script.
14723 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
14724 Add keyboard_layouts.h.
14725 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
14726 commands/boot.c on yeeloong.
14727 (keylayouts): New module.
14728 * grub-core/bus/usb/ohci.c
14729 * grub-core/bus/usb/uhci.c
14730 * grub-core/bus/usb/usbhub.c (rescan): New variable.
14731 (grub_usb_add_hub): Poll interrupt pipe for device handling.
14732 (attach_root_port): Likewise.
14733 (poll_nonroot_hub): Likewise.
14734 (grub_usb_poll_devices): Likewise.
14735 (detach_device): Close transfer.
14736 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
14737 function.
14738 (grub_usb_bulk_setup_readwrite): Likewise.
14739 (grub_usb_bulk_finish_readwrite): Likewise.
14740 * grub-core/commands/keylayouts.c: New file.
14741 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
14742 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
14743 aliases.
14744 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
14745 support scancode 2.
14746 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
14747 * include/grub/keyboard_layouts.h: New file.
14748 * util/grub-mklayout.c: New file.
14749 * util/grub-kbdcomp.in: Likewise.
14750
a1d84a5e
VS
147512010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14752
14753 Unify memory types.
14754
14755 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
14756 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
14757 types.
14758 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
14759 (grub_upper_mem): Likewise.
14760 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
14761 * include/grub/memory.h (grub_memory_type_t): New enum.
14762 All users updated.
14763
9696382e
VS
147642010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14765
14766 * grub-core/Makefile.core.def (lsapm): New module.
14767 * grub-core/commands/i386/pc/lsapm.c: New file.
14768 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
14769 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
14770 Likewise.
14771 * include/grub/i386/pc/apm.h: New file.
14772 * include/multiboot.h (multiboot_apm_info): New struct.
14773
147742010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14775
14776 GRUB-legacy configuration file support.
14777
14778 * Makefile.util.def (grub-menulst2cfg): New util.
14779 * docs/man/grub-menulst2cfg.h2m: New file.
14780 * grub-core/Makefile.core.def (legacycfg): New module.
14781 * grub-core/commands/legacycfg.c: New file.
14782 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
14783 (grub_normal_add_menu_entry): ... this.
14784 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
14785 (grub_normal_set_password): ...this.
14786 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
14787 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
14788 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
14789 * grub-core/lib/legacy_parse.c: New file.
14790 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
14791 * include/grub/i386/pc/vesa_modes_table.h: New file.
14792 * include/grub/legacy_parse.h: Likewise.
14793 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
14794 * util/grub-menulst2cfg.c: New file.
14795
bf8d1338
CW
147962010-09-17 Colin Watson <cjwatson@ubuntu.com>
14797
14798 * grub-core/kern/emu/hostdisk.c
14799 (convert_system_partition_to_system_disk): Initialise node.
14800
9c0bad2e
CW
148012010-09-17 Colin Watson <cjwatson@ubuntu.com>
14802
14803 * grub-core/kern/emu/hostdisk.c
14804 (convert_system_partition_to_system_disk): Fix devmapper memory pool
14805 leak.
14806 Reported and based on patch by: Modestas Vainius.
14807
a939d135
CW
148082010-09-17 Colin Watson <cjwatson@ubuntu.com>
14809
14810 Fix DM-RAID probing with recent versions of device-mapper udev
14811 rules.
14812
14813 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
14814 canonicalise device paths under /dev/mapper/.
14815 (convert_system_partition_to_system_disk): Compare the
14816 uncanonicalised path to /dev/mapper/ rather than the canonicalised
14817 path, since device nodes under /dev/mapper/ are often symlinks.
14818
0f7ee3c9
YB
148192010-09-17 Yves Blusseau <blusseau@zetam.org>
14820
14821 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
14822
10854d0d
YB
148232010-09-16 Yves Blusseau <blusseau@zetam.org>
14824
14825 * configure.ac: Avoid some annoying error messages if freetype-config
14826 program is not found.
14827
108538d8
CW
148282010-09-16 Colin Watson <cjwatson@ubuntu.com>
14829
14830 Support RAID on virtio devices, and others.
14831
14832 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
14833 Rename to ...
14834 [__MINGW32__] (grub_find_device): ... this.
14835 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
14836 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
14837 reasonable default if dir is NULL.
14838 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
14839 ...
14840 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
14841 (grub_guess_root_device): Update callers.
14842 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
14843
14844 * util/raid.c (grub_util_getdiskname): Remove.
14845 (grub_util_raid_getmembers): Use grub_find_device rather than
14846 grub_util_getdiskname.
14847
e5bfc130
CW
148482010-09-16 Colin Watson <cjwatson@ubuntu.com>
14849
14850 * docs/grub.texi (serial): Remove obsolete comment about GRUB
14851 needing to be compiled with serial support.
14852 (ls): Indicate that multiple files are accepted.
14853 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
14854 indicate that multiple files are accepted.
14855
be458ae2
CW
148562010-09-16 Colin Watson <cjwatson@ubuntu.com>
14857
14858 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
14859 libgrub_a_init.c, and util/bash-completion.d/grub.
14860
cb731b5e
VS
148612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 * util/grub-setup.c (setup): Fix incorrect container semantics.
14864
35139e8a
VS
148652010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
14868 misusage.
14869 Reported by: J. Nick Terry
14870
e50fca4a
VS
148712010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14872
14873 Move embedding routines to partmap sources files.
14874
14875 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
14876 [GRUB_UTIL]: New variable.
14877 (gpt_partition_map_iterate): Set part.parent.
14878 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
14879 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
14880 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
14881 New function.
14882 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
14883 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
14884 (grub_partition_map) [GRUB_UTIL]: New field embed.
14885 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
14886 (setup): Use ->embed.
14887
f00478b7
VS
148882010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14889
14890 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
14891 function.
14892 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
14893 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
14894
2b94e3ff
YB
148952010-09-15 Yves Blusseau <blusseau@zetam.org>
14896
14897 Add function to get completions from usage.
14898
14899 * util/bash-completion.d/grub-completion.bash.in: Add function to get
14900 completions from usage. Use LC_ALL=C to get options properly.
14901
2e04a006
VS
149022010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14903
14904 * grub-core/gnulib/basename-lgpl.c: Imported.
14905 * grub-core/gnulib/basename.c: Likewise.
14906 * grub-core/gnulib/dirname-lgpl.c: Likewise.
14907 * grub-core/gnulib/dirname.c: Likewise.
14908 * grub-core/gnulib/dirname.h: Likewise.
14909 * grub-core/gnulib/stripslash.c: Likewise.
14910
5dcdf93a
VS
149112010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 * grub-core/gnulib/error.c: Resynced.
14914 * grub-core/gnulib/getopt.c: Likewise.
14915 * grub-core/gnulib/getopt_int.h: Likewise.
14916 * grub-core/gnulib/regex.h: Likewise.
14917 * grub-core/gnulib/regex_internal.c: Likewise.
14918 * grub-core/gnulib/regex_internal.h: Likewise.
14919
014f47b7
SJ
149202010-09-15 Szymon Janc <szymon@janc.net.pl>
14921
14922 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
14923 CRC calculations and validity checks.
14924 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
14925 calculations.
14926
dd521a4a
SJ
149272010-09-15 Szymon Janc <szymon@janc.net.pl>
14928
14929 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
14930
79c4eeb9
VS
149312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14932
14933 Fix incorrect echo options handling.
14934 Reported by: Yves Blusseau.
14935
14936 * include/grub/command.h (grub_command_flags_t): New flags
14937 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
14938 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
14939 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
14940
ed80f7d5
VS
149412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
14944 users updated.
14945 (GRUB_COMMAND_FLAG_MENU): Likewise.
14946 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14947 (GRUB_COMMAND_FLAG_TITLE): Removed.
14948 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14949 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
14950 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
14951 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
14952 (grub_command_flags_t): New enum. All users updated.
14953
5fe7620a
SG
149542010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
14955
14956 Fix solaris compilation.
14957
14958 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
14959 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
14960 (grub-emu-list): Likewise.
14961
545b752f
VS
149622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14963
14964 Remove deprecated root command.
14965
14966 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
14967 updated.
14968
6c1a338c
VS
149692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14970
14971 * util/i386/pc/grub-setup.c: Merge this ...
14972 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
14973 * util/grub-setup.c: ... into this.
14974 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
14975 New struct.
14976
149772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14978
14979 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
14980 possible.
14981
d2ea4551
VS
149822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14983
14984 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
14985 allocate p.
14986
3c3b5040
VS
149872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14988
14989 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14990 explicit root argument to set to prevent UUID to be interpreted as
14991 argument to set.
14992
b71c3fae
VS
149932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
14996
275433e6
VS
149972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14998
14999 Don't export grub_gate_a20.
15000
15001 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15002 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15003 to ...
15004 (grub_gate_a20): ... this. All users updated.
15005 * include/grub/i386/pc/init.h: Removed. All users updated.
15006
a5dbb1f1
VS
150072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15008
15009 Create euro.pf2 which supports most European languages.
15010
15011 * Makefile.am (grubdata_DATA): Add euro.pf2.
15012 (euro.pf2): New target.
15013 (CLEANFILES): Add euro.pf2.
15014
62a747cb
VS
150152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15016
15017 * configure.ac: Disable emu-usb by default to prevent inadvertent
15018 device takeover.
15019
608e43b1
VS
150202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15021
15022 Disable usbserial on grub-emu since our libusb code isn't good enough
15023 yet.
15024
15025 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15026 (usbserial_pl2303): Likewise.
15027 (usbserial_ftdi): Likewise.
15028
94564f81
VS
150292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 * include/grub/disk.h (grub_disk): Remove has_partitions.
15032 All users updated.
15033 * disk/loopback.c (grub_loopback): Remove has_partitions.
15034 All users updated.
15035 (options): Remove partitions. All users updated.
15036 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15037 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15038 actual partition table is found.
15039
3352800b
VS
150402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15041
15042 Remove readability checks (too many false negatives).
15043
15044 * util/grub-install.in: Remove readability checks.
15045 * util/grub-mkconfig.in: Likewise.
15046 * util/grub.d/10_hurd.in: Likewise.
15047 * util/grub.d/10_kfreebsd.in: Likewise.
15048 * util/grub.d/10_linux.in: Likewise.
15049 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15050 way.
15051
2419f17a
VS
150522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 Enable acpi shutdown on all ACPI platforms.
15055
15056 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15057 on coreboo, multiboot and EFI.
15058 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15059 (grub_acpi_halt): Likewise.
15060 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15061 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15062 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15063 * grub-core/lib/i386/halt.c (grub_halt)
15064 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15065
0575c7c3
VS
150662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15067
15068 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15069 context.
15070
54ac3cd1
VS
150712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15074 * grub-core/video/efi_uga.c: Likewise.
15075
b2a30ac5
VS
150762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 Filter devaliases and never open same device twice.
15079
15080 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15081 (last_ihandle): Likewise.
15082 (ofdisk_hash_ent): New member shortest.
15083 (ofdisk_hash_add): Add canonical path too.
15084 (scan): New function.
15085 (grub_ofdisk_iterate): Iterate over hashed entries.
15086 (compute_dev_path): Don't add :0.
15087 (grub_ofdisk_open): Don't really open the disk.
15088 (grub_ofdisk_close): Avoid closing unrelated disk.
15089 (grub_ofdisk_read): Implement reopen logic.
15090 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15091 New function.
15092 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15093 New proto.
15094
fb53b340
VS
150952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 Fix sparc64.
15098
15099 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15100 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15101 right address. Add sparc64_ieee1275_ldflags.
15102 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15103 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15104 to grub_host_to_target_addr
15105 (load_image): Likewise.
15106
f452b040
VS
151072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15108
15109 * grub-core/normal/completion.c (complete_file): Handle device
15110 containing slash.
15111 Fix based on patch by Doug Nazar.
15112
9b5b2541
VS
151132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15114
15115 grub-mknetdir script.
15116
15117 * Makefile.util.def (grub-mknetdir): New module.
15118 * tests/util/grub-shell.in: Support boot=net
15119 * util/grub-mknetdir.in: New file.
15120
9d2be652
VS
151212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 videoinfo on non-vbe.
15124
15125 * grub-core/Makefile.core.def (vbeinfo): Removed.
15126 (vbetest): Removed.
15127 (videoinfo): New module.
15128 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15129 * grub-core/commands/i386/pc/vbetest.c: Removed.
15130 * grub-core/commands/videoinfo.c: New file.
15131 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15132 specification.
15133 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15134 as vbetest.
15135 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15136 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15137 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15138 mode_number. New parameter mode. All users updated.
15139 (grub_video_gop_iterate): New function.
15140 (grub_video_efi_gop): New member iterate.
15141 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15142 (grub_vbe_set_video_mode): Remove setting useless fields.
15143 (vbe2videoinfo): New function.
15144 (grub_video_vbe_iterate): Likewise.
15145 (grub_video_vbe_setup): Use vbe2videoinfo.
15146 (grub_video_vbe_print_adapter_specific_info): New function.
15147 (grub_video_vbe_adapter): New fields iterate and
15148 print_adapter_specific_info.
15149 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15150 All users updated.
15151 (grub_video_mode_info): New field mode_number.
15152 (grub_video_adapter): New fields iterate and
15153 print_adapter_specific_info.
15154
179503f5
TG
151552010-09-13 Tristan Gingold <gingold@free.fr>
151562010-09-13 Robert Millan <rmh.grub@aybabtu.com>
151572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 * grub-core/commands/efi/lsefisystab.c: New file.
15160 * grub-core/commands/efi/lssal.c: Likewise.
15161 * grub-core/Makefile.core.def (lsacpi): New module.
15162 (lsefisystab): Likewise.
15163 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15164 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15165 (grub_efi_sal_system_table): New struct.
15166 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15167 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15168 (grub_efi_sal_system_table_platform_features): Likewise.
15169 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15170 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15171 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15172 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15173
cf9827de
VS
151742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15175
15176 Support explicit user claim that a device is BIOS-visible.
15177
15178 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15179 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15180 * grub-core/kern/emu/hostdisk.c
15181 (convert_system_partition_to_system_disk): Support mdX.
15182 (find_system_device): New parameter add. All users updated.
15183 (grub_util_biosdisk_is_present): New function.
15184 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15185 proto.
15186
53f0eb1f
VS
151872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15188
15189 Search hints support.
15190
15191 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15192 All users updated.
15193
b23ffd70
YB
151942010-09-13 Yves Blusseau <blusseau@zetam.org>
15195
15196 Bash completion script for util commands
15197
15198 * Makefile.am: Add util/bash-completion.d directory
15199 * configure.ac: Likewise.
15200 * util/bash-completion.d/Makefile.am: New file.
15201 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15202
d547dc28
VS
152032010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15204
15205 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15206 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15207 Reported by: Yves Blusseau.
15208
2fc8ccb9
VS
152092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15210
15211 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15212 partition size and offset.
15213
d8a84076
VS
152142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15215
15216 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15217
84fb3b3d
VS
152182010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15219
15220 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15221
768ec2e2
VS
152222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15223
15224 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15225 (grub_xvasprintf): Likewise.
15226
4870900f
VS
152272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15228
15229 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15230
faca6bec
VS
152312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15232
15233 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15234 args ending with NULL.
15235
152362010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
15237
15238 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15239 pointer.
15240
3c70f225
SJ
152412010-09-11 Szymon Janc <szymon@janc.net.pl>
15242
15243 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15244
4df7996d
VS
152452010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 Shutdown using ACPI.
15248
15249 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15250 * grub-core/commands/acpihalt.c: New file.
15251 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15252 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15253 (grub_acpi_halt): New proto.
15254 (GRUB_ACPI_SLP_EN): New const.
15255 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15256 (GRUB_ACPI_OPCODE_*): New enum.
15257 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15258
126b4c32
TG
152592010-09-11 Tristan Gingold <gingold@free.fr>
152602010-09-11 Robert Millan <rmh.grub@aybabtu.com>
152612010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15262
15263 * commands/lsacpi.c: New file.
15264 * grub-core/Makefile.core.def (lsacpi): New module.
15265 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15266 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15267 (grub_acpi_madt_entry_header): New struct.
15268 (grub_acpi_madt): Likewise.
15269 (grub_acpi_madt_entry_interrupt_override): Likewise.
15270 (grub_acpi_madt_entry_sapic): Likewise.
15271 (grub_acpi_madt_entry_lsapic): Likewise.
15272 (grub_acpi_madt_entry_platform_int_source): Likewise.
15273 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15274 (PRIuGRUB_UINT32_T): Likewise.
15275 (PRIxGRUB_UINT64_T): Likewise.
15276
1aa4fe88
VS
152772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15278
15279 Implement loading palette on ieee1275_fb.
15280
15281 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15282 (have_setcolors): Likewise.
15283 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15284 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15285 (grub_video_ieee1275_set_palette): Implement.
15286
25761e13
VS
152872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
152882010-09-11 Colin Watson <cjwatson@ubuntu.com>
15289
15290 * util/grub-install.in (grub_partition): New variable.
15291 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15292 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15293 Fixes a bug reported by Yves Blusseau.
15294
050abaea
VS
152952010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15296
15297 Fix emu on mipsel.
15298
15299 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15300 =grub_cpu_flush_cache on all mips and not only yeeloong.
15301 * configure.ac (COND_mips): New conditional.
15302 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15303 platforms.
15304 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15305 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15306 [GRUB_LINKER_HAVE_INIT]: New function.
15307 (grub_emu_post_init): Likewise.
15308 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15309 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15310 * include/grub/cache.h (_mips): Include mips/cache.h.
15311 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15312 LVM and RAID prototypes.
15313 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15314 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15315 function.
15316
5ed7d816
CW
153172010-09-10 Colin Watson <cjwatson@ubuntu.com>
15318
15319 * util/grub-install.in: Don't try to verify core.img until after
15320 running grub-mkimage to create it.
15321
90367e04
RM
153222010-09-10 Robert Millan <rmh@gnu.org>
15323
15324 * util/grub.d/10_hurd.in: Add misc readability checks.
15325 * util/grub.d/10_kfreebsd.in: Likewise.
15326 * util/grub.d/10_linux.in: Likewise.
15327
c452fa66
CW
153282010-09-10 Colin Watson <cjwatson@ubuntu.com>
15329
15330 * util/grub-install.in: ${imgext} won't be defined here until the
15331 install branch is merged. For the meantime, only verify core.img on
15332 i386-pc and sparc64-ieee1275 platforms.
15333
c38fe9f4
RM
153342010-09-10 Robert Millan <rmh@gnu.org>
15335
15336 Solaris support in grub_find_zpool_from_dir(). Thanks
15337 Seth Goldberg for referring to getextmntent() facility.
15338
15339 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15340 `sys/mkdev.h'.
15341 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15342 `<sys/mnttab.h>'.
15343 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15344 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15345 method for finding zpool name.
15346
905f7773
CW
153472010-09-10 Colin Watson <cjwatson@ubuntu.com>
15348
15349 grub-fstest needs the host and hostfs modules while other utilities
15350 actively require those modules to be absent, so grub-fstest needs
15351 its own initialisation and finalisation code.
15352
15353 * Makefile.am (grub_fstest.pp): New target.
15354 (grub_fstest_init.lst): Likewise.
15355 (grub_fstest_init.c): Likewise.
15356 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15357
fb90b546
RM
153582010-09-10 Robert Millan <rmh@gnu.org>
15359
15360 * configure.ac: Check for `struct statfs.f_fstypename' and
15361 `struct statfs.f_mntfromname'.
15362
15363 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15364 kFreeBSD-specific code.
15365
66d4bea5
RM
153662010-09-10 Robert Millan <rmh@gnu.org>
15367
15368 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15369 on ZFS. Now non-main filesystems are supported as / too.
15370
b6a690ee
CW
153712010-09-09 Colin Watson <cjwatson@ubuntu.com>
15372
15373 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15374 and grub-core/disk/host.c to ...
15375 (grub-fstest): ... here. Having the host disk implementation
15376 present confuses grub-probe and other utility programs.
15377
15378 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15379 when writing to a file, not when writing to stdout.
15380
8901b00c 153812010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15382
15383 * tests/partmap_test.in: New test for partitions.
15384 * Makefile.util.def: Rules for new test.
15385
7bf45fdd
RM
153862010-09-09 Robert Millan <rmh@gnu.org>
15387
15388 * util/grub-probe.c (probe): Fix a pair of unhandled error
15389 conditions.
15390
4dfbc574
RM
153912010-09-09 Robert Millan <rmh@gnu.org>
15392
15393 Basic Btrfs support (detection and UUID).
15394
15395 * grub-core/fs/btrfs.c: New file.
15396 * Makefile.util.def (library): Register btrfs.c.
15397 * grub-core/Makefile.core.def: Likewise.
15398
6b8e78ae
RM
153992010-09-08 Robert Millan <rmh@gnu.org>
15400
15401 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15402 with (optional) parameters to specify device and relative path.
15403 * util/grub-install.in: Use is_path_readable_by_grub() to
15404 verify readability of a few critical files.
15405 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15406 verify readability of grub.cfg.new.
15407
27f21a8b
VS
154082010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15409
15410 Split minix.mod into minix.mod and minix2.mod.
15411
15412 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15413 * grub-core/Makefile.core.def (minix2): New module.
15414 * grub-core/fs/minix.c: Use definitions instead of runtime version
15415 checking.
15416 * grub-core/fs/minix2.c: New file.
15417
c0e53ea5
YB
154182010-09-08 Yves Blusseau <blusseau@zetam.org>
15419
15420 Add new --boot-directory option to replace --root-directory
15421
15422 * util/grub-install.in: Add new --boot-directory option
15423 * util/grub-reboot.in: Likewise.
15424 * util/grub-set-default.in: Likewise.
15425
b9fe6ea2
YB
154262010-09-08 Yves Blusseau <blusseau@zetam.org>
15427
15428 * util/grub-mkconfig.in: Use new variable.
15429
d87aedff
YB
154302010-09-08 Yves Blusseau <blusseau@zetam.org>
15431
15432 * configure.ac: Define some useful variables.
15433
e55e8495
VS
154342010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15437 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15438 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15439 Use terminfo and don't use cursor-on/cursor-off unless it's known
15440 to work.
15441 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15442 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15443
6fa6d675
CW
154442010-09-08 Colin Watson <cjwatson@ubuntu.com>
15445
15446 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15447 starts with "(,", fill the drive containing the loaded image in
15448 between those two characters, but expect that a full partition
15449 specification including partition map names will follow.
15450
92f2aef0
RM
154512010-09-08 Robert Millan <rmh@gnu.org>
15452
15453 * configure.ac: Remove `--enable-grub-fstest' option.
15454 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15455
15456 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15457 `grub-fstest' instead of `grub-probe' for readability verification.
15458 * util/grub-probe.c (probe): Remove readability verification kludge.
15459
99fd620d
RM
154602010-09-08 Robert Millan <rmh@gnu.org>
15461
15462 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15463 initializing `GRUB_FS'.
15464
058e30ac 154652010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15466
15467 Not command (!) support to GRUB script.
15468
15469 * tests/grub_script_not.in: New test.
15470 * Makefile.util.def: Rules for new test.
15471
15472 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15473 ! command as a special case.
15474 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15475
b61d05ed 154762010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15477
058e30ac 15478 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15479 grub_free.
b61d05ed 15480
4d69c786 154812010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15482
15483 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15484
aa3119c4 154852010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15486
15487 * docs/grub.texi (Shell-like scripting): Documentation for break,
15488 continue, shift and return commands.
15489
db0f7e3d
VS
154902010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15491
15492 Rename CD-ROM to cd on BIOS.
15493
15494 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15495 "cd".
15496 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15497
88b87c93
VS
154982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15499
15500 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15501 * util/grub-probe.c (main): Likewise.
15502 * util/i386/pc/grub-setup.c (main): Likewise.
15503 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15504 Reported and debugged by: alexxy
15505
294f324d
VS
155062010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15507
15508 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15509 diagnostic info.
15510
d7ee3441
JS
155112010-09-05 Jo Shields <directhex@apebox.org>
15512
15513 * util/grub.d/30_os-prober.in: Add missing classes.
15514
d7e06c1f
VS
155152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15516
15517 * docs/grub.texi (Theme file format): Document new position format.
15518
fc157e53
VS
155192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15520
15521 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15522 a table. Use @code instead of @verbatim.
15523
506e9a1c
CB
155242010-09-05 Colin D Bennett <colin@gibibit.com>
15525
15526 Gfxmenu documentation.
15527
15528 * docs/grub.texi (Theme file format): New chapter.
15529
f0aff67c
SJ
155302010-09-05 Szymon Janc <szymon@janc.net.pl>
15531
15532 * grub-core/Makefile.core.def (xzio): New module.
15533 * grub-core/io/xzio.c: New file.
15534 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15535 * grub-core/lib/xzembed/xz_config.h: Likewise.
15536 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15537 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15538 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15539 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15540 * grub-core/lib/xzembed/xz_private.h: Likewise.
15541 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15542 * include/grub/file.h (grub_file_filter_id): New compression filter
15543 GRUB_FILE_FILTER_XZIO.
15544
82a85062
VS
155452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15546
15547 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15548 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15549 size.
15550
3579415d
VS
155512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
15554 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
15555
5124ae6d
VS
155562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15557
15558 Uncompressed checksum support.
15559
15560 * grub-core/commands/hashsum.c (options): Add option --uncompress.
15561 (check_list): New parameter uncompress.
15562 (grub_cmd_hashsum): Handle --uncompress.
15563
9aadb3d1
VS
155642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15565
15566 Reintroduce testload.
15567
15568 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
15569 from here ...
15570 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
15571 (GRUB_MOD_INIT): New function.
15572 (GRUB_MOD_FINI): Likewise.
15573 * grub-core/Makefile.core.def (testload): New module.
15574
a17792c3
SJ
155752010-09-05 Szymon Janc <szymon@janc.net.pl>
15576
15577 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
15578 (uint8_t): New type.
15579 (uint16_t): Likewise.
15580 (uint32_t): Likewise.
15581 (uint64_t): Likewise.
15582
b81e40a3
SJ
155832010-09-05 Szymon Janc <szymon@janc.net.pl>
15584
15585 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
15586
fc2ef117
VS
155872010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15588
15589 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
15590 Made static.
15591 (grub_gzfile_open): Removed. All users updated.
15592 (GRUB_MOD_INIT): New function.
15593 (GRUB_MOD_FINI): Likewise.
15594 * grub-core/kern/file.c (grub_file_filters_all): New variable.
15595 (grub_file_filters_enabled): Likewise.
15596 (grub_file_open): Handle filters.
15597 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
15598 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
15599 * include/grub/file.h (grub_file_filter_id_t): New type.
15600 (grub_file_filter_t): Likewise.
15601 (grub_file_filters_all): New extern variable.
15602 (grub_file_filters_enabled): Likewise.
15603 (grub_file_filter_register): New inline function.
15604 (grub_file_filter_unregister): Likewise.
15605 (grub_file_filter_disable): Likewise.
15606 (grub_file_filter_disable_compression): Likewise.
15607 * include/grub/gzio.h: Removed.
15608
35ee15e0
BC
156092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15610
15611 Filename expansion support for wildcards in GRUB script.
15612
15613 * tests/grub_script_expansion.in: New test.
15614 * Makefile.util.def: Rule for new test.
15615
15616 * grub-core/commands/wildcard.c: New file, implements filename
15617 expansion support for GRUB script.
15618 * grub-core/Makefile.core.def: Rule update for regexp.mod.
15619 * grub-core/script/argv.c: Cosmetic changes.
15620 * grub-core/script/execute.c (grub_script_arglist_to_argv):
15621 Refactored to perform wildcard expansion on arguments.
15622 * include/grub/script_sh.h (grub_script_wildcard_translator): New
15623 struct.
15624
15625 * tests/util/grub-shell.in: Fix quoting for read input.
15626
5f0c4aca
BC
156272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15628
15629 Support for updating environment variables with matched substrings
15630 of regexp.
15631
15632 * tests/grub_cmd_regexp.in: New test.
15633 * Makefile.util.def: Rule for new test.
15634
15635 * grub-core/commands/regexp.c: New option -s to update environment
15636 variables with regexp matches.
15637
3759a35f
SJ
156382010-09-04 Szymon Janc <szymon@janc.net.pl>
15639
15640 * include/grub/file.h (grub_file): New member not_easly_seekable.
15641 (grub_file_seekable): New inline function.
15642 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
15643 easily seekable.
15644 (grub_gzio_open): Set not_easly_seekable.
15645 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
15646 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
15647
ed8c6dec
BC
156482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15649
15650 Support for options to appear multiple times on cmdline.
15651
15652 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
15653 * grub-core/commands/extcmd.c: Support for repeatable option.
15654 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
15655 repeatable option support.
15656
15657 Refactor menuentry into a regular command.
15658
15659 * grub-core/commands/menuentry.c: New file, menuentry command
15660 implementation.
15661 * grub-core/Makefile.core.def: Rule update for normal.mod.
15662 * grub-core/normal/main.c: Moved menuentry creation to
15663 grub-core/commands/menuentry.c.
15664 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
15665 (grub_menu_execute_entry_real): Removed.
15666 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
15667 function.
15668 (grub_script_execute_menuentry): Removed.
15669 * grub-core/script/parser.y (menuentry): Removed.
15670 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
15671 * grub-core/script/yylex.l (menuentry): Removed.
15672 * include/grub/menu.h (grub_menu_init): New prototype.
15673 (grub_menu_fini): New prototype.
15674 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
15675 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
15676 (grub_script_execute_sourcecode): New prototype.
15677
dacd0cf0
BC
156782010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15679
15680 "return" command for GRUB script functions.
15681
15682 * tests/grub_script_return.in: New test.
15683 * Makefile.util.def: Rules for new test.
15684
15685 * grub-core/script/execute.c (grub_script_return): New function.
15686 * grub-core/script/main.c: Register/unregister return commaond.
15687 * include/grub/script_sh.h (grub_script_return): New prototype.
15688
52e72f9d
BC
156892010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15690
15691 "setparams" command to update positional parameters.
15692
15693 * tests/grub_script_setparams.in: New test.
15694 * Makefile.util.def: Rules for new test.
15695
15696 * grub-core/script/argv.c (grub_script_argv_make): New function.
15697 * grub-core/script/execute.c (replace_scope): New function.
15698 (grub_script_setparams): New function.
15699 * grub-core/script/lexer.c: Remove unused variables.
15700 * grub-core/script/main.c: Register/unregister setparams command.
15701 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
15702 (grub_script_setparams): New prototype.
15703
25b60c91
BC
157042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15705
15706 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
15707 grub_free order.
15708
37e7bf68
BC
157092010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15710
15711 Support for passing block of commands as an argument to extcmds.
15712
15713 * Makefile.util.def: Rules for new test.
15714 * tests/grub_script_blockarg.in: New test.
15715 * grub-core/tests/test_blockarg.c: New file, block argument
15716 command used in the test.
15717
15718 * include/grub/extcmd.h (grub_extcmd_context): New struct.
15719 (grub_register_extcmd_prio): New function prototype.
15720 (grub_extcmd_dispatcher): New function prototype.
15721 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
15722 type.
15723 * include/grub/script_sh.h (struct grub_script): New members
15724 `children', `next_siblings' and `refcnt' for block arguments and
15725 reference counting.
15726 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
15727 (grub_script_arg): New member `script' for block argument.
15728 (grub_script_argv): New member `script' for block argument.
15729 (grub_parser_param): New member `scripts' for block argument.
15730 (grub_script_mem_free): New extern function prototype.
15731 (grub_script_ref): New function prototype.
15732 (grub_script_unref): New function prototype.
15733
15734 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
15735 extcmd form to support block arguments.
15736 * grub-core/script/argv.c: Block arguments support.
15737 * grub-core/script/execute.c: Likewise.
15738 * grub-core/script/lexer.c: Likewise.
15739 * grub-core/script/main.c: Likewise.
15740 * grub-core/script/script.c: Likewise.
15741 * grub-core/script/parser.y: Likewise. New `block' and `block0'
15742 non-terminals.
15743
15744 * grub-core/commands/acpi.c: Update extcmd implementations with
15745 grub_extcmd_context_t.
15746 * grub-core/commands/cat.c: Likewise.
15747 * grub-core/commands/echo.c: Likewise.
15748 * grub-core/commands/extcmd.c: Likewise.
15749 * grub-core/commands/hashsum.c: Likewise.
15750 * grub-core/commands/hdparm.c: Likewise.
15751 * grub-core/commands/help.c: Likewise.
15752 * grub-core/commands/hexdump.c: Likewise.
15753 * grub-core/commands/i386/cpuid.c: Likewise.
15754 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15755 * grub-core/commands/i386/pc/halt.c: Likewise.
15756 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15757 * grub-core/commands/iorw.c: Likewise.
15758 * grub-core/commands/keystatus.c: Likewise.
15759 * grub-core/commands/loadenv.c: Likewise.
15760 * grub-core/commands/ls.c: Likewise.
15761 * grub-core/commands/lspci.c: Likewise.
15762 * grub-core/commands/memrw.c: Likewise.
15763 * grub-core/commands/probe.c: Likewise.
15764 * grub-core/commands/search_wrap.c: Likewise.
15765 * grub-core/commands/setpci.c: Likewise.
15766 * grub-core/commands/sleep.c: Likewise.
15767 * grub-core/disk/loopback.c: Likewise.
15768 * grub-core/hello/hello.c: Likewise.
15769 * grub-core/loader/i386/bsd.c: Likewise.
15770 * grub-core/loader/xnu.c: Likewise.
15771 * grub-core/term/gfxterm.c: Likewise.
15772 * grub-core/term/serial.c: Likewise.
15773 * grub-core/tests/lib/functional_test.c: Likewise.
15774
888d1500
BC
157752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15776
15777 Multi-line quoted strings support.
15778
15779 * grub-core/script/lexer.c (append_newline): Removed.
15780 (grub_script_lexer_yywrap): Refactored.
15781 (grub_script_lexer_init): Refactored.
15782 * grub-core/script/yylex.l (yywrap): New function.
15783 (grub_lexer_resplit): New function.
15784 (grub_lexer_unput): New function.
15785 * include/grub/script_sh.h (grub_lexer_param): New members, unput
15786 and resplit.
15787 * tests/grub_script_echo1.in: Added few more testcases.
15788
dda060dd
VS
157892010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 * grub-core/kern/misc.c: Don't add abort alias in utils.
15792 Reported by: echoline.
15793
6556eba9
BC
157942010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
15795
15796 Add missing files into "make dist" tarball for other platforms.
15797
15798 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
15799 * conf/Makefile.common (dist_noinst_DATA): New variable.
15800 * conf/Makefile.extra-dist: Added missing make dist files.
15801 * grub-core/Makefile.core.def: Likewise.
15802
c8e7bf5f
VS
158032010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 Compress grub_prefix.
15806
15807 * grub-core/boot/i386/pc/lnxboot.S: Use
15808 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
15809 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
15810 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
15811 GRUB_MACHINE_PREFIX_END. All users updated.
15812 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
15813 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
15814 + 0x40.
15815 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15816 * util/grub-mkimage.c (image_target_desc): Change data_end to
15817 prefix_end. All users updated.
15818
a7c00cdb
VS
158192010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15820
15821 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
15822 value.
15823 (grub_openbsd_boot): Likewise.
15824 (grub_netbsd_boot): Likewise.
15825 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
15826 (grub_xnu_boot): Likewise.
15827
9f915872
VS
158282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15829
15830 * configure.ac: Clean LIBS variable after tests.
15831
efa1bee7
CW
158322010-09-02 Colin Watson <cjwatson@ubuntu.com>
15833
15834 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
15835
61d720e5
VS
158362010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15837
15838 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
15839 echo if libdevmapper will be used.
15840
ef8e0ec8
IT
158412010-09-02 Ian Turner <Ian.Turner@deshaw.com>
15842
15843 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
15844 constant for the same file.
15845
03e261d8
VS
158462010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15847
15848 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
15849
c2a4eba6
CW
158502010-09-02 Colin Watson <cjwatson@ubuntu.com>
15851
15852 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
15853 grub-core/*.pp.
15854
9056cbf3
CW
158552010-09-02 Colin Watson <cjwatson@ubuntu.com>
15856
15857 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
15858 required by the boot protocol.
15859
15860 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
15861 ebp and edi members.
15862 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
15863 state.ebp and state.edi.
15864 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
15865 %ebp and %edi according to grub_relocator32_ebp and
15866 grub_relocator32_edi respectively.
15867 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
15868 and state.edi.
15869
529cc99a
VS
158702010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15871
15872 Add i386-pc-pxe image target.
15873
15874 * util/grub-mkimage.c (image_target_desc): New enum value
15875 IMAGE_I386_PC_PXE.
15876 (image_targets): New target i386-pc-pxe.
15877 (generate_image): Handle i386-pc-pxe image.
15878
9a093920
VS
158792010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 Fix grub_pxe_scan.
15882
15883 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
15884 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
15885 All users updated.
15886 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
15887 (grub_pxe_pxenv): Correct type.
15888
f9cefc4e
CW
158892010-09-01 Colin Watson <cjwatson@ubuntu.com>
15890
15891 * NEWS: Document most of the important changes since 1.98.
15892
4066f57f
CW
158932010-09-01 Colin Watson <cjwatson@ubuntu.com>
15894
15895 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
15896 generated manual page) a little.
15897
da2891f9
CW
158982010-09-01 Colin Watson <cjwatson@ubuntu.com>
15899
15900 * docs/grub.texi: Add myself as an author.
15901
ad717fae
VS
159022010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 * Makefile.util.def (libgrub.a): Add missing sunpc.
15905 Reported by: Seth Goldberg.
15906
eefe8abd
VS
159072010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15908
15909 Interrupt wrapping and code simplifications.
15910
9494ef9a
VS
15911 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
15912 x86_noieee1275 which are functionaly equivalent in this case.
15913 (grub-install): Make source on each platform explicit. Enable on
15914 all noemu.
15915 * gentpl.py (x86_efi_pc): Removed group.
15916 (x86_noefi): Likewise.
15917 (i386_noefi): Likewise.
15918 (x86_noieee1275): Likewise.
15919 (i386_noieee1275): Likewise.
15920 (i386_noefi_noieee1275): Likewise.
15921 (i386_pc_qemu_coreboot): Likewise.
15922 (i386_coreboot_multiboot): Likewise.
15923 (i386_pc_coreboot_multiboot_qemu): Likewise.
15924 (x86_noefi_mips): Likewise.
15925 (noieee1275): Likewise.
15926 (ieee1275_mips): Likewise.
15927 (noemu_noieee1275): Likewise.
15928 (cmos): New group.
15929 (usb): Likewise.
15930 (videoinkernel): Likewise.
15931 (videomodules): Likewise.
eefe8abd 15932 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
15933 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
15934 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
15935 include/grub/loader.h, include/grub/msdos_partition.h,
15936 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
15937 include/grub/machine/console.h, include/grub/machine/vga.h,
15938 include/grub/machine/vbe.h, include/grub/machine/init.h,
15939 include/grub/machine/kernel.h, include/grub/cpu/time.h,
15940 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 15941 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
15942 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
15943 * grub-core/Makefile.core.def (kernel): Explicit the source for
15944 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
15945 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
15946 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
15947 Use videoinkernel tag.
15948 (usb): Enable on all usb.
15949 (usbserial_common): Likewise.
15950 (usbserial_pl2303): Likewise.
15951 (usbserial_ftdi): Likewise.
15952 (uhci): Enable on all x86.
15953 (ohci): Enable on all pci.
15954 (cmostest): Enable on all CMOS.
15955 (acpi): Include commands/acpi.c on all platforms.
15956 (halt): Add relevant lib/*/halt.c.
15957 (hdparm): Enable on all pci.
15958 (lspci): Likewise.
15959 (usbtest): Enable on all usb.
15960 (ata): Enable on all pci.
15961 (ata_pthru): Likewise.
15962 (usbms): Enable on all usb.
15963 (usb_keyboard): Likewise.
15964 (font): Use tag videomodules.
15965 (bufio): Likewise.
15966 (datetime): Use tag cmos. Enable on all noemu.
15967 (mmap): Use tags common and x86.
15968 (gfxterm): Use tag videomodules.
15969 (bitmap): Likewise.
15970 (bitmap_scale): Likewise.
15971 (video_fb): Likewise.
15972 (video): Likewise.
15973 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
15974 adjust padding accordingly. All users updated.
15975 (grub_ohci_transaction): Fix bad format specification.
15976 (GRUB_MOD_INIT): Add asserts for struct size.
15977 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
15978 (grub_alloc_td): Likewise.
15979 (grub_free_queue): Likewise.
15980 (grub_uhci_transfer): Likewise.
15981 (grub_uhci_transaction): Fix bad format specification.
15982 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15983 (grub_usb_bulk_readwrite): Likewise.
15984 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
15985 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
15986 Made static.
15987 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
15988 Made static.
15989 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
15990 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
15991 Transformed into C.
15992 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
15993 Moved from here ...
15994 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
15995 ... here. Transformed into C. Made static.
15996 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
15997 Moved from here ...
15998 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
15999 ... here. Transformed into C. Made static.
16000 * grub-core/kern/i386/pc/startup.S
16001 (grub_biosdisk_check_int13_extensions): Moved from here ...
16002 * grub-core/disk/i386/pc/biosdisk.c
16003 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16004 Made static.
16005 * grub-core/kern/i386/pc/startup.S
16006 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16007 * grub-core/disk/i386/pc/biosdisk.c
16008 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16009 Transformed into C. Made static.
16010 * grub-core/kern/i386/pc/startup.S
16011 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16012 * grub-core/disk/i386/pc/biosdisk.c
16013 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16014 Transformed into C. Made static.
16015 * grub-core/kern/i386/pc/startup.S
16016 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16017 * grub-core/disk/i386/pc/biosdisk.c
16018 (grub_biosdisk_get_diskinfo_standard): ... here.
16019 Transformed into C. Made static.
16020 * grub-core/kern/i386/pc/startup.S
16021 (grub_biosdisk_get_num_floppies): Moved from here ...
16022 * grub-core/disk/i386/pc/biosdisk.c
16023 (grub_biosdisk_get_num_floppies): ... here.
16024 Transformed into C. Made static.
16025 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16026 New function.
16027 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16028 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16029 Transformed into C. Made static.
16030 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16031 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16032 Transformed into C. Made static.
16033 * grub-core/kern/i386/ieee1275/init.c: Removed.
16034 * grub-core/kern/i386/misc.S: Likewise.
16035 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16036 Splitted from here ...
16037 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16038 Transformed into C. Made static. All users updated.
16039 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16040 Transformed into C. Made static. All users updated.
16041 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16042 Moved from here...
16043 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16044 Transformed into C. Made static. All users updated.
16045 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16046 Moved from here...
16047 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16048 Transformed into C. Made static. All users updated.
16049 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16050 Removed (replaced by C version).
16051 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16052 Moved from here...
16053 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16054 Transformed into C. Made static.
16055 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16056 Moved from here...
16057 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16058 ... here. Transformed into C.
16059 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16060 Moved from here...
16061 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16062 ... here. Transformed into C.
16063 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16064 Moved from here...
16065 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16066 ... here. Transformed into C. Made static.
16067 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16068 Moved from here...
16069 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16070 ... here. Transformed into C.
21ed554b
VS
16071 * grub-core/kern/i386/pc/startup.S
16072 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16073 * grub-core/video/i386/pc/vbe.c
16074 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
16075 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16076 Moved from here...
16077 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16078 ... here. Transformed into C.
16079 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16080 Moved from here...
16081 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16082 ... here. Transformed into C.
16083 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16084 Moved from here...
16085 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16086 ... here. Transformed into C.
16087 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16088 Moved from here...
16089 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16090 ... here. Transformed into C.
16091 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16092 Moved from here...
16093 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16094 ... here. Transformed into C. Made static.
16095 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16096 Moved from here...
16097 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16098 ... here. Transformed into C. Made static.
16099 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16100 Moved from here...
16101 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16102 ... here. Transformed into C. Made static.
16103 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16104 pxe_rm_entry as third argument.
16105 (grub_bios_interrupt): New function.
16106 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16107 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16108 of calling grub_stop.
16109 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16110 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16111 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16112 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16113 * grub-core/lib/i386/halt.c: Moved from here ...
16114 * grub-core/lib/i386/halt.c: ... here.
16115 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16116 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16117 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16118 grub_stop_floppy.
16119 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16120 * include/grub/i386/coreboot/init.h: Removed.
16121 * include/grub/i386/multiboot/init.h: Likewise.
16122 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16123 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16124 * include/grub/i386/pc/int.h: New file.
16125 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16126 (grub_pxe_scan): Removed.
16127 (grub_pxe_call): Update prototype.
16128 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16129 prototypes.
16130 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16131 * include/grub/i386/qemu/init.h: Removed.
16132 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16133 noreturn.
16134 (grub_halt): Likewise.
16135 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16136 (grub_reboot): Likewise.
16137 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16138 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
16139 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16140
215dd471
RM
161412010-08-30 Robert Millan <rmh@gnu.org>
16142
16143 * NEWS: Document addition of ZFS support in `grub-install' and
16144 `grub-mkconfig'.
16145
ebd65b82
BC
161462010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16147
16148 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16149 dprintf output.
16150
11721d19
VS
161512010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16152
16153 Remove leftover embedding of font objects.
16154
16155 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16156 * util/grub-install.in (font): Removed.
16157 * util/grub-mkimage.c (generate_image): Remove font support. All users
16158 updated.
16159
37837d4e
VS
161602010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 Remove leftover embedding of font objects.
16163
16164 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16165 * util/grub-install.in (font): Removed.
16166 * util/grub-mkimage.c (generate_image): Remove font support. All users
16167 updated.
16168
b4c1aae0
VS
161692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 16172 Reported by: Ian Turner
b4c1aae0 16173
8920a08d
VS
161742010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16177 timeout to avoid indefinite boot stalling.
16178
f21db033
VS
161792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16182 (grub_env_write_color_highlight): Likewise.
16183
9a9de209
VS
161842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 * grub-core/normal/term.c (print_more): Return to normal and not
16187 to standard state after printing "---MORE---".
16188
3dca01d7
VS
161892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16190
16191 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16192 Mask out the bit 0x80 since it has other meaning that specifiing color.
16193
0b986c40
VS
161942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16195
16196 New relocator. Allows for more kernel support and more straightforward
16197 loader writing.
16198
16199 * Makefile.am (BOOTTARGET): New variable.
16200 (QEMU32): Likewise.
16201 (linux.init.x86_64): New target.
16202 (linux.init.i386): Likewise.
16203 (multiboot.elf): Likewise.
16204 (kfreebsd.elf): Likewise.
16205 (kfreebsd.aout): Likewise.
16206 (pc-chainloader.elf): Likewise.
16207 (pc-chainloader.bin): Likewise.
16208 (ntldr.elf): Likewise.
16209 (ntldr.bin): Likewise.
16210 (multiboot2.elf): Likewise.
16211 (kfreebsd.init.x86_64): Likewise.
16212 (kfreebsd.init.i386): Likewise.
16213 (knetbsd.init.i386): Likewise.
16214 (kopenbsd.init.i386): Likewise.
16215 (knetbsd.init.x86_64): Likewise.
16216 (kopenbsd.init.x86_64): Likewise.
16217 (linux-initramfs.i386): Likewise.
16218 (linux-initramfs.x86_64): Likewise.
16219 (kfreebsd-mfsroot.i386.img): Likewise.
16220 (knetbsd.image.i386): Likewise.
16221 (kopenbsd.image.i386): Likewise.
16222 (kopenbsd.image.x86_64): Likewise.
16223 (knetbsd.miniroot-image.i386.img): Likewise.
16224 (kfreebsd-mfsroot.x86_64.img): Likewise.
16225 (knetbsd.image.x86_64): Likewise.
16226 (knetbsd.miniroot-image.x86_64.img): Likewise.
16227 (kfreebsd-mfsroot.i386.gz): Likewise.
16228 (bootcheck-kfreebsd-i386): Likewise.
16229 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16230 (bootcheck-kfreebsd-x86_64): Likewise.
16231 (knetbsd.miniroot-image.i386.gz): Likewise.
16232 (bootcheck-knetbsd-i386): Likewise.
16233 (bootcheck-kopenbsd-i386): Likewise.
16234 (bootcheck-kopenbsd-x86_64): Likewise.
16235 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16236 (bootcheck-knetbsd-x86_64): Likewise.
16237 (bootcheck-linux-i386): Likewise.
16238 (bootcheck-linux-x86_64): Likewise.
16239 (bootcheck-linux16-i386): Likewise.
16240 (bootcheck-linux16-x86_64): Likewise.
16241 (bootcheck-multiboot): Likewise.
16242 (bootcheck-multiboot2): Likewise.
16243 (bootcheck-kfreebsd-aout): Likewise.
16244 (bootcheck-pc-chainloader): Likewise.
16245 (bootcheck-ntldr): Likewise.
16246 (CLEANFILES): Add new targets.
16247 (BOOTCHECKS): New variable.
16248 (.PHONY): Add bootchecks.
16249 (SUCCESSFUL_BOOT_STRING): New variable.
16250 (BOOTCHECK_TIMEOUT): Likewise.
16251 (bootcheck): New target
16252 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16253 * configure.ac: Correct efiemu excuse.
16254 * docs/grub.texi (Supported kernels): New chapter.
16255 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16256 include/grub/mm_private.h. Simplify inclusion of
16257 include/grub/boot.h, include/grub/loader.h
16258 and include/grub/msdos_partition.h
16259 (KERNEL_HEADER_FILES) [i386_coreboot]:
16260 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16261 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16262 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16263 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16264 include/grub/machine/loader.h.
16265 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16266 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16267 extra_dist.
16268 (pci.mod): Enable on i386-multiboot.
16269 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16270 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16271 i386-qemu.
16272 (relocator.mod): Rewritten.
16273 (aout.mod): Enable on all x86.
16274 (bsd.mod): Likewise.
16275 (ntldr.mod): New module.
16276 (linux.mod): Use loader/i386/linux.c on all x86.
16277 (xnu.mod): Enable on all x86.
16278 (vga_text.mod): disable on EFI and QEMU.
16279 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16280 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16281 * grub-core/efiemu/loadcore.c: Likewise.
16282 * grub-core/efiemu/main.c: Likewise.
16283 (grub_efiemu_exit_boot_services): Removed.
16284 (grub_efiemu_finish_boot_services): Likewise.
16285 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16286 function.
16287 * grub-core/efiemu/i386/nocfgtables.c: New file.
16288 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16289 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16290 (grub_efi_finish_boot_services): Moved from here ...
16291 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16292 Fille finish memory map and related data.
16293 (finish_mmap_buf): New variable.
16294 (grub_efi_uintn_t finish_mmap_size): Likewise.
16295 (grub_efi_uintn_t finish_key): Likewise.
16296 (grub_efi_uintn_t finish_desc_size): Likewise.
16297 (grub_efi_uint32_t finish_desc_version): Likewise.
16298 (grub_efi_is_finished): Likewise.
16299 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16300 finished.
16301 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16302 (grub_elf64_phdr_iterate): Likewise.
16303 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16304 (grub_os_area_size): Likewise.
16305 (grub_machine_init): Don't reserve os area.
16306 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16307 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16308 * grub-core/kern/i386/loader.S: Removed.
16309 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16310 (grub_os_area_size): Likewise.
16311 (grub_machine_init): Don't reserve os area.
16312 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16313 Don't call grub_dl_unload_all.
16314 Don't include loader.S.
16315 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16316 Declare the memory after _end as available.
16317 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 16318 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 16319 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
16320 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16321 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16322 * include/grub/mm_private.h (grub_mm_header): ... here.
16323 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16324 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
16325 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16326 (grub_mm_region): ..here. Removed addr. Added pre_size.
16327 All users updated.
16328 * grub-core/kern/mm.c (base): Renamed to ...
16329 (grub_mm_base): ... this. Made global.
16330 (grub_real_malloc): Alloc from end of region.
16331 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16332 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16333 * grub-core/kern/powerpc/cache_flush.S: ... here.
16334 * grub-core/lib/efi/relocator.c: New file.
16335 * grub-core/lib/i386/relocator.c: Rewritten.
16336 * grub-core/lib/i386/relocator16.S: New file.
16337 * grub-core/lib/i386/relocator32.S: Likewise.
16338 * grub-core/lib/i386/relocator64.S: Likewise.
16339 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16340 * grub-core/lib/i386/relocator_common.S: New file.
16341 * grub-core/lib/ieee1275/relocator.c: Likewise.
16342 * grub-core/lib/mips/relocator.c: Rewritten.
16343 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16344 stylistic adjustments.
16345 * grub-core/lib/powerpc/relocator.c: New file.
16346 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16347 * grub-core/lib/relocator.c: Rewritten.
16348 * grub-core/lib/x86_64/relocator_asm.S: New file.
16349 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16350 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16351 (bsd_tag): New struct.
16352 (tags): New variable.
16353 (tags_last): Likewise.
16354 (netbsd_module): New struct.
16355 (netbsd_mods): New variable.
16356 (netbsd_mods_last): Likewise.
16357 (openbsd_opts): New parameter "serial".
16358 (OPENBSD_SERIAL_ARG): New definition.
16359 (netbsd_opts): New parameter "serial".
16360 (NETBSD_SERIAL_ARG): New definition.
16361 (grub_freebsd_add_meta): Reorganised into ...
16362 (grub_bsd_add_meta): ...this. All users updated.
16363 (grub_freebsd_add_mmap): Reorganised into ...
16364 (generate_e820_mmap): ...this...
16365 (grub_bsd_add_mmap): ...and this. All users updated.
16366 (grub_freebsd_list_modules): Use tags.
16367 (grub_netbsd_add_meta_module): New function.
16368 (grub_netbsd_list_modules): Likewise.
16369 (grub_freebsd_boot): Use relocator and finish EFI.
16370 (grub_openbsd_boot): Likewise.
16371 (grub_netbsd_setup_video): New function.
16372 (grub_netbsd_add_modules): Likewise.
16373 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16374 and finish EFI.
16375 (grub_bsd_unload): Unload tags.
16376 (grub_bsd_load_aout): Use relocator.
16377 (grub_bsd_elf32_size_hook): New function.
16378 (grub_bsd_elf32_hook): Use relocator.
16379 (grub_bsd_elf64_size_hook): New function.
16380 (grub_bsd_elf64_hook): Use relocator.
16381 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16382 (grub_bsd_load): Zero-out openbsd_ramdisk.
16383 (grub_bsd_load): Use relocator.
16384 (grub_cmd_openbsd): Support serial.
16385 (grub_cmd_netbsd): Support modules.
16386 (grub_cmd_freebsd_module): Use relocator.
16387 (grub_netbsd_module_load): New function.
16388 (grub_cmd_netbsd_module): Likewise.
16389 (grub_cmd_openbsd_ramdisk): Likewise.
16390 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16391 kopenbsd_ramdisk.
16392 (GRUB_MOD_FINI): Unregister new commands.
16393 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16394 (grub_freebsd_load_elfmodule_obj): Use relocator.
16395 (grub_freebsd_load_elfmodule): Likewise.
16396 (grub_freebsd_load_elf_meta): Likewise.
16397 (grub_netbsd_load_elf_meta): New function.
16398 (grub_openbsd_find_ramdisk): Likewise.
16399 * grub-core/loader/i386/bsd_helper.S: Removed.
16400 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16401 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16402 * grub-core/loader/i386/efi/linux.c: Likewise.
16403 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16404 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16405 (DEFAULT_VIDEO_MODE): Likewise.
16406 (real_mode_target): New variable.
16407 (prot_mode_target): Likewise.
16408 (initrd_mem_target): Likewise.
16409 (relocator): Likewise.
16410 (efi_mmap_buf): Likewise.
16411 (efi_mmap_size): Likewise.
16412 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16413 (free_pages): Use relocator.
16414 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16415 (grub_linux_setup_video): Return error.
16416 (grub_linux_trampoline_start): Removed.
16417 (grub_linux_trampoline_end): Likewise.
16418 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16419 andd video parameters depending on firmware.
16420 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16421 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16422 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16423 (grub_cmd_initrd): Use relocator.
16424 * grub-core/loader/i386/linux_trampoline.S: Removed.
16425 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16426 (elf_sec_entsize): Likewise.
16427 (elf_sec_shstrndx): Likewise.
16428 (elf_sections): Likewise.
16429 (grub_multiboot_load): Use relocator.
16430 (grub_multiboot_get_mbi_size): Account for sections.
16431 (grub_multiboot_make_mbi): Use relocator and support sections.
16432 (grub_multiboot_add_elfsyms): New function.
16433 (grub_multiboot_free_mbi): Free sections.
16434 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16435 (grub_linux_real_target): Likewise.
16436 (grub_linux_real_chunk): Likewise.
16437 (grub_linux16_prot_size): Likewise.
16438 (grub_linux16_boot): Use relocator.
16439 (grub_linux_unload): Unload relocator.
16440 (grub_cmd_linux): Use relocator.
16441 (grub_cmd_initrd): Likewise.
16442 * grub-core/loader/i386/pc/ntldr.c: New file.
16443 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16444 Don't try to guess CPU frequency.
16445 (grub_xnu_set_video): Stretch bitmap.
16446 (grub_xnu_boot): Use relocator.
16447 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16448 (grub_linux_unload): Free relocator.
16449 (grub_linux_load32): Use relocator.
16450 (grub_linux_load64): Likewise.
16451 (grub_cmd_initrd): Likewise.
16452 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16453 (grub_multiboot_unload): Unload relocator.
16454 (grub_cmd_multiboot): Use relocator.
16455 (grub_cmd_module): Likewise.
16456 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16457 Use relocator and support sections.
16458 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16459 (elf_sec_entsize): Likewise.
16460 (elf_sec_shstrndx): Likewise.
16461 (elf_sections): Likewise.
16462 (grub_multiboot_load): Use relocator.
16463 (grub_multiboot_get_mbi_size): Account for sections.
16464 (grub_multiboot_make_mbi): Use relocator and support sections.
16465 (grub_multiboot_add_elfsyms): New function.
16466 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16467 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16468 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16469 Prototype changed. All users updated.
16470 (grub_xnu_align_heap): Simplified.
16471 (grub_xnu_writetree_toheap): Likewise.
16472 (grub_xnu_unload): Unload relocator.
16473 (grub_cmd_xnu_kernel): Use relocator.
16474 (grub_cmd_xnu_kernel64): Likewise.
16475 (grub_xnu_register_memory): Simplified.
16476 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
16477 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16478 EFI is finished.
16479 (grub_console_checkkey): Likewise.
16480 (grub_console_getkey): Likewise.
16481 (grub_console_getwh): Likewise.
16482 (grub_console_getxy): Likewise.
16483 (grub_console_gotoxy): Likewise.
16484 (grub_console_cls): Likewise.
16485 (grub_console_setcolorstate): Likewise.
16486 (grub_console_setcursor): Likewise.
16487 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16488 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16489 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16490 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16491 * grub-core/tests/boot/kernel-8086.S: Likewise.
16492 * grub-core/tests/boot/kernel-i386.S: Likewise.
16493 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16494 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16495 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16496 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16497 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16498 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16499 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16500 * grub-core/tests/boot/linux.cfg: Likewise.
16501 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16502 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16503 * grub-core/tests/boot/linux16.cfg: Likewise.
16504 * grub-core/tests/boot/multiboot.cfg: Likewise.
16505 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16506 * grub-core/tests/boot/ntldr.cfg: Likewise.
16507 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16508 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16509 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16510 New definition.
16511 * include/grub/dl.h (grub_dl_unload_all): Removed.
16512 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16513 (grub_efi_finish_boot_services): Change prototype.
16514 (grub_efi_is_finished): New variable.
16515 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16516 Changed prototype.
16517 (grub_efiemu_finish_boot_services): Removed.
16518 (grub_machine_efiemu_init_tables): New prototype.
16519 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16520 (grub_elf64_phdr_iterate): Likewise.
16521 * include/grub/i386/bsd.h: Include relocator.h.
16522 (freebsd_tag_header): New struct.
16523 (grub_openbsd_bios_mmap): Removed.
16524 (grub_unix_real_boot): Removed.
16525 (grub_freebsd_load_elfmodule32): Changed prototype.
16526 (grub_freebsd_load_elfmodule_obj64): Likewise.
16527 (grub_freebsd_load_elf_meta32): Likewise.
16528 (grub_freebsd_load_elf_meta64): Likewise.
16529 (grub_freebsd_add_meta): Removed.
16530 (grub_netbsd_load_elf_meta32): New prototype.
16531 (grub_netbsd_load_elf_meta64): Likewise.
16532 (grub_bsd_add_meta): Likewise.
16533 (grub_openbsd_ramdisk_descriptor): New struct.
16534 (grub_openbsd_find_ramdisk32): New prototype.
16535 (grub_openbsd_find_ramdisk64): Likewise.
16536 * include/grub/i386/coreboot/loader.h: Removed.
16537 * include/grub/i386/efi/loader.h: Likewise.
16538 * include/grub/i386/ieee1275/loader.h: Likewise.
16539 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16540 to grub_uint32_t.
16541 * include/grub/i386/loader.h: Removed.
16542 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16543 value.
16544 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16545 (grub_phys_addr_t): New type.
16546 (grub_vtop): New inline function.
16547 (grub_map_memory): Likewise.
16548 (grub_unmap_memory): Likewise.
16549 * include/grub/i386/multiboot/loader.h: Removed.
16550 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16551 (NETBSD_BTINFO_CONSOLE): New definition.
16552 (NETBSD_BTINFO_SYMTAB): Likewise.
16553 (NETBSD_BTINFO_MODULES): Likewise.
16554 (NETBSD_BTINFO_FRAMEBUF): Likewise.
16555 (grub_netbsd_bootinfo): New struct.
16556 (grub_netbsd_btinfo_common): Use explicit bitsize.
16557 (grub_netbsd_btinfo_mmap_entry): Removed.
16558 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
16559 (grub_netbsd_btinfo_bootdisk): New struct.
16560 (grub_netbsd_btinfo_symtab): Likewise.
16561 (grub_netbsd_btinfo_serial): Likewise.
16562 (grub_netbsd_btinfo_modules): Likewise.
16563 (grub_netbsd_btinfo_framebuf): Likewise.
16564 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
16565 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
16566 Likewise.
16567 (grub_openbsd_bootargs): Use explicit bitsize.
16568 (grub_openbsd_bootarg_console): New struct.
16569 (GRUB_OPENBSD_COM_MAJOR): New definition.
16570 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
16571 * include/grub/i386/pc/efiemu.h: Removed.
16572 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
16573 * include/grub/i386/qemu/loader.h: Removed.
16574 * include/grub/i386/relocator.h: Rewritten.
16575 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
16576 * include/grub/mips/memory.h: New file.
16577 * include/grub/mips/multiboot.h: Rewritten.
16578 * include/grub/mips/relocator.h: Rewritten.
16579 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
16580 (grub_vtop): New function.
16581 (grub_map_memory): Likewise.
16582 (grub_unmap_memory): Likewise.
16583 * include/grub/misc.h (ALIGN_DOWN): New definition.
16584 * include/grub/mm.h (grub_mm_check_real): New proto.
16585 (GRUB_MM_CHECK): New definition.
16586 * include/grub/mm_private.h: New file.
16587 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
16588 (grub_multiboot_get_mbi_size): Removed.
16589 (grub_multiboot_make_mbi): Change prottype.
16590 (grub_multiboot_set_accepts_video): New proto.
16591 (grub_multiboot_add_elfsyms): Likewise.
16592 (grub_multiboot_payload_eip): New variable.
16593 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
16594 New prototype.
16595 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
16596 New definition.
16597 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
16598 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
16599 * include/grub/powerpc/ieee1275/loader.h: Removed.
16600 * include/grub/powerpc/memory.h: New file.
16601 * include/grub/powerpc/relocator.h: Likewise.
16602 * include/grub/relocator.h: Likewise.
16603 * include/grub/relocator_private.h: Likewise.
16604 * include/grub/sparc64/ieee1275/loader.h: Removed.
16605 * include/grub/x86_64/memory.h: New file.
16606 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
16607 (grub_xnu_heap_malloc): Likewise.
16608 (grub_xnu_heap_real_start): Removed.
16609 (grub_xnu_heap_start): Likewise.
16610 (grub_xnu_relocator): New variable.
16611 (grub_xnu_heap_target_start): Likewise.
16612 * tests/util/grub-shell.in: Support non-pc.
16613 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 16614
5303b85d
VS
166152010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
16618 on malloc error.
16619 (grub_bidi_logical_to_visual): Check that malloc succeded.
16620 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
16621 puts.
16622 (grub_xputs_normal): Likewise.
16623
d768d159
VS
166242010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16625
16626 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
16627 extra_dist.
16628
166292010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16630
16631 * grub-core/efiemu/runtime/efiemu.sh: Removed.
16632
5bf84df4
VS
166332010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
16636
3626810e
VS
166372010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16638
16639 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
16640 dprintf.
16641
a7363f53
BC
166422010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
16643
16644 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
16645
902f75f6
VS
166462010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16647
16648 * grub-core/normal/term.c (print_more): Fix a memory leak.
16649 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
16650 (grub_xputs_normal): Likewise.
16651
3c707967
VS
166522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16653
16654 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
16655 the begining of the string
16656
2053cc07
VS
166572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16658
16659 * grub-core/script/script.c (grub_script_parse): Free parsed on
16660 failure.
16661
46422ebf
VS
166622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16663
16664 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
16665 on failure.
16666
9e0fa3f6
VS
166672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
16670 return.
16671
3393cf16
VS
166722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16673
16674 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
16675 (scroll_up): Fix a memory leak.
16676
b17540cb
VS
166772010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16678
16679 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
16680 errors.
16681
67140446
VS
166822010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
16683
16684 Handle USB pendrives exposed as floppies.
16685
16686 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
16687 floppy.
16688 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16689 Check for partitions on all devices.
16690
e35e46fc
VS
166912010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16692
16693 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
16694 (readkey): Likewise.
16695
d24c6190
BC
166962010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16697
16698 Multiple variable names support to "export" command.
16699
16700 * normal/context.c (grub_cmd_export): "export" command supports
16701 multiple variable names.
16702
04ddcc6a
ST
167032010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
16704
16705 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
16706 --target=drive output to Mach device name.
16707
0c8b61d8
BC
167082010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16709
16710 New Automake based build system for GRUB.
16711
16712 * ABOUT-NLS: New file.
16713 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
16714 in Makefile.util.def file.
16715 * Makefile.util.def: New file. Autogen build definitions file for
16716 GRUB host utils.
16717 * conf/Makefile.common: New file. Common variables for GRUB host
16718 utils and target modules.
16719 * conf/Makefile.extra-dist: New file. Extra files for make dist.
16720 * docs/Makefile.am: New file. Automake file for docs.
16721 * gentpl.py: New file. Python script to generate Autogen
16722 template.
16723 * grub-core/Makefile.am: New file. GRUB target modules' rules
16724 that doesn't fit in Makefile.core.def file.
16725 * grub-core/Makefile.core.def: New file. Autogen build
16726 definitions file for GRUB target modules.
16727 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
16728 specific setjmp.S file.
16729 * po/Makefile.am: New file.
16730
16731 * .bzrignore: New ignores.
16732 * INSTALL: New requirements, without Ruby.
16733 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
16734 * autogen.sh: Updated to invoke autogen as necessary.
16735 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
16736 and defines for Automake conditionals.
16737 * geninit.sh: Refactoring.
16738
16739 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
16740 necessary.
16741 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
16742 New prototype.
16743
16744 * include/grub/test.h: Fix functional test modules' naming.
16745 * grub-core/tests/example_functional_test.c: Fix test module name.
16746
16747 * util/misc.c: Hosted versions' of grub functions for libgrub.a
16748 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
16749 * util/grub-editenv.c: Likewise.
16750 * util/grub-fstest.c: Likewise.
16751 * util/grub-mkdevicemap.c: Likewise.
16752 * util/grub-mkfont.c: Likewise.
16753 * util/grub-mkimage.c: Likewise.
16754 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16755 * util/grub-probe.c: Likewise.
16756 * util/grub-script-check.c: Likewise.
16757 * util/i386/pc/grub-setup.c: Likewise.
16758 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16759
16760 * tests/util/grub-shell.in: Fix override directory path.
16761 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
16762 * util/import_gcry.py: Create Makefile.gcry.def file instead.
16763
16764 * util/lvm.c: Update #includes.
16765 * util/raid.c: Likewise.
16766 * util/resolve.c: Likewise.
16767 * grub-core/bus/emu/pci.c: Likewise.
16768 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
16769 * grub-core/lib/posix_wrap/string.h: Likewise.
16770 * grub-core/kern/emu/main.c: Likewise.
16771
16772 * grub-core/gensymlist.sh: New file. Script for generating kernel
16773 symbols file.
16774 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
16775
16776 * grub-core/gentrigtables.c: Fix unused variable warnings.
16777
16778 * Makefile.in: Removed.
16779 * conf/any-emu.rmk: Removed.
16780 * conf/common.rmk: Removed.
16781 * conf/i386-coreboot.rmk: Removed.
16782 * conf/i386-efi.rmk: Removed.
16783 * conf/i386-ieee1275.rmk: Removed.
16784 * conf/i386-multiboot.rmk: Removed.
16785 * conf/i386-pc.rmk: Removed.
16786 * conf/i386-qemu.rmk: Removed.
16787 * conf/i386.rmk: Removed.
16788 * conf/mips-yeeloong.rmk: Removed.
16789 * conf/mips.rmk: Removed.
16790 * conf/powerpc-ieee1275.rmk: Removed.
16791 * conf/sparc64-ieee1275.rmk: Removed.
16792 * conf/tests.rmk: Removed.
16793 * conf/x86-efi.rmk: Removed.
16794 * conf/x86_64-efi.rmk: Removed.
16795 * gendistlist.sh: Removed.
16796 * geninitheader.sh: Removed.
16797 * genkernsyms.sh.in: Removed.
16798 * genmk.rb: Removed.
16799 * gensymlist.sh.in: Removed.
16800 * mkinstalldirs: Removed.
16801 * boot: Moved ...
16802 * grub-core/boot: ... to here.
16803 * bus: Moved ...
16804 * grub-core/bus: ... to here.
16805 * commands: Moved ...
16806 * grub-core/commands: ... to here.
16807 * disk: Moved ...
16808 * grub-core/disk: ... to here.
16809 * efiemu: Moved ...
16810 * grub-core/efiemu: ... to here.
16811 * font: Moved ...
16812 * grub-core/font: ... to here.
16813 * fs: Moved ...
16814 * grub-core/fs: ... to here.
16815 * gencmdlist.sh: Moved ...
16816 * grub-core/gencmdlist.sh: ... to here.
16817 * genemuinit.sh: Moved ...
16818 * grub-core/genemuinit.sh: ... to here.
16819 * genemuinitheader.sh: Moved ...
16820 * grub-core/genemuinitheader.sh: ... to here.
16821 * genfslist.sh: Moved ...
16822 * grub-core/genfslist.sh: ... to here.
16823 * genhandlerlist.sh: Moved ...
16824 * grub-core/genhandlerlist.sh: ... to here.
16825 * genmoddep.awk: Moved ...
16826 * grub-core/genmoddep.awk: ... to here.
16827 * genmodsrc.sh: Moved ...
16828 * grub-core/genmodsrc.sh: ... to here.
16829 * genpartmaplist.sh: Moved ...
16830 * grub-core/genpartmaplist.sh: ... to here.
16831 * genparttoollist.sh: Moved ...
16832 * grub-core/genparttoollist.sh: ... to here.
16833 * genterminallist.sh: Moved ...
16834 * grub-core/genterminallist.sh: ... to here.
16835 * gentrigtables.c: Moved ...
16836 * grub-core/gentrigtables.c: ... to here.
16837 * genvideolist.sh: Moved ...
16838 * grub-core/genvideolist.sh: ... to here.
16839 * gettext: Moved ...
16840 * grub-core/gettext: ... to here.
16841 * gfxmenu: Moved ...
16842 * grub-core/gfxmenu: ... to here.
16843 * gnulib: Moved ...
16844 * grub-core/gnulib: ... to here.
16845 * hello: Moved ...
16846 * grub-core/hello: ... to here.
16847 * hook: Moved ...
16848 * grub-core/hook: ... to here.
16849 * io: Moved ...
16850 * grub-core/io: ... to here.
16851 * kern: Moved ...
16852 * grub-core/kern: ... to here.
16853 * lib: Moved ...
16854 * grub-core/lib: ... to here.
16855 * loader: Moved ...
16856 * grub-core/loader: ... to here.
16857 * mmap: Moved ...
16858 * grub-core/mmap: ... to here.
16859 * normal: Moved ...
16860 * grub-core/normal: ... to here.
16861 * partmap: Moved ...
16862 * grub-core/partmap: ... to here.
16863 * parttool: Moved ...
16864 * grub-core/parttool: ... to here.
16865 * script: Moved ...
16866 * grub-core/script: ... to here.
16867 * term: Moved ...
16868 * grub-core/term: ... to here
16869 * tests/example_functional_test.c: Moved ...
16870 * grub-core/tests/example_functional_test.c: ... to here.
16871 * tests/lib/functional_test.c: Moved ...
16872 * grub-core/tests/lib/functional_test.c: ... to here.
16873 * tests/lib/test.c: Moved ...
16874 * grub-core/tests/lib/test.c: ... to here.
16875 * video: Moved ...
16876 * grub-core/video: ... to here.
16877
645586e6
BC
168782010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16879
16880 Replace --enable-grub-emu-modules with grub-emu-lite.
16881
16882 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
16883 cache.S.
16884
16885 * include/grub/emu/misc.h (grub_emu_init): New prototype.
16886 * kern/emu/full.c: New file. For grub-emu specific initialization.
16887 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
16888 * kern/emu/main.c: Call initialization function grub_emu_init.
16889
16890 * Makefile.in: Include grub-emu-lite in install.
16891 * commands/parttool.c: Use grub_no_autoload to differentiate
16892 between grub-emu and grub-emu-lite.
16893 * include/grub/misc.h: New variable grub_no_autoload.
16894
16895 * conf/any-emu.rmk: New rules for grub-emu-lite.
16896 * configure.ac: Remove --enable-grub-emu-modules.
16897 * genmk.rb: Cleanup unnecessary rules.
16898 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
16899
16900 * normal/main.c: Don't load list files on grub-emu-lite.
16901 * util/misc.c (grub_arch_sync_caches): Removed.
16902
f86a4030
CW
169032010-08-23 Colin Watson <cjwatson@ubuntu.com>
16904
16905 * kern/mips/startup.S (grub_prefix): Update comment to refer to
16906 grub-mkimage rather than grub-mkelfimage.
16907 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16908
06776944
VS
169092010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
16912 a key after CapsLock or NumLock. It's just a qemu bug.
16913
df262419
VS
169142010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
16917 needed by libusb wrapper.
16918
b40ea81b
ST
169192010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16920
16921 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
16922
dee50575
VS
169232010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16924
16925 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
16926 --nounzip is passed.
16927
fb1d7b79
VS
169282010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 USB hotunplugging and USB serial support.
16931
16932 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
16933 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
16934 (grub_uhci_transfer): Respect timeout and set *actual.
16935 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
16936 non-standard length.
16937 (grub_usb_device_attach): Autoload modules.
16938 (GRUB_MOD_INIT): Set grub_term_poll_usb.
16939 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
16940 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
16941 users updated.
16942 (grub_usb_add_hub): Fill nports and children.
16943 (attach_root_port): Receive hub instead of controller.
16944 All users updated. Fill hub->devices.
16945 (grub_usb_root_hub): Allocate hub->devices.
16946 (detach_device): New function.
16947 (poll_nonroot_hub): Fill children and detach devices.
16948 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
16949 actual arguments. All users updated.
16950 (grub_usb_bulk_read_extended): New function.
16951 * bus/usb/serial/common.c: New file.
16952 * bus/usb/serial/ftdi.c: Likewise.
16953 * bus/usb/serial/pl2303.c: Likewise.
16954 * commands/terminal.c (handle_command): Support wildcard.
16955 * commands/usbtest.c: Output "Unknown" instead of empty string.
16956 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
16957 (usbserial_common_mod_SOURCES): New variable.
16958 (usbserial_common_mod_CFLAGS): Likewise.
16959 (usbserial_common_mod_LDFLAGS): Likewise.
16960 (pkglib_MODULES): Add usbserial_pl2303.mod.
16961 (usbserial_pl2303_mod_SOURCES): New variable.
16962 (usbserial_pl2303_mod_CFLAGS): Likewise.
16963 (usbserial_pl2303_mod_LDFLAGS): Likewise.
16964 (pkglib_MODULES): Add usbserial_ftdi.mod.
16965 (usbserial_ftdi_mod_SOURCES): New variable.
16966 (usbserial_ftdi_mod_CFLAGS): Likewise.
16967 (usbserial_ftdi_mod_LDFLAGS): Likewise.
16968 (pkglib_MODULES): Add serial.mod.
16969 (serial_mod_SOURCES): New variable.
16970 (serial_mod_CFLAGS): Likewise.
16971 (serial_mod_LDFLAGS): Likewise.
16972 * conf/i386-pc.rmk: Likewise.
16973 * conf/mips-yeeloong.rmk: Likewise.
16974 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
16975 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16976 * disk/usbms.c (first_available_slot): New variable.
16977 (grub_usbms_attach): Don't reuse free slots due to potential cache
16978 problems.
16979 * include/grub/serial.h: Moved to ..
16980 * include/grub/ns8250.h: ...this.
16981 * include/grub/serial.h: New file.
16982 * include/grub/term.h (grub_term_poll_usb): New variable.
16983 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
16984 readkey. All users updated.
16985 (grub_terminfo_output_state): Pass term to put.
16986 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
16987 (grub_usb_controller_dev): Add timeout and actual arguments to
16988 transfer. All users updated.
16989 (grub_usb_interface): New field detach_data.
16990 (grub_usb_device): New fields children and nports.
16991 (grub_usb_ep_type_t): New type.
16992 (grub_usb_get_ep_type): New function.
16993 (grub_usb_bulk_read_extended): Likewise.
16994 * include/grub/usbdesc.h (grub_usb_desc): New type.
16995 * include/grub/usbserial.h: New file.
16996 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
16997 * kern/term.c (grub_term_poll_usb): New variable.
16998 (grub_getkey): Call grub_term_poll_usb if set.
16999 (grub_checkkey): Likewise.
17000 (grub_getkeystatus): Likewise.
17001 * term/serial.c: Moved controller-specific parts to ...
17002 * term/ns8250.c: ... here.
17003 * term/serial.c: Mostly rewritten.
17004 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17005 according to spec.
17006
21a313de
RM
170072010-08-20 Robert Millan <rmh@gnu.org>
17008
17009 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17010 a separate module and maybe other interesting combinations.
17011
17012 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17013 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17014 (kfreebsd_entry): Add generic filesystem module load routine.
17015 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17016
63c734a6
CW
170172010-08-20 Colin Watson <cjwatson@ubuntu.com>
17018
17019 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17020 "numcenter" (I misunderstood the purpose of this entry).
17021 * docs/grub.texi (sendkey): Likewise.
17022
c4d16542
CW
170232010-08-20 Colin Watson <cjwatson@ubuntu.com>
17024
17025 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17026 status flag options; simply omitting the option is equivalent and
17027 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17028 (keysym_table): Rename "num5numlock" to "numlock".
17029 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17030 can uniformly say that only the last of multiple `sendkey'
17031 invocations has any effect.
17032 * docs/grub.texi (sendkey): New section.
17033
93541d66
CW
170342010-08-19 Colin Watson <cjwatson@ubuntu.com>
17035
17036 * commands/i386/pc/sendkey.c (options): Fix three typos.
17037
b4ece5e1
VS
170382010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17039
17040 Implement sendkey support.
17041
17042 * commands/i386/pc/sendkey.c: New file.
17043 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17044 (sendkey_mod_SOURCES): New variable.
17045 (sendkey_mod_CFLAGS): Likewise.
17046 (sendkey_mod_LDFLAGS): Likewise.
17047
51f1f5af
CW
170482010-08-18 Colin Watson <cjwatson@ubuntu.com>
17049
17050 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17051 fix warnings from Autoconf.
17052
9da94e05
CW
170532010-08-18 Colin Watson <cjwatson@ubuntu.com>
17054
17055 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17056 to avoid false positives with some assemblers that output things
17057 like "someprefix_func" as part of their output.
17058
729a0f2e
RM
170592010-08-15 Robert Millan <rmh@gnu.org>
17060
17061 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17062 errors.
17063 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17064 grub_get_libzfs_handle() errors.
17065
f3710e08
RM
170662010-08-14 Robert Millan <rmh@gnu.org>
17067
17068 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17069 filesystem is not ZFS.
17070
7a3c13de
BC
170712010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17072
17073 Fix for misspelled color names defaulting to black/black (bug
17074 reported by Doug Nazar)
17075
17076 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17077 status to prototype.
17078 * normal/color.c (grub_parse_color_name_pair): Return failure
17079 status.
17080 (grub_env_write_color_normal): Ignore bad color names.
17081 (grub_env_write_color_highlight): Likewise.
17082 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17083
ab8ba50d
BC
170842010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17085
17086 "shift" command support to GRUB script.
17087
17088 * include/grub/script_sh.h (grub_script_shift): New prototype.
17089 * script/execute.c (grub_script_shift): New function.
17090 * script/main.c (grub_script_init): Register shift command.
17091 (grub_script_fini): Unregister shift command.
17092 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17093
17094 * tests/grub_script_shift.in: New testcase.
17095 * conf/tests.rmk: Rules for new testcase.
17096
4d61999e
BC
170972010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17098
17099 "continue" command support to GRUB script.
17100
17101 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17102 (grub_script_break): Continue support.
17103 * script/main.c (grub_script_init): Register continue command.
17104 (grub_script_fini): Unregister continue command.
17105
17106 * tests/grub_script_continue.in: New testcase.
17107 * conf/tests.rmk: Rules for new testcase.
17108
4df51e00
BC
171092010-08-12 BVK Chaitanya <bvk@dbook>
17110
17111 "break" command support to GRUB script.
17112
17113 * conf/common.rmk: Rule updates to grub-script-check.
17114 * include/grub/misc.h (grub_min): New function.
17115 * include/grub/script_sh.h (grub_script_init): New prototype.
17116 (grub_script_fini): New prototype.
17117 (grub_script_break): New prototype.
17118 * script/main.c (grub_script_init): New function.
17119 (grub_script_fini): New function.
17120 * script/execute.c (grub_script_break): New function.
17121 * normal/main.c: Calls to grub_script_{init,fini}.
17122 * util/grub-script-check.c (grub_script_break): New function.
17123
17124 * tests/grub_script_break.in: New testcase.
17125 * conf/tests.rmk: Rules for new test case.
17126
f12c8420
BC
171272010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17128
17129 Function parameters support to GRUB script.
17130
17131 * script/yylex.l (VARIABLE): Regular expression update.
17132 * script/function.c (grub_script_function_call): Moved ...
17133 * script/execute.c (grub_script_function_call): ... to here.
17134 (grub_script_execute_arglist_to_argv): Removed.
17135 (grub_script_arglist_to_argv): New function.
17136 * script/argv.c: New file.
17137 (grub_script_argv_free): New function.
17138 (grub_script_argv_next): Likewise.
17139 (grub_script_argv_append): Likewise.
17140 (grub_script_argv_split_append): Likewise.
17141 * include/grub/script_sh.h (grub_script_argv): New struct.
17142 (grub_script_argv_free): New function.
17143 (grub_script_argv_next): Likewise.
17144 (grub_script_argv_append): Likewise.
17145 (grub_script_argv_split_append): Likewise.
17146
17147 * conf/common.rmk (normal.mod): New source script/argv.c.
17148
17149 * tests/grub_script_echo1.in: More tests.
17150 * tests/grub_script_vars1.in: Likewise.
17151 * tests/grub_script_functions.in: New test case.
17152 * conf/tests.rmk: Rules for new testcase.
17153
8022b748
BC
171542010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17155
17156 Remove grub_script_cmdblock struct.
17157
17158 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17159 * script/parser.y: Likewise.
17160 * script/execute.c: Rename cmdblock suffix to cmdlist.
17161 * script/script.c: Likewise.
17162 * util/grub-script-check.c: Likewise.
17163
79a6ba61
YB
171642010-08-11 Yves Blusseau <blusseau@zetam.org>
17165
17166 * .bzrignore: add grub-macho2img
17167
d04b9414
VS
171682010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17169
17170 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17171
f947ab49
VS
171722010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17173
17174 Remove the dump of sm712 initialisation sequence.
17175
17176 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17177 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17178 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17179 (GRUB_VGA_CR_*): Added many registers.
17180 (GRUB_VGA_SR_*): Likewise.
17181 (GRUB_VGA_GR_*): Likewise.
17182 (grub_vga_write_arx): New function.
17183 (grub_video_hw_config): New struct.
17184 (grub_vga_set_geometry): New function.
17185 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17186 GRUB_PCI_CLASS_SUBCLASS_VGA.
17187 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17188 * video/sm712.c (grub_sm712_write_reg): New function
17189 (grub_sm712_read_reg): Likewise.
17190 (grub_sm712_sr_write): Likewise.
17191 (grub_sm712_gr_write): Likewise.
17192 (grub_sm712_cr_write): Likewise.
17193 (grub_sm712_write_arx): Likewise.
17194 (grub_sm712_cr_shadow_write): Likewise.
17195 (grub_sm712_write_dda_lookup): Likewise.
17196 (grub_video_sm712_setup): Initialise the video rather then
17197 blindly replay the dump.
17198 (main) [TEST]: Add a routine to be able to compile as standalone for
17199 tests.
17200 * video/sm712_init.c (sm712_init): Removed.
17201 (sm712_sr_seq1): New array.
17202 (sm712_sr_seq2): Likewise.
17203
f0206638
VS
172042010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17205
17206 * include/grub/vga.h: Add missing grub/pci.h include.
17207
2764da3b
YB
172082010-08-10 Yves Blusseau <blusseau@zetam.org>
17209
17210 * util/grub-macho2img.c (main): fix typo
17211
cf0c775e
VS
172122010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17213
17214 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17215 (grub_vga_gr_read): Likewise.
17216 (grub_vga_cr_write): Likewise.
17217 (grub_vga_cr_read): Likewise.
17218 (grub_vga_sr_write): Likewise.
17219 (grub_vga_sr_read): Likewise.
17220 (grub_vga_palette_read): Likewise.
17221 (grub_vga_palette_write): Likewise.
17222 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17223 (grub_sm712_sr_read): New function.
17224 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17225 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17226
07f360e9
RM
172272010-08-09 Robert Millan <rmh@gnu.org>
17228
17229 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17230 out unused variables on non-ZFS build.
17231
346c2072
RM
172322010-08-08 Robert Millan <rmh@gnu.org>
17233
17234 Fix path generation for sub-filesystems in ZFS.
17235
17236 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17237 missing slash.
17238
71175420
RM
172392010-08-08 Robert Millan <rmh@gnu.org>
17240
17241 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17242
0d8286f3
RM
172432010-08-08 Robert Millan <rmh@gnu.org>
17244
17245 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17246 exist, issue a proper error message (rely on `ls' for translated
17247 strings).
17248
55dd2924
RM
172492010-08-08 Robert Millan <rmh@gnu.org>
17250
17251 Fix grub-probe invocation.
17252
17253 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17254
d3dd9e80
RM
172552010-08-04 Robert Millan <rmh@gnu.org>
17256
17257 * configure.ac: Remove checks for getfsstat() and getmntany().
17258 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17259 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17260 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17261 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17262 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17263 function.
17264 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17265 via find_mount_point_from_dir() and getfsstat() / getmntany().
17266
0de22aa9
RM
172672010-08-04 Robert Millan <rmh@gnu.org>
17268
17269 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17270 (grub_find_zpool_from_mount_point): Merge into ...
17271 (grub_find_zpool_from_dir): ... this.
17272 * kern/emu/misc.c: Likewise.
17273
17274 * kern/emu/misc.c
17275 (grub_make_system_path_relative_to_its_root): Replace
17276 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17277 with grub_find_zpool_from_dir().
17278 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17279
62858144
RM
172802010-08-04 Robert Millan <rmh@gnu.org>
17281
17282 Support OpenSolaris in ZFS device resolution.
17283
17284 * configure.ac: Check for getmntany().
17285 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17286 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17287 support.
17288
9dd6fd50
RM
172892010-08-03 Robert Millan <rmh@gnu.org>
17290
17291 Fix grub-emu build.
17292
17293 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17294 * include/grub/emu/misc.h: ... here.
17295
17296 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17297 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17298
17299 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17300 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17301 (grub_get_libzfs_handle): Move to ...
17302 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17303 (grub_get_libzfs_handle): ... here.
17304
c9f7ff97
BC
173052010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17306
17307 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17308 as command name case.
17309
a870a783
CW
173102010-08-02 Colin Watson <cjwatson@ubuntu.com>
17311
17312 * disk/raid.c (insert_array): Select unique numbers for named arrays
17313 as well, for use as keys in the disk cache.
17314
c7db243b
RM
173152010-08-01 Robert Millan <rmh@gnu.org>
17316
17317 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17318 kFreeBSD device name, except on ZFS where the filesystem label is
17319 used.
17320 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17321 `/boot/zfs/zpool.cache'.
17322 Set mountfrom kernel variable using ${kfreebsd_device}.
17323
f7abdefb
RM
173242010-08-01 Robert Millan <rmh@gnu.org>
17325
17326 Make it even harder to use uninitialized `libzfs_handle' (and
17327 make the interface a bit simpler).
17328
17329 * include/grub/util/misc.h (grub_util_init_libzfs)
17330 (libzfs_handle): Remove.
17331 (grub_get_libzfs_handle): New prototype.
17332
17333 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17334 attribute.
17335 (grub_util_init_libzfs): Remove.
17336 (grub_get_libzfs_handle): New function.
17337
17338 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17339 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17340 accessing `libzfs_handle' directly.
17341
c882acc0
RM
173422010-08-01 Robert Millan <rmh@gnu.org>
17343
17344 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17345 (grub_find_zpool_from_mount_point): New function prototypes.
17346
17347 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17348 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17349
17350 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17351 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17352 `static' attribute.
17353
17354 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17355 finding zpool from mount point into ...
17356 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17357
17358 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17359 requested path is part of a ZFS pool, use
17360 grub_find_zpool_from_mount_point() to detect its filesystem name,
17361 and generate a path with `/fsname@path' syntax.
17362
8bfe31d8
CW
173632010-08-01 Colin Watson <cjwatson@ubuntu.com>
17364
17365 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17366 (void) rather than () so that this is a proper prototype.
17367
553df63d
VS
173682010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17369
17370 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17371
8687cf07
VS
173722010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17373
17374 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17375 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17376
ea9be8ea
CW
173772010-08-01 Colin Watson <cjwatson@ubuntu.com>
17378
17379 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17380
6eea041a
CW
173812010-08-01 Colin Watson <cjwatson@ubuntu.com>
17382
17383 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17384
2cfb45df
CW
173852010-08-01 Colin Watson <cjwatson@ubuntu.com>
17386
17387 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17388 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17389 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17390 disable gfxpayload.
17391 (Shell-like scripting): Add real content.
17392 (Serial terminal): Suggest `terminal_input serial; terminal_output
17393 serial' rather than putting the two commands on separate lines,
17394 since console input will be inoperative after the first command.
17395 (menuentry): Document --class, --users, and --hotkey options.
17396 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17397 Vladimir Serbinenko).
17398
7decd202
VS
173992010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
174002010-08-01 Colin Watson <cjwatson@ubuntu.com>
17401
17402 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17403
c882acc0
RM
174042010-08-01 Robert Millan <rmh@gnu.org>
17405
17406 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17407 (grub_find_zpool_from_mount_point): New function prototypes.
17408
17409 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17410 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17411
17412 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17413 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17414 `static' attribute.
17415
17416 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17417 finding zpool from mount point into ...
17418 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17419
17420 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17421 requested path is part of a ZFS pool, use
17422 grub_find_zpool_from_mount_point() to detect its filesystem name,
17423 and generate a path with `/fsname@path' syntax.
17424
deb0caa3
RM
174252010-08-01 Robert Millan <rmh@gnu.org>
17426
17427 Prevent accidental use of uninitialized libzfs_handle.
17428
17429 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17430 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17431 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17432
ce04ef47
CW
174332010-08-01 Colin Watson <cjwatson@ubuntu.com>
17434
17435 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17436 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17437
ebf53056
RM
174382010-08-01 Robert Millan <rmh@gnu.org>
17439
17440 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 17441
3710bb6b
RM
174422010-07-31 Robert Millan <rmh@gnu.org>
17443
17444 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17445
8072efeb
RM
174462010-07-31 Robert Millan <rmh@gnu.org>
17447
17448 * kern/emu/misc.c: Add missing license header.
17449
3169f4c7
RM
174502010-07-31 Robert Millan <rmh@gnu.org>
17451
17452 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17453
17454 * include/grub/util/libnvpair.h: Include `<config.h>'.
17455 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17456 declaring libnvpair prototypes ourselves.
17457 * include/grub/util/libzfs.h: Include `<config.h>'.
17458 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17459 declaring libzfs prototypes ourselves.
17460
17461 (libzfs_handle): Moved to ...
17462 * include/grub/util/misc.h (libzfs_handle): ... here.
17463 Include `<grub/util/libzfs.h>'.
17464
c9a00aee
RM
174652010-07-30 Robert Millan <rmh@gnu.org>
17466
17467 * include/grub/emu/misc.h: Add missing license header.
17468
a184f9c8
RM
174692010-07-30 Robert Millan <rmh@gnu.org>
17470
17471 Enable `grub-probe -t device' resolution on ZFS.
17472
17473 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17474 * include/grub/util/libnvpair.h: New file.
17475 * include/grub/util/libzfs.h: New file.
17476
17477 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17478 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17479 `<grub/util/libnvpair.h>'.
17480 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17481
17482 (find_mount_point_from_dir): New static function.
17483 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17484 function.
17485 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17486 find_root_device_from_libzfs() before ressorting to find_root_device().
17487
17488 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17489 prototype.
17490 * util/misc.c: Include `<grub/util/libzfs.h>'.
17491 (grub_util_init_libzfs): New function.
17492 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17493 [HAVE_LIBZFS] (fini_libzfs): New static function.
17494 (grub_util_init_libzfs): New function.
17495 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17496
f7790cdd
RM
174972010-07-30 Robert Millan <rmh@gnu.org>
17498
17499 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17500 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17501 `warn_unused_result' attribute.
17502 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17503 (grub_xasprintf, grub_xvasprintf): Likewise.
17504 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17505
0806b63c
RM
175062010-07-29 Robert Millan <rmh@gnu.org>
17507
17508 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17509 (probe): Handle `PRINT_FS_LABEL'.
17510 (main): Handle `-t fs_label'.
17511
9f841f5c
RM
175122010-07-29 Robert Millan <rmh@gnu.org>
17513
17514 * configure.ac: Remove grub-mkisofs checks.
17515
46371121
VS
175162010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17517
17518 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17519 Reported by: Lennart Sorensen.
17520
175212010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17522
17523 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17524 prior to terminal_input/terminal_output separation. It's been over 1.5
17525 years and those versions weren't widely deployed.
17526
a9600892
CW
175272010-07-22 Colin Watson <cjwatson@ubuntu.com>
17528
17529 * disk/raid.c (insert_array): Don't count named arrays when looking
17530 for unused array numbers.
697e053c 17531 Reported and tested by: Michael Guntsche.
a9600892 17532
c03507df
CW
175332010-07-20 Colin Watson <cjwatson@ubuntu.com>
17534
17535 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17536 implementation of this so that grub-emu links again, with a note
17537 that this should support hotplugging in the future.
17538
b26f1c11
CW
175392010-07-20 Colin Watson <cjwatson@ubuntu.com>
17540
17541 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17542
efc9d7f1
CW
175432010-07-20 Colin Watson <cjwatson@ubuntu.com>
17544
17545 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17546 handle on failure.
17547 (grub_loopback_close): Remove empty function.
17548 (grub_loopback_dev): Remove close method.
17549
dd8ff5c9
CW
175502010-07-20 Colin Watson <cjwatson@ubuntu.com>
17551
17552 Disable EFI cursor when the EFI console becomes inactive.
17553
17554 * term/efi/console.c (grub_efi_console_init): New function.
17555 (grub_efi_console_fini): New function.
17556 (grub_console_term_output): Register init and fini methods.
17557
5e3bec67
VS
175582010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17559
17560 * tests/util/grub-shell-tester.in: Remove bashism and declare as
17561 sh script.
17562
afaec079
VS
175632010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17564
17565 * disk/loopback.c (grub_loopback): Replace filename with file.
17566 (delete_loopback): Handle new semantics.
17567 (grub_cmd_loopback): Likewise.
17568 (grub_loopback_iterate): Likewise.
17569 (grub_loopback_close): Likewise.
17570
a6a11f3c
VS
175712010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
17574 with -p "".
17575 Reported by: Tito Keitel.
17576
64a638b0
VS
175772010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17578
17579 * docs/grub.texi (Naming convention): Document new naming convention.
17580
ab8ba957
VS
175812010-07-20 Vadim Solomin <vadic052@gmail.com>
175822010-07-20 Colin Watson <cjwatson@ubuntu.com>
17583
17584 Generate device.map in something closer to the old ordering.
17585
17586 * util/deviceiter.c (struct device): New declaration.
17587 (compare_file_names): Rename to ...
17588 (compare_devices): ... this. Sort by kernel name in preference to
17589 the stable by-id name, but keep the latter as a fallback comparison.
17590 Update header comment.
17591 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
17592 of `struct device' rather than of plain file names.
17593
a29d6a4b
TF
175942010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
17595
17596 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
17597 on i386.
17598
39d824e8
VS
175992010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17600
17601 * commands/acpi.c (setup_common_tables): Use sizeof instead of
17602 hardcoding size.
17603 (setv1table): Likewise.
17604
f058276b
FZ
176052010-07-20 Colin Watson <cjwatson@ubuntu.com>
17606
17607 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
17608 removing the homehost if present.
17609 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
17610 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
17611 removing the homehost if present.
17612 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
17613 if possible.
17614 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
17615
17616 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
17617 parameter. Set its pointer target to 0.
17618 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
17619 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
17620 `data_offset' value from the superblock for 1.x metadata.
17621 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
17622 data on the device.
17623 (insert_array): Record the start sector of data on the device.
17624 (grub_raid_register): Pass start_sector parameters to
17625 grub_raid_list->detect and insert_array.
17626 * include/grub/raid.h (struct grub_raid_array): Add start_sector
17627 member.
17628 (struct grub_raid): Add start_sector parameter to `detect'.
17629
17630 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
17631 __attribute__ ((packed)), leaving a comment.
17632 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
17633 (grub_mdraid_detect_09): ... here and ...
17634 (grub_mdraid_detect_1x): ... here.
17635
176362010-07-20 Peter Henn <peter.henn@web.de>
17637
17638 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
17639 chunk size and disk size, which are already given as sector counts
17640 as distinct from the 0.90 units. Fetch the correct device number
17641 from the role table instead of using the table index.
17642
176432010-07-20 Felix Zielcke <fzielcke@z-51.de>
17644
17645 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
17646 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
17647 (WriteMostly1): New macro.
17648 Set array->name to NULL for metadata format 0.90. Add support for
17649 metadata 1.x. Fix some comments.
17650 * disk/raid.c (): Add support for name based RAID arrays. Fix a
17651 few comments.
17652 * util/getroot.c (grub_util_get_grub_dev): Add support for
17653 /dev/md/name style devices.
17654
4b761da9
CW
176552010-07-20 Colin Watson <cjwatson@ubuntu.com>
17656
17657 * .bzrignore: Ignore 20_linux_xen.
17658
5771289a
CW
176592010-07-17 Colin Watson <cjwatson@ubuntu.com>
17660
17661 * util/import_unicode.py: Remove unnecessary imports.
17662
5dab68df
AN
176632010-07-17 Aleš Nesrsta <starous@volny.cz>
17664
17665 Hotplugging and USB hub support.
17666
17667 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
17668 (grub_ohci): Likewise.
17669 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
17670 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
17671 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
17672 (GRUB_OHCI_CTRL_EDS): Likewise.
17673 (GRUB_OHCI_BULK_EDS): Likewise.
17674 (GRUB_OHCI_TDS): Likewise.
17675 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
17676 (grub_ohci_ed_phys2virt): New function.
17677 (grub_ohci_virt_to_phys): Likewise.
17678 (grub_ohci_td_phys2virt): Likewise.
17679 (grub_ohci_td_virt2phys): Likewise.
17680 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
17681 attachment.
17682 (grub_ohci_find_ed): New function.
17683 (grub_ohci_alloc_td): Likewise.
17684 (grub_ohci_free_td): Likewise.
17685 (grub_ohci_free_tds): Likewise.
17686 (grub_ohci_transfer): Use previously allocated memory.
17687 (grub_ohci_portstatus): Reset status changed bit.
17688 (grub_ohci_detect_dev): Supply status changed.
17689 (grub_ohci_fini_hw): Free memory.
17690 (grub_ohci_restore_hw): Reallocate memory.
17691 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
17692 Reset status change.
17693 (grub_uhci_detect_dev): Supply status_change.
17694 * bus/usb/usb.c (attach_hooks): New var.
17695 (grub_usb_device_attach): New function.
17696 (grub_usb_register_attach_hook_class): Likewise.
17697 (grub_usb_unregister_attach_hook_class): Likewise.
17698 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
17699 (grub_usb_add_hub): Reset connection changed bit.
17700 (attach_root_port): New function.
17701 (grub_usb_root_hub): Likewise.
17702 (poll_nonroot_hub): Likewise.
17703 (grub_usb_poll_devices): Likewise.
17704 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
17705 * disk/usbms.c (grub_usbms_open): Use device hooks.
17706 (grub_usbms_iterate) :Poll devices.
17707 (grub_usbms_finddevs): Split into ...
17708 (grub_usbms_attach): ... this ...
17709 (grub_usbms_attach): ... and this.
17710 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
17711 in detect_dev.
17712 (grub_usb_interface): New fields attached and detach_hook.
17713 (grub_usb_attach_hook_class): New type.
17714 (grub_usb_attach_desc): New struct.
17715 (grub_usb_register_attach_hook_class): New function.
17716 (grub_usb_unregister_attach_hook_class): Likewise.
17717 (grub_usb_poll_devices): Likewise.
17718 (grub_usb_device_attach): Likewise.
17719 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
17720 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
17721
3222efaf
VS
177222010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17723
17724 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
17725 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
17726 delta determination style. Works with most NetBSD partitions too.
17727
139b714a
VS
177282010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
17731 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
17732
986aad56
VS
177332010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17734
17735 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
17736
99be513c
AB
177372010-07-14 Anton Blanchard <anton@samba.org>
17738
17739 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
17740 ET_DYN files.
17741
18075f62
GS
177422010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17743
17744 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
17745
8d9a5b15
GS
177462010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17747
17748 * kern/partition.c (grub_partition_check_containment): New function to
17749 check that a partition is physically contained in a parent. Since
17750 offsets are relative (and non-negative), this reduces to checking that
17751 the partition ends before its parent.
17752 (grub_partition_map_probe): Discard out-of-range sub-partitions.
17753 (grub_partition_iterate): Likewise.
17754 * include/grub/partition.h (grub_partition_map): Slightly more detailed
17755 comments.
17756 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
17757 partitions that start before their parent, and add debug printfs.
17758
19563c25
CW
177592010-07-13 Colin Watson <cjwatson@ubuntu.com>
17760
17761 * Makefile.in (.SUFFIX): Spell correctly, as ...
17762 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
17763 bare module name without `.mod', e.g. `test') tried to invoke a
17764 Modula-2 compiler.
17765
1a1f1e67
CW
177662010-07-13 Colin Watson <cjwatson@ubuntu.com>
17767
17768 * README: Point to the Info manual.
17769
811b0dca
JS
177702010-07-13 Jiro SEKIBA <jir@unicus.jp>
17771
17772 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
17773 2nd superblock position from partition size.
17774
e4f4eafc
CW
177752010-07-10 Colin Watson <cjwatson@ubuntu.com>
17776
17777 * Makefile.in (MAINTAINER_CLEANFILES): Remove
17778 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
17779 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
17780 outputs.
17781
4274c30f
VS
177822010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17783
17784 Restructure SCSI .id handling.
17785 Reported and tested by: Aleš Nesrsta.
17786
17787 * disk/ata.c (grub_atapi_close): Removed. All users updated.
17788 (grub_atapi_dev): Changed .name to "ata". New field .id.
17789 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
17790 (grub_usbms_dev): New field .id.
17791 * disk/scsi.c (grub_scsi_iterate): Generate name.
17792 (grub_scsi_open): Parse name.
17793 * include/grub/scsi.h (grub_make_scsi_id): New function.
17794 (grub_scsi_dev): Change iterate and open to number instead of naming
17795 busses. All users updated.
17796 (grub_scsi): Remove name. Add .bus.
17797
5bc24388
VS
177982010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17799
17800 * commands/help.c (grub_cmd_help): Fix a typo.
17801
249975ba
VS
178022010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17803
17804 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
17805 Reported and tested by: Colin Watson.
17806
3eaac1a1
VS
178072010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17808
17809 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
17810 in this context.
17811
becce1b1
VS
178122010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17813
17814 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
17815
f7bf0918
CW
178162010-07-07 Colin Watson <cjwatson@ubuntu.com>
17817
17818 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
17819 indentation.
17820
0b0f9620
CW
178212010-07-06 Colin Watson <cjwatson@ubuntu.com>
17822
17823 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
17824 and disk/raid6_recover.c.
17825 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17826 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17827
1e545469
CW
178282010-07-06 Colin Watson <cjwatson@ubuntu.com>
17829
17830 * term/gfxterm.c (repaint_schedulded): Rename to ...
17831 (repaint_scheduled): ... this. Update all callers.
17832 (repaint_was_schedulded): Rename to ...
17833 (repaint_was_scheduled): ... this. Update all callers.
17834
5357687a
CW
178352010-07-06 Colin Watson <cjwatson@ubuntu.com>
17836
17837 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
17838 which we expect to be handled by upper layers.
17839
29d7e783
BC
178402010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
17841
17842 * bus/usb/usbhub.c: #include time.h header.
17843
37582066
CW
178442010-07-06 Colin Watson <cjwatson@ubuntu.com>
17845
17846 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
17847 entry_name also for entries without stat blocks (e.g. ".."); fixes
17848 corruption of the first entry in a directory.
17849
c8c06953
CW
178502010-07-06 Colin Watson <cjwatson@ubuntu.com>
17851
17852 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
17853 after setting gfxterm as the active terminal. GRUB_BACKGROUND
17854 doesn't work otherwise.
17855
e75056f1
CW
178562010-07-05 Colin Watson <cjwatson@ubuntu.com>
17857
17858 * docs/grub.texi (Features): Update list of supported file systems.
17859 (GNU/Linux): Update for GRUB 2.
17860 (Serial terminal): Remove mention of --disable-serial, which was a
17861 GRUB Legacy configure option. Update instructions to use
17862 `terminal_input' and `terminal_output' rather than `terminal'.
17863 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
17864 configuration' and `Installing GRUB using grub-install'.
17865 (Menu entry editor): Update for GRUB 2.
17866 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
17867 Document new -a, -u, and -v options.
17868 (initrd): New section.
17869 (initrd16): New section.
17870 (linux): New section.
17871 (linux16): New section.
17872 (search): The `var' argument to `--set' is optional.
17873 (GRUB only offers a rescue shell): Go into a little more detail on
17874 drive ordering.
17875
5cf69151
CW
178762010-07-05 Colin Watson <cjwatson@ubuntu.com>
17877
17878 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
17879
e3f90044
CW
178802010-07-05 Colin Watson <cjwatson@ubuntu.com>
17881
17882 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
17883 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
17884
38d8f4f3
CW
178852010-07-05 Colin Watson <cjwatson@ubuntu.com>
17886
17887 * util/i386/pc/grub-setup.c (setup): Rename prefix to
17888 install_prefix, in line with install_dos_part and install_bsd_part.
17889 Add new prefix variable, which is copied to install_prefix after
17890 comparing core.img in memory with the one read from disk in the
17891 no-embedding case, and use that rather than overwriting
17892 install_prefix immediately when installing to a partition.
17893 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
17894 Bicakci.
17895
57ebd41e
GS
178962010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17897
17898 * configure.ac: Avoid == in test command, it's not portable.
17899 * util/grub.d/30_os-prober.in: Likewise.
17900
cb7f64b2
CW
179012010-07-04 Colin Watson <cjwatson@ubuntu.com>
17902
17903 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
17904
6b654bb0
GS
179052010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17906
17907 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
17908 multiple (top-level) partmaps.
17909
72a2026d
VS
179102010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 17913 Reported by: Tino Keitel.
72a2026d 17914
df3eb88f
VS
179152010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 Bidi and diacritics support.
17918
17919 * Makefile.in (widthspec.bin): New target.
17920 (widthspec.h): Likewise.
17921 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
17922 * autogen.sh: Generate unidata.c.
17923 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
17924 * commands/ls.c (grub_ls_list_devices): Likewise.
17925 (grub_ls_list_files): Likewise.
17926 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
17927 (grub_mini_cmd_lsmod): Likewise.
17928 * commands/read.c: Likewise.
17929 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
17930 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
17931 * lib/arg.c (grub_arg_show_help): Likewise.
17932 * lib/crypto.c (grub_password_get): Likewise.
17933 * normal/auth.c (grub_username_get): Likewise.
17934 * normal/misc.c (grub_normal_print_device_info): Likewise.
17935 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
17936 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
17937 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
17938 (normal/charset.c_DEPENDENCIES): New variable.
17939 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
17940 (pkglib_MODULES): Remove charset.mod.
17941 (charset_mod_SOURCES): Removed.
17942 (charset_mod_CFLAGS): Likewise.
17943 (charset_mod_LDFLAGS): Likewise.
17944 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
17945 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
17946 and term/tparm.c.
17947 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17948 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17949 (kernel_img_HEADERS): Add terminfo.h.
17950 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
17951 Fill ->font. Reverse ascii bitmaps.
17952 (grub_font_get_xheight): New function.
17953 * font/font.c (grub_font_get_string_width): Moved from here ...
17954 * gfxmenu/font.c (grub_font_get_string_width): ... here.
17955 * font/font.c (grub_font_draw_string): Moved from here ...
17956 * gfxmenu/font.c (grub_font_draw_string): ... here.
17957 * font/font.c (grub_font_dup_glyph): New function.
17958 (grub_font_blit_glyph): Likewise.
17959 (grub_font_blit_glyph_mirror): Likewise.
17960 (blit_comb): Likewise.
17961 (grub_font_construct_dry_run): Likewise.
17962 (grub_font_get_constructed_device_width): Likewise.
17963 (grub_font_construct_glyph): Likewise.
17964 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
17965 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
17966 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
17967 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
17968 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
17969 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
17970 (grub_font_get_xheight): New proto.
17971 (grub_font_get_constructed_device_width): Likewise.
17972 (grub_font_construct_glyph): Likewise.
17973 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
17974 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
17975 * include/grub/font.h (grub_font_draw_string): Moved from here ...
17976 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
17977 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
17978 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
17979 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
17980 (grub_console_getcharwidth): Likewise.
17981 * include/grub/misc.h (grub_xputs): New proto.
17982 (grub_puts): Inlined.
17983 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
17984 (grub_normal_get_line_counter): Removed.
17985 (grub_install_newline_hook): Likewise.
17986 (grub_normal_get_char_counter): New proto.
17987 (grub_normal_reset_more): Likewise.
17988 (grub_xputs_normal): Likewise.
17989 * include/grub/powerpc/ieee1275/console.h: Removed.
17990 * include/grub/sparc64/ieee1275/console.h: Likewise.
17991 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
17992 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
17993 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
17994 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
17995 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
17996 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
17997 (grub_term_input): Pass reference to self. All users updated.
17998 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
17999 Pass reference to self. New fields normal_color, highlight_color and
18000 data. All users updated.
18001 (grub_putchar): Removed.
18002 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18003 (grub_unicode_estimate_width): New function.
18004 (grub_term_getcharwidth): Add defaults.
18005 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18006 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18007 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18008 (grub_cls): Remove EXPORT_FUNC.
18009 (grub_setcolorstate): Inline.
18010 (grub_newline_hook): Removed.
18011 * include/grub/terminfo.h: Rewritten. All users updated.
18012 * include/grub/unicode.h: New file.
18013 * include/grub/video.h (grub_video_signed_rect): New type.
18014 * kern/emu/console.c (grub_console_highlight_color): Removed.
18015 (grub_console_normal_color): Likewise.
18016 (grub_console_standard_color): Made static.
18017 (grub_ncurses_putchar): Remove mapping.
18018 (grub_ncurses_getcharwidth): Removed.
18019 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18020 (grub_ncurses_setcolor): Removed.
18021 (grub_ncurses_getcolor): Likewise.
18022 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18023 (grub_console_putchar): ... this.
18024 (grub_console_putchar): Handle argument difference.
18025 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18026 console_init_early and console_init_lately.
18027 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18028 * kern/misc.c (grub_puts): Removed.
18029 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18030 (grub_vsnprintf_real): Remove str = NULL support.
18031 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18032 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18033 * kern/term.c (grub_putcode): Renamed to ...
18034 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18035 (grub_putchar): Removed.
18036 (grub_xputs_dumb): New function.
18037 (grub_xputs): New variable.
18038 * lib/charset.c: Move from here ...
18039 * normal/charset.c: ... to here.
18040 (grub_ucs4_to_utf8): New function.
18041 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18042 (join_types): New variable.
18043 (unpack_join): New function.
18044 (bidi_types): New variable.
18045 (unpack_bidi): New function.
18046 (get_bidi_type): Likewise.
18047 (get_join_type): Likewise.
18048 (is_mirrored): Likewise.
18049 (grub_unicode_get_comb_type): Likewise.
18050 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18051 (is_type_after): Likewise.
18052 (grub_unicode_aglomerate_comb): Likewise.
18053 (bidi_line_wrap): Likewise.
18054 (grub_bidi_line_logical_to_visual): Likewise.
18055 (grub_bidi_logical_to_visual): Likewise.
18056 (grub_unicode_mirror_code): Likewise.
18057 (grub_unicode_shape_code): Likewise.
18058 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18059 Don't use grub_putchar.
18060 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18061 (grub_normal_reader_init): Likewise.
18062 (grub_xputs_saved): New variable.
18063 (GRUB_MOD_INIT): Set grub_xputs.
18064 (GRUB_MOD_FINI): Restore grub_xputs.
18065 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18066 (menu_init): Avoid printing gfxmenu error.
18067 (show_menu): Use grub_normal_get_char_counter.
18068 * normal/menu_entry.c (update_screen): Fix out-of-array.
18069 (complete): Avoid NULL dereferencing.
18070 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18071 * normal/menu_text.c (print_spaces): Removed.
18072 (grub_print_ucs4): Likewise.
18073 (grub_print_message_indented): Use grub_print_ucs4.
18074 (print_message): Use grub_putcode.
18075 (print_entry): Hanlde diacritics.
18076 * normal/term.c (term_state): New type.
18077 (grub_more_lines): Removed.
18078 (term_states): New variable.
18079 (grub_normal_line_counter): Renamed to ..
18080 (grub_normal_char_counter): ...this. All users updated.
18081 (grub_normal_get_line_counter): Renamed to ...
18082 (grub_normal_get_char_counter): ... this.
18083 (grub_normal_reset_more): New function.
18084 (process_newline): Removed.
18085 (print_more): New function.
18086 (grub_install_newline_hook): Removed.
18087 (map_code): New function.
18088 (grub_puts_terminal): Use grub_print_ucs4.
18089 (putglyph): New function.
18090 (putcode_real): Likewise.
18091 (grub_putcode): Use putcode_real.
18092 (get_maxwidth): New function.
18093 (get_startwidth): Likewise.
18094 (print_ucs4_terminal): Likewise.
18095 (find_term_state): Likewise.
18096 (put_glyphs_terminal): Likewise.
18097 (print_backlog): Likewise.
18098 (print_ucs4_real): Likewise.
18099 (grub_print_ucs4): Likewise.
18100 (grub_xputs_normal): Likewise.
18101 * term/efi/console.c (grub_console_putchar): Output diacritics.
18102 (grub_console_getcharwidth): Removed.
18103 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18104 * term/gfxterm.c (clear_char): Free chars.
18105 (scroll_up): Avoid leaking memory.
18106 (grub_gfxterm_putchar): Support diacritics.
18107 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18108 * term/i386/pc/console.c (grub_console_term_output): Declare as
18109 GRUB_TERM_CODE_TYPE_VGA.
18110 * term/i386/pc/vga.c (grub_vga_term): Declare as
18111 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18112 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18113 GRUB_TERM_CODE_TYPE_VGA.
18114 * term/i386/vga_common.c (map_char): Removed.
18115 (grub_console_putchar): Likewise.
18116 (grub_console_getcharwidth): Likewise.
18117 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18118 (colors): Reordered to match terminfo.
18119 (grub_ofconsole_normal_color): Removed.
18120 (grub_ofconsole_writeesc): Likewise.
18121 (grub_ofconsole_highlight_color): Likewise.
18122 (grub_ofconsole_getcharwidth): Likewise.
18123 (grub_ofconsole_setcolorstate): Likewise.
18124 (grub_ofconsole_setcolor): Likewise.
18125 (grub_ofconsole_getcolor): Likewise.
18126 (grub_ofconsole_readkey): Renamed to ...
18127 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18128 key.
18129 (grub_ofconsole_checkkey): Removed.
18130 (grub_ofconsole_getkey): Likewise.
18131 (grub_ofconsole_getxy): Likewise.
18132 (grub_ofconsole_gotoxy): Likewise.
18133 (grub_ofconsole_cls): Likewise.
18134 (grub_ofconsole_refresh): Likewise.
18135 (grub_ofconsole_terminfo_input): New struct.
18136 (grub_ofconsole_terminfo_output): Likewise.
18137 (grub_ofconsole_term_input): Use terminfo.
18138 (grub_ofconsole_term_output): Likewise.
18139 (grub_console_init): Split into ...
18140 (grub_console_init_early): ...this and ...
18141 (grub_console_init_lately): ...this. Use terminfo.
18142 (grub_ofconsole_putchar): Renamed to ...
18143 (put): ... this. Remove mapping.
18144 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18145 * term/serial.c: Simplify using terminfo.
18146 (xpos): Removed.
18147 (ypos): Likewise.
18148 (keep_track): Likewise.
18149 (registered): Likewise.
18150 (input_buf): Likewise.
18151 (npending): Likewise.
18152 (serial_translate_key_sequence): Likewise.
18153 (fill_input_buf): Likewise.
18154 (grub_serial_checkkey): Likewise.
18155 (grub_serial_getkey): Likewise.
18156 (grub_serial_getxy): Likewise.
18157 (grub_serial_gotoxy): Likewise.
18158 (grub_serial_putchar): Likewise.
18159 (grub_serial_cls): Likewise.
18160 (grub_serial_setcolorstate): Likewise.
18161 (grub_serial_setcursor): Likewise.
18162 (serial_hw_init): Use serial_hw_fetch.
18163 (grub_serial_terminfo_input): New variable.
18164 (grub_serial_terminfo_output): Likewise.
18165 (grub_serial_term_input): Use terminfo.
18166 (grub_serial_term_output): Likewise.
18167 * term/terminfo.c (putstr): Use put.
18168 (grub_terminfo_all_free): New function
18169 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18170 (grub_terminfo_output_register): New function.
18171 (grub_terminfo_output_unregister): Likewise.
18172 (grub_terminfo_getxy): Likewise.
18173 (grub_terminfo_readkey): Likewise.
18174 (grub_terminfo_checkkey): Likewise.
18175 (grub_terminfo_getkey): Likewise.
18176 (grub_terminfo_input_init): Likewise.
18177 (print_terminfo): Likewise.
18178 (grub_cmd_terminfo): Handle encoding.
18179 (grub_terminfo_gotoxy): Track position.
18180 (grub_terminfo_cls): Likewise.
18181 (grub_terminfo_putchar): Likewise.
18182 (grub_terminfo_setcolorstate): Handle colors
18183 (grub_terminfo_cursor_on): This ...
18184 (grub_terminfo_cursor_off): ... and this merged into ...
18185 (grub_terminfo_setcursor): ... this.
18186 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18187 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18188 * unicode/BidiMirroring.txt: Likewise.
18189 * unicode/UnicodeData.txt: Likewise.
18190 * unicode/COPYING: Likewise.
18191 * util/grub-editenv.c (grub_putchar): Removed.
18192 (grub_xputs_real): New function.
18193 (grub_xputs): New variable.
18194 * util/grub-fstest.c (grub_putchar): Removed.
18195 (grub_xputs_real): New function.
18196 (grub_xputs): New variable.
18197 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18198 (grub_xputs_real): New function.
18199 (grub_xputs): New variable.
18200 * util/grub-probe.c (grub_putchar): Removed.
18201 (grub_xputs_real): New function.
18202 (grub_xputs): New variable.
18203 * util/grub-script-check.c (grub_putchar): Removed.
18204 (grub_xputs_real): New function.
18205 (grub_xputs): New variable.
18206 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18207 (grub_xputs_real): New function.
18208 (grub_xputs): New variable.
18209 * util/import_unicode.py: New file.
18210 * util/grub-mkfont.c (ft_errmsgs): New array.
18211 (grub_glyph_info): Make bitmap a pointer.
18212 (file_formats): New type WIDTH_SPEC.
18213 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18214 (options): Add width-spec.
18215 (help): Likewise.
18216 (add_char): Renamed to ...
18217 (add_glyph): ... this.
18218 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18219 (glyph_replace): New type.
18220 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18221 (add_char): New function.
18222 (add_subst): Likewise.
18223 (process_cursive): Likewise.
18224 (add_font): Handle GSUB.
18225 (write_font_width_spec): New function.
18226 (main): Sort glyphs.
18227 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18228 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18229 * kern/term.c (grub_cls): Moved from here...
18230 * normal/term.c (grub_cls): ... here.
18231
50f0bcda
CW
182322010-07-02 Colin Watson <cjwatson@ubuntu.com>
18233
18234 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18235 suitable for using within the format argument of printf when
18236 converting grub_size_t.
18237 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18238 "x" to convert grub_size_t arguments.
18239
40372103
VS
182402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18241
18242 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18243 too long captions.
18244 (list_get_minimal_size): Take selection box into account.
18245
942a10c7
VS
182462010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18247
18248 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18249 NULL font.
18250
2bdb2892
CW
182512010-07-02 Colin Watson <cjwatson@ubuntu.com>
18252
18253 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18254 devices when iterating over /dev/disk/by-id; they will be handled
18255 later if appropriate, which they aren't always (e.g. LVM).
18256
e03ed6c1
CW
182572010-07-02 Colin Watson <cjwatson@ubuntu.com>
18258
18259 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18260 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18261 fails.
18262 (grub_halt): Likewise.
18263 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18264 reset-all fails.
18265 (grub_halt): Don't return, even if all of shut-down, power-off, and
18266 poweroff fail.
18267
47695765
CW
182682010-07-02 Colin Watson <cjwatson@ubuntu.com>
18269
18270 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18271 arguments, not three.
18272
507736c8
CW
182732010-07-02 Colin Watson <cjwatson@ubuntu.com>
18274
18275 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18276 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18277 LVM-on-RAID is handled correctly.
18278
e3c8cd37
CW
182792010-07-02 Colin Watson <cjwatson@ubuntu.com>
18280
18281 * docs/grub.texi (Changes from GRUB Legacy): New section.
18282 (Future): Fix typo.
18283
8d4a2fec
CW
182842010-07-02 Colin Watson <cjwatson@ubuntu.com>
18285
18286 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18287 grub.d/README accidentally ends up executable for one reason or
18288 another. Ignore it.
18289
1c4827be
VS
182902010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18291
18292 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18293 (gpt_partition_map_iterate): Support non-512B sectors.
18294
d9a0c941
VS
182952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18296
18297 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18298 Tested by: Seth Goldberg.
18299
48f27e87
VS
183002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18301
18302 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18303 Properly align mbi.
18304 Reported by: Seth Goldberg.
18305
b0c4f956
VS
183062010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18307
18308 * util/grub-mkrescue.in: Avoid module duplication.
18309
105a2e8c
SF
183102010-07-01 Sean Finney <seanius@seanius.net>
18311
18312 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18313
5944958c
SF
183142010-07-01 Sean Finney <seanius@seanius.net>
18315
18316 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18317
183182010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18319
18320 * disk/lvm.c (grub_lvm_checkvalue): New function.
18321 (grub_lvm_check_flag): Likewise.
18322
b79889ba
RM
183232010-07-01 Robert Millan <rmh@gnu.org>
18324
18325 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18326 Support 'p' as partition separator on kernel of FreeBSD (used
18327 with GPT labels).
18328 (grub_util_biosdisk_get_grub_dev): Likewise.
18329
ec1d04f1
VS
183302010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18331
18332 Yeeloong firmware port.
18333
18334 * boot/mips/yeeloong/fwstart.S: New file.
18335 * bus/cs5536.c (gpiodump): New const.
18336 (set_io_space): New function.
18337 (set_iod): Likewise.
18338 (set_p2d): Likewise.
18339 (grub_cs5536_init_geode): Likewise.
18340 * commands/mips/yeeloong/lsspd.c: New file.
18341 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18342 (serial_mod_SOURCES): New variable.
18343 (serial_mod_CFLAGS): Likewise.
18344 (serial_mod_LDFLAGS): Likewise.
18345 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18346 term/terminfo.c and term/tparm.c.
18347 (pkglib_IMAGES): Add fwstart.img.
18348 (fwstart_img_SOURCES): New variable.
18349 (fwstart_img_CFLAGS): Likewise.
18350 (fwstart_img_ASFLAGS): Likewise.
18351 (fwstart_img_LDFLAGS): Likewise.
18352 (fwstart_img_FORMAT): Likewise.
18353 (pkglib_MODULES): Add lsspd.mod.
18354 (lsspd_mod_SOURCES): New variable.
18355 (lsspd_mod_CFLAGS): Likewise.
18356 (lsspd_mod_LDFLAGS): Likewise.
18357 (pkglib_MODULES): Add halt.mod.
18358 (halt_mod_SOURCES): New variable.
18359 (halt_mod_CFLAGS): Likewise.
18360 (halt_mod_LDFLAGS): Likewise.
18361 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18362 (serial_mod_SOURCES): Removed.
18363 (serial_mod_CFLAGS): Likewise.
18364 (serial_mod_LDFLAGS): Likewise.
18365 * disk/ata.c (check_device): New function.
18366 (grub_ata_device_initialize): Use check_device.
18367 (grub_ata_iterate): Recheck devices.
18368 (grub_ata_open): Likewise.
18369 (grub_atapi_iterate): Likewise.
18370 (grub_atapi_open): Likewise.
18371 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18372 (GRUB_ATA_CH1_PORT1): Likewise.
18373 (GRUB_ATA_CH0_PORT2): Likewise.
18374 (GRUB_ATA_CH1_PORT2): Likewise.
18375 * include/grub/mips/loongson.h: New file.
18376 * include/grub/mips/yeeloong/ec.h: Likewise.
18377 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18378 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18379 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18380 * include/grub/misc.h (grub_halt): Declare as noreturn.
18381 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18382 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18383 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18384 (UART_ENABLE_DTRRTS): Likewise.
18385 (UART_ENABLE_MODEM): Removed.
18386 (UART_ENABLE_OUT2): New const.
18387 * include/grub/term.h (grub_term_register_input_active): New function.
18388 (grub_term_register_output_active): Likewise.
18389 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18390 argument.
18391 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18392 (init_pci): New function.
18393 (grub_machine_init): Execute platform init when firmware. Init serial.
18394 (grub_halt): Implement.
18395 (grub_exit): Likewise.
18396 (grub_reboot): Likewise.
18397 * term/serial.c (serial_hw_init): Update macros.
18398 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18399 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18400 (image_targets): New target mipsel-yeeloong-flash.
18401 (generate_image): Support IMAGE_YEELOONG_FLASH.
18402 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18403 (grub_video_sm712_setup): Init card.
18404 (grub_video_sm712_set_palette): Removed.
18405 * video/sm712_init.c: New file.
18406
ff4a70d2
CW
184072010-06-30 Colin Watson <cjwatson@ubuntu.com>
18408
18409 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18410 PATH when running help2man and then run it on the unadorned
18411 executable names, rather than passing $(builddir)/* paths to
18412 help2man. This avoids the build directory ending up in generated
18413 manual pages.
18414
1246efeb
CW
184152010-06-29 Colin Watson <cjwatson@ubuntu.com>
18416
18417 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18418 to avoid accidents when debugging with 'sh -x'.
18419 * util/grub-mkrescue.in: Likewise.
18420 * util/grub.d/00_header.in: Likewise.
18421 * util/grub.d/10_hurd.in: Likewise.
18422 * util/grub.d/10_kfreebsd.in: Likewise.
18423 * util/grub.d/10_linux.in: Likewise.
18424 * util/grub.d/10_netbsd.in: Likewise.
18425 * util/grub.d/10_windows.in: Likewise.
18426 * util/grub.d/20_linux_xen.in: Likewise.
18427 * util/grub.d/30_os-prober.in: Likewise.
18428 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18429
1ba9b889
CW
184302010-06-29 Colin Watson <cjwatson@ubuntu.com>
18431
18432 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18433 last character in the buffer.
18434 Reported by: Vladimir Serbinenko.
18435
dccaf99d
RM
184362010-06-29 Robert Millan <rmh@gnu.org>
18437
18438 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18439 (Command-line and menu entry commands): Document `badram' command.
18440
d500ed12
RM
184412010-06-28 Robert Millan <rmh@gnu.org>
18442
18443 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18444 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18445 command using ${GRUB_BADRAM} as parameter.
18446
20bc84a6
CW
184472010-06-28 Colin Watson <cjwatson@ubuntu.com>
18448
18449 * docs/grub.texi (Device map): New section.
18450 (Themes): New section (stub).
18451 * Makefile.in (docs/grub.info): The info documentation now builds
18452 without errors. Make sure it stays that way.
18453
4045dee1
VS
184542010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18455
18456 Use normal parser for menu entries.
18457 Reported by: Thomas Frauendorfer
18458
18459 * include/grub/parser.h (grub_parser_execute): Don't export.
18460 * normal/menu.c (grub_menu_execute_entry_real): New function.
18461 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18462
bca58c7b
CW
184632010-06-28 Colin Watson <cjwatson@ubuntu.com>
18464
18465 * docs/grub.texi (Embedded configuration): New section (replacing
18466 old "Preset Menu" stub).
18467 (Images): New section.
18468 (configfile): Note that any menu entries defined in `file' are shown
18469 immediately.
18470
dec53e63
JT
184712010-06-28 Josh Triplett <josh@joshtriplett.org>
18472
18473 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18474
c06e40f7
CW
184752010-06-28 Colin Watson <cjwatson@ubuntu.com>
18476
18477 * util/grub-install.in: Add --debug-image= option.
18478
cb88052b
CW
184792010-06-28 Colin Watson <cjwatson@ubuntu.com>
18480
18481 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18482 possible on Linux.
18483
18484 * util/deviceiter.c (check_device): Rename to ...
18485 (check_device_readable_unique): ... this. Update all callers.
18486 Maintain and check a list of which devices (by canonicalized name)
18487 have already been seen.
18488 (clear_seen_devices): New function.
18489 (compare_file_names) [__linux__]: New function.
18490 (grub_util_iterate_devices): Clear the list of seen devices on exit
18491 and (just in case) on entry.
18492 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18493 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18494 seen-devices list, superseded by general code in check_device.
18495
bbe34652
CW
184962010-06-28 Colin Watson <cjwatson@ubuntu.com>
18497
18498 * commands/cat.c (options): New variable.
18499 (grub_cmd_cat): Parse options. If the --dos option is given, print
18500 DOS-style "\r\n" line endings as simple newlines (Debian bug
18501 #586358).
18502 (GRUB_MOD_INIT): Use extcmd.
18503 (GRUB_MOD_FINI): Likewise.
18504 * docs/grub.texi (cat): Document --dos.
18505
412e09f3
VS
185062010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18507
18508 XEN with Linux grub-mkconfig support.
18509
18510 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18511 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18512 GRUB_CMDLINE_XEN_DEFAULT.
18513 * util/grub.d/20_linux_xen.in: New file.
18514
53f3ef38 185152010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
18516
18517 Initialise VGA video on qemu ourselves.
18518
18519 * boot/i386/qemu/boot.S: Don't call 0xc000.
18520 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18521 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18522 (kernel_img_HEADERS): Add pci.h.
18523 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18524 * configure.ac: Force unifont on qemu and yeeloong.
18525 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18526 (grub_vga_palette_write): Use correct register.
18527 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18528 Call grub_qemu_init_cirrus.
18529 * kern/i386/qemu/init.c: New file.
18530 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18531
18532 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18533
c75be4fb
PR
185342010-06-26 Pavel Roskin <proski@gnu.org>
18535
18536 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18537 13.
18538
d8034603
CW
185392010-06-26 Colin Watson <cjwatson@ubuntu.com>
18540
18541 * docs/grub.texi (Simple configuration): Explain that
18542 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18543 set to `true' to disable their respective recovery entries, not
18544 merely set.
18545
3fa06487
CW
185462010-06-26 Colin Watson <cjwatson@ubuntu.com>
18547
18548 Make the `source' command slightly faster.
18549
18550 * normal/main.c (grub_normal_execute): Don't re-read list files when
18551 nested.
18552
e9b29642
CW
185532010-06-23 Colin Watson <cjwatson@ubuntu.com>
18554
18555 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
18556 field position and mask size to red fields from mode_info, not
18557 green.
18558 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
18559 Remove redundant tag->common.framebuffer_type assignment.
18560 Reported by: Seth Goldberg.
18561
e726542f
CW
185622010-06-23 Colin Watson <cjwatson@ubuntu.com>
18563
18564 Sync up other versions of the Linux loader with Robert Millan's
18565 change of 2010-01-09, "Make loader output a bit more user-friendly".
18566
18567 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
18568 grub_dprintf().
18569 (grub_cmd_linux): Likewise.
18570 (grub_cmd_initrd): Likewise.
18571 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
18572 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18573
d6e98a17
CW
185742010-06-21 Colin Watson <cjwatson@ubuntu.com>
18575
18576 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
18577 larger than MEMORY_MAP_SIZE.
18578
14d3f08e
BC
185792010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
18580
18581 Fix parallel build.
18582
18583 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
18584 dependency.
18585 * script/parser.y: #include grub_script.tab.h header.
18586
4f9613a3
VS
185872010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18588
18589 Support >3GiB and <16MiB RAM in i386-qemu.
18590
18591 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
18592 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
18593 (grub_lower_mem): Removed.
18594 (grub_upper_mem): Likewise.
18595 (mem_size): Made static.
18596 (above_4g): New variable.
18597 (grub_machine_mmap_init): Detect small mem_size and above_4g.
18598 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
18599 support.
18600
05e51879
VS
186012010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18602
18603 Cirrus 5446 and Bochs video cards support.
18604
18605 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
18606 video_bochs.mod
18607 (video_cirrus_mod_SOURCES): New variable.
18608 (video_cirrus_mod_CFLAGS): Likewise.
18609 (video_cirrus_mod_LDFLAGS): Likewise.
18610 (video_bochs_mod_SOURCES): Likewise.
18611 (video_bochs_mod_CFLAGS): Likewise.
18612 (video_bochs_mod_LDFLAGS): Likewise.
18613 * include/grub/vga.h: New file.
18614 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
18615 (grub_video_fb_set_page_t): New type.
18616 (grub_video_fb_setup): New prototype.
18617 (grub_video_fb_swap_buffers): Likewise.
18618 (grub_video_fb_get_info_and_fini): Likewise.
18619 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
18620 (CRTC_DATA_PORT): Likewise.
18621 (CRTC_CURSOR): Likewise.
18622 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18623 (CRTC_CURSOR_ADDR_LOW): Likewise.
18624 (CRTC_CURSOR_DISABLE): Likewise.
18625 (update_cursor): Use grub_vga_cr_write.
18626 (grub_vga_text_setcursor): Likewise.
18627 * video/bochs.c: New file.
18628 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
18629 (palette): Likewise.
18630 (palette_size): Likewise.
18631 (framebuffer): New variable.
18632 (grub_video_fb_init): Use 'framebuffer'.
18633 (grub_video_fb_fini): Likewise.
18634 (grub_video_fb_get_info): Likewise.
18635 (grub_video_fb_get_palette): Likewise.
18636 (grub_video_fb_set_palette): Likewise.
18637 (grub_video_fb_set_viewport): Likewise.
18638 (grub_video_fb_get_viewport): Likewise.
18639 (grub_video_fb_map_color): Likewise.
18640 (grub_video_fb_map_rgb): Likewise.
18641 (grub_video_fb_map_rgba): Likewise.
18642 (grub_video_fb_unmap_color): Likewise.
18643 (grub_video_fb_unmap_color_int): Likewise.
18644 (grub_video_fb_fill_rect): Likewise.
18645 (grub_video_fb_blit_bitmap): Likewise.
18646 (grub_video_fb_blit_render_target): Likewise.
18647 (grub_video_fb_scroll): Likewise.
18648 (grub_video_fb_create_render_target): Likewise.
18649 (grub_video_fb_doublebuf_blit_init): Likewise.
18650 (grub_video_fb_set_active_render_target): Handle doublebuffering.
18651 (doublebuf_pageflipping_update_screen): New function.
18652 (doublebuf_pageflipping_init): Likewise.
18653 (grub_video_fb_setup): Likewise.
18654 (grub_video_fb_swap_buffers): Likewise.
18655 (grub_video_fb_get_info_and_fini): Likewise.
18656 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
18657 All users updated.
18658 (doublebuf_pageflipping_commit): Restructured into ...
18659 (doublebuf_pageflipping_set_page): ... this.
18660 (doublebuf_pageflipping_update_screen): Removed.
18661 (doublebuf_pageflipping_init): Likewise.
18662 (double_buffering_init): Likewise.
18663 (grub_video_vbe_setup): Use grub_video_fb_setup.
18664 (grub_video_vbe_swap_buffers): Removed.
18665 (grub_video_vbe_set_active_render_target): Likewise.
18666 (grub_video_vbe_get_active_render_target): Likewise.
18667 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
18668 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
18669 grub_video_fb_set_active_render_target and
18670 grub_video_fb_get_active_render_target.
18671 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
18672 (SEQUENCER_DATA_PORT): Likewise.
18673 (MAP_MASK_REGISTER): Likewise.
18674 (CRTC_ADDR_PORT): Likewise.
18675 (CRTC_DATA_PORT): Likewise.
18676 (START_ADDR_HIGH_REGISTER): Likewise.
18677 (START_ADDR_LOW_REGISTER): Likewise.
18678 (GRAPHICS_ADDR_PORT): Likewise.
18679 (GRAPHICS_DATA_PORT): Likewise.
18680 (READ_MAP_REGISTER): Likewise.
18681 (INPUT_STATUS1_REGISTER): Likewise.
18682 (INPUT_STATUS1_VERTR_BIT): Likewise.
18683 (get_map_mask): Use grub_vga_sr_read.
18684 (set_map_mask): Use grub_vga_sr_write.
18685 (set_read_map): Use grub_vga_gr_write.
18686 (set_start_address): Use grub_vga_cr_write.
18687 * video/sm712.c (framebuffer): Remove leftover fields.
18688
4321c64a
CW
186892010-06-20 Colin Watson <cjwatson@ubuntu.com>
18690
18691 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
18692 setting GRUB_VIDEO_BACKEND. Make it available as a user override
18693 instead. Replace the gfxterm backend check with a check that
18694 ${GRUB_PREFIX}/video.lst is non-empty.
18695 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
18696 again.
18697 (load_video): New generated function. Call it before loading
18698 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
18699 * util/grub.d/10_linux.in (linux_entry): Call load_video.
18700 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
18701 * docs/grub.texi (Simple configuration): Document
18702 GRUB_VIDEO_BACKEND.
18703
187042010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18705
18706 Use video functions in linux and xnu loaders.
18707
18708 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
18709 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
18710 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
18711 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
18712 loader/i386/pc/linux.c.
18713 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
18714 (find_line_len): Removed.
18715 (find_framebuf): Likewise.
18716 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
18717 * loader/i386/efi/xnu.c: Removed.
18718 * loader/i386/pc/xnu.c: Moved from here...
18719 * loader/i386/xnu.c: ...here.
18720
18721 Enable priorities in video drivers.
18722
18723 * include/grub/video.h (grub_video_adapter_prio_t): New type.
18724 (grub_video_adapter): New field prio.
18725 (grub_video_register): Respect prio when inserting.
18726 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
18727 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
18728 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
18729 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
18730 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
18731 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
18732 * video/sm712.c (grub_video_sm712_adapter): Likewise.
18733
18734 Fix SDL driver ID.
18735
18736 * include/grub/video.h (grub_video_driver_id_t): New value
18737 GRUB_VIDEO_DRIVER_SDL.
18738 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
18739
7d24e434
CW
187402010-06-17 Colin Watson <cjwatson@ubuntu.com>
18741
18742 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
18743 argument to printf.
18744 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18745
c88a83f6
CW
187462010-06-17 Colin Watson <cjwatson@ubuntu.com>
18747
18748 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
18749 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18750
094dfb69
CW
187512010-06-17 Colin Watson <cjwatson@ubuntu.com>
18752
18753 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
18754 directly, and recommend grub-install instead.
18755 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18756
2164da6b
CW
187572010-06-17 Colin Watson <cjwatson@ubuntu.com>
18758
18759 Fix i386-pc prefix handling with nested partitions (Debian bug
18760 #585068). Note that the case where the core image is booted using
18761 multiboot and relocated from its original location still requires
18762 more work.
18763
18764 * kern/i386/pc/init.c (make_install_device): If the prefix starts
18765 with "(,", fill the boot drive in between those two characters, but
18766 expect that a full partition specification including partition map
18767 names will follow.
18768 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
18769 specified, write a prefix without the drive name but including a
18770 full partition specification.
18771
044e2e60
CW
187722010-06-16 Colin Watson <cjwatson@ubuntu.com>
18773
18774 * util/grub-mkconfig.in: Ignore non-option arguments, for
18775 compatibility with older versions (before 2010-06-12) which did the
18776 same. In particular, this makes it easier to ship an update-grub
18777 wrapper which is compatible with that used with GRUB Legacy (Debian
18778 bug #586056).
18779
5591324f
GS
187802010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18781
18782 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
18783 for manual page generation.
18784
662e24d5
GS
187852010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18786
18787 * po/POTFILES: Remove leftover commands/handler.c.
18788
8d70754e
CW
187892010-06-14 Colin Watson <cjwatson@ubuntu.com>
18790
18791 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
18792 left this script non-functional.
18793
41160e2e
CW
187942010-06-14 Colin Watson <cjwatson@ubuntu.com>
18795
18796 * docs/man/grub-emu.h2m: New file.
18797
b5309cc1
CW
187982010-06-13 Colin Watson <cjwatson@ubuntu.com>
18799
18800 * docs/grub.texi (Commands): Document reduced command set in rescue
18801 mode.
18802 (cpuid): New section.
18803
fcb2d090
GS
188042010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
18805
18806 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
18807 new partition naming style.
18808 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
18809
96e5c556
BC
188102010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
18811
18812 Add "-o grub.iso" like cmdline options support.
18813
18814 * util/grub-install.in: Improve cmdline option parsing.
18815 * util/grub-mkconfig.in: Likewise.
18816 * util/grub-mkrescue.in: Likewise.
18817 * util/grub-reboot.in: Likewise.
18818 * util/grub-set-default.in: Likewise.
18819 * util/i386/efi/grub-install.in: Likewise.
18820 * util/ieee1275/grub-install.in: Likewise.
18821 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18822
c16be99b
CW
188232010-06-12 Colin Watson <cjwatson@ubuntu.com>
18824
18825 * .bzrignore: Ignore 41_custom.
18826
ce08a9fb
TS
188272010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18828
18829 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
18830
7beac90c
CW
188312010-06-12 Colin Watson <cjwatson@ubuntu.com>
18832
18833 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
18834 prototype declarations.
18835
18836 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
18837 generating fs, partmap, and video lists.
18838 * include/grub/fs.h (grub_fs_register): Omit prototype if
18839 GRUB_LST_GENERATOR is defined.
18840 * include/grub/partition.h (grub_partition_map_register): Likewise.
18841 * include/grub/video.h (grub_video_register): Likewise.
18842
1c8f0f8d
JM
188432010-06-12 Javier Martín <lordhabbit@gmail.com>
18844
18845 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
18846
a6085973
TS
188472010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18848
18849 * util/grub-mkrescue.in: Support --xorriso argument.
18850
25c56d29
VS
188512010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18852
18853 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
18854 Suggested by: Thomas Schmitt.
18855
e03e4b24
VS
188562010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18857
18858 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
18859 Suggested by: Thomas Schmitt.
18860
57711df6
VS
188612010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18862
18863 custom.cfg support.
18864
18865 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
18866 * util/grub.d/41_custom.in: New file.
18867
ee62c427
CW
188682010-06-12 Colin Watson <cjwatson@ubuntu.com>
18869
18870 * util/grub-mkrescue.in (make_image): Remove sh module, which has
18871 been merged back into normal.
18872
283af07a
CW
188732010-06-11 Colin Watson <cjwatson@ubuntu.com>
18874
18875 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
18876 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
18877
56a0d956
CW
188782010-06-11 Colin Watson <cjwatson@ubuntu.com>
18879
18880 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
18881 when generating manual pages.
18882 * docs/man/grub-bin2h.h2m: New file.
18883 * docs/man/grub-editenv.h2m: New file.
18884 * docs/man/grub-fstest.h2m: New file.
18885 * docs/man/grub-install.h2m: New file.
18886 * docs/man/grub-macho2img.h2m: New file.
18887 * docs/man/grub-mkconfig.h2m: New file.
18888 * docs/man/grub-mkdevicemap.h2m: New file.
18889 * docs/man/grub-mkfont.h2m: New file.
18890 * docs/man/grub-mkimage.h2m: New file.
18891 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
18892 * docs/man/grub-mkrelpath.h2m: New file.
18893 * docs/man/grub-mkrescue.h2m: New file.
18894 * docs/man/grub-ofpathname.h2m: New file.
18895 * docs/man/grub-pe2elf.h2m: New file.
18896 * docs/man/grub-probe.h2m: New file.
18897 * docs/man/grub-reboot.h2m: New file.
18898 * docs/man/grub-script-check.h2m: New file.
18899 * docs/man/grub-set-default.h2m: New file.
18900 * docs/man/grub-setup.h2m: New file.
18901
3a37e322
VS
189022010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
18903
18904 Use FOR_* macros instead of *_iterate whenever possible.
18905
18906 * commands/handler.c: Removed.
18907 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
18908 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
18909 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18910 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
18911 (grub_probe_SOURCES): Remove kern/parser.c.
18912 (util/grub-script-check.c_DEPENDENCIES): Removed.
18913 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
18914 and grub_script_check_init.c.
18915 (grub_script_check_init.lst): Removed.
18916 (grub_script_check_init.h): Likewise.
18917 (grub_script_check_init.c): Likewise.
18918 (pkglib_MODULES): Remove handler.mod and sh.mod.
18919 (handler_mod_SOURCES): Removed.
18920 (handler_mod_CFLAGS): Likewise.
18921 (handler_mod_LDFLAGS): Likewise.
18922 (normal_mod_SOURCES): Remove normal/handler.c.
18923 Add script/main.c, script/script.c, script/execute.c,
18924 script/function.c, script/lexer.c, grub_script.tab.c
18925 and grub_script.yy.c.
18926 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18927 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18928 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
18929 (grub_setup_SOURCES): Remove kern/parser.c.
18930 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18931 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
18932 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18933 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18934 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18935 (grub_setup_SOURCES): Remove kern/parser.c.
18936 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18937 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
18938 * include/grub/command.h (grub_command_iterate): Removed.
18939 (FOR_COMMANDS): New macro.
18940 * include/grub/dl.h (grub_dl): New member next.
18941 (grub_dl_iterate): Removed.
18942 (grub_dl_head): New variable declaration.
18943 (FOR_DL_MODULES): New macro.
18944 * include/grub/fs.h: Include list.h.
18945 (grub_fs): Make next first element.
18946 (grub_fs_list): New variable declaration.
18947 (grub_fs_register): Make inline.
18948 (grub_fs_unregister): Likewise.
18949 (grub_fs_iterate): Removed.
18950 (FOR_FILESYSTEMS): New macro.
18951 * include/grub/handler.h: Removed.
18952 * include/grub/list.h (grub_list_hook_t): Removed.
18953 (grub_list_test_t): Likewise.
18954 (grub_list_pop): Likewise.
18955 (grub_list_iterate): Likewise.
18956 (grub_list_insert): Likewise.
18957 (FOR_LIST_ELEMENTS): New macro.
18958 * include/grub/parser.h (grub_parser_class): Removed.
18959 (grub_parser_register): Likewise.
18960 (grub_parser_unregister): Likewise.
18961 (grub_parser_get_current): Likewise.
18962 (grub_parser_set_current): Likewise.
18963 (grub_register_rescue_parser): Likewise.
18964 (grub_rescue_parse_line): New function.
18965 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
18966 * include/grub/script_sh.h (grub_script_function_list): New variable
18967 declaration.
18968 (FOR_SCRIPT_FUNCTIONS): New macro.
18969 (grub_script_function_iterate): Removed.
18970 (grub_normal_parse_line): New prototype.
18971 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
18972 (FOR_DISABLED_TERM_INPUTS): Likewise.
18973 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18974 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18975 * include/grub/video.h (grub_video_adapter): Move 'next' to first
18976 element.
18977 (grub_video_register): Inline.
18978 (grub_video_unregister): Likewise.
18979 (grub_video_adapter_list): New variable declaration.
18980 (grub_video_iterate): Removed.
18981 (FOR_VIDEO_ADAPTERS): New macro.
18982 * kern/dl.c (grub_dl_list): Removed. All users updated.
18983 (grub_dl_iterate): Removed.
18984 * kern/fs.c (grub_fs_list): Make global.
18985 (grub_fs_register): Removed.
18986 (grub_fs_unregister): Likewise.
18987 (grub_fs_iterate): Likewise.
18988 * kern/handler.c: Removed.
18989 * kern/list.c (grub_list_pop): Removed.
18990 (grub_list_iterate): Likewise.
18991 (grub_list_insert): Likewise.
18992 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
18993 (grub_prio_list_insert): Don't use grub_list_insert.
18994 * kern/main.c (grub_register_rescue_parser): Don't call
18995 grub_register_rescue_parser.
18996 * kern/parser.c (grub_parser_class): Removed.
18997 (grub_parser_execute): Use grub_rescue_parse_line.
18998 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
18999 (grub_rescue_parser): Removed.
19000 (grub_register_rescue_parser): Likewise.
19001 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19002 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19003 (grub_auth_check_authentication): Likewise.
19004 * normal/completion.c (iterate_command): Removed.
19005 (grub_normal_do_completion): Use FOR_COMMANDS.
19006 * normal/handler.c: Removed.
19007 * normal/main.c (read_config_file): Remove parser changing.
19008 (grub_normal_execute): Don't call read_handler_list.
19009 (grub_normal_read_line_real): Statically allocate prompt.
19010 (grub_cmdline_run): Use grub_normal_parse_line.
19011 (GRUB_MOD_FINI): Don't call free_handler_list.
19012 * normal/menu_entry.c (run): Likewise.
19013 * script/function.c (grub_script_function_list): Make global.
19014 (grub_script_function_iterate): Removed.
19015 * script/main.c (grub_normal_parse_line): Make global.
19016 (grub_sh_parser): Removed.
19017 (GRUB_MOD_INIT): Likewise.
19018 (GRUB_MOD_FINI): Likewise.
19019 * tests/lib/functional_test.c (grub_functional_test): Use
19020 FOR_LIST_ELEMENTS.
19021 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19022 (grub_test_run): Use FOR_LIST_ELEMENTS.
19023 * tests/lib/unit_test.c (main): Likewise.
19024 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19025 grub_list_pop.
19026 * util/grub-fstest.c (grub_term_input_class): Removed.
19027 (grub_term_output_class): Likewise.
19028 * util/grub-probe.c: Likewise.
19029 * util/i386/pc/grub-setup.c: Likewise.
19030 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19031 * util/grub-script-check.c (main): Don't call grub_init_all and
19032 grub_fini_all.
19033 * video/video.c (grub_video_adapter_list): Make global.
19034 (grub_video_register): Removed.
19035 (grub_video_unregister): Likewise.
19036 (grub_video_iterate): Likewise.
19037
6289c3a7
VS
190382010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19039
19040 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19041 reported by Henrique Ferreiro.
19042
91460247
RM
190432010-06-09 Robert Millan <rmh@gnu.org>
19044
19045 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19046 ones, when both are available.
19047
0ea7c4f9
GS
190482010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19049
19050 Make --version uniform and avoid hard-coded program name.
19051
19052 * util/grub-mkimage.c (main): Use `program_name' instead of
19053 hard-coded string.
19054 * util/i386/pc/grub-setup.c (main): Likewise.
19055 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19056 * util/grub-install.in: Save the basename of $0 in $self, and use the
19057 latter in informational messages. Use the same format for --version
19058 as the binary programs.
19059 * util/grub-mkconfig.in: Likewise.
19060 * util/grub-mkrescue.in: Likewise.
19061 * util/grub-reboot.in: Likewise.
19062 * util/grub-set-default.in: Likewise.
19063 * util/i386/efi/grub-install.in: Likewise.
19064 * util/ieee1275/grub-install.in: Likewise.
19065 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19066
e8a6f3b6
GS
190672010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19068
19069 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19070 embedding area. Use <= instead of == when checking for non-emptiness.
19071
f4d095d7
GS
190722010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19073
19074 * configure.ac: Add `.' to the directories searched for unifont.
19075
50e532ca
CW
190762010-06-08 Colin Watson <cjwatson@ubuntu.com>
19077
19078 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19079 grub_script.yy.h.
19080
d39f3dec
CW
190812010-06-08 Colin Watson <cjwatson@ubuntu.com>
19082
19083 * docs/grub.texi (History): Expand to cover GRUB 2.
19084 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19085 commands, not `terminal'.
19086 (serial): Likewise.
19087 (terminal_input): New section.
19088 (terminal_output): New section.
19089 (uppermem): New section (stub).
19090 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19091
6ef0ddb4
CW
190922010-06-08 Colin Watson <cjwatson@ubuntu.com>
19093
19094 * docs/grub.texi (Security): Menu entries are unrestricted by
19095 default, not restricted to superusers as I had previously thought.
19096 Reword to account for this.
19097
e0f4c438
CW
190982010-06-07 Colin Watson <cjwatson@ubuntu.com>
19099
19100 * kern/emu/misc.c (device_mapper_null_log): New function.
19101 (grub_device_mapper_supported): New function.
19102 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19103 prototype.
19104 * kern/emu/hostdisk.c (find_partition_start): Check whether
19105 device-mapper is supported before trying to use it.
19106 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19107
da908200
CW
191082010-06-07 Colin Watson <cjwatson@ubuntu.com>
19109
19110 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19111 (File name syntax): Likewise.
19112 (help): --all is no longer supported in GRUB 2. Be more precise
19113 about pattern matching.
19114
fb55c3ac
CW
191152010-06-07 Colin Watson <cjwatson@ubuntu.com>
19116
19117 * normal/completion.c (grub_normal_do_completion): When completing
19118 arguments to "set" and the current word contains an equals sign,
19119 skip to after the equals sign before starting completion.
19120
258c2573
CW
191212010-06-07 Colin Watson <cjwatson@ubuntu.com>
19122
19123 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19124
ee75515e
CW
191252010-06-07 Colin Watson <cjwatson@ubuntu.com>
19126
19127 * docs/grub.texi (Network): New section.
19128 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19129 `(nd)' as in GRUB Legacy.
19130 (pxe_unload): New section.
19131
a6a700aa
CW
191322010-06-07 Colin Watson <cjwatson@ubuntu.com>
19133
19134 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19135 in the rescue shell, so recommend using `set' instead. Thanks,
19136 Jordan Uggla.
19137
4003dd38
CW
191382010-06-07 Colin Watson <cjwatson@ubuntu.com>
19139
19140 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19141 (password): New section.
19142 (password_pbkdf2): New section.
19143 (search): New section.
19144 (Security): New section.
19145 (Troubleshooting): New section, currently very incomplete.
19146 (Invoking grub-mkpasswd-pbkdf2): New section.
19147 (Internals): New section, currently very incomplete.
19148
e1cbcc40
CW
191492010-06-07 Colin Watson <cjwatson@ubuntu.com>
19150
19151 * util/grub.d/00_header.in: Add some more quoting (of
19152 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19153 work again.
19154 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19155
db8fa1ad
CW
191562010-06-07 Colin Watson <cjwatson@ubuntu.com>
19157
19158 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19159 to `count', fixing variable shadowing that broke the -c option.
19160
191612010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
19162
19163 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19164 in case they contain spaces.
19165
f28a9212
CW
191662010-06-04 Colin Watson <cjwatson@ubuntu.com>
19167
19168 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19169 "part_" to partmap module names, in line with grub-install.
19170 Reported by: Jindřich Makovička (Debian bug #584426).
19171
9cdfe32f
CW
191722010-06-04 Colin Watson <cjwatson@ubuntu.com>
19173
19174 * util/grub-mkimage.c: Make target-related error messages slightly
19175 more helpful; -O talks about "format". Explicitly point to the use
19176 of -O if no target is specified.
19177 Reported by: Didier Raboud (Debian bug #584415).
19178
795b593a
CW
191792010-06-03 Colin Watson <cjwatson@ubuntu.com>
19180
19181 * INSTALL: Document several build requirements for optional features
19182 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19183
9d9b5833
GS
191842010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19185
19186 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19187 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19188 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19189
0819fec8
CW
191902010-06-02 Colin Watson <cjwatson@ubuntu.com>
19191
19192 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19193 Thanks to Jordan Uggla for spotting this.
19194
49396b4f
VS
191952010-06-02 Aleš Nesrsta <starous@volny.cz>
19196
19197 Finally make USB usable.
19198
19199 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19200 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19201 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19202 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19203 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19204 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19205 (GRUB_OHCI_FSMPS): Likewise.
19206 (GRUB_OHCI_PERIODIC_START): Likewise.
19207 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19208 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19209 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19210 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19211 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19212 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19213 (grub_ohci_transaction): Likewise.
19214 (grub_ohci_transfer): Improve condition detection algorithms.
19215 Handle toggle property. Program the transactions correctly.
19216 Improve error handling. Various important fixups.
19217 (grub_ohci_portstatus): Put register writes in right order.
19218 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19219 (grub_uhci_transfer): Don't show "failed" message on success.
19220 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19221 array.
19222 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19223 determine its size.
19224 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19225 before initialization is completed. Use IN direction for empty
19226 transfers. Use last_trans and compute toggle.
19227 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19228 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19229 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19230 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19231 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19232 (grub_usb_device): Increase toggle to 256.
19233 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19234 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19235 GRUB_USBMS_SUBCLASS_SFF8070.
19236 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19237 (grub_scsi_inquiry): New member page and alloc_length.
19238 (grub_scsi_request_sense): New structure.
19239 (grub_scsi_request_sense_data): Likewise.
19240 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19241 control.
19242 * disk/scsi.c (grub_scsi_request_sense): New function.
19243 (grub_scsi_test_unit_ready): Likewise.
19244 (grub_scsi_inquiry): Fill new fields.
19245 (grub_scsi_read_capacity): Likewise.
19246 (grub_scsi_read10): Add request sense at the end.
19247 (grub_scsi_read12): Likewise.
19248 (grub_scsi_write10): Likewise.
19249 (grub_scsi_write12): Likewise.
19250 (grub_scsi_open): Add Test Unit Ready.
19251 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19252 Support additional subclasses. Con't clear halt yet. Activate the
19253 proper config. Calculate LUNs correctly.
19254 (grub_usbms_transfer): Various important fixups.
19255
192562010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19257
19258 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19259 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19260 (grub_ohci_fini_hw): New function.
19261 (grub_ohci_restore_hw): Likewise.
19262 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19263 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19264 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19265
192662010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19267
19268 Dedicated DMA allocations.
19269
19270 * bus/pci.c (grub_memalign_dma32): New function
19271 (grub_dma_free): Likewise.
19272 (grub_dma_get_virt): Likewise.
19273 (grub_dma_get_phys): Likewise.
19274 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19275 (grub_ohci_pci_iter): Use dma32_alloc.
19276 (grub_ohci_transfer): Likewise.
19277 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19278 (grub_usb_bulk_readwrite): Likewise.
19279 * include/grub/pci.h: Add declarations.
19280
192812010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19282
19283 CS5536 support.
19284
19285 * bus/cs5536.c: New file.
19286 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19287 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19288 (cs5536_mod_SOURCES): New variable.
19289 (cs5536_mod_CFLAGS): Likewise.
19290 (cs5536_mod_LDFLAGS): Likewise.
19291 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19292 machine/pci.h.
19293 (kernel_img_SOURCES): Add bus/cs5536.c.
19294 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19295 usb_keyboard.mod.
19296 (usb_mod_SOURCES): New variable.
19297 (usb_mod_CFLAGS): New variable.
19298 (usb_mod_LDFLAGS): New variable.
19299 (usbtest_mod_SOURCES): New variable.
19300 (usbtest_mod_CFLAGS): New variable.
19301 (usbtest_mod_LDFLAGS): New variable.
19302 (ohci_mod_SOURCES): New variable.
19303 (ohci_mod_CFLAGS): New variable.
19304 (ohci_mod_LDFLAGS): New variable.
19305 (usbms_mod_SOURCES): New variable.
19306 (usbms_mod_CFLAGS): New variable.
19307 (usbms_mod_LDFLAGS): New variable.
19308 (usb_keyboard_mod_SOURCES): New variable.
19309 (usb_keyboard_mod_CFLAGS): New variable.
19310 (usb_keyboard_mod_LDFLAGS): New variable.
19311 * include/grub/smbus.h: New file.
19312 * include/grub/cs5536.h: New file.
19313
0b35b2a9
CW
193142010-06-02 Colin Watson <cjwatson@ubuntu.com>
19315
19316 * util/grub.d/00_header.in: Add safety check to make sure that
19317 ${locale_dir} exists before trying to probe it.
19318
ca0afd5b
CW
193192010-06-02 Colin Watson <cjwatson@ubuntu.com>
19320
19321 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19322 per the GNU Coding Standards; this is now too obscure to be worth
19323 documenting.
19324 (QNX): Likewise.
19325 (chainloader): Remove cross-reference to `SCO UnixWare'.
19326
1c41aa78
CW
193272010-06-02 Colin Watson <cjwatson@ubuntu.com>
19328
19329 * docs/grub.texi (Chain-loading): New section.
19330 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19331 adjusted for GRUB 2.
19332 (SCO UnixWare): Likewise.
19333 (QNX): Likewise.
19334 (chainloader): Add reference to `Block list syntax'.
19335 (drivemap): New section.
19336 (parttool): New section.
19337
bb8ea0f5
CW
193382010-06-02 Colin Watson <cjwatson@ubuntu.com>
19339
19340 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19341 the grub shell'.
19342 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19343 (Installing GRUB using grub-install): Remove reference to the grub
19344 shell; mention `grub-mkimage' and `grub-setup' instead.
19345 (Invoking grub-install): Likewise.
19346 (Interface): Add reference to `Menu entry editor'.
19347 (serial): Remove `--device' option.
19348
288dd6ed
CW
193492010-06-02 Colin Watson <cjwatson@ubuntu.com>
19350
19351 * docs/grub.texi (Configuration): New section, documenting
19352 configuration file generation using grub-mkconfig. I've left a slot
19353 for documenting the full shell scripting format but have not yet
19354 started on writing that up.
19355 (Invoking grub-mkconfig): New section.
19356
34c9f0e9
CW
193572010-06-02 Colin Watson <cjwatson@ubuntu.com>
19358
19359 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19360 (GNU GRUB manual): Likewise.
19361 (General commands): Update description of `terminfo' for GRUB 2.
19362
9121567e
CW
193632010-06-02 Colin Watson <cjwatson@ubuntu.com>
19364
19365 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19366 (GRUB_MOD_INIT): Fix capitalisation.
19367 * docs/grub.texi (Command-line and menu entry commands): Document
19368 gettext and gptsync commands.
19369
ab631611
CW
193702010-06-02 Colin Watson <cjwatson@ubuntu.com>
19371
19372 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19373 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19374
bde4a9ac
CW
193752010-06-01 Colin Watson <cjwatson@ubuntu.com>
19376
19377 Add btrfs probing support, currently only in the single-device case.
19378
19379 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19380 function.
19381 (grub_guess_root_device): Call find_root_device_from_mountinfo
19382 before looking in /dev.
19383
b1d17e10
VS
193842010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19385
19386 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19387 GRUB_DISK_SIZE_UNKNOWN.
19388 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19389
dfbfe004
JS
193902010-05-31 Jiro SEKIBA <jir@unicus.jp>
19391
19392 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19393 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19394 corrupted or not synced properly.
19395
c2ffc8e9
VS
193962010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19397
19398 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19399 Reported by: Seth Goldberg.
19400
56293166
VS
194012010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19402
19403 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19404 addition of dest.
19405 Reported by: Seth Goldberg.
19406
7620e7de
VS
194072010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19408
19409 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19410 Reported by: Seth Goldberg.
19411
c837af3f
VS
194122010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19413
19414 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19415 64-bit address as signed on MIPS.
19416
c7c75cf4
CW
194172010-05-28 Colin Watson <cjwatson@ubuntu.com>
19418
19419 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19420 to the empty string.
19421
fa4b8490
BC
194222010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19423
19424 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19425
19426 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19427 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19428 * kern/misc.c (__enable_execute_stack): Disable on
19429 GRUB_MACHINE_EMU.
19430
a33075b9
CW
194312010-05-28 Colin Watson <cjwatson@ubuntu.com>
19432
19433 Make grub-probe work with symbolic links under /dev/mapper as well
19434 as with real block devices. The Linux world seems to be (at best)
19435 in transition here, and GRUB shouldn't get caught in the middle.
19436
19437 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19438 /dev/mapper.
19439
d8708134
CW
194402010-05-27 Colin Watson <cjwatson@ubuntu.com>
19441
19442 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19443 input files (in which case exit zero).
19444
db2102a0
CW
194452010-05-27 Colin Watson <cjwatson@ubuntu.com>
19446
19447 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19448 return NULL for various reasons even if it has a maximum-length
19449 buffer: for example, there might be a symlink loop, or the path
19450 might exceed PATH_MAX. If this happens, return NULL.
19451
5fdba519
RM
194522010-05-27 Robert Millan <rmh@gnu.org>
19453
19454 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19455 partmap module to handle cross-partmap setups.
19456 Reported by Orestes Mas. Gràcies!
19457
d1d368e4
CW
194582010-05-27 Colin Watson <cjwatson@ubuntu.com>
19459
19460 * util/grub-mkrescue.in: Initialise override_dir rather than
19461 assuming that it's unset or empty in the environment.
19462
95ac3c73
GS
194632010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19464
19465 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19466 variable index into p_index to suppress a warning with -Wshadow.
19467
7d8c0213
BC
194682010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19469
19470 * INSTALL: Added flex >= 2.5.35 requirement.
19471
db4d5813
VS
194722010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19473
19474 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19475
f24f4300
VS
194762010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19477
19478 cmostest support.
19479
19480 * commands/i386/cmostest.c: New file.
19481 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19482 (cmostest_mod_SOURCES): New variable.
19483 (cmostest_mod_CFLAGS): Likewise.
19484 (cmostest_mod_LDFLAGS): Likewise.
19485 * conf/i386-pc.rmk: Likewise.
19486 * docs/grub.texi (Vendor power-on keys): New section.
19487 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19488 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19489 and GRUB_BUTTON_CMOS_ADDRESS.
19490 * util/grub.d/00_header.in: Handle powering-on by separate button.
19491
ad603f61
VS
194922010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19493
19494 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19495 Removed drawing_scrollbar argument. All users updated
19496 Fixes #29792.
19497 Reported by Jo Shields
19498
3ecb080a
VS
194992010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19500
19501 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19502 buffer since gfxterm handles double repaint.
19503
5f2316c1
VS
195042010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19505
19506 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19507 * term/gfxterm.c (real_scroll): Likewise.
19508
9a25f885
VS
195092010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19510
19511 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19512 before calling BIOS.
19513
39fbb79a
VS
195142010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19515
19516 * include/grub/i18n.h: Always enable grub_gettext.
19517
228cfa97
VS
195182010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19519
19520 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19521 partition naming style.
19522
21717c8f
CW
195232010-05-21 Colin Watson <cjwatson@ubuntu.com>
19524
19525 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19526 not the first option.
19527
c0f48e65
CW
195282010-05-20 Colin Watson <cjwatson@ubuntu.com>
19529
19530 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19531
96779aec
CW
195322010-05-20 Colin Watson <cjwatson@ubuntu.com>
19533
19534 * util/misc.c: Move inclusion of <limits.h> to ...
19535 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19536
fa9d256e
GS
195372010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19538
19539 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19540 Fix merge error in NetBSD code.
19541 (find_partition_start) [__NetBSD__]: Likewise.
19542
123b7a85
BC
195432010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19544
19545 Fix grub-mkrescue usage unit testing.
19546
19547 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19548
74276c0d
CF
195492010-05-18 Christian Franke <franke@computer.org>
19550
19551 * util/grub.d/10_windows.in: Use path names instead of
19552 drive letters to prevent warning from Cygwin 1.7.
19553 Add drivemap command to menuentry if needed.
19554
c4f7b523
ST
195552010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
19556
19557 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
19558 gnumach and gnumach.gz.
19559
95b97950
VS
195602010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19561
19562 * include/grub/i18n.h (gettext): Inline instead of using #define.
19563 (grub_gettext): Likewise.
19564 (_): Likewise.
19565
01b8d2d7
VS
195662010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19567
19568 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
19569 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
19570 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
19571 (main): Add a slash after pkglibdirroot.
19572
654e1d1e
VS
195732010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 * util/grub-install.in: Add missing "in" keyword.
19576
26966aeb
VS
195772010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19578
19579 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
19580 Reported by: Seth Goldberg.
19581
75006747
VS
195822010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19583
19584 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
19585
74cbf5bd
CW
195862010-05-18 Colin Watson <cjwatson@ubuntu.com>
19587
19588 * configure.ac: Check for Linux device-mapper support.
19589
19590 * util/hostdisk.c (device_is_mapped): New function.
19591 (find_partition_start): New function, partly broken out from
19592 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
19593 device-mapper support added.
19594 (linux_find_partition): Use find_partition_start.
19595 (convert_system_partition_to_system_disk): Add `st' argument.
19596 Support Linux /dev/mapper/* devices if device-mapper support is
19597 available; only DM-RAID devices are understood at present.
19598 (find_system_device): Add `st' argument. Pass it to
19599 convert_system_partition_to_system_disk.
19600 (grub_util_biosdisk_get_grub_dev): Pass stat result to
19601 find_system_device and convert_system_partition_to_system_disk. Use
19602 find_partition_start.
19603
19604 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
19605 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
19606 * util/deviceiter.c [__linux__]: Define MINOR.
19607 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
19608 * util/mkdevicemap.c (grub_putchar): New function.
19609 (grub_getkey): New function.
19610 (grub_refresh): New function.
19611 (main): Set debug=all if -v -v is used.
19612
355b51e9
CW
196132010-05-18 Colin Watson <cjwatson@ubuntu.com>
19614
19615 Fix build with non-GNU libcs.
19616
19617 * util/misc.c (canonicalize_file_name): Move to ...
19618 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
19619 grub_make_system_path_relative_to_its_root.
19620
7fb5c25f
CW
196212010-05-18 Colin Watson <cjwatson@ubuntu.com>
19622
19623 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
19624 we handle finding grub-mkimage. Default to finding grub-mkimage in
19625 ${bindir} with program_transform_name applied, and provide a
19626 --grub-mkimage option to override this.
19627
1d3293d6
VS
196282010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19629
19630 Remove grub-mkisofs.
19631
19632 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
19633 (grub_mkisofs_SOURCES): Removed.
19634 (grub_mkisofs_CFLAGS): Removed.
19635 * util/mkisofs/defaults.h: Removed.
19636 * util/mkisofs/eltorito.c: Likewise.
19637 * util/mkisofs/exclude.h: Likewise.
19638 * util/mkisofs/hash.c: Likewise.
19639 * util/mkisofs/include/: Likewise.
19640 * util/mkisofs/include/fctldefs.h: Likewise.
19641 * util/mkisofs/include/mconfig.h: Likewise.
19642 * util/mkisofs/include/prototyp.h: Likewise.
19643 * util/mkisofs/include/statdefs.h: Likewise.
19644 * util/mkisofs/iso9660.h: Likewise.
19645 * util/mkisofs/joliet.c: Likewise.
19646 * util/mkisofs/match.c: Likewise.
19647 * util/mkisofs/match.h: Likewise.
19648 * util/mkisofs/mkisofs.c: Likewise.
19649 * util/mkisofs/mkisofs.h: Likewise.
19650 * util/mkisofs/msdos_partition.h: Likewise.
19651 * util/mkisofs/multi.c: Likewise.
19652 * util/mkisofs/name.c: Likewise.
19653 * util/mkisofs/rock.c: Likewise.
19654 * util/mkisofs/tree.c: Likewise.
19655 * util/mkisofs/write.c: Likewise.
19656
5dde9afe
VS
196572010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19658
19659 Unify grub-mkimage accross platforms.
19660
19661 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
19662 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
19663 (grub_mkelfimage_SOURCES): Removed.
19664 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
19665 (util/grub-mkimage.c_DEPENDENCIES): .. this.
19666 (bin_UTILITIES): Add grub-mkimage.
19667 (grub_mkimage_SOURCES): New variable.
19668 (kernel_img_HEADERS): Remove machine/kernel.h.
19669 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
19670 (pkglib_PROGRAMS): Add kernel.img.
19671 (kernel_img_HEADERS): Add machine/kernel.h.
19672 (kernel_img_FORMAT): Removed.
19673 (bin_UTILITIES): Remove grub-mkimage.
19674 (grub_mkimage_SOURCES): Removed.
19675 (grub_mkimage_CFLAGS): Likewise.
19676 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19677 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
19678 (pkglib_PROGRAMS): Add kernel.img.
19679 (bin_UTILITIES): Remove grub-mkimage.
19680 (grub_mkimage_SOURCES): Removed.
19681 (grub_mkimage_CFLAGS): Likewise.
19682 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19683 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
19684 (pkglib_PROGRAMS): Add kernel.img.
19685 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
19686 (pkglib_PROGRAMS): Add kernel.img.
19687 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
19688 (grub_mkimage_SOURCES): Removed.
19689 (grub_mkimage_CFLAGS): Likewise.
19690 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19691 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
19692 (pkglib_PROGRAMS): Add kernel.img.
19693 (bin_UTILITIES): Remove grub-mkimage.
19694 (grub_mkimage_SOURCES): Removed.
19695 (grub_mkimage_CFLAGS): Likewise.
19696 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19697 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
19698 (grub_mkimage_SOURCES): Removed.
19699 (grub_mkimage_CFLAGS): Likewise.
19700 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19701 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
19702 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
19703 (grub_pe32_optional_header): ... this.
19704 (grub_pe64_optional_header): ... and this. All users updated.
19705 (GRUB_PE32_PE32_MAGIC): Split into ..
19706 (GRUB_PE32_PE32_MAGIC): .. this.
19707 (GRUB_PE32_PE64_MAGIC): .. and this.
19708 (GRUB_PE32_SIGNATURE_SIZE): New definition.
19709 * include/grub/elf.h (PT_GNU_STACK): New definition.
19710 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
19711 * include/grub/i386/efi/kernel.h: Likewise.
19712 * include/grub/i386/kernel.h: Likewise.
19713 * include/grub/i386/pc/kernel.h: Likewise.
19714 * include/grub/i386/qemu/boot.h: Likewise.
19715 * include/grub/mips/kernel.h: Likewise.
19716 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19717 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19718 * include/grub/powerpc/kernel.h: Likewise.
19719 * include/grub/sparc64/ieee1275/boot.h: Likewise.
19720 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19721 * include/grub/sparc64/kernel.h: Likewise.
19722 * include/grub/x86_64/efi/kernel.h: Likewise.
19723 * include/grub/x86_64/kernel.h: Likewise.
19724 * include/grub/offsets.h: New file.
19725 * include/grub/kernel.h (grub_module_info): Split into ...
19726 (grub_module_info32): ... this.
19727 (grub_module_info64): ... and this.
19728 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
19729 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
19730 (grub_boot_blocklist): Moved from here ...
19731 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
19732 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
19733 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
19734 * include/grub/types.h (grub_target_to_host16): Removed.
19735 (grub_target_to_host32): Likewise.
19736 (grub_target_to_host64): Likewise.
19737 (grub_host_to_target16): Likewise.
19738 (grub_host_to_target32): Likewise.
19739 (grub_host_to_target64): Likewise.
19740 (grub_host_to_target_addr): Likewise.
19741
19742 Support grub-mkrescue for efi, coreboot and qemu.
19743
19744 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
19745 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
19746 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
19747 * util/grub-mkrawimage.c: Moved from here ...
19748 * util/grub-mkimage.c: ... here. All users updated.
19749 (ALIGN_ADDR): Use image_target.
19750 (TARGET_NO_FIELD): New const.
19751 (image_target_desc): New type.
19752 (image_targets): New array.
19753 (grub_target_to_host64): Use image_target.
19754 (grub_target_to_host32): Likewise.
19755 (grub_target_to_host16): Likewise.
19756 (grub_host_to_target64): Likewise.
19757 (grub_host_to_target32): Likewise.
19758 (grub_host_to_target16): Likewise.
19759 (grub_host_to_target_addr): Likewise.
19760 (generate_image): Handle multiimage.
19761 (main): Require -O parameter. All users updated.
19762 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
19763 util/efi/grub-mkimage.c
19764 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
19765 New option --rom-directory.
19766 Use xorriso.
19767 * util/i386/efi/grub-mkimage.c: Removed.
19768 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
19769 (grub_target_to_host32): Likewise.
19770 (grub_target_to_host64): Likewise.
19771 (grub_host_to_target16): Likewise.
19772 (grub_host_to_target32): Likewise.
19773 (grub_host_to_target64): Likewise.
19774 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
19775 (grub_target_to_host32): Likewise.
19776 (grub_target_to_host64): Likewise.
19777 (grub_host_to_target16): Likewise.
19778 (grub_host_to_target32): Likewise.
19779 (grub_host_to_target64): Likewise.
19780
f4fc97d0
BC
197812010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
19782
19783 Source tree is reorganized for emu build.
19784
19785 * include/grub/util/console.h: Move from here...
19786 * include/grub/emu/console.h: ...to here.
19787 * include/grub/util/getroot.h: Move from here...
19788 * include/grub/emu/getroot.h: ...to here.
19789 * include/grub/util/hostdisk.h: Move from here...
19790 * include/grub/emu/hostdisk.h: ...to here.
19791 * util/console.c: Move from here...
19792 * kern/emu/console.c: ...to here.
19793 * util/getroot.c: Move from here...
19794 * kern/emu/getroot.c: ...to here.
19795 * util/grub-emu.c: Move from here...
19796 * kern/emu/main.c: ...to here.
19797 * util/hostdisk.c: Move from here...
19798 * kern/emu/hostdisk.c: ...to here.
19799 * util/hostfs.c: Move from here...
19800 * kern/emu/hostfs.c: ...to here.
19801 * util/mm.c: Move from here...
19802 * kern/emu/mm.c: ...to here.
19803 * util/pci.c: Move from here...
19804 * bus/emu/pci.c: ...to here.
19805 * util/sdl.c: Move from here...
19806 * video/emu/sdl.c: ...to here.
19807 * util/time.c: Move from here...
19808 * kern/emu/time.c: ...to here.
19809 * util/usb.c: Move from here...
19810 * bus/usb/emu/usb.c: ...to here.
19811
19812 * include/grub/emu/misc.h: New header for grub-emu functions.
19813 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
19814
19815 * conf/any-emu.rmk: Rule updates for above renames.
19816 * conf/common.rmk: Likewise.
19817 * conf/i386-pc.rmk: Likewise.
19818 * conf/i386-qemu.rmk: Likewise.
19819 * conf/mips.rmk: Likewise.
19820 * conf/sparc64-ieee1275.rmk: Likewise.
19821 * conf/x86-efi.rmk: Likewise.
19822
19823 * disk/lvm.h: #include updates for above renames.
19824 * util/grub-mkrelpath.c: Likewise.
19825 * util/grub-probe.c: Likewise.
19826 * util/i386/pc/grub-setup.c: Likewise.
19827 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19828 * kern/emu/console.c: Likewise.
19829 * kern/emu/getroot.c: Likewise.
19830 * kern/emu/hostdisk.c: Likewise.
19831 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
19832
19833 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
19834 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
19835 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
19836 * util/misc.c: Remove grub-emu functions.
19837
cced9145
VS
198382010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19839
19840 Fix gfxmenu crash.
19841 Reported by: Thorsten Grützmacher.
19842
19843 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
19844 timeout hook.
19845 (circprog_set_property): Register and unregister timeout hook.
19846 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
19847 (label_destroy): Free template. and unregister hook.
19848 (label_set_state): New function.
19849 (label_set_property): Handle templates and hooks.
19850 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
19851 timeout hook.
19852 (progress_bar_set_property): Register and unregister timeout hook.
19853 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
19854 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
19855 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
19856 (update_timeout_visit): Removed.
19857 (update_timeouts): New function.
19858 (redraw_timeouts): Likewise.
19859 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
19860 (grub_gfxmenu_clear_timeout): Likewise.
19861 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
19862 (grub_gfxmenu_timeout_notify): Likewise.
19863 (grub_gfxmenu_timeout_notifications): New external variable.
19864 (grub_gfxmenu_timeout_register): New function.
19865 (grub_gfxmenu_timeout_unregister): Likewise.
19866
c6e5caab
VS
198672010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19868
19869 Transform (broken) vga terminal into (working) vga video driver.
19870
19871 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
19872 video/i386/pc/vga.c.
19873 * include/grub/video.h (grub_video_driver_id):
19874 Add GRUB_VIDEO_DRIVER_VGA.
19875 * term/i386/pc/vga.c: Renamed to ...
19876 * video/i386/pc/vga.c: ...this
19877 (DEBUG_VGA): Removed.
19878 (CHAR_WIDTH): Likewise.
19879 (CHAR_HEIGHT): Likewise.
19880 (TEXT_WIDTH): Likewise.
19881 (TEXT_HEIGHT): Likewise.
19882 (DEFAULT_FG_COLOR): Likewise.
19883 (DEFAULT_BG_COLOR): Likewise.
19884 (colored_char): Likewise.
19885 (xpos): Likewise.
19886 (ypos): Likewise.
19887 (cursor_state): Likewise.
19888 (fg_color): Likewise.
19889 (bg_color): Likewise.
19890 (text_buf): Likewise.
19891 (page): Likewise.
19892 (font): Likewise.
19893 (framebuffer): New variable.
19894 (set_read_map): Disabled.
19895 (setup): New variable.
19896 (is_target): Likewise.
19897 (grub_vga_mod_init): Likewise.
19898 (grub_vga_mod_fini): Likewise.
19899 (check_vga_mem): Likewise.
19900 (write_char): Likewise.
19901 (write_cursor): Likewise.
19902 (scroll_up): Likewise.
19903 (grub_vga_putchar): Likewise.
19904 (grub_vga_getcharwidth): Likewise.
19905 (grub_vga_getwh): Likewise.
19906 (grub_vga_getxy): Likewise.
19907 (grub_vga_gotoxy): Likewise.
19908 (grub_vga_cls): Likewise.
19909 (grub_vga_setcolorstate): Likewise.
19910 (grub_vga_setcursor): Likewise.
19911 (grub_video_vga_init): New function.
19912 (grub_video_vga_setup): Likewise.
19913 (grub_video_vga_fini): Likewise.
19914 (update_target): Likewise.
19915 (grub_video_vga_blit_bitmap): Likewise.
19916 (grub_video_vga_blit_render_target): Likewise.
19917 (grub_video_vga_set_active_render_target): Likewise.
19918 (grub_video_vga_get_active_render_target): Likewise.
19919 (grub_video_vga_swap_buffers): Likewise.
19920 (grub_video_vga_set_palette): Likewise.
19921 (grub_video_vga_get_info_and_fini): Likewise.
19922 (grub_vga_term): Removed.
19923 (grub_video_vga_adapter): New variable.
19924 (GRUB_MOD_INIT): Register a video driver instead of terminal.
19925 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
19926
2bf61a98
VS
199272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19928
19929 * video/readers/jpeg.c: Indented.
19930
09ddcd11
VS
199312010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19932
19933 Various jpeg cleanups.
19934
19935 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
19936 (grub_jpeg_decode_quan_table): Use sizeof.
19937 (grub_jpeg_decode_du): Use ARRAY_SIZE.
19938
e5507505
PH
199392010-05-05 Peter Hurley <No e-mail available> (tiny change)
19940
19941 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
19942 tables. Ignore non-last ac bit.
19943 (grub_jpeg_decode_quan_table): Likewise.
19944
7e720a9b
VS
199452010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19946
19947 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
19948 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
19949 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19950 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
19951 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
19952 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
19953
a7fc080b
VS
199542010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19955
19956 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
19957 error.
19958
2bf6012d
VS
199592010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19960
19961 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
19962
265d68cd
VS
199632010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19964
19965 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
19966 condition.
19967
199682010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
19969
19970 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
19971 part.
19972
265d68cd 199732010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
19974
19975 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
19976 pointers.
19977
265d68cd 199782010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
19979
19980 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
19981
d1b61374
CF
199822010-05-01 Christian Franke <franke@computer.org>
19983
19984 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
19985 Remove broken Cygwin path conversion.
19986 * util/misc.c: [__CYGWIN__] Add include and define.
19987 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
19988 for Cygwin 1.7.
19989 (make_system_path_relative_to_its_root): Simplify loop, replace early
19990 return by break.
19991 [__CYGWIN__] Add conversion to win32 path.
19992 Include "/" case in trailing slash removal.
19993
3558c6e9
VS
199942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19995
19996 * kern/main.c (grub_load_config): Fix copy-pasted comment.
19997 Reported by: Seth Goldberg
19998
f5f3ff93
VS
199992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20000
20001 * commands/help.c (grub_cmd_help): Fix a typo.
20002 Reported by: Seth Goldberg
20003
d8b5cd40
VS
200042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20005
20006 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20007 name and add N_.
20008 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20009 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20010 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20011 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20012 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20013 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20014 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20015 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20016 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20017 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20018 * normal/context.c (GRUB_MOD_INIT): Likewise.
20019 * normal/main.c (GRUB_MOD_INIT): Likewise.
20020 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20021 * term/serial.c (GRUB_MOD_INIT): Likewise.
20022 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20023
88c14915
VS
200242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20025
20026 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20027 extra == 0.
20028
165134bc
VS
200292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20030
20031 * commands/iorw.c: New file.
20032 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20033 (iorw_mod_SOURCES): New variable.
20034 (iorw_mod_CFLAGS): Likewise.
20035 (iorw_mod_LDFLAGS): Likewise.
20036
c5ac9b32
VS
200372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20038
20039 Hotkey support
20040
20041 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20042 * normal/main.c (hotkey_aliases): New variable.
20043 (grub_normal_add_menu_entry): Parse "--hotkey".
20044 * normal/menu_text.c (run_menu): Handle hotkeys.
20045
ce60689c
VS
200462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20047
20048 * kern/i386/coreboot/init.c (grub_machine_init): Call
20049 grub_machine_mmap_init on qemu.
20050
0359d006
VS
200512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 * boot/i386/qemu/boot.S: Add a missing .code16.
20054
7819a456
VS
200552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20056
20057 Use LBIO on coreboot.
20058
20059 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20060 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20061 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20062 New declaration.
20063 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20064 grub_machine_mmap_init on coreboot.
20065 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20066 GRUB_LINUXBIOS_MEMBER_LINK.
20067 (grub_machine_mmap_iterate): Fix declaration.
20068 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20069
7210dca9
VS
200702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20071
20072 Split coreboot and multiboot ports.
20073
20074 * conf/i386-multiboot.rmk: New file.
20075 * configure.ac: Add multiboot port.
20076 * include/grub/i386/multiboot/boot.h: New file.
20077 * include/grub/i386/multiboot/console.h: Likewise.
20078 * include/grub/i386/multiboot/init.h: Likewise.
20079 * include/grub/i386/multiboot/kernel.h: Likewise.
20080 * include/grub/i386/multiboot/loader.h: Likewise.
20081 * include/grub/i386/multiboot/memory.h: Likewise.
20082 * include/grub/i386/multiboot/serial.h: Likewise.
20083 * include/grub/i386/multiboot/time.h: Likewise.
20084 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20085 * loader/multiboot.c: Likewise.
20086 * loader/multiboot_mbi2.c: Likewise.
20087 * util/grub-mkrescue.in: Generate multiboot rescue.
20088
6f8aaf68
VS
200892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20090
3080f7a7
VS
20091 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20092
200932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20094
20095 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
20096
20097 * commands/terminal.c (abstract_terminal): New struct.
20098 (handle_command): New function. Based on grub_cmd_terminal_input.
20099 (grub_cmd_terminal_input): Use handle_command.
20100 (grub_cmd_terminal_output): Use handle_command.
20101
a8ebb841
BC
201022010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20103
20104 Fix comment handling.
20105
20106 * tests/grub_script_comments.in: New testcase.
20107 * conf/tests.rmk: Rules for new testcase.
20108 * script/yylex.l: Updated flex rules.
20109
bb06ba08
ST
201102010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20111
20112 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
20113 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20114 if argc is 1.
bb06ba08 20115
cc9d2425
VS
201162010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20119 autogen issues.
20120
460d8402
CF
201212010-04-26 Christian Franke <franke@computer.org>
20122
20123 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20124 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20125 (grub_get_prefix): Remove function.
20126 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20127 make_system_path_relative_to_its_root ().
20128 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20129
553c01f9
CF
201302010-04-24 Christian Franke <franke@computer.org>
20131
20132 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20133 (kernel_img_LDFLAGS): Remove -static-libgcc.
20134
2aec1692
CF
201352010-04-24 Christian Franke <franke@computer.org>
20136
20137 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20138 and CHECK_END_SYMBOL if grub-emu is built.
20139 Unset TARGET_OBJ2ELF if grub-emu is built
20140 without module support.
20141
f67dc308
JS
201422010-04-24 Jiro SEKIBA <jir@unicus.jp>
20143
20144 Nilfs2 support.
20145
20146 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20147 (grub_fstest_SOURCES): Likewise.
20148 (pkglib_MODULES): Add nilfs2.mod.
20149 (nilfs2_mod_SOURCES): New variable.
20150 (nilfs2_mod_CFLAGS): Likewise.
20151 (nilfs2_mod_LDFLAGS): Likewise.
20152 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20153 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20154 * fs/nilfs2.c: New file.
20155
4ba8d354
VS
201562010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20157
20158 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20159 is not supported.
20160
0d2c20c6
GS
201612010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20162
20163 Add grub-mkconfig support for NetBSD.
20164
20165 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20166 * util/grub-mkconfig.in: export new NetBSD specific variables.
20167 * po/POTFILES-shell: added 10_netbsd.in.
20168 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20169
bc4a2d83
BC
201702010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20171
20172 Fix emu build with grub-emu-pci and grub-emu-modules.
20173
20174 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20175 functions.
20176 * include/grub/libpciaccess.h: New file.
20177 * conf/any-emu.rmk: Update kernel headers for emu build.
20178
f48c87aa
VS
201792010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20180
20181 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20182
18959385
VS
201832010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20184
20185 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20186
0037de3f
VS
201872010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20188
20189 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20190 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20191 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20192 util/ieee1275/ofpath.c.
20193 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20194 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20195 * include/grub/sparc64/ieee1275/boot.h
20196 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20197 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20198 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20199 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20200 const char *.
20201 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20202 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20203 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20204 install.
20205
38e55e90
GS
202062010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20207
20208 * util/grub-mkconfig.in: Corrected two == equality tests.
20209 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20210 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20211 expect a number appended to it.
20212 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20213 expects a number appended to it.
20214
a9e6ff28
VS
202152010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20216
20217 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20218
0b830b8f
VS
202192010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20220
20221 * util/hostdisk.c (make_device_name): Change to new partition naming.
20222
0973daeb
VS
202232010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20224
20225 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20226
460d8402 202272010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
20228
20229 * Makefile.in: Add missing localedir setting.
20230
0b456309
CW
202312010-04-14 Colin Watson <cjwatson@ubuntu.com>
20232
20233 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20234 mistake in r2156. Noticed by Anthony Fok.
20235
20236 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20237 @localedir@.
20238 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20239
08f46d62
BC
202402010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20241
20242 Fix a spurious, uninitialized variable warning.
20243
20244 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20245 Initialize variable, shdr.
20246 (grub_freebsd_load_elfmodule): Likewise.
20247 (grub_freebsd_load_elf_meta): Likewise.
20248
8c4a72d4
BC
202492010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20250
20251 Fix for escaped dollar in double quoted strings.
20252
20253 * script/yylex.l: Updated flex rules.
20254 * conf/tests.rmk: Rule for new testcase.
20255 * tests/grub_script_dollar.in: New testcase.
20256
ce44826e
CPE
202572010-04-13 Carles Pina i Estany <carles@pina.cat>
202582010-04-13 Colin Watson <cjwatson@ubuntu.com>
20259
20260 Enclose all translated strings in grub.cfg in single quotes, and
20261 escape them appropriately (Ubuntu bug #552921).
20262
20263 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20264 * util/grub.d/10_hurd.in: Use it.
20265 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20266 * util/grub.d/10_linux.in (linux_entry): Likewise.
20267
4b0cd8f8
VS
202682010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20269
20270 Fix cygwin compilation.
20271
20272 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20273 * include/grub/misc.h (__register_frame_info)
20274 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20275 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20276 * kern/misc.c (__register_frame_info)
20277 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20278 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20279
01fcf061
VS
202802010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20281
20282 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20283
5d04b11e
VS
202842010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20285
20286 Unify libgcc processing.
20287
20288 * Makefile.in (kernel_img_LDFLAGS): New variable.
20289 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20290 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20291 overwriting.
20292 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20293 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20294 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20295 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20296 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20297 overwriting. Remove -lgcc and -static-libgcc
20298 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20299 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20300 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20301 (kernel_img_LDFLAGS): Append instead of overwriting.
20302 Remove -lgcc and -static-libgcc
20303 * conf/sparc64-ieee1275.rmk: Likewise.
20304 * include/grub/powerpc/libgcc.h: Move to ...
20305 * include/grub/libgcc.h: .. this.
20306 * include/grub/libgcc.h: Don't export most of the function on x86.
20307 (__bswapsi2): New export.
20308 (__bswapdi2): Likewise.
20309 * include/grub/mips/libgcc.h: Removed.
20310 * include/grub/sparc64/libgcc.h: Likewise.
20311
b7f3ac29
VS
203122010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20313
20314 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20315 disk_info_msg (conflicts with gettexting into languages with cases).
20316
2c7031b1
GS
203172010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20318
20319 Add grub-probe support for NetBSD.
20320
20321 * util/getroot.c (find_root_device): Convert block device to
20322 character device on NetBSD.
20323 * util/probe.c (probe): Require character device on NetBSD.
20324 * util/hostdisk.c: NetBSD specific headers.
20325 (configure_device_driver): new function to tune device driver
20326 parameters (currently only for NetBSD floppy driver).
20327 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20328 via disklabel ioctl).
20329 (open_device): call configure_device_driver on NetBSD.
20330 (convert_system_partition_to_system_disk): NetBSD specific code.
20331 (device_is_wholedisk): Likewise.
20332 (grub_util_biosdisk_get_grub_dev): Likewise.
20333 (make_device_name): Fixed a typo in bsd_part_str.
20334 * configure.ac: check for opendisk() and getrawpartition() on
20335 NetBSD and set LIBUTIL.
20336 * Makefile.in: add LIBUTIL to LIBS.
20337
f516290c
BC
203382010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20339
20340 Documentation fix.
20341
20342 * util/grub-script-check.c: Better help message.
20343
d8dcc0df
BC
203442010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20345
20346 Fix FreeBSD build.
20347
20348 * configure.ac: Flex version check.
20349 * conf/common.rmk: Add -Wno-error to sh.mod.
20350 * script/yylex.l: Remove all #pragma.
20351
6734334a
VS
203522010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20353
20354 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20355 prototype.
20356 Reported by: Seth Goldberg.
20357
daea6abd
VS
203582010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20359
20360 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20361 Rename "module" to "module2".
20362 Reported by: Seth Goldberg.
20363
f2fd9d2b
VS
203642010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20365
20366 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20367 EXPORT_FUNC.
20368 Reported by: Seth Goldberg.
20369
be124579
VS
203702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20371
20372 * lib/posix_wrap/locale.h: Add missing file.
20373 Reported by: Seth Goldberg.
20374
ef5da797
VS
203752010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20376
20377 grub-emu module load support.
20378
20379 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20380 NO_DYNAMIC_MODULES switched to this.
20381 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20382 (CFLAGS): Likewise.
20383 * conf/any-emu.rmk: Generate symlist.
20384 (kernel_img_HEADERS): Add util/datetime.h.
20385 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20386 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20387 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20388 kern/$(target_cpu)/cache.S.
20389 * configure.ac (grub-emu-modules): New option.
20390 * genmk.rb: Handle multiple source lists.
20391 * include/grub/sdl.h: New file.
20392 * include/grub/libusb.h: Likewise.
20393 * util/grub-emu.c (main): Hanle (host) root.
20394 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20395 GRUB_ERR_UNKNOWN_DEVICE.
20396 * util/misc.c: Move mm functions to ...
20397 * util/mm.c: ... here. All users updated.
20398
47822096
VS
203992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20402 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20403 missing files.
20404 (maintainer-clean): Remove libgcrypt-grub.
20405
5d7e7445
VS
204062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20407
20408 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20409
25f4e252
EC
204102010-04-09 EFI Coder <eficoder@hotmail.com>
20411
20412 * normal/menu_text.c (print_message): Clean up the message and show
20413 the Fn information when on EFI
20414 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20415
027de555
VS
204162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20417
20418 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20419 All users updated.
20420 * normal/crypto.c (read_crypto_list): Likewise.
20421 * normal/dyncmd.c (read_command_list): Likewise.
20422 * normal/term.c (read_terminal_list): Likewise.
20423 * normal/main.c (read_lists): Use explicit prefix.
20424 (read_lists_hook): Use read_lists.
20425 (grub_normal_execute): Likewise.
20426
47779711
VS
204272010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20428
20429 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20430 Reported by: Thomas Schmitt.
20431 Add -no-emul-boot to grub-mkisofs parameters.
20432
1118c32e
VS
204332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20434
20435 * font/font.c: Indented.
20436
7d652447
BC
204372010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20438
20439 Elif support to GRUB script (by Deepak Vankadaru).
20440
20441 * tests/grub_script_if.in: New testcase.
20442 * conf/tests.rmk: Rule for new testcase.
20443 * script/parser.y: Grammar rules for elif.
20444
34bb22df
BC
204452010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20446
20447 While and until loops support to GRUB script.
20448
20449 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20450 (grub_script_create_cmdwhile): New function prototype.
20451 (grub_script_execute_cmdwhile): New function prototype.
20452 * script/execute.c (grub_script_execute_cmdwhile): New function.
20453 * script/parser.y (command): New commands.
20454 (whilecmd): New grammar rule.
20455 (untilcmd): New grammar rule.
20456 * script/script.c (grub_script_create_cmdwhile): New function.
20457 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20458 function.
20459
20460 * tests/grub_script_while1.in: New testcase.
20461 * conf/tests.rmk: Rule for new testcase.
20462
e215d8e0
VS
204632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20464
20465 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20466 as *.jpg.
20467
d7c43ba1
MV
204682010-04-09 Mario Vazquez <mariovazq@gmail.com>
20469
20470 GRUB_BACKGROUND support.
20471
20472 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20473 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20474
d64795c0
VS
204752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20476
20477 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 20478 Idea by: Mario Vazquez
d64795c0
VS
20479
20480 * util/grub.d/00_header.in: Load pf2 and image modules.
20481
f267f83a
VS
204822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20483
20484 grub-mkconfig multiple terminal support.
20485
20486 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20487 * util/grub.d/00_header.in: Likewise.
20488
b7841ceb
VS
204892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20492 we use cd $(srcdir).
20493
df60998c
CW
204942010-04-08 Colin Watson <cjwatson@ubuntu.com>
20495
20496 * util/grub.d/10_linux.in: Only use the first word of
20497 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20498 spaces in GRUB_DISTRIBUTOR.
20499 * util/grub.d/10_kfreebsd.in: Likewise.
20500 * util/grub.d/10_hurd.in: Likewise.
20501
fa09c82e
BC
205022010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20503
14e18ae3 20504 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
20505
20506 * tests/util/grub-shell.in: Remove -serial stdio option.
20507
daf892b3
BC
205082010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20509
20510 POSIX header file wrappers.
20511
20512 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20513 equivalents.
20514 * lib/posix_wrap/ctype.h: Likewise.
20515 * lib/posix_wrap/errno.h: Likewise.
20516 * lib/posix_wrap/langinfo.h: Likewise.
20517 * lib/posix_wrap/limits.h: Likewise.
20518 * lib/posix_wrap/localcharset.h: Likewise.
20519 * lib/posix_wrap/stdint.h: Likewise.
20520 * lib/posix_wrap/stdio.h: Likewise.
20521 * lib/posix_wrap/stdlib.h: Likewise.
20522 * lib/posix_wrap/string.h: Likewise.
20523 * lib/posix_wrap/sys/types.h: Likewise.
20524 * lib/posix_wrap/unistd.h: Likewise.
20525 * lib/posix_wrap/wchar.h: Likewise.
20526 * lib/posix_wrap/wctype.h: Likewise.
20527 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20528 (grub_script.yy.h): Likewise.
20529 * script/yylex.l: Remove POSIX emulation #defines.
20530 * Makefile.in (POSIX_CFLAGS): New variable.
20531 (GNULIB_UTIL_CFLAGS): Likewise.
20532
20533 Regexp support.
20534
20535 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20536 (regexp_mod_SOURCES): New variable.
20537 (regexp_mod_CFLAGS): Likewise.
20538 (regexp_mod_LDFLAGS): Likewise.
20539 * commands/regexp.c: New file.
20540 * gnulib/regcomp.c: New file. Imported from gnulib.
20541 * gnulib/regex.c: Likewise.
20542 * gnulib/regex_internal.c: Likewise.
20543 * gnulib/regex_internal.h: Likewise.
20544 * gnulib/regexec.c: Likewise.
20545 * gnulib/regex.h: Likewise.
20546
974ac4f7
VS
205472010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20548
20549 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20550 unsupported video mode types.
20551
2622c3ff
VS
205522010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20553
20554 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
20555
064cb524
VS
205562010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20557
20558 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
20559 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
20560
a8c3b552
VS
205612010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20562
20563 Remove unused grub_vga_get_font.
20564
20565 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
20566 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
20567
187bbe3d
GS
205682010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20569
20570 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
20571 * include/grub/misc.h: Likewise.
20572
b9396631
GS
205732010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20574
20575 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
20576 for which failure is fatal.
20577
50479feb
GS
205782010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20579
20580 * util/grub-install.in: Use mkdir -p to create grub directory.
20581 * util/i386/efi/grub-install.in: Likewise.
20582 * util/ieee1275/grub-install.in: Likewise.
20583
b1654fdf
GS
205842010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20585
20586 * Makefile.in (LEX): new variable.
20587
bd5a6415
GS
205882010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20589
20590 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
20591 `=' and added double quotes on operands of this equality test.
20592
3db3a82b
VS
205932010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20594
20595 * Makefile.in (uninstall): Remove a leftover debug echo.
20596 Reported by: Grégoire Sutre
20597
38023412
VS
205982010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20599
20600 MIPS multiboot2 support.
20601
20602 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
20603 (multiboot2_mod_SOURCES): New variable.
20604 (multiboot2_mod_CFLAGS): Likewise.
20605 (multiboot2_mod_LDFLAGS): Likewise.
20606 (multiboot2_mod_ASFLAGS): Likewise.
20607 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
20608 definition.
20609 (MULTIBOOT_ENTRY_REGISTER): Likewise.
20610 (MULTIBOOT_MBI_REGISTER): Likewise.
20611 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
20612 (MULTIBOOT_ELF32_MACHINE): Likewise.
20613 (MULTIBOOT_ELF64_MACHINE): Likewise.
20614 * include/grub/mips/multiboot.h: New file.
20615 * include/grub/video.h (grub_video_driver_id): New type
20616 GRUB_VIDEO_DRIVER_SM712.
20617 (grub_video_get_info_and_fini): Export.
20618 (grub_video_get_palette): Likewise.
20619 (grub_video_get_driver_id): Likewise.
20620 * include/multiboot2.h: Resynced with spec.
20621 * loader/i386/multiboot.c: Moved from here ...
20622 * loader/multiboot.c: ... here. All users updated.
20623 (grub_multiboot_boot): Use platform-specific macros.
20624 * loader/i386/multiboot_elfxx.c: Moved from here ...
20625 * loader/multiboot_elfxx.c: ... here. All users updated.
20626 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
20627 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
20628 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
20629
47674667
VS
206302010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20631
20632 Import gnulib argp module.
20633
20634 * gnulib/argp-ba.c: New file.
20635 * gnulib/argp-eexst.c: Likewise.
20636 * gnulib/argp-fmtstream.c: Likewise.
20637 * gnulib/argp-fmtstream.h: Likewise.
20638 * gnulib/argp-fs-xinl.c: Likewise.
20639 * gnulib/argp-help.c: Likewise.
20640 * gnulib/argp-namefrob.h: Likewise.
20641 * gnulib/argp-parse.c: Likewise.
20642 * gnulib/argp-pin.c: Likewise.
20643 * gnulib/argp-pv.c: Likewise.
20644 * gnulib/argp-pvh.c: Likewise.
20645 * gnulib/argp-version-etc.c: Likewise.
20646 * gnulib/argp-version-etc.h: Likewise.
20647 * gnulib/argp-xinl.c: Likewise.
20648 * gnulib/argp.h: Likewise.
20649
495442ed
VS
206502010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20651
20652 * kern/device.c (grub_device_iterate): Clear errors after failed
20653 opening device.
20654
f9fd65df
VS
206552010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20656
20657 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
20658 returned by firmware.
20659
af09641e
VS
206602010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20661
20662 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
20663 compilation on coreboot and qemu
20664
016883a5
VS
206652010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20666
20667 * include/multiboot2.h: Resync with spec.
20668
f97e1f7d
VS
206692010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20670
20671 Multiboot2 tag support
20672
20673 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
20674 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
20675 Remove loader/multiboot_loader.c.
20676 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
20677 (grub_multiboot2_real_boot): Likewise.
20678 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
20679 (grub_get_multiboot_mmap_count): New proto.
20680 (grub_fill_multiboot_mmap): Likewise.
20681 (grub_multiboot_set_video_mode): Likewise.
20682 (grub_multiboot_set_console): Likewise.
20683 (grub_multiboot_load): Likewise.
20684 (grub_multiboot_load_elf): Likewise.
20685 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
20686 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
20687 * include/multiboot.h: Resynced with specification.
20688 * include/multiboot2.h: Resynced with specification.
20689 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
20690 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
20691 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
20692 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
20693 users updated.
20694 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
20695 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
20696 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
20697 Removed.
20698 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
20699 Moved from here...
20700 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
20701 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20702 Moved from here...
20703 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
20704 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
20705 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
20706 All users updated.
20707 * loader/i386/multiboot_mbi2.c: New file.
20708
3506b90b
VS
207092010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20710
20711 Resync with gnulib.
20712
20713 * Makefile.in (GNULIB_CFLAGS): New variable.
20714 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
20715 (grub_script_check_CFLAGS): New variable.
20716 * gnulib/alloca.h: Resync with gnulib.
20717 * gnulib/error.c: Likewise.
20718 * gnulib/error.h: Likewise.
20719 * gnulib/fnmatch.c: Likewise.
20720 * gnulib/fnmatch_loop.c: Likewise.
20721 * gnulib/getdelim.c: Likewise.
20722 * gnulib/getline.c: Likewise.
20723 * gnulib/getopt.c: Likewise.
20724 * gnulib/getopt1.c: Likewise.
20725 * gnulib/getopt_int.h: Likewise.
20726 * gnulib/gettext.h: Likewise.
20727 * gnulib/progname.c: Likewise.
20728 * gnulib/progname.h: Likewise.
20729
394a3120
GS
207302010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
20731
20732 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
20733 which is the case with --disabled-nls.
20734
20735 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
20736 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
20737 * util/misc.c: Likewise.
20738 * util/mkisofs/mkisofs.c: Likewise.
20739 * util/mkisofs/mkisofs.h: Likewise.
20740
969d1c78
VS
207412010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20742
20743 Simplify Apple CC support.
20744
20745 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
20746 Add 0 byte at the end not to have a symbol with empty target.
20747 * mmap/i386/pc/mmap_helper.S: Likewise.
20748 * genmk.rb: Ignore errors 2030 and 2050.
20749 * kern/i386/pc/startup.S: Use LOCAL when possible.
20750
8d2977bb
BC
207512010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
20752
20753 Testcase and the fix for final semicolon on cmdline.
20754
20755 * tests/grub_script_final_semicolon.in: New testcase.
20756 * conf/tests.rmk: Rules for the new testcase.
20757 * script/parser.y: Grammar fix.
20758
a7bd6915
BC
207592010-03-26 BVK Chaitanya <bvk@localhost>
20760
20761 Blank lines testcase for GRUB script.
20762
20763 * tests/grub_script_blanklines.in: New testcase.
20764 * conf/tests.rmk: Rules for the new testcase.
20765
e4ff6628
VS
207662010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20767
20768 Don't use __FILE__.
20769
20770 * genmk.rb: Add -DGRUB_FILE to all C targets.
20771 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
20772 * include/grub/list.h: Likewise.
20773 * include/grub/misc.h: Likewise.
20774 * include/grub/mm.h: Likewise.
20775 * include/grub/test.h: Likewise.
20776 * kern/mm.c: Likewise.
20777 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20778
6a5cf6b6
VS
207792010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20780
20781 Sunpc partitions support.
20782
20783 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
20784 (grub_fstest_SOURCES): Likewise.
20785 (pkglib_MODULES): Add part_sunpc.mod.
20786 (part_sunpc_mod_SOURCES): New variable.
20787 (part_sunpc_mod_CFLAGS): Likewise.
20788 (part_sunpc_mod_LDFLAGS): Likewise.
20789 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
20790 * partmap/sunpc.c: New file.
20791
746d9045
BC
207922010-03-26 BVK Chaitanya <bvk@localhost>
20793
20794 For loop support to GRUB script.
20795
20796 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
20797 (grub_script_create_cmdfor): New function prototype.
20798 (grub_script_execute_cmdfor): New function prototype.
20799 * script/execute.c (grub_script_execute_cmdfor): New function.
20800 * script/parser.y (command): New for command.
20801 (forcmd): New grammar rule.
20802 * script/script.c (grub_script_create_cmdfor): New function.
20803 * util/grub-script-check.c (grub_script_execute_cmdfor): New
20804 function.
20805 * tests/grub_script_for1.in: New testcase.
20806 * conf/tests.rmk: Rules for new testcase.
20807
18486b18
VS
208082010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20809
20810 Nested partitions
20811
20812 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
20813 'partition' is NULL, grub_partition_get_start already does that.
20814 * commands/loadenv.c (check_blocklists): Likewise.
20815 (write_blocklists): Likewise.
20816 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
20817 (grub_fstest_SOURCES): Likewise.
20818 (pkglib_MODULES): Add part_bsd.mod.
20819 (part_bsd_mod_SOURCES): New variable.
20820 (part_bsd_mod_CFLAGS): Likewise.
20821 (part_bsd_mod_LDFLAGS): Likewise.
20822 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
20823 (grub_emu_SOURCES): Likewise.
20824 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20825 * include/grub/bsdlabel.h: New file.
20826 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
20827 'get_name'.
20828 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
20829 (grub_partition_map_list): New variable.
20830 (grub_partition_map_register): Inline.
20831 (grub_partition_map_unregister): Likewise.
20832 (FOR_PARTITION_MAPS): New macro.
20833 (grub_partition_map_iterate): Removed.
20834 (grub_partition_get_start): Handle nested partitions.
20835 * include/grub/msdos_partition.h: Remove bsd-related entries.
20836 (grub_pc_partition): Remove.
20837 * kern/disk.c (grub_disk_close): Free partition data.
20838 (grub_disk_adjust_range): Handle nested partitions.
20839 * kern/partition.c (grub_partition_map_probe): New function.
20840 (grub_partition_probe): Parse name to number, handle subpartitions.
20841 (get_partmap): New function.
20842 (grub_partition_iterate): Handle subpartitions.
20843 (grub_partition_get_name): Likewise.
20844 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
20845 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
20846 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
20847 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
20848 Set 'number'.
20849 (acorn_partition_map_probe): Remove.
20850 (acorn_partition_map_get_name): Likewise.
20851 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
20852 Set 'number'.
20853 Set 'index' to 0 since there can be only one partition entry per sector.
20854 (amiga_partition_map_probe): Remove.
20855 (amiga_partition_map_get_name): Likewise.
20856 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
20857 Set 'number'.
20858 Set 'offset' and 'index' to real positions of partitions.
20859 (apple_partition_map_probe): Remove.
20860 (apple_partition_map_get_name): Likewise.
20861 * partmap/bsdlabel.c: New file.
20862 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
20863 Set 'number'.
20864 Allocate 'data' so it can be correctly freed.
20865 Set 'index' to offset inside sector.
20866 (gpt_partition_map_probe): Remove.
20867 (gpt_partition_map_get_name): Likewise.
20868 * partmap/msdos.c (grub_partition_parse): Remove.
20869 (pc_partition_map_iterate): Don't force raw access.
20870 Set 'number'.
20871 Make 'ext_offset' a local variable.
20872 (pc_partition_map_probe): Remove.
20873 (pc_partition_map_get_name): Remove.
20874 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
20875 Set 'number'.
20876 (sun_partition_map_probe): Remove.
20877 (sun_partition_map_get_name): Likewise.
20878 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
20879 (grub_pcpart_type): Likewise.
20880 * util/hostdisk.c (open_device): Handle new numbering scheme.
20881 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
20882 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
20883 * util/grub-probe.c (probe_partmap): Handle nested paritions.
20884 * util/grub-install.in: Insert all subpartition modules.
20885 * util/ieee1275/grub-install.in: Likewise.
20886
a3940f88
AG
208872010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
20888
20889 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
20890 grammar.
20891
21b99926 208922010-03-24 Colin Watson <cjwatson@ubuntu.com>
20893
20894 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
20895
bed1d352
CW
208962010-03-21 Colin Watson <cjwatson@ubuntu.com>
20897
20898 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
20899 match where 'make install' puts them.
20900 * util/i386/efi/grub-install.in: Likewise.
20901
c9f58427
CW
209022010-03-19 Colin Watson <cjwatson@ubuntu.com>
20903
20904 * .bzrignore: Add gentrigtables, grub-script-check,
20905 grub_script_check_init.c, grub_script_check_init.h, and
20906 trigtables.c.
20907
f84afb27
VS
209082010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
20909
20910 * kern/parser.c: Indented.
20911
ed0e3d30
VS
209122010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20913
20914 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
20915
0ea81d98
VS
209162010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20917
20918 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
20919 alpha_mask_size == 0 case.
20920
0cdc2a09
BC
209212010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
20922
20923 GRUB shell lexer and parser improvements.
20924
20925 * conf/any-emu.rmk: Build rule updates.
20926 * conf/common.rmk: Likewise.
20927 * conf/i386-coreboot.rmk: Likewise.
20928 * conf/i386-efi.rmk: Likewise.
20929 * conf/i386-ieee1275.rmk: Likewise.
20930 * conf/i386-pc.rmk: Likewise.
20931 * conf/powerpc-ieee1275.rmk: Likewise.
20932 * conf/x86_64-efi.rmk: Likewise.
20933
20934 * configure.ac: Configure check for flex.
20935
20936 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
20937 types.
20938 (grub_lexer_param): Struct member updates.
20939 (grub_parser_param): Likewise.
20940 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
20941 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
20942 (grub_script_lexer_init): Prototype update.
20943 (grub_script_lexer_record_start): Likewise.
20944 (grub_script_lexer_record_stop): Likewise.
20945 (grub_script_lexer_yywrap): New function prototype.
20946 (grub_script_lexer_fini): Likewise.
20947 (grub_script_execute_argument_to_string): Removed by...
20948 (grub_script_execute_argument_to_argv): ...better version.
20949
20950 * script/execute.c (ROUND_UPTO): New macro.
20951 (grub_script_execute_cmdline): Out of memory fixes.
20952 (grub_script_execute_menuentry): Likewise.
20953 (grub_script_execute_argument_to_string): Removed. Update all
20954 users by...
20955 (grub_script_execute_argument_to_argv): ...better version.
20956 * script/function.c (grub_script_function_create): Use
20957 grub_script_execute_argument_to_argv instead of
20958 grub_script_execute_argument_to_string.
20959
20960 * script/lexer.c (check_varstate): Removed.
20961 (check_textstate): Removed.
20962 (grub_script_lexer_record_start): Likewise.
20963 (grub_script_lexer_record_stop): Likewise.
20964 (recordchar): Replaced with...
20965 (grub_script_lexer_record): ...new function.
20966 (nextchar): Removed.
20967 (grub_script_lexer_init): Rewritten.
20968 (grub_script_yylex): Rewritten.
20969 (append_newline): New function.
20970 (grub_script_lexer_yywrap): New function.
20971 (grub_script_lexer_fini): New function.
20972 (grub_script_yyerror): Sets error flag.
20973
20974 * script/yylex.l: New file.
20975 (grub_lexer_yyfree): Wrapper for flex yyffre.
20976 (grub_lexer_yyalloc): Likewise.
20977 (grub_lexer_yyrealloc): Likewise.
20978 * script/parser.y: Refactored.
20979
20980 * script/script.c (grub_script_arg_add): Out of memory fixes.
20981 (grub_script_add_arglist): Likewise.
20982 (grub_script_create_cmdline): Likewise.
20983 (grub_script_create_cmdmenu): Likewise.
20984 (grub_script_add_cmd): Likewise.
20985 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
20986 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
20987 unnecessary code.
20988
20989 * tests/grub_script_echo1.in: New testcase.
20990 * tests/grub_script_vars1.in: New testcase.
20991 * tests/grub_script_echo_keywords.in: New testcase.
20992
1d63a066
VS
209932010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20994
20995 Remove some redundancy in build system.
20996
20997 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
20998 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
20999 (TARGET_LDFLAGS): Add -nostdlib.
21000 (TARGET_IMG_LDFLAGS): Likewise.
21001 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21002 anything since mmap isn't available.
21003 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21004 Add util/time.c.
21005 (pkglib_MODULES): Remove reboot.mod.
21006 (reboot_mod_SOURCES): Removed.
21007 (reboot_mod_CFLAGS): Likewise.
21008 (reboot_mod_LDFLAGS): Likewise.
21009 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21010 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21011 (DEFSYMFILES): Add kernel_syms.lst.
21012 (kernel_img_HEADERS): Add common headers.
21013 (symlist.c): New target.
21014 (kernel_syms.lst): Likewise.
21015 (pkglib_MODULES): Add memdisk.mod.
21016 (memdisk_mod_SOURCES): New variable.
21017 (memdisk_mod_CFLAGS): Likewise.
21018 (memdisk_mod_LDFLAGS): Likewise.
21019 (pkglib_MODULES): Add reboot.mod.
21020 (reboot_mod_SOURCES): New variable.
21021 (reboot_mod_CFLAGS): Likewise.
21022 (reboot_mod_LDFLAGS): Likewise.
21023 (pkglib_MODULES): Add date.mod.
21024 (date_mod_SOURCES): New variable.
21025 (date_mod_CFLAGS): Likewise.
21026 (date_mod_LDFLAGS): Likewise.
21027 (pkglib_MODULES): Add datehook.mod.
21028 (datehook_mod_SOURCES): New variable.
21029 (datehook_mod_CFLAGS): Likewise.
21030 (datehook_mod_LDFLAGS): Likewise.
21031 (pkglib_MODULES): Add lsmmap.mod.
21032 (lsmmap_mod_SOURCES): New variable.
21033 (lsmmap_mod_CFLAGS): Likewise.
21034 (lsmmap_mod_LDFLAGS): Likewise.
21035 (pkglib_MODULES): Add boot.mod.
21036 (boot_mod_SOURCES): New variable.
21037 (boot_mod_CFLAGS): Likewise.
21038 (boot_mod_LDFLAGS): Likewise.
21039 * conf/i386-coreboot.rmk: Removed redundant parts.
21040 * conf/i386-ieee1275.rmk: Likewise.
21041 * conf/i386-pc.rmk: Likewise.
21042 * conf/mips-yeeloong.rmk: Likewise.
21043 * conf/mips.rmk: Likewise.
21044 * conf/powerpc-ieee1275.rmk: Likewise.
21045 * conf/sparc64-ieee1275.rmk: Likewise.
21046 * conf/x86_64-efi.rmk: Likewise.
21047 * conf/i386-coreboot.rmk: Moved qemu parts ..
21048 * conf/i386-qemu.rmk: ... here
21049 * conf/i386-efi.rmk: Moved common parts to...
21050 * conf/x86-efi.rmk: ... here.
21051 * conf/i386.rmk: Added modules common to all x86 variants.
21052 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21053 * disk/memdisk.c: Remove grub/machine/kernel.h.
21054 * gensymlist.sh.in: Include symbol.h.
21055 * hook/datehook.c: Correct module name.
21056 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21057 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21058 * include/grub/i386/efi/serial.h: New file.
21059 * include/grub/x86_64/efi/serial.h: Likewise.
21060 * util/time.c: Likewise.
21061 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21062
463ac55f
CK
210632010-03-14 Colin King <colin.king@ubuntu.com>
210642010-03-14 Colin Watson <cjwatson@ubuntu.com>
21065
21066 Shrink the pre-partition-table part of boot.img by eight bytes.
21067
21068 * boot/i386/pc/boot.S (ERR): New macro.
21069 (chs_mode): Use ERR.
21070 (geometry_error): Likewise.
21071 (hd_probe_error): Remove. This is only used once, so we wrwite
21072 it inline instead.
21073 (read_error): Instead of printing read_error_string, just set up
21074 %si and fall through to ...
21075 (error_message): ... this new function, also used by ERR.
21076
08e46ede
CW
210772010-03-14 Colin Watson <cjwatson@ubuntu.com>
21078
21079 Speed up consecutive hostdisk operations on the same device.
21080
21081 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21082 (grub_util_biosdisk_open): Initialise disk->data.
21083 (struct linux_partition_cache): New structure.
21084 (linux_find_partition): Cache partition start positions; these are
21085 expensive to compute on every read and write.
21086 (open_device): Cache open file descriptor in disk->data, so that we
21087 don't have to reopen it and flush the buffer cache for consecutive
21088 operations on the same device.
21089 (grub_util_biosdisk_close): New function.
21090 (grub_util_biosdisk_dev): Set `close' member.
21091
21092 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21093 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21094 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21095 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21096 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21097
4a6d2d06
VS
210982010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21099
21100 Compile parts of grub-emu as modules.
21101
21102 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21103 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21104 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21105 (all-local): Add $(GRUB_EMU).
21106 (install-local): Install $(GRUB_EMU).
21107 (uninstall): Uninstall $(GRUB_EMU).
21108 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21109 * kern/dl.c: Likewise.
21110 * commands/sleep.c: Not include machine/time.h.
21111 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21112 (COMMON_CFLAGS): Likewise.
21113 (sbin_UTILITIES): Remove grub-emu.
21114 (grub_emu_SOURCES): Removed.
21115 (kernel_img_RELOCATABLE): New variable.
21116 (pkglib_PROGRAMS): Add kernel.img.
21117 (kernel_img_SOURCES): New variable
21118 (kernel_img_CFLAGS): Likewise.
21119 (kernel_img_LDFLAGS): Likewise.
21120 (TARGET_NO_STRIP): Likewise.
21121 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21122 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21123 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21124 (grub-emu): New target.
21125 (GRUB_EMU): New variable.
21126 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21127 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21128 * loader/xnu.c: Likewise.
21129 * include/grub/pci.h: Likewise.
21130 * genemuinit.sh: New file.
21131 * genemuinitheader.sh: Likewise.
21132 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21133 Support TARGET_NO_DYNAMIC_MODULES.
21134 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21135 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21136 * disk/loopback.c: Likewise.
21137 * font/font_cmd.c: Likewise.
21138 * partmap/acorn.c: Likewise.
21139 * partmap/amiga.c: Likewise.
21140 * partmap/apple.c: Likewise.
21141 * partmap/gpt.c: Likewise.
21142 * partmap/msdos.c: Likewise.
21143 * partmap/sun.c: Likewise.
21144 * parttool/msdospart.c: Likewise.
21145 * term/gfxterm.c: Likewise.
21146 * video/bitmap.c: Likewise.
21147 * video/readers/jpeg.c: Likewise.
21148 * video/readers/png.c: Likewise.
21149 * video/readers/tga.c: Likewise.
21150 * video/video.c: Likewise.
21151 * util/grub-emu.c (read_command_list): Removed.
21152 (main): Don't call util_init_nls.
21153 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21154 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21155
91fdd2ed
VS
211562010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21157
21158 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21159 date.mod, datehook.mod.
21160 (datetime_mod_SOURCES): New variable.
21161 (datetime_mod_CFLAGS): Likewise.
21162 (datetime_mod_LDFLAGS): Likewise.
21163 (date_mod_SOURCES): Likewise.
21164 (date_mod_CFLAGS): Likewise.
21165 (date_mod_LDFLAGS): Likewise.
21166 (datehook_mod_SOURCES): Likewise.
21167 (datehook_mod_CFLAGS): Likewise.
21168 (datehook_mod_LDFLAGS): Likewise.
21169 * conf/sparc64-ieee1275.rmk: Likewise.
21170 * lib/ieee1275/datetime.c: New file.
21171
873ccae6
VS
211722010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21173
21174 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21175 (ieee1275_fb_mod_SOURCES): New variable.
21176 (ieee1275_fb_mod_CFLAGS): Likewise.
21177 (ieee1275_fb_mod_LDFLAGS): Likewise.
21178 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21179 New proto.
21180 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21181 (HEAP_MAX_ADDR): Likewise.
21182 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21183 type.
21184 Correct stop condition.
21185 (grub_ieee1275_devices_iterate): New function.
21186 * video/ieee1275.c: New file.
21187
601c97c0
VS
211882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21189
21190 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21191
21192 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21193 as scratch.
21194 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21195 SCRATCH_PAD_DISKBOOT as scratch.
21196 (bootit): Pass Openfirmware pointer in %o4.
21197 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21198 of 0x200000.
21199 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21200 with util/grub-mkrawimage.c.
21201 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21202 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21203 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21204 (grub_aout_load) [GRUB_UTIL]: Likewise.
21205 * include/grub/kernel.h (grub_modules_get_end): New proto.
21206 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21207 (SCRATCH_PAD_BOOT): New definition.
21208 (SCRATCH_PAD_DISKBOOT): Likewise.
21209 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21210 * include/grub/sparc64/ieee1275/ieee1275.h
21211 (grub_ieee1275_original_stack): New variable
21212 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21213 New definition
21214 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21215 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21216 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21217 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21218 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21219 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21220 (grub_platform_image_format_t): New type.
21221 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21222 * kern/main.c (grub_modules_get_end)
21223 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21224 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21225 (codestart): Switch stacks.
21226 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21227 variable.
21228 (grub_heap_init): Use grub_modules_get_end.
21229 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21230 stack.
21231 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21232 (main): Likewise.
21233 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21234
d68b491e
TG
212352010-03-14 Thorsten Glaser <tg@mirbsd.org>
21236
21237 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21238
4e02ed50
MK
212392010-03-08 Matt Kraai <kraai@ftbfs.org>
21240
21241 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21242 bug #559005).
21243
1f15fc1e
VS
212442010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21245
21246 * genmoddep.awk: Output all missing symbols and not only first.
21247
fce5d8ff
VS
212482010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21249
21250 * NEWS: Put the date of 1.98 release.
21251
d1e8a02f
VS
212522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21253
21254 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21255 ft2build.h.
21256
696fd607
VS
212572010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21258
21259 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21260 completition in the middle of string.
21261
33e2e6f3
VS
212622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21263
21264 * util/grub-mkrescue.in: Use mktemp with explicit template.
21265
b1f6d291
VS
212662010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21267
21268 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21269
2ac227c7
VS
212702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21271
21272 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21273 right pointer.
21274
8f9a632b
VS
212752010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21276
21277 Fix FreeBSD compilation.
21278
21279 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21280 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21281
60b03859
VS
212822010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21283
21284 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21285
48a5a769
VS
212862010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21287
21288 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21289
3ab4bd77
VS
212902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21291
21292 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21293
d116e0d8
RM
212942010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21295
21296 Support relative image path in theme file.
21297
21298 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21299 (image_set_property): Handle theme_dir and relative path.
21300
c7ef54aa
VS
213012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21302
21303 * configure.ac: Alias amd64 to x86_64.
21304
fcee14ed
VS
213052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21306
21307 * NEWS: mention multiboot on EFI.
21308
d0780363
VS
213092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21310
21311 * kern/main.c (grub_load_modules): Handle errors from init functions of
21312 embeded modules.
21313
41168ea4
VS
213142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21315
21316 * normal/autofs.c (autoload_fs_module): Handle errors.
21317
b54d93ac
VS
213182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21319
21320 Disable linux.mod on qemu-mips since it's not functional and leads
21321 to compilation failure.
21322
21323 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21324 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21325 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21326 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21327 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21328 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21329 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21330 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21331 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21332 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21333 Reported by: BVK Chaitanya
21334
fc8345da
JU
213352010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21336
21337 * INSTALL: Add gettext as a dependency and add qemu to a new section
21338 "Prerequisites for make-check".
21339
4760f979
CF
213402010-03-04 Christian Franke <franke@computer.org>
21341
21342 * util/grub-pe2elf.c: Add missing include "progname.h".
21343
f209b5b2
VS
213442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21345
21346 * normal/crypto.c (read_crypto_list): Fix a typo.
21347 Reported by: Seth Goldberg.
21348
b4b7be98
VS
213492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21350
21351 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 21352 Reported by: Seth Goldberg.
b4b7be98 21353
c0ee0385
VS
213542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21355
21356 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21357 ascii.bitmaps.
21358
a8efbf64
VS
213592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 21362 Reported by: Seth Goldberg.
a8efbf64 21363
08dcd913
VS
213642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21365
21366 * util/i386/efi/grub-install.in: Copy gettext files.
21367
c4d0b332
VS
213682010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21369
21370 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21371
c6f2fe52
VS
213722010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21373
21374 Wait for user entry basing on presence of output rather than on errors.
21375
21376 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21377 (grub_install_newline_hook): Likewise.
21378 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21379 * normal/menu.c (show_menu): Check line_counter to determine presence
21380 of output.
21381 * normal/term.c (grub_normal_line_counter): New variable.
21382 (grub_normal_get_line_counter): New function.
21383 (grub_install_newline_hook): Likewise.
21384
5382b1e4
VS
213852010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21386
21387 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21388
5519963b
VS
213892010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21390
21391 * configure.ac: Update version to 1.98.
21392
72b28631
VS
213932010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21394
21395 * util/grub.d/10_linux.in (linux_entry): Don't default to
21396 gfxpayload=keep if Linux doesn't support video handover.
21397
c140a180
VS
213982010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21399
21400 Don't compile video modules on yeeloong since video subsystem is part
21401 of kernel.
21402
21403 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21404 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21405 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21406 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21407 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21408 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21409 * include/grub/bitmap_scale.h: Likewise.
21410 * include/grub/bufio.h: Likewise.
21411 * include/grub/font.h: Likewise.
21412 * include/grub/gfxterm.h: Likewise.
21413 * include/grub/video.h: Likewise.
21414 * include/grub/vbe.h: Don't include video_fb.h.
21415 * video/i386/pc/vbe.c: Include video_fb.h.
21416 * commands/i386/pc/vbetest.c: Include video.h.
21417
a0ca21c2
CW
214182010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21419
21420 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21421 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21422 default entry if GRUB_SAVEDEFAULT=true. This allows using
21423 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21424 saving a new default on every boot.
21425
4a8a763c
VS
214262010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21427
21428 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21429 * normal/term.c (read_terminal_list): Likewise.
21430 * normal/main.c (grub_normal_init_page): Likewise.
21431 (grub_normal_read_line_real): Likewise.
21432
607ffde2
VS
214332010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21434
21435 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21436 memory leak.
21437 Reported by: Seth Goldberg.
21438
2b8fa975
CW
214392010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21440
21441 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21442 duplicate declaration of `start'.
21443
618307dd
VS
214442010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21445
21446 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21447 filename.
21448 Reported by: Georgy Buranov
21449
7dd05b96 214502010-02-20 Carles Pina i Estany <carles@pina.cat>
21451
21452 * util/grub-mkrawimage.c (usage): Change string formatting to
21453 improve gettext.
21454
d1484a42
MRA
214552010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21456
21457 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21458 backspace keys.
21459
42b1d186
VS
214602010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21461
21462 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21463 Reported by: Michael Suchanek.
21464
214652010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
21466
21467 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21468 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21469
d9f31a41
VS
214702010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21471
21472 Remove any reference to non-free fonts.
21473
21474 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21475 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21476 uses non-free components.
21477 * font/font.c (grub_font_get_name): Remove example name.
21478 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21479 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21480 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21481 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21482
2793c71e
GB
214832010-02-16 Georgy Buranov <gburanov@gmail.com>
21484
21485 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21486
402e3779
VS
214872010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21488
21489 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21490 Double divisor.
21491 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21492 features.
21493 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21494
0dd1e0dd
VS
214952010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21496
21497 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21498
6fa7cfce
ST
214992010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21500
21501 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21502 * docs/grub.texi (Command-line and menu entry commands): Document play
21503 command.
21504
37c8483b
ST
215052010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21506
21507 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21508 parse arguments as inline tempo and notes. Move code for playing notes
21509 to...
21510 (play): ... new function.
21511
14da0fb7
ST
215122010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21513
21514 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21515 grub_uint16_t instead of short.
21516 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21517 disk from little endian to cpu endianness.
21518
04459e70
ST
215192010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21520
21521 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21522 GRUB_TICKS_PER_SECOND instead of 120.
21523
a0876943
VS
215242010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21525
21526 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21527 escape sequence after \e.
21528
e29f95dc
VS
215292010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21530
21531 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21532 non-ASCII characters.
21533
d27859b2
VS
215342010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21535
21536 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21537 set root in single quotes to prevent \, from being unescaped.
21538
bc028f2f
VS
215392010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21540
21541 Prevent unknown commands from stopping menuentry execution.
21542
21543 * script/execute.c (grub_script_execute_cmdline): Print error after
21544 unknown command.
21545
095f5f82
VS
215462010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21547
21548 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21549 Reported by: Pavel Pisa.
21550
8c717950
VS
215512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21552
21553 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21554
904935c3
VS
215552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21556
21557 Merge grub_ieee1275_map_physical into grub_map and rename to
21558 grub_ieee1275_map
21559
21560 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
21561 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
21562 Remove.
21563 * kern/ieee1275/openfw.c (grub_map): Rename to ...
21564 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
21565 necessary.
21566 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
21567
5b59a4e3
VS
215682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21569
21570 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
21571 opening and not after.
21572
69e137e8
VS
215732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21574
21575 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
21576 constants.
21577
2c0fcc36
VS
215782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21579
21580 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
21581 (alloc_phys): Use ALIGN_UP instead of align_addr.
21582
8c6052ce
VS
215832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21584
21585 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
21586
17cec782
VS
215872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21588
21589 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
21590
e0128bbd
VS
215912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21592
21593 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
21594 verbose dprintf.
21595
ca62070b
VS
215962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21597
21598 Fix over-4GiB seek on sparc64.
21599
21600 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
21601 Replace pos_i and pos_lo with pos. All users updated.
21602 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21603 New constant.
21604 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21605 Likewise.
21606 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
21607 and pos_lo.
21608
bdca2607
VS
216092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21610
21611 * util/grub-mkrawimage.c (main): Call set_program_name.
21612
da278c4d
VS
216132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21614
21615 Properly align 64-bit targets.
21616
21617 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
21618 (generate_image): Use ALIGN_ADDR.
21619
b274d734
VS
216202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21621
21622 Properly create cross-endian images.
21623
21624 * include/grub/types.h (grub_host_to_target_addr): New macro
21625 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
21626
82da2062
VS
216272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21628
21629 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
21630
7cae4377
VS
216312010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21632
21633 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
21634
21635 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
21636 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
21637 (grub_linux_boot): Divide by 64K when on VESA.
21638
65a533e7
VS
216392010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21640
21641 Support GRUB_GFXPAYLOAD_LINUX.
21642
21643 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
21644 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
21645
dd01d397
VS
216462010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21647
21648 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
21649 to show messages instead of discarding them.
21650 Process errors after executing command and not before. Keep old method
21651 too as precaution.
21652
660960d6
VS
216532010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
21654
21655 * configure.ac: Check for ft2build.h.
21656
62509f04
VS
216572010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21658
21659 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
21660
473df63d
VS
216612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21662
21663 * genkernsyms.sh.in: Use TARGET_CC.
21664
c98d2a13
CW
216652010-02-07 Colin Watson <cjwatson@ubuntu.com>
21666
21667 * NEWS: Update.
21668
6e14234c
VS
216692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21670
21671 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
21672 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
21673 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 21674
b255e9cf
YB
216752010-02-07 Yves Blusseau <blusseau@zetam.org>
21676
6e14234c 21677 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 21678
98e6959d
VS
216792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21680
21681 Fix warnings in grub-emu when compiling with maximum warning options.
21682
21683 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
21684 (grub_arch_modules_addr): Return 0 and not NULL.
21685 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 21686 (xstrdup): Use newstr instead of dup.
f88d801b
VS
21687 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
21688 of disk to dsk to avoid shadowing.
74e4934e
VS
21689 (find_free_slot): Fix prototype.
21690 * util/getroot.c (grub_util_is_dmraid): Make static.
21691 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
21692 Add missing prototype.
21693 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 21694
74e31b5c
VS
216952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21696
21697 * loader/i386/linux.c (grub_linux_setup_video): Handle error
21698 appropriately.
21699
6b2ad14b
VS
217002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21701
21702 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
21703 code out.
21704
8f891adc
VS
217052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21706
21707 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
21708 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
21709 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
21710 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
21711 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
21712 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
21713
74b45184
VS
217142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21715
21716 * include/grub/err.h (grub_err_printf): Don't export.
21717
a4bced77
VS
217182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21719
21720 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
21721
007d0695
VS
217222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21723
21724 * include/grub/i18n.h (grub_gettext_dummy): Removed.
21725 * kern/misc.c (grub_gettext_dummy): Make static.
21726
b6c0d9c2
VS
217272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21728
21729 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
21730 by non-valid ones.
21731 * kern/term.c (grub_putchar): Likewise.
21732
f51a90d0
VS
217332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21734
21735 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
21736 buggy hook call and memory leak.
21737
6846cec5
VS
217382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21739
21740 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
21741
468d69fe
VS
217422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21743
21744 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
21745
51906b8c
VS
217462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21747
21748 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
21749 modevar.
21750 Return grub_errno on allocation error.
21751
09706ce5
VS
217522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21753
21754 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
21755
911df80c
YB
217562010-02-06 Yves Blusseau <blusseau@zetam.org>
21757
21758 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
21759 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
21760
3746a6bc
VS
217612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21762
21763 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
21764 non-pxe disk.
21765 (grub_pxefs_open): Likewise.
21766
09706ce5
VS
217672010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21768
21769 * util/grub.d/10_hurd.in: Add --class information to menuentries.
21770 * util/grub.d/10_kfreebsd.in: Likewise.
21771 * util/grub.d/10_linux.in: Likewise.
21772
7cc192d9
VS
217732010-02-06 Colin D Bennett <colin@gibibit.com>
21774
21775 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
21776 (gfxmenu_mod_SOURCES): New variable.
21777 (gfxmenu_mod_CFLAGS): Likewise.
21778 (gfxmenu_mod_LDFLAGS): Likewise.
21779 * include/grub/term.h (grub_term_set_current_output): Declare
21780 argument as const.
21781 * docs/gfxmenu-theme-example.txt: New file.
21782 * gfxmenu/gfxmenu.c: Likewise.
21783 * gfxmenu/gui_box.c: Likewise.
21784 * gfxmenu/gui_canvas.c: Likewise.
21785 * gfxmenu/gui_circular_progress.c: Likewise.
21786 * gfxmenu/gui_image.c: Likewise.
21787 * gfxmenu/gui_label.c: Likewise.
21788 * gfxmenu/gui_list.c: Likewise.
21789 * gfxmenu/gui_progress_bar.c: Likewise.
21790 * gfxmenu/gui_string_util.c: Likewise.
21791 * gfxmenu/gui_util.c: Likewise.
21792 * gfxmenu/icon_manager.c: Likewise.
21793 * gfxmenu/model.c: Likewise.
21794 * gfxmenu/named_colors.c: Likewise.
21795 * gfxmenu/theme_loader.c: Likewise.
21796 * gfxmenu/view.c: Likewise.
21797 * gfxmenu/widget-box.c: Likewise.
21798 * include/grub/gfxmenu_model.h: Likewise.
21799 * include/grub/gfxmenu_view.h: Likewise.
21800 * include/grub/gfxwidgets.h: Likewise.
21801 * include/grub/gui.h: Likewise.
21802 * include/grub/gui_string_util.h: Likewise.
21803 * include/grub/icon_manager.h: Likewise.
21804
218052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21806
21807 Agglomerate scrolling in gfxterm.
21808
21809 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
21810 (grub_virtual_screen_setup): Initialise 'total_screen'.
21811 (write_char): Split to ...
21812 (paint_char): ... this ...
21813 (write_char): ... and this.
21814 (paint_char): Handle delayed scrolling.
21815 (draw_cursor): Likewise.
21816 (scroll_up): Split to ...
21817 (real_scroll): ... this ...
21818 (scroll_up): ... and this.
21819 (real_scroll): Handle multi-line scroll and draw below-the-bottom
21820 characters.
21821 (grub_gfxterm_refresh): Call real_scroll.
21822
218232010-02-06 Colin D Bennett <colin@gibibit.com>
21824
21825 * include/grub/misc.h (grub_iscntrl): New inline function.
21826 (grub_isalnum): Likewise.
21827 (grub_strtol): Likewise.
21828
218292010-02-06 Colin D Bennett <colin@gibibit.com>
21830
21831 * normal/menu_text.c (get_entry_number): Move from here ...
21832 * normal/menu.c (get_entry_number): ... moved here.
21833 * include/grub/menu.h (grub_menu_get_default_entry_index):
21834 New prototype.
21835 * normal/menu.c (grub_menu_get_default_entry_index): New function.
21836 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
21837 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
21838 (grub_menu_viewer_should_return): Likewise.
21839 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
21840 * normal/menu_text.c (run_menu): Enable menu switching.
21841 * normal/menu_viewer.c (should_return): New variable.
21842 (menu_viewer_changed): Likewise.
21843 (grub_menu_viewer_show_menu): Handle menu viewer changes.
21844 (grub_menu_viewer_should_return): New function.
21845 (menuviewer_write_hook): Likewise.
21846 (grub_menu_viewer_init): Likewise.
21847
218482010-02-06 Colin D Bennet <colin@gibibit.com>
218492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21850
21851 Support for gfxterm in a window.
21852
21853 * include/grub/gfxterm.h: New file.
21854 * include/grub/video.h (struct grub_video_rect): New declaration.
21855 (grub_video_rect_t): Likewise.
21856 * term/gfxterm.c (struct grub_gfxterm_window): New type.
21857 (refcount): New variable.
21858 (render_target): Likewise.
21859 (window): Likewise.
21860 (repaint_callback): Likewise.
21861 (grub_virtual_screen_setup): Use 'render_target'.
21862 (init_window): New function.
21863 (grub_gfxterm_init_window): Likewise.
21864 (grub_gfxterm_init): Check reference counter.
21865 Use init_window.
21866 (destroy_window): New function.
21867 (grub_gfxterm_destroy_window): Likewise.
21868 (grub_gfxterm_fini): Check reference counter.
21869 Use destroy_window.
21870 (redraw_screen_rect): Restore viewport.
21871 Use 'render_target' and 'window'.
21872 Call 'repaint_callback'.
21873 (write_char): Use 'render_target'.
21874 (draw_cursor): Likewise.
21875 (scroll_up): Restore viewport.
21876 Use 'render_target' and 'window'.
21877 Call 'repaint_callback'.
21878 (grub_gfxterm_cls): Likewise.
21879 (grub_gfxterm_refresh): Use 'window'.
21880 (grub_gfxterm_set_repaint_callback): New function.
21881 (grub_gfxterm_background_image_cmd): Use 'window'.
21882 (grub_gfxterm_get_term): New function.
21883 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
21884
218852010-02-06 Colin D Bennett <colin@gibibit.com>
21886
21887 Bitmap scaling support.
21888
21889 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
21890 (bitmap_scale_mod_SOURCES): New variable.
21891 (bitmap_scale_mod_CFLAGS): Likewise.
21892 (bitmap_scale_mod_LDFLAGS): Likewise.
21893 * include/grub/bitmap_scale.h: New file.
21894 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
21895 (background_image_cmd_options): New variable.
21896 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
21897 (cmd): Rename and change type to ...
21898 (background_image_cmd_handle): ... this. All users updated.
21899 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
21900 * video/bitmap_scale.c: New file.
21901
219022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21903
21904 SDL support.
21905
21906 * Makefile.in (LIBSDL): New variable.
21907 (enable_grub_emu_sdl): Likewise.
21908 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
21909 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
21910 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
21911 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
21912 * util/sdl.c: New file.
21913
219142010-02-06 Colin D Bennett <colin@gibibit.com>
219152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21916
21917 Double buffering support.
21918
21919 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
21920 * include/grub/video.h: Update comment.
21921 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
21922 New type.
21923 (grub_video_fb_doublebuf_blit_init): New prototype.
21924 * term/gfxterm.c (scroll_up): Support double buffering.
21925 (grub_gfxterm_refresh): Likewise.
21926 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
21927 (grub_video_fb_doublebuf_blit_init): Likewise.
21928 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
21929 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
21930 'displayed_page', 'render_page' and 'update_screen'.
21931 (grub_video_vbe_fini): Free offscreen buffer.
21932 (doublebuf_pageflipping_commit): New function.
21933 (doublebuf_pageflipping_update_screen): Likewise.
21934 (doublebuf_pageflipping_init): Likewise.
21935 (double_buffering_init): Likewise.
21936 (grub_video_vbe_setup): Enable doublebuffering.
21937 (grub_video_vbe_swap_buffers): Implement.
21938 (grub_video_vbe_set_active_render_target): Handle double buffering.
21939 (grub_video_vbe_get_active_render_target): Likewise.
21940 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
21941 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
21942 (grub_video_vbe_enable_double_buffering): Likewise.
21943 (grub_video_vbe_swap_buffers): Use update_screen.
21944 (grub_video_set_mode): Use double buffering.
21945
219462010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21947
21948 * maintainance/gentrigtables.py: Remove.
21949 * lib/trig.c: Likewise.
21950
21951 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
21952
21953 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
21954 `trigtables.c'.
21955 (trigtables.c): New rule.
21956 (gentrigtables): Likewise.
21957 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
21958
219592010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21960
21961 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
21962 integer constants.
21963
219642010-02-06 Colin D Bennet <colin@gibibit.com>
21965
21966 Trigonometry support.
21967
21968 * include/grub/trig.h: New file.
21969 * lib/trig.c: Likewise.
21970 * maintainance/gentrigtables.py: Likewise.
21971 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
21972 (trig_mod_SOURCES): New variable.
21973 (trig_mod_CFLAGS): Likewise.
21974 (trig_mod_LDFLAGS): Likewise.
21975
5562834e
VS
219762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21977
21978 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
21979 disk devices.
21980
4f8528fc
VS
219812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21982
21983 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
21984 error.
21985
2b4068e9
VS
219862010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21987
21988 * util/hostdisk.c (open_device): Don't use partition device when reading
21989 before the partition.
21990 (grub_util_biosdisk_read): Don't read from partition and before the
21991 partition in single operation.
21992 (grub_util_biosdisk_write): Don't write to partition and before the
21993 partition in single operation.
21994
399f6e4d
TL
219952010-02-03 Torsten Landschoff <torsten@debian.org>
21996
21997 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21998 last sectors.
21999
996649b0
VS
220002010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22001
22002 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22003 CDROM reads.
22004 (grub_biosdisk_write): Refuse to write to CDROM.
22005
3b205d4d
VS
220062010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22007
22008 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22009
61e89d9d
VS
220102010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22011
22012 * font/font.c (find_glyph): Check that bmp_idx is available before
22013 using it.
22014 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22015 with (font == NULL).
22016
bf7fcba2
CS
220172010-01-28 Christian Schmitt <chris@ilovelinux.de>
22018
22019 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22020
f45d2663
BC
220212010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22022
22023 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22024 * util/grub-script-check.c (getline): Fix empty lines case.
22025
ec1444e6
RM
220262010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22027
22028 * Makefile.in (check): Exit with fail status when one of the tests
22029 fails.
22030 * tests/example_functional_test.c (example_test): Fix reversed assert.
22031 * tests/example_unit_test.c (example_test): Likewise.
22032
2e1cb9bb
CW
220332010-01-28 Colin Watson <cjwatson@ubuntu.com>
22034
22035 * util/grub.d/10_linux.in: This script does not use any of the
22036 contents of gettext.sh, only the external command `gettext', so stop
22037 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22038 the same prefix as GRUB.)
22039 * util/grub.d/10_kfreebsd.in: Likewise.
22040
63533ab0
VS
220412010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22042
22043 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22044 of the line.
22045
989e1f93
VS
220462010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22047
22048 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22049 last sectors.
22050
e709ebe2
VS
220512010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22052
22053 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22054 having a 4KiB and not 32KiB buffer size.
22055
27dea7ed
RM
220562010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22057
22058 * util/hostfs.c: Include `<errno.h>'.
22059 (grub_hostfs_read): Handle errors from fseeko() and fread().
22060
67667b9c
RM
220612010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22062
22063 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22064 loop when using read hooks on files whose size isn't sector-aligned.
22065
c294d9d8
RM
220662010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22067
22068 Remove unused parameter.
22069
22070 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22071 (grub_iso9660_open): Remove initialization of `data->length'.
22072
af75a9f1
RM
220732010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22074
22075 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22076 memleak conditions.
22077
254e2ce5 220782010-01-27 Carles Pina i Estany <carles@pina.cat>
22079
22080 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22081 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22082
b510928c 220832010-01-26 Carles Pina i Estany <carles@pina.cat>
22084
22085 * util/bin2h.c (usage): Fix warning (space after backslash).
22086
aa2f9dd2 220872010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 22088
22089 * font/font.c: Include `grub/fontformat.h.
22090 Remove font file format constants.
22091 (grub_font_load): Use the new macros.
22092 * include/grub/fontformat.h: New file.
22093 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22094 (write_font_pf2): Use the new macros.
22095
94e7e712
RM
220962010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22097
22098 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22099 does.
22100
3973a59a
RM
221012010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22102
22103 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22104
22105 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22106 (_start): Macroify `0x7F'.
22107
22108 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22109 (make_install_device): Use "(pxe)" as fallback prefix when booting
22110 via PXE.
22111
42e0cba3
GS
221122010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22113
22114 * configure.ac: Reset LIBS after check for libgcc symbols.
22115
847effd8
CW
221162010-01-25 Colin Watson <cjwatson@ubuntu.com>
22117
22118 * util/hostdisk.c (open_device): Add trailing newline to debug
22119 message.
22120
ea4a7e35
GS
221212010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22122
22123 * configure.ac: Check for `limits.h'.
22124 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22125
67951a53
RM
221262010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22127
22128 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22129 capitalize error strings.
22130
c273d4ce
ST
221312010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22132
22133 * util/grub.d/10_hurd.in: Add a recovery mode.
22134
69be5b74
VS
221352010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22136
22137 * configure.ac: Check for libgcc symbols with -nostdlib.
22138
fc9e5810
BC
221392010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22140
22141 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22142
4b358c0a
VS
221432010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22144
22145 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22146 stack since heap may be unavailable at that point.
22147 (grub_ofconsole_gotoxy): Likewise.
22148
454fcd1c
VS
221492010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22150
22151 * configure.ac: Check for _restgpr_14_x.
22152 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22153 and _savegpr_* prototypes.
22154
566863ca
RM
221552010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22156
22157 Use generic grub_reboot() for i386-efi.
22158
22159 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22160 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22161 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22162
bf86e59a
VS
221632010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22164
22165 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22166 presence of "prefix" variable as it breaks when normal.mod is
22167 embedded.
22168
d645e0f8
VS
221692010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22170
22171 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22172 stack since heap is unavailable at that point.
22173
f9ab2e25
VS
221742010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22175
22176 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22177 (grub_freebsd_bootinfo): Rewritten.
22178 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22179
01fc7054
VS
221802010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22181
22182 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22183
caab4fd6
RM
221842010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22185
22186 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22187 domain now.
22188
67eb1427
FZ
221892010-01-20 Felix Zielcke <fzielcke@z-51.de>
22190
22191 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22192 around for handling "/" to the correct fix. Fix a memory leak. Use
22193 xstrdup instead of strdup.
22194
a9ed4ff3
VS
221952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22196
22197 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22198
221992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
22200
22201 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22202
22203 * font/font.c (struct grub_font): New member 'bmp_idx'.
22204 (font_init): Initialise 'bmp_idx'.
22205 (load_font_index): Fill 'bmp_idx'.
22206 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22207
48209f4f
VS
222082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22209
22210 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22211 unnecessary calls.
22212
9f0a4bb7
VS
222132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22214
22215 Move context handling out of the kernel.
22216
22217 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22218 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22219 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22220 * conf/i386-efi.rmk: Likewise.
22221 * conf/i386-ieee1275.rmk: Likewise.
22222 * conf/i386-pc.rmk: Likewise.
22223 * conf/powerpc-ieee1275.rmk: Likewise.
22224 * conf/sparc64-ieee1275.rmk: Likewise.
22225 * conf/x86_64-efi.rmk: Likewise.
22226 * include/grub/env.h: Include grub/menu.h.
22227 (grub_env_var_type): Removed.
22228 (grub_env_var): Replaced field 'type' with 'global'.
22229 (grub_env_find): New prototype.
22230 (grub_env_context_open): Remove EXPORT_FUNC.
22231 (grub_env_context_close): Likewise.
22232 (grub_env_export): Likewise.
22233 (grub_env_set_data_slot): Removed.
22234 (grub_env_get_data_slot): Likewise.
22235 (grub_env_unset_data_slot): Likewise.
22236 (grub_env_unset_menu): New prototype.
22237 (grub_env_set_menu): Likewise.
22238 (grub_env_get_menu): Likewise.
22239 * include/grub/env_private.h: New file.
22240 * include/grub/normal.h (grub_context_init): New prototype.
22241 (grub_context_fini): Likewise.
22242 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22243 * normal/context.c (grub_cmd_export): ... to here.
22244 * kern/env.c: Include env_private.h.
22245 (HASHSZ): Moved to include/grub/env_private.h.
22246 (grub_env_context): Likewise.
22247 (grub_env_sorted_var): Likewise.
22248 (current_context): Renamed from this ...
22249 (grub_current_context): ...to this. 'static' removed. All users updated.
22250 (grub_env_find): Removed 'static'.
22251 (grub_env_context_open): Moved to normal/context.c.
22252 (grub_env_context_close): Likewise.
22253 (grub_env_export): Likewise.
22254 (mangle_data_slot_name): Removed.
22255 (grub_env_set_data_slot): Likewise.
22256 (grub_env_get_data_slot): Likewise.
22257 (grub_env_unset_data_slot): Likewise.
22258 * kern/main.c (grub_set_root_dev): Don't export root.
22259 It will be done later.
22260 (grub_main): Don't export prefix.
22261 It will be done later.
22262 * normal/context.c: New file.
22263 * normal/main.c (free_menu): Use grub_env_unset_menu.
22264 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22265 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22266 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22267 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22268
8dd35b8c
VS
222692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22270
22271 setpci support.
22272
22273 * commands/setpci.c: New file.
22274 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22275 (setpci_mod_SOURCES): New variable.
22276 (setpci_mod_CFLAGS): Likewise.
22277 (setpci_mod_LDFLAGS): Likewise.
22278
449193d5
VS
222792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22280
22281 Byte-addressable PCI configuration space.
22282
22283 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22284 dword address.
22285 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22286 GRUB_PCI_REG_CACHELINE.
22287 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22288 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22289 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22290 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22291 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22292 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22293 grub_pci_make_address.
22294 (lock_rom_area): Likewise.
22295 * commands/lspci.c (grub_lspci_iter): Use macroses
22296 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22297 of grub_pci_make_address.
22298 * disk/ata.c (grub_ata_pciinit): Likewise.
22299 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22300 (GRUB_PCI_REG_VENDOR): Likewise.
22301 (GRUB_PCI_REG_DEVICE): Likewise.
22302 (GRUB_PCI_REG_COMMAND): Likewise.
22303 (GRUB_PCI_REG_STATUS): Likewise.
22304 (GRUB_PCI_REG_REVISION): Likewise.
22305 (GRUB_PCI_REG_CLASS): Likewise.
22306 (GRUB_PCI_REG_CACHELINE): Likewise.
22307 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22308 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22309 (GRUB_PCI_REG_BIST): Likewise.
22310 (GRUB_PCI_REG_ADDRESSES): Likewise.
22311 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22312 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22313 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22314 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22315 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22316 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22317 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22318 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22319 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22320 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22321 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22322 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22323 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22324 (GRUB_PCI_REG_MIN_GNT): Likewise.
22325 (GRUB_PCI_REG_MAX_LAT): Likewise.
22326 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22327 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22328 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 22329 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
22330 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22331 space.
22332
96d73208
RM
223332010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22334
22335 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22336 can be reliably determined to be supported.
22337
d4484482
RM
223382010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22339
22340 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22341 that VESA is supported.
22342 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22343 supported.
22344
00308ecf
VS
223452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22346
22347 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22348
f66924a4
RM
223492010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22350
22351 * util/misc.c (make_system_path_relative_to_its_root): Work around
22352 special-casing of "/", as previous incarnation of this routine did.
22353
cbca0ada
VS
223542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22355
22356 Fix any-emu compilation.
22357
22358 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22359 * grub_bin2h_SOURCES: New variable.
22360
34a66d99
RM
223612010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22362
22363 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22364
94fabf58
RM
223652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22366
22367 * util/grub.d/00_header.in: Fix handling of locale_dir.
22368
02cf98ca
VS
223692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22370
22371 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22372 as possible unifont location (Gentoo).
22373 Reported by: Alexander Brüning
22374
327dbcd7
VS
223752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22376
22377 Don't try to generate lists for kernel.img.
22378
22379 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22380 (pkglib_MODULES): Remove kernel.img.
22381 (kernel_img_EXPORTS): Removed.
22382 (kernel_img_RELOCATABLE): New variable.
22383 * conf/x86_64-efi.rmk: Likewise.
22384 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22385
ca467290
VS
223862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22387
22388 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22389 grub_xasprintf or grub_snprintf.
22390 (grub_vsprintf): Likewise.
22391 (grub_snprintf): New proto.
22392 (grub_vsnprintf): Likewise.
22393 (grub_xasprintf): Likewise.
22394 (grub_xvasprintf): Likewise.
22395 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22396 (grub_sprintf): Removed.
22397 (grub_vsnprintf): New function.
22398 (grub_snprintf): Likewise.
22399 (grub_xvasprintf): Likewise.
22400 (grub_xasprintf): Likewise.
22401 (grub_vsprintf): Renamed to ...
22402 (grub_vsnprintf_real): ...this. New argument max_len.
22403
aca655fd
BC
224042010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22405
22406 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22407 fix grub-script-check warning.
22408
7ee92c32
VS
224092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22410
22411 * include/grub/font.h (grub_font_load): Fix prototype.
22412
f80927ca
VS
224132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22414
22415 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22416
119c50ea
VS
224172010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22418
22419 * include/grub/x86_64/at_keyboard.h: New file.
22420
47d5f3c1
VS
224212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22422
22423 * loader/mips/linux.c: Include missing grub/i18n.h.
22424
55ff5266
RM
224252009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22426
22427 * normal/menu.c (notify_execution_failure): Clarify error message.
22428
c893cc87
RM
224292009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22430
22431 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22432 return value (and revert all return statements). Update users.
22433
917dd370
CW
224342010-01-20 Dan Merillat <debian@dan.merillat.org>
22435
22436 * kern/device.c (grub_device_iterate): Allocate new part_ent
22437 structure based on sizeof (*p) rather than sizeof (p->next), to
22438 account for structure padding.
22439
22440 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22441 disk is NULL, which might happen for LVM physical volumes with no
22442 LVM signature.
22443
d4a4ee57
RM
224442009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22445
22446 * loader/mips/linux.c (grub_cmd_initrd)
22447 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22448
224492009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22450
22451 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22452 (grub_video_video_init, grub_video_bitmap_init)
22453 (grub_font_manager_init, grub_term_gfxterm_init)
22454 (grub_at_keyboard_init): New extern declarations.
22455 (grub_machine_init): Initialize gfxterm and at_keyboard.
22456
22457 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22458
22459 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22460 `gfxterm.mod' into core image.
22461
22462 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22463 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22464 (kernel_img_FORMAT): Copy to ...
22465
22466 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22467 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22468 (kernel_img_FORMAT): ... here, and ...
22469
22470 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22471 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22472 (kernel_img_FORMAT): ... here.
22473
22474 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22475 and input (at_keyboard) terminals in kernel.
22476 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22477
22478 (pkglib_MODULES): Remove `pci.mod'.
22479 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22480 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22481 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22482 (at_keyboard_mod_LDFLAGS): Remove variables.
22483
224842010-01-11 Felix Zielcke <fzielcke@z-51.de>
22485
22486 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22487
224882009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22489
22490 * include/grub/mips/libgcc.h: Only export symbols for functions
22491 that libgcc provides.
22492
224932009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22494
22495 MIPS support.
22496
22497 * bus/bonito.c: New file.
22498 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22499 GRUB_PCI_NUM_DEVICES.
22500 * term/i386/pc/serial.c: Move to ...
22501 * term/serial.c: ... here. All users updated.
22502 * util/i386/pc/grub-mkimage.c: Move to ...
22503 * util/grub-mkrawimage.c: ... here. All users updated.
22504 * term/i386/pc/at_keyboard.c: Move to ...
22505 * term/at_keyboard.c: ... here. All users updated.
22506 * conf/mips-qemu-mips.rmk: New file.
22507 * conf/mips-yeeloong.rmk: Likewise.
22508 * conf/mips.rmk: Likewise.
22509 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22510 mipsel-qemu-mips.
22511 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22512 to port addresses.
22513 (grub_ata_pciinit): Support CS5536.
22514 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22515 * font/font_cmd.c (loadfont_command): Open file before passing it to
22516 grub_font_load.
22517 (pseudo_file_read): New function.
22518 (pseudo_file_close): Likewise.
22519 (pseudo_fs): New structure.
22520 (load_font_module): New function.
22521 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22522 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22523 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22524 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22525 * include/grub/i386/at_keyboard.h: Split into ...
22526 * include/grub/at_keyboard.h: ... this ...
22527 * include/grub/i386/at_keyboard.h: ... and this.
22528 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22529 New prototype.
22530 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22531 updated.
22532 (grub_elf64_size): Likewise.
22533 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22534 filename.
22535 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22536 * include/grub/i386/coreboot/serial.h: Rewritten.
22537 * include/grub/i386/ieee1275/serial.h: Include
22538 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22539 * include/grub/i386/pc/serial.h: Moved from here ...
22540 * include/grub/serial.h: ... to here. All users updated.
22541 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22542 (GRUB_PCI_NUM_BUS): Likewise.
22543 (GRUB_PCI_NUM_DEVICES): Likewise.
22544 (grub_pci_device_map_range): Add missing volatile keyword.
22545 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22546 * include/grub/mips/at_keyboard.h: New file.
22547 * include/grub/mips/cache.h: Likewise.
22548 * include/grub/mips/io.h: Likewise.
22549 * include/grub/mips/kernel.h: Likewise.
22550 * include/grub/mips/libgcc.h: Likewise.
22551 * include/grub/mips/pci.h: Likewise.
22552 * include/grub/mips/qemu-mips/boot.h: Likewise.
22553 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22554 * include/grub/mips/qemu-mips/loader.h: Likewise.
22555 * include/grub/mips/qemu-mips/memory.h: Likewise.
22556 * include/grub/mips/qemu-mips/serial.h: Likewise.
22557 * include/grub/mips/qemu-mips/time.h: Likewise.
22558 * include/grub/mips/relocator.h: Likewise.
22559 * include/grub/mips/time.h: Likewise.
22560 * include/grub/mips/types.h: Likewise.
22561 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
22562 * include/grub/mips/yeeloong/boot.h: Likewise.
22563 * include/grub/mips/yeeloong/kernel.h: Likewise.
22564 * include/grub/mips/yeeloong/loader.h: Likewise.
22565 * include/grub/mips/yeeloong/memory.h: Likewise.
22566 * include/grub/mips/yeeloong/pci.h: Likewise.
22567 * include/grub/mips/yeeloong/serial.h: Likewise.
22568 * include/grub/mips/yeeloong/time.h: Likewise.
22569 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
22570 * kern/elf.c (grub_elf32_size): New parameter. All users
22571 updated.
22572 (grub_elf64_size): Likewise.
22573 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
22574 Load modules before saying "Welcome to GRUB!".
22575 Call grub_refresh after saying "Welcome to GRUB!".
22576 * kern/mips/cache.S: New file.
22577 * kern/mips/cache_flush.S: Likewise.
22578 * kern/mips/dl.c: Likewise.
22579 * kern/mips/init.c: Likewise.
22580 * kern/mips/qemu-mips/init.c: Likewise.
22581 * kern/mips/startup.S: Likewise.
22582 * kern/mips/yeeloong/init.c: Likewise.
22583 * kern/term.c (grub_putcode): Handle NULL terminal.
22584 (grub_getcharwidth): Likewise.
22585 (grub_getkey): Likewise.
22586 (grub_checkkey): Likewise.
22587 (grub_getkeystatus): Likewise.
22588 (grub_getxy): Likewise.
22589 (grub_getwh): Likewise.
22590 (grub_gotoxy): Likewise.
22591 (grub_cls): Likewise.
22592 (grub_setcolorstate): Likewise.
22593 (grub_setcolor): Likewise.
22594 (grub_getcolor): Likewise.
22595 (grub_refresh): Likewise.
22596 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
22597 (write_jump): Add hatch nop.
22598 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
22599 * lib/mips/setjmp.S: New file.
22600 * loader/mips/linux.c: Likewise.
22601 * term/i386/pc/at_keyboard.c: Move from here ...
22602 * term/at_keyboard.c: ... to here.
22603 * term/i386/pc/serial.c: Moved from here ...
22604 * term/serial.c: ... to here. All users updated.
22605 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
22606 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
22607 (serial_translate_key_sequence): Avoid deadlock.
22608 (grub_serial_getkey): Handle backspace.
22609 (grub_serial_putchar): Fix newline handling.
22610 * util/i386/pc/grub-mkimage.c: Move from here ...
22611 * util/grub-mkrawimage.c: ... to here. All users updated.
22612 (generate_image): New parameters 'font_path' and 'format'.
22613 Support embedding font.
22614 Use grub_host_to_target* instead of grub_cpu_to_le*.
22615 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
22616 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
22617 (options): New option "--font".
22618 (usage): Likewise.
22619 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
22620 (main): Handle "--font".
22621 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
22622 (grub_virtual_screen_setup): Set bg_color_display.
22623 (redraw_screen_rect): Use bg_color_display instead of incorrect
22624 bg_color.
22625 (grub_gfxterm_cls): Likewise.
22626 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
22627 Support embedding config file.
22628 (add_segments): Likewise.
22629 (options): New option "--config".
22630 (main): Handle "--config".
22631 * video/sm712.c: New file.
22632
25c2b5b3
RM
226332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22634
22635 Fix parallel builds.
22636
22637 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
22638 font.c depend on ascii.h).
22639
226402010-01-12 Carles Pina i Estany <carles@pina.cat>
22641
22642 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
22643
226442010-01-11 Carles Pina i Estany <carles@pina.cat>
22645
22646 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
22647 By default: disabled.
22648 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
22649 parameter.
22650
226512010-01-10 Carles Pina i Estany <carles@pina.cat>
22652
22653 * font/font.c: Update copyright years.
22654 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
22655
226562010-01-10 Carles Pina i Estany <carles@pina.cat>
22657
22658 * font/font.c: Include `ascii.h'.
22659 (ASCII_BITMAP_SIZE): New macro.
22660 (ascii_font_glyph): Define.
22661 (ascii_glyph_lookup): New function.
22662 (grub_font_get_string_width): Change comment. If glyph not found, use
22663 ascii_glyph_lookup.
22664 (grub_font_get_glyph_with_fallback): If glyph not available returns
22665 ascii_glyph_lookup.
22666 * util/grub-mkfont.c (file_formats): New enum.
22667 (options): Add `ascii-bitmaps' new option.
22668 (usage): Add `asii-bitmaps' new option.
22669 (write_font_ascii_bitmap): New function.
22670 (write_font): Rename to ...
22671 (write_font_p2): ... this. Remove print_glyphs call.
22672 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
22673 used. Call print_glyphs.
22674 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
22675
226762010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22677
22678 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
22679 (grub_bin2h_SOURCES): New variable.
22680 * util/bin2h.c: New file.
22681
915fc1b8
VS
226822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22683
22684 * include/multiboot.h: Resynced with spec.
22685 * include/multiboot2.h: Likewise.
22686 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
22687 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
22688
9444b678
RM
226892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22690
22691 * include/grub/term.h (grub_term_register_input,
22692 grub_term_register_output): Check return of terminal init()
22693 routines, and abort if errors are raised.
22694
22695 * commands/terminal.c: Update copyright year.
22696
cba98e8d
RM
226972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22698
22699 * commands/terminal.c (grub_cmd_terminal_input)
22700 (grub_cmd_terminal_output): Check return of terminal init()
22701 routines, and abort if errors are raised.
22702
6f7db5d6
VS
227032010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22704
22705 * include/grub/i386/bsd.h: Fix include pathes.
22706
262bff8d
VS
227072010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22708
22709 Add missing *BSD copyright headers.
22710
22711 * include/grub/aout.h: Add BSD licence.
22712 * include/grub/i386/bsd.h: Parts under different licences moved to ...
22713 * include/grub/i386/freebsd_linker.h: ... here,
22714 * include/grub/i386/freebsd_reboot.h: ... here,
22715 * include/grub/i386/netbsd_bootinfo.h: ... here,
22716 * include/grub/i386/netbsd_reboot.h: ... here,
22717 * include/grub/i386/openbsd_bootarg.h: ... here,
22718 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
22719 licence to each file.
22720
b2cab848
RM
227212010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22722
22723 * acinclude.m4: Remove `nop' assembly instruction; it's not
22724 implemented by all architectures.
22725
2cb6be4b
RM
227262010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22727
22728 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
22729 ELILO. This is no longer necessary.
22730
a2eaee15
BC
227312010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
22732
22733 Added new tool, grub-scrit-check to verify grub.cfg syntax.
22734
22735 * util/grub-script-check.c: grub-script-check tool.
22736 * conf/common.rmk: Make rules for grub-script-check.
22737
88d17012
RM
227382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22739
22740 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
22741 spotting it back in 2008. Shame on me for forgetting he did.
22742
22743 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
22744
8040619d
RM
227452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22746
22747 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
22748 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
22749 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
22750 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
22751 (GRUB_VIDEO_TYPE_EFI): Rename to ...
22752 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
22753
a0c2a0f6
RM
227542010-01-17 Robert Millan <rmh.grub@aybabtu.com>
22755
22756 * include/grub/test.h: Add license header.
22757 * tests/example_functional_test.c: Likewise.
22758 * tests/example_unit_test.c: Likewise.
22759 * tests/lib/functional_test.c: Likewise.
22760 * tests/lib/test.c: Likewise.
22761 * tests/lib/unit_test.c: Likewise.
22762
b0b13907
VS
227632010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
22764
22765 Use flag-based instead of hook-based video mode selection and "auto"
22766 keyword.
22767
22768 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
22769 (grub_video_set_mode): Changed prototype. All users updated.
22770 (grub_video_check_mode_flag): New inline function.
22771 * video/video.c (parse_modespec): New function.
22772 (grub_video_set_mode): Parse flags and keywords.
22773
ea379330 227742010-01-17 Carles Pina i Estany <carles@pina.cat>
22775
22776 * util/misc.c (grub_util_info): Fix the order of the parameters in a
22777 fprintf call.
22778
e15c215e
FZ
227792010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
22780
22781 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
22782
409ae1c9 227832010-01-16 Carles Pina i Estany <carles@pina.cat>
22784
22785 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
22786 string.
22787 * util/grub-emu.c (usage): Likewise.
22788 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
22789 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22790 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22791 * util/i386/pc/grub-setup.c (usage): Likewise.
22792
70a14d3d 227932010-01-16 Carles Pina i Estany <carles@pina.cat>
22794
22795 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
22796 the message.
22797 (grub_util_info): Likewise.
22798 (grub_util_error): Likewise.
22799 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
22800 and/or new lines in `grub_util_warna', `grub_util_info',
22801 `grub_util_error' calls.
22802 * util/getroot.c: Likewise.
22803 * util/grub-editenv.c: Likewise.
22804 * util/grub-emu.c: Likewise.
22805 * util/grub-fstest.c: Likewise.
22806 * util/grub-mkdevicemap.c: Likewise.
22807 * util/grub-mkfont.c: Likewise.
22808 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22809 * util/grub-mkrelpath.c: Likewise.
22810 * util/grub-pe2elf.c: Likewise.
22811 * util/grub-probe.c: Likewise.
22812 * util/hostdisk.c: Likewise.
22813 * util/i386/efi/grub-mkimage.c: Likewise.
22814 * util/i386/pc/grub-mkimage.c: Likewise.
22815 * util/i386/pc/grub-setup.c: Likewise.
22816 * util/ieee1275/ofpath.c: Likewise.
22817 * util/mkisofs/eltorito.c: Likewise.
22818 * util/mkisofs/rock.c: Likewise.
22819 * util/mkisofs/write.c: Likewise.
22820 * util/raid.c: Likewise.
22821 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22822 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22823
a0b766fc
VS
228242010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22825
22826 Enable multiboot on non-pc.
22827
22828 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
22829 multiboot.mod and multiboot2.mod to ...
22830 * conf/i386.rmk (pkglib_MODULES): ... here.
22831 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
22832 Moved to ...
22833 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
22834 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
22835 Moved to ...
22836 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
22837 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
22838 Moved to ...
22839 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
22840 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
22841 Moved to ...
22842 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
22843 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
22844 relocator.mod.
22845 (ata_mod_SOURCES): Removed.
22846 (ata_mod_CFLAGS): Likewise.
22847 (ata_mod_LDFLAGS): Likewise.
22848 (relocator_mod_SOURCES): Removed.
22849 (relocator_mod_CFLAGS): Likewise.
22850 (relocator_mod_ASFLAGS): Likewise.
22851 (relocator_mod_LDFLAGS): Likewise.
22852 Include i386.mk.
22853 * include/grub/x86_64/multiboot.h: New file.
22854 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
22855 Terminate EFI.
22856
884ade56
VS
228572010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22858
22859 Video multiboot support.
22860
22861 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
22862 New prototype.
22863 * include/multiboot.h: Resynced with multiboot specification.
22864 * include/multiboot2.h: Likewise.
22865 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
22866 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
22867 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
22868 (HAS_VGA_TEXT): Likewise.
22869 (accepts_video): New variable.
22870 (grub_multiboot_set_accepts_video): New function.
22871 (grub_multiboot_get_mbi_size): Account for video structures.
22872 (set_video_mode): New function.
22873 (retrieve_video_parameters): Likewise.
22874 (grub_multiboot_make_mbi): Fill video fields.
22875
0d90e8a6
VS
228762010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22877
22878 Video driver ids.
22879
22880 * include/grub/video.h (grub_video_driver_id): New type.
22881 (grub_video_adapter): New member 'id'. All users updated.
22882 (grub_video_get_driver_id): New proto.
22883 * video/video.c (grub_video_get_driver_id): New function.
22884
5c71db1b 228852010-01-14 Carles Pina i Estany <carles@pina.cat>
22886
22887 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
22888 `var=val'.
22889
cca15b52 228902010-01-14 Carles Pina i Estany <carles@pina.cat>
22891
22892 * normal/cmdline.c (print_completion): Gettextizze.
22893
c586fbb2 228942001-01-14 Carles Pina i Estany <carles@pina.cat>
22895
22896 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
22897
ba2f6848 228982010-01-14 Carles Pina i Estany <carles@pina.cat>
22899
22900 * gettext/gettext.c (grub_gettext_translate): Push and pop
22901 grub_errno.
22902 (grub_gettext_delete_list): Change comment style.
22903 * kern/err.c (grub_error): Gettextizze.
22904 (grub_fatal): Gettextizze.
22905
0a46429a
RM
229062010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22907
22908 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
22909 (grub_linux16_real_boot): ... this.
22910 * kern/i386/loader.S: Likewise.
22911 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
22912 (grub_linux16_boot): New function. Switches to text mode and calls
22913 grub_linux16_real_boot().
22914
22915 * loader/i386/bsd.c: Include `<grub/video.h>'.
22916 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
22917 text mode before calling grub_unix_real_boot().
22918
22919 * loader/i386/multiboot.c: Include `<grub/video.h>'.
22920 (grub_multiboot_boot): Switch to text mode before calling
22921 grub_relocator32_boot().
22922
22923 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
22924 (grub_chainloader_boot): Switch to text mode before calling
22925 grub_chainloader_real_boot().
22926
d6f93a66
RM
229272010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
229282010-01-05 Colin Watson <cjwatson@ubuntu.com>
22929
22930 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
22931 non-empty value.
22932
229332010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
229342010-01-05 Colin Watson <cjwatson@ubuntu.com>
22935
22936 * util/grub.d/00_header.in: Define a "savedefault" function for use
22937 in menu entries.
22938 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
22939
229402010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
229412010-01-05 Colin Watson <cjwatson@ubuntu.com>
22942
22943 * util/grub-mkconfig_lib.in (save_default_entry): Only set
22944 saved_entry if boot_once is unset.
22945 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
22946 previous saved entry (i.e. grub-reboot).
22947
229482009-12-08 Colin Watson <cjwatson@ubuntu.com>
22949
22950 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
22951
229522009-12-08 Colin Watson <cjwatson@ubuntu.com>
22953
22954 * util/grub.d/00_header.in: Use `set var=val' rather than plain
22955 `var=val'.
22956 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
22957
229582009-12-08 Colin Watson <cjwatson@ubuntu.com>
22959
22960 * util/grub-reboot.in: Fix --version output.
22961 * util/grub-set-default.in: Likewise.
22962
229632009-12-08 Colin Watson <cjwatson@ubuntu.com>
22964
22965 * util/grub.d/00_header.in: Silently ignore zero-sized environment
22966 blocks.
22967
229682009-12-08 Colin Watson <cjwatson@ubuntu.com>
22969
22970 * util/grub.d/00_header.in: Quote the value assigned to `default',
22971 in case it contains spaces.
22972
229732009-12-08 Colin Watson <cjwatson@ubuntu.com>
22974
22975 * util/grub.d/30_os-prober.in: Fix merge error that moved a
22976 `save_default_entry' call from the macosx case to the linux case.
22977
229782009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
229792009-10-25 Colin Watson <cjwatson@ubuntu.com>
22980
22981 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
22982 in `chosen' environment variable.
22983 * normal/menu_text.c (get_entry_number): Check if the variable
22984 matches the title of a menu entry.
22985 (run_menu): Pass menu to get_entry_number.
22986
22987 * util/grub-reboot.in: New file.
22988 * util/grub-set-default.in: New file.
22989 * conf/common.rmk (grub-reboot): New utility.
22990 (grub-set-default): New utility.
22991
22992 * util/grub-mkconfig_lib.in (save_default_entry): New function.
22993 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
22994 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
22995 move it to `saved_entry' for the next boot. Load environment on
22996 initialisation.
22997 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
22998 * util/grub.d/10_hurd.in: Likewise.
22999 * util/grub.d/10_linux.in (linux_entry): Likewise.
23000 * util/grub.d/10_windows.in: Likewise.
23001 * util/grub.d/30_os-prober.in: Likewise.
23002
23003 * util/grub-install.in: Create environment block.
23004 * util/i386/efi/grub-install.in: Likewise.
23005 * util/ieee1275/grub-install.in: Likewise.
23006 * util/sparc64/ieee1275/grub-install.in: Likewise.
23007
0934d184
BC
230082010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23009
23010 Unit testing framework for GRUB.
23011
23012 * Makefile.in: Test framework build rules for 'make check'.
23013 * conf/tests.rmk: Build rules for individual tests and framework.
23014
23015 * include/grub/test.h: Header file for whitebox tests.
23016 * tests/lib/functional_test.c: Framework support for whitebox
23017 functional tests.
23018 * tests/lib/test.c: Common whitebox testing code for unit and
23019 functional tests.
23020 * tests/lib/unit_test.c: Framework support for whitebox unit
23021 tests.
23022
23023 * tests/util/grub-shell-tester.in: Support utility for grub-script
23024 tests.
23025 * tests/util/grub-shell.in: Utility to execute grub-script
23026 commands in a Qemu instance.
23027
23028 * tests/example_functional_test.c: Example whitebox functional
23029 test.
23030 * tests/example_grub_script_test.in: Example grub-script test.
23031 * tests/example_scripted_test.in: Example scripted test.
23032 * tests/example_unit_test.c: Example whitebox unit test.
23033
9c4ffeeb
VS
230342010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23035
23036 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23037 Add loader/i386/multiboot_mbi.c.
23038 (multiboot2_mod_SOURCES): Likewise.
23039 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23040 (multiboot2_mod_SOURCES): Likewise.
23041 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23042 (grub_multiboot_make_mbi): Likewise.
23043 (grub_multiboot_free_mbi): Likewise.
23044 (grub_multiboot_init_mbi): Likewise.
23045 (grub_multiboot_add_module): Likewise.
23046 (grub_multiboot_set_bootdev): Likewise.
23047 * loader/i386/multiboot.c (mbi): Removed.
23048 (mbi_dest): Likewise.
23049 (alloc_mbi): New variable.
23050 (grub_multiboot_payload_size): Removed. All users updated.
23051 (grub_multiboot_pure_size): New variable.
23052 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23053 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23054 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23055 (grub_fill_multiboot_mmap): Likewise.
23056 (grub_multiboot_get_bootdev): Likewise.
23057 (grub_multiboot): Use multiboot_mbi functions.
23058 * loader/i386/multiboot_mbi.c: New file.
23059
17383dfe
VS
230602010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23061
23062 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23063 it would result in module crash.
23064
c1f28820
VS
230652010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23066
23067 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23068 (grub_ofconsole_getwh): Split to ...
23069 (grub_ofconsole_getwh): ... this.
23070 (grub_ofconsole_dimensions): ...and this.
23071 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23072
58655a16
RM
230732010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23074
23075 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23076
10891398
VS
230772010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23078
23079 * loader/i386/pc/multiboot2.c: Removed stalled file.
23080
0b8a223c
VS
230812010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23082
23083 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23084 Reported by: Grégoire Sutre
23085
92ab12b0
RM
230862010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23087
23088 * util/misc.c (canonicalize_file_name): New function.
23089 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23090 instead of realpath().
23091
a788afb6
CW
230922010-01-11 Colin Watson <cjwatson@ubuntu.com>
23093
23094 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23095 and make it clearer that it's optional. Based on confusion
23096 witnessed on IRC.
23097
ffa8e3d2
VS
230982010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23099
23100 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23101 in premature implicit newline.
23102
e9060a9d
VS
231032010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23104
23105 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23106 which resulted in garbled command line at the end of screen.
23107
f0d0c0b7
RM
231082010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23109
23110 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23111 initialization with similar approach as with other Linux loaders.
23112
0e60bae7
RM
231132010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23114
23115 Fix i386-ieee1275 build.
23116
23117 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23118 and grub_term_height() for video_{width,height} initialization.
23119
231202010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
23121
23122 Fix grub-emu build.
23123
23124 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23125
cdb3f378
RM
231262010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
231272010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23128
23129 Support for multiple terminals.
23130
23131 * Makefile.in (pkglib_DATA): terminal.lst.
23132 (terminal.lst): New target.
23133 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23134 (GRUB_MOD_INIT(handler)): Likewise.
23135 (GRUB_MOD_FINI(handler)): Likewise.
23136 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23137 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23138 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23139 (grub_cmd_sleep): Use grub_term_save_pos.
23140 * commands/terminal.c: New file.
23141 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23142 commands/terminal.c and lib/charset.c.
23143 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23144 (pkglib_MODULES): Add terminal.mod.
23145 (terminal_mod_SOURCES): New variable.
23146 (terminal_mod_CFLAGS): Likewise.
23147 (terminal_mod_LDFLAGS): Likewise.
23148 * genhandlerlist.sh: Don't handle terminals.
23149 * genmk.rb: Generate terminal-*.lst.
23150 * genterminallist.sh: New file.
23151 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23152 (grub_is_valid_utf8): Likewise.
23153 (grub_utf8_to_ucs4_alloc): Likewise.
23154 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23155 (grub_menu_register_viewer): Changed argument.
23156 (grub_menu_try_text): New proto.
23157 (grub_gfxmenu_try_hook): New declaration.
23158 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23159 (grub_menu_init_page): Additional argument term.
23160 (grub_normal_init_page): Likewise.
23161 (grub_cmdline_get): Arguments simplified.
23162 (grub_utf8_to_ucs4_alloc): Removed.
23163 (grub_print_ucs4): Additional argument term.
23164 (grub_getstringwidth): Likewise.
23165 (grub_print_message_indented): Likewise.
23166 (grub_menu_text_register_instances): New proto.
23167 (grub_show_menu): Likewise.
23168 (read_terminal_list): Likewise.
23169 (grub_set_more): Likewise.
23170 * include/grub/parser.h: Include handler.h.
23171 * include/grub/reader.h: Rewritten.
23172 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23173 (GRUB_TERM_WIDTH): Changed to function.
23174 (GRUB_TERM_HEIGHT): Likewise.
23175 (GRUB_TERM_BORDER_WIDTH): Likewise.
23176 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23177 (GRUB_TERM_NUM_ENTRIES): Likewise.
23178 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23179 (GRUB_TERM_CURSOR_X): Likewise.
23180 (grub_term_input_class): Likewise.
23181 (grub_term_output_class): Likewise.
23182 (grub_term_outputs_disabled): New declaration.
23183 (grub_term_inputs_disabled): Likewise.
23184 (grub_term_outputs): Likewise.
23185 (grub_term_inputs): Likewise.
23186 (grub_term_register_input): Rewritten.
23187 (grub_term_register_output): Likewise.
23188 (grub_term_unregister_input): Likewise.
23189 (grub_term_unregister_output): Likewise.
23190 (FOR_ACTIVE_TERM_INPUTS): New macro.
23191 (FOR_DISABLED_TERM_INPUTS): Likewise.
23192 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23193 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23194 * include/grub/terminfo.h: Add oterm argument to all protypes.
23195 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23196 Use grub_rescue_run.
23197 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23198 All users updated.
23199 * kern/reader.c: Removed. All users updated.
23200 * kern/rescue_reader.c (grub_rescue_init): Removed.
23201 (grub_rescue_reader): Likewise.
23202 (grub_register_rescue_reader): Likewise.
23203 (grub_rescue_run): New function based on kern/reader.c.
23204 * kern/term.c: Adapted for multiterm.
23205 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23206 (grub_is_valid_utf8): Likewise.
23207 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23208 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23209 right terminal.
23210 * loader/i386/linux.c (grub_linux_boot): Likewise.
23211 * normal/auth.c (grub_username_get): New function.
23212 (grub_auth_check_authentication): Use grub_username_get.
23213 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23214 * normal/color.c: Adapt for multiterm.
23215 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23216 (grub_normal_init_page): Additional argument term.
23217 (read_lists): Call read_terminal_lists.
23218 (grub_enter_normal_mode): Call grub_cmdline_run.
23219 Handle grub_normal_exit_level.
23220 (grub_cmd_normal): Make reentrant.
23221 (grub_cmd_normal_exit): New function.
23222 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23223 * normal/menu.c: Adapt for multiterm.
23224 * normal/menu_entry.c: Likewise.
23225 * normal/menu_text.c: Likewise.
23226 * normal/menu_viewer.c: Removed. All users updated.
23227 * normal/term.c: New file.
23228 * util/console.c: Change order of includes to workaround a bug in
23229 ncurses headers.
23230 * term/terminfo.c: New argument oterm on all exported functions.
23231 All users updated.
23232 * util/grub-editenv.c (grub_term_input_class): Removed.
23233 (grub_term_output_class): Likewise.
23234
1a064917
RM
232352010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23236
23237 Make loader output a bit more user-friendly.
23238
23239 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23240 is being loaded. Likewise for the Hurd.
23241
23242 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23243 that kernel of FreeBSD ${version} is being loaded.
23244
23245 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23246 grub_dprintf().
23247 (grub_cmd_initrd): Likewise.
23248 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23249 that Linux ${version} is being loaded. Likewise for initrd.
23250
5ce0a83a 232512010-01-09 Carles Pina i Estany <carles@pina.cat>
23252
23253 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23254
809bbfeb 232552010-01-08 Carles Pina i Estany <carles@pina.cat>
23256
23257 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23258 (GRUB_MOD_INIT): Gettextizze.
23259 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23260 (GRUB_MOD_INIT): Gettextizze.
23261 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23262 (grub_cmd_linux): Capitalise Linux.
23263 (GRUB_MOD_INIT): Gettextizze.
23264 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23265 (grub_cmd_linux): Capitalise Linux.
23266 (GRUB_MOD_INIT): Gettextizze.
23267 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23268 (grub_cmd_linux): Capitalise Linux.
23269 (GRUB_MOD_INIT): Gettextizze.
23270 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23271 (GRUB_MOD_INIT): Gettextizze.
23272 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23273 (grub_cmd_linux): Capitalise Linux.
23274 (GRUB_MOD_INIT): Gettextizze.
23275 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23276 (grub_cpu_xnu_init): Gettextizze.
23277 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23278 (GRUB_MOD_INIT): Gettextizze.
23279 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23280 (GRUB_MOD_INIT): Gettextizze.
23281 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23282 (grub_linux_load64): Capitalise Linux.
23283 (GRUB_MOD_INIT): Gettextizze.
23284 * loader/xnu.c: Include `<grub/i18n.h>'.
23285 (GRUB_MOD_INIT): Gettextizze.
23286 * po/POTFILES: Add `loader/efi/appleloader.c',
23287 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23288 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23289 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23290 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23291 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23292 and `loader/xnu.c'.
23293
b394b2ca
RM
232942010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23295
23296 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23297
232982010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
23299
23300 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23301 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23302 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23303
bc8b32b3
RM
233042010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23305
23306 Reset Multiboot 2 support. New loader implements the draft in
23307 /branches/multiboot2 and shares as much code as possible with the
23308 production Multiboot 1 implementation.
23309
23310 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23311 * loader/multiboot2.c: Likewise.
23312 * loader/i386/multiboot_helper.S: Likewise.
23313 * include/multiboot2.h: Replace with latest version from the draft
23314 in /branches/multiboot2.
23315
23316 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23317 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23318 and `loader/multiboot2.c'.
23319 (pkglib_MODULES): Add `multiboot2.mod'.
23320 (multiboot2_mod_SOURCES): New variable.
23321 (multiboot2_mod_LDFLAGS): Likewise.
23322 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23323
23324 * conf/i386-pc.rmk: Likewise.
23325
23326 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23327 (multiboot_mod_SOURCES): Remove variable.
23328 (multiboot_mod_LDFLAGS): Likewise.
23329 (multiboot_mod_CFLAGS): Likewise.
23330
23331 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23332 `<multiboot2.h>' instead of `<multiboot.h>'.
23333 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23334 (MULTIBOOT_HEADER_MAGIC): New macros.
23335
23336 * loader/multiboot_loader.c (module_version_status): Remove variable.
23337 (find_multi_boot2_header): Remove function.
23338 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23339 logic. Always check for the Multiboot version we're compiling for.
23340 (grub_cmd_module_loader): Likewise.
23341 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23342 command instead of `multiboot'.
23343
5d2c52b8
RM
233442010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23345
23346 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23347 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23348 all users.
23349
53108d92
RM
233502010-01-07 Robert Millan <rmh.grub@aybabtu.com>
233512010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23352
23353 Fix breakage introduced with previous commit.
23354
23355 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23356 commands.
23357 * normal/handler.c (read_handler_list): Revert part of previous commit
23358 affecting this file.
23359 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23360 (grub_normal_execute): ... here.
23361
e2e936b2
RM
233622010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23363
23364 Merge prefix-redefinition-fix branch.
23365
23366 * normal/autofs.c (read_fs_list): Make function capable of being
23367 run multiple times, gracefuly replacing the previous data
23368 structures.
23369 * normal/dyncmd.c (read_command_list): Likewise.
23370 * normal/handler.c (read_handler_list): Likewise.
23371 * normal/main.c (read_lists): New function. Calls all the
23372 list reading functions.
23373 (grub_normal_execute): Use read_lists() instead of calling all
23374 list reading functions explicitly. Register read_lists() as a
23375 variable hook attached to ${prefix}.
23376
607a3701
VS
233772010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23378
23379 Merge crypto branch.
23380
23381 * Makefile.in (pkglib_DATA): Add crypto.lst.
23382 (crypto.lst): New target.
23383 * commands/hashsum.c: New file.
23384 * commands/password.c (check_password): Use grub_crypto_memcmp.
23385 * commands/password_pbkdf2.c: New file.
23386 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23387 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23388 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23389 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23390 -I$(srcdir)/lib/libgcrypt_wrap.
23391 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23392 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23393 password_pbkdf2.mod.
23394 (crypto_mod_SOURCES): New variable.
23395 (crypto_mod_CFLAGS): Likewise.
23396 (crypto_mod_LDFLAGS): Likewise.
23397 (hashsum_mod_SOURCES): New variable.
23398 (hashsum_mod_CFLAGS): Likewise.
23399 (hashsum_mod_LDFLAGS): Likewise.
23400 (pbkdf2_mod_SOURCES): New variable.
23401 (pbkdf2_mod_CFLAGS): Likewise.
23402 (pbkdf2_mod_LDFLAGS): Likewise.
23403 (password_pbkdf2_mod_SOURCES): New variable.
23404 (password_pbkdf2_mod_CFLAGS): Likewise.
23405 (password_pbkdf2_mod_LDFLAGS): Likewise.
23406 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23407 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23408 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23409 Include conf/gcry.rmk.
23410 * include/grub/auth.h: Rewritten.
23411 * include/grub/crypto.h: New file.
23412 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23413 * include/grub/normal.h (read_crypto_list): New prototype.
23414 * lib/crypto.c: New file.
23415 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23416 * lib/pbkdf2.c: Likewise.
23417 * normal/auth.c (grub_auth_strcmp): Removed.
23418 (grub_iswordseparator): Likewise.
23419 (grub_auth_strword): Likewise.
23420 (is_authenticated): Use grub_strword.
23421 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23422 and grub_strword. Pass entered password to authentication callback.
23423 * normal/crypto.c: New file.
23424 * normal/main.c: Call read_crypto_list.
23425 * util/grub-mkpasswd-pbkdf2.c: New file.
23426 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23427
42841caa
VS
234282010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23429
23430 Fix descent and ascent calculation.
23431
23432 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23433 (options): New option "asce".
23434 (usage): Likewise.
23435 (add_char): Ignore invalid glyphs for descent calculation.
23436 Calculate ascent from actual content.
23437 (print_glyphs): Use 'asce'.
23438 (write_font): Likewise. Allow ascent override.
23439 (main): Handle "asce" option.
23440
e7730de7 234412010-01-06 Carles Pina i Estany <carles@pina.cat>
23442
23443 * kern/err.c: Include `<grub/i18n.h>'.
23444 (grub_print_error): Add full stop. Gettextizze.
23445 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23446 (grub_bsd_load_elf): Capitalise ELF.
23447 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23448 (grub_cmd_freebsd_module): Likewise.
23449 (grub_cmd_freebsd_module_elf): Likewise.
23450 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23451
40e3a41f 234522010-01-06 Carles Pina i Estany <carles@pina.cat>
23453
23454 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23455 * commands/search_file.c (HELP_MESSAGE): New macro.
23456 * commands/search_label.c (HELP_MESSAGE): Likewise.
23457 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23458 * po/POTFILES: Add `commands/search_file.c',
23459 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23460 `commands/search.c'.
23461
83507e68
RM
234622010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23463
23464 * config.rpath: Update from Gnulib.
23465
465c787b
YB
234662010-01-05 Yves Blusseau <blusseau@zetam.org>
23467
23468 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23469
6581dd3a
YB
234702010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23471
23472 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23473
3bff18c5
CW
234742010-01-05 Colin Watson <cjwatson@ubuntu.com>
23475
23476 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23477 arguments to fread so that we get a return value in bytes, rather
23478 than something that will normally be rounded down to 0.
23479 Adjust error handling to avoid producing garbage when size_t is not
23480 the same size as long long.
23481
a1368118
CW
234822010-01-05 Colin Watson <cjwatson@ubuntu.com>
23483
23484 * util/mkisofs/write.c (padblock_write): Check return value of
23485 fread.
23486
7c302978
RM
234872010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23488
23489 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23490 floppy images now.
23491
23492 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23493
e33ace06
RM
234942010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23495
23496 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23497 instead of manual alignment.
23498 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23499 verbose). Avoid attempts to read past end of the device
23500 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23501 but GRUB_DISK_CACHE_SIZE may exceed that).
23502
4b856776
RM
235032010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23504
23505 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23506 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23507 it to upper layer.
23508
52c2d97f
VS
235092010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23510
23511 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23512 New constant.
23513 (grub_efi_piwg_device_path): New structure
23514 (grub_efi_piwg_device_path_t): New type.
23515 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23516 (devpath_1): Transform to a structure. All users updated.
23517 (devpath_2): Likewise.
23518 (devpath_3): Likewise.
23519 (devpath_4): Likewise.
23520 (devpath_5): Likewise.
23521
98ff6a54
VS
235222010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23523
23524 * loader/efi/appleloader.c: Restored. Update all users.
23525
3a73dcb6
RM
235262010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23527
23528 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23529
23530 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23531 (struct boot_blocklist): Move from here ...
23532 * include/grub/i386/pc/boot.h [ASM_FILE]
23533 (struct grub_boot_blocklist): ... to here. Update all users.
23534 (setup): Only initialize `start' member of `first_block'
23535 structure. Add assert() calls to verify the other members.
23536
23537 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23538 (generate_image): Fix broken blocklist length initialization.
23539 Add assert() call to verify blocklist `segment' field.
23540
ab0eeb0c
RM
235412010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23542
23543 * loader/efi/appleloader.c: Remove. Update all users.
23544
58bc8bd5
RM
235452010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23546
23547 * boot/i386/pc/boot.S: Update copyright year.
23548 * boot/i386/pc/cdboot.S: Likewise.
23549 * boot/i386/pc/diskboot.S: Likewise.
23550 * boot/i386/pc/lnxboot.S: Likewise.
23551 * boot/i386/pc/pxeboot.S: Likewise.
23552 * bus/pci.c: Likewise.
23553 * commands/cmp.c: Likewise.
23554 * commands/help.c: Likewise.
23555 * commands/hexdump.c: Likewise.
23556 * commands/i386/pc/halt.c: Likewise.
23557 * commands/i386/pc/play.c: Likewise.
23558 * commands/i386/pc/vbeinfo.c: Likewise.
23559 * commands/ls.c: Likewise.
23560 * commands/test.c: Likewise.
23561 * disk/dmraid_nvidia.c: Likewise.
23562 * disk/i386/pc/biosdisk.c: Likewise.
23563 * disk/ieee1275/nand.c: Likewise.
23564 * disk/ieee1275/ofdisk.c: Likewise.
23565 * disk/lvm.c: Likewise.
23566 * disk/raid.c: Likewise.
23567 * disk/raid6_recover.c: Likewise.
23568 * disk/scsi.c: Likewise.
23569 * fs/affs.c: Likewise.
23570 * fs/cpio.c: Likewise.
23571 * fs/ext2.c: Likewise.
23572 * fs/hfs.c: Likewise.
23573 * fs/iso9660.c: Likewise.
23574 * fs/ntfs.c: Likewise.
23575 * fs/sfs.c: Likewise.
23576 * fs/udf.c: Likewise.
23577 * fs/ufs.c: Likewise.
23578 * fs/xfs.c: Likewise.
23579 * gencmdlist.sh: Likewise.
23580 * genmk.rb: Likewise.
23581 * include/grub/disk.h: Likewise.
23582 * include/grub/efi/api.h: Likewise.
23583 * include/grub/efi/efi.h: Likewise.
23584 * include/grub/efi/pe32.h: Likewise.
23585 * include/grub/elf.h: Likewise.
23586 * include/grub/fs.h: Likewise.
23587 * include/grub/i386/at_keyboard.h: Likewise.
23588 * include/grub/i386/pc/memory.h: Likewise.
23589 * include/grub/i386/pc/vbe.h: Likewise.
23590 * include/grub/i386/pci.h: Likewise.
23591 * include/grub/i386/tsc.h: Likewise.
23592 * include/grub/ieee1275/ieee1275.h: Likewise.
23593 * include/grub/ntfs.h: Likewise.
23594 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23595 * include/grub/sparc64/libgcc.h: Likewise.
23596 * include/grub/symbol.h: Likewise.
23597 * include/grub/types.h: Likewise.
23598 * include/multiboot2.h: Likewise.
23599 * io/gzio.c: Likewise.
23600 * kern/device.c: Likewise.
23601 * kern/disk.c: Likewise.
23602 * kern/efi/efi.c: Likewise.
23603 * kern/efi/mm.c: Likewise.
23604 * kern/elf.c: Likewise.
23605 * kern/file.c: Likewise.
23606 * kern/i386/dl.c: Likewise.
23607 * kern/i386/pc/init.c: Likewise.
23608 * kern/i386/pc/startup.S: Likewise.
23609 * kern/ieee1275/ieee1275.c: Likewise.
23610 * kern/ieee1275/init.c: Likewise.
23611 * kern/main.c: Likewise.
23612 * kern/mm.c: Likewise.
23613 * kern/powerpc/dl.c: Likewise.
23614 * kern/sparc64/dl.c: Likewise.
23615 * kern/x86_64/dl.c: Likewise.
23616 * lib/hexdump.c: Likewise.
23617 * loader/efi/appleloader.c: Likewise.
23618 * loader/i386/ieee1275/linux.c: Likewise.
23619 * loader/i386/pc/chainloader.c: Likewise.
23620 * loader/i386/pc/linux.c: Likewise.
23621 * loader/i386/pc/multiboot2.c: Likewise.
23622 * loader/ieee1275/multiboot2.c: Likewise.
23623 * loader/multiboot2.c: Likewise.
23624 * loader/multiboot_loader.c: Likewise.
23625 * loader/powerpc/ieee1275/linux.c: Likewise.
23626 * normal/completion.c: Likewise.
23627 * normal/menu_entry.c: Likewise.
23628 * partmap/apple.c: Likewise.
23629 * util/grub.d/10_hurd.in: Likewise.
23630 * util/hostfs.c: Likewise.
23631 * video/readers/png.c: Likewise.
23632
e2d70b5c
CW
236332010-01-03 Colin Watson <cjwatson@ubuntu.com>
23634
23635 * include/grub/misc.h (GNUC_PREREQ): New macro.
23636 (ATTRIBUTE_ERROR): New macro.
23637 * include/grub/list.h (grub_bad_type_cast_real): Use
23638 ATTRIBUTE_ERROR.
23639
a173283f 236402010-01-03 Carles Pina i Estany <carles@pina.cat>
23641
23642 * normal/menu_text.c (print_message): Change messages.
23643
7fa7ff74 236442010-01-03 Carles Pina i Estany <carles@pina.cat>
23645
23646 * normal/menu_entry.c (store_completion): Gettextizze.
23647
136d24f6 236482010-01-03 Carles Pina i Estany <carles@pina.cat>
23649
23650 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
23651
f936862e 236522010-01-03 Carles Pina i Estany <carles@pina.cat>
23653
23654 * po/POTFILES: Sort correctly.
23655
29c44ad1 236562010-01-03 Carles Pina i Estany <carles@pina.cat>
23657
23658 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
23659 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
23660 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
23661 full stop.
23662 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
23663 summary. Gettextizze the strings.
23664 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
23665 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
23666 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
23667 full stop.
23668 (GRUB_MOD_INIT): Remove command name from summary.
23669 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
23670 summary.
23671 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
23672 * term/i386/pc/serial.c (options): Add full stops.
23673 (GRUB_MOD_INIT): Remove command name from the summary.
23674
77a79592 236752010-01-03 Carles Pina i Estany <carles@pina.cat>
23676
23677 * commands/acpi.c: Gettextizze help strings and/or options. Include
23678 `grub/i18n.h' if needed.
23679 * commands/blocklist.c: Likewise.
23680 * commands/boot.c: Likewise.
23681 * commands/cat.c: Likewise.
23682 * commands/cmp.c: Likewise.
23683 * commands/configfile.c: Likewise.
23684 * commands/crc.c: Likewise.
23685 * commands/date.c: Likewise.
23686 * commands/echo.c: Likewise.
23687 * commands/efi/fixvideo.c: Likewise.
23688 * commands/efi/loadbios.c: Likewise.
23689 * commands/gptsync.c: Likewise.
23690 * commands/halt.c: Likewise.
23691 * commands/handler.c: Likewise.
23692 * commands/hdparm.c: Likewise.
23693 * commands/hexdump.c: Likewise.
23694 * commands/i386/cpuid.c: Likewise.
23695 * commands/i386/pc/drivemap.c: Likewise.
23696 * commands/i386/pc/halt.c: Likewise.
23697 * commands/i386/pc/pxecmd.c: Likewise.
23698 * commands/i386/pc/vbeinfo.c: Likewise.
23699 * commands/i386/pc/vbetest.c: Likewise.
23700 * commands/ieee1275/suspend.c: Likewise.
23701 * commands/keystatus.c: Likewise.
23702 * commands/loadenv.c: Likewise.
23703 * commands/ls.c: Likewise.
23704 * commands/lsmmap.c: Likewise.
23705 * commands/lspci.c: Likewise.
23706 * commands/memrw.c: Likewise.
23707 * commands/minicmd.c: Likewise.
23708 * commands/parttool.c: Likewise.
23709 * commands/password.c: Likewise.
23710 * commands/probe.c: Likewise.
23711 * commands/read.c: Likewise.
23712 * commands/reboot.c: Likewise.
23713 * commands/search.c: Likewise.
23714 * commands/sleep.c: Likewise.
23715 * commands/test.c: Likewise.
23716 * commands/true.c: Likewise.
23717 * commands/usbtest.c: Likewise.
23718 * commands/videotest.c: Likewise.
23719 * commands/xnu_uuid.c: Likewise.
23720 * disk/loopback.c: Likewise.
23721 * hello/hello.c: Likewise.
23722 * loader/i386/bsd.c: Likewise.
23723 * term/i386/pc/serial.c: Likewise.
23724 * po/POTFILES: Add new files.
23725
da8d5c53
CW
237262010-01-02 Colin Watson <cjwatson@ubuntu.com>
23727
23728 * term/i386/pc/at_keyboard.c
23729 (keyboard_controller_wait_untill_ready): Rename to ...
23730 (keyboard_controller_wait_until_ready): ... this. Update all users.
23731
33937904 237322010-01-01 Carles Pina i Estany <carles@pina.cat>
23733
23734 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
23735 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
23736 string using string width.
23737 * normal/menu_text.c (grub_print_message_indented): Use
23738 grub_print_spaces and not print_spaces.
23739 (print_timeout): Likewise.
23740 (print_spaces): Move to...
23741 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
23742
3fd3b8d8
RM
237432010-01-01 Robert Millan <rmh.grub@aybabtu.com>
23744
23745 Import from Gnulib.
23746
23747 * gnulib/getdelim.c: New file.
23748 * gnulib/getline.c: Likewise.
23749
33433555
VS
237502009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
23751
23752 * include/grub/list.h (grub_assert_fail): Removed.
23753 (grub_bad_type_cast_real): New function.
23754 (grub_bad_type_cast): New macro.
23755 (GRUB_AS_LIST): Use grub_bad_type_cast.
23756 (GRUB_AS_LIST_P): Likewise.
e44721e8 23757 (GRUB_AS_NAMED_LIST): Likewise.
33433555 23758 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 23759 (GRUB_AS_PRIO_LIST): Likewise.
33433555 23760 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 23761 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 23762
f5a51306
VS
237632009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
23764
23765 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
23766 Fix syntax error.
23767
90d1e879
RM
237682009-12-29 Robert Millan <rmh.grub@aybabtu.com>
23769
23770 * configure.ac: Check for TARGET_CFLAGS initialization before we
23771 initialize it ourselves (sigh).
23772 Move a few modifications to TARGET_CFLAGS to be unconditional
23773 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
23774 eh_frame)
23775
23776 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
23777 * term/i386/pc/at_keyboard.c
23778 (keyboard_controller_wait_untill_ready): Likewise.
23779 (keyboard_controller_led): Rename `led_status' paramter to avoid
23780 name conflict.
23781
465b5a81 237822009-12-28 Carles Pina i Estany <carles@pina.cat>
23783
23784 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
23785 quotes.
23786
c181849b
VS
237872009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23788
23789 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
23790
9c8739a4
VS
237912009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23792
23793 * normal/menu_text.c (grub_print_message_indented): Prevent
23794 past-the-end-of-array dereference.
23795
3e74249c
VS
237962009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23797
23798 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
23799 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
23800
64fd18ed 238012009-12-27 Carles Pina i Estany <carles@pina.cat>
23802
23803 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
23804 * normal/main.c (grub_normal_read_line): Remove a space from the
23805 default prompt.
23806
714af9b9 238072009-12-27 Carles Pina i Estany <carles@pina.cat>
23808
23809 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
23810 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23811 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23812 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23813 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23814 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23815 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23816
82f3e412 238172009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 23818
23819 * video/readers/jpeg.c (cmd): Declare.
23820 (grub_cmd_jpegtest): Use `grub_command_t' type.
23821 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23822 Assign to `cmd'.
23823 (GRUB_MOD_FINI): Use `cmd' to unregister.
23824 * video/readers/png.c (cmd): Declare.
23825 (grub_cmd_pngtest): Use `grub_command_t' type.
23826 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23827 Assign to `cmd'.
23828 (GRUB_MOD_FINI): Use `cmd' to unregister.
23829 * video/readers/tga.c (cmd): Declare.
23830 (grub_cmd_tgatest): Use `grub_command_t' type.
23831 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23832 Assign to `cmd'.
23833 (GRUB_MOD_FINI): Use `cmd' to unregister.
23834
82f3e412 238352009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 23836
23837 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
23838 stops.
23839 * kern/corecmd.c (grub_register_core_commands): Likewise.
23840 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
23841 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23842 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
23843 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23844 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23845 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
23846 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23847 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
23848 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23849 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23850 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23851 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23852 * normal/handler.c (insert_handler): Likewise.
23853 * normal/main.c (GRUB_MOD_INIT): Likewise.
23854 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23855
fdcdbb66 238562009-12-26 Carles Pina i Estany <carles@pina.cat>
23857
23858 * commands/help.c (grub_cmd_help): Print the command name before the
23859 summary.
23860 (GRUB_MOD_INIT): Remove command name from the summary.
23861 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 23862 string as summary.
fdcdbb66 23863 * lib/arg.c (find_long): Print the command name before the summary.
23864 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
23865 summary.
23866 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
23867 * commands/cat.c (GRUB_MOD_INIT): Likewise.
23868 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
23869 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23870 * commands/crc.c (GRUB_MOD_INIT): Likewise.
23871 * commands/date.c (GRUB_MOD_INIT): Likewise.
23872 * commands/echo.c (GRUB_MOD_INIT): Likewise.
23873 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
23874 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23875 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23876 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
23877 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
23878 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
23879 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
23880 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23881 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
23882 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
23883 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
23884 * commands/ls.c (GRUB_MOD_INIT): Likewise.
23885 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23886 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23887 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23888 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
23889 * commands/password.c (GRUB_MOD_INIT): Likewise.
23890 * commands/probe.c (GRUB_MOD_INIT): Likewise.
23891 * commands/read.c (GRUB_MOD_INIT): Likewise.
23892 * commands/search.c (GRUB_MOD_INIT): Likewise.
23893 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
23894 * commands/test.c (GRUB_MOD_INIT): Likewise.
23895 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
23896 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23897 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23898 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
23899 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23900 * lib/arg.c (GRUB_MOD_INIT): Likewise.
23901 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
23902 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23903 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23904 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23905 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23906 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
23907 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
23908 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
23909
9c288be2
VS
239102009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23911
23912 Use search command for preliminar UUID search.
23913
23914 * commands/search.c: Split into ...
23915 * commands/search_wrap.c: ...this
23916 * commands/search.c: ...and this.
23917 * commands/search_file.c: New file.
23918 * commands/search_label.c: New file.
23919 * commands/search_uuid.c: New file.
23920 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
23921 Add commands/search_wrap.c, commands/search_file.c,
23922 commands/search_label.c and commands/search_uuid.c.
23923 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
23924 (search_mod_SOURCES): Set to commands/search_wrap.c.
23925 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
23926 search_label.mod.
23927 (search_fs_file_mod_SOURCES): New variable.
23928 (search_fs_file_mod_CFLAGS): Likewise.
23929 (search_fs_file_mod_LDFLAGS): Likewise.
23930 (search_label_mod_SOURCES): Likewise.
23931 (search_label_mod_CFLAGS): Likewise.
23932 (search_label_mod_LDFLAGS): Likewise.
23933 (search_fs_uuid_mod_SOURCES): New variable.
23934 (search_fs_uuid_mod_CFLAGS): Likewise.
23935 (search_fs_uuid_mod_LDFLAGS): Likewise.
23936 (fs_file_mod_SOURCES): Removed.
23937 (fs_file_mod_CFLAGS): Likewise.
23938 (fs_file_mod_LDFLAGS): Likewise.
23939 (fs_uuid_mod_SOURCES): Removed.
23940 (fs_uuid_mod_CFLAGS): Likewise.
23941 (fs_uuid_mod_LDFLAGS): Likewise.
23942 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
23943 Set to util/grub-install.in.
23944 * disk/fs_file.c: Removed.
23945 * disk/fs_uuid.c: Likewise.
23946 * include/grub/search.h: New file.
23947 * util/grub-install.in: Handle sparc64.
23948 Create and use load.cfg.
23949 * util/sparc64/ieee1275/grub-install.in: Removed.
23950
db943399
VS
239512009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23952
23953 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
23954 Ignore return status if CF is cleared.
23955 (grub_biosdisk_get_diskinfo_standard): Likewise.
23956
3fdae612
RM
239572009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23958
23959 * term/i386/pc/at_keyboard.c
23960 (keyboard_controller_wait_untill_ready): New function.
23961 (grub_keyboard_controller_write, grub_keyboard_controller_read)
23962 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
23963 for keyboard polling, rather than duplicate the same loop. This
23964 saves a few bytes in code size.
23965
7ebaa2b4
VS
239662009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23967
23968 Support for (pxe[:server[:gateway]]) syntax and
23969 use environment variable for PXE.
23970
23971 * commands/i386/pc/pxecmd.c (options): Removed.
23972 (print_ip): Removed.
23973 (grub_cmd_pxe): Removed
23974 (grub_cmd_pxe_unload): New function.
23975 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
23976 (grub_pxe_your_ip): Made static.
23977 (grub_pxe_default_server_ip): Likewise.
23978 (grub_pxe_default_gateway_ip): Likewise.
23979 (grub_pxe_blksize): Likewise.
23980 (parse_ip): New function.
23981 (grub_pxe_open): Support server and gateway specification.
23982 (grub_pxe_close): Free disk->data.
23983 (grub_pxefs_open): Use disk->data.
23984 (grub_pxefs_read): Likewise.
23985 (grub_env_write_readonly): New function.
23986 (set_mac_env): Likewise.
23987 (set_env_limn_ro): Likewise.
23988 (parse_dhcp_vendor): Likewise.
23989 (grub_pxe_detect): Set the environment variables.
23990 (set_ip_env): New function.
23991 (write_ip_env): Likewise.
23992 (grub_env_write_pxe_default_server): Likewise.
23993 (grub_env_write_pxe_default_gateway): Likewise.
23994 (grub_env_write_pxe_blocksize): Likewise.
23995 (GRUB_MOD_INIT(pxe)): Set environment variables.
23996 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
23997 (grub_pxe_mac_addr_t): ... this. All users updated.
23998 (grub_pxe_your_ip): Removed.
23999 (grub_pxe_server_ip): Likewise.
24000 (grub_pxe_gateway_ip): Likewise.
24001 (grub_pxe_blksize): Likewise.
24002
ec5f98ab 240032009-12-25 Carles Pina i Estany <carles@pina.cat>
24004
24005 * commands/help.c: Include `<grub/i18n.h>'.
24006 (grub_cmd_help): Gettextizze.
24007 (GRUB_MOD_INIT): Likewise.
24008 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24009 (GRUB_MOD_INIT): Gettextizze.
24010 * commands/search.c: Include `<grub/i18n.h>'.
24011 (options): Gettextizze.
24012 (GRUB_MOD_INIT): Gettextizze.
24013 * lib/arg.c: Include `<grub/i18n.h>'.
24014 (help_options): Gettextizze.
24015 (find_long): Likewise.
24016 (grub_arg_show_help): Likewise.
24017 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24018 (read_command_list): Gettextizze.
24019 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 24020 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 24021
22815526
RM
240222009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24023
24024 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24025 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24026 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24027 (led_status): New variable.
24028 (keyboard_controller_led): New function.
24029 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24030 update led status for caps lock, num lock and scroll lock.
24031
0ad46fd7
FZ
240322009-12-25 Felix Zielcke <fzielcke@z-51.de>
24033
24034 * util/hostdisk.c (open_device): Fix a comment.
24035
d0e158c2
RM
240362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24037
24038 * util/grub-install.in (host_os): New variable.
24039 * util/i386/efi/grub-install.in (host_os): Likewise.
24040
401c0ad6
RM
240412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24042
24043 * util/mkisofs/write.c (padblock_write): Abort when given an
24044 excedingly large embed image, instead of silently truncating it.
24045
d14d3370
RM
240462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24047
24048 * include/multiboot.h: Indentation fixes.
24049
eeed10b4
RM
240502009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24051
24052 * include/multiboot.h (struct multiboot_aout_symbol_table)
24053 (struct multiboot_elf_section_header_table): New structure
24054 declarations (stolen from GRUB Legacy).
24055 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24056 table information.
24057
24058 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24059 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24060 type aliases.
24061
681c70ab
RM
240622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24063
24064 * include/multiboot.h: Make comments src2texi-friendly.
24065
e4d47d8d
RM
240662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24067
24068 For consistency with [multiboot]/docs/boot.S.
24069
24070 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24071 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24072 (MULTIBOOT_MAGIC2): Rename from this ...
24073 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24074
a0b70bda
RM
240752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24076
24077 * include/multiboot.h: Remove `<grub/types.h>'.
24078 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24079 types. Update all users.
24080
61ba42be 240812009-12-25 Carles Pina i Estany <carles@pina.cat>
24082
24083 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24084 `couldn't' and `can not' by `cannot'.
24085 * commands/i386/pc/drivemap.c: Likewise.
24086 * disk/ata.c: Likewise.
24087 * disk/ieee1275/nand.c: Likewise.
24088 * fs/affs.c: Likewise.
24089 * fs/fat.c: Likewise.
24090 * fs/hfs.c: Likewise.
24091 * fs/hfsplus.c: Likewise.
24092 * fs/iso9660.c: Likewise.
24093 * fs/jfs.c: Likewise.
24094 * fs/minix.c: Likewise.
24095 * fs/reiserfs.c: Likewise.
24096 * fs/sfs.c: Likewise.
24097 * fs/udf.c: Likewise.
24098 * fs/ufs.c: Likewise.
24099 * fs/xfs.c: Likewise.
24100 * loader/powerpc/ieee1275/linux.c: Likewise.
24101 * loader/sparc64/ieee1275/linux.c: Likewise.
24102 * util/grub-probe.c: Likewise.
24103 * util/misc.c: Likewise.
24104
7fd0baee 241052009-12-24 Carles Pina i Estany <carles@pina.cat>
24106
24107 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24108 grub_errno calls.
24109 * commands/acpi.c: Likewise.
24110 * commands/blocklist.c: Likewise.
24111 * commands/efi/loadbios.c: Likewise.
24112 * commands/i386/pc/drivemap.c: Likewise.
24113 * commands/loadenv.c: Likewise.
24114 * commands/memrw.c: Likewise.
24115 * commands/password.c: Likewise.
24116 * commands/videotest.c: Likewise.
24117 * disk/ata.c: Likewise.
24118 * disk/ata_pthru.c: Likewise.
24119 * disk/dmraid_nvidia.c: Likewise.
24120 * disk/ieee1275/nand.c: Likewise.
24121 * disk/ieee1275/ofdisk.c: Likewise.
24122 * disk/loopback.c: Likewise.
24123 * disk/lvm.c: Likewise.
24124 * disk/mdraid_linux.c: Likewise.
24125 * disk/raid.c: Likewise.
24126 * disk/raid6_recover.c: Likewise.
24127 * disk/scsi.c: Likewise.
24128 * efiemu/main.c: Likewise.
24129 * efiemu/mm.c: Likewise.
24130 * efiemu/pnvram.c: Likewise.
24131 * efiemu/symbols.c: Likewise.
24132 * font/font.c: Likewise.
24133 * fs/cpio.c: Likewise.
24134 * fs/hfsplus.c: Likewise.
24135 * fs/iso9660.c: Likewise.
24136 * fs/jfs.c: Likewise.
24137 * fs/minix.c: Likewise.
24138 * fs/ntfs.c: Likewise.
24139 * fs/ntfscomp.c: Likewise.
24140 * fs/reiserfs.c: Likewise.
24141 * fs/ufs.c: Likewise.
24142 * fs/xfs.c: Likewise.
24143 * gettext/gettext.c: Likewise.
24144 * include/grub/auth.h: Likewise.
24145 * kern/elf.c: Likewise.
24146 * kern/file.c: Likewise.
24147 * kern/ieee1275/init.c: Likewise.
24148 * kern/ieee1275/mmap.c: Likewise.
24149 * kern/ieee1275/openfw.c: Likewise.
24150 * kern/powerpc/dl.c: Likewise.
24151 * kern/sparc64/dl.c: Likewise.
24152 * lib/arg.c: Likewise.
24153 * loader/i386/bsd.c: Likewise.
24154 * loader/i386/bsdXX.c: Likewise.
24155 * loader/i386/efi/linux.c: Likewise.
24156 * loader/i386/efi/xnu.c: Likewise.
24157 * loader/i386/ieee1275/linux.c: Likewise.
24158 * loader/i386/linux.c: Likewise.
24159 * loader/i386/multiboot.c: Likewise.
24160 * loader/i386/pc/linux.c: Likewise.
24161 * loader/i386/pc/multiboot2.c: Likewise.
24162 * loader/i386/xnu.c: Likewise.
24163 * loader/ieee1275/multiboot2.c: Likewise.
24164 * loader/macho.c: Likewise.
24165 * loader/machoXX.c: Likewise.
24166 * loader/multiboot2.c: Likewise.
24167 * loader/multiboot_loader.c: Likewise.
24168 * loader/powerpc/ieee1275/linux.c: Likewise.
24169 * loader/sparc64/ieee1275/linux.c: Likewise.
24170 * loader/xnu.c: Likewise.
24171 * loader/xnu_resume.c: Likewise.
24172 * mmap/i386/pc/mmap.c: Likewise.
24173 * normal/menu_viewer.c: Likewise.
24174 * partmap/acorn.c: Likewise.
24175 * partmap/amiga.c: Likewise.
24176 * partmap/apple.c: Likewise.
24177 * script/lexer.c: Likewise.
24178 * term/gfxterm.c: Likewise.
24179 * term/i386/pc/serial.c: Likewise.
24180 * term/i386/pc/vga.c: Likewise.
24181 * term/ieee1275/ofconsole.c: Likewise.
24182 * term/terminfo.c: Likewise.
24183 * video/bitmap.c: Likewise.
24184 * video/efi_gop.c: Likewise.
24185 * video/efi_uga.c: Likewise.
24186 * video/fb/video_fb.c: Likewise.
24187 * video/i386/pc/vbe.c: Likewise.
24188 * video/readers/tga.c: Likewise.
24189 * video/video.c: Likewise.
24190
0ad46fd7 241912009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
24192
24193 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24194 * commands/lspci.c: Likewise.
24195 * commands/probe.c: Likewise.
24196 * commands/xnu_uuid.c: Likewise.
24197 * conf/i386-coreboot.rmk: Likewise.
24198 * conf/i386-efi.rmk: Likewise.
24199 * conf/i386-ieee1275.rmk: Likewise.
24200 * conf/i386-pc.rmk: Likewise.
24201 * conf/powerpc-ieee1275.rmk: Likewise.
24202 * conf/sparc64-ieee1275.rmk: Likewise.
24203 * conf/x86_64-efi.rmk: Likewise.
24204 * fs/i386/pc/pxe.c: Likewise.
24205 * gettext/gettext.c: Likewise.
24206 * include/grub/efi/graphics_output.h: Likewise.
24207 * include/grub/i386/pc/memory.h: Likewise.
24208 * kern/env.c: Likewise.
24209 * kern/i386/qemu/startup.S: Likewise.
24210 * lib/i386/pc/biosnum.c: Likewise.
24211 * lib/i386/relocator.c: Likewise.
24212 * lib/i386/relocator_asm.S: Likewise.
24213 * lib/relocator.c: Likewise.
24214 * loader/i386/bsd.c: Likewise.
24215 * loader/i386/multiboot.c: Likewise.
24216 * loader/i386/pc/chainloader.c: Likewise.
24217 * loader/i386/xnu.c: Likewise.
24218 * loader/xnu.c: Likewise.
24219 * normal/main.c: Likewise.
24220 * normal/menu_text.c: Likewise.
24221 * util/getroot.c: Likewise.
24222 * util/grub-mkconfig_lib.in: Likewise.
24223 * util/grub.d/00_header.in: Likewise.
24224 * util/i386/pc/grub-mkimage.c: Likewise.
24225 * util/mkisofs/eltorito.c: Likewise.
24226 * util/mkisofs/exclude.h: Likewise.
24227 * util/mkisofs/hash.c: Likewise.
24228 * util/mkisofs/iso9660.h: Likewise.
24229 * util/mkisofs/joliet.c: Likewise.
24230 * util/mkisofs/mkisofs.c: Likewise.
24231 * util/mkisofs/mkisofs.h: Likewise.
24232 * util/mkisofs/multi.c: Likewise.
24233 * util/mkisofs/name.c: Likewise.
24234 * util/mkisofs/rock.c: Likewise.
24235 * util/mkisofs/tree.c: Likewise.
24236 * util/mkisofs/write.c: Likewise.
24237 * video/efi_gop.c: Likewise.
24238
009ec743
VS
242392009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24240
24241 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24242 size counting.
24243
0ad46fd7 242442009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
24245
24246 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24247 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24248
d3d30ea0
VS
242492009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24250
24251 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24252 (GRUB_MOD_INIT(memrw)): Update help line.
24253
a34f5c70
VS
242542009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24255
24256 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24257 Use grub_extcmd_t. All users updated.
24258 (options): New variable.
24259 (grub_cmd_read): Restructure for readability. Support "-v" option.
24260 (grub_cmd_write): Restructure for readability.
24261
0ad46fd7 242622009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
24263
24264 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24265
0ad46fd7 242662009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
24267
24268 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24269 with the actual contents of the correspondending make variable.
24270 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24271 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24272 specifying `*.lst' and `efiemu??.o'
24273
0ad46fd7 242742009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
24275
24276 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24277 after function name.
24278 Noticed by Rene Engelhard <rene@debian.org>.
24279
dc77a799
VS
242802009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24281
24282 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24283 (options): New variable.
24284 (iospace): Likewise.
24285 (grub_lspci_iter): List IO spaces if "-i" was given.
24286 (grub_cmd_lspci): Parse options.
24287 (GRUB_MOD_INIT(lspci)): Use extcmd.
24288 (GRUB_MOD_FINI(lspci)): Likewise.
24289
0ad46fd7 242902009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
24291
24292 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24293 `function' keyword.
24294 Patch by Tony Mancill <tmancill@debian.org>.
24295
b5d5993b
VS
242962009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24297
24298 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24299 (grub_uhci_portstatus): Likewise.
24300 (grub_uhci_portstatus): Add necessary delay.
11d18281 24301 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 24302
941903f2 243032009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 24304
941903f2 24305 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24306 (GRUB_MOD_INIT): Likewise.
24307 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 24308 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24309 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 24310 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24311 (enable_rom_area): Likewise.
24312 (GRUB_MOD_INIT): Likewise.
24313 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24314 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24315 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24316 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24317 * commands/hexdump.c (options): Likewise.
24318 * commands/i386/cpuid.c (options): Likewise.
24319 (GRUB_MOD_INIT): Likewise.
24320 * commands/i386/pc/drivemap.c (options): Likewise.
24321 (GRUB_MOD_INIT): Likewise.
24322 * commands/i386/pc/halt (options): Likewise.
24323 (GRUB_MOD_INIT): Likewise.
24324 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24325 * commands/i386/pc/pxecmd.c (options): Likewise.
24326 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24327 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24328 * commands/keystatus.c (options): Likewise.
24329 (GRUB_MOD_INIT): Likewise.
24330 * commands/loadenv.c (options): Likewise.
24331 * commands/ls.c (options): Likewise.
24332 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24333 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24334 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24335 * commands/parttool.c (helpmsg): Likewise.
24336 * commands/probe.c (options): Likewise.
24337 * commands/read.c (GRUB_MOD_INIT): Likewise.
24338 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24339 * commands/search.c (options): Likewise.
24340 * commands/sleep.c (options): Likewise.
24341 * commands/test.c (GRUB_MOD_INIT): Likewise.
24342 * commands/true.c (GRUB_MOD_INIT): Likewise.
24343 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24344 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24345 * lib/arg.c (help_options): Likewise.
e9bbb4e7 24346 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24347 `$(XGETTEXT)'.
98a50553 24348 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 24349
0ad46fd7 243502009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 24351
ef3c2c3a 24352 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
24353 instead of specifying them explicit.
24354
7922f68b
RM
243552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24356
24357 * NEWS: Add grub-probe support for GNU/Hurd.
24358
537ce47f
RM
243592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24360
24361 * NEWS: gettext was added after 1.97.
24362
9b214e3a
RM
243632009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24364
24365 * util/mkisofs/msdos_partition.h: New file (based on
24366 include/grub/msdos_partition.h).
24367 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24368 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24369 (ld_options, main): Recognize --protective-msdos-label.
24370 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24371 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24372 (padblock_write): If `use_protective_msdos_label' is set, patch a
24373 protective DOS-style label in the output image.
24374
24375 * util/grub-mkrescue.in: Use --protective-msdos-label.
24376
e9309813
RM
243772009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24378
24379 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24380 boot.
24381
0ae56929
RM
243822009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24383
24384 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24385 variables.
24386 (ld_options, main): Recognize `--embedded-boot'.
24387 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24388 declarations.
24389 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24390 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24391 (padblock_write): Likewise. Rewrite to support embedded boot image.
24392
24393 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24394 for BIOS-based disk boot instead of only ElTorito.
24395
b15937b1
RM
243962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24397
24398 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24399 build (not needed for bootstrap).
24400
52cc3ce0
RM
244012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24402
24403 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24404 from i386-pc build (not needed for bootstrap).
24405 Rewrite a pair of strings.
24406
36f5ff04
RM
244072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24408
24409 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24410
973c6c85 244112009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
24412
24413 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24414
05d21547
AB
244152009-12-21 Andreas Born <futur.andy@googlemail.com>
24416
24417 * kern/env.c (grub_env_context_open): Mark exported variable for
24418 reexport.
24419
0175d51f
AB
244202009-12-21 Andreas Born <futur.andy@googlemail.com>
24421
24422 * kern/env.c (grub_env_export): Create nonexistent variables before
24423 exporting.
24424
7f39d92f 244252009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 24426
7f39d92f 24427 * include/grub/auth.h: Include `<grub/i18n.h>'.
24428 (GRUB_GET_PASSWORD): Gettextizze string.
24429 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24430 menu_text.c.
24431 (grub_utf8_to_ucs4_alloc): Fix indentation.
24432 (grub_print_ucs4): Likewise.
24433 (grub_getstringwidth): Likewise.
24434 (print_message_indented): New declaration.
24435 * normal/auth.c: Include `<grub/i18n.h>'.
24436 (grub_auth_check_authentication): Gettexttize string.
24437 * normal/cmdline.c: Include `<grub/i18n.h>'.
24438 (grub_cmdline_get): Gettextizze.
24439 * normal/color.c: Include `<grub/i18n.h>'.
24440 (grub_parse_color_name_pair): Gettexttize strings.
24441 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24442 string (use `print_message_indented').
24443 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24444 `include/grub/normal.h'.
24445 (print_message_indented): Renamed to ...
24446 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24447 used in normal/main.c).
24448 (print_message): Use `grub_print_message_indented' instead of
24449 `print_message_indented'.
24450 (print_timeout): Likewise.
24451 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24452 (grub_normal_print_device_info): Gettexttize strings.
24453 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24454
3041d898
VS
244552009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24456
24457 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24458 of arguments. Return number of tokens and not arguments. All users
24459 updated.
24460
de15bf8e
VS
244612009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24462
24463 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24464 non-MSDOS paritions.
24465
e0a6ca52
VS
244662009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24467
24468 * include/grub/types.h (UNUSED): Removed since it conflicts with
24469 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24470 Reported by Grégoire Sutre.
24471
b99518d1 244722009-12-19 Carles Pina i Estany <carles@pina.cat>
24473
24474 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24475 (grub_print_ucs4_alloc): Likewise.
24476 (grub_getstringwidth): Likewise.
24477 * normal/main.c (grub_normal_init_page): Gettextize version string.
24478 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24479 (getstringwidth): Renamed to ...
24480 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24481 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24482 (grub_print_ucs4): Remove `static' qualifer (now used in
24483 normal/main.c).
24484 * po/POTFILES: Add normal/main.c.
24485
bfd5e52b 244862009-12-19 Carles Pina i Estany <carles@pina.cat>
24487
24488 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24489 (print_message_indented): Add `margin_left' and `margin_right'
24490 parameters.
24491 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24492 strings.
24493 (print_timeout): Use `print_message_indented' to print the message.
24494 Deletes `second_stage' parameter.
24495 (run_menu): Update `print_timeout' calls.
24496
5a1ad2b9
VS
244972009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24498
24499 Fix console palette on OpenFirmware.
24500
24501 * term/ieee1275/ofconsole.c (MAX): Removed.
24502 (colors): Redone based on VGA palette.
24503 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24504 colors are supported.
24505 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24506
b045f00a
VS
245072009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24508
24509 Fix potential EfiEmu double prepare.
24510
24511 * efiemu/main.c (prepared): New variable
24512 (grub_efiemu_unload): Set prepare to '0'.
24513 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24514
24515 set_virtual_address_map support.
24516
24517 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24518 prototype.
24519 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24520 prototype.
24521 (grub_efiemu_crc32): Likewise.
24522 (grub_efiemu_crc64): Likewise.
24523 (grub_efiemu_set_virtual_address_map): Likewise.
24524 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24525 New definition.
24526 (grub_autoefi_set_virtual_address_map): Likewise.
24527 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24528 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24529 Restructure flow to accomodate it.
24530 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24531 (grub_efiemu_crc): Recompute CRC32.
24532 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24533 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24534 * efiemu/symbols.c (relocated_handle): New variable.
24535 (grub_efiemu_free_syms): Free relocated_handle.
24536 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24537 (grub_efiemu_write_sym_markers): New function.
24538 (grub_efiemu_set_virtual_address_map): Likewise.
24539
24540 Newer XNU parameters.
24541
24542 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24543 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24544 (grub_xnu_fill_devicetree): New prototype.
24545 (grub_xnu_heap_real_start): New variable.
24546 * loader/xnu.c (get_name_ptr): New function.
24547 (grub_xnu_load_driver): Fill namelen and name.
24548
24549 64-bit xnu support.
24550
24551 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
24552 and 'loader/macho64.c'.
24553 * conf/i386-pc.rmk: Likewise.
24554 * conf/x86_64-efi.rmk: Likewise.
24555 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
24556 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
24557 * include/grub/macho.h (grub_macho_segment64): New structure.
24558 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
24559 (grub_macho_size32): ... to this.
24560 (grub_macho32_get_entry_point): Renamed from ...
24561 (grub_macho_get_entry_point32): ... to this.
24562 (grub_macho_contains_macho64): New prototype.
24563 (grub_macho_size64): Likewise.
24564 (grub_macho_get_entry_point64): Likewise.
24565 (grub_macho32_load): Renamed from ...
24566 (grub_macho_load32): ... to this.
24567 (grub_macho32_filesize): Renamed from ...
24568 (grub_macho_filesize32): ... to this.
24569 (grub_macho32_readfile): Renamed from ...
24570 (grub_macho_readfile32): ... to this.
24571 (grub_macho_filesize64): New prototype.
24572 (grub_macho_readfile64): Likewise.
24573 (grub_macho_parse32): Likewise.
24574 (grub_macho_parse64): Likewise.
24575 * loader/macho.c: Split into ...
24576 * loader/machoXX.c: ... and this. Replace 32 with XX.
24577 * loader/macho32.c: New file.
24578 * loader/macho64.c: Likewise.
24579 * loader/xnu.c (grub_xnu_is_64bit): New variable.
24580 (grub_cmd_xnu_kernel): Make 32-bit only.
24581 (grub_cmd_xnu_kernel64): New function.
24582 (grub_xnu_load_driver): Support Mach-O 64.
24583 (grub_cmd_xnu_mkext): Likewise.
24584 * util/grub.d/30_os-prober.in (osx_entry): New function.
24585 Generate entries for 64-bit boot too.
24586
24587 Eliminate ad-hoc tree format in XNU and EfiEmu.
24588
24589 * efiemu/main.c (grub_efiemu_prepare): Update comment.
24590 * efiemu/pnvram.c: Rewritten to use environment variables.
24591 All users updated.
24592
24593 Inline utf16_to_utf8.
24594
24595 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
24596 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
24597 All users updated.
24598 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
24599
24600 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
24601 * commands/usbtest.c (grub_usb_get_string): ... move here.
24602 (usb_print_str): Fix error handling.
24603 * include/grub/usb.h (grub_usb_get_string): Remove.
24604
24605 UTF-8 to UTF-16 transformation.
24606
24607 * conf/common.rmk (pkglib_MODULES): Add charset.mod
24608 (charset_mod_SOURCES): New variable.
24609 (charset_mod_CFLAGS): Likewise.
24610 (charset_mod_LDFLAGS): Likewise.
24611 * include/grub/utf.h: New file.
24612 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
24613
24614 Support for device properties.
24615
24616 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
24617 (grub_xnu_devprop_device_header): Likewise.
24618 (grub_xnu_devprop_device_descriptor): Likewise.
24619 (grub_xnu_devprop_add_device): New prototype.
24620 (grub_xnu_devprop_remove_device): Likewise.
24621 (grub_xnu_devprop_remove_property): Likewise.
24622 (grub_xnu_devprop_add_property_utf8): Likewise.
24623 (grub_xnu_devprop_add_property_utf16): Likewise.
24624 (grub_cpu_xnu_init): Likewise.
24625 (grub_cpu_xnu_fini): Likewise.
24626 (grub_cpu_xnu_unload): Likewise.
24627 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
24628 (property_descriptor): Likewise.
24629 (devices): New variable.
24630 (grub_xnu_devprop_remove_property): New function.
24631 (grub_xnu_devprop_add_device): Likewise.
24632 (grub_xnu_devprop_remove_device): Likewise.
24633 (grub_xnu_devprop_add_property): Likewise.
24634 (grub_xnu_devprop_add_property_utf8): Likewise.
24635 (grub_xnu_devprop_add_property_utf16): Likewise.
24636 (hextoval): Likewise.
24637 (grub_cpu_xnu_fill_devprop): Likewise.
24638 (grub_cmd_devprop_load): Likewise.
24639 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
24640 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
24641 (cmd_devprop_load): New variable.
24642 (grub_cpu_xnu_init): New function.
24643 (grub_cpu_xnu_fini): Likewise.
24644 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
24645 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
24646 (grub_cmd_xnu_devtree): Likewise.
24647 (hextoval): New function.
24648 (unescape): Likewise.
24649 (grub_xnu_fill_devicetree): Likewise.
24650
24651 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
24652 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
24653
0945f181
VS
246542009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24655
24656 Workaround for broken ATI VBE.
24657
24658 * video/i386/pc/vbe.c (last_set_mode): New variable.
24659 (grub_vbe_set_video_mode): Set 'last_set_mode'.
24660 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
24661 (grub_video_vbe_setup): Don't check for reserved flag.
24662
0ad46fd7 246632009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
24664
24665 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
24666 the `find' command.
24667
c179ebe4
VS
246682009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
24669
24670 UUID support for HFS.
24671
24672 * fs/hfs.c (grub_hfs_uuid): New function.
24673 (grub_hfs_fs): New value .uuid.
24674 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
24675
0ad46fd7 246762009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
24677
24678 Fix a segfault with parsing unknown long options.
24679
24680 * util/grub-mkrelpath.c (options): Zero terminate it.
24681
c4a3e41a
CPE
246822009-12-13 Carles Pina i Estany <carles@pina.cat>
24683
24684 * include/grub/misc.h (grub_puts): New declaration.
24685 (grub_puts_): Likewise.
a22008a6 24686 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
24687 (grub_puts_): Likewise.
24688
2e8a7602
RM
246892009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24690
24691 * util/grub-probe.c (probe): Improve error message.
24692
b50b77b9
RM
246932009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24694
24695 * loader/i386/multiboot_elfxx.c
24696 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
24697 initialization.
24698
246992009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24700
24701 Relocator framework
24702
24703 * loader/i386/xnu_helper.S: Removed. All users updated.
24704 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
24705 (relocator_mod_SOURCES): New variable.
24706 (relocator_mod_CFLAGS): Likewise.
24707 (relocator_mod_LDFLAGS): Likewise.
24708 (relocator_mod_ASFLAGS): Likewise.
24709 * conf/x86_64.rmk: Likewise.
24710 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
24711 (grub_multiboot_payload_entry_offset): Likewise.
24712 (grub_multiboot_forward_relocator): Likewise.
24713 (grub_multiboot_forward_relocator_end): Likewise.
24714 (grub_multiboot_backward_relocator): Likewise.
24715 (grub_multiboot_backward_relocator_end): Likewise.
24716 (grub_multiboot_payload_eip): New variable.
24717 (grub_multiboot_payload_orig): Likewise.
24718 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
24719 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
24720 * include/grub/i386/memory.h
24721 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
24722 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
24723 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
24724 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
24725 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
24726 * include/grub/i386/relocator.h: New file.
24727 * include/grub/x86_64/relocator.h: Likewise.
24728 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
24729 (XNU_RELOCATOR): New macro.
24730 (grub_xnu_launcher_start): Remove.
24731 (grub_xnu_launcher_end): Likewise.
24732 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
24733 (grub_xnu_heap_real_start): Remove.
24734 (grub_xnu_heap_start): Change to void *. All users updated.
24735 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
24736 * lib/i386/relocator.c: New file.
24737 * lib/i386/relocator_asm.S: Likewise.
24738 * lib/i386/relocator_backward.S: Likewise.
24739 * lib/mips/relocator.c: Likewise.
24740 * lib/mips/relocator_asm.S: Likewise.
24741 * lib/relocator.c: Likewise.
24742 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
24743 (entry): Removed.
24744 (playground): Likewise.
24745 (grub_multiboot_payload_orig): New variable.
24746 (grub_multiboot_payload_dest): Likewise.
24747 (grub_multiboot_payload_size): Likewise.
24748 (grub_multiboot_payload_eip): Likewise.
24749 (grub_multiboot_payload_esp): Likewise.
24750 (grub_multiboot_boot): Use grub_relocator32_boot.
24751 (grub_multiboot_unload): Free relocators.
24752 (grub_multiboot): Setup stack. Use relocators.
24753 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
24754 (grub_multiboot_load_elfXX): Use relocators.
24755 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
24756 (grub_multiboot_payload_size): Likewise.
24757 (grub_multiboot_payload_dest): Likewise.
24758 (grub_multiboot_payload_entry_offset): Likewise.
24759 (grub_multiboot_forward_relocator): Likewise.
24760 (grub_multiboot_backward_relocator): Likewise.
24761 (grub_multiboot_real_boot): Likewise.
24762 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
24763 (grub_xnu_entry_point): Likewise.
24764 (grub_xnu_arg1): Likewise.
24765 (grub_xnu_stack): Likewise.
24766 (grub_xnu_launch): Removed.
24767 (grub_xnu_boot_resume): New function.
24768 (grub_xnu_boot): Use relocators.
24769 * loader/i386/xnu_helper.S: Removed.
24770 * loader/xnu.c (grub_xnu_heap_start): New variable.
24771 (grub_xnu_heap_size): Likewise.
24772 (grub_xnu_heap_malloc): Use relocators.
24773 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
24774
29eb90c6
VS
247752009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24776
24777 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
24778 anything.
24779
31027430
CPE
247802009-12-13 Carles Pina i Estany <carles@pina.cat>
24781
24782 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
24783 GRUB_ERR_NONE before calling grub_env_set.
24784
dc0c71d9
RM
247852009-12-12 Robert Millan <rmh@aybabtu.com>
24786
24787 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
24788 * genmk.rb (video): New variable.
24789 (CLEANFILES, VIDEOFILES): Add #{video}.
24790 (#{video}): New target rule.
24791 * genvideolist.sh: New file.
24792 * Makefile.in (pkglib_DATA): Add video.lst.
24793 (video.lst): New target rule.
24794 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
24795 `video.lst'.
24796 * util/grub.d/30_os-prober.in: Replace `vbe' with
24797 ${GRUB_VIDEO_BACKEND}.
24798
2a4bfcf0
RM
247992009-12-11 Robert Millan <rmh.grub@aybabtu.com>
24800
24801 * THANKS: Add David Miller.
24802
2a3aa4d5
RM
248032009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
24804
24805 libpciaccess support.
24806
24807 * Makefile.in (LIBPCIACCESS): New variable.
24808 (enable_grub_emu_pci): Likewise.
24809 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
24810 util/pci.c and commands/lspci.c.
24811 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
24812 * configure.ac (grub-emu-pci): New option.
24813 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
24814 (grub_pci_device_unmap_range): Likewise.
24815 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
24816 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
24817 (grub_pci_address_t) [!GRUB_UTIL]: New type.
24818 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
24819 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
24820 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
24821 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
24822 * include/grub/pciutils.h: New file.
24823 * util/pci.c: Likewise.
24824
0ad46fd7 248252009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
24826
24827 * util/misc.c: Don't include <errno.h> twice.
24828
0ad46fd7 248292009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
24830
24831 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
24832 name in an error message.
24833 (grub_biosdisk_rw): Likewise.
24834
2e59983c
VS
248352009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24836
24837 Eliminate NTFS 4Gib barrier.
24838
24839 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
24840 (read_run_data): Likewise.
24841 (grub_ntfs_read_run_list): Likewise.
24842 (grub_ntfs_read_block): Likewise.
24843 (grub_ntfs_iterate_dir): Likewise.
24844 (read_mft): Likewise.
24845 (read_data): Likewise.
24846 Use COM_LOG_LEN.
24847 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
24848 to avoid 64-bit division
24849 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
24850 (grub_ntfs_rlst): Use grub_disk_addr_t.
24851
71ee178a
VS
248522009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24853
24854 Eliminate grub-fstest 4Gib barrier.
24855
24856 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
24857 (read_file): Fix error reporting.
24858
2520d4b8
VS
248592009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24860
24861 Eliminate hexdump 4Gib barrier.
24862
24863 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
24864 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
24865
e1f27065
VS
248662009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24867
24868 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
24869 Fixes amarsh bug.
24870
1a0f7f45
RM
248712009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
24872
24873 Remove miscellaneous files in distclean target.
24874
24875 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
24876
c631d9fb
CW
248772009-12-09 Colin Watson <cjwatson@ubuntu.com>
24878
24879 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
24880 if they're already set. This resolves the conflict between my
24881 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
24882 fixing the --grub-probe option again.
24883 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
24884 change on 2009-10-06, so that we now once again source
24885 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24886
7c7b6106
RM
248872009-12-08 Robert Millan <rmh.grub@aybabtu.com>
24888
24889 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
24890 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
24891 `util/devicemap.c'.
24892
e3069ec1
CPE
248932009-12-08 Carles Pina i Estany <carles@pina.cat>
24894
24895 * include/grub/misc.h (grub_printf_): New declaration.
24896 * kern/misc.c (grub_printf_): New definition.
24897 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
24898 instead of `grub_printf' and `_'.
24899 * normal/menu_entry.c (store_completion): Likewise.
24900 (run): Likewise.
24901 (grub_menu_entry_run): Likewise.
24902 * normal/menu_text.c (grub_wait_after_message): Likewise.
24903 (notify_booting): Likewise.
24904 (notify_fallback): Likewise.
24905 (notify_execution_failure): Likewise.
24906
d6ceebf1
CW
249072009-12-07 Colin Watson <cjwatson@ubuntu.com>
24908
24909 * configure.ac: Check for vasprintf.
24910 * util/misc.c (asprintf): Move allocation from here ...
24911 (vasprintf): ... to here. New function.
24912 (xasprintf): New function.
24913 * include/grub/util/misc.h (vasprintf, xasprintf): Add
24914 prototypes.
24915 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24916 * util/grub-mkfont.c (write_font): Likewise.
24917 * util/grub-probe.c (probe): Likewise.
24918 * util/hostdisk.c (make_device_name): Likewise.
24919
de6daa8b
DM
249202009-12-06 David S. Miller <davem@sunset.davemloft.net>
24921
24922 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
24923 anything even prefixed with 'cdrom' as a cdrom.
24924
0ad46fd7 249252009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
24926
24927 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
24928 mount points.
24929
98d3dc02
CPE
249302009-12-05 Carles Pina i Estany <carles@pina.cat>
24931
24932 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
24933 grub_gettext_msg_list.
24934 (grub_gettext_gettranslation_from_position): Return const char *
24935 and not char *.
a2c1332b 24936 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
24937 returns from the list if existing there.
24938 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
24939 (grub_gettext_delete_list): Delete the list.
24940 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
24941 lang environment variable is changed.
24942 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
24943
b283f108
VS
249442009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24945
24946 Rename kernel.mod to kernel.img.
24947
24948 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
24949 (kernel_mod_EXPORTS): Rename to ...
24950 (kernel_img_EXPORTS): ... this.
24951 (kernel_mod_SOURCES): Rename to ...
24952 (kernel_img_SOURCES): ... this.
24953 (kernel_mod_HEADERS): Rename to ...
24954 (kernel_img_HEADERS): ... this. All users updated.
24955 (kernel_mod_CFLAGS): Rename to ...
24956 (kernel_img_CFLAGS): ... this.
24957 (kernel_mod_ASFLAGS): Rename to ...
24958 (kernel_img_ASFLAGS): ... this.
24959 (kernel_mod_LDFLAGS): Rename to ...
24960 (kernel_img_LDFLAGS): ... this.
24961 * conf/x86_64-efi.rmk: Likewise.
24962 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
24963 (read_kernel_image): ... this. All users updated.
24964 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
24965
69055f8a
CPE
249662009-12-05 Carles Pina i Estany <carles@pina.cat>
24967
24968 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
24969 (print_spaces): New function.
24970 (grub_print_ucs4): New function.
24971 (getstringwidth): New function.
24972 (print_message_indented): New function.
24973 (print_message): Gettexttize strings using print_message_indented.
24974 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
24975 width.
24976 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 24977 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
24978 Gettextize.
24979 * normal/menu_entry.c (store_completion): Cleanup the gettextized
24980 string.
24981 (run): Likewise.
24982 (grub_menu_entry_run): Likewise.
24983 * PO/POTFILES: Add normal/menu_entry.c.
24984
f616f51c
VS
249852009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24986
24987 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
24988
57bbe3be
CPE
249892009-12-05 Carles Pina i Estany <carles@pina.cat>
24990
24991 * util/grub-install.in: Install gettext .mo files.
24992 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
24993
013d67a1
CPE
249942009-12-05 Carles Pina i Estany <carles@pina.cat>
24995
24996 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
24997 grub_dprintf.
24998
fb954db0
RM
249992009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25000
25001 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25002 non-firmware-dependant one in realmode.S takes precedence.
25003
6b8474f8
RM
250042009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25005
25006 * commands/halt.c: Replace misc arch-specific headers with
25007 `<grub/misc.h>'.
25008 * commands/reboot.c: Likewise.
25009 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25010 `<grub/misc.h>'.
25011 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25012 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25013 (kernel_img_SOURCES): ... to here.
25014
25015 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25016 * include/grub/i386/pc/init.h: Likewise.
25017 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25018 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25019
25020 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25021
25022 * include/grub/i386/halt.h: Remove.
25023 * include/grub/i386/reboot.h: Likewise.
25024
25025 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25026
4b2e6ca2
DM
250272009-12-03 David S. Miller <davem@sunset.davemloft.net>
25028
25029 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25030 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25031 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25032 "progname.h"
25033 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25034 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25035 (usage): Add missing comma in printf.
25036
5239348f
RM
250372009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25038
25039 Use the same reboot approach on i386 coreboot and qemu as we do on
25040 BIOS.
25041
25042 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25043 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25044 * kern/i386/reboot.c: Remove.
25045 * include/grub/i386/reboot.h (grub_reboot): Export function.
25046 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25047 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25048 0xf000:0xfff0 instead of 0xffff:0x0000.
25049 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25050 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25051
ef34cbd4
RM
250522009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25053
25054 Fix $srcdir != $objdir build.
25055
25056 * Makefile.in (po/%.po): Rewrite as ...
25057 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25058
dc9837ea
ST
250592009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25060
25061 Fix GNU/Hurd grub-install crash.
25062 * util/grub-probe.c (probe): Try to access `path' only when it is not
25063 NULL.
25064
2f857f98
VS
250652009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25066
25067 Correct module naming.
25068
25069 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25070 (GRUB_MOD_INIT(efi_uga)): ... to this
25071 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25072 (GRUB_MOD_FINI(efi_uga)): ... to this
25073 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25074 (GRUB_MOD_INIT(efi_gop)): ... to this
25075 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25076 (GRUB_MOD_FINI(efi_gop)): ... to this
25077
c5448046
RM
250782009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25079
25080 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25081 translatable.
25082 (usage): Translate `arg' strings using gettext().
25083 Thanks to Jordi Mallach for the suggestion.
25084
c85184ad
VS
250852009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25086
25087 GOP support. Based on patch from Bean
25088 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25089
25090 * video/efi_gop.c: New file.
25091 * include/grub/efi/graphics_output.h: Likewise.
25092 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25093 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25094 variables.
25095 * conf/x86_64-efi.rmk: Likewise.
25096
8a4c48d8
VS
250972009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25098
25099 Rename efi_fb to efi_uga.
25100
25101 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25102 'efi_uga.mod'.
25103 (efi_fb_mod_SOURCES): Rename this ...
25104 (efi_uga_mod_SOURCES): ... to this.
25105 (efi_fb_mod_CFLAGS): Rename this ...
25106 (efi_uga_mod_CFLAGS): ... to this.
25107 (efi_fb_mod_LDFLAGS): Rename this ...
25108 (efi_uga_mod_LDFLAGS): ... to this.
25109 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25110 'efi_uga.mod'.
25111 (efi_fb_mod_SOURCES): Rename this ...
25112 (efi_uga_mod_SOURCES): ... to this.
25113 (efi_fb_mod_CFLAGS): Rename this ...
25114 (efi_uga_mod_CFLAGS): ... to this.
25115 (efi_fb_mod_LDFLAGS): Rename this ...
25116 (efi_uga_mod_LDFLAGS): ... to this.
25117 * video/efi_fb.c: Move this ...
25118 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25119
fb6c1a7b
RM
251202009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25121
25122 * po/README: New file. Explain our PO file workflow.
25123
3bc7896c
RM
251242009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25125
25126 * po/ChangeLog: Remove. Move relevant entries back to ...
25127 * ChangeLog: ... here.
25128 * po/ca.po: Remove (now handled by TLP).
25129 * po/id.po: Likewise.
25130 * po/zh_CN.po: Likewise.
25131 * Makefile.in (LINGUAS): Initialize in a way that supports
25132 empty set.
25133
9ed4841d
RM
251342009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25135
25136 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25137 reliing on po/LINGUAS.
25138 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25139 (po/%.po): ... this.
25140
0ad46fd7 251412009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
25142
25143 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25144 (main): Use `program_name' instead of nonexistent `progname'.
25145
e30dd392
FZ
251462009-11-26 Felix Zielcke <fzielcke@z-51.de>
25147
25148 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25149 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25150
7656de4f
RM
251512009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25152
25153 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25154 commit.
25155 * conf/i386-efi.rmk: Likewise.
25156 * conf/i386-ieee1275.rmk: Likewise.
25157 * conf/powerpc-ieee1275.rmk: Likewise.
25158 * conf/sparc64-ieee1275.rmk: Likewise.
25159 * conf/x86_64-efi.rmk: Likewise.
25160
db77c4d4
FZ
251612009-11-26 Felix Zielcke <fzielcke@z-51.de>
25162
25163 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25164
a755bb04
FZ
251652009-11-26 Felix Zielcke <fzielcke@z-51.de>
25166
25167 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25168
8a4c07fd
RM
251692009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25170
25171 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25172 (grub_mkdevicemap_SOURCES): New variable.
25173 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25174 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25175 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25176 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25177 (grub_mkdevicemap_SOURCES): Remove.
25178 * conf/i386-efi.rmk: Likewise.
25179 * conf/i386-ieee1275.rmk: Likewise.
25180 * conf/i386-pc.rmk: Likewise.
25181 * conf/powerpc-ieee1275.rmk: Likewise.
25182 * conf/sparc64-ieee1275.rmk: Likewise.
25183 * conf/x86_64-efi.rmk: Likewise.
25184 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25185 (usage): Fix strings to use `program_name'.
25186 (main): Initialize gettext.
25187 * util/grub-editenv.c: Likewise.
25188 * util/grub-emu.c: Likewise.
25189 * util/grub-fstest.c: Likewise.
25190 * util/grub-mkdevicemap.c: Likewise.
25191 * util/grub-mkfont.c: Likewise.
25192 * util/grub-mkrelpath.c: Likewise.
25193 * util/grub-pe2elf.c: Likewise.
25194 * util/grub-probe.c: Likewise.
25195 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25196 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25197 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25198
25199 * util/misc.c: Include `"progname.h"'.
25200 (progname): Remove variable.
25201 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25202
6f61ed55
FZ
252032009-11-25 Felix Zielcke <fzielcke@z-51.de>
25204
25205 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25206 printf and print a newline after the menuentry header line.
25207 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25208
f022876b
FZ
252092009-11-25 Felix Zielcke <fzielcke@z-51.de>
25210
25211 autoconf >= 2.60 support $(localedir).
25212
25213 * INSTALL: Note that autoconf 2.60 is required.
25214 * configure.ac (AC_PREREQ): Bump to 2.60.
25215 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25216 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25217
6717926e
YB
252182009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25219
25220 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25221 aclocal is run.
25222
08806a54
RM
252232009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25224
25225 * normal/main.c (grub_normal_read_line): Fix off-by-one
25226 buffer overflow.
25227
13b33fba
RM
252282009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25229
25230 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25231 "parser.grub" in grub_command_execute() call.
25232
4a8572e9
CPE
252332009-11-24 Carles Pina i Estany <carles@pina.cat>
25234
25235 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25236 * conf/i386-efi.rmk: Likewise.
25237 * conf/i386-ieee1275.rmk: Likewise.
25238 * conf/i386-pc.rmk: Likewise.
25239 * conf/powerpc-ieee1275.rmk: Likewise.
25240 * conf/sparc64-ieee1275.rmk: Likewise.
25241 * conf/x86_64-efi.rmk: Likewise.
25242 * gettext/gettex.c: Include <grub/i18n.h>.
25243 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25244 here ...
25245 * include/grub/i18n.h: ... to here
25246 * include/grub/i18n.h: ... to here.
25247 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 25248 (grub_gettext_dummy): Move above user.
4a8572e9 25249
bee48093
FZ
252502009-11-24 Felix Zielcke <fzielcke@z-51.de>
25251
25252 * util/Makefile.in (install-local): Convert a `for' into a normal
25253 shell expansion.
25254
a031e91c
RM
252552009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25256
25257 * autogen.sh: Add automake call.
25258 * config.guess: Remove.
25259 * config.sub: Likewise.
25260 * install-sh: Likewise.
25261
26bec39d
FZ
252622009-11-24 Felix Zielcke <fzielcke@z-51.de>
25263
25264 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25265
8e2532fd
FZ
252662009-11-24 Felix Zielcke <fzielcke@z-51.de>
25267
25268 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25269 function to a normal shell `for'.
25270
fefa1b7d
FZ
252712009-11-24 Felix Zielcke <fzielcke@z-51.de>
25272
25273 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25274
4501250b
FZ
252752009-11-24 Felix Zielcke <fzielcke@z-51.de>
25276
25277 * util/grub-mkrelpath.c: New file.
25278 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25279 (grub_mkrelpath_SOURCES): New variable.
25280 * include/grub/util/misc.h: New function prototype.
25281 * util/misc.c (make_system_path_relative_to_its_root): New function.
25282
25283 * util/grub-mkconfig_lib.in (bindir): New variable.
25284 (grub_mkrelpath): Likewise.
25285 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25286
25287 * util/probe.c (probe): Make the file path relative to its root.
25288 Change a info message to use the GRUB path. Enable again the
25289 check if we can read the file with GRUB facilities.
25290
25291 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25292 to its root.
25293
11d9778b
FZ
252942009-11-24 Felix Zielcke <fzielcke@z-51.de>
25295
25296 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25297 platform.
25298
4465287d
FZ
252992009-11-24 Felix Zielcke <fzielcke@z-51.de>
25300
25301 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25302 strncmp().
25303
62b47f22
FZ
253042009-11-24 Felix Zielcke <fzielcke@z-51.de>
25305
25306 * util/getroot.c (grub_util_is_dmraid): New function.
25307 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25308 devices as normal ones, not as LVM.
25309
1eafb9b9 253102009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
25311
25312 * conf/common.rmk: Add grub-gettext_lib target and updates
25313 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25314 LDFLAGS.
25315 * gettext/gettext.c: New file. (Reads mo files).
25316 * include/grub/file.h (grub_file_pread): New prototype.
25317 * include/grub/i18n.h (_): New prototype.
25318 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25319 prototypes.
25320 * kern/misc.c (grub_gettext_dummy): New function.
25321 * normal/menu_text.c: Include <grub/i18n.h>.
25322 * normal/menu_text.c (print_timeout): Gettexttize string.
25323 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
25324 * po/POTFILES: Add `normal/menu_text.c'.
25325 * po/ca.po: Add new translations.
c3ea6bd4
CPE
25326 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25327 gettext module and defines locale_dir and lang in grub.cfg.
25328 * NEWS: Add gettext support.
25329
0fdb2568
RM
253302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25331
25332 * util/hostdisk.c: Include `<grub/i18n.h>'.
25333 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25334 (make_device_name): Rewrite using asprintf.
25335 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25336 (find_system_device): If a device is not found, generate one just
25337 by reusing the OS path name.
25338 (read_device_map): Make it permissible for device.map not to exist.
25339
f515aa62
RM
253402009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25341
25342 * script/sh/execute.c: Move from here ...
25343 * script/execute.c: ... to here. Update all users.
25344 * script/sh/function.c: Move from here ...
25345 * script/function.c: ... to here. Update all users.
25346 * script/sh/lexer.c: Move from here ...
25347 * script/lexer.c: ... to here. Update all users.
25348 * script/sh/main.c: Move from here ...
25349 * script/main.c: ... to here. Update all users.
25350 * script/sh/parser.y: Move from here ...
25351 * script/parser.y: ... to here. Update all users.
25352 * script/sh/script.c: Move from here ...
25353 * script/script.c: ... to here. Update all users.
25354
f84b481b
RM
253552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25356
25357 * configure.ac: Detect all `emu' platforms. Define
25358 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25359 --enable-grub-emu logic. Disable include/grub/machine
25360 symlink on `emu' platforms.
25361
25362 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25363 * gensymlist.sh.in: Likewise.
25364
25365 * include/grub/i386/coreboot/machine.h: Remove file.
25366 * include/grub/i386/efi/machine.h: Likewise.
25367 * include/grub/i386/ieee1275/machine.h: Likewise.
25368 * include/grub/i386/pc/machine.h: Likewise.
25369 * include/grub/i386/qemu/machine.h: Likewise.
25370 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25371 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25372 * include/grub/x86_64/efi/machine.h: Likewise.
25373
25374 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25375 * commands/halt.c: Likewise.
25376 * commands/reboot.c: Likewise.
25377 * include/grub/autoefi.h: Likewise.
25378 * include/grub/i386/at_keyboard.h: Likewise.
25379 * include/grub/i386/kernel.h: Likewise.
25380 * include/grub/i386/loader.h: Likewise.
25381 * include/grub/i386/pc/memory.h: Likewise.
25382 * kern/dl.c: Likewise.
25383 * kern/i386/coreboot/init.c: Likewise.
25384 * loader/i386/bsd.c: Likewise.
25385 * loader/i386/linux.c: Likewise.
25386 * loader/multiboot_loader.c: Likewise.
25387 * term/i386/pc/serial.c: Likewise.
25388 * term/usb_keyboard.c: Likewise.
25389
25390 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25391 `<grub/machine/machine.h>'
25392 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25393 * util/misc.c: Remove `<grub/machine/machine.h>' and
25394 `<grub/machine/time.h>'.
25395
25396 * Makefile.in (enable_grub_emu): Remove variable.
25397 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25398
25399 * conf/any-emu.rmk: New file.
25400 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25401 (grub_emu_init.c): Move from here ...
25402 * conf/any-emu.rmk: ... to here.
25403
25404 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25405 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25406 * conf/any-emu.rmk: ... to here.
25407
4efeab03
RM
254082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25409
25410 * include/grub/parser.h (grub_parser_register): Document need
25411 of `name' parameter.
25412 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25413 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25414 "sh" to "grub".
25415
ea1dd8bf
RM
254162009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25417
25418 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25419 `$(XGETTEXT)'.
25420 * include/grub/i18n.h (N_): New macro.
25421 * util/mkisofs/mkisofs.h: Likewise.
25422 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25423 around N_().
25424 (usage): Use gettext() to translate help strings when printing them.
25425
0c140626
RM
254262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25427
25428 Based on patch from Bean
25429 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25430
25431 * video/efi_fb.c: New file.
25432 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25433 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25434 variables.
25435 * conf/x86_64-efi.rmk: Likewise.
25436
87d58298
RM
254372009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25438
25439 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25440 * util/i386/pc/grub-setup.c: Likewise.
25441
994cc3a3
ST
254422009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25443
25444 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25445 <hurd/fs.h>
25446 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25447 file_get_storage_info to implement grub_guess_root_device.
25448
26a61d6a
FZ
254492009-11-21 Felix Zielcke <fzielcke@z-51.de>
25450
25451 * Makefile.in (target): Use make's builtin $(shell) function
25452 instead of calling directly $(SHELL) to create the locale directories,
25453 inside the $(foreach) function.
25454
74ff1dd5
FZ
254552009-11-21 Felix Zielcke <fzielcke@z-51.de>
25456
25457 * util/grub-mkrescue.in: Print an error and usage if output option
25458 has not been given.
25459
0b787d0e
FZ
254602009-11-21 Felix Zielcke <fzielcke@z-51.de>
25461
25462 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25463 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25464 root and /boot are on different devices.
25465
1164b270
RM
254662009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25467
25468 Fix build for srcdir != objdir.
25469
25470 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25471 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25472 $(srcdir).
25473 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25474 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25475 reference for input.
25476
13774a2f
RM
254772009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25478
25479 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25480 or hardlinking it). Remove -J option, Joliet is not compatible with
25481 multiple source directories.
25482
efda854e
RM
254832009-11-21 Carles Pina i Estany <carles@pina.cat>
254842009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25485
25486 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25487 (process_input_dir): New function. Process an arbitrary input
25488 directory.
25489 Misc adjustments to support both "override mode" and system-wide mode.
25490
6c09890c
FZ
254912009-11-20 Felix Zielcke <fzielcke@z-51.de>
25492
25493 * configure.ac (UNIFONT_BDF): Rename to ...
25494 (FONT_SOURCE): ... this. Update all users.
25495
a797824f
FZ
254962009-11-20 Felix Zielcke <fzielcke@z-51.de>
25497
25498 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25499 to the list of unifont files to look for.
25500
cd4f42b0
RM
255012009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25502
25503 Patch from Joe Auricchio <jauricchio@gmail.com>
25504 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25505 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25506 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25507
393c783d
FZ
255082009-11-19 Felix Zielcke <fzielcke@z-51.de>
25509
25510 * Makefile.in (install-local): Add a missing backslash.
25511
b2f1e327
FZ
255122009-11-19 Felix Zielcke <fzielcke@z-51.de>
25513
25514 * include/grub/x86_64/io.h: New file.
25515
f577f7a0
RM
255162009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25517
25518 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25519 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25520 Include `"progname.h"'.
25521 (main): Initialize gettext.
25522 * util/i386/pc/grub-setup.c: Gettexttize.
25523 * util/i386/pc/grub-mkimage.c: Likewise.
25524
25525 * Makefile.in (po/*.po): Redefine as ...
25526 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25527
3bc7896c
RM
25528 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25529
c37943b6
RM
255302009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25531
25532 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25533 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25534 (program_name): Remove.
25535 (main): Initialize gettext support.
6323f705
RM
25536 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25537 Include `<libintl.h>'.
25538 (_): New macro.
c37943b6
RM
25539
25540 * util/mkisofs/eltorito.c: Gettexttize.
25541 * util/mkisofs/joliet.c: Likewise.
25542 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
25543 * util/mkisofs/multi.c: Likewise.
25544 * util/mkisofs/rock.c: Likewise.
25545 * util/mkisofs/tree.c: Likewise.
25546 * util/mkisofs/write.c: Likewise.
25547
3bc7896c
RM
25548 * po/POTFILES: Update with new files.
25549
5ce77c6e
RM
255502009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25551
25552 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
25553 * util/mkisofs/iso9660.h: Likewise.
25554 * util/mkisofs/joliet.c: Likewise.
25555 * util/mkisofs/mkisofs.c: Likewise.
25556 * util/mkisofs/mkisofs.h: Likewise.
25557 * util/mkisofs/rock.c: Likewise.
25558 * util/mkisofs/tree.c: Likewise.
25559 * util/mkisofs/write.c: Likewise.
25560
25561 * util/mkisofs/eltorito.c (rcsid): Remove.
25562 * util/mkisofs/hash.c: Likewise.
25563 * util/mkisofs/joliet.c: Likewise.
25564 * util/mkisofs/name.c: Likewise.
25565 * util/mkisofs/rock.c: Likewise.
25566 * util/mkisofs/tree.c: Likewise.
25567 * util/mkisofs/write.c: Likewise.
25568
1dabbc77
RM
255692009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25570
25571 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
25572 instead of static allocation.
25573 * util/mkisofs/match.h: Likewise.
25574
633877cb
RM
255752009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25576
3bc7896c
RM
25577 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
25578 and `util/grub.d/10_linux.in'.
633877cb
RM
25579 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
25580 translatable Shell files.
25581
af1c0c85
RM
255822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25583
25584 * Makefile.in ($(srcdir)/aclocal.m4): New target.
25585
769ae37b
RM
255862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25587
25588 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 25589 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
25590 * util/grub.d/10_kfreebsd.in (bindir): New variable.
25591 Add gettext initialization.
25592 (kfreebsd_entry): Make menuentry output translatable.
25593
255942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25595
25596 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
25597 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
25598 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
25599 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
25600 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 25601 * po/LINGUAS: New file.
769ae37b
RM
25602
256032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25604
25605 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
25606 other things).
25607 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
25608 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
25609 bindtextdomain() calls for gettext initialization.
25610
256112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25612
25613 * gnulib/progname.c: New file (imported from Gnulib).
25614 * gnulib/progname.h: Likewise.
25615 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25616 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
25617 (usage): Replace `progname' with `program_name'.
25618 (main): Use set_program_name() for program name initialization.
25619
256202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25621
25622 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
25623 from here ...
25624 * Makefile.in (CPPFLAGS): ... to here.
25625
256262009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25627
25628 * aclocal.m4: Move from here ...
25629 * acinclude.m4: ... to here.
25630 * autogen.sh: Add call to `aclocal'.
25631 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
25632
256332009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25634
25635 * Makefile.in (CLEANFILES): Add `po/*.mo'.
25636 (LINGUAS): New variable.
25637 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
25638 (install-local): Install MO files.
25639 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
25640 * include/grub/i18n.h: New file.
3bc7896c
RM
25641 * po/POTFILES: New file.
25642 * po/ca.po: New file.
769ae37b
RM
25643 * util/grub.d/10_linux.in (bindir): New variable.
25644 Add gettext initialization.
25645 (linux_entry): Make menuentry output translatable.
25646 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
25647 (usage): Make --help output translatable.
25648 (main): Initialize gettext.
25649
02c0a6ad
RM
256502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25651
25652 * import_gcry.py: New file (written by Vladimir with minor
25653 adjustments).
25654 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
25655 ciphers.
25656 * INSTALL: Document that Python is required for bootstrap.
25657
256582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25659
25660 Import ciphers from libgcrypt 1.4.4.
25661
25662 * lib/libgcrypt/cipher/ChangeLog
25663 * lib/libgcrypt/cipher/ac.c
25664 * lib/libgcrypt/cipher/arcfour.c
25665 * lib/libgcrypt/cipher/bithelp.h
25666 * lib/libgcrypt/cipher/blowfish.c
25667 * lib/libgcrypt/cipher/camellia-glue.c
25668 * lib/libgcrypt/cipher/camellia.c
25669 * lib/libgcrypt/cipher/camellia.h
25670 * lib/libgcrypt/cipher/cast5.c
25671 * lib/libgcrypt/cipher/cipher.c
25672 * lib/libgcrypt/cipher/crc.c
25673 * lib/libgcrypt/cipher/des.c
25674 * lib/libgcrypt/cipher/dsa.c
25675 * lib/libgcrypt/cipher/ecc.c
25676 * lib/libgcrypt/cipher/elgamal.c
25677 * lib/libgcrypt/cipher/hash-common.c
25678 * lib/libgcrypt/cipher/hash-common.h
25679 * lib/libgcrypt/cipher/hmac-tests.c
25680 * lib/libgcrypt/cipher/md.c
25681 * lib/libgcrypt/cipher/md4.c
25682 * lib/libgcrypt/cipher/md5.c
25683 * lib/libgcrypt/cipher/primegen.c
25684 * lib/libgcrypt/cipher/pubkey.c
25685 * lib/libgcrypt/cipher/rfc2268.c
25686 * lib/libgcrypt/cipher/rijndael-tables.h
25687 * lib/libgcrypt/cipher/rijndael.c
25688 * lib/libgcrypt/cipher/rmd.h
25689 * lib/libgcrypt/cipher/rmd160.c
25690 * lib/libgcrypt/cipher/rsa.c
25691 * lib/libgcrypt/cipher/seed.c
25692 * lib/libgcrypt/cipher/serpent.c
25693 * lib/libgcrypt/cipher/sha1.c
25694 * lib/libgcrypt/cipher/sha256.c
25695 * lib/libgcrypt/cipher/sha512.c
25696 * lib/libgcrypt/cipher/tiger.c
25697 * lib/libgcrypt/cipher/twofish.c
25698 * lib/libgcrypt/cipher/whirlpool.c
25699
af2f93ac
RM
257002009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25701
25702 Fix build for systems without error().
25703
25704 * gnulib/error.c: New file (imported from Gnulib).
25705 * gnulib/error.h: Likewise.
25706 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
25707 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
25708 (this variable is now used by error()).
25709
73fb3dd5
FZ
257102009-11-16 Felix Zielcke <fzielcke@z-51.de>
25711
814f5e96
FZ
25712 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
25713 instead of relying that char is signed.
73fb3dd5 25714
a691ca33
VS
257152009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
25716
25717 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
25718 blocksize different from specified.
25719 (grub_pxefs_read): Likewise.
25720
2af8f0f4
FZ
257212009-11-16 Felix Zielcke <fzielcke@z-51.de>
25722
25723 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
25724
25725 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
25726 (grub_ata_readwrite): Likewise. Update 2 format strings.
25727 (grub_atapi_read): Likewise.
25728
25729 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
25730 * conf/i386.rmk (pkglib_MODULES): ... to here ...
25731 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
25732 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
25733 (ata_mod_LDFLAGS): Move from here ...
25734 * conf/i386.rmk: ... to here ...
25735 * conf/x86_64-efi.rmk: ... and here.
25736 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
25737 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
25738
83bdecaf
RM
257392009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25740
25741 Relicense multiboot.h, with RMS' blessing.
25742
25743 * include/multiboot.h: Change to X11 license.
25744
fd6fd3d7
RM
257452009-11-15 Robert Millan <rmh.grub@aybabtu.com>
25746
25747 Support --version in grub-mkisofs.
25748
25749 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
25750 (OPTION_VERSION): New macro.
25751 (ld_options): Recognize --version.
25752 (usage): Move `program_name' from here ...
25753 (program_name): ... to here. Add `static' qualifier.
25754 (main): Recognize `OPTION_VERSION'.
25755
16a88c49
FZ
257562009-11-15 Felix Zielcke <fzielcke@z-51.de>
25757
25758 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
25759 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
25760
a4158476
RM
257612009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25762
25763 Fix help2man generation for mkisofs.
25764
25765 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
25766 (usage): Send output to stdout (rather than stderr).
25767
fc2208b0
RM
257682009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25769
25770 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
25771 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25772 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
25773 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25774 (bin_SCRIPTS): Add `grub-mkfloppy'.
25775 (grub_mkfloppy_SOURCES): New variable.
25776
25777 * util/grub-mkrescue.in: New file.
25778 * util/i386/pc/grub-mkfloppy.in: New file.
25779
25780 * util/i386/coreboot/grub-mkrescue.in: Remove.
25781 * util/i386/pc/grub-mkrescue.in: Remove.
25782
8d0edf4a
RM
257832009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25784
25785 * include/grub/multiboot.h (struct grub_multiboot_header): Move
25786 from here ...
25787 * include/multiboot.h (struct multiboot_header): ... to here. Update
25788 all users.
25789 * include/grub/multiboot.h (struct grub_multiboot_info): Move
25790 from here ...
25791 * include/multiboot.h (struct multiboot_info): ... to here. Update
25792 all users.
25793 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
25794 from here ...
25795 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
25796 Update all users.
25797 * include/grub/multiboot.h (struct grub_mod_list): Move
25798 from here ...
25799 * include/multiboot.h (struct multiboot_mod_list): ... to here.
25800 Update all users.
25801
a73f5969
RM
258022009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25803
25804 * include/multiboot2.h (multiboot_word): Rename from this ...
25805 (multiboot2_word): ... to this. Update all users.
25806 (multiboot_header): Rename from this ...
25807 (multiboot2_header): ... to this. Update all users.
25808 (multiboot_tag_header): Rename from this ...
25809 (multiboot2_tag_header): ... to this. Update all users.
25810 (multiboot_tag_start): Rename from this ...
25811 (multiboot2_tag_start): ... to this. Update all users.
25812 (multiboot_tag_name): Rename from this ...
25813 (multiboot2_tag_name): ... to this. Update all users.
25814 (multiboot_tag_module): Rename from this ...
25815 (multiboot2_tag_module): ... to this. Update all users.
25816 (multiboot_tag_memory): Rename from this ...
25817 (multiboot2_tag_memory): ... to this. Update all users.
25818 (multiboot_tag_unused): Rename from this ...
25819 (multiboot2_tag_unused): ... to this. Update all users.
25820 (multiboot_tag_end): Rename from this ...
25821 (multiboot2_tag_end): ... to this. Update all users.
25822
1c8927f0
RM
258232009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25824
25825 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
25826 this platform we should support Multiboot1 first.
25827
25828 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25829 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
25830 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
25831
6e1e0d89
RM
258322009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25833
25834 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
25835 of write calls (converting them to fwrite() if they aren't already).
25836 (get_torito_desc): Likewise.
25837 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
25838
7f2b34d8
RM
258392009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25840
25841 * util/i386/pc/grub-install.in: Move from here ...
25842 * util/grub-install.in: ... to here. Update all users.
25843
c0ef3311
CW
258442009-11-11 Colin Watson <cjwatson@ubuntu.com>
25845
25846 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
25847
e1f240ff
RM
258482009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25849
25850 Support for El Torito without floppy emulation.
25851
25852 * util/mkisofs/eltorito.c: Include `<errno.h>'.
25853 (init_boot_catalog): Improve error handling.
25854 (get_torito_desc): Don't use floppy emulation unless requested by
25855 user. Patch boot information table when requested via
25856 `-boot-info-table'.
25857 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
25858 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
25859 (use_boot_info_table): New variables.
25860 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
25861 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
25862 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
25863 `--eltorito-emul-floppy'.
25864 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
25865 and `OPTION_ELTORITO_EMUL_FLOPPY'.
25866 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
25867 (use_boot_info_table, get_731): New prototypes.
25868 * util/mkisofs/write.c (get_731): New function.
25869
af7d4de5
FZ
258702009-11-11 Felix Zielcke <fzielcke@z-51.de>
25871
25872 Fix the generation of the man page.
25873
25874 * util/pc/i386/grub-install.in: Source
25875 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25876
2c55dbc0
RM
258772009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25878
25879 Large file support for grub-mkisofs.
25880
25881 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
25882 * util/mkisofs/mkisofs.c (next_extent, last_extent)
25883 (session_start): Upgrade type to `uint64_t'. Update all users.
25884 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
25885 (struct directory_entry): Upgrade type of `starting_block' and
25886 `size' to `uint64_t'. Update all users.
25887 (struct deferred): Remove unused structure.
25888 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
25889 Update all users.
25890 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
25891 file is larger than `UINT32_MAX'.
25892 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
25893 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
25894 return value.
25895 (struct deferred_write): Upgrade type of `extent' and `size' to
25896 `uint64_t'. Update all users.
25897 (last_extent_written): Upgrade type to `uint64_t'. Update all
25898 users.
25899 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
25900 Update all users. Upgrade type of `remain' to `int64_t' and
25901 `use' to `size_t'. Use error() to handle fread() errors.
25902 (write_files): Rely on write_one_file() rather than calling
25903 xfwrite() directly.
25904
6a9cead5
FZ
259052009-11-09 Felix Zielcke <fzielcke@z-51.de>
25906
25907 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
25908
4825d790
RM
259092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25910
25911 * util/mkisofs/fnmatch.c: Remove.
25912 * util/mkisofs/getopt1.c: Likewise.
25913 * util/mkisofs/getopt.c: Likewise.
25914 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
25915 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
25916 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
25917 `gnulib/getopt1.c' and `gnulib/getopt.c'.
25918 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
25919
25920 * configure.ac: Detect `mingw32msvc' host_os.
25921 Check for lstat(), getuid() and getgid().
25922
25923 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
25924 instances of `u_char' with `uint8_t'.
25925
25926 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
25927 [!HAVE_GETUID] (getuid): New function (stub).
25928 [!HAVE_GETGID] (getgid): Likewise.
25929 [!HAVE_LSTAT] (lstat): Likewise.
25930 [!S_IROTH] (S_IROTH): New macro (dummy).
25931 [!S_IRGRP] (S_IRGRP): Likewise.
25932
84b860d8
RM
259332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25934
25935 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
25936 conditional expression).
25937
66e9b712
RM
259382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25939
25940 Import from Gnulib.
25941
25942 * gnulib/fnmatch.c: New file.
25943 * gnulib/fnmatch.h: Likewise.
25944 * gnulib/fnmatch_loop.c: Likewise.
25945 * gnulib/getopt.c: Likewise.
25946 * gnulib/getopt.h: Likewise.
25947 * gnulib/getopt1.c: Likewise.
25948 * gnulib/getopt_int.h: Likewise.
25949 * gnulib/gettext.h: Likewise.
25950
34f4a5b0
RM
259512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25952
25953 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
25954 * normal/handler.c (read_handler_list): Likewise.
25955
ac451143
RM
259562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25957
25958 Misc cleanup.
25959
25960 * kern/command.c (grub_register_command_prio): Use
25961 grub_zalloc() instead of explicitly zeroing data.
25962 * kern/list.c: Include `<grub/mm.h>'.
25963 (grub_named_list_find): Replace `0' with `NULL'.
25964 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
25965 (fs_module_list): Change type to `grub_named_list_t'. Update all
25966 users.
25967 * normal/dyncmd.c (read_command_list): Add space between function
25968 call and parenthesis.
25969 * normal/handler.c (read_handler_list): Likewise.
25970
4089b167
RM
259712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25972
25973 * normal/auth.c (punishment_delay): Moved from here ...
25974 (grub_auth_strcmp): ... to here (inside function).
25975
325f5037
RM
259762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25977
25978 * include/grub/list.h (struct grub_named_list): Remove `const'
25979 qualifier from `name'.
25980 (struct grub_prio_list): Likewise.
25981
7aea29a3
RM
259822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25983
25984 * normal/auth.c: Include `<grub/time.h>'.
25985 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
25986
3fd6f044
RM
259872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25988
25989 * normal/auth.c (punishment_delay): New variable.
25990 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
25991 (grub_auth_check_authentication): Punish failed login attempts with
25992 an incremental (2^N) delay.
25993
a4cd68e4
RM
259942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25995
25996 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
25997 path with $(srcdir).
25998
7ad12f43
VS
259992009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26000
26001 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26002
c1129f03
RM
260032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26004
26005 * util/i386/coreboot/grub-mkrescue.in: New file.
26006 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26007 variables.
26008
26009 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26010 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26011 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26012 requirements.
26013 * util/mkisofs/defaults.h: New file.
26014 * util/mkisofs/eltorito.c: Likewise.
26015 * util/mkisofs/exclude.h: Likewise.
26016 * util/mkisofs/fnmatch.c: Likewise.
26017 * util/mkisofs/getopt.c: Likewise.
26018 * util/mkisofs/getopt1.c: Likewise.
26019 * util/mkisofs/hash.c: Likewise.
26020 * util/mkisofs/include/fctldefs.h: Likewise.
26021 * util/mkisofs/include/mconfig.h: Likewise.
26022 * util/mkisofs/include/prototyp.h: Likewise.
26023 * util/mkisofs/include/statdefs.h: Likewise.
26024 * util/mkisofs/iso9660.h: Likewise.
26025 * util/mkisofs/joliet.c: Likewise.
26026 * util/mkisofs/match.c: Likewise.
26027 * util/mkisofs/match.h: Likewise.
26028 * util/mkisofs/mkisofs.c: Likewise.
26029 * util/mkisofs/mkisofs.h: Likewise.
26030 * util/mkisofs/multi.c: Likewise.
26031 * util/mkisofs/name.c: Likewise.
26032 * util/mkisofs/rock.c: Likewise.
26033 * util/mkisofs/tree.c: Likewise.
26034 * util/mkisofs/write.c: Likewise.
26035
ec8bb77d
VS
260362009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26037
26038 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26039 being insecure.
26040
3716b12c
RM
260412009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26042
26043 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26044 `grub-mkimage' (and use $0 when possible).
26045
b97b7b91
RM
260462009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26047
26048 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26049 error message for excessively large memory map.
26050
04114812
RM
260512009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26052
26053 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26054 executable bit.
26055
e4eb2373
RM
260562009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26057
26058 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26059 message for coreboot users.
26060
c926e1d5 260612009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26062
26063 Fix build with GNU gold.
26064
26065 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26066 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26067 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26068 link addresses.
26069 * aclocal.m4: Likewise.
26070
86e5b1db 260712009-11-04 Felix Zielcke <fzielcke@z-51.de>
26072
26073 * configure.ac (AC_PREREQ): Bump to 2.59d.
26074 * INSTALL: Make it more clear when Autoconf and Ruby are
26075 needed and when to run `./autogen.sh'.
26076
246cd78f 260772009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26078
26079 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26080 OSes.
26081
4f9dfb37 260822009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26083
26084 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26085
b82bd5e1 260862009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26087
26088 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26089 giving it to GNU Mach.
26090
ff1a9bca 260912009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26092
26093 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26094 GNU partition number to get internal GRUB partition number.
26095
61697d9c 260962009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26097
26098 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26099 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26100
a50569e1 261012009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26102
26103 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26104 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26105 case.
26106
5b153867 261072009-11-01 Felix Zielcke <fzielcke@z-51.de>
26108
26109 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26110
d9e2cd70 261112009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26112
26113 Fix build problem.
26114
26115 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26116 `-isystem=$(srcdir)/include'.
26117
805111a4 261182009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26119
26120 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26121 checked (grub-install doesn't currently rely on it).
26122
fa6e945f 261232009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26124
26125 Revert SVN r2660.
26126
26127 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26128 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26129 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26130 * conf/i386-ieee1275.rmk: Likewise.
26131 * conf/i386-pc.rmk: Likewise.
26132 * conf/powerpc-ieee1275.rmk: Likewise.
26133 * conf/sparc64-ieee1275.rmk: Likewise.
26134 * conf/x86_64-efi.rmk: Likewise.
26135
cee15086 261362009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26137
26138 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26139
95b9239e 261402009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26141
26142 * include/grub/misc.h: Stop checking for APPLE_CC.
26143
2ed19dfd 261442009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26145
26146 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26147 doesn't cause an infinite call loop.
26148
fdcdde19 261492009-10-28 Felix Zielcke <fzielcke@z-51.de>
26150
26151 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26152 strings.
26153
cefabfe1 261542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26155
26156 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26157 variable.
26158 * Makefile.in: Likewise.
26159
ed96ab6d 261602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26161
26162 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26163
0579b753 261642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26165
26166 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26167
478df409 261682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26169
26170 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26171
083d1679 261722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26173
26174 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26175 from here ...
26176 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26177
5947ae32 261782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26179
26180 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26181 in $(MAKEINFO) invocation. This makes it clear in output that
26182 errors are being ignored.
26183
94180ff6 261842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26185
26186 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26187 from here ...
26188 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26189 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26190 * conf/i386-ieee1275.rmk: Likewise.
26191 * conf/i386-pc.rmk: Likewise.
26192 * conf/powerpc-ieee1275.rmk: Likewise.
26193 * conf/sparc64-ieee1275.rmk: Likewise.
26194 * conf/x86_64-efi.rmk: Likewise.
26195
9031b03a 261962009-10-26 Colin Watson <cjwatson@ubuntu.com>
26197
26198 * util/grub-editenv.c (main): If only a command is given, use
26199 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26200 (usage): FILENAME is now optional and has a default.
26201
e4f6809b 262022009-10-26 Colin Watson <cjwatson@ubuntu.com>
26203
26204 Improve grub-mkconfig performance when there are several menu
26205 entries on a single filesystem.
26206
26207 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26208 prepare_grub_to_access_device.
26209 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26210 * util/grub.d/30_os-prober.in: Likewise.
26211
67937d4d 262122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26213
26214 * util/grub.d/10_freebsd.in: Remove.
26215 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26216 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26217
ee3756cc 262182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26219
5c35048e 26220 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 26221
4dea1c6f 262222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26223
26224 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26225 grub_util_error() call.
26226
042484d7 262272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26228
26229 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26230 `reserved_first_sector' member.
26231 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26232 `reserved_first_sector' to 1.
26233 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26234 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26235 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26236 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26237 filesystems which begin at first sector.
26238 (options): New option --skip-fs-probe.
26239 (main): Handle --skip-fs-probe and pass it to setup().
26240
d64448a7 262412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26242
26243 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26244 (memset): Fix function prototype.
26245
508d42ec 262462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
262472009-10-25 Vasily Averin <vvs@parallels.com>
26248
26249 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26250 `dirent.direntlen == 0'.
26251
b240e30c 262522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26253
26254 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26255 `cpio'.
26256 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26257
346e7fbe 262582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26259
26260 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26261 `__trampoline_setup' and `__ucmpdi2'.
26262 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26263 that libgcc provides.
26264
cdb308b0 262652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26266
26267 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26268 * include/grub/sparc64/libgcc.h (memset): Likewise.
26269 * include/grub/misc.h (memset, memcmp): New function prototypes.
26270
fb26abc2 262712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26272
26273 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26274 `cpio'.
26275 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26276
f6693890 262772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26278
26279 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26280 * docs/grub.cfg: Compensate for recent change in multiboot
26281 loader (since 2009-08-14 it won't pass filename to payload).
26282 * util/grub.d/10_hurd.in: Likewise.
26283
0933cdc0 262842009-10-21 Felix Zielcke <fzielcke@z-51.de>
26285
26286 * config.guess: Update to latest version from config git
26287 repository.
26288 * config.sub: Likewise.
26289
3b2fe8c2 262902009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26291
26292 Fix build on sparc64.
26293
26294 * configure.ac: Perform checks for libgcc symbols before
26295 adding `-nostdlib' to LDFLAGS.
26296
46695a62 262972009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26298
26299 Let user specify OpenBSD root device.
26300
26301 * loader/i386/bsd.c (openbsd_root): New variable.
26302 (openbsd_opts): New option 'root'.
26303 (OPENBSD_ROOT_ARG): New macro.
26304 (grub_openbsd_boot): Use 'openbsd_root'.
26305 (grub_cmd_openbsd): Fill 'openbsd_root'.
26306
d2b6b7fc 263072009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26308
26309 * NEWS: Misc adjustments.
26310
421bd7ac 263112009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26312
26313 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26314
f1d29d87 263152009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26316
26317 * configure.ac: Bump version to 1.97.
26318
6f3cd880 263192009-10-16 Colin Watson <cjwatson@ubuntu.com>
26320
26321 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26322 -mno-3dnow on x86 architectures. Some toolchains enable these
26323 features by default, but they rely on registers that aren't enabled
26324 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26325
035f7122 263262009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26327
26328 Make entry text a bit more readable.
26329
26330 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26331
44998e58 263322009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26333
26334 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26335
cd2851b3 263362009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26337
26338 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26339 operations.
26340
c6f3b249 263412009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26342
26343 * configure.ac: Add missing dollar.
26344
6b5886ba 263452009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26346
26347 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26348
26349 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26350 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26351 exports.
26352 * include/grub/sparc64/libgcc.h: Likewise. Use
26353 preprocessor conditionals.
26354
e9d66f6d 263552009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26356
26357 * conf/common.rmk (grub-dumpbios): Remove rule.
26358 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26359 * util/grub-dumpbios.in: Remove file.
26360
9155bc17 263612009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26362
26363 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26364 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26365
26366 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26367 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26368 users.
26369
26370 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26371 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26372 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26373 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26374 users.
26375
bf7f7a18 263762009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26377
26378 * term/tparm.c: Switch to GPLv3.
26379
86564c26 263802009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26381
26382 * include/grub/i386/cpuid.h: Add header protection.
26383
5c936493 263842009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26385
26386 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26387
26388 * include/grub/i386/cpuid.h: New file.
26389 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26390 (has_longmode): Rename to ...
26391 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26392 `static' attribute.
26393 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26394 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26395 on a CPU that doesn't implement AMD64 instruction set.
26396
186e7cf2 263972009-10-06 Colin Watson <cjwatson@ubuntu.com>
26398
26399 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26400 that version.texi is rebuilt on version number changes.
26401
83b65c4a 264022009-10-06 Colin Watson <cjwatson@ubuntu.com>
26403
26404 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26405 Fixes bug #27602.
26406
d244281c 264072009-10-06 Colin Watson <cjwatson@ubuntu.com>
26408
26409 * util/i386/pc/grub-install.in: Source
26410 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26411 that the --grub-probe option will work.
26412 * util/sparc64/ieee1275/grub-install.in: Likewise.
26413
da25306d 264142009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26415
26416 * configure.ac: Bump version to 1.97~beta4.
26417
e8ee83c0 264182009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26419
26420 Resync grub-mkdevicemap in x86_64-efi.
26421
26422 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26423 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26424 `util/devicemap.c'.
26425
50dcabcf 264262009-10-01 Colin Watson <cjwatson@ubuntu.com>
26427
26428 * util/grub-editenv.c (create_envblk_file): Write new block with a
26429 .new suffix and then rename it into place, to ensure atomic
26430 creation.
26431
0e51c3a7 264322009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26433
26434 Do not automatically install headers.
26435
26436 * Makefile.in (include_DATA): Remove. Update all users.
26437
31299a95 264382009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26439
26440 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26441 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26442
26443 * util/osdetect.lua: Remove.
26444 * script/lua/lauxlib.c: Likewise.
26445 * script/lua/ldebug.c: Likewise.
26446 * script/lua/grub_main.c: Likewise.
26447 * script/lua/lauxlib.h: Likewise.
26448 * script/lua/ldebug.h: Likewise.
26449 * script/lua/ltablib.c: Likewise.
26450 * script/lua/liolib.c: Likewise.
26451 * script/lua/lstrlib.c: Likewise.
26452 * script/lua/lualib.h: Likewise.
26453 * script/lua/ldo.c: Likewise.
26454 * script/lua/ldump.c: Likewise.
26455 * script/lua/ldo.h: Likewise.
26456 * script/lua/loslib.c: Likewise.
26457 * script/lua/lundump.c: Likewise.
26458 * script/lua/grub_lib.c: Likewise.
26459 * script/lua/ldblib.c: Likewise.
26460 * script/lua/lundump.h: Likewise.
26461 * script/lua/lmem.c: Likewise.
26462 * script/lua/grub_lib.h: Likewise.
26463 * script/lua/lmathlib.c: Likewise.
26464 * script/lua/lstate.c: Likewise.
26465 * script/lua/ltm.c: Likewise.
26466 * script/lua/lvm.c: Likewise.
26467 * script/lua/lmem.h: Likewise.
26468 * script/lua/lstate.h: Likewise.
26469 * script/lua/ltm.h: Likewise.
26470 * script/lua/ltable.c: Likewise.
26471 * script/lua/lvm.h: Likewise.
26472 * script/lua/llex.c: Likewise.
26473 * script/lua/lgc.c: Likewise.
26474 * script/lua/grub_lua.h: Likewise.
26475 * script/lua/loadlib.c: Likewise.
26476 * script/lua/lfunc.c: Likewise.
26477 * script/lua/lopcodes.c: Likewise.
26478 * script/lua/lparser.c: Likewise.
26479 * script/lua/ltable.h: Likewise.
26480 * script/lua/llex.h: Likewise.
26481 * script/lua/lgc.h: Likewise.
26482 * script/lua/lfunc.h: Likewise.
26483 * script/lua/lbaselib.c: Likewise.
26484 * script/lua/lopcodes.h: Likewise.
26485 * script/lua/lparser.h: Likewise.
26486 * script/lua/lzio.c: Likewise.
26487 * script/lua/linit.c: Likewise.
26488 * script/lua/lobject.c: Likewise.
26489 * script/lua/llimits.h: Likewise.
26490 * script/lua/lstring.c: Likewise.
26491 * script/lua/lzio.h: Likewise.
26492 * script/lua/lapi.c: Likewise.
26493 * script/lua/lcode.c: Likewise.
26494 * script/lua/lua.h: Likewise.
26495 * script/lua/lobject.h: Likewise.
26496 * script/lua/lstring.h: Likewise.
26497 * script/lua/lapi.h: Likewise.
26498 * script/lua/lcode.h: Likewise.
26499 * script/lua/luaconf.h: Likewise.
26500
cb8a2c38 265012009-09-26 Colin Watson <cjwatson@ubuntu.com>
26502
26503 * docs/grub.texi (Command-line and menu entry commands): Document
26504 date and echo commands.
26505
6b9b6276 265062009-09-24 Pavel Roskin <proski@gnu.org>
26507
26508 * include/grub/kernel.h (struct grub_module_header): Remove
26509 `grub_module_header_types'. Make `type' unsigned. Make `size'
26510 32-bit on all platforms.
26511 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26512 8-bit field. Use grub_host_to_target32() for `size'.
26513 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26514 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26515 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26516
4e5a02a7 265172009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26518
26519 Fix "lost keypress" bug in at_keyboard.
26520
26521 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26522 Checks for readyness of input buffer (without flushing it).
26523 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26524 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26525
c6dcedf6 265262009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26527
26528 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26529 size check within GRUB_MACHINE_PCBIOS section.
26530
74c958b1 265312009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26532
26533 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26534 return value.
26535 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26536 KEYBOARD_ISREADY check.
26537 (grub_at_keyboard_checkkey): Rename to ...
26538 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26539 Remove gratuitous cast.
26540
ff420223 265412009-09-23 Colin Watson <cjwatson@ubuntu.com>
26542
26543 * configure.ac: Call AC_PROG_MKDIR_P.
26544 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26545 version.texi in $(builddir) rather than $(srcdir).
26546 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26547 to makeinfo's @include search path.
26548
d96875df 265492009-09-23 Felix Zielcke <fzielcke@z-51.de>
26550
26551 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
26552
9b3f8365 265532009-09-23 Felix Zielcke <fzielcke@z-51.de>
26554
26555 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
26556 for `*.dpkg-new'.
26557
c44c90db 265582009-09-21 Colin Watson <cjwatson@ubuntu.com>
26559
26560 Build info documentation. Some code borrowed from Automake.
26561
26562 * configure.ac: Check for makeinfo.
26563 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
26564 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
26565 docs/version.texi.
26566 (MOSTLYCLEANFILES): Add vti.tmp.
26567 (docs/version.texi, docs/stamp-vti): Update automatically.
26568 (docs/grub.info): Build info documentation. Use --force and ignore
26569 errors for now.
26570 (all-local): Add $(INFOS).
26571 (install-local): Install info files.
26572 (uninstall): Uninstall info files.
26573 * docs/version.texi: Remove from revision control. This file is
26574 automatically generated on build now.
26575 * gendistlist.sh: Add `*.info'.
26576
e0b37bb5 265772009-09-21 Felix Zielcke <fzielcke@z-51.de>
26578
26579 * kern/term.c: Fix indentation.
26580
5a78865b 265812009-09-21 Felix Zielcke <fzielcke@z-51.de>
26582
26583 * util/hostdisk.c: Fix a comment.
26584
dace7e8a 265852009-09-20 Robert Millan <rmh.grub@aybabtu.com>
26586
26587 Fix regression introduced in r2539.
26588
26589 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
26590 to 0xA1.
26591
a83d079b 265922009-09-19 Colin Watson <cjwatson@ubuntu.com>
26593
26594 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 26595 os-prober. Under normal operation, it does not print anything to
26596 stderr; if it does, we need to debug it, and throwing away stderr
26597 makes that excessively difficult.
a83d079b 26598
be94a509 265992009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
26600
26601 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
26602
63f745e8 266032009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26604
26605 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
26606 AC_LANG_PROGRAM from autoconf.
26607 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
26608 prototypes (fixes warning).
26609
26610 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
26611 `--disable-werror' was used.
26612
bbb2a70f 266132009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26614
26615 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
26616 uninitialized `lastaddr'.
26617
77c24f1d 266182009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
26619
0f0b8c87 26620 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 26621
07197f23 266222009-09-14 Colin Watson <cjwatson@ubuntu.com>
26623
26624 * commands/test.c (get_fileinfo): Return immediately if
26625 grub_fs_probe fails.
26626
dabf1798 266272009-09-14 José Martínez <xosemp@gmail.com>
26628
26629 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
26630
d52109a7 266312009-09-14 Colin Watson <cjwatson@ubuntu.com>
26632
26633 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
26634 output.
26635
56532179 266362009-09-13 Robert Millan <rmh.grub@aybabtu.com>
26637
26638 * configure.ac: Remove --enable-grub-pe2elf. Only build
26639 grub-pe2elf when needed by the build system itself.
26640 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
26641
8ef070f5 266422009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26643
26644 * configure.ac: Bump version to 1.97~beta3.
26645 * docs/version.texi: Likewise.
26646
61229557 266472009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26648
26649 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
26650 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
26651 from here ...
26652 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
26653 (grub_linux_setup_video): ... to here (with some adjustments).
26654
5c9f8d84 266552009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26656
26657 Fix memory corruption issue (spotted by Colin Watson).
26658
26659 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
26660 causing returned size to be stored in an incorrect memory location.
26661 Fix use of uninitialized value when storing the returned size.
26662
e8f5d6e9 266632009-09-12 Yves Blusseau <blusseau@zetam.org>
26664
26665 Change clean rules to properly remove files
26666
26667 * genmk.rb: add new clean rules
26668 * Makefile.in (clean): add the new targets
26669 (mostlyclean): likewise
26670
cda2a409 266712009-09-11 Colin Watson <cjwatson@ubuntu.com>
26672
26673 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
26674 to grub_uint64_t.
26675 * fs/ntfs.c (init_file): Understand 64-bit sizes for
26676 non-resident files.
26677
86695375 266782009-09-11 Colin Watson <cjwatson@ubuntu.com>
26679
26680 * configure.ac: Don't look for help2man when cross-compiling. Fixes
26681 part of bug #27349.
26682
8aa1541a 266832009-09-10 Felix Zielcke <fzielcke@z-51.de>
26684
26685 * util/grub-mkconfig.in: Make the created config mode 400 and
26686 print a warning if it fails.
26687
48d9bb0a 266882009-09-10 Robert Millan <rmh.grub@aybabtu.com>
26689
26690 * util/grub.d/40_custom.in: Ask user to type custom entries below
26691 comment, rather than below 'exec tail' line.
26692
3b0521be 266932009-09-10 Colin Watson <cjwatson@ubuntu.com>
26694
26695 * util/grub.d/40_custom.in: Make sure that the explanatory text is
26696 visible in grub.cfg.
26697
50051d55 266982009-09-10 Colin Watson <cjwatson@ubuntu.com>
26699
26700 * util/grub.d/40_custom.in: Make it a little clearer how to use this
26701 file.
26702
c0d34387 267032009-09-10 Felix Zielcke <fzielcke@z-51.de>
26704
26705 * docs/grub.cfg: Add an example menu entry for memtest86+.
26706
80a608f3 267072009-09-09 Felix Zielcke <fzielcke@z-51.de>
26708
a2094832 26709 * config.guess: Update to latest version from config git.
80a608f3 26710 * config.sub: Likewise.
26711
99423078 267122009-09-08 Colin Watson <cjwatson@ubuntu.com>
26713
26714 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
26715 unknown-command case. Fixes bug #27320.
26716
44454e4c 267172009-09-08 Felix Zielcke <fzielcke@z-51.de>
26718
26719 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
26720 `help' if the command exists.
26721
e30d87ad 267222009-09-06 Robert Millan <rmh.grub@aybabtu.com>
26723
26724 * INSTALL: Require GCC 4.1.3 or later.
26725
9a86f1ec 267262009-09-06 Yves Blusseau <blusseau@zetam.org>
26727
26728 * Makefile.in (RMKFILES): add i386-qemu.rmk
26729 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
26730 $(srcdir)/stamp-h.in
26731
7f26d466 267322009-09-05 Robert Millan <rmh.grub@aybabtu.com>
26733
26734 * util/grub-probe.c (probe): Comment out buggy codepath, which
26735 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
26736 should be re-enabled after 1.97.
26737
3a613259 267382009-09-05 Felix Zielcke <fzielcke@z-51.de>
26739
26740 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
26741 find searches for.
26742
197f76c7 267432009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
26744
26745 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
26746 unnecessary calls to grub_error.
26747
70ba68ce 267482009-09-04 Colin Watson <cjwatson@ubuntu.com>
26749
26750 * NEWS: Mention `keystatus' and Unicode fonts.
26751
4ff0d7a4 267522009-09-04 Robert Millan <rmh.grub@aybabtu.com>
26753
26754 * configure.ac: Bump version to 1.97~beta2.
26755 * docs/version.texi: Likewise.
26756
77c55a87 267572009-09-03 Colin Watson <cjwatson@ubuntu.com>
26758
26759 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
26760 containing unwind information in some cases where it previously did
26761 not. Use -fno-dwarf2-cfi-asm if available to restore the old
26762 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
26763 discussion.
26764
f79572cd 267652009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
26766
26767 Embedding loadenv module into grub-emu
26768
26769 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
26770 commands/loadenv.c
26771 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
26772 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
26773 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
26774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
26775 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
26776 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
26777
93a81088 267782009-09-03 Magnus Granberg <zorry@ume.nu>
26779
26780 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
26781 include -fPIE in the default specs.
26782 * configure.ac: Check if pie_possible is yes and add -fno-PIE
26783 to TARGET_CFLAGS.
26784
160034b2 267852009-09-03 Felix Zielcke <fzielcke@z-51.de>
26786
26787 * INSTALL: Note that GNU Bison 2.3 or later is required.
26788
087c07c4 267892009-09-03 Colin Watson <cjwatson@ubuntu.com>
26790
26791 * kern/i386/pc/startup.S: Fix typo.
26792
cbf978c0 267932009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
26794
26795 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
26796 according to GCS.
26797
267982009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 26799
26800 * docs/grub.texi (Naming convention): Describe one-based partition
26801 numbering.
26802 (Device syntax): Likewise.
26803 (File name syntax): Likewise.
26804 (Block list syntax): Likewise.
26805 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
26806 menu.lst.
26807 (File name syntax): Likewise.
26808 (Command-line and menu entry commands): Document acpi, blocklist,
26809 crc, export, insmod, keystatus, ls, set, and unset commands.
26810
f3e8cdfd 268112009-09-02 Colin Watson <cjwatson@ubuntu.com>
26812
26813 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
26814 to avoid implying that only one of --shift, --ctrl, or --alt may be
26815 used.
26816
c0bc232b 268172009-09-02 Colin Watson <cjwatson@ubuntu.com>
26818
26819 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
26820 rather than comparing against S_IFREG, which will almost never work.
26821
aa0f752d 268222009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
26823
26824 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
26825 (write_blocklists): Likewise.
26826
ecb3166a 268272009-09-01 Colin Watson <cjwatson@ubuntu.com>
26828
26829 * script/lua/grub_lua.h (fputs): Supply a format string as the first
26830 argument to grub_printf.
26831
c403a125 268322009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 26833
26834 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 26835 non GNU test.
31aba781 26836
b5e7312c 268372009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26838
26839 * kern/file.c (grub_file_read): Spelling fix
26840
fe00f472 268412009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26842
26843 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
26844 loading of headers in some cases.
26845
cc55302e 268462009-08-30 Robert Millan <rmh.grub@aybabtu.com>
26847
26848 * configure.ac: Bump version to 1.97~beta1.
26849 * docs/version.texi: Likewise.
26850
5c90cdd2 268512009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 26852
26853 * include/grub/i386/xnu.h: Add license header.
26854 include grub/err.h explicitly.
26855
c90edae4 268562009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26857
26858 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
26859 to `ufs' in the vfs.root.mountfrom kernel parameter.
26860
d8888b5c 268612009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26862
26863 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
26864
26865 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
26866 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
26867
26868 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
26869 `ARRAY_SIZE' macro.
26870
6f07b921 268712009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26872
26873 * kern/file.c (grub_file_read): Check offset.
26874 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
26875 * fs/jfs.c (grub_jfs_read_file): Likewise.
26876 * fs/ntfs.c (grub_ntfs_read): Likewise.
26877 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
26878 * fs/minix.c (grub_minix_read_file): Correct offset check.
26879 * fs/ufs.c (grub_ufs_read_file): Likewise.
26880
b4f34077 268812009-08-28 Colin Watson <cjwatson@ubuntu.com>
26882
26883 * term/i386/pc/console.c (bios_data_area): Cast
26884 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
26885
e7c69859 268862009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26887
26888 1-bit optimised blitters.
26889
26890 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
26891 prototype.
26892 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26893 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26894 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26895 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26896 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26897 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26898 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
26899 function.
26900 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26901 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26902 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26903 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26904 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26905 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26906 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
26907 when possible.
26908 * video/video.c (grub_video_get_blit_format): Return
26909 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
26910
a57da43f 269112009-08-28 Colin Watson <cjwatson@ubuntu.com>
26912
26913 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
26914 the first argument to grub_printf.
26915
4cbe67e5 269162009-08-28 Colin Watson <cjwatson@ubuntu.com>
269172009-08-28 Robert Millan <rmh.grub@aybabtu.com>
26918
26919 Add `getkeystatus' terminal method. Add a new `keystatus' command
26920 to query it.
26921
26922 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
26923 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
26924 modifier key bitmasks.
26925 (struct grub_term_input): Add `getkeystatus' member.
26926 (grub_getkeystatus): Add prototype.
26927 * kern/term.c (grub_getkeystatus): New function.
26928
26929 * include/grub/i386/pc/memory.h
26930 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
26931 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
26932 Data Area layout.
26933 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
26934 (grub_console_term_input): Set `getkeystatus' member.
26935 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
26936 constants.
26937 (grub_usb_keyboard_getreport): Likewise.
26938 (grub_usb_keyboard_checkkey): Likewise.
26939 (grub_usb_keyboard_getkeystatus): New function.
26940 (grub_usb_keyboard_term): Set `getkeystatus' member.
26941
26942 * commands/keystatus.c: New file.
26943 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
26944 (keystatus_mod_SOURCES): New variable.
26945 (keystatus_mod_CFLAGS): Likewise.
26946 (keystatus_mod_LDFLAGS): Likewise.
26947 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
26948 commands/keystatus.c.
26949 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26950 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26951 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26953 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26954 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 26955
6e2a9085 269562009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26957
26958 Split befs.mod and afs.mod into *_be.mod and *.mod
26959
26960 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
26961 (grub_fstest_SOURCES): Likewise.
26962 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
26963 (afs_be_mod_SOURCES): New variable.
26964 (afs_be_mod_CFLAGS): Likewise.
26965 (afs_be_mod_LDFLAGS): Likewise.
26966 (befs_be_mod_SOURCES): Likewise.
26967 (befs_be_mod_CFLAGS): Likewise.
26968 (befs_be_mod_LDFLAGS): Likewise.
26969 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
26970 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26971 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26972 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26973 (grub_emu_SOURCES): Likewise.
26974 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26975 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26976 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26977 * fs/afs_be.c: New file.
26978 * fs/befs_be.c: New file.
26979 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
26980 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
26981 (U16): Replaced with ...
26982 (grub_afs_to_cpu16): ...this. All users updated.
26983 (U32): Replaced with ...
26984 (grub_afs_to_cpu32): ...this. All users updated.
26985 (U64): Replaced with ...
26986 (grub_afs_to_cpu64): ...this. All users updated.
26987 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
26988 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 26989 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 26990 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26991 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26992 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26993 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26994 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26995 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26996 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26997 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26998
32a71655 269992009-08-26 Bean <bean123ch@gmail.com>
27000
27001 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27002 64-bit number.
27003 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27004 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27005 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27006
552bf6c5 270072009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27008
27009 NetBSD memory map support.
27010
27011 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27012 (grub_netbsd_btinfo_mmap_header): New structure.
27013 (grub_netbsd_btinfo_mmap_entry): Likewise.
27014 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27015
1ae2078c 270162009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27017
27018 Enable bsd.mod on coreboot.
27019
27020 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27021 (bsd_mod_SOURCES): New variable.
27022 (bsd_mod_CFLAGS): Likewise.
27023 (bsd_mod_LDFLAGS): Likewise.
27024 (bsd_mod_ASFLAGS): Likewise.
27025 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27026 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27027
beefc598 270282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27029
27030 Cleanup NetBSD root support.
27031
27032 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27033 grub_bsd_get_device.
27034 Fix typo.
27035
3b76e68b 270362009-08-25 Felix Zielcke <fzielcke@z-51.de>
27037
27038 * util/grub.d/00_header.in: Move check for the video backend of
27039 gfxterm from here ...
27040 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27041 a suitable video backend.
27042
aea664ea 270432009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27044
27045 Fix breakage in grub-setup.
27046
27047 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27048 "msdos_partition_map".
27049
ff747d50 270502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27051
27052 Fix breakage in normal/auth.c.
27053
27054 * normal/auth.c (grub_iswordseparator): New function.
27055
e7e1f93f 270562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27057
27058 Authentication support.
27059
27060 * commands/password.c: New file.
27061 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27062 (password_mod_SOURCES): New variable.
27063 (password_mod_CFLAGS): Likewise.
27064 (password_mod_LDFLAGS): Likewise.
27065 (normal_mod_SOURCES): Add normal/auth.c.
27066 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27067 normal/auth.c.
27068 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27069 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27070 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27072 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27073 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27074 * include/grub/auth.h: New file.
27075 * include/grub/err.h (grub_err_t): New enum value
27076 GRUB_ERR_ACCESS_DENIED.
27077 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27078 'users'.
27079 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27080 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27081 users updated.
27082 * normal/auth.c: New file.
27083 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27084 (grub_cmdline_run): Don't allow to go to command line without
27085 authentication.
27086 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27087 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27088 menuentry without superuser rights.
27089 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27090 user isn't a superuser.
27091
70f1161d 270922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27093
27094 Save space by inlining misc.c functions.
27095
27096 * kern/misc.c (grub_iswordseparator): Made static.
27097 * kern/misc.c (grub_strcat): Moved from here ...
27098 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27099 * kern/misc.c (grub_strncat): Moved from here ...
27100 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27101 * kern/misc.c (grub_strcasecmp): Moved from here ...
27102 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27103 * kern/misc.c (grub_strncasecmp): Moved from here ...
27104 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27105 * kern/misc.c (grub_isalpha): Moved from here ...
27106 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27107 * kern/misc.c (grub_isdigit): Moved from here ...
27108 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27109 * kern/misc.c (grub_isgraph): Moved from here ...
27110 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27111 * kern/misc.c (grub_tolower): Moved from here ...
27112 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27113
48e40bff 271142009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27115
27116 * script/sh/function.c (grub_script_function_find): Cut error message
27117 not to flood terminal.
27118 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27119 limit.
27120 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27121
c385bfc3 271222009-08-24 Colin Watson <cjwatson@ubuntu.com>
27123
27124 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27125 `report' grub_uint8_t *.
27126 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27127 Use a 50-millisecond timeout rather than just repeating
27128 grub_usb_keyboard_getreport 50 times.
27129 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27130
2d21e3e8 271312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27132
27133 Rename *_partition_map to part_*
27134
27135 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27136 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27137 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27138 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27139 All users updated.
27140 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27141 All users updated.
27142 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27143 * util/grub-probe.c (probe_partmap): Don't transform partition name
27144 to get module name.
27145
dd103c4e 271462009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27147
27148 Fix OpenBSD and NetBSD support.
27149
27150 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27151 memory address conflict.
27152 (OPENBSD_MMAP_ACPI): New definition.
27153 (OPENBSD_MMAP_NVS): Likewise.
27154 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27155 and OPENBSD_MMAP_NVS.
27156 Add memory map terminator
27157 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 27158 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 27159
16c84d74 271602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27161
27162 Let user specify NetBSD root device.
27163
27164 * loader/i386/bsd.c (netbsd_root): New variable.
27165 (netbsd_opts): New option 'root'.
27166 (NETBSD_ROOT_ARG): New macro.
27167 (grub_netbsd_boot): Use 'netbsd_root'.
27168 (grub_bsd_unload): Free 'netbsd_root'.
27169 (grub_cmd_netbsd): Fill 'netbsd_root'.
27170
adb29902 271712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27172
27173 Support for 64-bit NetBSD.
27174
27175 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27176 point when booting non-FreeBSD.
27177
f5ae9f74 271782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27179
27180 Support --no-smp and --no-acpi for NetBSD.
27181
27182 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27183 (NETBSD_AB_NOACPI): Likewise.
27184 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27185 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27186
de74f136 271872009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27188
27189 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27190 errors.
27191 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27192 errors. Call grub_error when needed.
27193
e9a925da 271942009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27195
27196 * commands/search.c (search_fs): Try searching without autoload first.
27197 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27198 filesystem module explicitly for faster booting.
27199
5174302b 272002009-08-23 Colin Watson <cjwatson@ubuntu.com>
27201
27202 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27203
c8c80635 272042009-08-23 Colin Watson <cjwatson@ubuntu.com>
27205
27206 * util/grub.d/30_os-prober.in: Disable os-prober if
27207 `GRUB_DISABLE_OS_PROBER' was set to true.
27208
71acf5e5 272092009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27210
27211 * partmap/pc.c: Rename to ...
27212 * partmap/msdos.c: ... this. Update all users.
27213 (grub_pc_partition_map): Rename to ...
27214 (grub_msdos_partition_map): ... this. Update all users.
27215
27216 * parttool/pcpart.c: Rename to ...
27217 * parttool/msdospart.c: ... this. Update all users.
27218
27219 * include/grub/pc_partition.h: Rename to ...
27220 * include/grub/msdos_partition.h: ... this. Update all users.
27221 (grub_pc_partition_bsd_entry): Rename to ...
27222 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27223 (grub_pc_partition_disk_label): Rename to ...
27224 (grub_msdos_partition_disk_label): ... this. Update all users.
27225 (grub_pc_partition_entry): Rename to ...
27226 (grub_msdos_partition_entry): ... this. Update all users.
27227 (grub_pc_partition_mbr): Rename to ...
27228 (grub_msdos_partition_mbr): ... this. Update all users.
27229 (grub_pc_partition): Rename to ...
27230 (grub_msdos_partition): ... this. Update all users.
27231 (grub_pc_partition_is_empty): Rename to ...
27232 (grub_msdos_partition_is_empty): ... this. Update all users.
27233 (grub_pc_partition_is_extended): Rename to ...
27234 (grub_msdos_partition_is_extended): ... this. Update all users.
27235 (grub_pc_partition_is_bsd): Rename to ...
27236 (grub_msdos_partition_is_bsd): ... this. Update all users.
27237
27238 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27239 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27240 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27241 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27242 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27243 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27244 (gpt_mod_LDFLAGS): Rename to ...
27245 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27246 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27247 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27248 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27249 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27250 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27251 (part_gpt_mod_LDFLAGS): ... this.
27252 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27253 `pcpart.mod' to `msdospart.mod'.
27254 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27255 to ...
27256 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27257 (msdospart_mod_LDFLAGS): ... this.
27258
c11fded5 272592009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27260
27261 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27262 (openbsd_opts): Likewise.
27263 (netbsd_opts): Likewise.
27264 (freebsd_flags): Added 0 terminator.
27265 (openbsd_flags): Likewise.
27266 (netbsd_flags): Likewise.
27267 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27268 (grub_cmd_freebsd): Transformed into extended command.
27269 (grub_cmd_openbsd): Likewise.
27270 (grub_cmd_netbsd): Likewise.
27271 (cmd_freebsd): Changed type to grub_extcmd_t.
27272 (cmd_openbsd): Likewise.
27273 (cmd_netbsd): Likewise.
27274 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27275 grub_cmd_openbsd as extended commands.
27276 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27277 cmd_netbsd and cmd_openbsd
27278
11d1c769 272792009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27280
27281 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27282
7a9094e5 272832009-08-21 Pavel Roskin <proski@gnu.org>
27284
5496c37e 27285 * Makefile.in (install-local): When checking if a file is in the
27286 build directory, use "test -e" to detect symlinks.
27287
7a9094e5 27288 * Makefile.in (install-local): Remove all files in
27289 $(DESTDIR)$(pkglibdir) before installing new files there.
27290
e53cea11 272912009-08-18 Felix Zielcke <fzielcke@z-51.de>
27292
27293 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27294 grub-mkelfimage.
27295
9aced544 272962009-08-18 Felix Zielcke <fzielcke@z-51.de>
27297
27298 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27299 explicitly specified by the user.
27300
b7da6bab 273012009-08-18 Pavel Roskin <proski@gnu.org>
27302
27303 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27304 grub_uint8_t pointer for data.
27305 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27306 Likewise.
27307 * video/fb/fbutil.c: Remove unnecessary casts.
27308
19f1b335 273092009-08-17 Michal Suchanek <hramrach@centrum.cz>
27310
27311 VBE cleanup.
27312
27313 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27314 (grub_vbe_set_video_mode): Save active mode info
27315 only after setting the mode.
27316 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27317 second argument.
27318
2f467aa9 273192009-08-17 Michal Suchanek <hramrach@centrum.cz>
27320
27321 Rename variables for clarity.
27322
27323 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27324 (active_vbe_mode_info): ... this. All users updated.
27325 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27326 All users updated.
27327 (initial_mode): Rename to ...
27328 (initial_vbe_mode): ... this. All users updated.
27329 (mode_in_use): Rename to ..
27330 (vbe_mode_in_use): ... this. All users updated.
27331 (mode_list): Rename to ..
27332 (vbe_mode_list): ... this. All users updated.
27333 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27334 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27335 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27336 'mode_list_size' to 'vbe_mode_list_size'.
27337 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27338 'best_mode_info' to 'best_vbe_mode_info' and
27339 'best_mode' to 'best_vbe_mode'
27340
6025fcd7 273412009-08-17 Michal Suchanek <hramrach@centrum.cz>
27342
27343 Remove duplicate grub_video_fb_get_video_ptr.
27344
27345 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27346 (grub_video_fb_get_video_ptr): ... this.
27347 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27348 * video/fb/fbutil.c: Add comment about addressing.
27349 (get_data_ptr): Rename to ...
27350 (grub_video_fb_get_video_ptr): ... this. All users updated.
27351 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27352
cc8c6faf 273532009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27354
27355 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27356 grub_dprintf() that was just added.
27357
08aa61f0 273582009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27359
27360 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27361 (DEFAULT_VIDEO_MODE): Remove macros.
27362 (grub_linux_boot): Remove assumption that Linux has FB support,
27363 and use "text" as default video mode.
27364
7cef4f75 273652009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27366
27367 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27368 grub_dprintf.
27369 * fs/fat.c (grub_fat_read_data): Likewise.
27370
e1f39873 273712009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27372
27373 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27374 payload.
27375 (grub_module): Likewise.
27376
c166d79e 273772009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27378
27379 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27380 mbi->cmdline but free playground.
27381
c60cee8e 273822009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27383
27384 Handle group offset on UFS1.
27385
27386 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27387 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27388
c0d8b5d4 273892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27390
27391 Split ufs.mod into ufs1.mod and ufs2.mod.
27392
27393 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27394 (grub_fstest_SOURCES): Likewise.
27395 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27396 (ufs_mod_SOURCES): Remove.
27397 (ufs_mod_CFLAGS): Likewise.
27398 (ufs_mod_LDFLAGS): Likewise.
27399 (ufs1_mod_SOURCES): New variable.
27400 (ufs1_mod_CFLAGS): Likewise.
27401 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 27402 (ufs2_mod_SOURCES): New variable.
27403 (ufs2_mod_CFLAGS): Likewise.
27404 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 27405 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27406 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27407 Likewise.
27408 (grub_emu_SOURCES): Likewise.
27409 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27410 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27411 (grub_setup_SOURCES): Likewise.
27412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27413 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27414 (grub_setup_SOURCES): Likewise.
27415 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27416 Likewise.
27417 * fs/ufs2.c: New file.
27418 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27419
d3539132 274202009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27421
27422 Framebuffer split.
27423
27424 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27425 subsystem at the end.
27426 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27427 (video_fb_mod_SOURCES): New variable.
27428 (video_fb_mod_CFLAGS): Likewise.
27429 (video_fb_mod_LDFLAGS): Likewise.
27430 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27431 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27432 * video/i386/pc/vbeblit.c: Moved from here ...
27433 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27434 * video/i386/pc/vbefill.c: Moved from here ...
27435 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27436 * video/i386/pc/vbeutil.c: Moved from here ...
27437 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27438 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27439 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27440 * include/grub/i386/pc/vbefill.h: Moved from here ...
27441 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27442 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27443 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27444 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27445 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27446 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27447 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27448 (grub_video_adapter): Added 'get_info_and_fini'.
27449 (grub_video_get_info_and_fini): New prototype.
27450 (grub_video_set_mode): make modestring const char *.
27451 * loader/i386/linux.c (grub_linux_setup_video): Use
27452 grub_video_get_info_and_fini.
27453 (grub_linux_boot): Move modesetting just before booting.
27454 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27455 grub_video_get_info_and_fini.
27456 * video/i386/pc/vbe.c: Moved framebuffer part ...
27457 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27458 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27459 grub_video_fbstd_colors and grub_video_fb_set_palette.
27460 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27461 grub_video_fb_init.
27462 (grub_video_vbe_fini): Use grub_video_fb_fini.
27463 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27464 render_target and use grub_video_fb_set_active_render_target and
27465 grub_video_fb_set_palette.
27466 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27467 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27468 (grub_video_vbe_adapter): Use framebuffer.
27469 * video/video.c (grub_video_get_info_and_fini): New function.
27470 (grub_video_set_mode): Make modestring const char *.
27471 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27472 values are already initialised.
27473
d404ee56 274742009-08-14 Pavel Roskin <proski@gnu.org>
27475
27476 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27477 ABS and APPLE_CC.
27478 * boot/i386/pc/diskboot.S: Likewise.
27479 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27480 sectors allow compilation on MacOSX.
27481 * conf/i386-pc.rmk: Enable unconditional compilation of
27482 lnxboot.img.
27483
9a10df16 274842009-08-13 Colin Watson <cjwatson@ubuntu.com>
27485
27486 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27487 * util/grub.d/00_header.in: Enter interruptible sleep if
27488 GRUB_HIDDEN_TIMEOUT is set.
27489
be3c9ca7 274902009-08-13 Yves Blusseau <blusseau@zetam.org>
27491
27492 * include/grub/symbol.h: Add the LOCAL macro.
27493 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27494 starting with "L_".
27495
1f9e557e 274962009-08-13 Pavel Roskin <proski@gnu.org>
27497
9ca62843 27498 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27499 any modern compilers we support.
27500
1f9e557e 27501 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27502 Use local labels starting with "L_" so that Apple assembler
27503 knows they are local.
27504
81623db6 275052009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27506
27507 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27508 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27509 (bsd_kernel_types): ... this enum.
27510
27511 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27512 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27513 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27514
27515 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27516 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27517 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27518 messages.
27519
f5d35e7a 275202009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27521
27522 * util/grub-dumpdevtree: Moved from here ...
27523 * util/i386/efi/grub-dumpdevtree: ... to here.
27524 (hexify): New function. Converts a string to its hex version.
27525 Generate hex versions of "efi" and "device-properties" by calling
27526 hexify() on the ASCII strings rather than by hardcoding numbers.
27527
d1e1d527 275282009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27529
27530 * fs/jfs.c: Update copyright year.
27531
1ebbe064 275322009-08-08 Felix Zielcke <fzielcke@z-51.de>
27533
27534 * util/grub.d/00_header.in: Fix a comment.
27535 * util/grub.d/10_linux.in: Likewise.
27536 * util/grub.d/10_windows.in: Likewise.
27537 * util/grub.d/10_hurd.in: Likewise.
27538
a78c8d24 275392009-08-08 Felix Zielcke <fzielcke@z-51.de>
27540
27541 * util/grub-mkconfig.in: Allow the user to specify the used font
27542 with GRUB_FONT.
27543
29a6b9e8 275442009-08-08 Pavel Roskin <proski@gnu.org>
27545
b5f16cc4 27546 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27547 available, xfs.mod needs it now.
27548
2f5cb827 27549 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27550 the "g" modifier in sed when the intention is to strip something
27551 once. This fixes comparison of kernels with multiple dashes.
27552
29a6b9e8 27553 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
27554 on it. Add missing space before closing bracket. Fix
27555 misleading formatting.
27556
892a3d98 275572009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27558
27559 * docs/grub.texi: Major overhaul. Remove all sections that are
27560 specific to GRUB Legacy, or mostly composed of Legacy-specific
27561 information.
27562
ed94253f 275632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27564
27565 * docs/version.texi: New file. Provides version information for
27566 grub.texi.
27567
126d6628 275682009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27569
27570 * docs/grub.texi: Update CVS information to SVN.
27571 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
27572
998b5aa9 275732009-08-07 Felix Zielcke <fzielcke@z-51.de>
27574
27575 * util/grub-mkconfig.in: Remove a wrong `fi'.
27576
818e094a 275772009-08-07 Felix Zielcke <fzielcke@z-51.de>
27578
27579 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
27580 (grub_jfs_uuid): New function.
27581 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
27582
b969c52f 275832009-08-07 Felix Zielcke <fzielcke@z-51.de>
27584
27585 * util/grub-mkconfig_lib.in (font_path): Move the functionality
27586 of it to ...
27587 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
27588 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
27589
7a4894cc 275902009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27591
27592 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
27593 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
27594 Update all users.
27595
27596 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
27597 not just "vmlinu[zx]".
27598 Moved from here ...
27599 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
27600 all users.
27601
27602 * util/grub.d/10_linux.in (find_latest): Moved from here ...
27603 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
27604 all users.
27605
4e2171f8 276062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27607
27608 * util/grub.d/10_freebsd.in: Use an absolute device path for
27609 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
27610
6dcfcb32 276112009-08-06 Felix Zielcke <fzielcke@z-51.de>
27612
27613 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
27614 handling of multiple abstraction modules.
27615
f56a8756 276162009-08-04 Robert Millan <rmh.grub@aybabtu.com>
27617
27618 Fix a bug resulting in black screen when loading Linux using a
27619 packed video mode.
27620
27621 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
27622 function.
27623
27624 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
27625 (grub_vbe_bios_getset_dac_palette_width): New function.
27626 (grub_vbe_bios_get_dac_palette_width)
27627 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
27628 grub_vbe_bios_getset_dac_palette_width()).
27629
27630 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
27631 check for return status.
27632 (grub_vbe_get_video_mode_info): When getting information for a packed
27633 mode (<= 8 bpp), obtain DAC palette width using
27634 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
27635 {red,green,blue}_mark_size.
27636
222671b2 276372009-08-04 Felix Zielcke <fzielcke@z-51.de>
27638
ecb1a6d9 27639 * commands/search.c (options): Fix help output to match actual code.
222671b2 27640
f84114f5 276412009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
27642
27643 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
27644 of homegrown code.
27645
bd288a20 276462009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 27647
27648 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
27649 on XFS or ReiserFS.
27650
8aab5e25 276512009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27652
27653 Support Apple partition map with sector size different from 512 bytes.
27654
27655 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
27656 (apple_partition_map_iterate): Respect 'aheader.blocksize'
27657 and 'apart.partmap_size'.
27658
6ad6258a 276592009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
276602009-08-01 Robert Millan <rmh.grub@aybabtu.com>
27661
27662 Fix cpuid command.
27663
27664 * commands/i386/cpuid.c (options): New variable.
27665 (grub_cmd_cpuid): Return real error.
27666 (GRUB_MOD_INIT(cpuid)): Declare options.
27667
67459bc6 276682009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
27669
27670 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
27671 valid.
27672
fbc6ab54 276732009-07-31 Bean <bean123ch@gmail.com>
27674
27675 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
27676 log2_inode.
27677 (grub_fshelp_node): Move inode field to the end.
27678 (grub_xfs_data): Remove inode field.
27679 (grub_xfs_inode_block): Calculate inode size using sblock.
27680 (grub_xfs_inode_offset): Likewise.
27681 (grub_xfs_read_inode): Calculate inode size using sblock.
27682 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
27683 (grub_xfs_iterate_dir): Calculate inode size using sblock.
27684 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
27685 to match inode size.
27686 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
27687 not accessible when data is null.
27688 (grub_xfs_open): Likewise.
27689
f45d6cfc 276902009-07-31 Bean <bean123ch@gmail.com>
27691
27692 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
27693 Don't change pv->disk if it's already set.
27694
27695 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
27696 (grub_raid_register): ... here.
27697 (grub_raid_rescan): Removed.
27698
27699 * include/grub/raid.h (grub_raid_rescan): Removed.
27700
27701 * util/grub-fstest.c: Remove include file <grub/raid.h>.
27702 (fstest): Replace grub_raid_rescan with module fini function followed
27703 by init function.
27704
27705 * util/grub-probe.c: Add include file <grub/raid.h>.
27706 (probe_raid_level): New function.
27707 (probe): Detect abstraction by walking the disk device, support two
27708 level of abstraction (LVM on RAID) when detecting partition map.
27709
24443b5a 277102009-07-31 Pavel Roskin <proski@gnu.org>
27711
27712 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
27713 to grub_zalloc(), it was erroneous.
27714 Reported by Bean <bean123ch@gmail.com>
27715
a275d9e7 277162009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
27717
27718 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 27719 embedding zone, not only the first one.
a275d9e7 27720
56c5a47f 277212009-07-29 Joe Auricchio <jauricchio@gmail.com>
27722
27723 * term/gfxterm.c (clear_char): New function.
27724 (grub_virtual_screen_setup): Use clear_char.
27725 (scroll_up): Likewise.
27726 (grub_virtual_screen_cls): Likewise.
27727
67bb323a 277282009-07-29 Felix Zielcke <fzielcke@z-51.de>
27729
27730 * util/deviceiter.c (get_acceleraid_disk_name): New static
27731 function.
27732 (grub_util_iterate_devices): Handle Accelraid devices.
27733 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
27734
388a7c75 277352009-07-28 Robert Millan <rmh.grub@aybabtu.com>
27736
27737 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
27738 separator for the suggested gfxpayload string (';' collides with the
27739 parser and needs escaping).
27740
3bb7abcf 277412009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
27742
27743 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
27744 Clear direction flag before jumping to OS.
27745 (grub_multiboot2_real_boot): Likewise.
27746
2ddd36d7 277472009-07-28 Felix Zielcke <fzielcke@z-51.de>
27748
27749 * util/i386/pc/grub-install: Fix parsing of --disk-module
27750 option.
27751
c521b62b 277522009-07-28 Felix Zielcke <fzielcke@z-51.de>
27753
27754 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
27755 when embedding.
27756
880e0a0c 277572009-07-26 Felix Zielcke <fzielcke@z-51.de>
27758
27759 * util/grub-mkconfig.in (package_version): New variable.
27760 Use it do display the version.
27761
2366e356 277622009-07-25 Felix Zielcke <fzielcke@z-51.de>
27763
27764 * kern/file.c (grub_file_open): Revert to previous check with
27765 grub_errno.
27766
7ad8c80e 277672009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27768
27769 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
27770 from help line. It's out of sync with code.
27771
72b9658b 277722009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27773
27774 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
27775 entries on failed boot.
27776
77435277 277772009-07-25 Felix Zielcke <fzielcke@z-51.de>
27778
27779 * kern/file.c (grub_file_open): Fix an error check.
27780
fcaa8b21 277812009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
27782
35d16c74 27783 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
27784 partition map couldn't be identified.
fcaa8b21 27785
48904cd1 277862009-07-23 Pavel Roskin <proski@gnu.org>
27787
ef3c317f 27788 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
27789 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
27790 case of little endian words becomes just an optimization.
27791 Respect const modifier.
ad8ea1f4 27792 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 27793
48904cd1 27794 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
27795 to avoid loss of upper bits if align is unsigned and shorter
27796 than addr.
27797
260c9a89 277982009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27799
27800 UUID support for UFS
27801
27802 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
27803 (grub_ufs_uuid): New function.
27804 (grub_ufs_fs): add .uuid
27805
f76ce889 278062009-07-21 Pavel Roskin <proski@gnu.org>
27807
27808 * kern/dl.c (grub_dl_check_header): Make static.
27809
6a6cbcaf 278102009-07-21 Felix Zielcke <fzielcke@z-51.de>
27811
27812 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
27813 add drivemap for Vista. It breaks Windows 7.
27814
cffcddb2 278152009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27816
27817 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
27818 128 bytes
27819
1ef44b80 278202009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27821
27822 Add BFS support
27823
27824 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
27825 (grub_fstest_SOURCES): Likewise.
27826 (pkglib_MODULES): Add befs.mod.
27827 (befs_mod_SOURCES): New variable.
27828 (befs_mod_CFLAGS): Likewise.
27829 (befs_mod_LDFLAGS): Likewise.
27830 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27831 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27832 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27833 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27834 (grub_setup_SOURCES): Likewise.
27835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27836 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27837 (grub_setup_SOURCES): Likewise.
27838 * fs/befs.c: New file.
27839 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
27840 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
27841 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
27842 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
27843 (B_KEY_INDEX_ALIGN): New declaration.
27844 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
27845 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
27846 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
27847 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
27848 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
27849 (grub_afs_mount) [MODE_BFS]: Likewise.
27850 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
27851 (grub_afs_fs): Use GRUB_AFS_FSNAME
27852 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
27853 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
27854 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
27855 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
27856
4f253044 278572009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
27858
27859 * util/getroot.c (find_root_device): Add support for MacOSX.
27860 * util/hostdisk.c: Likewise.
27861
57a55913 278622009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27863
27864 * font/font.c (find_glyph): Check whether a font is present to avoid
27865 segmentation fault.
75421ca9 27866
278672009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 27868
27869 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
27870
e98cd0c2 278712009-07-20 Pavel Roskin <proski@gnu.org>
27872
27873 * configure.ac: Trim excessively wordy excuses.
27874
1d2d169a 278752009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27876
27877 Add symlink, mtime and label support to AtheFS.
27878
27879 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
27880 (grub_afs_iterate_dir): Handle symlinks.
27881 (grub_afs_open): Use grub_afs_read_symlink.
27882 (grub_afs_dir): Likewise.
27883 Pass mtime.
27884 (grub_afs_label): New function.
27885 (grub_afs_fs): Add grub_afs_label.
27886 (grub_afs_read_symlink): New function.
27887
186f3189 278882009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27889
27890 Fix AtheFS support.
27891
27892 * fs/afs.c: Fix comments style.
27893 (grub_afs_blockrun): Declare as packed.
27894 (grub_afs_datastream): Likewise.
27895 (grub_afs_bnode): Likewise.
27896 (grub_afs_btree): Likewise.
27897 (grub_afs_sblock): Likewise.
27898 Declare `name' as char.
27899 (grub_afs_inode): Declare as packed.
27900 Change void *vnode to grub_uint32_t unused.
27901 (grub_afs_iterate_dir): Check that key_size is positive.
27902 (grub_afs_mount): Don't read superblock twice.
75421ca9 27903 (grub_afs_dir): Don't free node in case of error,
186f3189 27904 grub_fshelp_find_file already handles this.
27905 (grub_afs_open): Likewise.
27906
5680109e 279072009-07-19 Pavel Roskin <proski@gnu.org>
27908
27909 * Makefile.in: Remove LIBLZO and enable_lzo.
27910 * conf/i386-pc.rmk: Remove lzo support.
27911 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
27912 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
27913 support.
27914 * kern/i386/pc/lzo1x.S: Remove.
27915 * kern/i386/pc/startup.S: Remove lzo support.
27916 * util/i386/pc/grub-mkimage.c: Likewise.
27917
ac70fa32 279182009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
27919
27920 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
27921 * fs/xfs.c (grub_xfs_dir): Likewise.
27922 * fs/afs.c (grub_afs_dir): Likewise.
27923 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
27924 (grub_iso9660_open): Likewise.
27925 * fs/jfs.c (grub_jfs_open): Likewise.
27926 * fs/ext2.c (grub_ext2_dir): Likewise.
27927 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
27928 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 27929
eab58da2 279302009-07-16 Pavel Roskin <proski@gnu.org>
27931
d2838156 27932 * configure.ac: Never add "-c" to CFLAGS.
27933
55c70904 27934 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
27935
43e6200c 27936 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
27937 grub_cv_cc_efiemu should be used.
27938
ce7a733d 27939 * configure.ac: Typo fixes.
27940
eab58da2 27941 * kern/mm.c (grub_zalloc): New function.
27942 (grub_debug_zalloc): Likewise.
27943 * include/grub/mm.h: Declare grub_zalloc() and
27944 grub_debug_zalloc().
27945 * util/misc.c (grub_zalloc): New function.
27946 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
27947 instead of grub_malloc(), remove unneeded initializations.
27948 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
27949 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
27950 * commands/parttool.c (grub_cmd_parttool): Likewise.
27951 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
27952 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
27953 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
27954 * disk/usbms.c (grub_usbms_finddevs): Likewise.
27955 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
27956 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
27957 (grub_cmd_efiemu_pnvram): Likewise.
27958 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
27959 * fs/iso9660.c (grub_iso9660_mount): Likewise.
27960 (grub_iso9660_iterate_dir): Likewise.
27961 * fs/jfs.c (grub_jfs_opendir): Likewise.
27962 * fs/ntfs.c (list_file): Likewise.
27963 (grub_ntfs_mount): Likewise.
27964 * kern/disk.c (grub_disk_open): Likewise.
27965 * kern/dl.c (grub_dl_load_core): Likewise.
27966 * kern/elf.c (grub_elf_file): Likewise.
27967 * kern/env.c (grub_env_context_open): Likewise.
27968 (grub_env_set): Likewise.
27969 (grub_env_set_data_slot): Likewise.
27970 * kern/file.c (grub_file_open): Likewise.
27971 * kern/fs.c (grub_fs_blocklist_open): Likewise.
27972 * loader/i386/multiboot.c (grub_module): Likewise.
27973 * loader/xnu.c (grub_xnu_create_key): Likewise.
27974 (grub_xnu_create_value): Likewise.
27975 * normal/main.c (grub_normal_add_menu_entry): Likewise.
27976 (read_config_file): Likewise.
27977 * normal/menu_entry.c (make_screen): Likewise.
27978 * partmap/sun.c (sun_partition_map_iterate): Likewise.
27979 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
27980 * script/sh/script.c (grub_script_parse): Likewise.
27981 * video/bitmap.c (grub_video_bitmap_create): Likewise.
27982 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
27983 * video/readers/png.c (grub_png_output_byte): Likewise.
27984 (grub_video_reader_png): Likewise.
27985
830afef7 279862009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 27987
27988 Enable all targets that can be built by default
27989
830afef7 27990 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 27991 grub-mkfont and grub-fstest if they can be built
27992
ee293aee 279932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27994
27995 Fix hang and segmentation fault in grub-emu-usb
27996
27997 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
27998 * util/usb.c (grub_libusb_devices): likewise
27999 (grub_libusb_init): rename to ...
28000 (GRUB_MOD_INIT (libusb)):...this
28001 (grub_libusb_fini): rename to ..
28002 (GRUB_MOD_FINI (libusb)):...this
28003 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28004 * include/grub/disk.h (grub_raid_init): removed, it's useless
28005 (grub_raid_fini): likewise
28006 (grub_lvm_init): likewise
28007 (grub_lvm_fini): likewise
28008 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28009 by grub_init_all
28010
94414221 280112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28012
28013 Fix libusb
28014
28015 * Makefile.in (LIBUSB): new macro
28016 * genmk.rb (Utility/print_tail): new method
28017 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28018 (top level): call util.print_tail at the end.
28019
59ade63d 280202009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28021
28022 Make FreeBSD accept zpool.cache
28023
28024 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28025 type is /boot/zfs/zpool.cache
28026
a58da8c7 280272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28028
28029 Fix 64-bit efiemu
28030
28031 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28032 correct wrong typedef
28033 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28034
20591577 280352009-07-15 Pavel Roskin <proski@gnu.org>
28036
560ca572 28037 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28038 * kern/disk.c (struct grub_disk_cache): Likewise.
28039
e8e8e4fd 28040 * commands/probe.c (options): Typo fix.
28041
fde24e10 28042 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28043 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28044 accordingly.
28045 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28046
379c54c1 28047 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28048 the end of "Error" to make the message more readable.
28049
7bd8f5bf 28050 * boot/i386/pc/boot.S (kernel_segment): Remove.
28051 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28052 for destination.
28053
40b132c5 28054 * boot/i386/pc/boot.S (boot_version): Remove.
28055 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28056 Remove.
28057
20591577 28058 * include/grub/i386/pc/boot.h: Sort all offsets.
28059 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28060 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28061 * boot/i386/pc/boot.S: Assert location of every offset listed in
28062 include/grub/i386/pc/boot.h.
28063
2df32b2c 280642009-07-13 Pavel Roskin <proski@gnu.org>
28065
44b5d879 28066 * include/grub/i386/coreboot/machine.h: Rename
28067 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28068 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28069 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28070
17dc3751 28071 * kern/dl.c: Force native word size to suppress warnings when
28072 compiling grub-emu.
28073
2df32b2c 28074 * kern/device.c (grub_device_iterate): Change struct part_ent to
28075 hold the name, not a pointer to it. Use one grub_malloc() per
28076 partition, not two. Free partition_name if grub_malloc() fails.
28077 Set ents to NULL only before grub_partition_iterate() is called.
28078
75c59f59 280792009-07-11 Bean <bean123ch@gmail.com>
28080
28081 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28082 childname.
28083
0ae1bf88 280842009-07-10 Bean <bean123ch@gmail.com>
280852009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28086
28087 * kern/ieee1275/openfw.c (grub_children_iterate)
28088 (grub_devalias_iterate): Fix size evaluation for property or path
28089 strings, which was broken since r2132.
28090
8279cade 280912009-07-07 Pavel Roskin <proski@gnu.org>
28092
7d8a52d3 28093 * commands/search.c (search_file): Merge into ...
28094 (search_fs): ... this. Accept search type as argument.
28095 (grub_cmd_search): Pass search type to search_fs().
28096
25f9a05a 28097 * include/grub/util/console.h: New file.
28098 * util/console.c: Use it instead of grub/machine/console.h.
28099 * util/grub-emu.c: Likewise.
28100
8279cade 28101 * lib/arg.c (find_long_option): Remove.
28102 (find_long): Add `len' argument, make `s' const char *.
28103 (grub_arg_parse): Parse long options in place, not in a
28104 temporary buffer.
28105
4a11b60f 281062009-07-06 Pavel Roskin <proski@gnu.org>
28107
99f68041 28108 * commands/search.c (search_fs): Fix potential NULL pointer
28109 dereference.
28110
4a11b60f 28111 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28112 function pointer.
28113
e110f4de 281142009-07-06 Daniel Mierswa <impulze@impulze.org>
28115
28116 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28117 comparison.
28118
46eeb6a2 281192009-07-05 Pavel Roskin <proski@gnu.org>
28120
bab74958 28121 * include/grub/i386/linux.h (struct linux_kernel_params):
28122 Restore padding3, it's still needed.
28123
46eeb6a2 28124 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28125 FreeBSD.
28126 * util/osdetect.lua: Likewise.
28127
b4a1dc79 281282009-07-05 Bean <bean123ch@gmail.com>
28129
28130 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28131
28132 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28133 (grub_lua_getenv): Likewise.
28134 (grub_lua_setenv): Likewise.
28135 (save_errno): New function.
28136 (push_result): Likewise.
28137 (grub_lua_enum_device): Likewise.
28138 (grub_lua_enum_file): Likewise.
28139 (grub_lua_file_open): Likewise.
28140 (grub_lua_file_close): Likewise.
28141 (grub_lua_file_seek): Likewise.
28142 (grub_lua_file_read): Likewise.
28143 (grub_lua_file_getline): Likewise.
28144 (grub_lua_file_getsize): Likewise.
28145 (grub_lua_file_getpos): Likewise.
28146 (grub_lua_file_eof): Likewise.
28147 (grub_lua_file_exist): Likewise.
28148 (grub_lua_add_menu): Likewise.
28149
28150 * script/lua/grub_lua.h (isupper): New inline function.
28151 (islower): Likewise.
28152 (ispunct): Likewise.
28153 (isxdigit): Likewise.
28154 (strcspn): Change to normal function.
28155 (strpbkr): New function declaration.
28156 (memchr): Likewise.
28157
28158 * script/lua/grub_main.c (scan_str): New function.
28159 (strcspn): Likewise.
28160 (strpbrk): Likewise.
28161 (memchr): Likewise.
28162
28163 * script/lua/linit.c (lualibs): Enable the string library.
28164
28165 * util/osdetect.lua: New file.
28166
2da92295 281672009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28168
28169 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28170 `capabilities' member.
28171
b2582ec9 281722009-07-02 Pavel Roskin <proski@gnu.org>
28173
28174 * genparttoollist.sh: Add missing newline at the end.
28175
32622956 281762009-07-01 Pavel Roskin <proski@gnu.org>
28177
87a7339e 28178 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28179
d23af54e 28180 * util/hostdisk.c (open_device): Remove `const' from
28181 `sysctl_size', as sysctlbyname() can change it (in this case it
28182 doesn't actually happen).
28183
c94b18a9 28184 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28185 using signed long int constants.
28186
c6cd3ef0 28187 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28188 constant to avoid a warning on FreeBSD.
28189
0df63420 28190 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28191 where it's needed.
28192
999577f1 28193 * Makefile.in: Install include/grub/machine symlink.
28194
6f41557f 28195 * Makefile.in: When installing symlinks, use "cp -fR", which
28196 works on FreeBSD and MacOSX.
28197 From Yves Blusseau <cl7m42e02@sneakemail.com>
28198
c8d22988 28199 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28200 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28201
1b96e952 28202 * util/misc.c: Move grub_reboot() and grub_halt() ...
28203 * util/grub-emu.c: ... here. Make main_env static.
28204 * include/grub/util/misc.h: Remove main_env.
28205
2ef0084d 28206 * kern/mm.c: Use correct format to print size_t.
28207
32622956 28208 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28209 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28210 * kern/powerpc/dl.c: Likewise.
28211 * kern/sparc64/dl.c: Likewise.
28212 * kern/x86_64/dl.c: Likewise.
28213
3f7f0cd0 282142009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28215
28216 Fix grub-emu build on sparc64-ieee1275.
28217
75421ca9 28218 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 28219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28220
211d06b5 282212009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28222
28223 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28224 (grub_reboot, grub_halt): New functions.
28225
28226 * util/i386/pc/misc.c: Delete. Update all users.
28227 * util/sparc64/ieee1275/misc.c: Likewise.
28228 * util/powerpc/ieee1275/misc.c: Likewise.
28229
aaf53e3c 282302009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28231
28232 * conf/i386.rmk (setjmp_mod_SOURCES)
28233 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28234 * conf/common.rmk (setjmp_mod_SOURCES)
28235 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28236 to use $(target_cpu).
28237 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28238 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28239 * conf/powerpc-ieee1275.rmk: Likewise.
28240 * conf/sparc64-ieee1275.rmk: Likewise.
28241
28242 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28243 $(target_cpu) for kern/$(target_cpu)/dl.c.
28244 * conf/i386-efi.rmk: Likewise.
28245 * conf/i386-ieee1275.rmk: Likewise.
28246 * conf/x86_64-efi.rmk: Likewise.
28247 * conf/i386-coreboot.rmk: Likewise.
28248 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28249 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28250 kern/$(target_cpu)/cache.S.
28251 * conf/sparc64-ieee1275.rmk: Likewise.
28252
a337130b 282532009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28254
28255 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28256 type to `grub_uint8_t', and adjust `padding9' accordingly.
28257
c6fe4d53 282582009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28259
b09db61d 28260 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28261
c6fe4d53 28262 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28263 assembly in final jump, using register constraints.
28264
b09db61d 28265 (grub_linux_boot): For text mode, initialize `have_vga' using
28266 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28267
28268 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28269 right before the final jump.
28270
28271 Set `video_mode' to 0x3.
28272
28273 Document initialization of `video_page', `video_mode' and
28274 `video_ega_bx'.
28275
28333ad0 282762009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28277
28278 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28279 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 28280 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 28281
02164e1b 282822009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28283
28284 Fix build on Debian / sparc.
28285
28286 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28287
18b6c557 282882009-06-28 Pavel Roskin <proski@gnu.org>
28289
85f2aab6 28290 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28291 fix a warning.
28292
18b6c557 28293 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28294
ad760f81 282952009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28296
28297 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28298 `err'.
28299
87a4623b 283002009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28301
28302 Revert r2338.
28303
28304 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28305 file can't be opened. grub_file_open() is already supposed to set
75421ca9 28306 grub_errno / grub_errmsg appropriately.
87a4623b 28307 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28308
8231fb77 283092009-06-27 Pavel Roskin <proski@gnu.org>
283102009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28311
28312 * include/grub/dl.h: Include grub/elf.h.
28313 (struct grub_dl): Add symtab field.
28314 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28315 GRUB_MODULES_MACHINE_READONLY.
28316 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28317 of the header for read-only modules.
28318 (grub_dl_unload): Free mod->symtab for read-only modules.
28319 * kern/i386/dl.c: Use mod->symtab.
28320 * kern/powerpc/dl.c: Likewise.
28321 * kern/sparc64/dl.c: Likewise.
28322 * kern/x86_64/dl.c: Likewise.
28323
28324 * conf/i386-qemu.rmk: New file.
28325 * kern/i386/qemu/startup.S: Likewise.
28326 * kern/i386/qemu/mmap.c: Likewise.
28327 * boot/i386/qemu/boot.S: Likewise.
28328 * include/grub/i386/qemu/time.h: Likewise.
28329 * include/grub/i386/qemu/serial.h: Likewise.
28330 * include/grub/i386/qemu/kernel.h: Likewise.
28331 * include/grub/i386/qemu/console.h: Likewise.
28332 * include/grub/i386/qemu/boot.h: Likewise.
28333 * include/grub/i386/qemu/init.h: Likewise.
28334 * include/grub/i386/qemu/machine.h: Likewise.
28335 * include/grub/i386/qemu/loader.h: Likewise.
28336 * include/grub/i386/qemu/memory.h: Likewise.
28337
28338 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28339 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28340 [qemu] (pkglib_IMAGES): Add `boot.img'.
28341 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28342 [qemu] (boot_img_FORMAT): New variables.
28343 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28344 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28345 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28346 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28347 [qemu] (kernel_img_FORMAT): New variables.
28348
28349 * configure.ac: Recognise `i386-qemu'.
28350
28351 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28352 (for no compression).
28353 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28354 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28355 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28356 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28357 ifdefs).
28358
97fe384e 283592009-06-27 Pavel Roskin <proski@gnu.org>
28360
28361 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28362 read.
28363 * efiemu/prepare32.c: Likewise.
28364 * efiemu/prepare64.c: Likewise.
28365
c402ab17 283662009-06-26 Pavel Roskin <proski@gnu.org>
28367
28368 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28369 * include/grub/elf.h: Define symbols without "32" or "64" based
28370 on GRUB_TARGET_WORDSIZE.
28371 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28372 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28373 ELF definitions.
28374 * efiemu/loadcore64.c: Likewise.
28375 * loader/i386/bsd32.c: Likewise.
28376 * loader/i386/bsd64.c: Likewise.
28377 * kern/dl.c: Remove own ELF definitions.
28378 * util/i386/efi/grub-mkimage.c: Likewise.
28379
9bbdfd4d 283802009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28381
28382 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28383 segment 0x0 unconditionally, because the reference generated by
28384 GAS is an absolute address.
28385
a42ce6e9 283862009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28387
28388 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28389 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28390
c952cf92 283912009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28392
28393 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28394 indexes. Check for -f explicitly.
cc3752ad 28395 (search_file): Improve error message.
28396 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 28397
132a0a59 283982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28399
28400 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28401 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28402
387a140c 284032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28404
28405 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28406 * conf/i386-ieee1275.rmk: Likewise.
28407 * conf/i386-coreboot.rmk: Likewise.
28408
28409 * kern/i386/pc/startup.S (grub_stop): Remove function.
28410 * kern/i386/ieee1275/startup.S: Likewise.
28411 * kern/i386/coreboot/startup.S: Likewise.
28412 * kern/i386/misc.S (grub_stop): New function.
28413
41da9665 284142009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28415
28416 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28417 * kern/i386/realmode.S (real_to_prot): ... to here.
28418
bf337234 284192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28420
28421 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28422 with `kernel.img'.
28423 (kernel_elf_SOURCES): Rename to ...
28424 (kernel_img_SOURCES): ... this.
28425 (kernel_elf_HEADERS): Rename to ...
28426 (kernel_img_HEADERS): ... this. Update all users.
28427 (kernel_elf_ASFLAGS): Rename to ...
28428 (kernel_img_ASFLAGS): ... this.
28429 (kernel_elf_CFLAGS): Rename to ...
28430 (kernel_img_CFLAGS): ... this.
28431 (kernel_elf_LDFLAGS): Rename to ...
28432 (kernel_img_LDFLAGS): ... this.
28433 * conf/i386-coreboot.rmk: Likewise.
28434 * conf/powerpc-ieee1275.rmk: Likewise.
28435
28436 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28437 with "kernel.img".
28438
f52196ff 284392009-06-21 Pavel Roskin <proski@gnu.org>
28440
c3cee413 28441 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28442 to match nested functions.
28443 * loader/sparc64/ieee1275/linux.c: Likewise.
28444
f52196ff 28445 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28446
58750afc 284472009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28448
28449 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28450 all i386 platforms.
28451
15355c7d 284522009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28453
28454 Fix asm file handling on ELF, and remove workarounds.
28455
28456 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 28457 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 28458 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28459 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28460
3f3ec72b 284612009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28462
28463 Load BSD ELF modules
28464
28465 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28466 and loader/i386/bsd64.c
28467 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28468 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28469 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28470 (grub_freebsd_load_elfmodule32): New declaration
28471 (grub_freebsd_load_elfmoduleobj64): Likewise
28472 (grub_freebsd_load_elf_meta32): Likewise
28473 (grub_freebsd_load_elf_meta64): Likewise
28474 (grub_freebsd_add_meta): Likewise
28475 (grub_freebsd_add_meta_module): Likewise
28476 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28477 (grub_freebsd_add_meta_module): Likewise and move module-specific
28478 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28479 (grub_cmd_freebsd): Add elf-kernel specific parts
28480 based on grub_freebsd_add_meta_module
28481 (grub_cmd_freebsd_module): Add type parsing moved from
28482 grub_freebsd_add_meta_module
28483 (grub_cmd_freebsd_module_elf): New function
28484 (cmd_freebsd_module_elf): New variable
28485 (GRUB_MOD_INIT): Register freebsd_module_elf
28486 * loader/i386/bsd32.c: New file
28487 * loader/i386/bsd64.c: Likewise
28488 * loader/i386/bsdXX.c: Likewise
28489 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28490 (grub_elf64_load): Likewise
28491 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28492 All users updated
28493 (grub_elf64_load_hook_t): Likewise
28494
0db15301 284952009-06-21 Colin Watson <cjwatson@ubuntu.com>
28496
28497 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28498 variable.
28499 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28500 don't write a menu entry for recovery mode.
28501
546796c1 285022009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28503
28504 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28505 after it's no longer needed.
28506
cd7310d5 285072009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28508
28509 * include/grub/i386/loader.h (grub_linux_prot_size)
28510 (grub_linux_tmp_addr, grub_linux_real_addr)
28511 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28512 GRUB_MACHINE_PCBIOS.
28513 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28514 common grub_util_info() call to ...
28515 (generate_image): ... here.
28516 Fix use of uninitialized memory, comparison of signed with
28517 unsigned integers and memory leak.
28518 Remove bogus module address message.
28519
ab32d3b5 285202009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28521
28522 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28523 grub_raid_register
28524 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28525
024ef597 285262009-06-19 Pavel Roskin <proski@gnu.org>
28527
28528 * configure.ac: Remove stray AC_MSG_CHECKING.
28529
3ac72b51 285302009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28531
28532 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 28533
e14cd814 285342009-06-18 Pavel Roskin <proski@gnu.org>
28535
28536 * conf/common.rmk: Add fs_file.mod.
28537 * disk/fs_file.c: New file.
28538 * include/grub/disk.h (enum grub_disk_dev_id): Add
28539 GRUB_DISK_DEVICE_FILE_ID.
28540
26586d98 285412009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28542
28543 Fix build with Apple's toolchain. Part 2
28544
28545 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28546 a fake start
28547
26de2bcd 285482009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28549
28550 Fix build with Apple's toolchain. Part 1
28551
28552 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
28553 for long calls
28554 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 28555 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 28556 Apple's toolchain
28557
09b3490b 285582009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28559
28560 Fix warnings
28561
28562 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
28563 (decomp_block): initialize ch
28564 use grub_memcpy instead of memcpy
28565
c22a006a 285662009-06-17 Pavel Roskin <proski@gnu.org>
28567
d3638678 28568 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
28569 version, use declarations needed to use vga_text as the startup
28570 console.
28571
c22a006a 28572 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
28573 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
28574 the kernel.
28575 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
28576 and grub_at_keyboard_fini(), it's done on module load and
28577 unload.
28578
05b129e0 285792009-06-17 Felix Zielcke <fzielcke@z-51.de>
28580
28581 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
28582 file can't be found.
28583 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28584
cf24ed9e 285852009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28586
28587 Fix newline handling
28588
28589 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 28590 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 28591 (grub_script_yylex): don't segfault on unterminated script
28592 newline terminates command and variable
28593
74aa8e4b 285942009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28595
28596 avoid double grub_adjust_range call. Bug reported by David Simner
28597
28598 * kern/disk.c (grub_disk_write): change to raw disk access before
28599 calling disk_read
28600
1bd265f3 286012009-06-17 Colin Watson <cjwatson@ubuntu.com>
28602
28603 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
28604 spaces, for the benefit of help2man.
28605 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28606
a2d08c06 286072009-06-16 Pavel Roskin <proski@gnu.org>
28608
28609 * kern/i386/halt.c: Include grub/machine/init.h.
28610 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
28611
b97bcb19 286122009-06-16 Felix Zielcke <fzielcke@z-51.de>
28613
28614 * util/grub.d/30_os-prober.in: Use ${root} in the generated
28615 drivemap menuentry.
28616
0644f96c 286172009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
28618
28619 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
28620 `echo' command.
28621
3ef17a2e 286222009-06-16 Pavel Roskin <proski@gnu.org>
28623
28624 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
28625 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
28626 save %dx, we only need %dl and we never change it.
28627 * boot/i386/pc/cdboot.S: Don't set the root drive.
28628 * boot/i386/pc/pxeboot.S: Likewise.
28629 * include/grub/i386/pc/boot.h: Remove
28630 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
28631 GRUB_BOOT_MACHINE_DRIVE_CHECK.
28632 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
28633 * kern/i386/pc/init.c (make_install_device): Remove references
28634 to grub_root_drive.
28635 * kern/i386/pc/startup.S: Likewise.
28636 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
28637
693fe637 286382009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28639
28640 xnu_uuid command
28641
28642 * commands/xnu_uuid.c: new file
28643 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
28644 (xnu_uuid_mod_SOURCES): new variable
28645 (xnu_uuid_mod_CFLAGS): likewise
28646 (xnu_uuid_mod_LDFLAGS): likewise
28647 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28648 * conf/i386-ieee1275.rmk: likewise
28649 * conf/i386-pc.rmk: likewise
28650 * conf/powerpc-ieee1275.rmk: likewise
28651 * conf/sparc64-ieee1275.rmk: likewise
28652 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
28653
c9da87d0 286542009-06-16 Pavel Roskin <proski@gnu.org>
28655
28656 * configure.ac: Avoid '==' in test command, it's not portable.
28657
9c6f4596 286582009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28659
28660 Probe command
28661
28662 * commands/probe.c: new file
28663 * conf/common.rmk (pkglib_MODULES): add probe.mod
28664 (probe_mod_SOURCES): new variable
28665 (probe_mod_CFLAGS): likewise
28666 (probe_mod_LDFLAGS): likewise
28667 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28668 * conf/i386-ieee1275.rmk: likewise
28669 * conf/i386-pc.rmk: likewise
28670 * conf/powerpc-ieee1275.rmk: likewise
28671 * conf/sparc64-ieee1275.rmk: likewise
28672
70b7f9fd 286732009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
28674
28675 Fix handling of string like \"hello\" and "a
28676 b"
28677
28678 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
28679 (grub_script_yylex): fix parsing of quoting, escaping and newline
28680
71c79a6b 286812009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
28682
dd74360c 28683 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 28684 handling
dd74360c 28685
0644f96c 286862009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 28687
28688 * util/grub-mkconfig.in: Fix parsing of --output option.
28689
e40893c3 286902009-06-12 Pavel Roskin <proski@gnu.org>
28691
28692 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
28693 genmk.rb don't need to be generated or installed.
28694
3a1acfe2 286952009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
28696
28697 * commands/i386/pc/drivemap_int13h.S: add more comments
28698
3a4575d4 286992009-06-11 Pavel Roskin <proski@gnu.org>
28700
0658e928 28701 * Makefile.in (uninstall): Uninstall manuals.
28702
ca0388f0 28703 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
28704 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
28705 and update-grub_lib in two places.
28706 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
28707
e3b27c39 28708 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
28709 a compiler warning.
28710
3a4575d4 28711 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
28712 `entry_lo' to fix variable shadowing.
28713
af1f4f55 287142009-06-11 Christian Franke <franke@computer.org>
28715
28716 * kern/misc.c (__enable_execute_stack): Add missing return type
28717 to prevent gcc warning.
28718
5225e649 287192009-06-11 Felix Zielcke <fzielcke@z-51.de>
28720
28721 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
28722
7d83bd47 287232009-06-11 Pavel Roskin <proski@gnu.org>
28724
c1cb63ba 28725 * Makefile.in: Don't rely on any scripts being executable.
28726 Always use $(SHELL) to run shell scripts.
28727
7d83bd47 28728 * configure.ac: Always define ___main if using -nostdlib. This
28729 fixes tests on Cygwin.
28730
948f48e7 287312009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
28732
28733 UDF fix
28734
7d83bd47 28735 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 28736 is in bytes and not in blocks
7d83bd47 28737
8ada9bc1 287382009-06-11 Pavel Roskin <proski@gnu.org>
28739
28740 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
28741 warning.
28742
25ad2323 287432009-06-11 Felix Zielcke <fzielcke@z-51.de>
28744
28745 * util/grub.d/30_os-prober.in: Fix a comment. Source
28746 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
28747 to set the root device. Place drivemap command in the generated
28748 chain entry.
28749
e65acb0c 287502009-06-11 Pavel Roskin <proski@gnu.org>
28751
28752 * configure.ac: Remove host_m32. Issues with 64-bit utilities
28753 have long been resolved.
28754
f285fe2d 287552009-06-11 Colin Watson <cjwatson@ubuntu.com>
28756
bd47b0b5 28757 * util/grub.d/10_linux.in: Capitalise "Linux".
28758
f285fe2d 28759 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
28760
a0c62e4e 287612009-06-11 Pavel Roskin <proski@gnu.org>
28762
b6783cb2 28763 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
28764 fix a gcc warning and ensure that the function won't ever exit.
28765
dde032e8 28766 * kern/i386/ieee1275/init.c: Add missing prototype for
28767 grub_stop_floppy().
28768
22cd079d 28769 * loader/ieee1275/multiboot2.c [__i386__]: Include
28770 grub/cpu/multiboot.h.
28771
a0c62e4e 28772 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
28773 casts to short - they are not portable and cause warnings. Fix
28774 use of uninitialized values in input_buf. Use ARRAY_SIZE.
28775
63963d17 287762009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
28777
28778 Drivemap fixes
28779
28780 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
28781 new function
28782 (grub_get_root_biosnumber_saved): new variable
28783 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
28784 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 28785 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 28786 %dx after the call if necessary
28787 * conf/common.rmk (pkglib_MODULES): remove boot.mod
28788 (boot_mod_SOURCES): remove
28789 (boot_mod_CFLAGS): remove
28790 (boot_mod_LDFLAGS): remove
28791 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
28792 (boot_mod_SOURCES): new variable
28793 (boot_mod_CFLAGS): likewise
28794 (boot_mod_LDFLAGS): likewise
28795 * conf/i386-efi.rmk: likewise
28796 * conf/i386-ieee1275.rmk: likewise
28797 * conf/i386-pc.rmk: likewise
28798 * conf/powerpc-ieee1275.rmk: likewise
28799 * conf/sparc64-ieee1275.rmk: likewise
28800 * conf/x86_64-efi.rmk: likewise
28801 * include/grub/i386/pc/biosnum.h: new file
28802 * lib/i386/pc/biosnum.c: likewise
28803 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
28804 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
28805 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 28806
33abf7ae 288072009-06-10 Pavel Roskin <proski@gnu.org>
28808
5ac35b35 28809 * io/gzio.c (test_header): Don't reuse one buffer for all data.
28810 Use separate variables. Read only the file size at the end, but
28811 not the checksum that we don't use.
28812
5c5215d5 28813 * kern/file.c (grub_file_read): Use void pointer for the buffer.
28814 Adjust all callers.
28815
27d5fef7 28816 * kern/ieee1275/openfw.c: Remove libc includes.
28817 * kern/ieee1275/cmain.c: Likewise.
28818 * include/grub/ieee1275/ieee1275.h: Likewise.
28819
33abf7ae 28820 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
28821 compiler warnings.
28822
19d50c2b 288232009-06-10 Felix Zielcke <fzielcke@z-51.de>
28824
28825 * Makefile.in: Remove all trailing whitespace.
28826 * conf/i386-pc.rmk: Likewise.
28827 * conf/powerpc-ieee1275.rmk: Likewise.
28828 * conf/sparc64-ieee1275.rmk: Likewise.
28829 * docs/grub.texi: Likewise.
28830 * docs/texinfo.tex: Likewise.
28831 * disk/fs_uuid.c: Likewise.
28832 * disk/lvm.c: Likewise.
28833 * disk/scsi.c: Likewise.
28834 * disk/ata.c: Likewise.
28835 * disk/ieee1275/ofdisk.c: Likewise.
28836 * disk/i386/pc/biosdisk.c: Likewise.
28837 * disk/host.c: Likewise.
28838 * disk/raid.c: Likewise.
28839 * disk/efi/efidisk.c: Likewise.
28840 * disk/usbms.c: Likewise.
28841 * disk/memdisk.c: Likewise.
28842 * disk/loopback.c: Likewise.
28843 * kern/powerpc/dl.c: Likewise.
28844 * kern/device.c: Likewise.
28845 * kern/dl.c: Likewise.
28846 * kern/sparc64/dl.c: Likewise.
28847 * kern/ieee1275/ieee1275.c: Likewise.
28848 * kern/term.c: Likewise.
28849 * kern/fs.c: Likewise.
28850 * kern/i386/dl.c: Likewise.
28851 * kern/i386/pc/startup.S: Likewise.
28852 * kern/i386/pc/init.c: Likewise.
28853 * kern/i386/pc/mmap.c: Likewise.
28854 * kern/i386/pc/lzo1x.S: Likewise.
28855 * kern/i386/ieee1275/init.c: Likewise.
28856 * kern/i386/realmode.S: Likewise.
28857 * kern/i386/tsc.c: Likewise.
28858 * kern/partition.c: Likewise.
28859 * kern/corecmd.c: Likewise.
28860 * kern/file.c: Likewise.
28861 * kern/efi/efi.c: Likewise.
28862 * kern/efi/init.c: Likewise.
28863 * kern/efi/mm.c: Likewise.
28864 * kern/main.c: Likewise.
28865 * kern/err.c: Likewise.
28866 * kern/env.c: Likewise.
28867 * kern/disk.c: Likewise.
28868 * kern/generic/millisleep.c: Likewise.
28869 * kern/generic/rtc_get_time_ms.c: Likewise.
28870 * kern/misc.c: Likewise.
28871 * kern/parser.c: Likewise.
28872 * genmk.rb: Likewise.
28873 * configure.ac: Likewise.
28874 * boot/i386/pc/diskboot.S: Likewise.
28875 * boot/i386/pc/pxeboot.S: Likewise.
28876 * boot/i386/pc/boot.S: Likewise.
28877 * boot/i386/pc/lnxboot.S: Likewise.
28878 * boot/i386/pc/cdboot.S: Likewise.
28879 * parttool/pcpart.c: Likewise.
28880 * video/readers/tga.c: Likewise.
28881 * video/video.c: Likewise.
28882 * video/bitmap.c: Likewise.
28883 * lib/envblk.c: Likewise.
28884 * lib/i386/setjmp.S: Likewise.
28885 * fs/xfs.c: Likewise.
28886 * fs/afs.c: Likewise.
28887 * fs/fat.c: Likewise.
28888 * fs/ntfs.c: Likewise.
28889 * fs/udf.c: Likewise.
28890 * fs/affs.c: Likewise.
28891 * fs/iso9660.c: Likewise.
28892 * fs/hfs.c: Likewise.
28893 * fs/fshelp.c: Likewise.
28894 * fs/ext2.c: Likewise.
28895 * fs/jfs.c: Likewise.
28896 * fs/reiserfs.c: Likewise.
28897 * fs/hfsplus.c: Likewise.
28898 * fs/minix.c: Likewise.
28899 * fs/cpio.c: Likewise.
28900 * fs/sfs.c: Likewise.
28901 * fs/ufs.c: Likewise.
28902 * efiemu/prepare.c: Likewise.
28903 * efiemu/loadcore_common.c: Likewise.
28904 * efiemu/runtime/efiemu.sh: Likewise.
28905 * efiemu/runtime/efiemu.S: Likewise.
28906 * efiemu/runtime/efiemu.c: Likewise.
28907 * efiemu/pnvram.c: Likewise.
28908 * efiemu/main.c: Likewise.
28909 * efiemu/i386/pc/cfgtables.c: Likewise.
28910 * efiemu/i386/loadcore64.c: Likewise.
28911 * efiemu/i386/loadcore32.c: Likewise.
28912 * efiemu/loadcore.c: Likewise.
28913 * efiemu/symbols.c: Likewise.
28914 * efiemu/mm.c: Likewise.
28915 * include/grub/autoefi.h: Likewise.
28916 * include/grub/datetime.h: Likewise.
28917 * include/grub/term.h: Likewise.
28918 * include/grub/hfs.h: Likewise.
28919 * include/grub/lvm.h: Likewise.
28920 * include/grub/i386/tsc.h: Likewise.
28921 * include/grub/i386/linux.h: Likewise.
28922 * include/grub/i386/xnu.h: Likewise.
28923 * include/grub/i386/efiemu.h: Likewise.
28924 * include/grub/i386/pc/biosdisk.h: Likewise.
28925 * include/grub/i386/pc/memory.h: Likewise.
28926 * include/grub/i386/pc/vbe.h: Likewise.
28927 * include/grub/parttool.h: Likewise.
28928 * include/grub/video.h: Likewise.
28929 * include/grub/memory.h: Likewise.
28930 * include/grub/fs.h: Likewise.
28931 * include/grub/partition.h: Likewise.
28932 * include/grub/xnu.h: Likewise.
28933 * include/grub/efi/api.h: Likewise.
28934 * include/grub/efi/pe32.h: Likewise.
28935 * include/grub/efi/memory.h: Likewise.
28936 * include/grub/multiboot.h: Likewise.
28937 * include/grub/usbdesc.h: Likewise.
28938 * include/grub/multiboot2.h: Likewise.
28939 * include/grub/acpi.h: Likewise.
28940 * include/grub/efiemu/efiemu.h: Likewise.
28941 * include/grub/disk.h: Likewise.
28942 * include/grub/ieee1275/ieee1275.h: Likewise.
28943 * include/grub/net.h: Likewise.
28944 * include/grub/machoload.h: Likewise.
28945 * include/grub/macho.h: Likewise.
28946 * include/multiboot.h: Likewise.
28947 * genmoddep.awk: Likewise.
28948 * normal/main.c: Likewise.
28949 * normal/menu_entry.c: Likewise.
28950 * normal/menu_viewer.c: Likewise.
28951 * normal/completion.c: Likewise.
28952 * normal/cmdline.c: Likewise.
28953 * normal/misc.c: Likewise.
28954 * normal/datetime.c: Likewise.
28955 * bus/usb/usbtrans.c: Likewise.
28956 * bus/usb/ohci.c: Likewise.
28957 * bus/usb/uhci.c: Likewise.
28958 * bus/usb/usb.c: Likewise.
28959 * mmap/efi/mmap.c: Likewise.
28960 * mmap/i386/pc/mmap_helper.S: Likewise.
28961 * mmap/i386/pc/mmap.c: Likewise.
28962 * mmap/i386/mmap.c: Likewise.
28963 * mmap/i386/uppermem.c: Likewise.
28964 * mmap/mmap.c: Likewise.
28965 * commands/acpi.c: Likewise.
28966 * commands/echo.c: Likewise.
28967 * commands/blocklist.c: Likewise.
28968 * commands/loadenv.c: Likewise.
28969 * commands/usbtest.c: Likewise.
28970 * commands/boot.c: Likewise.
28971 * commands/parttool.c: Likewise.
28972 * commands/search.c: Likewise.
28973 * commands/cat.c: Likewise.
28974 * commands/i386/pc/play.c: Likewise.
28975 * commands/i386/pc/drivemap.c: Likewise.
28976 * commands/i386/pc/vbeinfo.c: Likewise.
28977 * commands/i386/pc/acpi.c: Likewise.
28978 * commands/i386/pc/vbetest.c: Likewise.
28979 * commands/ls.c: Likewise.
28980 * commands/cmp.c: Likewise.
28981 * commands/test.c: Likewise.
28982 * commands/efi/acpi.c: Likewise.
28983 * commands/gptsync.c: Likewise.
28984 * commands/help.c: Likewise.
28985 * partmap/amiga.c: Likewise.
28986 * partmap/apple.c: Likewise.
28987 * partmap/acorn.c: Likewise.
28988 * partmap/pc.c: Likewise.
28989 * partmap/sun.c: Likewise.
28990 * partmap/gpt.c: Likewise.
28991 * script/sh/lexer.c: Likewise.
28992 * script/sh/function.c: Likewise.
28993 * font/font.c: Likewise.
28994 * font/font_cmd.c: Likewise.
28995 * loader/powerpc/ieee1275/linux.c: Likewise.
28996 * loader/efi/chainloader.c: Likewise.
28997 * loader/multiboot_loader.c: Likewise.
28998 * loader/macho.c: Likewise.
28999 * loader/i386/multiboot.c: Likewise.
29000 * loader/i386/linux.c: Likewise.
29001 * loader/i386/pc/linux.c: Likewise.
29002 * loader/i386/pc/multiboot2.c: Likewise.
29003 * loader/i386/pc/chainloader.c: Likewise.
29004 * loader/i386/pc/xnu.c: Likewise.
29005 * loader/i386/bsd_trampoline.S: Likewise.
29006 * loader/i386/efi/linux.c: Likewise.
29007 * loader/i386/multiboot_elfxx.c: Likewise.
29008 * loader/i386/bsd_helper.S: Likewise.
29009 * loader/i386/bsd.c: Likewise.
29010 * loader/i386/linux_trampoline.S: Likewise.
29011 * loader/i386/xnu_helper.S: Likewise.
29012 * loader/i386/xnu.c: Likewise.
29013 * loader/i386/bsd_pagetable.c: Likewise.
29014 * loader/i386/multiboot_helper.S: Likewise.
29015 * loader/xnu.c: Likewise.
29016 * loader/xnu_resume.c: Likewise.
29017 * io/gzio.c: Likewise.
29018 * term/efi/console.c: Likewise.
29019 * term/terminfo.c: Likewise.
29020 * term/ieee1275/ofconsole.c: Likewise.
29021 * term/i386/pc/serial.c: Likewise.
29022 * term/i386/pc/vesafb.c: Likewise.
29023 * term/i386/pc/vga.c: Likewise.
29024 * term/usb_keyboard.c: Likewise.
29025 * term/gfxterm.c: Likewise.
29026 * aclocal.m4: Likewise.
29027 * util/lvm.c: Likewise.
29028 * util/grub.d/30_os-prober.in: Likewise.
29029 * util/grub.d/10_hurd.in: Likewise.
29030 * util/console.c: Likewise.
29031 * util/grub-macho2img.c: Likewise.
29032 * util/grub-probe.c: Likewise.
29033 * util/hostfs.c: Likewise.
29034 * util/i386/pc/grub-mkimage.c: Likewise.
29035 * util/i386/pc/grub-setup.c: Likewise.
29036 * util/i386/efi/grub-mkimage.c: Likewise.
29037 * util/grub-mkconfig.in: Likewise.
29038 * util/raid.c: Likewise.
29039 * util/resolve.c: Likewise.
29040 * util/grub-mkdevicemap.c: Likewise.
29041 * util/grub-emu.c: Likewise.
29042 * util/getroot.c: Likewise.
29043 * util/hostdisk.c: Likewise.
29044 * util/usb.c: Likewise.
29045 * util/grub-editenv.c: Likewise.
29046 * util/misc.c: Likewise.
29047
d2d49665 290482009-06-10 Felix Zielcke <fzielcke@z-51.de>
29049
29050 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29051 `genparttoollist.sh'.
29052 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29053 Add `*.sh' to the list find searches for and change `mdate.sh'
29054 to `mdate-sh'.
29055
fe052e37 290562009-06-10 Pavel Roskin <proski@gnu.org>
29057
2763ac18 29058 * include/grub/multiboot2.h: Provide compatibility defines for
29059 multiboot2.h.
29060 * include/multiboot2.h: Include stdint.h only if needed, using
29061 angle brackets.
29062 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29063 grub/multiboot2.h.
29064 * loader/ieee1275/multiboot2.c: Likewise.
29065 * loader/multiboot2.c: Likewise.
29066 * loader/multiboot_loader.c: Likewise.
29067
437e6adc 29068 * configure.ac: Use -nostdlib when probing for the target. It
29069 should not be required to have libc for the target.
29070
06a6836c 29071 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29072 they fail without libc headers for the target.
29073 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29074 exports.
29075 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29076 preprocessor conditionals.
29077
fe052e37 29078 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29079 build system doesn't need to be aware of the tar.c internals.
29080
afd22553 290812009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 29082
afd22553 29083 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 29084
6b787c4f 290852009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29086
29087 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29088 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29089
290902009-06-09 Felix Zielcke <fzielcke@z-51.de>
29091
29092 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 29093 aren't available if ata.mod gets used.
6b787c4f 29094
473d1e45 290952009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 29096
473d1e45 29097 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 29098 initialising controller.
473d1e45 29099 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 29100
255a27d4 291012009-06-08 Felix Zielcke <fzielcke@z-51.de>
29102
29103 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29104 to choose between ata and biosdisk module on i386-pc.
29105
473d1e45 291062009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 29107
d55842d8 29108 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29109 Subclass and Programming Interface fields in terms of the 3 byte
29110 Class Code register.
29111 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29112
fa5db0b1 29113 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29114 interface is OHCI. Add grub_dprintf for symmetry with
29115 bus/usb/uhci.c.
29116 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29117 interface is UHCI. Add interf variable for programming
29118 interface. Print interface with class/subclass.
29119
c0947beb 29120 * bus/usb/ohci.c: Set interf with correct field.
29121
69da8877 29122 * bus/usb/uhci.c: Remove unneeded doubled lines.
29123 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29124 Remove whitespace inside comment.
29125
9e172e30 291262009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29127
29128 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29129 as fallback an equivalent option without depth.
29130
de65ee2b 291312009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29132
29133 Not fail if unable to retrieve C/H/S on LBA disks
29134
473d1e45 29135 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 29136 if unable to retrieve C/H/S on LBA disks
29137
b57ea2c9 291382009-06-08 Pavel Roskin <proski@gnu.org>
29139
29140 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29141 about aliasing.
29142
af361263 291432009-06-08 Felix Zielcke <fzielcke@z-51.de>
29144
29145 * Makefile.in (uninstall): Remove all $lib_DATA files.
29146
4c9ec6b3 291472009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29148
29149 Bugfix: install on partitionless device
29150
29151 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29152 is a whole disk
29153
e76fc924 291542009-06-08 Felix Zielcke <fzielcke@z-51.de>
29155
29156 * Makefile.in (uninstall): Remove all $include_DATA files.
29157
ba5a0d05 291582009-06-08 Felix Zielcke <fzielcke@z-51.de>
29159
29160 * commands/true.c: New file. Implement the true and false commands.
29161 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29162 (true_mod_SOURCES): New variable.
29163 (true_mod_CFLAGS): Likewise.
29164 (true_mod_LDFLAGS): Likewise.
29165
c8048e32 291662009-06-05 Colin D Bennett <colin@gibibit.com>
29167
29168 Optimized font character lookup using binary search instead of linear
29169 search. Fonts now are required to have the character index ordered by
29170 code point.
29171
29172 * font/font.c (load_font_index): Verify that fonts have ordered
29173 character indices.
29174 (find_glyph): Use binary search instead of linear search to find a
29175 character in a font.
29176
408305be 291772009-06-05 Michael Scherer <misc@mandriva.org>
29178
29179 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29180 uses case sensitive btree.
29181 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29182 only for case insensitive filesystems.
29183
8ee1e0d9 291842009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29185
29186 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29187 * conf/common.rmk (search_mod_CFLAGS): likewise
29188
a9966eb1 291892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29190
473d1e45 29191 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 29192 compensate a compiler bug
29193
9e7100fb 291942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29195
473d1e45 29196 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 29197 instead of '\b'
473d1e45 29198
ede21d71 291992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29200
29201 Definitions for creating asm symbols with Apple's CC
29202
29203 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29204 [APPLE_CC] (VARIABLE): likewise
29205
9dbf7653 292062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29207
29208 Disable lnxboot.img when compiled
29209 with Apple's CC
29210
29211 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29212 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29213 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29214 [! APPLE_CC] (CODE_LENG): skip
29215 [! APPLE_CC] (setup_sects): likewise
29216 [! APPLE_CC]: skip filling
473d1e45 29217
e93cdc3d 292182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29219
29220 Address in trampolines based on 32-bit registers when compiled
29221 with Apple's CC
29222
473d1e45 29223 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 29224 for addresses
29225 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29226
6c688477 292272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29228
29229 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29230
29231 * kern/misc.c [APPLE_CC] (memcpy): new function
29232 [APPLE_CC] (memmove): likewise
29233 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 29234 (memcpy): define alias conditionally on !APPLE_CC
6c688477 29235 (memset): likewise
29236 (abort): likewise
29237 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29238 APPLE_CC are defined
29239 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29240 (grub_assert_fail): make prototype conditional
29241
e37ffc5c 292422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29243
29244 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29245
473d1e45 29246 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29247 grub-macho2img
e37ffc5c 29248 (CLEANFILES): add grub-macho2img
29249 (grub_macho2img_SOURCES): new variable
29250 * kern/i386/pc/startup.S (bss_start): new variable
29251 (bss_end): likewise
29252 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29253 * util/grub-macho2img.c: new file
29254
cf00df31 292552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29256
29257 Use objconv when compiling with Apple's CC
29258
29259 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29260 (efiemu64.o): likewise
29261 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29262 when compiling with Apple's CC
29263 (efiemu64_s.o): likewise
29264 * configure.ac: check for objconv when compiling with Apple's CC
29265 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 29266
d119a20c 292672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29268
29269 Define segment as well as section when compiling with
29270 Apple's CC
29271
29272 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29273 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29274 (efiemu_convert_pointer): likewise
29275 (efiemu_set_virtual_address_map): likewise
29276 (efiemu_convert_pointer): likewise
29277 (efiemu_getcrc32): likewise
29278 (init_crc32_table): likewise
29279 (reflect): likewise
29280 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29281 (GRUB_MOD_DEP): likewise
473d1e45 29282
c8600122 292832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29284
29285 Allow a compilation without -mcmodel=large
29286
29287 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29288 when compiled without -mcmodel=large
473d1e45 29289 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 29290 without -mcmodel=large
473d1e45 29291 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 29292 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 29293
e8df1d4e 292942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29295
29296 Remove nested functions in efiemu core
29297
29298 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 29299
cc6c3ac1 293002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29301
29302 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29303
29304 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29305 temporary storage
473d1e45 29306 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29307 using Apple's CC
cc6c3ac1 29308 (grub_cpu_is_tsc_supported): likewise
29309 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 29310
3e325901 293112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29312
29313 Absolute addressing through constant with Apple's cc
29314
29315 * kern/i386/pc/startup.S: Define necessary constants
29316 and address through it when using ABS with Apple's CC
29317 * boot/i386/pc/diskboot.S: likewise
29318 * boot/i386/pc/boot.S: likewise
29319 * boot/i386/pc/lnxboot.S: likewise
29320 * boot/i386/pc/cdboot.S: likewise
29321 * mmap/i386/pc/mmap_helper.S: likewise
29322 * commands/i386/pc/drivemap_int13h.S: likewise
29323
2b167a72 293242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29325
29326 Check if compiler is apple cc
29327
29328 * Makefile.in (ASFLAGS): new variable
29329 (TARGET_ASFLAGS): likewise
29330 (TARGET_MODULE_FORMAT): likewise
29331 (TARGET_APPLE_CC): likewise
29332 (OBJCONV): likewise
29333 (TARGET_IMG_CFLAGS): likewise
29334 (TARGET_CPPFLAGS): add includedir
29335 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29336 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29337 Check for linker script only if compiler isn't Apple's CC
29338 (TARGET_MODULE_FORMAT): set
29339 (TARGET_APPLE_CC): likewise
29340 (TARGET_ASFLAGS): likewise
29341 (ASFLAGS): likewise
29342 Check for objcopy only if compiler isn't Apple's CC
29343 Check for BSS symbol only if compiler isn't Apple's CC
29344 * genmk.rb: adapt nm options if we use Apple's utils
29345 * aclocal.m4 (grub_apple_cc): new test
29346 (grub_apple_target_cc): likewise
473d1e45 29347
fb14123e 293482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29349
29350 Simplify sed expressions and improve awk
29351
29352 * Makefile.in (install-local): simplify sed expression
29353 * gencmdlist.sh: likewise
29354 * genmoddep.awk: avoid adding module as a dependency of itself
29355
5b889789 293562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29357
29358 Add missing start symbols
29359
29360 * boot/i386/pc/boot.S: add start
fb14123e 29361 * boot/i386/pc/pxeboot.S: likewise
473d1e45 29362
fd2bf2e3 293632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29364
29365 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 29366
29367 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 29368 (relocate_addresses): consider both r_addend and value at offset
29369 (make_mods_section): zerofill modinfo and header
29370 (convert_elf): write prefix here
473d1e45 29371
5389763d 293722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29373
29374 Use .asciz instead of .string
29375
29376 * i386/pc/diskboot.S: use .asciz instead of .string
29377 * i386/pc/boot.S: likewise
29378 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29379 (GRUB_MOD_NAME): likewise
473d1e45 29380
3eb5ed4e 293812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29382
29383 gfxpayload support
29384
29385 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29386 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29387 (grub_video_setup): remove
29388 (grub_video_set_mode): new prototype
29389 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29390 (vid_mode): remove
29391 (linux_vesafb_res): compile only on PCBIOS
29392 (grub_linux_boot): support gfxpayload
29393 * loader/i386/pc/xnu.c (video_hook): new function
29394 (grub_xnu_set_video): support gfxpayload
29395 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29396 (DEFAULT_VIDEO_HEIGHT): likewise
29397 (DEFAULT_VIDEO_FLAGS): likewise
29398 (DEFAULT_VIDEO_MODE): new definition
29399 (video_hook): new function
29400 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 29401 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 29402 loading xnu
29403 * video/video.c (grub_video_setup): removed
473d1e45 29404 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 29405 grub_video_setup
29406
4b0e1143 294072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29408
29409 Avoid calling biosdisk in drivemap
29410
29411 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29412 (revparse_biosdisk): likewise
29413 (list_mappings): derive name from id directly
29414 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 29415
fda6cb98 294162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29417
29418 Script fixes
29419
29420 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29421 (grub_lexer_param): add tokenonhold
29422 (grub_script_create_cmdline): remove cmdline. All callers updated
29423 (grub_script_function_create): make functionname
29424 grub_script_arg. All callers updated
29425 (grub_script_execute_argument_to_string): new prototype
29426 * kern/parser.c (state_transitions): reorder
29427 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 29428 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 29429 make global
29430 (grub_script_execute_cmdline): use new format
29431 * script/sh/function.c (grub_script_function_create): make functionname
29432 grub_script_arg. All callers updated
473d1e45 29433 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 29434 (grub_script_yylex): remove
29435 (grub_script_yylex2): renamed to ...
29436 (grub_script_yylex): ...renamed
29437 parse the expressions like a${b}c
29438 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29439 (GRUB_PARSER_TOKEN_VAR): remove
29440 (GRUB_PARSER_TOKEN_NAME): likewise
29441 ("if"): declare as typeless
29442 ("while"): likewise
29443 ("function"): likewise
29444 ("else"): likewise
29445 ("then"): likewise
29446 ("fi"): likewise
29447 (text): remove
29448 (argument): likewise
29449 (script): accept empty scripts and make exit on error
29450 (arguments): use GRUB_PARSER_TOKEN_ARG
29451 (function): likewise
29452 (command): move error handling to script
29453 (menuentry): move grub_script_lexer_ref before
473d1e45 29454 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 29455 argument. All callers updated
29456
f4448a07 294572009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29458
29459 Prevent GRUB from probing floppies during boot.
29460
29461 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29462 * commands/search.c (options): Add --no-floppy.
29463 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29464 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29465 --no-floppy when searching for UUIDs.
29466
2bf5885a 294672009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29468
29469 Simplify the code duplication in commands/search.c.
29470
29471 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29472 (search_fs): ... this. Update all users.
29473
f6fd460a 294742009-06-03 Felix Zielcke <fzielcke@z-51.de>
29475
29476 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29477
cbb3c83e 294782009-05-28 Pavel Roskin <proski@gnu.org>
29479
57788cfd 29480 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29481 Remove the original symlink explicitly.
29482
cbb3c83e 29483 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29484 just one slash. That's how grub_fshelp_find_file() does it.
29485
cd0d5e30 294862009-05-26 Pavel Roskin <proski@gnu.org>
29487
f0f8bbe2 29488 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29489 to `str'.
29490
cd0d5e30 29491 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29492 possibly unused.
29493
8c2cab51 294942009-05-25 Christian Franke <franke@computer.org>
29495
29496 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29497 register.
29498 (grub_atapi_identify): Add wait after drive select.
29499 (grub_ata_identify): Do more strict status register check before
29500 calling grub_atapi_identify (). Suppress error message if status
29501 register is 0x00 after command failure. Add status register
29502 check after PIO read to avoid bogus identify due to stuck DRQ.
29503 Thanks to Pavel Roskin for testing.
29504 (grub_device_initialize): Remove unsafe status register check.
29505 Thanks to 'phcoder' for problem report and patch.
29506 Prevent sign extension in debug message.
29507
230c0ad6 295082009-05-23 Colin D Bennett <colin@gibibit.com>
29509
29510 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29511 definition file, and functions defined in `normal/menu.c' have had
29512 their prototypes moved to `include/grub/menu.h' for consistency.
29513
29514 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29515 from normal.h.
29516 (grub_menu_get_entry): Likewise.
29517 (grub_menu_get_timeout): Likewise.
29518 (grub_menu_set_timeout): Likewise.
29519 (grub_menu_execute_entry): Likewise.
29520 (grub_menu_execute_with_fallback): Likewise.
29521 (grub_menu_entry_run): Likewise.
29522
29523 * include/grub/normal.h: Re-ordered and grouped function
29524 prototypes by file that the function is defined in.
29525 (grub_menu_execute_callback): Removed; moved to menu.h.
29526 (grub_menu_get_entry): Likewise.
29527 (grub_menu_get_timeout): Likewise.
29528 (grub_menu_set_timeout): Likewise.
29529 (grub_menu_execute_entry): Likewise.
29530 (grub_menu_execute_with_fallback): Likewise.
29531 (grub_menu_entry_run): Likewise.
29532 (grub_menu_addentry): Renamed from this ...
29533 (grub_normal_add_menu_entry): ... to this.
29534
29535 * normal/main.c (grub_menu_addentry): Renamed from this ...
29536 (grub_normal_add_menu_entry): ... to this.
29537
29538 * script/sh/execute.c (grub_script_execute_menuentry): Update
29539 reference to renamed grub_menu_addentry function.
29540
861f03a5 295412009-05-23 Felix Zielcke <fzielcke@z-51.de>
29542
29543 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29544
96b1619a 295452009-05-22 Pavel Roskin <proski@gnu.org>
29546
bf6a5fb2 29547 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29548 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29549 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29550 compiling for the i386 targets, but not for the utilities.
29551
96b1619a 29552 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
29553 to grub_uint8_t.
29554 (grub_root_drive): Likewise.
29555 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
29556 remove alignment.
29557 (grub_root_drive): Change size to byte.
29558 (grub_start_addr): Remove.
29559 (grub_end_addr): Likewise.
29560 (grub_apm_bios_info): Likewise.
29561
b729776b 295622009-05-21 Felix Zielcke <fzielcke@z-51.de>
29563
29564 * normal/i386: Remove.
29565 * normal/powerpc: Likewise.
29566 * normal/sparc64: Likewise.
29567 * normal/x86_64: Likewise.
29568
0a15ce80 295692009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
29570
29571 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 29572 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 29573 * loader/i386/xnu_helper.S: Likewise
d6da58e6 29574
33db9015 295752009-05-18 Colin D Bennett <colin@gibibit.com>
29576
d6da58e6 29577 Display error messages when parsing a Lua statement fails.
29578 Previously, executing a syntactically invalid statement like
29579 ")foo" or "bar;" would silently fail.
33db9015 29580
29581 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 29582 (grub_lua_parse_line): Improved reporting of Lua parser and
29583 execution errors.
33db9015 29584
46422c89 295852009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29586
29587 Remove -Werror which causes build to fail on some systems
29588
29589 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
29590 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
29591 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 29592
22f53a96 295932009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29594
29595 trampoline for linux on 64-bit platform
29596
18f547ad 29597 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
29598 loader/i386/efi/linux_trampoline.S
29599 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 29600 declaration
d6da58e6 29601 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
29602 here
22f53a96 29603 * loader/i386/linux_trampoline.S: moved here
d6da58e6 29604 * loader/i386/efi/linux.c (allocate_pages): reserve space for
29605 trampoline
22f53a96 29606 (jumpvector): removed
29607 (grub_linux_trampoline_start): new declaration
29608 (grub_linux_trampoline_end): likewise
29609 (grub_linux_boot): use trampoline when on 64-bit platform
29610 * loader/i386/linux.c: likewise
29611
cb5a0f40 296122009-05-16 Pavel Roskin <proski@gnu.org>
29613
29614 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
29615 const to avoid a warning.
29616 (grub_lua_setenv): Likewise.
29617 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
29618 lmsg to fix a warning.
29619
334f2c28 296202009-05-16 Felix Zielcke <fzielcke@z-51.de>
29621
29622 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 29623 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29624 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
29625 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29626 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29627 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29628 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29629 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 29630
59e5d3ec 296312009-05-16 Felix Zielcke <fzielcke@z-51.de>
29632
29633 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
29634
9d87a1ba 296352009-05-16 Bean <bean123ch@gmail.com>
29636
29637 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
29638 (lua_mod_SOURCES): New variable.
29639 (lua_mod_CFLAGS): Likewise.
29640 (lua_mod_LDFLAGS): Likewise.
29641
29642 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
29643 (setjmp_mod_SOURCES): New variable.
29644 (setjmp_mod_CFLAGS): Likewise.
29645 (setjmp_LDFLAGS): Likewise.
29646
29647 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
29648 (setjmp_mod_SOURCES): New variable.
29649 (setjmp_mod_CFLAGS): Likewise.
29650 (setjmp_LDFLAGS): Likewise.
29651
29652 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29653 (setjmp_mod_SOURCES): New variable.
29654 (setjmp_mod_CFLAGS): Likewise.
29655 (setjmp_LDFLAGS): Likewise.
29656
29657 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29658 (setjmp_mod_SOURCES): New variable.
29659 (setjmp_mod_CFLAGS): Likewise.
29660 (setjmp_LDFLAGS): Likewise.
29661
29662 * normal/i386/setjmp.S: Moved from here ...
29663 * lib/i386/setjmp.S: ... Moved here
29664 * normal/x86_64/setjmp.S: Moved from here ...
29665 * lib/x86_64/setjmp.S: ... Moved here
29666 * normal/powerpc/setjmp.S: Moved from here ...
29667 * lib/powerpc/setjmp.S: ... Moved here
29668 * normal/sparc64/setjmp.S: Moved from here ...
29669 * lib/sparc64/setjmp.S: ... Moved here
29670
29671 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
29672 returns_twice in mingw.
29673
29674 * script/lua/grub_lib.c: New file.
29675 * script/lua/grub_lib.h: Likewise.
29676 * script/lua/grub_lua.h: Likewise.
29677 * script/lua/grub_main.c: Likewise.
29678 * script/lua/lapi.c: Likewise.
29679 * script/lua/lapi.h: Likewise.
29680 * script/lua/lauxlib.c: Likewise.
29681 * script/lua/lauxlib.h: Likewise.
29682 * script/lua/lbaselib.c: Likewise.
29683 * script/lua/lcode.c: Likewise.
29684 * script/lua/lcode.h: Likewise.
29685 * script/lua/ldblib.c: Likewise.
29686 * script/lua/ldebug.c: Likewise.
29687 * script/lua/ldebug.h: Likewise.
29688 * script/lua/ldo.c: Likewise.
29689 * script/lua/ldo.h: Likewise.
29690 * script/lua/ldump.c: Likewise.
29691 * script/lua/lfunc.c: Likewise.
29692 * script/lua/lfunc.h: Likewise.
29693 * script/lua/lgc.c: Likewise.
29694 * script/lua/lgc.h: Likewise.
29695 * script/lua/linit.c: Likewise.
29696 * script/lua/liolib.c: Likewise.
29697 * script/lua/llex.c: Likewise.
29698 * script/lua/llex.h: Likewise.
29699 * script/lua/llimits.h: Likewise.
29700 * script/lua/lmathlib.c: Likewise.
29701 * script/lua/lmem.c: Likewise.
29702 * script/lua/lmem.h: Likewise.
29703 * script/lua/loadlib.c: Likewise.
29704 * script/lua/lobject.c: Likewise.
29705 * script/lua/lobject.h: Likewise.
29706 * script/lua/lopcodes.c: Likewise.
29707 * script/lua/lopcodes.h: Likewise.
29708 * script/lua/loslib.c: Likewise.
29709 * script/lua/lparser.c: Likewise.
29710 * script/lua/lparser.h: Likewise.
29711 * script/lua/lstate.c: Likewise.
29712 * script/lua/lstate.h: Likewise.
29713 * script/lua/lstring.c: Likewise.
29714 * script/lua/lstring.h: Likewise.
29715 * script/lua/lstrlib.c: Likewise.
29716 * script/lua/ltable.c: Likewise.
29717 * script/lua/ltable.h: Likewise.
29718 * script/lua/ltablib.c: Likewise.
29719 * script/lua/ltm.c: Likewise.
29720 * script/lua/ltm.h: Likewise.
29721 * script/lua/lua.h: Likewise.
29722 * script/lua/luaconf.h: Likewise.
29723 * script/lua/lualib.h: Likewise.
29724 * script/lua/lundump.c: Likewise.
29725 * script/lua/lundump.h: Likewise.
29726 * script/lua/lvm.c: Likewise.
29727 * script/lua/lvm.h: Likewise.
29728 * script/lua/lzio.c: Likewise.
29729 * script/lua/lzio.h: Likewise.
29730
5e898c9d 297312009-05-16 Bean <bean123ch@gmail.com>
29732
29733 * include/grub/kernel.h (grub_module_header_types): Add type
29734 OBJ_TYPE_CONFIG.
29735
29736 * kern/main.c (grub_load_config): New function.
29737 (grub_main): Call grub_load_config to read boot config.
29738
29739 * grub-mkimage (generate_image): New parameter config_path.
29740 (options): New option --config.
29741 (main): Parse --config option, and pass it to generate_image.
29742
cf353a47 297432009-05-14 Christian Franke <franke@computer.org>
29744
29745 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
29746 This fixes build on Cygwin.
29747
3834887f 297482009-05-14 Pavel Roskin <proski@gnu.org>
29749
29750 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
29751 jump. This saves two bytes, so the typical case of 2 swapped
29752 drives would fit 32 bytes.
29753
8090fc01 297542009-05-13 Pavel Roskin <proski@gnu.org>
29755
ac963883 29756 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
29757 grub_uint32_t to avoid a warning.
29758
8090fc01 29759 * loader/i386/linux.c (allocate_pages): When assigning
29760 real_mode_mem, cast through grub_size_t to fix a warning. The
29761 code already makes sure that the value would fit a pointer.
29762 (grub_linux_setup_video): Cast render_target->data to
29763 grub_size_t to fix a warning.
29764
18f547ad 297652009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 29766
29767 * commands/i386/pc/drivemap.c: New file - implement drivemap
29768 command.
29769 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
29770 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
29771
6f6a8b28 297722009-05-13 Pavel Roskin <proski@gnu.org>
29773
29774 * util/i386/pc/grub-setup.c (setup): Remove unused variable
29775 embedding_area_exists.
29776
15fbf4c4 297772009-05-13 Robert Millan <rmh.grub@aybabtu.com>
29778
29779 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
29780 it easier to understand / work with.
59978c8a 29781 Improve warning messages for cases where there's no embedding area,
29782 or when it is too small (or core.img too large).
15fbf4c4 29783
238e871f 297842009-05-13 Pavel Roskin <proski@gnu.org>
29785
0ab3a9a4 29786 * loader/i386/pc/multiboot2.c: Add necessary includes for
29787 grub_multiboot2_real_boot().
29788
a2c8c5f8 29789 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
29790 PX record is always little-endian. We only need the lower 2
29791 bytes of the mode.
29792
faec96af 29793 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
29794 facilitate code reuse.
29795 (grub_cpio_mount): Use "struct head", not a char buffer. This
29796 fixes a warning reported by gcc 4.4.
29797
238e871f 29798 * kernel/disk.c (grub_disk_read): Use void pointer for the
29799 buffer.
29800 (grub_disk_write): Use const void pointer for the buffer.
29801 Adjust all callers. Remove unnecessary casts.
29802
901d2f0c 298032009-05-10 Robert Millan <rmh.grub@aybabtu.com>
29804
29805 * util/i386/pc/grub-install.in: Update copyright year.
29806
18f547ad 298072009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 29808
29809 gptsync
29810
29811 * commands/gptsync.c: new file
29812 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
29813 (gptsync_mod_SOURCES): new variable
29814 (gptsync_mod_CFLAGS): likewise
29815 (gptsync_mod_LDFLAGS): likewise
18f547ad 29816 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 29817 new definition
29818 (GRUB_PC_PARTITION_TYPE_HFS): likewise
29819 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
29820 * conf/i386-ieee1275.rmk: likewise
29821 * conf/i386-pc.rmk: likewise
29822 * conf/powerpc-ieee1275.rmk: likewise
29823
b4ba690a 298242009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
29825
29826 Fixed grub-emu
29827
29828 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
29829 (grub_dl_ref): likewise
29830
317e1a44 298312009-05-08 Robert Millan <rmh.grub@aybabtu.com>
29832
29833 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
29834 split in two functions (one for msdos and one for gpt).
29835
041b8094 298362009-05-08 Pavel Roskin <proski@gnu.org>
29837
752473c2 29838 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
29839 not modified.
29840
041b8094 29841 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
29842 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
29843 Initialize them with -1. Add sanity check for bad1. Eliminate
29844 nerr variable.
29845
172800ce 298462009-05-08 David S. Miller <davem@davemloft.net>
29847
29848 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
29849
29aa5e81 298502009-05-06 Robert Millan <rmh.grub@aybabtu.com>
29851
29852 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 29853 existence.
29aa5e81 29854
96613b62 298552009-05-05 Felix Zielcke <fzielcke@z-51.de>
29856
29857 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 29858 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 29859
eef73c8a 298602009-05-05 David S. Miller <davem@davemloft.net>
29861
29862 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
29863
119494b5 298642009-05-05 Pavel Roskin <proski@gnu.org>
29865
29866 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
29867 of grub_dl_ref() and grub_dl_unref().
29868 * commands/parttool.c: Remove preprocessor conditionals around
29869 grub_dl_ref() and grub_dl_unref().
29870 * fs/affs.c: Likewise.
29871 * fs/afs.c: Likewise.
29872 * fs/cpio.c: Likewise.
29873 * fs/ext2.c: Likewise.
29874 * fs/fat.c: Likewise.
29875 * fs/hfs.c: Likewise.
29876 * fs/hfsplus.c: Likewise.
29877 * fs/iso9660.c: Likewise.
29878 * fs/jfs.c: Likewise.
29879 * fs/minix.c: Likewise.
29880 * fs/ntfs.c: Likewise.
29881 * fs/reiserfs.c: Likewise.
29882 * fs/sfs.c: Likewise.
29883 * fs/udf.c: Likewise.
29884 * fs/ufs.c: Likewise.
29885 * fs/xfs.c: Likewise.
29886 * include/grub/dl.h: Likewise.
29887 * loader/xnu.c: Likewise.
29888
de5fd76e 298892009-05-04 Pavel Roskin <proski@gnu.org>
29890
29891 * commands/acpi.c: Remove unused variable my_mod.
29892 * partmap/amiga.c: Likewise.
29893 * partmap/apple.c: Likewise.
29894 * partmap/gpt.c: Likewise.
29895 * partmap/pc.c: Likewise.
29896 * partmap/sun.c: Likewise.
29897 * term/gfxterm.c: Likewise.
29898 * term/i386/pc/vesafb.c: Likewise.
29899 * term/i386/pc/vga.c: Likewise.
29900
983598ad 299012009-05-04 David S. Miller <davem@davemloft.net>
29902
29903 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
29904 pointer args to grub_ieee1275_get_property().
29905
8aadec43 29906 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
29907
9554b15e 29908 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
29909 devices, and do not traverse down under controller nodes.
29910
67e23c90 29911 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
29912 (grub_ofdisk_open): Use it to un-escape "," characters.
29913 * kern/disk.c (find_part_sep): New.
29914 (grub_disk_open): Use it to find the first non-escaped ','
29915 character in the disk name.
29916 * util/ieee1275/devicemap.c (escape_of_path): New.
29917 (grub_util_emit_devicemap_entry): Use it.
29918 * util/sparc64/ieee1275/grub-install.in: Update script to
29919 strip partition specifiers properly by not triggering on
29920 '\' escaped ',' characters.
29921
74bfdd2f 299222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29923
29924 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
29925 to 0x300.
29926 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
29927 resolutions.
29928 (linux_vesafb_modes): Add a lot of additional modes to the list (based
29929 on documentation from Wikipedia).
29930
4241d2b1 299312009-05-04 Pavel Roskin <proski@gnu.org>
29932
29933 * disk/ata.c: Spelling fixes.
29934 * disk/raid.c: Likewise.
29935 * disk/usbms.c: Likewise.
29936 * disk/dmraid_nvidia.c: Likewise.
29937 * kern/ieee1275/openfw.c: Likewise.
29938 * kern/ieee1275/init.c: Likewise.
29939 * kern/ieee1275/cmain.c: Likewise.
29940 * boot/i386/pc/cdboot.S: Likewise.
29941 * video/readers/png.c: Likewise.
29942 * video/i386/pc/vbe.c: Likewise.
29943 * fs/udf.c: Likewise.
29944 * fs/hfs.c: Likewise.
29945 * fs/reiserfs.c: Likewise.
29946 * efiemu/runtime/efiemu.c: Likewise.
29947 * efiemu/main.c: Likewise.
29948 * efiemu/mm.c: Likewise.
29949 * include/grub/elf.h: Likewise.
29950 * include/grub/xnu.h: Likewise.
29951 * include/grub/usbdesc.h: Likewise.
29952 * include/grub/usb.h: Likewise.
29953 * include/grub/script_sh.h: Likewise.
29954 * include/grub/lib/LzmaEnc.h: Likewise.
29955 * include/grub/efiemu/efiemu.h: Likewise.
29956 * include/grub/command.h: Likewise.
29957 * normal/menu.c: Likewise.
29958 * normal/main.c: Likewise.
29959 * normal/datetime.c: Likewise.
29960 * bus/usb/uhci.c: Likewise.
29961 * mmap/i386/uppermem.c: Likewise.
29962 * mmap/mmap.c: Likewise.
29963 * commands/acpi.c: Likewise.
29964 * commands/test.c: Likewise.
29965 * partmap/apple.c: Likewise.
29966 * font/font.c: Likewise.
29967 * loader/sparc64/ieee1275/linux.c: Likewise.
29968 * loader/macho.c: Likewise.
29969 * loader/i386/bsd_trampoline.S: Likewise.
29970 * loader/i386/bsd.c: Likewise.
29971 * loader/xnu.c: Likewise.
29972 * term/i386/pc/vesafb.c: Likewise.
29973 * term/usb_keyboard.c: Likewise.
29974 * util/resolve.c: Likewise.
29975 * util/getroot.c: Likewise.
29976
0cfc0083 299772009-05-04 Felix Zielcke <fzielcke@z-51.de>
29978
29979 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
29980
7c1d00cd 299812009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29982
29983 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
29984 build error.
29985
b01f0548 299862009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29987
29988 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
29989 parameter only available on BIOS.
29990
ecc3eb22 299912009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29992
29993 Removed wrong semicolon in declaration
29994
29995 * grub/misc.h (grub_dprintf): remove semicolon
29996
112972a9 299972009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29998
29999 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30000 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30001 is done by grub_cmd_linux() now).
30002 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30003 restore video to text mode.
30004 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30005 indicates lack of "vga=" parameter. "vga=0" is mapped to
30006 `GRUB_LINUX_VID_MODE_NORMAL'.
30007
afd5c115 300082009-05-04 Felix Zielcke <fzielcke@z-51.de>
30009
30010 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30011 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30012 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 30013 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 30014 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30015 `grub_script.tab.c'.
30016
30017 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30018 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30020 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30021 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30022
faa517ce 30023 * Makefile.in: Remove duplicated 2008 in Copyright line.
30024
ae0c0bdc 300252009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30026
473d1e45 30027 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 30028 unconditionally.
30029 * include/grub/util/misc.h (grub_util_warn): New declaration.
30030
30031 * util/i386/pc/grub-install.in: Understand --force and pass it down
30032 to grub-setup.
30033
30034 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30035 down to setup().
30036 (setup): Improve error messages and add warnings when requested to
30037 install in odd layouts. Refuse to install using blocklists unless
30038 --force was set.
30039
18f547ad 300402009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 30041
30042 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30043
6d260daa 300442009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30045
30046 Updated copyright year
30047
30048 * fs/hfsplus.c: updated copyright year
18f547ad 30049
69f853f8 300502009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30051
30052 HFS+ UUID
30053
18f547ad 30054 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 30055 in the space previously used by unused3
30056 (grub_hfsplus_uuid): new function
30057 (grub_hfsplus_fs): added uuid field
30058
4c402e73 300592009-05-03 Pavel Roskin <proski@gnu.org>
30060
30061 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30062 suppress warnings. It's no longer needed.
30063 * disk/host.c: Likewise.
30064 * disk/ata_pthru.c: Likewise.
30065 * disk/loopback.c: Likewise.
30066 * hook/datehook.c: Likewise.
30067 * parttool/pcpart.c: Likewise.
30068 * fs/i386/pc/pxe.c: Likewise.
30069 * fs/ntfscomp.c: Likewise.
30070 * efiemu/main.c: Likewise.
30071 * mmap/mmap.c: Likewise.
30072 * commands/crc.c: Likewise.
30073 * commands/hexdump.c: Likewise.
30074 * commands/hdparm.c: Likewise.
30075 * commands/acpi.c: Likewise.
30076 * commands/echo.c: Likewise.
30077 * commands/minicmd.c: Likewise.
30078 * commands/blocklist.c: Likewise.
30079 * commands/memrw.c: Likewise.
30080 * commands/loadenv.c: Likewise.
30081 * commands/usbtest.c: Likewise.
30082 * commands/lsmmap.c: Likewise.
30083 * commands/boot.c: Likewise.
30084 * commands/parttool.c: Likewise.
30085 * commands/configfile.c: Likewise.
30086 * commands/search.c: Likewise.
30087 * commands/ieee1275/suspend.c: Likewise.
30088 * commands/cat.c: Likewise.
30089 * commands/i386/pc/pxecmd.c: Likewise.
30090 * commands/i386/pc/play.c: Likewise.
30091 * commands/i386/pc/halt.c: Likewise.
30092 * commands/i386/pc/vbeinfo.c: Likewise.
30093 * commands/i386/pc/vbetest.c: Likewise.
30094 * commands/lspci.c: Likewise.
30095 * commands/date.c: Likewise.
30096 * commands/handler.c: Likewise.
30097 * commands/ls.c: Likewise.
30098 * commands/test.c: Likewise.
30099 * commands/cmp.c: Likewise.
30100 * commands/efi/loadbios.c: Likewise.
30101 * commands/efi/fixvideo.c: Likewise.
30102 * commands/halt.c: Likewise.
30103 * commands/help.c: Likewise.
30104 * commands/reboot.c: Likewise.
30105 * hello/hello.c: Likewise.
30106 * script/sh/main.c: Likewise.
30107 * loader/xnu.c: Likewise.
30108 * term/terminfo.c: Likewise.
30109 * term/i386/pc/serial.c: Likewise.
30110 * term/usb_keyboard.c: Likewise.
30111
515b5079 301122009-05-03 David S. Miller <davem@davemloft.net>
30113
30114 * normal/menu.c: Include grub/parser.h
30115
dfc31a22 301162009-05-03 Pavel Roskin <proski@gnu.org>
30117
2fee74f1 30118 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30119 not char*.
30120 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30121 Suggested by Javier Martín <lordhabbit@gmail.com>
30122
dfc31a22 30123 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30124 efiemu??.o doesn't exist.
30125 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30126 copying.
30127
18f547ad 301282009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 30129
30130 FreeBSD 64-bit support
30131
18f547ad 30132 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 30133 and loader/i386/bsd_trampoline.S
30134 (bsd_mod_ASFLAGS): new variable
30135 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30136 (FREEBSD_MODTYPE_KERNEL64): likewise
30137 (grub_bsd64_trampoline_start): likewise
30138 (grub_bsd64_trampoline_end): likewise
30139 (grub_bsd64_trampoline_selfjump): likewise
30140 (grub_bsd64_trampoline_gdt): likewise
30141 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30142 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30143 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30144 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 30145 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 30146 of "attrib" member
30147 * loader/i386/bsd_pagetable.c: new file
30148 * loader/i386/bsd_trampoline.S: likewise
30149 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30150 (ALIGN_VAR): likewise
30151 (entry_hi): new variable
30152 (kern_end_mdofs): likewise
30153 (is_64bit): likewise
30154 (grub_freebsd_add_meta): use ALIGN_VAR
30155 (grub_e820_mmap): new declaration
30156 (grub_freebsd_add_mmap): new function
30157 (grub_freebsd_add_meta_module): support 64 bit kernels
30158 (grub_freebsd_list_modules): use ALIGN_VAR
30159 (gdt_descriptor): new declaration
30160 (grub_freebsd_boot): support 64 bit kernels
30161 (grub_bsd_elf64_hook): new function
30162 (grub_bsd_load_elf): support elf64
30163
038c5720 301642009-05-03 Bean <bean123ch@gmail.com>
30165
30166 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30167 after we get the result of if statement.
30168
fc45fb58 301692009-05-03 Bean <bean123ch@gmail.com>
30170
30171 * Makefile.in (enable_efiemu): New variable.
30172
30173 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30174 set.
30175 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30176 path.
30177 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30178 path, add -mno-red-zone option.
30179 (efiemu64_s.o): Likewise.
30180 (efiemu64.o): Use macro $^ for source file.
30181
30182 * configure.ac (--enable-efiemu): New option.
30183
bbee0f2b 301842009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30185
30186 xnu support
30187
30188 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30189 (pkglib_MODULES): add xnu.mod
30190 (xnu_mod_SOURCES): new variable
30191 (xnu_mod_CFLAGS): likewise
30192 (xnu_mod_LDFLAGS): likewise
30193 (xnu_mod_ASFLAGS): likewise
30194 * conf/i386-pc.rmk: likewise
30195 * conf/x86_64-efi.rmk: likewise
7dd4a573 30196 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 30197 new declaration
30198 * include/grub/i386/macho.h: new file
30199 * include/grub/i386/xnu.h: likewise
30200 * include/grub/macho.h: likewise
30201 * include/grub/machoload.h: likewise
30202 * include/grub/x86_64/macho.h: likewise
30203 * include/grub/x86_64/xnu.h: likewise
30204 * include/grub/xnu.h: likewise
30205 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30206 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30207 * loader/i386/efi/xnu.c: new file
30208 * loader/i386/pc/xnu.c: likewise
30209 * loader/i386/xnu.c: likewise
30210 * loader/i386/xnu_helper.S: likewise
30211 * loader/macho.c: likewise
30212 * loader/xnu.c: likewise
30213 * loader/xnu_resume.c: likewise
30214 * util/grub-dumpdevtree: likewise
30215 * include/grub/i386/pit.h: include grub/err.h
30216 (grub_pit_wait): export
30217 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 30218
5caf964d 302192009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30220
30221 Efiemu
7dd4a573 30222
5caf964d 30223 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 30224 _linux_efi, linux_efi.
30225 new files in grub-emu
5caf964d 30226 new targets efiemu32.o and efiemu64.o
30227 * loader/linux_normal_efiemu.c: likewise
30228 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 30229 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 30230 files to copy
30231 * include/grub/autoefi.h: new file
7dd4a573 30232 * include/grub/i386/efiemu.h: likewise
5caf964d 30233 * include/grub/i386/pc/efiemu.h: likewise
30234 * include/grub/efi/api.h: add LL suffix when necessary
30235 new definitions relating to tables
30236 * include/grub/efiemu/efiemu.h: new file
30237 * include/grub/efiemu/runtime.h: likewise
30238 * efiemu/prepare.c: likewise
30239 * efiemu/loadcore_common.c: likewise
30240 * efiemu/loadcore64.c: likewise
30241 * efiemu/runtime/efiemu.sh: likewise
30242 * efiemu/runtime/efiemu.S: likewise
30243 * efiemu/runtime/efiemu.c: likewise
30244 * efiemu/runtime/config.h: likewise
30245 * efiemu/prepare32.c: likewise
30246 * efiemu/main.c: likewise
30247 * efiemu/modules/pnvram.c: likewise
30248 * efiemu/modules/i386: likewise
30249 * efiemu/modules/i386/pc: likewise
30250 * efiemu/modules/acpi.c: likewise
30251 * efiemu/i386/pc/cfgtables.c: likewise
30252 * efiemu/i386/loadcore64.c: likewise
30253 * efiemu/i386/loadcore32.c: likewise
30254 * efiemu/prepare64.c: likewise
30255 * efiemu/loadcore.c: likewise
30256 * efiemu/symbols.c: likewise
30257 * efiemu/mm.c: likewise
30258 * efiemu/loadcore32.c: likewise
7dd4a573 30259
302602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 30261
30262 ACPI spoofing
30263
30264 * commands/acpi.c: new file
30265 * commands/i386/pc/acpi.c: likewise
30266 * commands/efi/acpi.c: likewise
30267 * include/grub/acpi.h: likewise
30268 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30269 (acpi_mod_SOURCES): new variable
30270 (acpi_mod_CFLAGS): likewise
30271 (acpi_mod_LDFLAGS): likewise
30272 * conf/i386-efi.rmk: likewise
30273 * conf/x86_64-efi.rmk: likewise
30274
7dd4a573 302752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 30276
30277 Missing part from mmap patch
30278
30279 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30280 (grub_mmap_unregister)
30281 (grub_mmap_free_and_unregister): use grub_mmap_register
30282
7dd4a573 302832009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 30284
30285 Mmap services
30286
30287 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30288 * loader/i386/linux.c (find_mmap_size): likewise
30289 (allocate_pages): likewise
30290 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30291 (grub_fill_multiboot_mmap): likewise
30292 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30293 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30294 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30295 (OPENBSD_MMAP_RESERVED): likewise
30296 * include/grub/i386/pc/memory.h: include grub/memory.h
30297 (grub_lower_mem): removed
30298 (grub_upper_mem): likewise
30299 (GRUB_MACHINE_MEMORY_ACPI): new definition
30300 (GRUB_MACHINE_MEMORY_NVS): likewise
30301 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30302 (GRUB_MACHINE_MEMORY_HOLE): likewise
30303 (grub_machine_mmap_register): likewise
30304 (grub_machine_mmap_unregister): likewise
30305 (grub_machine_get_upper): likewise
30306 (grub_machine_get_lower): likewise
30307 (grub_machine_get_post64): likewise
30308 * include/grub/i386/efi/memory.h: new file
30309 * include/grub/x86_64/efi/memory.h: likewise
30310 * include/grub/efi/memory.h: likewise
30311 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30312 (mmap_mod_SOURCES): new variable
30313 (mmap_mod_LDFLAGS): likewise
30314 (mmap_mod_ASFLAGS): likewise
30315 * conf/i386-coreboot.rmk: likewise
30316 * conf/i386-ieee1275.rmk: likewise
30317 * conf/i386-efi.rmk: likewise
30318 * conf/x86_64-efi.rmk: likewise
30319 * include/grub/types.h (UINT_TO_PTR): new macro
30320 (PTR_TO_UINT32): likewise
30321 (PTR_TO_UINT64): likewise
30322 * include/grub/memory.h: new file
30323 * mmap/i386/pc/mmap.c: likewise
30324 * mmap/i386/pc/mmap_helper.S: likewise
30325 * mmap/i386/uppermem.c: likewise
30326 * mmap/mmap.c: likewise
30327 * mmap/efi/mmap.c: likewise
7dd4a573 30328 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 30329 grub_upper_mem
30330 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30331 (grub_upper_mem): likewise
30332 (grub_machine_init): don't use grub_upper_mem,
30333 make grub_lower_mem local
30334 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30335 grub_mmap_iterate and grub_mmap_get_upper
30336 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30337
d558e6b5 303382009-05-02 Bean <bean123ch@gmail.com>
30339
30340 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30341 script/sh/parser.y.
30342 (pkglib_MODULES): Add normal.mod and sh.mod.
30343 (normal_SOURCES): New variable.
30344 (normal_mod_CFLAGS): Likewise.
30345 (normal_mod_LDFLAGS): Likewise.
30346 (sh_mod_SOURCES): Likewise.
30347 (sh_mod_CFLAGS): Likewise.
30348 (sh_mod_LDFLAGS): Likewise.
30349
30350 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30351 script/sh/lexer.c_DEPENDENCIES.
30352 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30353 kern/rescue_reader.c and kern/rescue_parser.c.
30354 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30355 (grub_emu_SOURCES): Change source files.
30356 (pkglib_MODULES): Remove normal.mod.
30357 (normal_SOURCES): Removed.
30358 (normal_mod_CFLAGS): Likewise.
30359 (normal_mod_LDFLAGS): Likewise.
30360 * conf/i386-coreboot.rmk: Likewise.
30361 * conf/i386-efi.rmk: Likewise.
30362 * conf/i386-ieee1276.rmk: Likewise.
30363 * conf/powerpc-ieee1275.rmk: Likewise.
30364 * conf/sparc64-ieee1275.rmk: Likewise.
30365 * conf/x86_64-efi.rmk: Likewise.
30366
30367 * include/grub/command.h (grub_command_execute): New inline function.
30368
30369 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30370
30371 * include/grub/normal.h: Remove <grub/setjmp.h>.
30372 (grub_fs_module_list): Moved to normal/autofs.c.
30373 (grub_exit_env): Removed.
30374 (grub_command_execute): Likewise.
30375 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30376 parameter script.
30377 (read_command_list): New function declaration.
30378 (read_fs_list): Likewise.
30379
30380 * include/parser.h: Include <grub/reader.h>.
30381 (grub_parser_split_cmdline): Change type of getline parameter.
30382 (grub_parser): New structure.
30383 (grub_parser_class): New variable.
30384 (grub_parser_execute): New function declaration.
30385 (grub_register_rescue_parser): Likewise.
30386 (grub_parser_register): New inline function.
30387 (grub_parser_unregister): Likewise.
30388 (grub_parser_get_current): Likewise.
30389 (grub_parser_set_current): Likewise.
30390
30391 * include/grub/reader.h: New file.
30392 * kern/reader.c: Likewise.
30393 * kern/rescue_parser.c: Likewise.
30394 * kern/rescue_reader.c: Likewise.
30395 * normal/autofs.c: Likewise.
30396 * normal/dyncmd.c: Likewise.
30397
30398 * include/grub/rescue.h: Removed.
30399 * normal/command.h: Likewise.
30400
30401 * include/grub/script.h: Moved to ...
30402 * include/grub/script_sh.h: ... Moved here.
30403 * normal/execute.c: Moved to ...
30404 * script/sh/execute.c: ... Moved here.
30405 * normal/function.c: Moved to ...
30406 * script/sh/function.c: ... Moved here.
30407 * normal/lexer.c: Moved to ...
30408 * script/sh/lexer.c: ... Moved here.
30409 * normal/parser.y: Moved to ...
30410 * script/sh/parser.y: ... Moved here.
30411 * normal/script.c: Moved to ...
30412 * script/sh/script.c: ... Moved here.
30413
30414 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30415 <grub/reader.h>.
30416 (grub_exit_env): Removed.
30417 (fs_module_list): Moved to normal/autofs.c.
30418 (grub_file_getline): Don't handle comment here.
30419 (free_menu): Skip removed field entry->commands.
30420 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30421 script parameter.
30422 (read_config_file): Removed nested parameter, change getline function.
30423 (grub_enter_normal_mode): Removed.
30424 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30425 (read_command_list): Likewise.
30426 (autoload_fs_module): Moved to normal/autofs.c.
30427 (read_fs_list): Likewise.
30428 (reader_nested): New variable.
30429 (grub_normal_execute): Run parser.sh to switch to sh parser.
30430 (grub_cmd_rescue): Removed.
30431 (cmd_normal): Removed.
30432 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30433 rescue command.
30434 (grub_cmdline_run): New function.
30435 (grub_normal_reader_init): Likewise.
30436 (grub_normal_read_line): Likewise.
30437 (grub_env_write_pager): Likewise.
30438 (cmdline): New variable.
30439 (grub_normal_reader): Likewise.
30440 (GRUB_MOD_INIT): Register normal reader and set as current, register
30441 pager hook, register normal command with grub_register_command_prio,
30442 so that it won't show up in command.lst.
30443 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30444 grub_fs_autoload_hook.
30445
30446 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30447 (grub_menu_execute_entry): Replace grub_script_execute with
30448 grub_parser_execute, change parameter to grub_command_execute.
30449
30450 * normal/menu_text.c: Remove <grub/script.h>.
30451
30452 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30453 and <grub/parser.h>.
30454 (run): Change editor_getline to use new parser interface. Change
30455 parameter to grub_command_execute.
30456
30457 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30458 <grub/reader.h> and <grub/parser.h>.
30459 (grub_load_normal_mode): Execute normal command.
30460 (grub_main): Call grub_register_core_commands,
30461 grub_register_rescue_parser and grub_register_rescue_reader, use
30462 grub_reader_loop to enter input loop.
30463
7dd4a573 30464 * kern/parser.c (grub_parser_split_cmdline): Change type of
30465 getline parameter.
d558e6b5 30466 (grub_parser_class): New variable.
30467 (grub_parser_execute): New function.
30468
30469 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30470 * loader/multiboot2.c: Likewise.
30471 * loader/sparc64/ieee1275/linux.c: Likewise.
30472
30473 * util/grub-emu.c (read_command_list): New dummy function.
30474
18db813d 304752009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30476
30477 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30478 count to 16 for CCISS and IDA.
30479
6c67de15 304802009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30481
30482 * normal/menu_text.c (grub_wait_after_message): Print a newline
30483 after waiting for user input.
30484
30485 * loader/i386/linux.c: Include `<grub/normal.h>'.
30486 (grub_cmd_linux): Improve the error message about `ask' mode, by
30487 waiting for user input so it's not missed (we can do this, since
30488 user requested interaction).
30489
d9dc87b0 304902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30491
30492 Added missing lst to grub-mkrescue
30493
30494 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30495 and ${input_dir}/parttool.lst
30496
ac8a2baa 304972009-04-30 David S. Miller <davem@davemloft.net>
30498
ad22a610 30499 * util/hostdisk.c (device_is_wholedisk): New function.
30500 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30501 zero only if device_is_wholedisk() returns true.
30502
6966215d 30503 * util/hostdisk.c (convert_system_partition_to_system_disk):
30504 Handle virtual disk devices named /dev/vdiskX as found on sparc
30505 and powerpc.
30506
ac8a2baa 30507 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30508 lettered partition specifier is found, convert to numbered.
30509
979b4fb4 305102009-04-29 David S. Miller <davem@davemloft.net>
30511
e2bf39b2 30512 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30513 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30514
3c64e104 30515 * normal/command.c: Add missing newline at end of file.
30516
979b4fb4 30517 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30518 warnings.
30519 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30520 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30521 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30522 ihandles have a 32-bit type but need to be stored in a "void *".
30523
136d9f82 305242009-04-28 Pavel Roskin <proski@gnu.org>
30525
9459c306 30526 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30527 not disk. Adjust all dependencies.
2e08a26a 30528 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 30529 grub_disk_close().
30530
136d9f82 30531 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30532 parent's partition, don't copy it by reference, as it gets freed
30533 on close.
30534
7dd4a573 305352009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 30536
30537 Preboot hooks support
30538
30539 * commands/boot.c (struct grub_preboot_t): new declaration
30540 (preboots_head): new variable
30541 (preboots_tail): likewise
30542 (grub_loader_register_preboot_hook): new function
30543 (grub_loader_unregister_preboot_hook): likewise
30544 (grub_loader_set): launch preboot hooks
30545 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30546 (grub_loader_register_preboot_hook): new declaration
30547 (grub_loader_unregister_preboot_hook): likewise
30548
5af922b5 305492009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30550
30551 Warning fix
30552
7dd4a573 30553 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 30554 calling grub_dprintf
30555
a5562c30 305562009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
30557
30558 Bug and warning fixes
30559
7dd4a573 30560 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 30561 declaration
30562 * commands/test.c (test_parse): fixed bug with file tests and corrected
30563 declaration of find_file
30564
4006f85c 305652009-04-26 Pavel Roskin <proski@gnu.org>
30566
30567 * Makefile.in: Don't install empty manual pages if help2man is
30568 missing. Use help2man option for output, not shell redirection.
30569
5c77c3de 305702009-04-26 David S. Miller <davem@davemloft.net>
30571
30572 * util/grub-mkdevicemap.c (make_device_map): Add missing
30573 NESTED_FUNC_ATTR to process_device().
30574
033b10a8 305752009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30576
30577 Test command
30578
30579 * commands/test.c: rewritten to use bash-like test
30580
e4343593 305812009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30582
30583 Parttool autoloading and improvements
30584
7dd4a573 30585 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 30586 (parttool.lst): new target
30587 * genmk.rb: generate parttool-*
30588 (CLEANFILES): add #{parttool}
30589 (PARTTOOLFILES): new variable
30590 * genparttoollist.sh: new file
7dd4a573 30591 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 30592 (grub_pcpart_type): likewise
30593 * commands/parttool.c (helpmsg): new variable
30594 (grub_cmd_parttool): output help if not enough arguments are supplied
30595 autoload modules
30596 (GRUB_MOD_INIT(parttool)): use helpmsg
30597
0d312500 305982009-04-24 David S. Miller <davem@davemloft.net>
30599
7dd4a573 30600 Avoiding opening same device multiple times in device iterator.
0d312500 30601
30602 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 30603 and use it to build a list of partitions in iterate_disk() and
0d312500 30604 iterate_partition().
30605
ac20caff 30606 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
30607 on disk->data.
30608
0dcf7495 30609 * disk/ieee1275/nand.c (grub_nand_iterate): Return
30610 grub_devalias_iterate() result instead of unconditional 0.
30611 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
30612 Also, capture hook return value, either directly or via
30613 grub_children_iterate(), and propagate to caller.
30614 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
30615 grub_children_iterate): Return value is now 'int' instead of
30616 'grub_err_t'.
30617 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
30618 like a proper iterator, stopping when hooks return non-zero.
30619 (grub_devalias_iterate): Likewise.
30620
c8c08833 306212009-04-23 David S. Miller <davem@davemloft.net>
30622
30623 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
30624
f01005a8 306252009-04-22 David S. Miller <davem@davemloft.net>
30626
30627 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
30628 is larger than address_cells, use that value for address_cells too.
30629
4e8269da 30630 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
30631 IEEE1275_MAX_PATH_LEN): Define.
30632 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
30633 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
30634 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
30635 'devtype'. Explicitly NULL terminate devalias expansion.
30636
a1447506 30637 * util/sparc64/ieee1275/misc.c: New file.
30638 * util/sparc64/ieee1275/grub-setup.c: New file.
30639 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
30640 * util/sparc64/ieee1275/grub-mkimage.c: New file.
30641 * util/sparc64/ieee1275/grub-install.in: New file.
30642 * util/ieee1275/ofpath.c: New file.
30643 * util/ieee1275/devicemap.c: New file.
30644 * util/devicemap.c: New file.
30645 * util/deviceiter.c: New file.
30646 * kern/sparc64/ieee1275/init.c: New file.
30647 * include/grub/util/ofpath.h: New file.
30648 * include/grub/util/deviceiter.h: New file.
30649 * util/grub-mkdevicemap.c: Include deviceiter.h.
30650 Implement using grub_util_emit_devicemap_entry and
30651 grub_util_iterate_devices.
30652 * conf/i386-corebook.rmk: Build util/deviceiter.c and
30653 util/devicemap.c into grub-mkdevicemap
30654 * conf/i386-efi.rmk: Likewise.
30655 * conf/i386-ieee1275.rmk: Likewise.
30656 * conf/i386-pc.rmk: Likewise.
30657 * conf/powerpc-ieee1275.rmk: Likewise.
30658 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
30659 images and installation utilities. Build kernel as image
30660 instead of as elf binary. Use common rules as much as possible.
30661
7dd4a573 306622009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 30663
30664 Correct GPT definition
30665
7dd4a573 30666 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 30667 of "attrib" member
30668
c6c5219f 306692009-04-19 Felix Zielcke <fzielcke@z-51.de>
30670
30671 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
30672
0552ff9f 306732009-04-19 David S. Miller <davem@davemloft.net>
30674
30675 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
30676 (grub_rescue_cmd_linux): Rename to...
30677 (grub_cmd_linux): and fix prototype.
30678 (grub_rescue_cmd_initrd): Rename to...
30679 (grub_cmd_initrd): and fix prototype.
30680 (cmd_linux, cmd_initrd): New.
30681 (GRUB_MOD_INIT(linux)): Use grub_register_command().
30682 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
30683
d1a282fc 306842009-04-17 Pavel Roskin <proski@gnu.org>
30685
07c5039f 30686 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
30687 format.
30688 (grub_ohci_transfer): Likewise.
30689
b012002d 30690 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
30691
1bc09c35 30692 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
30693 return without a value. Fix inconsistent indentation.
30694
e0ff9126 30695 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
30696 match struct grub_fs.
30697
d1a282fc 30698 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
30699 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
30700 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30701 * commands/lspci.c (grub_lspci_iter): Likewise.
30702
a96df3f2 307032009-04-16 Bean <bean123ch@gmail.com>
30704
30705 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
30706 value.
30707
41bb0fe9 307082009-04-15 Pavel Roskin <proski@gnu.org>
30709
30710 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
30711 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
30712 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
30713 definitions.
30714
596c6970 307152009-04-15 Felix Zielcke <fzielcke@z-51.de>
30716
30717 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 30718 that no multiple data or metadata areas are supported and `Unknown
596c6970 30719 metadata header'.
30720
7dd4a573 307212009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 30722
30723 Move loader out of the kernel
30724
30725 * kern/loader.c: moved to ...
30726 * commands/boot.c: ... moved here
30727 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
30728 * commands/boot.c (grub_cmd_boot): moved here. All users updated
30729 * include/grub/kernel.h (grub_machine_fini): export
30730 * include/grub/loader.h (grub_loader_is_loaded): update declaration
30731 (grub_loader_set): likewise
30732 (grub_loader_unset): likewise
30733 (grub_loader_boot): likewise
30734 * conf/common.rmk: new module boot.mod
30735 (pkglib_MODULES): add boot.mod
30736 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
30737 (grub_emu_SOURCES): likewise
30738 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
30739 (grub_emu_SOURCES): likewise
30740 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
30741 (grub_emu_SOURCES): likewise
30742 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
30743 (grub_emu_SOURCES): likewise
30744 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
30745 (grub_emu_SOURCES): likewise
7dd4a573 30746 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
30747 (grub_emu_SOURCES): likewise
0d5d5653 30748 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 30749 (grub_emu_SOURCES): likewise
0d5d5653 30750
7dd4a573 307512009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 30752
30753 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 30754
5999d619 30755 * kern/misc.c (grub_itoa): Removed function
30756 (grub_ltoa): likewise
30757 (grub_vsprintf): use grub_lltoa
30758
7dd4a573 307592009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 30760
30761 Restore grub-emu
30762
30763 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
30764 * conf/i386-coreboot.rmk: likewise
30765 * conf/i386-ieee1275.rmk: likewise
30766 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 30767
20318222 307682009-04-15 Felix Zielcke <fzielcke@z-51.de>
30769
30770 * INSTALL: Add that `./autogen.sh' needs to be run before
30771 `./configure.'.
30772
d05f0df3 307732009-04-14 Bean <bean123ch@gmail.com>
30774
30775 * Makefile.in (pkglib_DATA): Add handler.lst.
30776 (handler.lst): New rule.
30777
30778 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
30779 * conf/i386-coreboot.rmk: Likewise.
30780 * conf/i386-ieee1275.rmk: Likewise.
30781 * conf/i386-efi.rmk: Likewise.
30782 * conf/x86_64-efi.rmk: Likewise.
30783 * conf/powerpc-ieee1275.rmk: Likewise.
30784 * conf/sparc64-ieee1275.rmk: Likewise.
30785
30786 * genhandlerlist.sh: New file.
30787
30788 * genmk.rb: Add rules to generate handler.lst.
30789
30790 * include/grub/normal.h (grub_file_getline): New function definition.
30791 (read_handler_list): Likewise.
30792 (free_handler_list): Likewise.
30793
30794 * include/grub/term.h (grub_term_register_input): Add name parameter
30795 for auto generation of handler.lst.
30796 (grub_term_register_output): Likewise.
30797
30798 * normal/handler.c: New file.
30799
30800 * normal/main.c (get_line): Renamed to grub_file_getline.
30801 (read_config_file): Use the newly renamed grub_file_getline.
30802 (read_command_list): Likewise.
30803 (read_fs_list): Likewise.
30804 (grub_normal_execute): Call read_handler_list to parse handler.lst.
30805 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
30806
30807 * term/efi/console.c (grub_console_init): Add name parameter for auto
30808 generation of handler.lst.
30809 * term/gfxterm.c: Likewise.
30810 * term/i386/pc/at_keyboard.c: Likewise.
30811 * term/i386/pc/console.c: Likewise.
30812 * term/i386/pc/serial.c: Likewise.
30813 * term/i386/pc/vesafb.c: Likewise.
30814 * term/i386/pc/vga.c: Likewise.
30815 * term/i386/pc/vga_text.c: Likewise.
30816 * term/ieee1275/ofconsole.c: Likewise.
30817 * term/usb_keyboard.c: Likewise.
30818
33c846be 308192009-04-14 Bean <bean123ch@gmail.com>
30820
30821 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
30822 properly with null character.
30823
4484e01e 308242009-04-14 Felix Zielcke <fzielcke@z-51.de>
30825
30826 * configure: Remove.
30827 * config.h.in: Likewise.
f93d668e 30828 * stamp-h.in: Likewise.
4484e01e 30829 * DISTLIST: Likewise.
30830 * conf/common.mk: Likewise.
30831 * conf/i386-coreboot.mk: Likewise.
30832 * conf/i386-efi.mk: Likewise.
30833 * conf/i386-ieee1275.mk: Likewise.
30834 * conf/i386.mk: Likewise.
30835 * conf/i386-pc.mk: Likewise.
30836 * conf/powerpc-ieee1275.mk: Likewise.
30837 * conf/sparc64-ieee1275.mk: Likewise.
30838 * conf/x86_64-efi.mk: Likewise.
30839
30840 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
30841 develop on GRUB.
30842
7dd4a573 308432009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 30844 David S. Miller <davem@davemloft.net>
30845
30846 * util/hostdisk.c (make_device_name): Fix buffer length
30847 calculations.
30848
e25b5a8c 308492009-04-14 Felix Zielcke <fzielcke@z-51.de>
30850
30851 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
30852 <sys/param.h> and <sys/sysctl.h>.
30853 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
30854 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
30855 opening the device and reset them afterwards.
30856
1f1f580c 308572009-04-13 Pavel Roskin <proski@gnu.org>
30858
30859 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
30860 Reported by John Stanley <jpsinthemix@verizon.net>
30861
7ebc2d6b 308622009-04-13 Robert Millan <rmh@aybabtu.com>
30863
30864 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 30865 that name for menuentries when appropriate.
7ebc2d6b 30866
d8ba3667 308672009-04-13 Felix Zielcke <fzielcke@z-51.de>
30868
30869 * util/grub.d/10_freebsd.in: Add a missing `fi'.
30870
cba416eb 308712009-04-13 Robert Millan <rmh@aybabtu.com>
30872
30873 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
30874 to Linux, simply abort telling the user it's no longer supported.
30875
a547a745 308762009-04-13 Felix Zielcke <fzielcke@z-51.de>
30877
30878 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 30879 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 30880 `freebsd_loadenv' only when devices.hints exist.
30881
232a769c 308822009-04-13 Pavel Roskin <proski@gnu.org>
30883
30884 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
30885
c3012039 308862009-04-13 Felix Zielcke <fzielcke@z-51.de>
30887
30888 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
30889 partition number.
30890 (grub_drive): Likewise.
30891
234022fe 308922009-04-13 David S. Miller <davem@davemloft.net>
30893
30894 * kern/sparc64/ieee1275/ieee1275.c: New file.
30895 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
30896 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
30897 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
30898 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
30899 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
30900 grub_ieee1275_alloc_physmem): Declare new exported functions.
30901
d8e1836c 30902 * include/grub/sparc64/ieee1275/loader.h: New file.
30903 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30904 * include/grub/sparc64/kernel.h: Likewise.
30905 * loader/sparc64/ieee1275/linux.c: Likewise.
30906
96bd81ec 30907 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
30908 (grub_fstest_SOURCES): Likewise.
30909
6a4737e5 30910 * util/hostdisk.c (make_device_name): Do not make any assumptions
30911 about the length of drive names.
30912
1d7a72fd 30913 * kern/dl.c (grub_dl_load_file): Close file immediately when
30914 we are done using it.
30915
56bc2471 309162009-04-12 David S. Miller <davem@davemloft.net>
30917
30918 * kern/misc.c (grub_ltoa): Fix cast when handling negative
30919 values. Noticed by Pavel Roskin.
30920
df38d0bb 30921 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
30922 target compiler.
7dd4a573 30923
e382e93a 30924 * genmk.rb: Add more flexible image type specification, also
30925 pass --strip-unneeded to objcopy.
30926 * conf/i386-pc.rmk: Use *_FORMAT.
30927 * conf/i386-pc.mk: Rebuilt.
30928
f5dbbca9 30929 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
30930 (OFDISK_HASH_SZ): Define.
30931 (ofdisk_hash): New hash table.
30932 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
30933 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
30934 instead of device phandle which is not unique.
30935
91c88b12 30936 * kern/sparc64/ieee1275/init.c: Delete, replace with...
30937 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
30938 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
30939 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
30940 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
30941 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
30942 GRUB_KERNEL_MACHINE_DATA_END): Define.
30943 (grub_kernel_image_size, grub_total_module_size): Declare.
30944
5b5d4aa5 309452009-04-12 Pavel Roskin <proski@gnu.org>
30946
7dd4a573 30947 * configure.ac: Change the logic when we check for target tools.
30948 Do it when the target is specified and it's different from the
30949 specified value of the host.
5b5d4aa5 30950
c91e1793 309512009-04-11 Felix Zielcke <fzielcke@z-51.de>
30952
30953 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
30954 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
30955 GNU/kFreeBSD. Check if a device is a character device. Use
30956 DIOCGMEDIASIZE to get the size.
30957 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
30958 support for GNU/kFreeBSD.
30959 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
30960 is a character device instead of a block device. Add support for
30961 FreeBSD device names.
30962
30963 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
30964 is a character device instead of a block device.
30965
30966 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
30967 is a character device instead of a block device.
30968
b1ac8644 309692009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
30970
30971 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
30972 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
30973 FreeBSD. Check if a device is a character device. Use
30974 DIOCGMEDIASIZE to get the size.
30975 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
30976 support for FreeBSD.
30977 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
30978 is a character device instead of a block device. Add support for
30979 FreeBSD device names.
30980
30981 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
30982 a character device instead of a block device.
30983 (grub_util_check_char_device): New function.
30984
30985 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
30986 a character device instead of a block device.
30987
30988 * include/grub/util/getroot.h (grub_util_check_char_device): New
30989 prototype.
30990
a3f7515a 309912009-04-11 David S. Miller <davem@davemloft.net>
30992
30993 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
30994 static libgcc.
30995 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
30996 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
30997 function, if present.
30998 (__bswapdi2): Likewise.
30999
0d44993d 31000 * include/grub/sparc64/ieee1275/boot.h: New file.
31001 * boot/sparc64/ieee1275/boot.S: Likewise.
31002 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31003
ed3d2bc2 31004 * kern/misc.c (grub_ltoa): New function.
31005 (grub_vsprintf): Use it to format 'long' integers.
31006
d3bfb59c 310072009-04-10 David S. Miller <davem@davemloft.net>
31008
31009 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31010 slots are of type grub_ieee1275_cell_t.
31011 (grub_nand_read): Likewise.
31012 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31013 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31014 macros are used to compare values in arg/ret block of the call.
31015 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31016 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31017 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31018 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31019 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31020 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31021 grub_ieee1275_close, grub_ieee1275_set_property,
31022 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31023 grub_ieee1275_cell_t.
31024 * kern/ieee1275/openfw.c (grub_map): Likewise.
31025 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31026 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31027
450e2238 31028 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31029 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31030 (grub_devalias_iterate): Likewise.
31031
7dd4a573 310322009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 31033
31034 UFS improvements
31035
31036 * fs/ufs.c (INODE_NBLOCKS): new definition
31037 (struct grub_ufs_dirent): added fields for non-BSD dirents
31038 (grub_ufs_get_file_block): fixed double indirect handling
31039 (grub_ufs_lookup_symlink): use more robust way to determine whether
31040 symlink is inline
31041 (grub_ufs_find_file): support for non-BSD dirents
31042 (grub_ufs_dir): support for non-BSD dirents
31043
e7e6862a 310442009-04-10 Bean <bean123ch@gnail.com>
31045
31046 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31047 attribute, otherwise the size would be wrong for i386 platform.
31048
31049 * include/grub/pci.h (grub_pci_read_word): New inline function.
31050 (grub_pci_read_byte): Likewise.
31051 (grub_pci_write): Likewise.
31052 (grub_pci_write_word): Likewise.
31053 (grub_pci_write_byte): Likewise.
31054
31055 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31056
31057 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31058 (find_framebuf): Scan pci to locate the frame buffer address.
31059
31060 * commands/efi/fixvideo.c: New file.
31061
31062 * commands/efi/loadbios.c: Likewise.
31063
31064 * commands/memrw.c: Likewise.
31065
31066 * util/grub-dumpbios.in: Likewise.
31067
31068 * conf/common.rmk (grub-dumpbios): New utility.
31069 (pkglib_MODULES): New module memrw.mod.
31070 (memrw_mod_SOURCE): New macro.
31071 (memrw_mod_CFLAGS): Likewise.
31072 (memrw_mod_LDFLAGS): Likewise.
31073
7dd4a573 31074 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31075 fixvideo.mod.
31076 (loadbios_mod_SOURCE): New macro.
31077 (loadbios_mod_CFLAGS): Likewise.
31078 (loadbios_mod_LDFLAGS): Likewise.
31079 (fixvideo_mod_SOURCE): Likewise.
31080 (fixvideo_mod_CFLAGS): Likewise.
31081 (fixvideo_mod_LDFLAGS): Likewise.
31082
7dd4a573 31083 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31084 fixvideo.mod.
31085 (loadbios_mod_SOURCE): New macro.
31086 (loadbios_mod_CFLAGS): Likewise.
31087 (loadbios_mod_LDFLAGS): Likewise.
31088 (fixvideo_mod_SOURCE): Likewise.
31089 (fixvideo_mod_CFLAGS): Likewise.
31090 (fixvideo_mod_LDFLAGS): Likewise.
31091
af63ada2 310922009-04-08 Felix Zielcke <fzielcke@z-51.de>
31093
31094 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31095
c2cdde70 310962009-04-07 David S. Miller <davem@davemloft.net>
31097
31098 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31099 support for R_SPARC_OLO10 relocations. Fix compile warning for
31100 R_SPARC_WDISP30 case.
ea3f72cf 31101 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 31102
761319cf 311032009-04-06 Pavel Roskin <proski@gnu.org>
31104
1007d1f5 31105 * include/grub/misc.h (ARRAY_SIZE): New macro.
31106 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31107 New macro.
31108 * loader/i386/linux.c (allocate_pages): Use free_pages().
31109 (grub_linux_unload): Don't use free_pages().
31110 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31111 wrong index. Treat all other modes as text modes.
31112 (grub_cmd_linux): Initialize vid_mode unconditionally to
31113 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31114
761319cf 31115 * commands/help.c (print_command_help): Use cmd->prio, not
31116 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31117
ea761d40 311182009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 31119
ea761d40 31120 Parttool
31121
31122 * parttool/pcpart.c: new file
31123 * commands/parttool.c: likewise
31124 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31125 (parttool_mod_SOURCES): new variable
31126 (parttool_mod_CFLAGS): likewise
31127 (parttool_mod_LDFLAGS): likewise
31128 (pcpart_mod_SOURCES): likewise
31129 (pcpart_mod_CFLAGS): likewise
31130 (pcpart_mod_LDFLAGS): likewise
7dd4a573 31131 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 31132 and parttool/pcpart.c
31133 * conf/i386-efi.rmk: likewise
31134 * conf/i386-ieee1275.rmk: likewise
31135 * conf/i386-pc.rmk: likewise
31136 * conf/powerpc-ieee1275.rmk: likewise
31137 * conf/sparc64-ieee1275.rmk: likewise
31138 * conf/x86_64-ieee1275.rmk: likewise
31139
05aaebfb 311402009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31141
31142 Support for mtime and further expandability of dir command
31143
31144 * include/grub/lib/datetime.h: moved to ...
7dd4a573 31145 * include/grub/datetime.h: ... moved here and added
05aaebfb 31146 declaration of grub_unixtime2datetime. All users updated
7dd4a573 31147 * include/grub/fs.h: new syntax for dir and mtime functions in
31148 struct grub_fs
05aaebfb 31149 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31150 and GRUB_FSHELP_FLAGS_MASK
31151 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31152 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31153 (grub_ext2_mtime): new function
31154 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31155 (grub_hfsplus_mtime): new function
31156 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31157 (GRUB_UFS_ATTR_FILE): likewise
31158 (GRUB_UFS_ATTR_LNK): likewise
31159 (struct grub_ufs_sblock): new fields mtime
31160 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31161 all users updated
31162 (grub_ufs_dir): mtime support
31163 (grub_ufs_mtime): new function
31164 * fs/affs.c (grub_affs_dir): use new dir syntax
31165 * fs/afs.c (grub_afs_dir): likewise
31166 * fs/cpio.c (grub_cpio_dir): likewise
31167 * fs/fat.c (grub_fat_find_dir): likewise
31168 * fs/hfs.c (grub_hfs_dir): likewise
31169 * fs/iso9660.c (grub_iso9660_dir): likewise
31170 * fs/jfs.c (grub_jfs_dir): likewise
31171 * fs/minix.c (grub_minix_dir): likewise
31172 * fs/ntfs.c (grub_ntfs_dir): likewise
31173 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31174 * fs/sfs.c (grub_sfs_dir): likewise
31175 * fs/xfs.c (grub_xfs_dir): likewise
31176 * util/hostfs.c (grub_hostfs_dir): likewise
31177 * lib/datetime.c: moved to ...
31178 * normal/datetime.c: ... moved here
31179 (grub_unixtime2datetime): new function
31180 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 31181 * normal/completion.c (iterate_dir): use new dir syntax
31182 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 31183 last modification time of a volume
7dd4a573 31184 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 31185 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 31186 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 31187 (normal_mod_SOURCES): likewise
31188 (datetime_mod_SOURCES): Removed lib/datetime.c
31189 * conf/i386-efi.rmk: likewise
7dd4a573 31190 * conf/i386-ieee1275.rmk: likewise
05aaebfb 31191 * conf/i386-pc.rmk: likewise
31192 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31193 * conf/sparc64-ieee1275.rmk: likewise
31194 * conf/x86_64-efi.rmk: likewise
05aaebfb 31195
8a7e1a14 311962009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31197
31198 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 31199
31200 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 31201 on grub_fat_find_dir
31202 (grub_fat_find_dir): use grub_fat_iterate_dir
31203 (grub_fat_label): likewise
31204
04186a9c 312052009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31206
7dd4a573 31207 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 31208 and command.h
31209 remove extraneous kernel_elf_HEADERS
31210
da4c0bb6 312112009-04-04 Bean <bean123ch@gnail.com>
31212
31213 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31214
31215 * util/misc.c: Likewise.
31216
54ad9555 312172009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31218
31219 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31220 instead of grub_printf.
31221
7a6bf9f2 312222009-04-03 Robert Millan <rmh@aybabtu.com>
31223
31224 * loader/i386/linux.c (grub_linux_setup_video): Fill
31225 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31226 values from `mode info' structure instead of hardcoded
31227 values.
31228
3fcc2083 312292009-04-01 Pavel Roskin <proski@gnu.org>
31230
31231 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31232 unused now.
31233 * genmk.rb: Likewise.
31234 * configure.ac: Likewise.
31235
5ec9740b 312362009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31237
31238 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31239 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31240
5270cec8 312412009-04-01 David S. Miller <davem@davemloft.net>
31242
31243 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 31244 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 31245 (grub_setjmp): Mark with 'returns_twice' attribute.
31246 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31247 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31248 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31249
9c3dd854 312502009-04-01 Robert Millan <rmh@aybabtu.com>
31251
31252 Reapply fix from 2008-07-28 which was accidentally reverted; also
31253 perform the same fix to a similar check in same function.
31254
31255 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31256 with the same number are found, just use issue a warning with
31257 grub_dprintf(), as this error has been reported to be non-fatal.
31258
0d818b7e 312592009-03-31 Pavel Roskin <proski@gnu.org>
31260
31261 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31262 for cross-compilation.
31263
95646d92 312642009-03-30 Robert Millan <rmh@aybabtu.com>
31265
31266 Fix i386-ieee1275 build.
31267
31268 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31269 Remove declaration.
31270
6a003ed1 312712009-03-30 Pavel Roskin <proski@gnu.org>
31272
31273 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31274 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31275 zero-terminated, rely only on the strlen value. Fix comparison
31276 of strings differing in length.
31277
92f33540 312782009-03-30 Robert Millan <rmh@aybabtu.com>
31279
31280 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31281 checking for abi version. Improve error messages on BIOS to notify
31282 user about `linux16' command.
31283
a8c48fd5 312842009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31285
f968172e 31286 Leak fixes
a8c48fd5 31287
f968172e 31288 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31289 in case of collision
31290 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 31291
9c323f09 312922009-03-29 Robert Millan <rmh@aybabtu.com>
31293
31294 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31295 set `vid_mode' accordingly.
31296 (grub_linux_boot): Process `vid_mode' and set video mode.
31297
ae68f423 312982009-03-29 Robert Millan <rmh@aybabtu.com>
31299
31300 * util/grub.d/10_linux.in (linux_entry): New function.
31301 Factorize generation of Linux boot entries.
31302
5709cfc4 313032009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31304
31305 Make the format of Environment Block plain text. The boot loader
31306 part is not tested well yet.
7dd4a573 31307
5709cfc4 31308 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31309 (buffer): Removed.
31310 (envblk): Likewise.
31311 (usage): Remove "info" and "clear". Add "unset". Update the
31312 description of "set", as this does not delete variables any
31313 longer.
31314 (create_envblk_file): Complete rewrite.
31315 (open_envblk_file): Likewise.
31316 (cmd_info): Removed.
31317 (cmd_list): Likewise.
31318 (cmd_set): Likewise.
31319 (cmd_clear): Likewise.
31320 (list_variables): New function.
31321 (write_envblk): Likewise.
31322 (set_variables): Likewise.
31323 (unset_variables): Likewise.
31324 (main): Complete rewrite.
31325
31326 * commands/loadenv.c (buffer): Removed.
31327 (envblk): Likewise.
31328 (open_envblk_file): New function.
31329 (read_envblk_file): Complete rewrite.
31330 (grub_cmd_load_env): Likewise.
31331 (grub_cmd_list_env): Likewise.
31332 (struct blocklist): New struct.
31333 (free_blocklists): New function.
31334 (check_blocklists): Likewise.
31335 (write_blocklists): Likewise.
31336 (grub_cmd_save_env): Complete rewrite.
31337
31338 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31339 a plain text signature.
31340 (GRUB_ENVBLK_MAXLEN): Removed.
31341 (struct grub_envblk): Complete rewrite.
31342 (grub_envblk_find): Removed.
31343 (grub_envblk_insert): Likewise.
31344 (grub_envblk_open): New prototype.
31345 (grub_envblk_set): Likewise.
31346 (grub_envblk_delete): Put const to VALUE.
31347 (grub_envblk_iterate): Put const to NAME and VALUE.
31348 (grub_envblk_close): New prototype.
31349 (grub_envblk_buffer): New inline function.
31350 (grub_envblk_size): Likewise.
31351
31352 * lib/envblk.c: Include grub/mm.h.
31353 (grub_env_find): Removed.
31354 (grub_envblk_open): New function.
31355 (grub_envblk_close): Likewise.
31356 (escaped_value_len): Likewise.
31357 (find_next_line): Likewise.
31358 (grub_envblk_insert): Removed.
31359 (grub_envblk_set): New function.
31360 (grub_envblk_delete): Complete rewrite.
31361 (grub_envblk_iterate): Likewise.
31362
a9368fd3 313632009-03-28 Robert Millan <rmh@aybabtu.com>
31364
31365 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31366 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31367 variables. Use 16-bit loader.
31368 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31369 loader.
31370 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31371 (grub_linux16_boot): ... this. Update all users.
31372 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31373 (grub_linux_boot): ... this. Update all users.
31374
31375 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31376 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31377 commands to `linux16' and `initrd16'.
31378 (GRUB_MOD_FINI(linux)): Rename to ...
31379 (GRUB_MOD_FINI(linux16)): ... this.
31380
e4dd5a7e 313812009-03-24 Pavel Roskin <proski@gnu.org>
31382
31383 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31384 not just for compilation.
31385
c04d6e05 313862009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31387
31388 Move multiboot helper out of kernel
31389
31390 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31391 `loader/i386/multiboot_helper.S'.
31392 * conf/i386-coreboot.rmk: Likewise
31393 * conf/i386-ieee1275.rmk: Likewise
31394
31395 * kern/i386/loader.S: Move multiboot helpers from here...
31396 * loader/i386/multiboot_helper.S: ...moved here
31397 * include/grub/i386/loader.h: Move declarations of multiboot
31398 helpers from here...
31399 * include/grub/i386/multiboot.h: ...moved here
31400 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31401
42a5b3fc 314022009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31403
31404 * kern/env.c (grub_env_context_open): Added an argument to specify
31405 whether a new context inherits exported variables from current
31406 one. This is useful when making a sandbox to interpret a config
31407 file.
31408 All callers updated.
31409
31410 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31411
b28bbc4e 314122009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31413
31414 * kern/env.c (grub_env_context_close): Fix memory leaks.
31415
f04f02e4 314162009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31417
31418 * normal/main.c (grub_normal_execute): Added an argument
31419 BATCH to specify if an interactive interface should be provided
31420 after reading a config file.
31421 All callers updated.
31422 (read_command_list): Prevent being executed twice.
31423 (read_fs_list): Likewise.
31424
42a5b3fc 31425 * include/grub/normal.h (grub_normal_execute): Updated the
31426 prototype.
f04f02e4 31427
41473ac2 314282009-03-22 Pavel Roskin <proski@gno.org>
31429
fbc00b0c 31430 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31431 _start.
31432 * kern/i386/pc/startup.S: Likewise.
31433 * kern/i386/efi/startup.S: Likewise.
31434 * kern/i386/ieee1275/startup.S: Likewise.
31435 * kern/i386/coreboot/startup.S: Likewise.
31436 * kern/x86_64/efi/startup.S: Likewise.
31437
41473ac2 31438 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31439 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31440 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31441
2274cc8f 314422009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31443
31444 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31445
31446 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31447 limit detection.
31448 Use vaddr of correct segment for entry_point.
31449
b1b797cb 314502009-03-21 Bean <bean123ch@gmail.com>
31451
31452 * commands/blocklist.c: Add include file <grub/command.h>, remove
31453 <grub/normal.h> and <grub/arg.h>.
31454 (grub_cmd_blocklist): Use the new command interface.
31455 (GRUB_MOD_INIT): Likewise.
31456 (GRUB_MOD_FINI): Likewise.
31457 * commands/boot.c: Likewise.
31458 * commands/cat.c: Likewise.
31459 * commands/cmp.c: Likewise.
31460 * commands/configfile.c: Likewise.
31461 * commands/crc.c: Likewise.
31462 * commands/echo.c: Likewise.
31463 * commands/halt.c: Likewise.
31464 * commands/handler.c: Likewise.
31465 * commands/hdparm.c: Likewise.
31466 * commands/help.c: Likewise.
31467 * commands/hexdump.c: Likewise.
31468 * commands/loadenv.c: Likewise.
31469 * commands/ls.c: Likewise.
31470 * commands/lsmmap.c: Likewise.
31471 * commands/lspci.c: Likewise.
31472 * commands/loadenv.c: Likewise.
31473 * commands/read.c: Likewise.
31474 * commands/reboot.c: Likewise.
31475 * commands/search.c: Likewise.
31476 * commands/sleep.c: Likewise.
31477 * commands/test.c: Likewise.
31478 * commands/usbtest.c: Likewise.
31479 * commands/videotest.c: Likewise.
31480 * commands/i386/cpuid.c: Likewise.
31481 * commands/i386/pc/halt.c: Likewise.
31482 * commands/i386/pc/play.c: Likewise.
31483 * commands/i386/pc/pxecmd.c: Likewise.
31484 * commands/i386/pc/vbeinfo.c: Likewise.
31485 * commands/i386/pc/vbetest.c: Likewise.
31486 * commands/ieee1275/suspend.c: Likewise.
31487 * disk/loopback.c: Likewise.
31488 * font/font_cmd.c: Likewise.
31489 * hello/hello.c: Likewise.
31490 * loader/efi/appleloader.c: Likewise.
31491 * loader/efi/chainloader.c: Likewise.
31492 * loader/i386/bsd.c: Likewise.
31493 * loader/i386/efi/linux.c: Likewise.
31494 * loader/i386/ieee1275/linux.c: Likewise.
31495 * loader/i386/linux.c: Likewise.
31496 * loader/i386/pc/chainloader.c: Likewise.
31497 * loader/i386/pc/linux.c: Likewise.
31498 * loader/powerpc/ieee1275/linux.c: Likewise.
31499 * loader/multiboot_loader.c: Likewise.
31500 * term/gfxterm.c: Likewise.
31501 * term/i386/pc/serial.c: Likewise.
31502 * term/terminfo.c: Likewise.
31503
31504 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31505 * term/i386/pc/vga.c: Likewise.
31506 * video/readers/jpeg.c: Likewise.
31507 * video/readers/png.c: Likewise.
31508 * video/readers/tga.c: Likewise.
31509
31510 * util/grub-fstest (cmd_loopback): Removed.
31511 (cmd_blocklist): Likewise.
31512 (cmd_ls): Likewise.
31513 (grub_register_command): Likewise.
31514 (grub_unregister_command): Likewise.
31515 (execute_command): Use grub_command_find to locate command and execute
31516 it.
31517
31518 * include/grub/efi/chainloader.h: Removed.
31519 * loader/efi/chainloader_normal.c: Likewise.
31520 * loader/i386/bsd_normal.c: Likewise.
31521 * loader/i386/pc/chainloader_normal.c: Likewise.
31522 * loader/i386/pc/multiboot_normal.c: Likewise.
31523 * loader/linux_normal.c: Likewise.
31524 * loader/multiboot_loader_normal.c: Likewise.
31525 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31526
31527 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31528 and grub_register_command_p1.
31529
31530 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31531 kern/command.c, lib/arg.c and commands/extcmd.c.
31532 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31533 (minicmd_mod_SOURCES): New variable.
31534 (minicmd_mod_CFLAGS): Likewise.
31535 (minicmd_mod_LDFLAGS): Likewise.
31536 (extcmd_mod_SOURCES): Likewise.
31537 (extcmd_mod_CFLAGS): Likewise.
31538 (extcmd_mod_LDFLAGS): Likewise.
31539 (boot_mod_SOURCES): Removed.
31540 (boot_mod_CFLAGS): Likewise.
31541 (boot_mod_LDFLAGS): Likewise.
31542
31543 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31544 kern/corecmd.c.
31545 (kernel_img_HEADERS): Add command.h.
31546 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31547 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31548 and lib/arg.c.
31549 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31550 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31551 remove the corresponding normal mode command.
31552 (normal_mod_SOURCES): Remove normal/arg.c.
31553 * conf/i386-coreboot.rmk: Likewise.
31554 * conf/i386-efi.rmk: Likewise.
31555 * conf/i386-ieee1275.rmk: Likewise.
31556 * conf/powerpc-ieee1275.rmk: Likewise.
31557 * conf/x86_64-efi.rmk: Likewise.
31558
31559 * include/grub/arg.h: Move from here ...
31560 * include/grub/lib/arg.h: ... to here.
31561
31562 * normal/arg.c: Move from here ...
31563 * lib/arg.c: ... to here.
31564
31565 * commands/extcmd.c: New file.
31566 * commands/minicmd.c: Likewise.
31567 * include/grub/command.h: Likewise.
31568 * include/grub/extcmd.h: Likewise.
31569 * kern/command.c: Likewise.
31570 * kern/corecmd.c: Likewise.
31571
31572 * kern/list.c (grub_list_iterate): Return int instead of void.
31573 (grub_list_insert): New function.
31574 (grub_prio_list_insert): Likewise.
31575
31576 * kern/rescue.c (grub_rescue_command): Removed.
31577 (grub_rescue_command_list): Likewise.
31578 (grub_rescue_register_command): Likewise.
31579 (grub_rescue_unregister_command): Likewise.
31580 (grub_rescue_cmd_boot): Move to minicmd.c
31581 (grub_rescue_cmd_help): Likewise.
31582 (grub_rescue_cmd_info): Likewise.
31583 (grub_rescue_cmd_boot): Likewise.
31584 (grub_rescue_cmd_testload): Likewise.
31585 (grub_rescue_cmd_dump): Likewise.
31586 (grub_rescue_cmd_rmmod): Likewise.
31587 (grub_rescue_cmd_lsmod): Likewise.
31588 (grub_rescue_cmd_exit): Likewise.
31589 (grub_rescue_print_devices): Moved to corecmd.c.
31590 (grub_rescue_print_files): Likewise.
31591 (grub_rescue_cmd_ls): Likewise.
31592 (grub_rescue_cmd_insmod): Likewise.
31593 (grub_rescue_cmd_set): Likewise.
31594 (grub_rescue_cmd_unset): Likewise.
7d074e3c 31595 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 31596 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 31597 commands, remove grub_rescue_register_command calls.
b1b797cb 31598
7d074e3c 31599 * normal/command.c (grub_register_command): Removed.
b1b797cb 31600 (grub_unregister_command): Likewise.
31601 (grub_command_find): Likewise.
31602 (grub_iterate_commands): Likewise.
31603 (rescue_command): Likewise.
31604 (export_command): Moved to corecmd.c.
31605 (set_command): Removed.
31606 (unset_command): Likewise.
31607 (insmod_command): Likewise.
31608 (rmmod_command): Likewise.
31609 (lsmod_command): Likewise.
31610 (grub_command_init): Likewise.
31611
31612 * normal/completion.c (iterate_command): Use cmd->prio to check for
31613 active command.
31614 (complete_arguments): Use grub_extcmd_t structure to find options.
31615 (grub_normal_do_completion): Change function grub_iterate_commands to
31616 grub_command_iterate.
31617
31618 * normal/execute.c (grub_script_execute_cmd): No need to parse
31619 argument here.
31620
31621 * normal/main.c (grub_dyncmd_dispatcher): New function.
31622 (read_command_list): Register unload commands as dyncmd.
31623 (grub_cmd_normal): Use new command interface, register rescue,
31624 unregister normal at entry, register normal, unregister rescue at exit.
31625
31626 * include/grub/list.h (grub_list_test_t): New type.
31627 (grub_list_iterate): Return int instead of void.
31628 (grub_list_insert): New function.
31629 (GRUB_AS_NAMED_LIST_P): New macro.
31630 (GRUB_AS_PRIO_LIST): Likewise.
31631 (GRUB_AS_PRIO_LIST_P): Likewise.
31632 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
31633 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
31634 (grub_prio_list): New structure.
31635 (grub_prio_list_insert): New function.
31636 (grub_prio_list_remove): New inline function.
31637
31638 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
31639 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
31640 (GRUB_COMMAND_FLAG_MENU): Likewise.
31641 (GRUB_COMMAND_FLAG_BOTH): Likewise.
31642 (GRUB_COMMAND_FLAG_TITLE): Likewise.
31643 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
31644 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
31645 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
31646 (grub_command): Likewise.
31647 (grub_register_command): Likewise.
31648 (grub_command_find): Likewise.
31649 (grub_iterate_commands): Likewise.
31650 (grub_command_init): Likewise.
31651 (grub_arg_parse): Likewise.
31652 (grub_arg_show_help): Likewise.
31653
31654 * include/grub/rescue.h (grub_rescue_register_command): Removed.
31655 (grub_rescue_unregister_command): Likewise.
31656
31657 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
31658 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
31659 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
31660
31661 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
31662 grub_rescue_cmd_initrd.
31663 * include/grub/i386/loader.h: Likewise.
31664 * include/grub/x86_64/loader.h: Likewise.
31665
31666 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
31667
1f4147aa 316682009-03-21 Bean <bean123ch@gmail.com>
31669
31670 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
31671 instead of stat in mingw environment.
31672
31673 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
31674
31675 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
31676
31677 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
31678 AC_CONFIG_LINKS.
31679
2156d5ba 316802009-03-21 Bean <bean123ch@gmail.com>
31681
31682 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
31683 out of range error.
31684
177b82ca 316852009-03-18 Michel Dänzer <michel@daenzer.net>
31686
31687 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
31688 checking inode flags for EXT4_EXTENTS_FLAG.
31689
14aad807 316902009-03-18 Robert Millan <rmh@aybabtu.com>
31691
31692 * loader/i386/linux.c: Include `<grub/video.h>' and
31693 `<grub/i386/pc/vbe.h>'..
31694 (grub_linux_setup_video): New function. Loosely based on the EFI one.
31695 (grub_linux32_boot): Attempt to configure video settings with
31696 grub_linux_setup_video().
31697 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
31698 to avoid grub_console_fini() which would step out of graphical mode
31699 unconditionally.
31700
8cf83a27 317012009-03-14 Robert Millan <rmh@aybabtu.com>
31702
31703 Fix build on powerpc.
31704 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
31705
40164e75 317062009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
31707
31708 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
31709 background image command.
31710
c58bc32a 317112009-03-12 Colin D Bennett <colin@gibibit.com>
31712
31713 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
31714 (grub_gfxterm_putchar): Extract pairs of identical calls to
31715 draw_cursor out of conditional blocks.
31716
5415144a 317172009-03-11 Pavel Roskin <proski@gnu.org>
31718
31719 * fs/hfs.c (grub_hfs_strncasecmp): New function.
31720 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
31721
6394042e 317222009-03-11 Robert Millan <rmh@aybabtu.com>
31723
31724 * loader/i386/multiboot_elfxx.c
31725 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
31726
b7b50e5f 317272009-03-11 Felix Zielcke <fzielcke@z-51.de>
31728
31729 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
31730 `kern/handler.c'.
31731
1ca7fc96 317322009-03-11 Robert Millan <rmh@aybabtu.com>
31733
31734 * loader/i386/multiboot.c (code_size): New variable.
31735 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 31736 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 31737 4-byte alignment to MBI and others by increasing
7d074e3c 31738 `boot_loader_name_length' appropriately.
1ca7fc96 31739
31740 * loader/i386/multiboot_elfxx.c
31741 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
31742
a83ea1d2 317432009-03-09 Felix Zielcke <fzielcke@z-51.de>
31744
31745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
31746 `fs/ext2.c'.
31747
aa9f3bff 317482009-03-08 Robert Millan <rmh@aybabtu.com>
31749
31750 Make loader/i386/linux.c usable on i386-pc again.
31751
31752 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
31753 memory to heap.
31754 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
31755 `#error' stanza.
31756
d8b3b60e 317572009-03-07 Bean <bean123ch@gmail.com>
31758
31759 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
31760 allocation.
31761
b362c9e9 317622009-03-06 Robert Millan <rmh@aybabtu.com>
31763
31764 Fix display issue on terminals with screen size other than 80x25
31765 (e.g. gfxterm with resolution higher than 640x480).
31766
31767 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 31768 position relative to the center of the terminal instead of relying
b362c9e9 31769 on a hardcoded offset.
31770
9304eef1 317712009-03-04 Robert Millan <rmh@aybabtu.com>
31772
31773 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
31774 installed.
31775
31776 * Makefile.in (host_kernel): New variable.
31777 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
31778 scripts instead of just the windows one.
31779 * configure.ac: Initialize and AC_SUBST `host_kernel'.
31780
eabc95fb 317812009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 31782
31783 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
31784 `kern/handler.c'.
31785 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31786 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31787 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31789 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31790 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31791
ceb1223c 317922009-03-04 Felix Zielcke <fzielcke@z-51.de>
31793
31794 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
31795 or if there's no space for the disk label and print the partition number on a
31796 invalid magic.
31797
4910684a 317982009-03-04 Felix Zielcke <fzielcke@z-51.de>
31799
31800 * util/misc.c: Include <time.h>.
31801 (grub_millisleep): New function.
31802
7e9ca17a 318032009-03-04 Bean <bean123ch@gmail.com>
31804
31805 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
31806 another option -mno-red-zone.
31807
31808 * commands/handler.c: Change module description.
31809
31810 * kern/handler.c: Add missing space at the end of description line.
31811
31812 * kern/list.c: Likewise.
31813
f501677c 318142009-03-03 Robert Millan <rmh@aybabtu.com>
31815
31816 Move more components to the relocation area, and fix mbi pointer
31817 handling to use the destination rather than the origin (thanks to
31818 Vladimir Serbinenko for spotting).
31819
31820 * loader/i386/multiboot.c (mbi_dest): New variable.
31821 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
31822 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
31823 relocation area.
31824
9902d047 318252009-03-01 Bean <bean123ch@gmail.com>
31826
50fb7002 31827 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 31828 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
31829 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
31830 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
31831
31832 * loader/i386/efi/linux.c (acpi_guid): New variable.
31833 (acpi_guid): Likewise.
31834 (EBDA_SEG_ADDR): New constant.
31835 (LOW_MEM_ADDR): Likewise.
31836 (FAKE_EBDA_SEG): Likewise.
31837 (fake_bios_data): New function.
31838 (grub_linux_boot): Call fake_bios_data.
31839
71b9f361 318402009-03-01 Bean <bean123ch@gmail.com>
31841
31842 * commands/terminal.c: Removed.
31843
31844 * commands/handler.c: New file.
31845
31846 * include/grub/list.h: Likewise.
31847
31848 * include/grub/handler.h: Likewise.
31849
31850 * kern/list.c: Likewise.
31851
31852 * kern/handler.c: Likewise.
31853
31854 * kern/term.h: Include header file <grub/handler.h>.
31855 (grub_term_input): Move next field to the beginning.
31856 (grub_term_output): Likewise.
31857 (grub_term_input_class): New variable.
31858 (grub_term_output_class): Likewise.
31859 (grub_term_register_input): Changed to inline function.
31860 (grub_term_register_output): Likewise.
31861 (grub_term_unregister_input): Likewise.
31862 (grub_term_unregister_output): Likewise.
31863 (grub_term_set_current_input): Likewise.
31864 (grub_term_set_current_output): Likewise.
31865 (grub_term_get_current_input): Likewise.
31866 (grub_term_get_current_output): Likewise.
31867 (grub_term_iterate_input): Removed.
31868 (grub_term_iterate_output): Likewise.
31869
31870 * kern/term.c (grub_term_list_input): Removed.
31871 (grub_term_list_output): Likewise.
31872 (grub_term_input_class): New variable.
31873 (grub_term_output_class): Likewise.
50fb7002 31874 (grub_cur_term_input): Change variable as macro.
71b9f361 31875 (grub_cur_term_output): Likewise.
31876 (grub_term_register_input): Removed.
31877 (grub_term_register_output): Likewise.
31878 (grub_term_unregister_input): Likewise.
31879 (grub_term_unregister_output): Likewise.
31880 (grub_term_set_current_input): Likewise.
31881 (grub_term_set_current_output): Likewise.
31882 (grub_term_iterate_input): Likewise.
31883 (grub_term_iterate_output): Likewise.
31884 (grub_term_get_current_input): Likewise.
31885 (grub_term_get_current_output): Likewise.
31886
31887 * util/grub-editenv.c: Include header file <grub/handler.h>.
31888 (grub_term_get_current_input): Removed.
31889 (grub_term_get_current_output): Likewise.
31890 (grub_term_input_class): New variable.
50fb7002 31891 (grub_term_output_class): Likewise.
71b9f361 31892
31893 * util/grub-fstest.c (grub_term_get_current_input): Removed.
31894 (grub_term_get_current_output): Likewise.
31895 (grub_term_input_class): New variable.
50fb7002 31896 (grub_term_output_class): Likewise.
71b9f361 31897
31898 * util/grub-probe.c (grub_term_get_current_input): Removed.
31899 (grub_term_get_current_output): Likewise.
31900 (grub_term_input_class): New variable.
50fb7002 31901 (grub_term_output_class): Likewise.
71b9f361 31902
31903 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
31904 (grub_term_get_current_output): Likewise.
31905 (grub_term_input_class): New variable.
50fb7002 31906 (grub_term_output_class): Likewise.
71b9f361 31907
31908 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
31909 (terminal_mod_SOURCES): Likewise.
31910 (terminal_mod_CFLAGS): Likewise.
31911 (terminal_mod_LDFLAGS): Likewise.
31912
31913 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
31914 handler.c.
31915 (kernel_img_SOURCES): Add list.c and handler.c.
31916 (kernel_img_HEADERS): Add list.h and handler.h.
31917
31918 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31919 handler.c.
31920 (kernel_mod_SOURCES): Add list.c and handler.c.
31921 (kernel_mod_HEADERS): Add list.h and handler.h.
31922
31923 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
31924 handler.c.
31925 (kernel_elf_SOURCES): Add list.c and handler.c.
31926 (kernel_elf_HEADERS): Add list.h and handler.h.
31927
31928 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31929 handler.c.
31930 (kernel_elf_SOURCES): Add list.c and handler.c.
31931 (kernel_elf_HEADERS): Add list.h and handler.h.
31932
31933 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31934 handler.c.
31935 (kernel_mod_SOURCES): Add list.c and handler.c.
31936 (kernel_mod_HEADERS): Add list.h and handler.h.
31937
31938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31939 handler.c.
31940 (kernel_elf_SOURCES): Add list.c and handler.c.
31941 (kernel_elf_HEADERS): Add list.h and handler.h.
31942
8a31787f 319432009-02-27 Robert Millan <rmh@aybabtu.com>
31944
31945 Factorize elf32 / elf64 code in Multiboot loader. This will
31946 prevent it from getting out of sync again.
31947
31948 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
31949 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
31950 grub_multiboot_load_elf64): Move from here ...
31951 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
31952 grub_multiboot_load_elf): ... to here (new file).
31953
51cd3dfc 319542009-02-27 Robert Millan <rmh@aybabtu.com>
31955
31956 * util/grub.d/10_linux.in: Rename "single-user mode" to
31957 "recovery mode".
31958
6e8c9c3a 319592009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
31960
31961 Don't leak in SCSI code.
31962 * disk/scsi.c (grub_scsi_close): free `scsi'.
31963
4b6bf4f9 319642009-02-27 Robert Millan <rmh@aybabtu.com>
31965
31966 * loader/i386/pc/multiboot.c: Move from here ...
31967 * loader/i386/multiboot.c: ... to here. Update all users.
31968
b9413424 319692009-02-27 Robert Millan <rmh@aybabtu.com>
31970
31971 Patch from Alexandre Bique <bique.alexandre@gmail.com>
31972 * util/i386/pc/grub-setup.c (setup): Fix directory path.
31973
50fb7002 319742009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 31975
31976 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
31977 b-tree.
31978
8cc50345 319792009-02-27 Robert Millan <rmh@aybabtu.com>
31980
31981 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
31982 `0x' qualifier as 0 when base is specified as parameter).
31983
6e09b8b7 319842009-02-24 Bean <bean123ch@gmail.com>
31985
31986 * configure.ac: Check for -mcmodel=large in x86_64 target.
31987
31988 * include/grub/efi/api.h (efi_call_10): New macro.
31989 (efi_wrap_10): New function.
31990
31991 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
31992 (GRUB_PE32_REL_BASED_HIGH): Likewise.
31993 (GRUB_PE32_REL_BASED_LOW): Likewise.
31994 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
31995 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
31996 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
31997 (GRUB_PE32_REL_BASED_SECTION): Likewise.
31998 (GRUB_PE32_REL_BASED_REL): Likewise.
31999 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32000 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32001 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32002
32003 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32004 issue.
32005
32006 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32007 (efi_wrap_10): New function.
32008
32009 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32010
32011 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32012 MB/MBP model (NV chipset).
32013 (devdata_devs): Add devpath_5 to the list.
32014
32015 * load/i386/efi/linux.c (video_base): Remove variable.
32016 (RGB_MASK): New macro.
32017 (RGB_MAGIC): Likewise.
32018 (LINE_MIN): Likewise.
32019 (LINE_MAX): Likewise.
32020 (FBTEST_STEP): Likewise.
32021 (FBTEST_COUNT): Likewise.
32022 (fb_list): New variable.
32023 (grub_find_video_card): Remove function.
32024 (find_framebuf): New function.
32025 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32026 line length.
32027
32028 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32029 problem for x86_64.
32030
74b21bee 320312009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32032
32033 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32034
32035 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32036 coding tool name.
32037
a455f472 320382009-02-22 Robert Millan <rmh@aybabtu.com>
32039
32040 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32041 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32042 in our relocation, instead of using it directly from heap. Also
32043 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32044
6374daf3 320452009-02-21 Robert Millan <rmh@aybabtu.com>
32046
32047 Implement USB keyboard support (based on patch by Marco Gerards)
32048
32049 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32050 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32051 (usb_keyboard_mod_LDFLAGS): New variables.
32052
32053 * term/usb_keyboard.c: New file.
32054
8fa4ea70 320552009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32056
32057 Corrected wrong declaration
32058
32059 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32060
353976ac 320612009-02-14 Christian Franke <franke@computer.org>
32062
32063 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32064 (grub_lspci_iter): Print class code and programming interface byte.
32065
6aa1169b 320662009-02-14 Christian Franke <franke@computer.org>
32067
32068 * gendistlist.sh: Ignore `.svn' directories.
32069
265372ca 320702009-02-14 Felix Zielcke <fzielcke@z-51.de>
32071
32072 * fs/fat.c: Add 2009 to Copyright line.
32073
9ff516f3 320742009-02-14 Christian Franke <franke@computer.org>
32075
32076 * commands/hdparm.c: New file. Provides `hdparm' command
32077 which sends ATA commands via grub_disk_ata_pass_through ().
32078
32079 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32080
32081 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32082 and <grub/cpu/io.h> to include/grub/ata.h.
32083 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32084 (GRUB_CDROM_SECTOR_SIZE): Remove.
32085 (GRUB_ATA_*): Move to include/grub/ata.h.
32086 (GRUB_ATAPI_*): Likewise.
32087 (enum grub_ata_commands): Likewise.
32088 (enum grub_ata_timeout_milliseconds): Likewise.
32089 (struct grub_ata_device): Likewise.
32090 (grub_ata_regset): Likewise.
32091 (grub_ata_regget): Likewise.
32092 (grub_ata_regset2): Likewise.
32093 (grub_ata_regget2): Likewise.
32094 (grub_ata_check_ready): Likewise.
32095 (grub_ata_wait_not_busy): Remove static, exported in
32096 include/grub/ata.h.
32097 (grub_ata_wait_drq): Likewise.
32098 (grub_ata_pio_read): Likewise.
32099
32100 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32101 function for hdparm.mod.
32102
32103 * include/grub/ata.h: New file, contains declarations from
32104 disk/ata.c.
32105 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32106
32107 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32108 (grub_disk_ata_pass_through): New exported variable.
32109
32110 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32111
772e23da 321122009-02-13 Colin D Bennett <colin@gibibit.com>
32113
32114 Support multiple fallback entries, and provide an API to support
32115 executing default+fallback menu entries. Renamed the `terminal' menu
32116 viewer to `text'.
32117
32118 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32119 variable declaration.
32120 (grub_menu_execute_callback): New structure declaration.
32121 (grub_menu_execute_callback_t): New typedef.
32122 (grub_menu_execute_with_fallback): New function declaration.
32123 (grub_menu_get_entry): Likewise.
32124 (grub_menu_get_timeout): Likewise.
32125 (grub_menu_set_timeout): Likewise.
32126
32127 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32128
32129 * normal/menu.c (grub_wait_after_message): Moved to
32130 `normal/menu_text.c'.
32131 (draw_border): Likewise.
32132 (print_message): Likewise.
32133 (print_entry): Likewise.
32134 (print_entries): Likewise.
32135 (grub_menu_init_page): Likewise.
32136 (get_entry_number): Likewise.
32137 (print_timeout): Likewise.
32138 (run_menu): Likewise.
32139 (grub_menu_execute_entry): Likewise.
32140 (show_text_menu): Likewise.
32141 (get_and_remove_first_entry_number): New function.
32142 (grub_menu_execute_with_fallback): Likewise.
32143 (get_entry): Renamed to ...
32144 (grub_menu_get_entry): .. this and made it global.
32145 (get_timeout): Renamed to ...
32146 (grub_menu_get_timeout): ... this and made it global.
32147 (set_timeout): Renamed to ...
32148 (grub_menu_set_timeout): ... this and made it global.
32149 (grub_normal_terminal_menu_viewer): Renamed to ...
32150 (grub_normal_text_menu_viewer): ... this.
32151
32152 * normal/menu_text.c: New file. Extracted text-menu-specific code
32153 from normal/menu.c.
32154
32155 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32156 (normal_mod_SOURCES): Likewise.
32157
32158 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32159 (normal_mod_SOURCES): Likewise.
32160
32161 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32162 (normal_mod_SOURCES): Likewise.
32163
32164 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32165 (normal_mod_SOURCES): Likewise.
32166
32167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32168 (normal_mod_SOURCES): Likewise.
32169
32170 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32171 (normal_mod_SOURCES): Likewise.
32172
32173 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32174 (normal_mod_SOURCES): Likewise.
32175
16ac430e 321762009-02-11 Robert Millan <rmh@aybabtu.com>
32177
32178 * util/grub.d/00_header.in: Update old reference to `font' command.
32179
06ff20fc 321802009-02-10 Felix Zielcke <fzielcke@z-51.de>
32181
32182 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32183
32184 Based on patch from Javier Martín.
32185
96da9407 321862009-02-09 Felix Zielcke <fzielcke@z-51.de>
32187
32188 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 32189 to avoid false positives with FAT.
96da9407 32190 (grub_fstest_SOURCES): Likewise.
32191 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32192 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32194 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32195 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32196 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32197
6dca6fe4 321982009-02-09 Felix Zielcke <fzielcke@z-51.de>
32199
06ff20fc 32200 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 32201 bpb.version_specific.fat12_or_fat16.fstype and
32202 bpb.version_specific.fat32.fstype.
32203
2550c62f 322042009-02-08 Robert Millan <rmh@aybabtu.com>
32205
be110b30 32206 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 32207
56978920 322082009-02-08 Robert Millan <rmh@aybabtu.com>
32209
32210 * Makefile.in (host_os, host_cpu): New variables.
32211 (target_os): Remove. Update all users.
32212
d64399b5 322132009-02-08 Marco Gerards <marco@gnu.org>
32214
32215 * Makefile.in (enable_grub_emu_usb): New variable.
32216 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32217 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32218 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32219 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32220 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32221 `usbtest.mod' and `usbms.mod'.
32222 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32223 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32224 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32225 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32226 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32227 variables.
32228
32229 * disk/usbms.c: New file.
32230
32231 * include/grub/usb.h: Likewise.
32232
32233 * include/grub/usbtrans.h: Likewise.
32234
32235 * include/grub/usbdesc.h: Likewise.
32236
32237 * bus/usb/usbtrans.c: Likewise.
32238
32239 * bus/usb/ohci.c: Likewise.
32240
32241 * bus/usb/uhci.c: Likewise.
32242
32243 * bus/usb/usbhub.c: Likewise.
32244
32245 * bus/usb/usb.c: Likewise.
32246
32247 * commands/usbtest.c: Likewise.
32248
32249 * util/usb.c: Likewise.
50fb7002 32250
d64399b5 32251 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32252
32253 * configure.ac: Test for libusb presence.
50fb7002 32254
d64399b5 32255 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32256
2b40d6bb 322572009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32258
32259 * kern/mm.c: Add more comments.
32260
73a4ce81 322612009-02-08 Robert Millan <rmh@aybabtu.com>
32262
32263 Patch from Javier Martín.
32264 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32265 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32266
f821ce59 322672009-02-08 Robert Millan <rmh@aybabtu.com>
32268
32269 * fs/cpio.c: Split tar functionality to ...
32270 * fs/tar.c: ... here (new file). Update all users.
32271
aebfc4b0 322722009-02-07 Robert Millan <rmh@aybabtu.com>
32273
32274 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32275 backward-incompatible features.
32276
32277 Based on patch from Javier Martín, with some adjustments.
32278
50fb7002 322792009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 32280
32281 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32282
0bb5115e 322832009-02-07 Robert Millan <rmh@aybabtu.com>
32284
32285 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32286 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32287 after the RAID stuff.
32288
38a0f8e7 322892009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32290
50fb7002 32291 Fixes problem when running vbetest command as reported by
38a0f8e7 32292 Vladimir Serbinenko <phcoder@gmail.com>.
32293
32294 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32295
3143cc1c 322962009-02-04 Felix Zielcke <fzielcke@z-51.de>
32297
32298 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32299 /dev/md/NpN style mdraid devices.
32300
9cba6fce 323012009-02-03 Felix Zielcke <fzielcke@z-51.de>
32302
32303 * util/unifont2pff.rb: Remove.
32304
e507a2c1 323052009-02-03 Felix Zielcke <fzielcke@z-51.de>
32306
32307 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32308 `#'.
32309
d2c2b4cd 323102009-02-03 Felix Zielcke <fzielcke@z-51.de>
32311
32312 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32313 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32314 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32315 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32317 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32318 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32319
b4315fb0 323202009-02-02 Christian Franke <franke@computer.org>
32321
32322 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32323
de3aa260 323242009-02-01 Felix Zielcke <fzielcke@z-51.de>
32325
7c3ff286 32326 * INSTALL: Note that we now require at least autoconf 2.59 and
32327 that LZO is optional.
de3aa260 32328
825a182b 323292009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32330
32331 Base on patch on bug #24154 created by Tomas Tintera
32332 <trosos@seznam.cz>.
32333
32334 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32335
a69ef770 323362009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32337
7c3ff286 32338 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 32339 <bero@arklinux.org>.
32340
32341 * normal/parser.y (script_init): Add missing semicolon.
32342
6fa42fa6 323432009-01-31 Colin D Bennett <colin@gibibit.com>
32344
7c3ff286 32345 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 32346 (free_menu_entry_classes): Added.
32347 (grub_normal_menu_addentry): Added class property handling.
32348 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32349 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32350
32351 * normal/menu_viewer.c: New file.
32352
32353 * normal/menu.c (run_menu_entry): Renamed to ...
32354 (grub_menu_execute_entry): ... this and made it as global.
32355 (grub_menu_run): Renamed to ...
32356 (show_text_menu): ... this and made it local.
32357 (show_text_menu): Adapt to new function names.
32358 (grub_normal_terminal_menu_viewer): New global variable.
32359
32360 * include/grub/menu.h: New file.
32361
32362 * include/grub/menu_viewer.h: New file.
32363
32364 * include/grub/normal.h: Added include to grub/menu.h.
32365 (grub_menu_entry): Moved to include/grub/menu.h.
32366 (grub_menu_entry_t): Likewise.
32367 (grub_menu): Likewise.
32368 (grub_menu_t): Likewise.
32369 (grub_normal_terminal_menu_viewer): Added.
32370 (grub_menu_execute_entry): Likewise.
32371 (grub_menu_run): Removed.
32372
32373 * DISTLIST: Added include/grub/menu.h.
32374 Added include/grub/menu_viewer.h.
32375 Added normal/menu_viewer.c.
32376
323772009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32378
32379 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32380 arglist for menutitle arguments.
32381
32382 * normal/main.c (grub_normal_menu_addentry): Likewise.
32383
32384 * normal/parser.y (menuentry): Likewise.
32385
32386 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32387
32388 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32389 (grub_script_create_cmdmenu): Likewise.
32390
32391 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32392
32393 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32394 changes.
32395
32396 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32397
32398 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32399
32400 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32401
32402 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32403
32404 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32405
32406 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32407
56192c23 324082009-01-30 Christian Franke <franke@computer.org>
32409
32410 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32411 in option help text.
32412
d72521b3 324132009-01-27 Pavel Roskin <proski@gnu.org>
32414
32415 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32416
994b5e84 324172009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32418
32419 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32420
32421 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32422
32423 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32424 unregister function.
32425
6a7eab2c 324262009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32427
32428 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32429
32430 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32431
32432 * util/grub-mkfont.c (usage): Fix typo.
32433
32434 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32435
1806b56e 324362009-01-26 Daniel Mierswa <impulze@impulze.org>
32437
3fb18f09 32438 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32439
336e1fb9 32440 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32441
1806b56e 32442 * kern/misc.c (grub_strcasecmp): New function.
32443 (grub_strcasecmp): Use grub_size_t instead of int for length.
32444 Fix return value.
32445 * include/grub/misc.h: Update function prototypes.
32446
580b2a0f 324472009-01-26 Robert Millan <rmh@aybabtu.com>
32448
32449 * configure.ac: Fix cross-compilation check.
ef257b36 32450
d31c24f1 324512009-01-22 Christian Franke <franke@computer.org>
32452
32453 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32454 (precision) digit string. Allow `.format2' without `format1' (width).
32455 Limit input chars for `%s' output to `format2' if specified. This is
32456 compatible with standard printf ().
32457
3138b44c 324582009-01-22 Christian Franke <franke@computer.org>
32459
32460 * disk/ata.c (grub_ata_wait_status): Replace by ...
32461 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32462 other status bits may be invalid while BSY is asserted.
32463 (grub_ata_check_ready): New function.
32464 (grub_ata_cmd): Removed.
32465 (grub_ata_wait_drq): New function.
32466 (grub_ata_strncpy): Remove inline.
32467 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32468 and error check now done by grub_ata_wait_drq ().
32469 (grub_ata_pio_write): Likewise.
32470 (grub_atapi_identify): Set DEV before check for !BSY. Use
32471 grub_ata_wait_drq () to wait for data.
32472 (grub_ata_device_initialize): Add status register check to
32473 detect missing SATA slave devices. Add debug messages.
32474 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32475 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32476 transfer loop by grub_ata_pio_write ().
32477 (grub_ata_identify): Set DEV before check for !BSY. Use
32478 grub_ata_wait_drq () to wait for data.
ef257b36 32479 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 32480 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32481 read/write in one loop. Fix invalid command on write. Fix incomplete
32482 command on (size % batch) == 0. Add missing error check after write of
32483 last block. Add debug messages.
32484 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32485
59a64ef6 324862009-01-19 Christian Franke <franke@computer.org>
32487
32488 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32489 (GRUB_ATAPI_IREASON_*): Likewise.
32490 (grub_ata_pio_write): Fix timeout error return.
32491 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32492 (grub_atapi_wait_drq): New function.
32493 (grub_atapi_packet): New parameter `size'.
32494 Use grub_atapi_wait_drq () and direct write instead of
32495 grub_ata_pio_write ().
32496 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32497 reads the number of bytes requested by the device for each DRQ
32498 assertion.
32499 (grub_atapi_write): Remove old implementation, return not
32500 implemented instead.
32501
1cfe20b3 325022009-01-19 Christian Franke <franke@computer.org>
32503
32504 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32505 of 512 to calculate data size.
32506 (grub_scsi_read12): Likewise.
32507 (grub_scsi_write10): Likewise.
32508 (grub_scsi_write12): Likewise.
32509 (grub_scsi_read): Adjust size according to blocksize.
32510 Add checks for invalid blocksize and unaligned transfer.
32511
bee5fe5d 325122009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32513
32514 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32515
ef257b36 32516 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 32517 width glyphs.
32518
3e643f8c 325192009-01-19 Robert Millan <rmh@aybabtu.com>
32520
32521 * config.guess: Update to latest version from config git.
32522 * config.sub: Likewise.
32523
4fa80998 325242009-01-17 Felix Zielcke <fzielcke@z-51.de>
32525
32526 * Makefile.in: Change font compilation to use new grub-mkfont instead
32527 of java version.
32528
32529 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32530 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32531 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32532 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32533 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32534 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32535 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32536 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32537 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32538
7086085b 325392009-01-16 Christian Franke <franke@computer.org>
32540
32541 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32542 (enum grub_ata_timeout_milliseconds): New enum.
32543 (grub_ata_wait_status): Add parameter milliseconds.
32544 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32545 recovery from timed-out commands.
32546 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32547 return grub_errno instead of REG_ERROR.
32548 (grub_ata_pio_write): Add parameter milliseconds.
32549 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32550 Pass milliseconds to grub_ata_wait_status () and
32551 grub_ata_pio_read ().
32552 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
32553 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
32554 grub_ata_wait_status (). Fix IDENTIFY timeout check.
32555 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
32556 It is not suitable for device detection, because DEV bit is ignored,
32557 the command may run too long, and not all devices set the signature
32558 properly.
32559 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
32560 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
32561 Fix device selection, DEV bit must be set first to address the registers
32562 of the correct device.
32563 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
32564 grub_ata_pio_read/write ().
32565 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
32566 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
32567
4a412913 325682009-01-13 Carles Pina i Estany <carles@pina.cat>
32569
32570 * util/grub-editenv.c (main): Use fseeko(), not fseek().
32571
7795c55e 325722009-01-13 Bean <bean123ch@gmail.com>
d913988c 32573
32574 * util/grub-mkfont.c (write_font): forget to remove some debug code.
32575
7795c55e 325762009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 32577
32578 * Makefile.in: (enable_grub_mkfont): New variable.
32579 (freetype_cflags): Likewise.
32580 (freetype_libs): Likewise.
32581
32582 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
32583 (grub_mkfont_SOURCES): New variable.
32584 (grub_mkfont_CFLAGS): Likewise.
32585 (grub_mkfont_LDFLAGS): Likewise.
32586
32587 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
32588 library if `--enable-grub-mkfont' is requested.
32589 (enable_grub_mkfont): New variable.
32590 (freetype_cflags): Likewise.
32591 (freetype_libs): Likewise.
32592
32593 * util/grub-mkfont.c: New file.
32594
093af1fe 325952009-01-12 Christian Franke <franke@computer.org>
32596
32597 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
32598 mode check. Fix setting of compat_use[].
32599
f36cc108 326002009-01-10 Robert Millan <rmh@aybabtu.com>
32601
32602 Update a few copyright years which we forgot to do in 2008 (only for
32603 files whose changes made in 2008 were copyright-significant)
32604
32605 * Makefile.in: Add 2008 to Copyright line.
32606 * disk/ieee1275/ofdisk.c: Likewise.
32607 * disk/efi/efidisk.c: Likewise.
32608 * kern/dl.c: Likewise.
32609 * kern/sparc64/ieee1275/init.c: Likewise.
32610 * kern/mm.c: Likewise.
32611 * kern/efi/mm.c: Likewise.
32612 * boot/i386/pc/boot.S: Likewise.
32613 * genfslist.sh: Likewise.
32614 * fs/iso9660.c: Likewise.
32615 * fs/hfs.c: Likewise.
32616 * fs/jfs.c: Likewise.
32617 * fs/minix.c: Likewise.
32618 * fs/ufs.c: Likewise.
32619 * gensymlist.sh.in: Likewise.
32620 * genkernsyms.sh.in: Likewise.
32621 * include/grub/misc.h: Likewise.
32622 * include/grub/types.h: Likewise.
32623 * include/grub/symbol.h: Likewise.
32624 * include/grub/elf.h: Likewise.
32625 * include/grub/kernel.h: Likewise.
32626 * include/grub/disk.h: Likewise.
32627 * include/grub/dl.h: Likewise.
32628 * include/grub/i386/linux.h: Likewise.
32629 * include/grub/i386/pc/biosdisk.h: Likewise.
32630 * include/grub/efi/api.h: Likewise.
32631 * include/grub/efi/pe32.h: Likewise.
32632 * include/grub/util/misc.h: Likewise.
32633 * normal/execute.c: Likewise.
32634 * normal/arg.c: Likewise.
32635 * normal/completion.c: Likewise.
32636 * normal/lexer.c: Likewise.
32637 * normal/parser.y: Likewise.
32638 * normal/misc.c: Likewise.
32639 * commands/i386/pc/vbeinfo.c: Likewise.
32640 * commands/hexdump.c: Likewise.
32641 * commands/terminal.c: Likewise.
32642 * commands/ls.c: Likewise.
32643 * commands/help.c: Likewise.
32644 * partmap/pc.c: Likewise.
32645 * loader/efi/chainloader.c: Likewise.
32646 * loader/multiboot_loader.c: Likewise.
32647 * loader/i386/pc/multiboot2.c: Likewise.
32648 * term/efi/console.c: Likewise.
32649 * term/i386/pc/serial.c: Likewise.
32650 * util/lvm.c: Likewise.
32651 * util/console.c: Likewise.
32652 * util/i386/efi/grub-mkimage.c: Likewise.
32653 * util/raid.c: Likewise.
32654
7f02114b 326552009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
32656
32657 * commands/videotest.c: Removed include to grub/machine/memory.h.
32658
32659 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
32660 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
32661 (video_mod_SOURCES): Removed.
32662 (video_mod_CFLAGS): Likewise.
32663 (video_mod_LDFLAGS): Likewise.
32664 (gfxterm_mod_SOURCES): Likewise.
32665 (gfxterm_mod_CFLAGS): Likewise.
32666 (gfxterm_mod_LDFLAGS): Likewise.
32667 (videotest_mod_SOURCES): Likewise.
32668 (videotest_mod_CFLAGS): Likewise.
32669 (videotest_mod_LDFLAGS): Likewise.
32670 (bitmap_mod_SOURCES): Likewise.
32671 (bitmap_mod_CFLAGS): Likewise.
32672 (bitmap_mod_LDFLAGS): Likewise.
32673 (tga_mod_SOURCES): Likewise.
32674 (tga_mod_CFLAGS): Likewise.
32675 (tga_mod_LDFLAGS): Likewise.
32676 (jpeg_mod_SOURCES): Likewise.
32677 (jpeg_mod_CFLAGS): Likewise.
32678 (jpeg_mod_LDFLAGS): Likewise.
32679 (png_mod_SOURCES): Likewise.
32680 (png_mod_CFLAGS): Likewise.
32681 (png_mod_LDFLAGS): Likewise.
32682
32683 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
32684 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
32685 (video_mod_SOURCES): Added.
32686 (video_mod_CFLAGS): Likewise.
32687 (video_mod_LDFLAGS): Likewise.
32688 (videotest_mod_SOURCES): Likewise.
32689 (videotest_mod_CFLAGS): Likewise.
32690 (videotest_mod_LDFLAGS): Likewise.
32691 (bitmap_mod_SOURCES): Likewise.
32692 (bitmap_mod_CFLAGS): Likewise.
32693 (bitmap_mod_LDFLAGS): Likewise.
32694 (tga_mod_SOURCES): Likewise.
32695 (tga_mod_CFLAGS): Likewise.
32696 (tga_mod_LDFLAGS): Likewise.
32697 (jpeg_mod_SOURCES): Likewise.
32698 (jpeg_mod_CFLAGS): Likewise.
32699 (jpeg_mod_LDFLAGS): Likewise.
32700 (png_mod_SOURCES): Likewise.
32701 (png_mod_CFLAGS): Likewise.
32702 (png_mod_LDFLAGS): Likewise.
32703 (gfxterm_mod_SOURCES): Likewise.
32704 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 32705 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 32706
32707 * term/gfxterm.c: Removed include to grub/machine/memory.h,
32708 grub/machine/console.h.
32709
644fff97 327102009-01-04 Jerone Young <jerone@gmail.com>
32711
32712 Make on screen instructions clearer
32713
32714 Based on patch created by Jidanni <jidanni@jidanni.org>
32715
32716 * normal/menu.c: print clearer instructions on the screen
32717
1e901a75 327182009-01-02 Colin D Bennett <colin@gibibit.com>
32719
32720 New font engine.
34c44600 32721
1e901a75 32722 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
32723 build system and fixed gfxterm.c to work with different sized fonts.
32724
32725 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 32726
1e901a75 32727 * configure: Re-generated.
34c44600 32728
1e901a75 32729 * DISTLIST: Removed font/manager.c.
32730 Added font/font.c.
32731 Added font/font_cmd.c.
34c44600 32732
1e901a75 32733 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
32734 compilation.
34c44600 32735
1e901a75 32736 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 32737
32738 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 32739
32740 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 32741
1e901a75 32742 * normal/menu.c: Likewise.
34c44600 32743
1e901a75 32744 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
32745 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 32746
1e901a75 32747 * include/grub/font.h: Replaced with new file.
34c44600 32748
1e901a75 32749 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
32750 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
32751 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
32752 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
32753 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 32754 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 32755 fg_red, fg_green, fg_blue, fg_alpha.
32756 (grub_video_adapter): Removed blit_glyph.
34c44600 32757 (grub_video_blit_glyph): Removed.
32758
1e901a75 32759 * font/manager.c: Removed file.
34c44600 32760
32761 * font/font.c: New file.
32762
1e901a75 32763 * font/font_cmd.c: Likewise.
34c44600 32764
1e901a75 32765 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 32766
1e901a75 32767 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
32768 (grub_video_vbe_map_rgba): Likewise.
32769 (grub_video_vbe_unmap_color_int): Likewise.
32770 (grub_video_vbe_blit_glyph): Removed.
32771 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 32772
1e901a75 32773 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
32774 (get_pixel): Likewise.
34c44600 32775 (set_pixel): Likewise.
32776
1e901a75 32777 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 32778
1e901a75 32779 * term/gfxterm.c: Adapted to new font engine.
34c44600 32780
1e901a75 32781 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 32782
1e901a75 32783 * term/i386/pc/vga.c: Likewise.
34c44600 32784
1e901a75 32785 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 32786
1e901a75 32787 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 32788
1e901a75 32789 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 32790
1e901a75 32791 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 32792
1e901a75 32793 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 32794
1e901a75 32795 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 32796
1e901a75 32797 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 32798
1e901a75 32799 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 32800
1e901a75 32801 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32802
32803 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 32804
1e901a75 32805 * util/grub-mkconfig_lib.in: Changed font extension.
32806
278922e8 328072008-12-28 Felix Zielcke <fzielcke@z-51.de>
32808
32809 * util/getroot.c (grub_util_get_grub_dev): Add support for
32810 /dev/md/dNNpNN style partitionable mdraid devices.
32811
3ced05cf 328122008-12-12 Alex Smith <alex@alex-smith.me.uk>
32813
32814 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
32815 at a time limit of the PXE TFTP API correctly.
32816 (grub_pxefs_close): Likewise.
32817
7fd0ee30 328182008-11-29 Robert Millan <rmh@aybabtu.com>
32819
34c44600 32820 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 32821 grub_ata_device_initialize() calls.
32822
34c44600 328232008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 32824
32825 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
32826 iteration failed.
32827 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
32828
89313780 328292008-11-28 Robert Millan <rmh@aybabtu.com>
32830
32831 Fix build on powerpc-ieee1275. Based on patch created by
32832 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
32833 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32834 `kern/ieee1275/mmap.c'.
32835 * include/grub/powerpc/ieee1275/memory.h: New file.
32836
15257703 32837 Provide grub-install on coreboot.
32838 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
32839 (grub_install_SOURCES): New variable.
32840 * util/i386/pc/grub-install.in: Add a few condition checks to make it
32841 usable on coreboot.
32842
9fc5388a 328432008-11-25 Felix Zielcke <fzielcke@z-51.de>
32844
32845 * util/grub-fstest.c (grub_term_get_current_input): Change return type
32846 to `grub_term_input_t'.
32847 (grub_term_get_current_output): Change return type to
32848 `grub_term_output_t'.
32849
bc3a2f31 328502008-11-22 Robert Millan <rmh@aybabtu.com>
32851
34c44600 32852 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 32853 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
32854 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
32855 grub_vga_text_cls().
32856
80fc88f2 32857 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 32858 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 32859
cbf36fd3 32860 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
32861 to 0x200000 (avoids trouble with some OFW implementations, and matches
32862 with the one in Yaboot).
32863 Reported by Manoel Abranches
32864
73e8e268 328652008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 32866
32867 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
32868 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
32869
73e8e268 32870 * util/grub-mkconfig_lib.in (grub_warn): New function.
32871 (convert_system_path_to_grub_path): Use grub_warn() when issuing
32872 warnings, to obtain consistent formatting.
32873 * util/grub.d/00_header.in: Likewise.
32874 * util/update-grub_lib.in: Likewise.
32875
e94045a1 32876 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 32877 Move comment text to `#error' stanza.
e94045a1 32878
79d29fd7 32879 Harmonize ieee1275's grub_available_iterate() with the generic
32880 grub_machine_mmap_iterate() interface (fixes a recently-introduced
32881 build problem on i386-ieee1275):
32882 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
32883 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
32884 parameter `type'. Update all users of this function.
32885 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32886 `kern/ieee1275/mmap.c'.
32887 * kern/ieee1275/init.c
32888 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
32889 with ...
32890 (grub_machine_mmap_iterate): ... this.
32891 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
32892 return type to `grub_err_t'. Update all implementations of this
32893 function prototype.
32894 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
32895 Likewise.
32896
60d6b16e 32897 Add `lsmmap' command (lists firmware-provided memory map):
32898 * commands/lsmmap.c: New file.
32899 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
32900 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
32901 variables.
32902 * conf/powerpc-ieee1275.rmk: Likewise.
32903 * conf/i386-coreboot.rmk: Likewise.
32904 * conf/i386-ieee1275.rmk: Likewise.
32905
ebaaf49b 329062008-11-19 Robert Millan <rmh@aybabtu.com>
32907
32908 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 32909 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
32910 constraints to initrd allocation (based on code from
32911 loader/i386/pc/linux.c). Without them, initrd was allocated too high
32912 for Linux to find it.
ebaaf49b 32913
dfab719f 329142008-11-14 Robert Millan <rmh@aybabtu.com>
32915
32916 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
32917 order to cope with duplicate slashes.
32918
10fc3eb9 329192008-11-14 Robert Millan <rmh@aybabtu.com>
32920
32921 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
32922 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
32923 don't want to mess with lower memory, because it is used in the Linux
32924 loader.
32925
32926 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 32927 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 32928 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
32929 is in our heap (probably as a result of it being corrupted during
2f2a3442 32930 decompression). Add #error instance with comment to explain why this
32931 loader isn't currently usable on PC/BIOS.
10fc3eb9 32932
e2e07847 329332008-11-14 Robert Millan <rmh@aybabtu.com>
32934
32935 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 32936 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 32937
fe8e8d69 329382008-11-12 Robert Millan <rmh@aybabtu.com>
32939
32940 Make loader/i386/linux.c buildable on i386-pc (although disabled).
32941
32942 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
32943 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
32944 from here ...
32945 * include/grub/i386/pc/memory.h: ... to here.
32946
976b07d0 329472008-11-12 Robert Millan <rmh@aybabtu.com>
32948
32949 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
32950 split).
32951
32952 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
32953 (grub_console_cur_color, grub_console_real_putchar)
32954 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32955 (grub_console_setcolorstate, grub_console_setcolor)
32956 (grub_console_getcolor): Move from here ...
32957 * include/grub/i386/vga_common.h: ... to here (new file).
32958
32959 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
32960 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
32961 `<grub/i386/io.h>'.
32962 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
32963 `<grub/i386/vga_common.h>'.
32964
76679cd3 329652008-11-12 Robert Millan <rmh@aybabtu.com>
32966
32967 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
32968 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
32969 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
32970 variables.
32971 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32972 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
32973
32974 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
32975 grub_console_init() with call to grub_vga_text_init().
32976 (grub_machine_fini): Replace call to
32977 grub_console_fini() with call to grub_vga_text_fini() and
32978 grub_at_keyboard_fini().
32979
32980 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
32981 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32982 (grub_console_setcolorstate, grub_console_setcolor)
32983 (grub_console_getcolor): New function prototypes.
32984
32985 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
32986 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
32987 (grub_vga_text_setcursor): Static-ize.
32988 (grub_vga_text_term): New structure.
32989 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
32990
32991 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
32992 (grub_console_cur_color, grub_console_standard_color)
32993 (grub_console_normal_color, grub_console_highlight_color)
32994 (map_char, grub_console_putchar, grub_console_getcharwidth)
32995 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
32996 (grub_console_getcolor): Move from here ...
32997 * term/i386/vga_common.c: ... to here (same function names).
32998
95b841d3 329992008-11-12 Robert Millan <rmh@aybabtu.com>
33000
33001 Use newly-added Multiboot support in coreboot.
33002
33003 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33004 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33005
33006 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33007 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33008 (codestart): Store the MBI in `startup_multiboot_info' when we're
33009 being loaded using Multiboot.
33010
33011 * kern/i386/coreboot/init.c (grub_machine_init): Move
33012 grub_at_keyboard_init() call to beginning of function (useful for
33013 debugging). Call grub_machine_mmap_init() before attempting to use
33014 grub_machine_mmap_iterate().
33015 (grub_lower_mem, grub_upper_mem): Move from here ...
33016 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33017 here (new file).
33018
33019 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33020 function prototype.
33021
761ca975 330222008-11-12 Robert Millan <rmh@aybabtu.com>
33023
33024 Fix a regression introduced by the at_keyboard.mod split. Because
33025 some terminals are default on some platforms and non-default on
33026 others, the first terminal being registered determines which is
33027 going to be default.
33028
33029 * kern/term.c (grub_term_register_input): If this is the first
33030 terminal being registered, set it as the current one.
33031 (grub_term_register_output): Likewise.
33032
33033 * term/efi/console.c (grub_console_init): Do not call
33034 grub_term_set_current_output() or grub_term_set_current_input().
33035 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33036 * term/i386/pc/console.c (grub_console_init): Likewise.
33037 (grub_console_fini): Do not call grub_term_set_current_input()
33038 (but leave grub_term_set_current_output() to restore text mode).
33039
6c529df7 330402008-11-10 Robert Millan <rmh@aybabtu.com>
33041
33042 * util/grub.d/00_header.in: Add backward compatibility check for
33043 versions of terminal.mod that don't understand `terminal_input' or
33044 `terminal_output'.
33045
132e4113 330462008-11-09 Robert Millan <rmh@aybabtu.com>
33047
33048 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33049 `terminal_input' / `terminal_output', not `terminal'.
33050
ac293d50 330512008-11-08 Robert Millan <rmh@aybabtu.com>
33052
33053 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 33054 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 33055
0025933a 330562008-11-08 Robert Millan <rmh@aybabtu.com>
33057
33058 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 33059 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 33060 members. Update all users.
33061 * util/console.c (grub_ncurses_term): Split in ...
33062 (grub_ncurses_term_input): ... this, and ...
33063 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 33064 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 33065
37c86336 330662008-11-08 Robert Millan <rmh@aybabtu.com>
33067
33068 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33069 (PKGDATA): Add $(pkgdata_SRCDIR).
33070 (pkglib_BUILDDIR): New variable.
33071 (pkgdata_SRCDIR): New variable.
33072 (build_env.mk): New target.
33073 (include_DATA): New variable.
33074 (install-local): Install $(include_DATA) files in $(includedir).
33075
b6c15a2d 330762008-11-07 Pavel Roskin <proski@gnu.org>
33077
d99d46f1 33078 * gendistlist.sh: Use C locale for sorting to ensure consistent
33079 output on all systems.
33080
b6c15a2d 33081 * util/grub.d/00_header.in: Remove incorrect space before
33082 "serial".
33083
c32ee8c9 330842008-11-07 Robert Millan <rmh@aybabtu.com>
33085
33086 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33087 per specification.
33088 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33089 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33090 (based on find_multi_boot1_header).
33091 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33092 using find_multi_boot2_header(), and abort if neither Multiboot or
33093 Multiboot headers were found.
33094
651c29b7 330952008-11-07 Robert Millan <rmh@aybabtu.com>
33096
33097 Modularize at_keyboard.mod:
33098
33099 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33100 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33101 (at_keyboard_mod_LDFLAGS): New variables.
33102
33103 Actual terminal split:
33104
33105 * include/grub/term.h (struct grub_term): Split in ...
33106 (struct grub_term_input): ... this, and ...
33107 (struct grub_term_output): ... this. Update all users.
33108 (grub_term_set_current): Split in ...
33109 (grub_term_set_current_input): ... this, and ...
33110 (grub_term_set_current_output): ... this.
33111 (grub_term_get_current): Split in ...
33112 (grub_term_get_current_input): ... this, and ...
33113 (grub_term_get_current_output): ... this.
33114 (grub_term_register): Split in ...
33115 (grub_term_register_input): ... this, and ...
33116 (grub_term_register_output): ... this.
33117 (grub_term_unregister): Split in ...
33118 (grub_term_unregister_input): ... this, and ...
33119 (grub_term_unregister_output): ... this.
33120 (grub_term_iterate): Split in ...
33121 (grub_term_iterate_input): ... this, and ...
33122 (grub_term_iterate_output): ... this.
33123
33124 * kern/term.c (grub_term_list): Split in ...
33125 (grub_term_list_input): ... this, and ...
33126 (grub_term_list_output): ... this. Update all users.
33127 (grub_cur_term): Split in ...
33128 (grub_cur_term_input): ... this, and ...
33129 (grub_cur_term_output): ... this. Update all users.
33130 (grub_term_set_current): Split in ...
33131 (grub_term_set_current_input): ... this, and ...
33132 (grub_term_set_current_output): ... this.
33133 (grub_term_get_current): Split in ...
33134 (grub_term_get_current_input): ... this, and ...
33135 (grub_term_get_current_output): ... this.
33136 (grub_term_register): Split in ...
33137 (grub_term_register_input): ... this, and ...
33138 (grub_term_register_output): ... this.
33139 (grub_term_unregister): Split in ...
33140 (grub_term_unregister_input): ... this, and ...
33141 (grub_term_unregister_output): ... this.
33142 (grub_term_iterate): Split in ...
33143 (grub_term_iterate_input): ... this, and ...
33144 (grub_term_iterate_output): ... this.
33145
33146 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33147 a check for input and one for output (and only attempt to get keys
33148 from user when input works).
33149
33150 * util/grub-probe.c (grub_term_get_current): Split in ...
33151 (grub_term_get_current_input): ... this, and ...
33152 (grub_term_get_current_output): ... this.
33153 * util/grub-fstest.c: Likewise.
33154 * util/i386/pc/grub-setup.c: Likewise.
33155 * util/grub-editenv.c: Likewise.
33156
33157 Portability adjustments:
33158
33159 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33160 `term/i386/pc/at_keyboard.c'.
33161 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33162 grub_keyboard_controller_init() (now handled by terminal .init).
33163 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33164 grub_at_keyboard_init().
33165 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33166 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33167 at_keyboard.mod via input terminal interface).
33168 * include/grub/i386/coreboot/console.h: Convert into a stub for
33169 `<grub/i386/pc/console.h>'.
33170
33171 Migrate full terminals to new API:
33172
33173 * term/efi/console.c (grub_console_term): Split into ...
33174 (grub_console_term_input): ... this, and ...
33175 (grub_console_term_output): ... this. Update all users.
33176 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33177 (grub_ofconsole_init): Split into ...
33178 (grub_ofconsole_init_input): ... this, and ...
33179 (grub_ofconsole_init_output): ... this.
33180 (grub_ofconsole_term): Split into ...
33181 (grub_ofconsole_term_input): ... this, and ...
33182 (grub_ofconsole_term_output): ... this. Update all users.
33183 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33184 (grub_serial_term_input): ... this, and ...
33185 (grub_serial_term_output): ... this. Update all users.
33186 * term/i386/pc/console.c (grub_console_term): Split into ...
33187 (grub_console_term_input): ... this, and ...
33188 (grub_console_term_output): ... this. Update all users.
33189 (grub_console_term_input): Only enable it on PC/BIOS platform.
33190 (grub_console_init): Remove grub_keyboard_controller_init() call.
33191
33192 Migrate input terminals to new API:
33193
33194 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33195 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33196 i386-specific anyway).
33197 (grub_console_checkkey): Rename to ...
33198 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33199 users.
33200 (grub_keyboard_controller_orig): New variable.
33201 (grub_console_getkey): Rename to ...
33202 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33203 users.
33204 (grub_keyboard_controller_init): Static-ize. Save original
33205 controller value so that it can be restored ...
33206 (grub_keyboard_controller_fini): ... here (new function).
33207 (grub_at_keyboard_term): New structure.
33208 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33209 functions.
33210
33211 Migrate output terminals to new API:
33212
33213 * term/i386/pc/vga.c (grub_vga_term): Change type to
33214 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33215 members. Update all users.
33216 * term/gfxterm.c (grub_video_term): Change type to
33217 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33218 members. Update all users.
33219 * include/grub/i386/pc/console.h (grub_console_checkkey)
33220 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33221 etc).
33222
33223 Migrate `terminal' command and userland tools to new API:
33224
33225 * commands/terminal.c (grub_cmd_terminal): Split into ...
33226 (grub_cmd_terminal_input): ... this, and ...
33227 (grub_cmd_terminal_output): ... this.
33228 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33229 `terminal_input' and `terminal_output'.
33230 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33231 `terminal_input' / `terminal_output' API.
33232 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33233 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33234 provided ${GRUB_TERMINAL}, convert it).
33235
96e5d876 332362008-11-04 Robert Millan <rmh@aybabtu.com>
33237
33238 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33239 for FreeBSD.
33240 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33241
556f3775 332422008-11-03 Bean <bean123ch@gmail.com>
33243
33244 * kern/elf.c (grub_elf32_load): Revert to previous code.
33245 (grub_elf64_load): Likewise.
33246
33247 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33248
926b9823 332492008-11-01 Robert Millan <rmh@aybabtu.com>
33250
33251 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33252 (TARGET_CPPFLAGS): Likewise.
33253 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33254
1432e958 332552008-11-01 Carles Pina i Estany <carles@pina.cat>
33256
33257 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33258
dba3f844 332592008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 33260
33261 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33262 addition of objects until the code is not going to be able to fail.
33263
dba3f844 332642008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 33265
33266 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33267 (add a missing NULL check, and correct them by moving the pointer
33268 operations after the actual check).
33269
7ab28c21 332702008-10-29 Robert Millan <rmh@aybabtu.com>
33271
33272 * util/i386/pc/grub-install.in: Handle empty string as output from
33273 make_system_path_relative_to_its_root().
33274
1b7748eb 332752008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33276
33277 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33278 circular metadata worst case scenario. If the metadata is circular
33279 then copy the wrap in place.
33280 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33281 project lib/format_text/layout.h
33282 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33283
c9618ab2 332842008-10-03 Felix Zielcke <fzielcke@z-51.de>
33285
7a36edca 33286 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 33287
bf981c62 332882008-10-03 Felix Zielcke <fzielcke@z-51.de>
33289
33290 * util/update-grub_lib.in: Mention filename in warning message.
33291
6d994591 332922008-09-29 Felix Zielcke <fzielcke@z-51.de>
33293
33294 * NEWS: Update for rename of update-grub to grub-mkconfig.
33295
18ade780 332962008-09-29 Felix Zielcke <fzielcke@z-51.de>
33297
33298 * util/update-grub_lib.in: Copy to ...
33299 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 33300 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 33301 * util/update-grub.in: Rename to ...
33302 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33303 option. Add `--output' option to allow users to specify the generated
33304 configuration file. Default to stdout.
33305 (update_grub_dir): Rename to ...
33306 (grub_mkconfig_dir): ... this.
33307 (grub_cfg): Default to an empty string.
33308 * conf/common.rmk (update-grub): Rename to ...
33309 (grub-mkconfig): ... this.
33310 (update-grub_lib): Copy to ...
33311 (grub-mkconfig_lib): ... this.
33312 (update-grub_SCRIPTS): Copy to ...
33313 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33314 (update-grub_DATA): Rename to ...
33315 (grub-mkconfig_DATA): ... this.
33316
556ce6ac 333172008-09-28 Robert Millan <rmh@aybabtu.com>
33318
33319 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33320 to `modified'. Add the real `created' field.
33321 (grub_iso9660_uuid): Use `modified' rather than `created' for
33322 constructing the UUID.
33323
333242008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 33325
33326 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33327 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33328
92274e85 333292008-09-28 Bean <bean123ch@gmail.com>
33330
33331 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33332 Thanks to Christian Franke for finding this bug.
33333
add6f17a 333342008-09-25 Robert Millan <rmh@aybabtu.com>
33335
33336 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33337 instances of grub_util_get_disk_name() (see previous commit).
33338
d2a367b8 333392008-09-25 Robert Millan <rmh@aybabtu.com>
33340
33341 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33342 `util/i386/get_disk_name.c'.
33343 * conf/i386-efi.rmk: Likewise.
33344 * conf/x86_64-efi.rmk: Likewise.
33345 * conf/i386-coreboot.rmk: Likewise.
33346 * conf/i386-ieee1275.rmk: Likewise.
33347 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33348 `util/ieee1275/get_disk_name.c'.
33349 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33350 * util/ieee1275/get_disk_name.c: Remove file.
33351 * util/i386/get_disk_name.c: Remove file.
33352 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33353 "hd%d" for device.map entries, rather than using
33354 grub_util_get_disk_name().
33355
81a06771 333562008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 33357
33358 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33359 warning.
33360 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33361
5a004279 333622008-09-24 Carles Pina i Estany <carles@pina.cat>
33363
33364 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33365 Changed to 0x5100.
33366 (GRUB_TERM_PPAGE): Changed to 0x4900.
33367
397093d3 333682008-09-24 Robert Millan <rmh@aybabtu.com>
33369
33370 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33371 macros (they were i386-pc specific).
33372 * include/grub/sparc64/ieee1275/console.h: Likewise.
33373 * include/grub/efi/console.h: Likewise.
33374
a91b6c7c 333752008-09-22 Bean <bean123ch@gmail.com>
33376
33377 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33378 resident and in attribute list.
33379
33380 * include/grub/ntfs.h (BMP_LEN): Removed.
33381
c40fd116 333822008-09-22 Bean <bean123ch@gmail.com>
33383
81a06771 33384 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 33385 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33386
33387 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33388 error occurs, as grub_disk_open will call grub_disk_close, which will
33389 call p->close (scsi).
33390
81a06771 333912008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 33392
33393 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33394 (AC_PREREQ): Bumped to 2.59.
33395 (AC_TRY_COMPILE): Replace obsolete macro with ...
33396 (AC_COMPILE_IFELSE): ... this.
33397 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33398 (AC_LINK_IFELSE): ... this.
33399
5dc43410 334002008-09-21 Felix Zielcke <fzielcke@z-51.de>
33401
33402 * autogen.sh: Add a call to `gendistlist.sh'.
33403
9035dce4 334042008-09-19 Christian Franke <franke@computer.org>
33405
33406 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33407 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33408 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33409 Export __enable_execute_stack() to modules.
33410 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33411 New function.
33412
7fd75377 334132008-09-09 Felix Zielcke <fzielcke@z-51.de>
33414
040030b3 33415 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33416 Sort the list.
33417
334182008-09-09 Felix Zielcke <fzielcke@z-51.de>
33419
33420 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 33421 #include <grub/util/hostdisk.h>.
33422
89d5ffcf 334232008-09-08 Robert Millan <rmh@aybabtu.com>
33424
33425 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33426 segments when their filesz is zero (grub_file_read() interprets
81a06771 33427 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 33428 Use `lowest_segment' rather than 0 for calculating the current
33429 segment load address.
33430
40da438f 334312008-09-08 Robert Millan <rmh@aybabtu.com>
33432
33433 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33434 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33435 clobbered useful information.
33436
ddbf5556 334372008-09-08 Robert Millan <rmh@aybabtu.com>
33438
33439 * include/grub/util/biosdisk.h: Move to ...
33440 * include/grub/util/hostdisk.h: ... here. Update all users.
33441 * util/biosdisk.c: Move to ...
33442 * util/hostdisk.c: ... here. Update all users.
33443
783d0f48 334442008-09-07 Robert Millan <rmh@aybabtu.com>
33445
33446 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33447 variables.
33448 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33449 and length can be stored directly in the `mbi->mmap_addr' and
33450 `mbi->mmap_length' struct fields.
33451
548e2ea5 334522008-09-07 Robert Millan <rmh@aybabtu.com>
33453
33454 * conf/i386.rmk: New file. Provides declaration for building
33455 `cpuid.mod'.
33456 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33457 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33458 variables.
33459 Include `conf/i386.mk'.
33460 * conf/i386-efi.rmk: Likewise.
33461 * conf/x86_64-efi.rmk: Likewise.
33462 * conf/i386-coreboot.rmk: Likewise.
33463 * conf/i386-ieee1275.rmk: Likewise.
33464
0ea85a37 334652008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33466
33467 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33468 Adds optimization support for BGR based modes.
33469
33470 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33471 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33472 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33473 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33474 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33475 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33476 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33477 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33478 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33479 (grub_video_i386_vbeblit_index_index): Likewise.
33480 (grub_video_i386_vbeblit_replace_directN): Added.
33481 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33482 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33483 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33484 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33485 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33486 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 33487 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 33488 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33489 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33490 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33491 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33492 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33493 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33494
33495 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33496 (grub_video_i386_vbefill_R8G8B8): Likewise.
33497 (grub_video_i386_vbefill_index): Likewise.
33498 (grub_video_i386_vbefill_direct32): Added.
33499 (grub_video_i386_vbefill_direct24): Likewise.
33500 (grub_video_i386_vbefill_direct16): Likewise.
33501 (grub_video_i386_vbefill_direct8): Likewise.
33502
81a06771 33503 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 33504 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33505 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33506 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33507 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33508 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 33509
0ea85a37 33510 * video/video.c (grub_video_get_blit_format): Updated to use new
33511 blit formats. Added handling for 16 bit color modes.
81a06771 33512
33513 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 33514 fillers.
33515 (common_blitter): Updated to use new blitters.
33516
33517 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33518 Removed.
33519 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33520 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33521 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33522 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33523 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33524 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33525 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33526 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33527 (grub_video_i386_vbeblit_index_index): Likewise.
33528 (grub_video_i386_vbeblit_replace_directN): Added.
33529 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33530 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33531 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33532 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33533 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33534 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33535 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33536 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33537 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33538 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33539 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33540 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33541 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 33542
0ea85a37 33543 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33544 (grub_video_i386_vbefill_R8G8B8): Likewise.
33545 (grub_video_i386_vbefill_index): Likewise.
33546 (grub_video_i386_vbefill_direct32): Added.
33547 (grub_video_i386_vbefill_direct24): Likewise.
33548 (grub_video_i386_vbefill_direct16): Likewise.
33549 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 33550
0ea85a37 33551 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
33552 types.
81a06771 33553
0ea85a37 33554 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
33555 types.
81a06771 33556
0ea85a37 33557 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
33558 blitter types.
81a06771 33559
0ea85a37 33560 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
33561 types.
33562
e8a83df6 335632008-09-06 Felix Zielcke <fzielcke@z-51.de>
33564
33565 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
33566 RAID level 1.
33567
6bcd8ee5 335682008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 33569
6bcd8ee5 33570 * fs/iso9660.c (grub_iso9660_date): New structure.
33571 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
33572 (grub_iso9660_uuid): New function.
c375ae58 33573
59261157 335742008-09-05 Bean <bean123ch@gmail.com>
33575
33576 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
33577
33578 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
33579 insensitive bit for names in Win32 and Win32 & DOS namespace.
33580
33581 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
33582
33583 * include/grub/types.h (LONG_MAX): Likewise.
33584
58b6645a 335852008-09-04 Felix Zielcke <fzielcke@z-51.de>
33586
4ee55921 33587 * util/getroot.c: Include <config.h>.
33588 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
33589 add support for /dev/md/N devices and handle LVM double dash escaping.
33590
335912008-09-04 Felix Zielcke <fzielcke@z-51.de>
33592
33593 * config.guess: Update to latest version from config git.
33594 * config.sub: Likewise.
58b6645a 33595
9124f65d 335962008-09-03 Robert Millan <rmh@aybabtu.com>
33597
33598 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
33599 `disk->total_sectors'.
33600
81a06771 336012008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 33602
33603 * include/grub/normal.h: Fixed incorrect comment for
33604 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
33605
81a06771 336062008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 33607
33608 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
33609 values with defines.
33610
33611 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
33612 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
33613 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
33614 (GRUB_VBE_MODEATTR_COLOR): Likewise.
33615 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
33616 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
33617 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
33618 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
33619 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
33620 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
33621 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
33622 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
33623 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
33624 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
33625 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
33626 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
33627 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
33628 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
33629 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
33630
93d5cbf8 336312008-08-31 Robert Millan <rmh@aybabtu.com>
33632
33633 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
33634 declaration.
33635 (grub_multiboot): Fix a few warnings.
33636
21751d50 336372008-08-31 Robert Millan <rmh@aybabtu.com>
33638
33639 * loader/i386/pc/multiboot.c: Update comment not to say that
33640 boot_device support is unimplemented.
33641
e27a75c5 336422008-08-31 Robert Millan <rmh@aybabtu.com>
33643
33644 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
33645 or memory map support are unimplemented.
33646
81a06771 336472008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 33648
33649 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
33650
81a06771 336512008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 33652
33653 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
33654 total video memory in 'vbeinfo' output; show color format details for
33655 each video mode.
33656
7c5d8d95 336572008-08-30 Pavel Roskin <proski@gnu.org>
33658
33659 * util/genmoddep.c: Remove for real this time.
33660 * DISTLIST: Remove util/genmoddep.c.
33661
4cebd25a 336622008-08-30 Robert Millan <rmh@aybabtu.com>
33663
33664 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
33665 as required by Multiboot spec (it was already 4-byte aligned, but
33666 only by chance).
33667
b497a269 336682008-08-29 Pavel Roskin <proski@gnu.org>
33669
e3925185 33670 * kern/powerpc/ieee1275/crt0.S: Rename to ...
33671 * kern/powerpc/ieee1275/startup.S: ... this.
33672 * conf/powerpc-ieee1275.rmk: Adjust for the above.
33673 * DISTLIST: Likewise.
33674
b497a269 33675 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
33676 grub/cpu/kernel.h. Add start label for consistency with other
33677 platforms. Add grub_prefix immediately after start. Add jump
33678 to the code after grub_prefix.
33679 * include/grub/powerpc/kernel.h: Provide valid values for
33680 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
33681
6e5a42fe 336822008-08-29 Bean <bean123ch@gmail.com>
33683
33684 * configure.ac: Change host_os to cygwin for mingw.
33685 (asprintf): New check for function.
33686
33687 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
33688 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
33689
33690 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 33691 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 33692 sync, sleep and grub_util_get_disk_size for mingw.
33693
33694 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
33695 to get size in mingw.
33696 (open_device): Use flag O_BINARY if it's defined.
33697 (find_root_device): Add dummy code for mingw.
33698
33699 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
33700 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
33701 (get_scsi_disk_name): Return 0 for mingw.
33702
33703 * util/hostfs.c: #include <grub/util/misc.h>.
33704 (grub_hostfs_open): Use "rb" flag to open file, use
33705 grub_util_get_disk_size to get disk size for mingw.
33706
33707 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
33708 (asprintf): New function if HAVE_ASPRINTF is not set.
33709 (sync): New function for mingw.
33710 (sleep): Likewise.
33711 (grub_util_get_disk_size): Likewise.
33712
ab3f2673 337132008-08-28 Pavel Roskin <proski@gnu.org>
33714
33715 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33716 kern/time.c.
33717
1c282483 337182008-08-28 Robert Millan <rmh@aybabtu.com>
33719
33720 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
33721
678e849c 337222008-08-28 Robert Millan <rmh@aybabtu.com>
33723
33724 Change find_grub_drive() syntax so it doesn't prevent it from
33725 detecting NULL names as errors.
33726
33727 * util/biosdisk.c (find_grub_drive): Move free slot search code
33728 from here ...
33729 (find_free_slot): ... to here.
33730 (read_device_map): Use find_free_slot() to search for free slots.
33731
965c75ca 337322008-08-27 Marco Gerards <marco@gnu.org>
33733
33734 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
33735 (scsi_mod_SOURCES): New variable.
33736 (scsi_mod_CFLAGS): Likewise
33737 (scsi_mod_LDFLAGS): Likewise.
33738
33739 * disk/scsi.c: New file.
33740
33741 * include/grub/scsi.h: Likewise.
33742
33743 * include/grub/scsicmd.h: Likewise.
33744
33745 * disk/ata.c: Include <grub/scsi.h>.
33746 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
33747 instead.
33748 (grub_ata_iterate): Skip ATAPI devices.
33749 (grub_ata_open): Only handle ATAPI devices.
33750 (struct grub_atapi_read): Removed.
33751 (grub_atapi_readsector): Likewise.
33752 (grub_ata_read): No longer handle ATAPI devices.
33753 (grub_ata_write): Likewise.
33754 (grub_atapi_iterate): New function.
33755 (grub_atapi_read): Likewise.
33756 (grub_atapi_write): Likewise.
33757 (grub_atapi_open): Likewise.
33758 (grub_atapi_close): Likewise.
33759 (grub_atapi_dev): New variable.
33760 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
33761 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
33762
33763 * include/grub/disk.h (enum grub_disk_dev_id): Add
33764 `GRUB_DISK_DEVICE_SCSI_ID'.
33765
c07ae501 337662008-08-26 Robert Millan <rmh@aybabtu.com>
33767
33768 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
33769 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
33770 descriptive.
33771
5ed20adc 337722008-08-23 Bean <bean123ch@gmail.com>
33773
33774 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
33775 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33776 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
33777 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
33778 dm_nv.mod.
33779 (raid5rec_mod_SOURCES): New macro.
33780 (raid5rec_mod_CFLAGS): Likewise.
33781 (raid5rec_mod_LDFLAGS): Likewise.
33782 (raid6rec_mod_SOURCES): Likewise.
33783 (raid6rec_mod_CFLAGS): Likewise.
33784 (raid6rec_mod_LDFLAGS): Likewise.
33785 (mdraid_mod_SOURCES): Likewise.
33786 (mdraid_mod_CFLAGS): Likewise.
33787 (mdraid_mod_LDFLAGS): Likewise.
33788 (dm_nv_mod_SOURCES): Likewise.
33789 (dm_nv_mod_CFLAGS): Likewise.
33790 (dm_nv_mod_LDFLAGS): Likewise.
33791
33792 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
33793 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33794 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33795
33796 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
33797 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33798
33799 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33800
33801 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33802
33803 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33804
33805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33806
33807 * disk/raid5_recover.c: New file.
33808
33809 * disk/raid6_recover.c: Likewise.
33810
33811 * disk/mdraid_linux.c: Likewise.
33812
33813 * disk/dmraid_nvidia.c: Likewise.
33814
33815 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
33816 ULONG_MAX.
33817
33818 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
33819 calculate the size of raid device.
33820 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
33821 different layout of raid5.
33822 (grub_raid_scan_device): Remove code specific to mdraid.
33823 (grub_raid_list): New variable.
33824 (free_array): New function.
33825 (grub_raid_register): Likewise.
33826 (grub_raid_unregister): Likewise.
33827 (grub_raid_rescan): Likewise.
33828 (GRUB_MOD_INIT): Don't iterate device here.
33829 (GRUB_MOD_FINI): Use free_array to release resource.
33830
33831 * include/grub/raid.h: Remove macro and structure specific to mdraid.
33832 (grub_raid5_recover_func_t): New function variable type.
33833 (grub_raid6_recover_func_t): Likewise.
33834 (grub_raid5_recover_func): New variable.
33835 (grub_raid6_recover_func): Likewise.
33836 (grub_raid_register): New function.
33837 (grub_raid_unregister): Likewise.
33838 (grub_raid_rescan): Likewise.
33839 (grub_raid_block_xor): Likewise.
33840
33841 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
33842 (CMD_CRC): New macro.
33843 (part): Removed.
33844 (read_file): Handle device as well as file.
33845 (cmd_crc): New function.
33846 (fstest): Handle multiple disks.
33847 (options): Remove part, raw and long, add root and diskcount.
33848 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 33849 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 33850 add handling for the new options, support multiple disks.
33851
33852 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
33853
29c18915 338542008-08-23 Bean <bean123ch@gmail.com>
33855
33856 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
33857
33858 * genfslist.sh: Ignore kernel.mod.
33859
33860 * genpartmaplist.sh: Likewise.
33861
8415f261 338622008-08-23 Robert Millan <rmh@aybabtu.com>
33863
33864 * util/getroot.c (find_root_device): Skip anything that starts with
33865 a dot, not just directories. This avoids things like /dev/.tmp.md0.
33866
d5a7dc5b 338672008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 33868
d5a7dc5b 33869 * util/update-grub.in (GRUB_GFXMODE): Export variable.
33870 * util/grub.d/00_header.in: Allow the administrator to change default
33871 gfxmode via ${GRUB_GFXMODE}.
33872
380cfbb4 338732008-08-21 Felix Zielcke <fzielcke@z-51.de>
33874
33875 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
33876
c9baafe7 338772008-08-21 Robert Millan <rmh@aybabtu.com>
33878
33879 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
33880 loader.
33881 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
33882 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
33883
e290bef2 338842008-08-20 Carles Pina i Estany <carles@pina.cat>
33885
33886 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
33887 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
33888
f9dbfc96 338892008-08-19 Robert Millan <rmh@aybabtu.com>
33890
33891 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
33892 (struct grub_virtual_screen): Remove `cursor_color'.
33893 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
33894 initialization.
33895 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
33896
dd6bd6ab 338972008-08-18 Robert Millan <rmh@aybabtu.com>
33898
33899 Unify (identical) linux_normal.c files.
33900 * loader/i386/efi/linux_normal.c: Move from here ...
33901 * loader/linux_normal.c: ... to here. Update all users.
33902 * loader/i386/pc/linux_normal.c: Delete. Update all users.
33903 * loader/i386/ieee1275/linux_normal.c: Likewise.
33904
7f42f83e 339052008-08-18 Robert Millan <rmh@aybabtu.com>
33906
33907 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
33908 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
33909 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
33910 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
33911 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
33912 New macros.
33913 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
33914 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
33915 (GRUB_LINUX_CL_END_OFFSET): ... to here.
33916 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
33917 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
33918 (GRUB_EFI_CL_END_OFFSET): Rename to ...
33919 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
33920 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
33921 Initialize `params->video_cursor_x' and `params->video_cursor_y'
33922 portably using grub_getxy().
33923 Replace `-EFI' with `-bzImage' in boot message.
33924
38487ddb 339252008-08-17 Robert Millan <rmh@aybabtu.com>
33926
33927 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
33928
deceb3ec 339292008-08-17 Robert Millan <rmh@aybabtu.com>
33930
33931 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
33932
33933 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
33934 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
33935 (grub_machine_mmap_iterate): New function declaration.
33936 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
33937 structure.
33938 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
33939 macros.
33940
33941 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
33942 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
33943 Move e820 parsing from here ...
33944 * kern/i386/pc/mmap.c: New file.
33945 (grub_machine_mmap_iterate): ... to here.
33946
33947 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
33948 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
33949 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
33950 (grub_available_iterate): Redeclare to return `void', and redeclare
33951 its hook to use grub_uint64_t as addr and size parameters, and rename
33952 to ...
33953 (grub_machine_mmap_iterate): ... this. Update all users.
33954
33955 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
33956 to make it more readable. Rename to ...
33957 (grub_machine_mmap_iterate): ... this.
33958
33959 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
33960 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
33961 (grub_multiboot): Allocate an extra region after the payload, and fill
33962 it with a Multiboot memory map. Adjust a.out loader to calculate size
33963 with the extra space.
33964 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
33965 with the extra space.
33966
f8aa0f43 339672008-08-17 Carles Pina i Estany <carles@pina.cat>
33968
9807deb9 33969 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 33970
605f5bb6 339712008-08-17 Felix Zielcke <fzielcke@z-51.de>
33972
33973 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
33974 mdate-sh to the list `find' searches for.
33975 * DISTLIST: Regenerated.
33976
210db6c6 339772008-08-16 Felix Zielcke <fzielcke@z-51.de>
33978
33979 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
33980 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 33981 genmoddep.awk, gensymlist.sh.in.
33982 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 33983 * DISTLIST: Regenerated.
48cdbfd4 33984 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 33985
1082b929 339862008-08-16 Robert Millan <rmh@aybabtu.com>
33987
33988 * disk/raid.c (grub_raid_init): Handle/report errors set by
33989 grub_device_iterate().
33990 * disk/lvm.c (grub_lvm_init): Likewise.
33991
42ce5170 339922008-08-15 Bean <bean123ch@gmail.com>
33993
33994 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33995 and datehook.mod.
33996 (datetime_mod_SOURCES): New macro.
33997 (datetime_mod_CFLAGS): Likewise.
33998 (datetime_mod_LDFLAGS): Likewise.
33999 (date_mod_SOURCES): Likewise.
34000 (date_mod_CFLAGS): Likewise.
34001 (date_mod_LDFLAGS): Likewise.
34002 (datehook_mod_SOURCES): Likewise.
34003 (datehook_mod_CFLAGS): Likewise.
34004 (datehook_mod_LDFLAGS): Likewise.
34005
34006 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34007 and datehook.mod.
34008 (datetime_mod_SOURCES): New macro.
34009 (datetime_mod_CFLAGS): Likewise.
34010 (datetime_mod_LDFLAGS): Likewise.
34011 (date_mod_SOURCES): Likewise.
34012 (date_mod_CFLAGS): Likewise.
34013 (date_mod_LDFLAGS): Likewise.
34014 (datehook_mod_SOURCES): Likewise.
34015 (datehook_mod_CFLAGS): Likewise.
34016 (datehook_mod_LDFLAGS): Likewise.
34017
34018 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34019 and datehook.mod.
34020 (datetime_mod_SOURCES): New macro.
34021 (datetime_mod_CFLAGS): Likewise.
34022 (datetime_mod_LDFLAGS): Likewise.
34023 (date_mod_SOURCES): Likewise.
34024 (date_mod_CFLAGS): Likewise.
34025 (date_mod_LDFLAGS): Likewise.
34026 (datehook_mod_SOURCES): Likewise.
34027 (datehook_mod_CFLAGS): Likewise.
34028 (datehook_mod_LDFLAGS): Likewise.
34029
34030 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34031 and datehook.mod.
34032 (datetime_mod_SOURCES): New macro.
34033 (datetime_mod_CFLAGS): Likewise.
34034 (datetime_mod_LDFLAGS): Likewise.
34035 (date_mod_SOURCES): Likewise.
34036 (date_mod_CFLAGS): Likewise.
34037 (date_mod_LDFLAGS): Likewise.
34038 (datehook_mod_SOURCES): Likewise.
34039 (datehook_mod_CFLAGS): Likewise.
34040 (datehook_mod_LDFLAGS): Likewise.
34041
34042 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34043 and datehook.mod.
34044 (datetime_mod_SOURCES): New macro.
34045 (datetime_mod_CFLAGS): Likewise.
34046 (datetime_mod_LDFLAGS): Likewise.
34047 (date_mod_SOURCES): Likewise.
34048 (date_mod_CFLAGS): Likewise.
34049 (date_mod_LDFLAGS): Likewise.
34050 (datehook_mod_SOURCES): Likewise.
34051 (datehook_mod_CFLAGS): Likewise.
34052 (datehook_mod_LDFLAGS): Likewise.
34053
34054 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34055
34056 * commands/date.c: New file.
34057
34058 * hook/datehook.c: Likewise.
34059
34060 * include/grub/lib/datetime.h: Likewise.
34061
34062 * include/grub/i386/cmos.h: Likewise.
34063
34064 * lib/datetime.c: Likewise.
34065
34066 * lib/i386/datetime.c: Likewise.
34067
34068 * lib/efi/datetime.c: Likewise.
34069
0e9242da 340702008-08-14 Robert Millan <rmh@aybabtu.com>
34071
34072 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34073 (grub_mkelfimage_SOURCES): New variable.
34074 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34075
34076 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34077 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34078 * conf/powerpc-ieee1275.rmk: Likewise.
34079 * conf/i386-ieee1275.rmk: Likewise.
34080
34081 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34082 * kern/i386/coreboot/init.c: Likewise.
34083
34084 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34085 with `<grub/cpu/kernel.h>'.
34086 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34087 to ...
34088 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34089 * kern/i386/coreboot/startup.S: Likewise.
34090
34091 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34092 (GRUB_MOD_GAP): Remove.
34093 * include/grub/powerpc/kernel.h: New file.
34094 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34095 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34096 * include/grub/i386/kernel.h: New file.
34097 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34098 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34099 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34100
34101 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34102 `grub-mkelfimage'.
34103 Use --directory when invoking grub_mkimage.
34104
34105 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34106 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34107 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34108 and GRUB_KERNEL_CPU_PREFIX.
34109
b86408f8 341102008-08-14 Felix Zielcke <fzielcke@z-51.de>
34111
d5e619ca 34112 * include/grub/err.h (grub_err_printf): New function prototype.
34113 * util/misc.c (grub_err_printf): New function.
34114 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34115 grub_printf.
34116 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 34117
7161f0e0 341182008-08-13 Robert Millan <rmh@aybabtu.com>
34119
34120 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34121
a1967522 341222008-08-13 Robert Millan <rmh@aybabtu.com>
34123
34124 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34125 boot entry.
34126
371458b5 341272008-08-12 Robert Millan <rmh@aybabtu.com>
34128
34129 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34130 of the relocation code from here ...
34131 (grub_multiboot): ... to here.
34132 (forward_relocator, backward_relocator): Move from here ...
34133 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34134 (grub_multiboot_backward_relocator): ... to here.
34135 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34136 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34137 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34138 (grub_multiboot_forward_relocator_end)
34139 (grub_multiboot_backward_relocator)
34140 (grub_multiboot_backward_relocator_end): New variables.
34141
05f9452b 341422008-08-12 Bean <bean123ch@gmail.com>
34143
34144 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34145
20024ab0 341462008-08-11 Robert Millan <rmh@aybabtu.com>
34147
34148 * kern/i386/linuxbios/startup.S: Move from here ...
34149 * kern/i386/coreboot/startup.S: ... to here.
34150
34151 * kern/i386/linuxbios/init.c: Move from here ...
34152 * kern/i386/coreboot/init.c: ... to here.
34153
34154 * kern/i386/linuxbios/table.c: Move from here ...
34155 * kern/i386/coreboot/mmap.c: ... to here.
34156
34157 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34158
e352e9cd 341592008-08-11 Robert Millan <rmh@aybabtu.com>
34160
34161 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34162 errors. Leave it to the upper layer to handle them.
34163
2d05bc6a 341642008-08-09 Christian Franke <franke@computer.org>
34165
34166 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34167 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34168 Install `grub.d/10_windows' only on Cygwin.
34169 * configure.ac: Add subst of `target_os'.
34170 Check `target_os' also before setting TARGET_OBJ2ELF.
34171 Add `--enable-grub-pe2elf'.
34172
042bd419 341732008-08-08 Robert Millan <rmh@aybabtu.com>
34174
34175 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34176 (grub_last_time): Change type to grub_uint64_t.
34177 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34178 (grub_disk_close): Likewise.
34179
34180 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34181 (run_menu): Migrate code from to using grub_get_time_ms().
34182
34183 * util/misc.c (grub_get_time_ms): New function.
34184
7f280db5 341852008-08-08 Marco Gerards <marco@gnu.org>
34186
34187 * disk/ata.c (grub_ata_regget): Change return type to
34188 `grub_uint8_t'.
34189 (grub_ata_regget2): Likewise.
34190 (grub_ata_wait_status): New function.
34191 (grub_ata_wait_busy): Removed function, updated all users to use
34192 `grub_ata_wait_status'.
34193 (grub_ata_wait_drq): Likewise.
34194 (grub_ata_cmd): New function.
34195 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34196 error handling.
34197 (grub_ata_pio_write): Add error handling.
34198 (grub_atapi_identify): Likewise.
34199 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34200 handling.
34201 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34202 handling. Actually use the detected registers. Reorder the
34203 detection logic such that it is easier to read.
34204 (grub_ata_pciinit): Do not assign the same ID to each controller.
34205 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34206 handling.
34207 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34208
34209 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34210
1fbc5e66 342112008-08-08 Marco Gerards <marco@gnu.org>
34212
34213 * NEWS: Update.
34214
819ce6c0 342152008-08-07 Bean <bean123ch@gmail.com>
34216
34217 * include/grub/x86_64/pci.h: New file.
34218
5c41d44d 342192008-08-07 Christian Franke <franke@computer.org>
34220
34221 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34222 (TIMER2_GATE): Likewise.
34223 (grub_pit_wait): Add enable/disable of the timer2 gate
34224 bit of port 0x61. This fixes a possible infinite loop.
34225
5ebc275d 342262008-08-07 Bean <bean123ch@gmail.com>
34227
34228 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34229 kern/i386/tsc.c and kern/i386/pit.c.
34230
34231 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34232 x86_64 platform.
34233
34234 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34235 <grub/i386/tsc.h>.
34236
34237 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34238
e383b3d0 342392008-08-07 Bean <bean123ch@gmail.com>
34240
34241 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34242
34243 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34244
34245 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34246 multiple inclusion. Add #include <grub/types.h>.
34247
1cbb58ac 342482008-08-06 Christian Franke <franke@computer.org>
34249
34250 * conf/common.rmk: Build and install `10_windows'.
34251 * util/grub.d/10_windows.in: New script.
34252
337f5a1e 342532008-08-06 Pavel Roskin <proski@gnu.org>
34254
34255 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34256
057bc4ac 342572008-08-06 Robert Millan <rmh@aybabtu.com>
34258
34259 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34260 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34261
2b99f123 342622008-08-06 Bean <bean123ch@gmail.com>
34263
34264 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34265 (grub_pxefs_fs_int): Remove dummy definition.
34266 (grub_pxefs_open): Use data->block_size to store the current block
34267 size setting.
34268 (grub_pxefs_read): Use block size stored in data->block_size. As the
34269 value of grub_pxe_blksize can be changed after the file is opened.
34270
9f0234cb 342712008-08-06 Bean <bean123ch@gmail.com>
34272
34273 * fs/i386/pc/pxe.c (curr_file): new variable.
34274 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34275 require the dummy internal file system anymore.
34276 (grub_pxefs_read): Removed.
34277 (grub_pxefs_close): Likewise.
34278 (grub_pxefs_fs_int): Likewise.
34279 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34280 connection when we switch file.
34281 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34282
a55d42e0 342832008-08-06 Robert Millan <rmh@aybabtu.com>
34284
34285 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34286 `halt.mod'.
34287 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34288 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34289
34290 * kern/i386/halt.c: New file.
34291 * kern/i386/reboot.c: Likewise.
34292 * include/grub/i386/reboot.h: Likewise.
34293 * include/grub/i386/halt.h: Likewise.
34294
34295 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34296 Include `<grub/cpu/halt.h>'.
34297 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34298 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34299
34300 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34301 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34302 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34303 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34304 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34305 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34306 from here ...
34307 * include/grub/i386/at_keyboard.h: ... to here.
34308
24371d26 343092008-08-05 Robert Millan <rmh@aybabtu.com>
34310
34311 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34312 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34313 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34314 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34315 `kern/generic/millisleep.c'.
34316
34317 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34318 instead of grub_get_rtc().
34319 (grub_tsc_init): Initialize `tsc_boot_time'.
34320
34321 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34322 (grub_machine_init): Use grub_tsc_init() rather than
34323 installing an RTC-based handler via grub_install_get_time_ms().
34324
34325 * kern/i386/pit.c: New file.
34326 * include/grub/i386/pit.h: Likewise.
34327
9e7007b3 343282008-08-05 Bean <bean123ch@gmail.com>
34329
34330 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34331
34332 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34333 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34334 (pxe_mod_SOURCES): New macro.
34335 (pxe_mod_CFLAGS): Likewise.
34336 (pxe_mod_LDFLAGS): Likewise.
34337 (pxecmd_mod_SOURCES): Likewise.
34338 (pxecmd_mod_CFLAGS): Likewise.
34339 (pxecmd_mod_LDFLAGS): Likewise.
34340
34341 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34342 (grub_pxe_call): Likewise.
34343
34344 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34345
34346 * commands/i386/pc/pxecmd.c: New file.
34347
9f0234cb 34348 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 34349
34350 * include/grub/i386/pc/pxe.h: Likewise.
34351
6977d49f 343522008-08-05 Bean <bean123ch@gmail.com>
34353
34354 * util/console.c (grub_console_cur_color): New variable.
34355 (grub_console_standard_color): Likewise.
34356 (grub_console_normal_color): Likewise.
34357 (grub_console_highlight_color): Likewise.
34358 (color_map): Likewise.
34359 (use_color): Likewise.
34360 (NUM_COLORS): New macro.
34361 (grub_ncurses_setcolorstate): Handle color properly.
34362 (grub_ncurses_setcolor): Don't change color here, just remember the
34363 settings, color will be set in grub_ncurses_setcolorstate.
34364 (grub_ncurses_getcolor): New function.
34365 (grub_ncurses_init): Initialize color pairs.
34366 (grub_ncurses_term): New member grub_ncurses_getcolor.
34367
9c2ff3ee 343682008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 34369
9c2ff3ee 34370 High resolution timer support. Implemented for x86 CPUs using TSC.
34371 Extracted generic grub_millisleep() so it's linked in only as needed.
34372 This requires a Pentium compatible CPU; if the RDTSC instruction is
34373 not supported, then it falls back on the generic grub_get_time_ms()
34374 implementation that uses the machine's RTC.
34375
34376 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34377 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34378 `kern/generic/millisleep.c'.
34379
34380 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34381 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34382
34383 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34384 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34385
34386 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34387
34388 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34389 `kern/generic/millisleep.c'.
34390
34391 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34392
34393 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34394
34395 * kern/generic/rtc_get_time_ms.c: New file.
34396
34397 * kern/generic/millisleep.c: New file.
337f5a1e 34398
9c2ff3ee 34399 * kern/misc.c: Don't include
34400 <kern/time.h> anymore.
34401 (grub_millisleep_generic): Removed.
34402
34403 * commands/sleep.c (grub_interruptible_millisleep): Uses
34404 grub_get_time_ms() instead of grub_get_rtc().
34405
34406 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34407 function.
34408 (grub_cpu_is_cpuid_supported): New inline function.
34409 (grub_cpu_is_tsc_supported): New inline function.
34410 (grub_tsc_init): New function prototype.
34411 (grub_tsc_get_time_ms): New function prototype.
34412
34413 * kern/i386/tsc.c (grub_get_time_ms): New file.
34414
34415 * include/grub/time.h: Include <grub/types.h.
34416 (grub_millisleep_generic): Removed.
34417 (grub_get_time_ms): New prototype.
34418 (grub_install_get_time_ms): New prototype.
34419 (grub_rtc_get_time_ms): New prototype.
34420
34421 * kern/time.c (grub_get_time_ms): New function.
34422 (grub_install_get_time_ms): New function.
34423
34424 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34425 <grub/time.h> anymore.
34426 (grub_millisleep): Removed.
34427 (grub_machine_init): Call grub_tsc_init.
34428
34429 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34430 get_time_ms() implementation.
34431
34432 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34433 (ieee1275_get_time_ms): New function.
34434 (grub_machine_init): Install get_time_ms() implementation.
34435
34436 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34437 (grub_machine_init): Call grub_tsc_init().
34438 (grub_millisleep): Removed.
bf06a93f 34439
9c2ff3ee 34440 * kern/ieee1275/init.c (grub_millisleep): Removed.
34441 (grub_machine_init): Install ieee1275_get_time_ms()
34442 implementation.
34443 (ieee1275_get_time_ms): New function.
34444 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34445 real work.
34446
9ec92aaf 344472008-08-05 Marco Gerards <marco@gnu.org>
34448
34449 * disk/ata.c: Include <grub/pci.h>.
34450 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34451 (grub_ata_initialize): Rewritten.
34452 (grub_ata_device_initialize): New function.
34453
8d23f507 344542008-08-04 Pavel Roskin <proski@gnu.org>
34455
34456 * kern/main.c: Include grub/mm.h.
34457
5e15ee3d 344582008-08-04 Robert Millan <rmh@aybabtu.com>
34459
34460 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34461 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34462 corruption problem).
34463
a9053f8f 344642008-08-04 Robert Millan <rmh@aybabtu.com>
34465
34466 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34467 warnings introduced in my last commit.
34468
dd19c7d7 344692008-08-03 Robert Millan <rmh@aybabtu.com>
34470
34471 Make PCI available on all i386 architectures.
34472
34473 * include/grub/i386/pc/pci.h: Move from here ...
34474 * include/grub/i386/pci.h: ... to here.
34475
34476 * include/grub/i386/pc/pci.h: Remove.
34477 * include/grub/i386/efi/pci.h: Remove.
34478 * include/grub/x86_64/efi/pci.h: Remove.
34479
34480 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34481 `<grub/cpu/pci.h>'.
34482
34483 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34484 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34485 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34486
34487 * conf/i386-ieee1275.rmk: Likewise.
34488
e14a6184 344892008-08-03 Robert Millan <rmh@aybabtu.com>
34490
34491 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34492 (grub_console_setcursor): Make it possible to set cursor off.
34493
52768e37 344942008-08-03 Robert Millan <rmh@aybabtu.com>
34495
34496 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34497 of modules instead of assuming which platform provides what.
34498 * util/update-grub.in: Likewise.
34499
2d52f57f 345002008-08-03 Robert Millan <rmh@aybabtu.com>
34501
34502 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34503 instead of `grub_install_dos_part' to determine whether a drive needs
34504 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 34505 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 34506
2a5cd121 345072008-08-02 Robert Millan <rmh@aybabtu.com>
34508
34509 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34510
93808428 345112008-08-02 Robert Millan <rmh@aybabtu.com>
34512
34513 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34514 of informational grub_dprintf() calls.
34515
3bd0a12a 345162008-08-02 Robert Millan <rmh@aybabtu.com>
34517
34518 * disk/memdisk.c (memdisk_size): Don't initialize.
34519 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34520
34521 * include/grub/i386/pc/kernel.h
34522 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34523 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34524 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34525 (grub_arch_memdisk_size): Remove.
34526
34527 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34528 field (was only used to transfer a constant). Add `type' field to
34529 support multiple module types.
34530 (grub_module_iterate): New function.
34531
34532 * kern/device.c (grub_device_open): Do not hide error messages
34533 when grub_disk_open() fails. Use grub_print_error() instead.
34534
34535 * kern/i386/pc/init.c (grub_arch_modules_addr)
34536 (grub_arch_memdisk_size): Remove functions.
34537 (grub_arch_modules_addr): Return the module address in high memory
34538 (now that it isn't copied anymore).
34539
34540 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34541 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34542 decompression routine (grub_total_module_size already includes that
34543 now). Don't copy modules back to low memory.
34544
34545 * kern/main.c: Include `<grub/mm.h>'.
34546 (grub_load_modules): Split out (and use) ...
34547 (grub_module_iterate): ... this function, which iterates through
34548 module objects and runs a hook.
34549 Comment out grub_mm_init_region() call, as it would cause non-ELF
34550 modules to be overwritten.
34551
34552 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
34553 the memdisk image in its own region, make it part of the module list.
34554 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
34555 (main): Parse --memdisk|-m option, and pass user-provided path as
34556 parameter to generate_image().
34557 (add_segments): Pass `memdisk_path' down to load_modules().
34558 (load_modules): Embed memdisk image in module section when requested.
34559 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
34560 `header.type' instead of `header.offset'.
34561
34562 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
34563 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
34564 (memdisk_mod_LDFLAGS): New variables.
34565 * conf/i386-coreboot.rmk: Likewise.
34566 * conf/i386-ieee1275.rmk: Likewise.
34567
a927cc73 345682008-08-02 Robert Millan <rmh@aybabtu.com>
34569
34570 * loader/i386/pc/multiboot.c (playground, forward_relocator)
34571 (backward_relocator): New variables. Used to allocate and relocate
34572 the payload, respectively.
34573 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 34574 address, install the appropriate relocator code in each bound of
a927cc73 34575 the payload, and set the entry point such that
34576 grub_multiboot_real_boot() will jump to one of them.
34577
34578 * kern/i386/loader.S (grub_multiboot_payload_size)
34579 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34580 (grub_multiboot_payload_entry_offset): New variables.
34581 (grub_multiboot_real_boot): Set cpu context to what the relocator
34582 expects, and jump to the relocator instead of the payload.
34583
34584 * include/grub/i386/loader.h (grub_multiboot_payload_size)
34585 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34586 (grub_multiboot_payload_entry_offset): Export.
34587
b15d8a0c 345882008-08-01 Bean <bean123ch@gmail.com>
34589
34590 * normal/menu_entry.c (editor_getline): Don't return the original
34591 string as result, as it will be released by lexer once it has done
34592 using it.
34593
cdfb3d22 345942008-08-01 Robert Millan <rmh@aybabtu.com>
34595
34596 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
34597 within menuentries, not before them.
34598 util/grub.d/10_hurd.in: Likewise.
34599
9175e93d 346002008-08-01 Bean <bean123ch@gmail.com>
34601
34602 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
34603 (bufio_mod_SOURCES): New macro.
34604 (bufio_mod_CFLAGS): Likewise.
34605 (bufio_mod_LDFLAGS): Likewise.
34606
34607 * include/grub/bufio.h: New file.
34608
34609 * io/bufio.c: Likewise.
34610
34611 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
34612 (grub_video_reader_png): Use grub_buffile_open to open file.
34613
34614 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
34615 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
34616
34617 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
34618 (grub_video_reader_tga): Use grub_buffile_open to open file.
34619
34620 * font/manager.c: Include <grub/bufio.h>.
34621 (add_font): Use grub_buffile_open to open file.
34622
3d8383e7 346232008-07-31 Robert Millan <rmh@aybabtu.com>
34624
34625 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
34626 ELF segments, use a macro for arbitrarily accessing any of them instead
34627 of preparing a pointer that allows access to one at a time.
34628 (grub_multiboot_load_elf64): Likewise.
34629
16e641b6 346302008-07-31 Bean <bean123ch@gmail.com>
34631
34632 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
34633 GRUB_KERNEL_MACHINE_DATA_END.
34634
59198b72 346352008-07-30 Robert Millan <rmh@aybabtu.com>
34636
34637 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
34638 Increase from 0x50 to 0x60.
34639 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
34640 use UUIDs to identify the root drive for them. If that's not
34641 possible, abort.
34642 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
34643 check, for cross-disk installs.
34644
ae88bca3 346452008-07-30 Robert Millan <rmh@aybabtu.com>
34646
34647 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
34648 is non-empty, use it to set the `prefix' environment variable instead
34649 of the usual approach.
34650 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
34651 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
34652 environment variable instead of dummy make_install_device().
34653
34654 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
34655 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 34656 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 34657
34658 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
34659 New variable reference.
34660 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
34661 New macro. Defines offset of `grub_prefix' within startup.S (relative
34662 to `start').
34663 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
34664 section within startup.S (relative to `start').
34665 * include/grub/i386/coreboot/kernel.h: Likewise.
34666
34667 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
34668 Overwrite grub_prefix with its contents, at the beginning of the
34669 first segment.
34670 (main): Understand -p|--prefix.
34671
14f41dd1 346722008-07-30 Robert Millan <rmh@aybabtu.com>
34673
34674 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
34675
4ca049a3 346762008-07-30 Robert Millan <rmh@aybabtu.com>
34677
34678 * term/i386/pc/vga_text.c (grub_console_cls): Use
34679 grub_console_gotoxy() to go back to beginning of the screen.
34680 Found by Patrick Georgi <patrick.georgi@coresystems.de>
34681
2921d337 346822008-07-29 Christian Franke <franke@computer.org>
34683
34684 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34685 Add conversion of emulated mount points on Cygwin.
34686
b609876d 346872008-07-29 Christian Franke <franke@computer.org>
34688
34689 * util/update-grub.in: Add a check for admin
34690 group on Cygwin.
34691 Remove old `grub.cfg.new' before creation.
34692 Add `-f' to `mv' to handle the different filesystem
34693 semantics of Windows.
34694
e93e4679 346952008-07-29 Bean <bean123ch@gmail.com>
34696
34697 * normal/main.c (get_line): Fix buffer overflow bug.
34698
41694fd0 346992008-07-28 Robert Millan <rmh@aybabtu.com>
34700
34701 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
34702 (struct grub_apple_header): New struct. Describes the layout of
34703 the partmap header.
34704 (apple_partition_map_iterate): Check the header magic as well as the
34705 partition magic (which was already being checked).
34706
cfd0b4e6 347072008-07-28 Pavel Roskin <proski@gnu.org>
34708
34709 * genmk.rb: Add a warning to the beginning of the output that
34710 it's a generated file and should not be edited.
34711
93cce016 347122008-07-28 Robert Millan <rmh@aybabtu.com>
34713
34714 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34715 with the same number are found, just use issue a warning with
34716 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 34717
cd1df915 347182008-07-27 Robert Millan <rmh@aybabtu.com>
34719
34720 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
34721 information.
34722
b70a8427 347232008-07-27 Bean <bean123ch@gmail.com>
34724
34725 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
34726 (grub_fat_find_dir): Ignore case when comparing filename.
34727
8f5e379f 347282008-07-27 Bean <bean123ch@gmail.com>
34729
34730 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
34731 smallino, as it's more descriptive, and i8count can be confused with
34732 the other field count.
34733 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
34734 inode type.
34735
a85cd5a0 347362008-07-27 Bean <bean123ch@gmail.com>
34737
34738 * commands/crc.c: New file.
34739
34740 * lib/crc.c: Likewise.
34741
34742 * include/grub/lib/crc.h: Likewise.
34743
34744 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
34745
34746 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
34747 (hexdump): Move this function to ...
34748
34749 * lib/hexdump.c: ... here.
34750
34751 * include/grub/hexdump.h: Renamed to ...
34752
34753 * include/grub/lib/hexdump.h: ... this.
34754
34755 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
34756
34757 * util/grub-editenv.c: Likewise.
34758
34759 * include/envblk.h: Renamed to ...
34760
34761 * include/lib/envblk.h: ... this.
34762
34763 * util/envblk.c: Renamed to ...
34764
34765 * lib/envblk.c: ... this.
34766
34767 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
34768 lib/hexdump.c.
34769 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
34770 (pkglib_MODULES): Add crc.mod.
34771 (hexdump_mod_SOURCES): Add lib/hexdump.c.
34772 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
34773 (crc_mod_SOURCES): New macro.
34774 (crc_mod_CFLAGS): Likewise.
34775 (crc_mod_LDFLAGS): Likewise.
34776
34777 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
34778
34779 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34780
34781 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34782
34783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34784
34785 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34786
c298def0 347872008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 34788
34789 * commands/help.c: Include <grub/term.h>.
34790 (TERM_WIDTH): Removed. Updated all users.
34791
cc349fb3 347922008-07-27 Pavel Roskin <proski@gnu.org>
34793
34794 * util/getroot.c (find_root_device): Rephrase a comment to avoid
34795 spurious warnings about a comment within a comment.
34796
9051607e 347972008-07-25 Robert Millan <rmh@aybabtu.com>
34798
34799 * util/getroot.c (find_root_device): Skip devices that match
34800 /dev/dm-[0-9]. This lets the real device be found for any type of
34801 abstraction (LVM, EVMS, RAID..).
34802 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
34803 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
34804 device is found first, find_root_device() will now skip it.
34805
01453bfc 348062008-07-24 Pavel Roskin <proski@gnu.org>
34807
34808 * include/grub/types.h: Use __builtin_bswap32() and
34809 __builtin_bswap64() with gcc 4.3 and newer.
34810
6af9849f 348112008-07-24 Christian Franke <franke@computer.org>
34812
3a0fa256 34813 * util/i386/pc/grub-install.in: If `--debug' is specified,
34814 pass `--verbose' to grub-setup.
34815 Abort script if make_system_path_relative_to_its_root() fails.
34816
7810e747 348172008-07-24 Bean <bean123ch@gmail.com>
34818
34819 * configure.ac: Fixed a bug caused by the previous cygwin patch,
34820 variable `target_platform' should be `platform'.
34821
42290e17 348222008-07-24 Bean <bean123ch@gmail.com>
34823
51cc5193 34824 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 34825 (grub_png_init_fixed_block): New function.
34826 (grub_png_decode_image_data): Handle fixed huffman code compression.
34827
2a8a80e4 348282008-07-24 Bean <bean123ch@gmail.com>
34829
34830 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
34831 (grub_pe2elf_SOURCES): New macro.
34832 (CLEANFILES): Add grub-pe2elf.
34833
34834 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
34835 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
34836 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
34837 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
34838 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
34839 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
34840 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
34841 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
34842 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
34843 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
34844 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
34845 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
34846 (GRUB_PE32_DT_FUNCTION): Likewise.
34847 (GRUB_PE32_REL_I386_DIR32): Likewise.
34848 (GRUB_PE32_REL_I386_REL32): Likewise.
34849 (grub_pe32_symbol): New structure.
34850 (grub_pe32_reloc): Likewise.
34851
34852 * util/grub-pe2elf.c: New file.
34853
34854 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
34855 start symbol in non pc platform.
34856
34857 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
34858
34859 The following patches are from Christian Franke.
34860
34861 * include/grub/dl.h: Remove .previous, gas supports this only
34862 for ELF format.
34863
34864 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
34865 Remove .type, gas supports this only for ELF format.
34866
34867 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
34868 nullbytes in symbol table. This fixes an infinite loop if table is
34869 zero filled.
34870
34871 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
34872 TARGET_IMG_LDFLAGS and EXEEXT.
34873
34874 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
34875 TARGET_IMG_LDFLAGS_AC.
34876 (grub_CHECK_STACK_ARG_PROBE): New function.
34877
34878 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
34879
34880 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
34881
34882 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
34883 to set TARGET_IMG_LD* accordingly.
34884 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
34885 Add call to grub_CHECK_STACK_ARG_PROBE.
34886 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
34887
34888 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
34889
34890 * genmk.rb: Add EXEEXT to CLEANFILES.
34891
12ccdb75 348922008-07-23 Robert Millan <rmh@aybabtu.com>
34893
34894 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
34895 define the codes for arrows and lines used for the menu).
34896 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
34897 as well.
34898
34899 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
34900 fonts, because the latter are too slow.
34901
18eeaf04 349022008-07-21 Bean <bean123ch@gmail.com>
34903
34904 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
34905 a20. Run keyboard test last, as it will cause macbook to halt.
34906
b095e2ad 349072008-07-18 Pavel Roskin <proski@gnu.org>
34908
34909 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
34910 load foreign architecture modules correctly anyway. Keep
34911 support for loading host architecture modules, whether we
34912 compile them or not.
34913
737feb35 349142008-07-17 Pavel Roskin <proski@gnu.org>
34915
3f4ce737 34916 * configure.ac: Use -m32 or -m64 regardless of whether we had to
34917 change target_cpu. The compiler default can mismatch target_cpu
34918 in any case.
34919
4ad2d049 34920 * disk/efi/efidisk.c: Fix format warnings on x86_64.
34921 * kern/efi/efi.c: Likewise.
34922
f6130a12 34923 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
34924 target compiler is functional.
34925 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
34926 are set up.
34927
58393a2d 34928 * configure.ac: Default to efi platform for x86_64-apple. Allow
34929 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
34930 adjustments from the rest, only do them if target is not
34931 explicitly given. Merge other adjustments with the final sanity
34932 check. Remove an extraneous check for supported CPU. Be
34933 specific which CPU and which platform is not supported.
34934
737feb35 34935 * configure.ac: Default to pc platform for x86_64.
34936
546f966a 349372008-07-17 Robert Millan <rmh@aybabtu.com>
34938
34939 Partial LinuxBIOS -> Coreboot rename.
34940
34941 * conf/i386-linuxbios.rmk: Renamed to ...
34942 * conf/i386-coreboot.rmk: ... this.
34943 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
34944 * configure.ac: Accept "coreboot" as input platform (but maintain
34945 compatibility with "linuxbios").
34946 * include/grub/i386/linuxbios: Renamed to ...
34947 * include/grub/i386/coreboot: ... this.
34948
20011694 349492008-07-17 Bean <bean123ch@gmail.com>
34950
34951 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 34952 (appleldr_mod_SOURCE): New variable.
20011694 34953 (appleldr_mod_CFLAGS): Likewise.
34954 (appleldr_mod_LDFLAGS): Likewise.
34955 (pci_mod_SOURCES): Likewise.
34956 (pci_mod_CFLAGS): Likewise.
34957 (pci_mod_LDFLAGS): Likewise.
34958 (lspci_mod_SOURCES): Likewise.
34959 (lspci_mod_CFLAGS): Likewise.
34960 (lspci_mod_LDFLAGS): Likewise.
34961
34962 * conf/x86_64-efi.rmk: New file.
34963
34964 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
34965 macro.
34966 (grub_efidisk_write): Likewise.
34967
34968 * include/efi/api.h (efi_call_0): New macro.
34969 (efi_call_1): Likewise.
34970 (efi_call_2): Likewise.
34971 (efi_call_3): Likewise.
34972 (efi_call_4): Likewise.
34973 (efi_call_5): Likewise.
34974 (efi_call_6): Likewise.
34975
34976 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
34977 grub_rescue_cmd_chainloader.
34978
34979 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
34980 (grub_pe32_optional_header): Change some fields based on i386 or
34981 x86_64 platform.
34982 (GRUB_PE32_PE32_MAGIC): Likewise.
34983
34984 * include/grub/efi/uga_draw.h: New file.
34985
34986 * include/grub/elf.h (STN_ABS): New constant.
34987 (R_X86_64_NONE): Relocation constant for x86_64.
34988 (R_X86_64_64): Likewise.
34989 (R_X86_64_PC32): Likewise.
34990 (R_X86_64_GOT32): Likewise.
34991 (R_X86_64_PLT32): Likewise.
34992 (R_X86_64_COPY): Likewise.
34993 (R_X86_64_GLOB_DAT): Likewise.
34994 (R_X86_64_JUMP_SLOT): Likewise.
34995 (R_X86_64_RELATIVE): Likewise.
34996 (R_X86_64_GOTPCREL): Likewise.
34997 (R_X86_64_32): Likewise.
34998 (R_X86_64_32S): Likewise.
34999 (R_X86_64_16): Likewise.
35000 (R_X86_64_PC16): Likewise.
35001 (R_X86_64_8): Likewise.
35002 (R_X86_64_PC8): Likewise.
35003
35004 * include/grub/i386/efi/pci.h: New file.
35005
35006 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35007 Change it value based on platform.
35008 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35009 (GRUB_E820_RAM): Likewise.
35010 (GRUB_E820_RESERVED): Likewise.
35011 (GRUB_E820_ACPI): Likewise.
35012 (GRUB_E820_NVS): Likewise.
35013 (GRUB_E820_EXEC_CODE): Likewise.
35014 (GRUB_E820_MAX_ENTRY): Likewise.
35015 (grub_e820_mmap): New structure.
35016 (linux_kernel_header): Change the efi field according to different
35017 kernel version, also field from linux_kernel_header.
35018
35019 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35020
35021 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35022 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35023 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35024 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35025 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35026 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35027 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35028 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35029 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35030 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35031
35032 * include/grub/x86_64/efi/kernel.h: New file.
35033
35034 * include/grub/x86_64/efi/loader.h: Likewise.
35035
35036 * include/grub/x86_64/efi/machine.h: Likewise.
35037
35038 * include/grub/x86_64/efi/pci.h: Likewise.
35039
35040 * include/grub/x86_64/efi/time.h: Likewise.
35041
35042 * include/grub/x86_64/linux.h: Likewise.
35043
35044 * include/grub/x86_64/setjmp.h: Likewise.
35045
35046 * include/grub/x86_64/time.h: Likewise.
35047
35048 * include/grub/x86_64/types.h: Likewise.
35049
35050 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35051 GRUB_TARGET_SIZEOF_VOID_P.
35052
35053 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35054 (grub_efi_locate_handle): Likewise.
35055 (grub_efi_open_protocol): Likewise.
35056 (grub_efi_set_text_mode): Likewise.
35057 (grub_efi_stall): Likewise.
35058 (grub_exit): Likewise.
35059 (grub_reboot): Likewise.
35060 (grub_halt): Likewise.
35061 (grub_efi_exit_boot_services): Likewise.
35062 (grub_get_rtc): Likewise.
35063
35064 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35065 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35066 (grub_efi_allocate_pages): Wrap efi calls.
35067 (grub_efi_free_pages): Wrap efi calls.
35068 (grub_efi_get_memory_map): Wrap efi calls.
35069
35070 * kern/x86_64/dl.c: New file.
35071
35072 * kern/x86_64/efi/callwrap.S: Likewise.
35073
35074 * kern/x86_64/efi/startup.S: Likewise.
35075
35076 * loader/efi/appleloader.c: Likewise.
35077
35078 * loader/efi/chainloader.c (cmdline): New variable.
35079 (grub_chainloader_unload): Wrap efi calls.
35080 (grub_chainloader_boot): Likewise.
35081 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35082 command line.
35083
35084 * loader/efi/chainloader_normal.c (chainloader_command):
35085 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35086 command line.
35087
35088 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35089 method.
35090 (grub_e820_add_region): New function.
35091 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35092 booting.
35093 (grub_find_video_card): New function.
35094 (grub_linux_setup_video): New function.
35095 (grub_rescue_cmd_linux): Probe for video information.
35096
35097 * normal/x86_64/setjmp.S: New file.
35098
35099 * term/efi/console.c (map_char): New function.
35100 (grub_console_putchar): Map unicode char.
35101 (grub_console_checkkey): Wrap efi calls.
35102 (grub_console_getkey): Likewise.
35103 (grub_console_getwh): Likewise.
35104 (grub_console_gotoxy): Likewise.
35105 (grub_console_cls): Likewise.
35106 (grub_console_setcolorstate): Likewise.
35107 (grub_console_setcursor): Likewise.
35108
35109 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35110
59652a20 351112008-07-16 Pavel Roskin <proski@gnu.org>
35112
ef294055 35113 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35114 format strings.
35115
59652a20 35116 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35117 pointer, not an integer. This fixes a warning and prevents
35118 precision loss on 64-bit systems.
35119 (relocate_addresses): Remove unneeded cast.
35120
afc3b5d7 351212008-07-15 Pavel Roskin <proski@gnu.org>
35122
506b2b3e 35123 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35124
62ead89c 35125 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35126
c4cd51d7 35127 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35128 Fix comparison between signed and unsigned.
35129
0d3d8f28 35130 * include/grub/i386/ieee1275/console.h: Declare
35131 grub_console_init() and grub_console_fini().
35132
8804b286 35133 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35134 It's empty and unused.
35135
ee01cf35 35136 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35137 beginning to avoid warnings with some compilers.
35138
afc3b5d7 35139 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35140 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35141
e4e8eaa5 351422008-07-14 Pavel Roskin <proski@gnu.org>
35143
407aceb4 35144 * kern/env.c (grub_register_variable_hook): Don't copy empty
35145 string, it leaks memory. Pass "" to grub_env_set(), it should
35146 handle constant strings.
35147
e4e8eaa5 35148 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35149 * commands/cmp.c (grub_cmd_cmp): Likewise.
35150 * kern/dl.c (grub_dl_flush_cache): Likewise.
35151 (grub_dl_load_core): Likewise.
35152 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35153 (grub_elf64_load_phdrs): Likewise.
35154
d4e2dad3 351552008-07-13 Pavel Roskin <proski@gnu.org>
35156
35157 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35158 between signed and unsigned.
35159 (LzmaEnc_Finish): Fix warning about an unused parameter.
35160
aa24b516 351612008-07-13 Bean <bean123ch@gmail.com>
35162
35163 * Makefile.in (enable_lzo): New rule.
35164
35165 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35166
35167 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35168
35169 * boot/i386/pc/lnxboot.S: #include <config.h>.
35170
35171 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 35172 its value according to the compression algorithm used, lzo or lzma.
aa24b516 35173
35174 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35175 compression algorithm according to configure macro.
35176
35177 * kern/i386/pc/startup.S (codestart): Likewise.
35178
35179 * kern/i386/pc/lzma_decode.S: New file.
35180
35181 * include/grub/lib/LzFind.h: Likewise.
35182
35183 * include/grub/lib/LzHash.h: Likewise.
35184
35185 * include/grub/lib/LzmaDec.h: Likewise.
35186
35187 * include/grub/lib/LzmaEnc.h: Likewise.
35188
35189 * include/grub/lib/LzmaTypes.h: Likewise.
35190
35191 * lib/LzFind.c: Likewise.
35192
35193 * lib/LzmaDec.c: Likewise.
35194
35195 * lib/LzmaEnc.c: Likewise.
35196
4ae821ac 351972008-07-13 Bean <bean123ch@gmail.com>
35198
35199 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35200 (grub_ext4_extent_header): New structure.
35201 (grub_ext4_extent): Likewise.
35202 (grub_ext4_extent_idx): Likewise.
35203 (grub_ext4_find_leaf): New function.
35204 (grub_ext2_read_block): Handle extents.
35205
9a745147 352062008-07-12 Robert Millan <rmh@aybabtu.com>
35207
35208 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35209
d49a4cf6 352102008-07-11 Robert Millan <rmh@aybabtu.com>
35211
35212 * util/grub.d/40_custom.in: New file. Example on how to add custom
35213 entries to /etc/grub.d.
35214 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35215 40_custom (implicitly, by merging all the grub.d rules).
35216
947414b4 352172008-07-11 Pavel Roskin <proski@gnu.org>
35218
0059cf6f 35219 * commands/read.c (grub_getline): Fix invalid memory access.
35220 Don't add newline to the variable value.
35221
947414b4 35222 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35223 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35224 (serial_hw_get_port): Check validity of the port number.
35225 (grub_cmd_serial): Check return value of serial_hw_get_port().
35226
62a02d00 352272008-07-07 Pavel Roskin <proski@gnu.org>
35228
35229 * boot/i386/pc/diskboot.S (notification_string): Replace
35230 "Loading kernel" with just "loading". This is shorter, less
35231 confusing and saves a few bytes for possible future changes.
35232
3e5581b0 352332008-07-05 Pavel Roskin <proski@gnu.org>
35234
ea387a48 35235 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35236 size for ATAPI devices, they are undefined. Output sector
35237 number in decimal form.
35238
3e5581b0 35239 * disk/ata.c: Use named constants for status bits.
35240
fdecb8fd 352412008-07-04 Pavel Roskin <proski@gnu.org>
35242
bcd35b90 35243 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35244 grub_addr_t before casting it to the void pointer to fix a
35245 warning. Non-addressable regions are discarded earlier.
35246 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35247 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35248 (check_signature): Don't shadow table_header.
35249 (grub_linuxbios_table_iterate): Cast numeric constants to
35250 grub_linuxbios_table_header_t.
35251 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35252 grub_stop().
35253
af58ab3d 35254 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35255 prevent warnings.
35256
1759aa57 35257 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35258 pointer, which can cause warnings. Support 64-bit addresses.
35259
fdecb8fd 35260 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35261 of sizeof(long). This fixes PowerPC image generation on x86_64.
35262
8516d2a8 352632008-07-04 Robert Millan <rmh@aybabtu.com>
35264
35265 This fixes a performance issue when pc & gpt partmap iterators
35266 didn't abort iteration even after our hook found what it was
fe987087 35267 looking for (often causing expensive probes of non-existent drives).
8516d2a8 35268
35269 Some callers relied on previous buggy behaviour, since they would
34c44600 35270 raise an error when their own hooks caused early abortion of its
8516d2a8 35271 iteration.
35272
35273 * kern/device.c (grub_device_open): Improve error message.
35274 * disk/lvm.c (grub_lvm_open): Likewise.
35275 * disk/raid.c (grub_raid_open): Likewise.
35276
35277 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35278 when hook requests it, independently of grub_errno.
35279 (pc_partition_map_probe): Do not fail when find_func() caused
35280 early abortion of pc_partition_map_iterate().
35281
35282 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35283 when hook requests it, independently of grub_errno.
35284 (gpt_partition_map_probe): Do not fail when find_func() caused
35285 early abortion of gpt_partition_map_iterate().
35286
35287 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35288 when hook requests it, independently of grub_errno. Do not fail when
35289 part_map_iterate_hook() caused early abortion of p->iterate().
35290
35291 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35292 when grub_partition_iterate() returned with non-zero.
35293
277d0de9 352942008-07-03 Pavel Roskin <proski@gnu.org>
35295
35296 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35297 like we do in grub_ata_pio_read().
35298 (grub_ata_readwrite): Always write individual sectors. Fix the
35299 sector count for the remainder.
35300 (grub_ata_write): Enable writing to ATA devices. Correctly
35301 report error for ATAPI devices.
35302
d4c9b428 353032008-07-02 Pavel Roskin <proski@gnu.org>
35304
e43fc690 35305 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35306 warning.
35307
f707af42 35308 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35309 for every read sector, we already increment it for the whole
35310 batch. This fixes reading more than 256 sectors at once.
35311
11e16b15 35312 * util/grub-editenv.c (cmd_info): Cast argument to long
35313 explicitly. ptrdiff_t reduces to int on i386.
35314
cbabfdd4 35315 * util/grub-editenv.c (main): Be specific which parameter is
35316 missing.
35317
b8fbce0a 35318 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35319 (memdisk): Make memdisk_orig_addr a pointer.
35320
c9c8e606 35321 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35322 for file offsets, use grub_off_t instead. Fix printf format
35323 warnings.
35324
ca62e598 35325 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35326 there. Real unexpected warnings should not drown in the noise
35327 about known problems.
35328
ce8d1766 35329 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35330 grub_disk_addr_t for memory addresses.
35331
00c7a56a 35332 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35333 explicitly to fix a warning.
35334
08d3ef09 35335 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35336
cb71ba20 35337 * Makefile.in (MODULE_LDFLAGS): New variable.
35338 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35339 the linker accepts --build-id=none.
35340 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35341 MODULE_LDFLAGS.
35342 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35343
d4c9b428 35344 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35345 those in Linux XFS code. Provide a way to access 64-bit parent
35346 inode.
35347 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35348 the end of struct grub_xfs_dir_header.
35349
d4156eee 353502008-07-02 Bean <bean123ch@gmail.com>
35351
35352 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35353 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35354 and GRUB_IEEE1275_FLAG_NO_ANSI.
35355
35356 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35357 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35358 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35359
35360 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35361 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35362
35363 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35364 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35365
35366 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35367 esc sequence on non ANSI terminal.
35368 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35369
35370 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35371 beginning of file.
35372
2270f77b 353732008-07-02 Bean <bean123ch@gmail.com>
35374
35375 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35376 (grub_editenv_SOURCES): New variable.
35377 (pkglib_MODULES): Add loadenv.mod.
35378 (loadenv_mod_SOURCES): New variable.
35379 (loadenv_mod_CFLAGS): Likewise.
35380 (loadenv_mod_LDFLAGS): Likewise.
35381
35382 * include/grub/envblk.h: New file.
35383
35384 * util/envblk.c: New file.
35385
35386 * util/grub-editenv.c: New file.
35387
35388 * commands/loadenv.c: New file.
35389
0e9e51ec 353902008-07-01 Pavel Roskin <proski@gnu.org>
35391
d89b7634 35392 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35393 not unsigned char. This fixes warnings and is consistent with
35394 other tags.
35395
bf1835b1 35396 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35397
8222a04b 35398 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35399
6a42d99d 35400 * term/tparm.c (analyze): Always set *popcount.
35401
10b159d1 35402 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35403 cast to fix a warning.
35404
b8789f6c 35405 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35406 cast to suppress a warning.
35407
29d7e38a 35408 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35409 grub_fshelp_read_file() expects.
35410
f341f669 35411 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35412 write uuid as a 32-bit value in CPU byte order, so declare and
35413 use it as such.
35414
0e9e51ec 35415 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35416 long if the format specifier expects it.
35417 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35418 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35419 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35420 long to fix a warning.
35421 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35422 grub_dprintf() arguments to fix warnings.
35423
3aefa857 354242008-06-30 Pavel Roskin <proski@gnu.org>
35425
56c7668b 35426 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35427 install_bsd_part immediately before core.img is embedded or
35428 modified on disk. This fixes core.img verification if core.img
35429 cannot be embedded.
35430
3aefa857 35431 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35432 core_path to calculate the blocklist.
35433 Patch from Javier Martín <lordhabbit@gmail.com>
35434
5444088d 354352008-06-29 Robert Millan <rmh@aybabtu.com>
35436
35437 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35438 block to disk block.
35439 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35440 Patch from Niels Böhm <bitbucket@arcor.de>
35441
674835c8 354422008-06-29 Robert Millan <rmh@aybabtu.com>
35443
35444 * util/update-grub_lib.in (font_path): Search for fonts in
35445 /boot/grub first, which is more likely to be readable (we aren't
35446 deciding where fonts live, just looking for them).
35447
f527dbc8 354482008-06-26 Pavel Roskin <proski@gnu.org>
35449
6c2d8df6 35450 * util/biosdisk.c (read_device_map): Don't leave dead map
35451 entries for devices failing stat() check.
35452
f527dbc8 35453 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35454 core_path_dev for the core.img path on the target device.
35455
aebe3d13 354562008-06-26 Robert Millan <rmh@aybabtu.com>
35457
35458 * disk/fs_uuid.c: New file.
35459 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35460 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35461 (fs_uuid_mod_LDFLAGS): New variables.
35462 * include/grub/disk.h (grub_disk_dev_id): Add
35463 `GRUB_DISK_DEVICE_UUID_ID'.
35464 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35465 implement iterate().
35466
37aaf354 354672008-06-26 Robert Millan <rmh@aybabtu.com>
35468
35469 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35470 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35471 Linux image includes no initrd.
35472
25ff262a 354732008-06-21 Javier Martín <lordhabbit@gmail.com>
35474
35475 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35476 call to resolve the core image location that effectively appended the
35477 name twice.
35478
76a2bd44 354792008-06-21 Robert Millan <rmh@aybabtu.com>
35480
35481 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35482 call from here ...
35483
35484 * util/grub.d/10_hurd.in: ... to here ...
35485 * util/grub.d/10_linux.in: ... and here.
35486
650e1c79 354872008-06-19 Robert Millan <rmh@aybabtu.com>
35488
fe987087 35489 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 35490 after it has been set by grub_machine_set_prefix().
35491
6ce63911 354922008-06-19 Robert Millan <rmh@aybabtu.com>
35493
35494 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35495 search result when not saving to variable, not the other way around.
35496 When saving to variable, abort iteration as soon as a match is found.
35497
73940cec 354982008-06-19 Robert Millan <rmh@aybabtu.com>
35499
35500 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35501 check for partition that provides /boot/grub. Its logic is flawed,
35502 as it prevents prepare_grub_to_access_device() from being called
35503 multiple times.
35504
3c62a39d 355052008-06-19 Robert Millan <rmh@aybabtu.com>
35506
35507 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35508 "insmod" command directly when abstraction modules are needed,
fe987087 35509 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 35510 since it had already been processed).
35511
47395a42 355122008-06-19 Pavel Roskin <proski@gnu.org>
35513
35514 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35515 changed. This is needed in case GRUB_LIBDIR changes.
35516 * conf/i386-ieee1275.rmk: Likewise.
35517 * conf/i386-linuxbios.rmk: Likewise.
35518 * conf/i386-pc.rmk: Likewise.
35519 * conf/powerpc-ieee1275.rmk: Likewise.
35520
a145ac2d 355212008-06-18 Pavel Roskin <proski@gnu.org>
35522
35523 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35524 kernel_elf_symlist.c to symlist.c for consistency with other
35525 architectures. Update all users.
35526 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35527
7847c51e 355282008-06-18 Robert Millan <rmh@aybabtu.com>
35529
35530 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35531 it in prefix.
35532
35533 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35534 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35535 a RAID device, run setup() for all members independently on whether
35536 LVM abstraction is being used.
35537 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35538 If grub-mkimage has set `*install_dos_part == -2', don't override this
35539 value.
35540 Perform *install_dos_part adjustments independently on whether
35541 we're embedding or not.
35542 Clarify error message when image is too big for embedding.
35543 Remove duplicate *install_dos_part stanza.
35544
b23e5644 355452008-06-17 Robert Millan <rmh@aybabtu.com>
35546
35547 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35548 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35549 variables.
35550 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35551 values in grub_ofconsole_normal_color and
35552 grub_ofconsole_highlight_color (they're not directly related to
35553 background and foreground).
35554 (grub_ofconsole_setcolorstate): Extract background and foreground
35555 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
35556
0aac2f79 355572008-06-17 Robert Millan <rmh@aybabtu.com>
35558
35559 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
35560 /boot/grub for the check in last commit, not /boot (they could be
35561 different partitions).
35562
3cca7ef3 355632008-06-16 Robert Millan <rmh@aybabtu.com>
35564
35565 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
35566 asked to setup access for the same partition that provides /boot,
35567 don't bother using UUIDs since our root already has the value we
35568 want.
35569
347396d8 355702008-06-16 Robert Millan <rmh@aybabtu.com>
35571
35572 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
35573 I2O devices.
35574 Patch from Sven Mueller <sven@debian.org>.
35575
991477f8 355762008-06-16 Robert Millan <rmh@aybabtu.com>
35577
35578 * util/update-grub.in: Check for $EUID instead of $UID.
35579 Reported by Vincent Zweije.
35580
d31a32a1 355812008-06-16 Bean <bean123ch@gmail.com>
35582
fe987087 35583 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 35584 (grub_ext2_read_block): Likewise.
35585 (grub_ext2_read_inode): Likewise.
35586 (grub_ext2_mount): Likewise.
35587 (grub_ext2_close): Likewise.
35588 (grub_ext3_get_journal): Removed.
35589
fe987087 35590 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 35591 (grub_reiserfs_read_symlink): Likewise.
35592 (grub_reiserfs_mount): Likewise.
35593 (grub_reiserfs_open): Likewise.
35594 (grub_reiserfs_read): Likewise.
35595 (grub_reiserfs_close): Likewise.
35596 (grub_reiserfs_get_journal): Removed.
35597
35598 * fs/fshelp.c (grub_fshelp_read): Removed.
35599 (grub_fshelp_map_block): Likewise.
35600
35601 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
35602 (grub_fshelp_journal): Likewise.
35603 (grub_fshelp_read): Likewise.
35604 (grub_fshelp_map_block): Likewise.
35605
3540a760 356062008-06-16 Pavel Roskin <proski@gnu.org>
35607
35608 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
35609 floating point anymore.
35610 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
35611
95614c84 356122008-06-15 Pavel Roskin <proski@gnu.org>
35613
35614 * commands/ls.c (grub_ls_list_files): Use integer calculations
35615 for human readable format, avoid floating point use.
35616 * kern/misc.c (grub_ftoa): Remove.
35617 (grub_vsprintf): Remove floating point support.
35618
50465dd6 356192008-06-15 Robert Millan <rmh@aybabtu.com>
35620
fe6b695a 35621 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 35622 devices.
35623 Reported by Max Vozeler.
35624
a9207284 356252008-06-15 Robert Millan <rmh@aybabtu.com>
35626
35627 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
35628 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
35629 skipped later.
35630 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
35631 the beginning of the prefix.
35632
35633 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
35634 It is assumed that if we have a memdisk, grub-mkimage has set
35635 grub_prefix to include the "(memdisk)" drive in it.
35636
a7cbd45a 356372008-06-15 Robert Millan <rmh@aybabtu.com>
35638
35639 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
35640 Initialize keyboard controller after registering the terminal, so that
35641 grub_printf() can be called from grub_keyboard_controller_init().
35642
21cf716a 356432008-06-15 Robert Millan <rmh@aybabtu.com>
35644
35645 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
35646 extent-btree which is written as big endian on disk.
35647 Reported by Alain Greppin <al@chilibi.org>.
35648
23a64d8e 356492008-06-14 Robert Millan <rmh@aybabtu.com>
35650
35651 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
35652 * util/i386/pc/grub-install.in (modules): Likewise.
35653
d687651c 356542008-06-13 Pavel Roskin <proski@gnu.org>
35655
35656 * commands/ls.c (grub_ls_list_files): Fix format warnings.
35657
dfe9ddd4 356582008-06-13 Bean <bean123ch@gmail.com>
35659
35660 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
35661
35662 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
35663
35664 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
35665 to indicate sparse block.
35666
16ae7781 356672008-06-12 Pavel Roskin <proski@gnu.org>
35668
e6d1a308 35669 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
35670 number, grub_fshelp_read() does it for us.
35671
16ae7781 35672 * fs/fshelp.c (grub_fshelp_read): New function. Implement
35673 linear disk read with journal translation.
35674 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
35675 * include/grub/fshelp.h: Declare grub_fshelp_read().
35676
40fd3a2b 356772008-06-09 Pavel Roskin <proski@gnu.org>
35678
35679 * fs/minix.c (grub_minix_mount): Handle error reading
35680 superblock.
35681
f5679726 356822008-06-08 Robert Millan <rmh@aybabtu.com>
35683
35684 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
35685 don't append the RAID prefix afterwards.
35686 Reported by Clint Adams.
35687
ce525529 356882008-06-08 Robert Millan <rmh@aybabtu.com>
35689
35690 Based on description from Pavel:
35691 * kern/disk.c (grub_disk_check_range): Rename to ...
35692 (grub_disk_adjust_range): ... this. Add a comment explaining the
35693 tasks performed by this function.
35694
ad4936a0 356952008-06-08 Robert Millan <rmh@aybabtu.com>
35696
35697 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
35698 `num_serial' (for consistency with other variables).
35699 (struct grub_ntfs_data): Add `uuid' member.
35700 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
35701 (grub_ntfs_uuid): New function.
35702 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
35703
dc20b0f9 357042008-06-07 Pavel Roskin <proski@gnu.org>
35705
35706 * util/biosdisk.c (open_device): Revert last change to the
35707 function, it broke installation. The sector needs to be
35708 different dependent on which device is opened.
35709
c5e3cfba 357102008-06-06 Robert Millan <rmh@aybabtu.com>
35711
35712 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
35713 rest of GRUB, and breakage doesn't happen if its value were modified.
35714
35715 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35716 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
35717 a constant (same value).
35718 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
35719 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
35720
26a1f8c4 357212008-06-06 Robert Millan <rmh@aybabtu.com>
35722
35723 * util/biosdisk.c (open_device): Do not modify sector offset when
35724 accessing a partition. kern/disk.c already handles this for us.
35725
25d6b327 357262008-06-06 Robert Millan <rmh@aybabtu.com>
35727
35728 * util/grub-emu.c (grub_machine_init): Move code in this function from
35729 here ...
35730 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
35731 segfault in case grub_printf() is called).
35732
35733 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
35734 grub_probe. Update all users not to explicitly add it again.
35735 (grub_device): New variable; contains corresponding device for grubdir.
35736 (fs_module, partmap_module, devabstraction_module): Pass
35737 `--device ${grub_device}' to grub_probe to avoid traversing /dev
35738 every time.
35739
9ece62fb 357402008-06-05 Robert Millan <rmh@aybabtu.com>
35741
35742 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
35743 is found, print it (same layout as with labels).
35744
1ad36d37 357452008-06-04 Robert Millan <rmh@aybabtu.com>
35746
35747 * util/biosdisk.c (get_drive): Rename to ...
35748 (find_grub_drive): ... this. Update all users.
35749
35750 (get_os_disk): Rename to ...
35751 (convert_system_partition_to_system_disk): ... this. Update all users.
35752
35753 (find_drive): Rename to ...
35754 (find_system_device): ... this. Update all users.
35755
e6a30859 357562008-06-04 Robert Millan <rmh@aybabtu.com>
35757
35758 * util/biosdisk.c (get_os_disk): Handle IDA devices.
35759 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35760 (make_device_map): Likewise.
35761
00c108a4 357622008-06-01 Robert Millan <rmh@aybabtu.com>
35763
35764 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
35765 before dereferencing it.
35766
35767 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
35768 union with fat12/fat16-specific ones. Add some new fields, including
35769 `num_serial' for both versions.
35770 (struct grub_fat_data): Add `uuid' member.
35771 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
35772 names. Initialize `data->uuid' using `num_serial'.
35773 (grub_fat_uuid): New function.
35774 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
35775
35776 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
35777 (grub_reiserfs_uuid): New function.
35778 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
35779 member.
35780
35781 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
35782 (grub_xfs_uuid): New function.
35783 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
35784
1385c5bb 357852008-06-01 Robert Millan <rmh@aybabtu.com>
35786
35787 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
35788 code that is backward compatible with pre-uuid search command.
35789
c682dfd7 357902008-05-31 Robert Millan <rmh@aybabtu.com>
35791
35792 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
35793 floppies after everything else, to ensure floppy drive isn't accessed
35794 unnecessarily (patch from Bean).
35795
b7db5d47 357962008-05-31 Robert Millan <rmh@aybabtu.com>
35797
35798 * commands/search.c (search_label, search_fs_uuid, search_file): Do
35799 not print device names when we were asked to set a variable.
35800
6e037aa9 358012008-05-31 Robert Millan <rmh@aybabtu.com>
35802
35803 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
35804 using "cursor-on" and "cursor-off" commands (understood at least by
35805 the Open Firmware flavour on OLPC).
35806
41305bc8 358072008-05-31 Michael Gorven <michael@gorven.za.net>
35808
35809 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
35810 on and off sequences.
35811
69ba137e 358122008-05-31 Robert Millan <rmh@aybabtu.com>
35813
35814 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
35815 * util/update-grub.in: Likewise.
35816
520ae21b 358172008-05-30 Pavel Roskin <proski@gnu.org>
35818
35819 * util/biosdisk.c (linux_find_partition): Simplify logic and
35820 make the code more universal. Keep special processing for
35821 devfs, but use a simple rule for all other devices. If the
35822 device ends with a number, append 'p' and the partition number.
35823 Otherwise, append only the partition number.
35824
5786569b 358252008-05-30 Robert Millan <rmh@aybabtu.com>
35826
35827 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
35828 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
35829 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
35830 the `root' parameter to Linux.
35831
51500452 358322008-05-30 Robert Millan <rmh@aybabtu.com>
35833
35834 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
35835 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
35836 --fs_uuid with --fs-uuid.
35837 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
35838 all filesystems support them).
35839
811d3878 358402008-05-30 Robert Millan <rmh@aybabtu.com>
35841
35842 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 35843 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 35844
cab63c95 358452008-05-30 Robert Millan <rmh@aybabtu.com>
35846
35847 * util/grub.d/00_header.in: Remove obsolete comment referencing
35848 convert_system_path_to_grub_path().
35849 * util/update-grub.in: Likewise.
35850 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
35851 (convert_system_path_to_grub_path): Add a warning message explaining
35852 that this function is deprecated. Rely on is_path_readable_by_grub()
35853 for the readability checks.
35854 (font_path): Use is_path_readable_by_grub() for the readability
35855 check rather than convert_system_path_to_grub_path().
35856
972e2f7a 358572008-05-30 Robert Millan <rmh@aybabtu.com>
35858
35859 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
35860 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
35861 converting it first.
35862 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
35863 grub.cfg for access to font file, and afterwards call it again to set
35864 the root device.
35865
62191274 358662008-05-30 Robert Millan <rmh@aybabtu.com>
35867
35868 * commands/search.c (options): Add --fs_uuid option.
35869 (search_fs_uuid): New function.
35870 (grub_cmd_search): Fix --set argument passing.
35871 Use search_fs_uuid() when requested via --fs_uuid.
35872 (grub_search_init): Update help message.
35873 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
35874 and redeclare it as an array of 16-bit words.
35875 (grub_ext2_uuid): New function.
35876 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
35877 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
35878 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
35879 (GRUB_DEVICE_BOOT_UUID): New variables.
35880 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
35881 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
35882 whenever possible.
35883 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
35884 just assume `root' variable has the right value.
35885 * util/grub.d/10_linux.in: Likewise.
35886 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
35887 via PRINT_FS_UUID.
35888 (main): Recognise `-t fs_uuid' argument.
35889
01b73ec8 358902008-05-30 Robert Millan <rmh@aybabtu.com>
35891
35892 * util/biosdisk.c (map): Redefine structure to hold information
35893 about GRUB drive name.
fe6b695a 35894 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 35895 drive names.
35896 (call_hook): Remove.
35897 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
35898 member. Assume drive has partitions.
35899 (grub_util_biosdisk_open): Access device names via `.device' struct
35900 member.
35901 (open_device): Likewise.
35902 (find_drive): Likewise.
35903 (read_device_map): Adjust map[] usage to match the new struct
35904 definition. Don't check for duplicates (still possible, but not cheap
35905 anymore).
35906 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
35907 (make_device_name): Remove assumption of BIOS-like drive names.
35908
22f16596 359092008-05-30 Pavel Roskin <proski@gnu.org>
35910
35911 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
35912 compiling execute.c doesn't need grub_script.tab.h anymore.
35913 (normal/command.c_DEPENDENCIES): Likewise.
35914 (normal/function.c_DEPENDENCIES): Likewise.
35915 * conf/i386-ieee1275.rmk: Likewise.
35916 * conf/i386-linuxbios.rmk: Likewise.
35917 * conf/i386-pc.rmk: Likewise.
35918 * conf/powerpc-ieee1275.rmk: Likewise.
35919 * conf/sparc64-ieee1275.rmk: Likewise.
35920
528ad8f2 359212008-05-29 Pavel Roskin <proski@gnu.org>
35922
d1dff95d 35923 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
35924 when scanning metadata for volume group name.
35925
528ad8f2 35926 * include/grub/script.h: Don't include grub_script.tab.h. It's
35927 a generated file, which may only be included from the files with
35928 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
35929 use union YYSTYPE, as the later allows forward declaration.
35930 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
35931
47248e08 359322008-05-29 Robert Millan <rmh@aybabtu.com>
35933
35934 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
35935 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
35936 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
35937 (grub_console_checkkey): Add grub_dprintf() call to report unknown
35938 scan codes.
35939
ee632529 359402008-05-29 Robert Millan <rmh@aybabtu.com>
35941
35942 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
35943 control key combinations.
35944
eee96e08 359452008-05-29 Robert Millan <rmh@aybabtu.com>
35946
35947 * util/powerpc/ieee1275/grub-install.in: Move from here ...
35948 * util/ieee1275/grub-install.in: ... to here.
35949 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
35950 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
35951 (grub_install_SOURCES): Likewise.
35952
da9a6a94 359532008-05-29 Robert Millan <rmh@aybabtu.com>
35954
35955 * fs/affs.c: Update copyright year.
35956 * fs/ext2.c: Likewise.
35957 * fs/fshelp.c: Likewise.
35958 * fs/hfsplus.c: Likewise.
35959 * fs/ntfs.c: Likewise.
35960 * fs/xfs.c: Likewise.
35961 * include/grub/fshelp.h: Likewise.
35962 * util/grub-mkdevicemap.c: Likewise.
35963
12e65f3a 359642008-05-28 Robert Millan <rmh@aybabtu.com>
35965
35966 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
35967 might need to be fatfs to support some firmware implementations
35968 (e.g. OFW or EFI).
35969
23023641 359702008-05-28 Robert Millan <rmh@aybabtu.com>
35971
35972 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
35973 devices.
35974 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35975 (make_device_map): Likewise.
35976
887d2619 359772008-05-20 Bean <bean123ch@gmail.com>
35978
35979 * fs/fshelp.c (grub_fshelp_map_block): New function.
35980 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
35981 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
35982
35983 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
35984 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
35985 (grub_fshelp_journal): New structure.
35986 (grub_fshelp_map_block): New function prototype.
35987 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
35988 (grub_fshelp_map_block): Likewise.
35989
35990 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
35991 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
35992 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
35993 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
35994 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
35995 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
35996 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
35997 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
35998 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
35999 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36000 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36001 (grub_ext2_sblock): New members for journal support.
36002 (grub_ext3_journal_header): New structure.
36003 (grub_ext3_journal_revoke_header): Likewise.
36004 (grub_ext3_journal_block_tag): Likewise.
36005 (grub_ext3_journal_sblock): Likewise.
36006 (grub_fshelp_node): New members logfile and journal.
36007 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36008 grub_fshelp_map_block to get real block number.
36009 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36010 number.
36011 (grub_ext2_read_inode): Likewise.
36012 (grub_ext3_get_journal): New function.
36013 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36014 (grub_ext2_close): Release memory used by journal.
36015
36016 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36017 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36018 (grub_reiserfs_transaction_header): Renamed to
36019 grub_reiserfs_description_block, replace field data with real_blocks.
36020 (grub_reiserfs_commit_block): New structure.
36021 (grub_reiserfs_data): New member journal.
36022 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36023 number.
36024 (grub_reiserfs_read_symlink): Likewise.
36025 (grub_reiserfs_iterate_dir): Likewise.
36026 (grub_reiserfs_open): Likewise.
36027 (grub_reiserfs_read): Likewise.
36028 (grub_reiserfs_get_journal): New function.
36029 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36030 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36031 using grub_reiserfs_get_journal.
36032 (grub_reiserfs_close): Release memory used by journal.
36033
36034 * fs/affs.c (grub_affs_read_block): Change block type to
36035 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36036
36037 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36038
36039 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36040
36041 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36042
36043 * fs/udf.c (grub_udf_read_block): Change block type to
36044 grub_disk_addr_t. Use type cast to avoid warning.
36045
36046 * fs/xfs.c (grub_xfs_read_block): Likewise.
36047
b7c6bed5 360482008-05-16 Christian Franke <franke@computer.org>
36049
36050 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36051 to ensure that break with ESC will always work.
36052 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36053 Remove ESC from keyboard queue.
36054
eedf167f 360552008-05-16 Christian Franke <franke@computer.org>
36056
36057 * util/biosdisk.c: [__CYGWIN__] Add includes.
36058 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36059 (get_os_disk): Move variable declarations to OS specific
36060 parts to avoid warning.
36061 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36062 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36063 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36064 Cygwin.
36065 * util/getroot.c: [__CYGWIN__] Add includes.
36066 (strip_extra_slashes): Fix "/" case.
36067 [__CYGWIN__] (get_win32_path): New function.
36068 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36069 [__CYGWIN__] (find_root_device): Disable.
36070 [__CYGWIN__] (get_bootsec_serial): New function.
36071 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36072 [__linux__] (grub_guess_root_device): Add early returns to simplify
36073 structure.
36074 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36075 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36076 check for Linux only.
36077
a079699e 360782008-05-15 Bean <bean123ch@gmail.com>
36079
36080 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36081 keyboard hang problem in apple's intel mac.
36082
1cf4059a 360832008-05-09 Robert Millan <rmh@aybabtu.com>
36084
36085 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36086 devices.
36087 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36088 (make_device_map): Likewise.
36089 Reported by Aurelien Jarno <aurel32@debian.org>
36090
ed759390 360912008-05-07 Ian Campbell <ijc@hellion.org.uk>
36092
36093 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36094 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36095 (make_device_map): Output entries for xvd type disks.
36096
b56c4eaa 360972008-05-07 Robert Millan <rmh@aybabtu.com>
36098
36099 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36100 devices.
36101 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36102 (make_device_map): Likewise.
36103 Reported by Roland Dreier <rdreier@cisco.com>
36104
7f8866ed 361052008-05-07 Robert Millan <rmh@aybabtu.com>
36106
36107 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36108 grub_strstr() call. Correct a few mistakes in failure path handling.
36109
b0346e0f 361102008-05-06 Robert Millan <rmh@aybabtu.com>
36111
36112 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36113 Do not print a trailing slash (therefore, the root directory is an
36114 empty string).
36115 (convert_system_path_to_grub_path): Do not remove trailing slash
36116 from make_system_path_relative_to_its_root() output.
36117
36118 * util/i386/pc/grub-install.in: Add trailing slash to output from
36119 make_system_path_relative_to_its_root().
36120
6cf12cbd 361212008-05-06 Robert Millan <rmh@aybabtu.com>
36122
36123 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36124 ensures that output lines aren't intermangled with those sent to
36125 stderr (via grub_util_info()).
36126 * util/grub-probe.c (grub_refresh): Likewise.
36127 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36128
0fbb3117 361292008-05-05 Christian Franke <franke@computer.org>
36130
36131 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36132 Add Cygwin device names.
36133 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36134 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36135 (check_device): Return error instead of success on empty name.
36136 (make_device_map): Move label inside linux specific code to
36137 prevent compiler warning.
36138
8124cdb7 361392008-04-30 Robert Millan <rmh@aybabtu.com>
36140
36141 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36142 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36143 first boot option.
36144 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36145
094c01d0 361462008-04-29 Robert Millan <rmh@aybabtu.com>
36147
36148 * docs/grub.cfg: New file (example GRUB configuration).
36149
f4b1fc02 361502008-04-26 Robert Millan <rmh@aybabtu.com>
36151
329ce2a5 36152 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36153 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36154 and `disk/ieee1275/nand.c'.
f4b1fc02 36155
25f16ec1 361562008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 36157
25f16ec1 36158 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36159 i386-linuxbios.
36160
36161 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36162 change the buffer size to 4096 for cdrom device.
36163
36164 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36165 and nand.mod.
36166 (_linux_mod_SOURCES): New variable.
36167 (_linux_mod_CFLAGS): Likewise.
36168 (_linux_mod_LDFLAGS): Likewise.
36169 (linux_mod_SOURCES): Likewise.
36170 (linux_mod_CFLAGS): Likewise.
36171 (linux_mod_LDFLAGS): Likewise.
36172 (nand_mod_SOURCES): Likewise.
36173 (nand_mod_CFLAGS): Likewise.
36174 (nand_mod_LDFLAGS): Likewise.
36175
36176 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36177 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36178 type property. (nand device in olpc don't have this property)
36179
36180 * include/grub/disk.h (grub_disk_dev_id): New macro
36181 GRUB_DISK_DEVICE_NAND_ID.
36182
36183 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36184 function prototype.
36185 (grub_rescue_cmd_initrd): Likewise.
36186
36187 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36188 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36189 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 36190
25f16ec1 36191 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36192 GRUB_MACHINE_IEEE1275 is defined.
36193
36194 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36195 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36196
36197 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36198 on nested function heap_init.
36199 (grub_upper_mem): New variable for i386-ieee1275.
36200 (grub_get_extended_memory): New function for i386-ieee1275.
36201 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36202
36203 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36204 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36205 property.
f19dbdb7 36206
25f16ec1 36207 * loader/i386/ieee1275/linux.c: New file.
36208
36209 * loader/i386/ieee1275/linux_normal.c: New file.
36210
36211 * disk/ieee1275/nand.c: New file.
36212
e89d61e9 362132008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36214
36215 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36216 value.
36217 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36218
602566f6 362192008-04-18 Robert Millan <rmh@aybabtu.com>
36220
36221 Restructures early code path on ieee1275 to unify grub_main() as
36222 the first C function that is executed in every platform.
36223
36224 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36225 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36226 cmain().
36227 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36228 * kern/ieee1275/cmain.c (cmain): Rename to ...
36229 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36230 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36231 at the beginning.
36232
57490c2b 362332008-04-18 Robert Millan <rmh@aybabtu.com>
36234
36235 * util/update-grub.in: Fix syntax error when setting
36236 `GRUB_PRELOAD_MODULES'.
36237 Reported by Stephane Chazelas <stephane@artesyncp.com>
36238
1977517d 362392008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36240
36241 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36242 section into account, newer toolchains generate unique build ids
36243 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 36244 we want build ids to be preserved
1977517d 36245 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36246 far from other sections don't cause the raw binary images grow
36247 size
36248
bfb1f1a2 362492008-04-15 Robert Millan <rmh@aybabtu.com>
36250
36251 * disk/lvm.c: Update copyright year.
36252 * kern/misc.c: Likewise.
36253
01979850 362542008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36255
36256 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 36257 there is no memory left for physical volume name.
01979850 36258
0a1150e2 362592008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36260
36261 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36262 volume name mapping to support bigger than 9 character names properly.
36263
82ead3fe 362642008-04-13 Robert Millan <rmh@aybabtu.com>
36265
36266 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36267 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36268
e54a72f5 362692008-04-13 Christian Franke <franke@computer.org>
36270
36271 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36272 to create a floppy emulation boot CD when non emulation mode
36273 does not work.
36274 Enable Joliet CD filesystem extension.
36275
9fe86034 362762008-04-13 Robert Millan <rmh@aybabtu.com>
36277
36278 * kern/misc.c (grub_strncat): Fix off-by-one error.
36279 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36280
36281 * kern/env.c (grub_env_context_close): Clear current context, not
36282 previous one.
36283 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36284
36285 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36286
7ceeee39 362872008-04-13 Robert Millan <rmh@aybabtu.com>
36288
36289 Improve robustness when handling LVM.
36290
36291 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 36292 (and leave `*p' unmodified).
7ceeee39 36293 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36294 through it.
36295 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36296 iterating through it.
36297 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36298 through it.
fe6b695a 36299 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 36300 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36301 Don't assume `vg->pvs != NULL' when iterating through it.
36302
58cd3d85 363032008-04-13 Robert Millan <rmh@aybabtu.com>
36304
36305 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36306 * genmk.rb (partmap): New variable.
36307 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36308 (#{partmap}): New target rule.
36309 * genpartmaplist.sh: New file.
36310 * Makefile.in (pkglib_DATA): Add partmap.lst.
36311 (partmap.lst): New target rule.
36312 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36313 modules (including all partition maps), instead of preloading them.
36314
78b51059 363152007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36316
36317 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36318 `linux-boot-prober' (if installed) to detect other operating
36319 systems which are installed on the computer and add them to
36320 the boot menu.
36321 * conf/common.rmk: Build and install 30_os-prober.
36322
a91627b4 363232008-04-12 Robert Millan <rmh@aybabtu.com>
36324
36325 * kern/powerpc/ieee1275/init.c: Move from here ...
36326 * kern/ieee1275/init.c: ... to here. Update all users.
36327
36328 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36329 * kern/ieee1275/cmain.c: ... to here. Update all users.
36330
36331 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36332 * kern/ieee1275/openfw.c: ... to here. Update all users.
36333
36334 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36335 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36336
322562ea 363372008-04-10 Pavel Roskin <proski@gnu.org>
36338
36339 * configure.ac: Always use "_cv_" in cache variables for
36340 compatibility with Autoconf 2.62.
36341
a02a73c5 363422008-04-07 Robert Millan <rmh@aybabtu.com>
36343
36344 Revert grub/machine/init.h addition by Pavel (since it breaks on
36345 i386-ieee1275 and others):
36346 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36347 * util/powerpc/ieee1275/misc.c: Likewise.
36348
25c024b1 363492008-04-07 Robert Millan <rmh@aybabtu.com>
36350
36351 * util/grub-probe.c (probe): Improve error message.
36352
3cbd2f98 363532008-04-07 Robert Millan <rmh@aybabtu.com>
36354
36355 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36356 (this prevents the presence of a bogus entry from ruining the whole
36357 thing).
36358
87a297bf 363592008-04-06 Pavel Roskin <proski@gnu.org>
36360
36747a62 36361 * util/biosdisk.c: Include grub/util/biosdisk.h.
36362 * util/grub-fstest.c (execute_command): Make static.
36363 * util/grub-mkdevicemap.c (check_device): Likewise.
36364 * util/i386/pc/misc.c: Include grub/machine/init.h.
36365 * util/powerpc/ieee1275/misc.c: Likewise.
36366 * util/lvm.c: Include grub/util/lvm.h.
36367 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36368 grub/cache.h.
36369 * util/raid.c: Include grub/util/raid.h.
36370 (grub_util_getdiskname): Make static.
36371
87a297bf 36372 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36373 grub_hostfs_fini(), as they are called from grub_init_all() and
36374 grub_fini_all() respectively. This fixes an infinite loop in
36375 grub-fstest due to double registration of hostfs.
36376 Reported by Christian Franke <Christian.Franke@t-online.de>
36377
f6ce7629 363782008-04-05 Pavel Roskin <proski@gnu.org>
36379
36380 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36381 all 8 functions. Otherwise, probe function 0 only.
36382
070e49e4 363832008-04-04 Pavel Roskin <proski@gnu.org>
36384
8b088a4c 36385 * commands/lspci.c (grub_lspci_iter): Print the bus number
36386 correctly.
36387
4f657021 36388 * commands/lspci.c (grub_pci_classes): Fix typos.
36389 (grub_lspci_iter): Don't print func twice. Print vendor ID
36390 before device ID, as it's normally done.
36391
070e49e4 36392 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36393 Fix signedness warnings.
36394 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36395 Likewise.
36396 * util/ieee1275/get_disk_name.c: Include config.h so that
36397 _GNU_SOURCE is defined and getline() is declared. Mark an
36398 unused argument as such. Fix a signedness warning.
36399
ba7328dc 364002008-04-02 Pavel Roskin <proski@gnu.org>
36401
26887f22 36402 * genkernsyms.sh.in: Use more robust assignments for CC and
36403 srcdir. Quote srcdir.
36404 * gensymlist.sh.in: Likewise. Assert at the compile time that
36405 the symbol table is not empty.
36406
ba7328dc 36407 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36408 * fs/cpio.c (grub_cpio_read): Likewise.
36409
0f582c6b 364102008-04-01 Pavel Roskin <proski@gnu.org>
36411
4b6e1995 36412 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36413 * disk/host.c (grub_host_open): Likewise.
36414 * disk/loopback.c (grub_loopback_open): Likewise.
36415 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36416 disk->id as in disk/host.c, not a multi-character constant.
36417
828a2768 36418 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36419 later is obsolete, potentially dangerous and sets a bad example.
36420 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36421 * util/misc.c (grub_util_get_image_size): Likewise.
36422
2bb4fb47 36423 * disk/loopback.c (options): Improve help for "--partitions".
36424
0f582c6b 36425 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36426 options to align them with the short options, e.g. "echo -e".
36427
a33224e0 364282008-03-31 Bean <bean123ch@gmail.com>
36429
36430 * video/reader/png.c (grub_png_data): New member is_16bit and
36431 image_data.
36432 (grub_png_decode_image_header): Detect 16 bit png image.
36433 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36434 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36435 (grub_video_reader_png): Release memory occupied by image_data.
36436
36437 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36438 4096 bytes.
36439 (grub_nfs_mount): Skip the test for sector per cluster.
36440
36441 * include/grub/ntfs.h (MAX_SPC): Removed.
36442
86cb4f54 364432008-03-31 Bean <bean123ch@gmail.com>
36444
36445 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36446 (grub_probe_SOURCES): Add fs/afs.c.
36447 (grub_fstest_SOURCES): Likewise.
36448 (afs_mod_SOURCES): New variable.
36449 (afs_mod_CFLAGS): Likewise.
36450 (afs_mod_LDFLAGS): Likewise.
36451
36452 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36453 (grub_emu_SOURCES): Likewise.
36454
36455 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36456
36457 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36458
36459 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36460
36461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36462
36463 * fs/afs.c: New file.
36464
17c74c21 364652008-03-30 Pavel Roskin <proski@gnu.org>
36466
4cb68e89 36467 * disk/host.c: Include grub/misc.h to fix a warning.
36468 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36469 warnings about implicit declarations.
36470
8790bb04 36471 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36472 variable.
36473 * include/grub/i386/loader.h: Change declaration of
36474 grub_linux_boot() to match what grub_loader_set() expects.
36475 * util/getroot.c (grub_guess_root_device): Return const char* to
36476 fix a warning.
36477 * util/grub-probe.c (probe): Fix a warning about uninitialized
36478 abstraction_name variable.
36479 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36480 second argument as unused to fix a warning.
36481
9a3f3296 36482 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36483 missing grub_error() call.
36484
0ecef90d 36485 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36486 2.60 and newer uses it to define datadir.
36487
0bf6d401 36488 * commands/sleep.c: Fix warning about implicit declaration.
36489 * disk/memdisk.c: Likewise.
36490 * loader/aout.c: Likewise.
36491 * loader/i386/bsd_normal.c: Likewise.
36492 * util/grub-probe.c: Likewise.
36493
7cdacf97 36494 * commands/i386/cpuid.c (has_longmode): Make static.
36495 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36496 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36497
17c74c21 36498 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36499 GDT. This is more robust, as %ds can change.
36500 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36501 calling real_to_prot().
36502 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36503
80a3e68b 365042008-03-28 Pavel Roskin <proski@gnu.org>
36505
36506 * kern/i386/pc/startup.S: Assert that uncompressed functions
36507 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36508 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36509 code, as they push parts of the code (error handlers) beyond
36510 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36511 code as correctness and size.
36512
77bcd272 365132008-03-28 Pavel Roskin <proski@gnu.org>
36514
36515 * kern/i386/pc/startup.S
36516 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36517 data block address to the real mode, keep offset minimal. This
36518 works around a bug in AWARD BIOS on old Athlon systems, which
36519 makes CD detection hang.
36520
c5dfd43b 365212008-03-26 Pavel Roskin <proski@gnu.org>
36522
36523 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36524 const.
36525 * include/grub/normal.h: Add grub_parse_color_name_pair()
36526 declaration.
36527
bf962df2 365282008-03-24 Bean <bean123ch@gmail.com>
36529
36530 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36531 (cd_count): Removed.
36532 (cd_drive): New variable.
36533 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36534 (grub_biosdisk_call_hook): Likewise.
36535 (grub_biosdisk_iterate): Change cdrom detection method.
36536 (grub_biosdisk_open): Replace cd_start with cd_drive.
36537 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36538 detect cdrom device.
36539
36540 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36541 Removed.
36542 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36543 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36544 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36545 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36546 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36547 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36548 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36549 (grub_biosdisk_cdrp): New structure.
36550 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36551
36552 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
36553
36554 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
36555 device.
36556
36557 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
36558 New function.
36559
68e7fc7a 365602008-03-20 Robert Millan <rmh@aybabtu.com>
36561
36562 Remove 2 TiB limit in ata.mod.
36563 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
36564 (grub_ata_dumpinfo): Print sector count with 0x%llx.
36565 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
36566 grub_uint64_t instead of grub_uint32_t.
36567
38ad2cf5 365682008-03-05 Bean <bean123ch@gmail.com>
36569
36570 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
36571 (grub_multiboot): Set boot device.
36572
36573 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
36574
2b89344e 365752008-03-02 Bean <bean123ch@gmail.com>
36576
36577 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
36578 symlink_buffer.
36579
87a95d1f 365802008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
36581
36582 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
36583 texinfo.tex.
36584
36585 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
36586 modified.
36587
36588 * docs/fdl.texi: New file.
f19dbdb7 36589
87a95d1f 36590 * docs/mdate-sh: New file. Copied from gnulib.
36591 * docs/texinfo.tex: Likewise.
36592
36593 * config.guess: Updated from gnulib.
36594 * install-sh: Likewise.
36595
7dc15d8e 365962008-02-28 Robert Millan <rmh@aybabtu.com>
36597
36598 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
36599 (aout_mod_SOURCES): New variable.
36600 (aout_mod_CFLAGS): Likewise.
36601 (aout_mod_LDFLAGS): Likewise.
36602
36603 * conf/i386-ieee1275.rmk: Likewise.
36604
b00ab696 366052008-02-28 Robert Millan <rmh@aybabtu.com>
36606
36607 * util/update-grub.in: Reorganise terminal validity check. Accept
36608 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
36609 Based on suggestion by Franklin PIAT.
36610
79ca2d78 366112008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
36612
36613 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
36614 function.
36615 * util/getroot.c (grub_util_check_block_device): New function that
36616 returns the given argument if it is a block device and returns NULL else.
36617 * util/grub-probe.c (argument_is_device): New variable.
36618 (probe): Promote device_name from a variable to an argument. Receive
36619 device_name from grub_util_check_block_device() if path is NULL and from
36620 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 36621 (options): Introduce new parameter '-d, --device'.
79ca2d78 36622 (main): Add description of the new parameter to the help screen.
36623 Rename path variable to argument. Set argument_is_device if the '-d'
36624 option is given. Pass argument to probe() depending on
36625 argument_is_device.
36626
0d16e571 366272008-02-24 Bean <bean123ch@gmail.com>
36628
36629 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
36630 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
36631 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
36632 (GRUB_ISO9660_VOLDESC_PART): Likewise.
36633 (GRUB_ISO9660_VOLDESC_END): Likewise.
36634 (grub_iso9660_primary_voldesc): New member escape.
36635 (grub_iso9660_data): New member joliet.
36636 (grub_iso9660_convert_string): New function.
36637 (grub_iso9660_mount): Detect joliet extension.
36638 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
36639 (grub_iso9660_iso9660_label): Likewise.
36640
36641 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
36642 (grub_setup_SOURCES): Add fs/udf.c.
36643 (grub_fstest_SOURCES): Likewise.
36644 (udf_mod_SOURCES): New variable.
36645 (udf_mod_CFLAGS): Likewise.
36646 (udf_mod_LDFLAGS): Likewise.
36647
36648 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
36649 (grub_emu_SOURCES): Likewise.
36650
36651 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36652
36653 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36654
36655 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36656
36657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36658
36659 * fs/udf.c: New file.
36660
8a594a17 366612008-02-24 Robert Millan <rmh@aybabtu.com>
36662
36663 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
36664 (normal/lexer.c_DEPENDENCIES): New variables.
36665 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36666 (normal/lexer.c_DEPENDENCIES): Likewise.
36667 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
36668 (normal/lexer.c_DEPENDENCIES): Likewise.
36669 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
36670 (normal/lexer.c_DEPENDENCIES): Likewise.
36671 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36672 (normal/lexer.c_DEPENDENCIES): Likewise.
36673 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36674 (normal/lexer.c_DEPENDENCIES): Likewise.
36675
2dc33c03 366762008-02-23 Robert Millan <rmh@aybabtu.com>
36677
36678 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
36679 since they were intended to be in hex. This didn't break previously
36680 because of a bug in gpt_partition_map_iterate() (see below).
36681
36682 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
36683 when checking the validity of GPT header.
36684 Remove `partno', since it always provides the same information as `i'.
36685
f6f4cfb0 366862008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
36687
36688 * include/grub/efi/time.h: Fix a wrong comment.
36689
79ff665f 366902008-02-19 Pavel Roskin <proski@gnu.org>
36691
36692 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
36693 message.
36694
d38e24c2 366952008-02-19 Bean <bean123ch@gmail.com>
36696
36697 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
36698 (aout_mod_SOURCES): New variable.
36699 (aout_mod_CFLAGS): Likewise.
36700 (aout_mod_LDFLAGS): Likewise.
36701 (_bsd_mod_SOURCES): New variable.
36702 (_bsd_mod_CFLAGS): Likewise.
36703 (_bsd_mod_LDFLAGS): Likewise.
36704 (bsd_mod_SOURCES): New variable.
36705 (bsd_mod_CFLAGS): Likewise.
36706 (bsd_mod_LDFLAGS): Likewise.
36707
36708 * include/grub/aout.h: New file.
36709
36710 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
36711
36712 * include/grub/i386/bsd.h: New file.
36713
36714 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
36715 to make it public.
36716
36717 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
36718 function is called, so that it's possible to change it inside the hook.
36719 (grub_elf64_load): Likewise.
36720 (grub_elf_file): Don't close the file if elf header is not found.
36721 (grub_elf_close): Close the file if grub_elf_file fails (The new
36722 grub_elf_file won't close it).
36723 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
36724 (grub_elf64_size): Likewise.
36725
36726 * kern/i386/loader.S (grub_unix_real_boot): New function.
36727
36728 * loader/aout.c: New file.
36729
36730 * loader/i386/bsd.c: New file.
36731
36732 * loader/i386/bsd_normal.c: New file.
36733
36734 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
36735
36736 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 36737 can test other formats.
d38e24c2 36738
b93bdb0f 367392008-02-19 Robert Millan <rmh@aybabtu.com>
36740
36741 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
36742 (grub_gpt_partition_type_empty): Redefine with macro from
36743 `<grub/gpt_partition.h>'.
36744 (gpt_partition_map_iterate): Adjust partition type comparison.
36745
36746 Export `entry' as partmap-specific `part.data' struct.
36747 (grub_gpt_header, grub_gpt_partentry): Move from here ...
36748
36749 * include/grub/gpt_partition.h (grub_gpt_header)
36750 (grub_gpt_partentry): ... to here (new file).
36751
36752 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
36753
36754 (grub_gpt_partition_type_bios_boot): New const variable, defined
36755 with macro from `<grub/gpt_partition.h>'.
36756
36757 (setup): Replace `first_start' with `embed_region', which keeps
36758 track of the embed region (and is partmap-agnostic).
36759
36760 Replace find_first_partition_start() with find_usable_region(),
36761 which finds a usable region for embedding using partmap-specific
36762 knowledge (supports PC/MSDOS and GPT).
36763
36764 Fix all assumptions that the embed region start at sector 1, using
36765 `embed_region.start' from now on. Similarly, use `embed_region.end'
36766 rather than `first_start' to calculate available size.
36767
36768 In grub_util_info() message, replace "into after the MBR" with an
36769 indication of the specific sector our embed region starts at.
36770
66cb40f6 367712008-02-19 Robert Millan <rmh@aybabtu.com>
36772
36773 * DISTLIST: Replace `commands/ieee1275/halt.c' and
36774 `commands/ieee1275/reboot.c' with `commands/halt.c' and
36775 `commands/reboot.c'.
36776 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36777 (halt_mod_SOURCES): Likewise.
36778 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36779 (halt_mod_SOURCES): Likewise.
36780
b7202015 367812008-02-17 Christian Franke <franke@computer.org>
36782
36783 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
36784
32b0fc49 367852008-02-17 Robert Millan <rmh@aybabtu.com>
36786
36787 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36788 set `first_start' to 0 for non-PC/MSDOS partition maps.
36789
aca63502 367902008-02-16 Robert Millan <rmh@aybabtu.com>
36791
36792 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36793 do not assume partition map is PC/MSDOS before performing checks that
36794 are specific to that layout.
36795
0de8be86 367962008-02-13 Robert Millan <rmh@aybabtu.com>
36797
36798 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
36799 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
36800 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
36801
c3db8364 368022008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
36803
36804 * configure.ac: Only a cosmetic change on the handling of
36805 -fno-stack-protector.
36806
f714229e 368072008-02-12 Alexandre Boeglin <alex@boeglin.org>
36808
c3db8364 36809 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
36810 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
36811 reboot.c.
f714229e 36812 (grub_install_SOURCES): Add halt.mod and reboot.mod.
36813 (halt_mod_SOURCES): New variable.
36814 (halt_mod_CFLAGS): Likewise.
36815 (halt_mod_LDFLAGS): Likewise.
36816 (reboot_mod_SOURCES): Likewise.
36817 (reboot_mod_CFLAGS): Likewise.
36818 (reboot_mod_LDFLAGS): Likewise.
36819
c3db8364 36820 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
36821 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
36822 reboot.c.
f714229e 36823 (halt_mod_SOURCES): Likewise.
36824 (reboot_mod_SOURCES): Likewise.
36825
c3db8364 36826 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
36827 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 36828 (reboot_mod_SOURCES): Likewise.
36829
36830 * commands/i386/pc/reboot.c: merge this file ...
36831
36832 * commands/ieee1275/reboot.c: ... and this file ...
36833
36834 * commands/reboot.c: ... to this file.
c3db8364 36835 Add some precompiler directive to include the correct header for
36836 each machine.
f714229e 36837
36838 * commands/ieee1275/halt.c: move this file ...
36839
36840 * commands/halt.c: ... to here.
c3db8364 36841 Add some precompiler directive to include the correct header for
36842 each machine.
f714229e 36843
36844 * include/grub/efi/efi.h (grub_reboot): New function declaration.
36845 (grub_halt): Likewise.
36846
36847 * kern/efi/efi.c (grub_reboot): New function.
36848 (grub_halt): Likewise.
36849
c74493e0 368502008-02-12 Robert Millan <rmh@aybabtu.com>
36851
36852 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
36853 /dev (like it is done for /dev/mapper). This doesn't provide support
36854 for EVMS, but at least it is now easy to identify the problem when it
36855 arises.
36856
d0db4b04 368572008-02-11 Robert Millan <rmh@aybabtu.com>
36858
36859 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
36860 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
36861 comparing it with -1, not 0.
36862
bf748642 368632008-02-10 Robert Millan <rmh@aybabtu.com>
36864
36865 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
36866 `disk/lvm.c'.
36867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36868 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
36869
36870 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
36871 `disk/lvm.c' to the end of the list.
36872 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36873 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36874
b5db202a 368752008-02-10 Robert Millan <rmh@aybabtu.com>
36876
36877 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
36878 grub_print_error() instead. This will let user know why we're entering
36879 rescue mode.
36880 Based on suggestions from Sam Morris.
36881
83abee31 368822008-02-10 Alexandre Boeglin <alex@boeglin.org>
36883
36884 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
36885 on remaining N args, instead of "--" arg N times.
36886
78d5a08b 368872008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
36888
36889 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
36890 (fill_with_default_glyph): Changed to use unknown_glyph for fill
36891 pattern for unknown glyphs.
36892
68807e5f 368932008-02-09 Robert Millan <rmh@aybabtu.com>
36894
36895 * configure.ac: Probe for `help2man'.
36896 * Makefile.in (builddir): New variable.
36897 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
36898 or otherwise add a few flags/options to it.
36899 (install-local): For every executable utility or script that is
36900 installed, invoke $(HELP2MAN) to install a manpage based on --help
36901 output.
36902
36903 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
36904 that it doesn't prevent --help from working in build tree.
36905
36906 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
36907 with `bug-grub@gnu.org'.
36908 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
36909 * util/update-grub.in (usage): New function.
36910 Implement proper argument check, with support for --help and --version
36911 (as well as existing -y).
36912
369132008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 36914
36915 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
36916 avoid overwriting previous output.
36917 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
36918
c1962162 369192008-02-09 Robert Millan <rmh@aybabtu.com>
36920
36921 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
36922 drawing the menu.
36923
3dac2e3f 369242008-02-09 Robert Millan <rmh@aybabtu.com>
36925
36926 * commands/sleep.c: New file.
36927 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
36928 (sleep_mod_SOURCES): New variable.
36929 (sleep_mod_CFLAGS): Likewise.
36930 (sleep_mod_LDFLAGS): Likewise.
36931
7a634e08 369322008-02-09 Robert Millan <rmh@aybabtu.com>
36933
36934 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
36935 situations in which we can deduce the RAID size and the superblock
36936 doesn't match it.
36937
b92f0c18 369382008-02-09 Robert Millan <rmh@aybabtu.com>
36939
36940 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
36941 and return a grub_diskmemberlist_t composed of LVM physical volumes.
36942 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
36943
36944 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
36945 and return a grub_diskmemberlist_t composed of physical array members.
36946 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
36947
36948 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
36949 prototype.
36950 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
36951 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
36952 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
36953
36954 * util/grub-probe.c (probe): Move partmap probing code from here ...
36955 (probe_partmap): ... to here.
36956 (probe): Use probe_partmap() once for the disk we're probing, and
36957 additionally, when such disk contains a memberlist() struct member,
36958 once for each disk that is contained in the structure returned by
36959 memberlist().
36960
91a4bf68 369612008-02-09 Robert Millan <rmh@aybabtu.com>
36962
36963 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
36964 environment variable to 'all' in order to obtain debug output from
36965 non-util/ code.
36966 * util/i386/pc/grub-setup.c (main): Likewise.
36967
a96f9caa 369682008-02-08 Robert Millan <rmh@aybabtu.com>
36969
36970 * disk/raid.c (grub_raid_scan_device): Check for
36971 `array->device[sb.this_disk.number]' rather than for
36972 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 36973 guaranteed to be accessible.
a96f9caa 36974
b37a9222 369752008-02-08 Robert Millan <rmh@aybabtu.com>
36976
36977 * disk/raid.c: Update copyright.
36978 * fs/cpio.c: Likewise.
36979 * include/grub/raid.h: Likewise.
36980 * loader/i386/pc/multiboot.c: Likewise.
36981 * util/hostfs.c: Likewise.
36982
5626aee1 369832008-02-08 Robert Millan <rmh@aybabtu.com>
36984
36985 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
36986 to a grub_disk_t array.
36987 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
36988 `device[x]'.
36989 (grub_raid_scan_device): Replace `device[x].name' accesses with
36990 `device[x]->name'. Simplify initialization of `array->device[x]'.
36991
554f0187 369922008-02-08 Robert Millan <rmh@aybabtu.com>
36993
36994 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
36995 grub_dprintf() calls.
36996 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
36997 error message.
36998
1ec8425d 369992008-02-07 Christian Franke <franke@computer.org>
37000
37001 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37002 instead of fseek and ftell to support large files.
37003 (grub_hostfs_read): Likewise.
37004
f2156fda 370052008-02-07 Robert Millan <rmh@aybabtu.com>
37006
37007 Patch from Jeroen Dekkers.
37008 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 37009 failure, since successfully reading all array members might not be
f2156fda 37010 required.
37011
9216e0e7 370122008-02-06 Robert Millan <rmh@aybabtu.com>
37013
37014 * util/grub-probe.c (probe): Simplify partmap probing (with the
37015 assumption that the first word up to the underscore equals to
37016 the module name).
37017
b0dfd29a 370182008-02-06 Christian Franke <franke@computer.org>
37019
37020 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37021 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37022 last block of a cpio or tar stream.
37023 Check for "TRAILER!!!" instead of any empty data
37024 block to detect last block of a cpio stream.
37025 (grub_cpio_dir): Fix constness of variable np.
37026 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37027 cpio or tar trailer is detected. This fixes a crash
37028 on open of a non existing file.
37029
c32865bf 370302008-02-05 Bean <bean123ch@gmail.com>
37031
37032 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37033 address of entry.
37034 (grub_multiboot_load_elf64): Likewise.
37035 (grub_multiboot): Initialize mbi structure.
37036
37037 * util/grub-fstest.c: Don't include unused header file script.h.
37038
fe6b695a 37039 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 37040 of file.
37041 (grub_fstest_SOURCES): Likewise.
37042
409480b7 370432008-02-05 Robert Millan <rmh@aybabtu.com>
37044
37045 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37046 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37047 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37048 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37049
37050 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37051 (translation_table): Replace hardcoded values with macros
37052 provided by `<grub/term.h>'.
37053
37054 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37055 (keyboard_map): Correct/add a few values, with macros provided
37056 by `<grub/term.h>'.
37057 (keyboard_map_shift): Zero values that don't differ from their
37058 `keyboard_map' equivalents.
37059 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37060 Discard the second scan code that is always sent by Caps lock.
37061 Only use `keyboard_map_shift' when it provides a non-zero value,
37062 otherwise fallback to `keyboard_map'.
37063
99fadbaa 370642008-02-04 Bean <bean123ch@gmail.com>
37065
37066 * Makefile.in (enable_grub_fstest): New variable.
37067
37068 * conf/common.rmk (grub_fstest_init.lst): New rule.
37069 (grub_fstest_init.h): Likewise.
37070 (grub_fstest_init.c): Likewise.
37071 (util/grub-fstest.c_DEPENDENCIES): New variable.
37072 (grub_fstest_SOURCES): Likewise.
37073
37074 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37075
37076 * util/grub-fstest.c: New file.
37077
bf567c50 370782008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37079
37080 Make grub-setup handle a separate root device.
f19dbdb7 37081
bf567c50 37082 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37083 so that the root device can be compared with the destination
37084 device.
37085 When embedding the core image, if the root and destination devices
37086 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37087 0xFF.
37088 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 37089
9be6b98b 370902008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37091
37092 Add support for having a grub directory in a different drive. This
37093 is still only the data handling part.
f19dbdb7 37094
9be6b98b 37095 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37096 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37097 (grub_root_drive): New variable.
37098
37099 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37100 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37101 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37102 as it was.
37103
37104 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37105
37106 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37107 macro.
37108 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37109
37110 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37111 is bogus, because PXE booting does not specify any drive
37112 correctly.
37113
37114 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37115 am not sure if this is really correct.
37116
37117 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37118 is always identical to the boot drive when booting from a CD.
37119
37120 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37121 longer.
37122 (root_drive): New variable.
37123 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37124 (setup_sectors): Push %dx right after popping it, because %dh will
37125 be modified later.
37126 (copy_buffer): Restore %dx.
37127
e0ca0677 371282008-02-03 Robert Millan <rmh@aybabtu.com>
37129
37130 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37131 use `cdboot.img' for cdrom images.
37132
3b3f6629 371332008-02-03 Robert Millan <rmh@aybabtu.com>
37134
37135 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37136 only setup gfxterm when `font' command has succeeded.
37137
d42b3672 371382008-02-03 Robert Millan <rmh@aybabtu.com>
37139
37140 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37141 (grub_rescue_cmd_multiboot_loader)
37142 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37143
fa370ea6 371442008-02-03 Pavel Roskin <proski@gnu.org>
37145
e0c5dacb 37146 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 37147 %edx and %esi from stack only after grub_gate_a20() is called.
37148 grub_gate_a20() clobbers %edx.
37149
f2a76e1d 371502008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37151
37152 * configure.ac (AC_INIT): Bumped to 1.96.
37153
37154 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37155 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37156 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37157 video/readers/png.c.
37158
90fd32d1 371592008-02-03 Bean <bean123ch@gmail.com>
9be665dd 37160
37161 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37162 (cdboot_img_SOURCES): New variable.
37163 (cdboot_img_ASFLAGS): New variable.
37164 (cdboot_img_LDFLAGS): New variable.
37165
37166 * boot/i386/pc/cdboot.S: New file.
37167
37168 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37169 (cd_count): Likewise.
37170 (grub_biosdisk_get_drive): Add support for cd device.
37171 (grub_biosdisk_call_hook): Likewise.
37172 (grub_biosdisk_iterate): Likewise.
37173 (grub_biosdisk_open): Likewise.
37174 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37175 (grub_biosdisk_rw): Support reading from cd device.
37176 (GRUB_MOD_INIT): Iterate cd devices.
37177
37178 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37179 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37180 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37181
37182 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37183
4020aa53 371842008-02-02 Robert Millan <rmh@aybabtu.com>
37185
37186 * commands/read.c: New file.
37187 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37188 (read_mod_SOURCES): New variable.
37189 (read_mod_CFLAGS): Likewise.
37190 (read_mod_LDFLAGS): Likewise.
37191
e03a1132 371922008-02-02 Robert Millan <rmh@aybabtu.com>
37193
37194 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37195 determining whether menu has to be displayed.
37196
58c69220 371972008-02-02 Marco Gerards <marco@gnu.org>
37198
37199 * bus/pci.c: New file.
37200
37201 * include/grub/pci.h: Likewise.
37202
37203 * include/grub/i386/pc/pci.h: Likewise.
37204
37205 * commands/lspci.c: Likewise.
37206
37207 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37208 `lspci.mod'.
37209 (pci_mod_SOURCES): New variable.
37210 (pci_mod_CFLAGS): Likewise.
37211 (pci_mod_LDFLAGS): Likewise.
37212 (lspci_mod_SOURCES): Likewise.
37213 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 37214 (lspci_mod_LDFLAGS): Likewise.
58c69220 37215
c004e1b4 372162008-02-02 Bean <bean123ch@gmail.com>
37217
37218 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37219 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37220
37221 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37222 (grub_xfs_btree_node): New structure.
37223 (grub_xfs_btree_root): New structure.
37224 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37225 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37226 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37227 (GRUB_XFS_EXTENT_SIZE): Likewise.
37228 (grub_xfs_read_block): Support btree format type.
37229 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37230 Use directory block as basic unit.
37231
37232 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37233
37234 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37235 __attribute__ ((__regparm__ (1))).
37236
f95562bf 372372008-02-01 Robert Millan <rmh@aybabtu.com>
37238
37239 Correct a mistake in previous commit.
37240
37241 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37242 top.
37243 (normal/command.c_DEPENDENCIES): New variable.
37244
7d31f41f 372452008-02-01 Robert Millan <rmh@aybabtu.com>
37246
37247 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37248 top.
37249 (normal/command.c_DEPENDENCIES): New variable.
37250 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37251 * conf/i386-ieee1275.rmk: Likewise.
37252 * conf/i386-linuxbios.rmk: Likewise.
37253 * conf/i386-pc.rmk: Likewise.
37254 * conf/sparc64-ieee1275.rmk: Likewise.
37255 * conf/powerpc-ieee1275.rmk: Likewise.
37256 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37257
37258 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37259
60b6be74 372602008-02-01 Robert Millan <rmh@aybabtu.com>
37261
37262 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37263 call at beginning of function.
37264
078522ab 372652008-01-31 Pavel Roskin <proski@gnu.org>
37266
37267 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 37268 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37269 (grub_mkrescue_SOURCES): Likewise.
078522ab 37270 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37271
ccaa8a5f 372722008-01-30 Robert Millan <rmh@aybabtu.com>
37273
37274 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37275 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37276 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37277 (grub_probe_SOURCES): ... to here.
37278
37279 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37280 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37281 * conf/i386-ieee1275.rmk: Likewise.
37282 * conf/i386-linuxbios.rmk: Likewise.
37283 * conf/powerpc-ieee1275.rmk: Likewise.
37284
ae5a9cd7 372852008-01-30 Tristan Gingold <gingold@free.fr>
37286
37287 * kern/rescue.c: Silently accept empty lines.
37288
70bc2ef2 372892008-01-29 Bean <bean123ch@gmail.com>
37290
37291 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37292 (real_code_2): Code cleanup and change comment style.
37293 (move_memory): Avoid using 32-bit address mode.
37294
6a4d50ea 372952008-01-29 Bean <bean123ch@gmail.com>
37296
37297 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37298 (png_mod_SOURCES): New variable.
37299 (png_mod_CFLAGS): Likewise.
37300 (png_mod_LDFLAGS): Likewise.
37301
37302 * video/readers/png.c: New file.
37303
11cc30ac 373042008-01-28 Robert Millan <rmh@aybabtu.com>
37305
37306 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37307 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37308 `ifndef GRUB_MOD_GAP' hack.
37309 * util/elf/grub-mkimage.c (add_segments): Likewise.
37310
3abc589f 373112008-01-27 Robert Millan <rmh@aybabtu.com>
37312
37313 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37314 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 37315 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 37316
e1907778 373172008-01-27 Robert Millan <rmh@aybabtu.com>
37318
37319 Get grub-emu to build again (including parallel builds).
37320
37321 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37322 Split into ...
37323 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37324 (normal/execute.c_DEPENDENCIES): ... this, ...
37325 (grub-emu_DEPENDENCIES): ... and this.
37326
37327 * conf/i386-efi.rmk: Likewise.
37328 * conf/i386-linuxbios.rmk: Likewise.
37329 * conf/i386-ieee1275.rmk: Likewise.
37330 * conf/powerpc-ieee1275.rmk: Likewise.
37331 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37332
2216b101 373332008-01-27 Robert Millan <rmh@aybabtu.com>
37334
37335 * NEWS: Add a few items.
37336
f75172d9 373372008-01-27 Robert Millan <rmh@aybabtu.com>
37338
37339 Fix parallel builds with grub-emu. Based on earlier commit for
37340 grub-probe and grub-setup.
37341
37342 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37343 (util/grub-emu.c_DEPENDENCIES): ... this.
37344 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37345 (util/grub-emu.c_DEPENDENCIES): ... this.
37346 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37347 (util/grub-emu.c_DEPENDENCIES): ... this.
37348 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37349 (util/grub-emu.c_DEPENDENCIES): ... this.
37350 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37351 (util/grub-emu.c_DEPENDENCIES): ... this.
37352
3f51de77 373532008-01-27 Pavel Roskin <proski@gnu.org>
37354
37355 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37356 to create a gap between _end and the modules added to the image
37357 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37358 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37359 * util/elf/grub-mkimage.c (add_segments): Likewise.
37360
2033f53e 373612008-01-26 Pavel Roskin <proski@gnu.org>
37362
37363 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37364 just return an error.
37365
22da1f6f 373662008-01-26 Bean <bean123ch@gmail.com>
37367
37368 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37369 (grub_reiserfs_get_item): Save offset of the next item.
37370 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37371
2a9525e6 373722008-01-25 Robert Millan <rmh@aybabtu.com>
37373
37374 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37375 make all filesystem sources appear together (possibly fixing omissions
37376 while at it).
37377 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37378 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37379 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37380 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37381
37382 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37383 add `kern/file.c'.
37384 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37385 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37386 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37387 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37388
37389 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37390 (probe): Add a sanity check to make sure of our ability to read
37391 requested files when probing for filesystem type.
37392
37393 * genmk.rb: Update copyright year (2007).
37394
37395 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37396 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37397 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37398 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37399 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37400 : Remove function prototypes.
37401
b95f71b5 374022008-01-25 Robert Millan <rmh@aybabtu.com>
37403
37404 Revert my previous commits (based on wrong assumption of how grub_errno
37405 works).
37406
fe6b695a 37407 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 37408 * kern/file.c (grub_file_open): Likewise.
37409
d08bbb49 374102008-01-24 Pavel Roskin <proski@gnu.org>
37411
37412 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37413 that hang if GRUB tries to setup colors.
37414 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37415 colors for firmwares that don't support it.
37416 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37417 Recognize Open Hack'Ware, set flags to work around its
37418 limitations.
37419
605e36ed 374202008-01-24 Robert Millan <rmh@aybabtu.com>
37421
37422 * kern/file.c (grub_file_open): Do not account previous failures of
37423 unrelated functions when grub_errno is checked for.
37424 Reported by Oleg Strikov.
37425
bac332a1 374262008-01-24 Bean <bean123ch@gmail.com>
37427
37428 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37429 (grub_ufs_sblock): New member volume name.
37430 (grub_ufs_find_file): Fix string copy bug.
37431 (grub_ufs_label): Implement this function properly.
37432
37433 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37434 (grub_hfs_iterate_records): Use the correct file number for extents
37435 and catalog file. Fix problem in next index calculation.
37436 (grub_hfs_find_node): Replace recursive function call with loop.
37437 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37438
15c80c09 374392008-01-23 Robert Millan <rmh@aybabtu.com>
37440
37441 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37442 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37443 (grub_multiboot2_real_boot): New function prototype.
37444
37445 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37446 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37447
37448 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37449 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37450
305338fd 374512008-01-23 Robert Millan <rmh@aybabtu.com>
37452
37453 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37454 #ifdef'ed out grub_printf().
37455
3ea52685 374562008-01-23 Robert Millan <rmh@aybabtu.com>
37457
37458 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37459 grub_dprintf calls, since they make "debug=all" mode unusable.
37460 (grub_console_checkkey): Likewise.
37461
5882ae4b 374622008-01-23 Robert Millan <rmh@aybabtu.com>
37463
37464 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37465 `term/i386/pc/at_keyboard.c'.
37466 (pkglib_MODULES): Add `serial.mod'.
37467 (serial_mod_SOURCES): New variable.
37468 (serial_mod_CFLAGS): Likewise.
37469 (serial_mod_LDFLAGS): Likewise.
37470
37471 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37472 `<grub/powerpc/ieee1275/console.h>'.
37473 (grub_keyboard_controller_init): New function prototype.
37474 (grub_console_checkkey): Likewise.
37475 (grub_console_getkey): Likewise.
37476
37477 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37478 keyboard on i386.
37479
37480 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37481 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37482
06ab5303 374832008-01-23 Robert Millan <rmh@aybabtu.com>
37484
37485 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37486 present, "(memdisk)/boot/grub" becomes the default prefix.
37487
37488 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37489 a memdisk tarball with all the modules. Add --overlay=DIR option that
37490 allows users to overlay additional files into the image.
37491
dbb475a4 374922008-01-23 Robert Millan <rmh@aybabtu.com>
37493
37494 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37495 and `machine/memory.h'.
37496 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37497 (_multiboot_mod_SOURCES): New variable.
37498 (_multiboot_mod_CFLAGS): Likewise.
37499 (_multiboot_mod_LDFLAGS): Likewise.
37500 (multiboot_mod_SOURCES): Likewise.
37501 (multiboot_mod_CFLAGS): Likewise.
37502 (multiboot_mod_LDFLAGS): Likewise.
37503
37504 * include/grub/i386/ieee1275/loader.h: New file.
37505
37506 * include/grub/i386/ieee1275/machine.h: Likewise.
37507
37508 * include/grub/i386/ieee1275/memory.h: Likewise.
37509
37510 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37511 variable declaration.
37512 (grub_os_area_size): Likewise.
37513
37514 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37515 (grub_lower_mem, grub_upper_mem): New variables.
37516 (grub_stop_floppy): New function (just to make
37517 grub_multiboot2_real_boot() happy).
37518
37519 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37520 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37521 (grub_stop): New function.
37522 Include `"../realmode.S"' and `"../loader.S"'.
37523
37524 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37525 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37526
37527 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37528 rely on grub_multiboot2_real_boot() for final boot.
37529
25638629 375302008-01-22 Robert Millan <rmh@aybabtu.com>
37531
37532 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37533 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37534 device that doesn't look like an SD card.
37535 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37536 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37537 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37538 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37539 found.
37540
9dad816d 375412008-01-22 Robert Millan <rmh@aybabtu.com>
37542
37543 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37544 avoid claiming over our own code.
37545
34842f2d 375462008-01-22 Bean <bean123ch@gmail.com>
37547
37548 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37549 (jpeg_mod_SOURCES): New variable.
37550 (jpeg_mod_CFLAGS): Likewise.
37551 (jpeg_mod_LDFLAGS): Likewise.
37552
37553 * video/readers/jpeg.c : New file.
37554
44023a28 375552008-01-22 Bean <bean123ch@gmail.com>
37556
37557 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
37558 there are no more items.
37559
bc2d8ac6 375602008-01-21 Robert Millan <rmh@aybabtu.com>
37561
37562 * kern/mm.c (grub_mm_init_region): Improve debug message.
37563
261bd4bc 375642008-01-21 Robert Millan <rmh@aybabtu.com>
37565
37566 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
37567 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
37568 address.
37569 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
37570 a C macro.
37571 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
37572 Indicates start of upper memory.
37573 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
37574 (generate_image): Abort when image size is big enough to corrupt
37575 upper memory.
37576
37577 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
37578 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
37579 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37580 instead of hardcoding 0xA0000.
37581 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
37582 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37583 instead of hardcoding 0xA0000.
37584
f970b55e 375852008-01-21 Robert Millan <rmh@aybabtu.com>
37586
37587 * disk/memdisk.c (memdisk_size): New variable.
37588 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
37589 `memdisk_size'.
37590 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
37591 image to dynamic memory.
37592 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
37593 `memdisk_size'. Free memdisk block.
37594
1a8b0526 375952008-01-21 Robert Millan <rmh@aybabtu.com>
37596
37597 Fix detection of very small filesystems (like tar).
37598
37599 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
37600 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
37601 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
37602 a problem with this disk).
37603
6e9b4aab 376042008-01-21 Robert Millan <rmh@aybabtu.com>
37605
37606 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
37607 on grub_biosdisk_rw_standard() error.
37608
0d8837b2 376092008-01-21 Robert Millan <rmh@aybabtu.com>
37610
37611 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
37612 recent changes.
37613 * kern/elf.c: Likewise.
37614 * kern/ieee1275/ieee1275.c: Likewise.
37615 * kern/powerpc/ieee1275/openfw.c: Likewise.
37616 * term/ieee1275/ofconsole.c: Likewise.
37617
ffd36e34 376182008-01-21 Robert Millan <rmh@aybabtu.com>
37619
37620 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
37621
3f0093d0 37622 * include/grub/kernel.h (grub_arch_memdisk_addr)
37623 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 37624
3f0093d0 37625 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
37626 (grub_arch_memdisk_size): ... to here.
ffd36e34 37627
6c391b21 376282008-01-21 Robert Millan <rmh@aybabtu.com>
37629
37630 Mostly based on bugfix from Bean.
37631
37632 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
37633 attribute with hook() parameter.
37634 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
37635 declaration.
37636 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
37637 attribute with hook() parameter.
37638 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
37639 declaration.
37640
55a581dc 376412008-01-21 Robert Millan <rmh@aybabtu.com>
37642
37643 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
37644 (pkglib_MODULES): Add `memdisk.mod'.
37645 (memdisk_mod_SOURCES): New variable.
37646 (memdisk_mod_CFLAGS): Likewise.
37647 (memdisk_mod_LDFLAGS): Likewise.
37648
37649 * disk/memdisk.c: New file.
37650
37651 * include/grub/disk.h (grub_disk_dev_id): Add
37652 `GRUB_DISK_DEVICE_MEMDISK_ID'.
37653
37654 * include/grub/i386/pc/kernel.h
37655 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
37656 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
37657 (grub_kernel_image_size): New variable declaration.
37658 (grub_total_module_size): Likewise.
37659 (grub_memdisk_image_size): Likewise.
37660
37661 * include/grub/i386/pc/memory.h
37662 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
37663
37664 * include/grub/kernel.h: Include `<grub/symbol.h>'.
37665 (grub_arch_memdisk_addr): New variable declaration.
37666 (grub_arch_memdisk_size): Likewise.
37667
37668 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
37669 (grub_arch_memdisk_size): Likewise.
37670
37671 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
37672 (codestart): Replace hardcoded `0x100000' with
37673 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
37674
37675 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
37676 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
37677 not NULL, append the contents of the file it refers to, at the end of
37678 the compressed kernel image. Initialize `grub_memdisk_image_size'
37679 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
37680 (options): Add "memdisk"|'m' option.
37681 (main): Parse --memdisk|-m option, and pass user-provided path as
37682 parameter to generate_image().
37683
3d7f54c9 376842008-01-20 Robert Millan <rmh@aybabtu.com>
37685
37686 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
37687 grub_dprintf() calls from here ...
37688 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
37689
0bf74728 376902008-01-20 Robert Millan <rmh@aybabtu.com>
37691
37692 Fix detection of "real mode" when /options/real-mode? doesn't exist.
37693
37694 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
37695 declaration.
37696 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
37697 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
37698 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 37699 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 37700 property).
37701 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
37702 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
37703
33bf70a7 377042008-01-19 Robert Millan <rmh@aybabtu.com>
37705
fe6b695a 37706 Get rid of confusing function (superseded by
33bf70a7 37707 `grub_ieee1275_get_integer_property')
37708 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
37709 prototype.
37710 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
37711 function.
37712 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
37713 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 37714 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 37715
e2da7d26 377162008-01-19 Robert Millan <rmh@aybabtu.com>
37717
37718 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
37719 command after "shut-down", since implementations differ on which
37720 the command for halt is.
37721
59f1fd8d 377222008-01-19 Robert Millan <rmh@aybabtu.com>
37723
37724 * include/grub/i386/linuxbios/console.h: Add header protection.
37725 (grub_keyboard_controller_init): New function prototype.
37726 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
37727 (KEYBOARD_COMMAND_READ): Likewise.
37728 (KEYBOARD_COMMAND_WRITE): Likewise.
37729 (KEYBOARD_SCANCODE_SET1): Likewise.
37730 (grub_keyboard_controller_write): New function.
37731 (grub_keyboard_controller_read): Likewise.
37732 (grub_keyboard_controller_init): Likewise.
37733
37734 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
37735 (grub_console_init): On coreboot/LinuxBIOS, call
37736 grub_keyboard_controller_init().
37737
5f5a7c15 377382008-01-19 Robert Millan <rmh@aybabtu.com>
37739
37740 PowerPC changes provided by Pavel Roskin.
37741
37742 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
37743 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
37744 don't rely on cmain() doing it.
37745 * kern/i386/ieee1275/startup.S (_start): Store %eax in
37746 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
37747
1210e168 377482008-01-16 Robert Millan <rmh@aybabtu.com>
37749
37750 * include/grub/i386/linuxbios/memory.h
37751 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
37752 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
37753 receive `table_header' as argument. Instead, probe for it in the
37754 known memory ranges where it can be present.
37755 (grub_available_iterate): Do not pass a fixed `table_header' address
37756 to grub_linuxbios_table_iterate().
37757
3d04eab8 377582008-01-15 Robert Millan <rmh@aybabtu.com>
37759
37760 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
37761 * conf/i386-ieee1275.rmk: New file.
37762 * include/grub/i386/ieee1275/console.h: Likewise.
37763 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
37764 * include/grub/i386/ieee1275/kernel.h: Likewise.
37765 * include/grub/i386/ieee1275/time.h: Likewise.
37766 * kern/i386/ieee1275/init.c: Likewise.
37767 * kern/i386/ieee1275/startup.S: Likewise.
37768
d1bc1b73 377692008-01-15 Robert Millan <rmh@aybabtu.com>
37770
37771 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
37772 when pointers are 32-bit (but still do set it to one when they are
37773 64-bit).
37774
66a65807 377752008-01-15 Robert Millan <rmh@aybabtu.com>
37776
37777 * include/grub/ieee1275/ieee1275.h
37778 (grub_ieee1275_get_integer_property): New function prototype.
37779
37780 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
37781 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 37782 grub_ieee1275_get_property() to handle endianness.
66a65807 37783
37784 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
37785 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 37786 where appropriate.
66a65807 37787 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
37788 (grub_map): Likewise.
37789 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
37790
a83ccafd 377912008-01-15 Bean <bean123ch@gmail.com>
37792
37793 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
37794 (grub_script_execute_cmdline): Reset grub_errno.
37795
37796 * normal/main.c (read_config_file): Reset grub_errno.
37797
37798 * normal/parse.y (script_init): New.
37799 (script): Move function and menuentry here.
37800 (delimiter): New.
37801 (command): Add delimiter at the end of command.
37802 (commands): Adjust to match the new command.
37803 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 37804 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 37805 (if): Use the new commands.
37806
37807 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
37808
df6ecfc6 378092008-01-15 Robert Millan <rmh@aybabtu.com>
37810
37811 * normal/menu.c (run_menu): Move timeout message from here ...
37812 (print_timeout): ... to here.
37813 (run_menu): Use print_timeout() once during initial draw to print
37814 the whole message, and again in every clock tick to update only
37815 the number of seconds.
37816
87ae25eb 378172008-01-15 Robert Millan <rmh@aybabtu.com>
37818
37819 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
37820 actual size of `available' from grub_ieee1275_get_property(), and
37821 restrict parsing to that bound.
37822
47bf09a4 378232008-01-15 Christian Franke <franke@computer.org>
37824
37825 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
37826 (argp_program_version): Remove variable.
37827 (argp_program_bug_address): Likewise.
37828 (options): Convert from struct argp_option to struct option.
37829 (struct arguments): Remove.
37830 (parse_opt): Remove.
37831 (usage): New function.
37832 (main): Replace struct args members by simple variables.
37833 Replace argp_parse() by getopt_long().
37834 Add switch to evaluate options.
37835 Add missing "(...)" around root_dev in prefix string.
37836
c86f1469 378372008-01-14 Robert Millan <rmh@aybabtu.com>
37838
37839 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
37840 for grub_ieee1275_exit(), in order to improve portability.
37841
e622c559 378422008-01-14 Robert Millan <rmh@aybabtu.com>
37843
37844 * util/grub.d/10_linux.in (prefix): Define.
37845 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
37846
44cb1ec8 378472008-01-13 Pavel Roskin <proski@gnu.org>
37848
37849 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
37850 grub_errno if no errors have been detected.
37851
1eb8c802 378522008-01-12 Robert Millan <rmh@aybabtu.com>
37853
37854 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
37855 (grub_util_get_dev_abstraction): New function prototype.
37856
37857 * util/getroot.c: Include `<grub/util/getroot.h>'
37858 (grub_util_get_grub_dev): Move detection of abstraction type to ...
37859 (grub_util_get_dev_abstraction): ... here (new function).
37860
37861 * util/grub-probe.c: Convert PRINT_* to an enum. Add
37862 `PRINT_ABSTRACTION'.
37863 (probe): Probe for abstraction type when requested.
37864 (main): Understand `--target=abstraction'.
37865
37866 * util/i386/efi/grub-install.in: Add abstraction module to core
37867 image when it is found to be necessary.
37868 * util/i386/pc/grub-install.in: Likewise.
37869 * util/powerpc/ieee1275/grub-install.in: Likewise.
37870
37871 * util/update-grub_lib.in (font_path): Return system path without
37872 converting to GRUB path.
37873 * util/update-grub.in: Convert system path returned by font_path()
37874 to a GRUB path. Use `grub-probe -t abstraction' to determine what
37875 abstraction module is needed for loading fonts (if any). Export
37876 that as `GRUB_PRELOAD_MODULES'.
37877 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
37878 insmod commands).
37879
52bd3de9 378802008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
37881
37882 Remove some unused code from reiserfs.
f19dbdb7 37883
52bd3de9 37884 * fs/reiserfs.c (struct grub_reiserfs_key)
37885 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
37886 (struct grub_reiserfs_node_body): Removed.
37887 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37888 Likewise.
37889 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37890 Likewise.
37891 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37892 Likewise.
37893 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37894 Likewise.
37895 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37896 Likewise.
37897 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
37898 Likewise.
37899 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37900 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37901 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37902
2f80039d 379032008-01-10 Robert Millan <rmh@aybabtu.com>
37904
37905 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
37906 Determines if a file is garbage left by packaging systems, etc.
37907 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
37908 for processing /etc/grub.d scripts.
37909 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
37910 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
37911 as a condition for processing Linux images.
37912
87888032 379132008-01-10 Pavel Roskin <proski@gnu.org>
37914
37915 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
37916 to compile reiserfs.c on PowerPC.
37917
7e54fced 379182008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 37919
37920 * kern/device.c (grub_device_iterate): Do not abort device iteration
37921 when one of the devices cannot be opened.
37922 * kern/disk.c (grub_disk_open): Do not account previous failures of
37923 unrelated functions when grub_errno is checked for.
37924
5aa541e6 379252008-01-08 Robert Millan <rmh@aybabtu.com>
37926
37927 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
37928 `! grub_linux_is_bzimage', change order of address comparison to make
37929 it more intuitive, and improve "too big zImage" error message.
37930
7076340d 379312008-01-08 Robert Millan <rmh@aybabtu.com>
37932
37933 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
37934 `$(update-grub_DATA)'.
37935 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
37936 targets.
37937
9ca70333 379382008-01-07 Robert Millan <rmh@aybabtu.com>
37939
37940 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
37941 which instruction is modified by grub-setup during installation
37942 (since it wasn't obvious by only looking at this file).
37943
38ccf575 379442008-01-07 Robert Millan <rmh@aybabtu.com>
37945
37946 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
37947 listing actual TODO items.
37948
f5db4291 379492008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37950
868967cf 37951 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
37952 correctly.
37953 (grub_reiserfs_get_key_offset): Likewise.
37954 (grub_reiserfs_set_key_offset): Likewise.
37955 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 37956 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 37957
37958 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
37959 better to remove the bitfield version completely.
f19dbdb7 37960
868967cf 379612008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37962
f5db4291 37963 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
37964 allocated from the heap, due to the fshelp implementation.
37965 (grub_reiserfs_dir): Free NODE, due to the same reason.
37966
492e6d9d 379672008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37968
37969 Mostly from Vincent Pelletier:
f19dbdb7 37970
492e6d9d 37971 * fs/reiserfs.c: New file.
f19dbdb7 37972
492e6d9d 37973 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
37974 (reiserfs_mod_SOURCES): New variable.
37975 (reiserfs_mod_CFLAGS): Likewise.
37976 (reiserfs_mod_LDFLAGS): Likewise.
37977
37978 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
37979 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
37980 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
37981 normal/color.c.
37982
9ce3e7c1 379832008-01-06 Robert Millan <rmh@aybabtu.com>
37984
37985 * normal/color.c: Remove `<grub/env.h>'.
37986
f3b58148 379872008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
37988
37989 * include/grub/normal.h: Include <grub/env.h>.
37990
7ac3bcfa 379912008-01-05 Robert Millan <rmh@aybabtu.com>
37992
37993 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
37994 usage example with `(hd0,1)'.
fb358190 37995 Reported by Samuel Thibault.
7ac3bcfa 37996
c8ee99d7 379972008-01-05 Robert Millan <rmh@aybabtu.com>
37998
37999 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38000 (grub_linux_boot_zimage): Rename to ...
38001 (grub_linux_boot): ... this.
38002 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38003 (grub_linux_boot_zimage): Conditionalize zImage copy.
38004
38005 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38006 (grub_linux_boot_bzimage): Remove prototype.
38007 (grub_linux_boot_zimage): Rename to ...
38008 (grub_linux_boot): ... this.
38009
38010 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38011 (grub_linux_boot): Remove function.
38012
0ece25b1 380132008-01-05 Robert Millan <rmh@aybabtu.com>
38014
38015 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38016 (grub_env_write_color_highlight): Likewise.
38017 (grub_wait_after_message): Likewise.
38018
38019 * normal/color.c: New file.
38020
38021 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38022 (normal_mod_DEPENDENCIES): Likewise.
38023
38024 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38025 (normal_mod_DEPENDENCIES): Likewise.
38026
38027 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38028 (normal_mod_DEPENDENCIES): Likewise.
38029
38030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38031 (normal_mod_DEPENDENCIES): Likewise.
38032
38033 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38034 for waiting after a message is printed.
38035 * normal/main.c (read_config_file): Likewise.
38036 (grub_normal_init): Register grub_env_write_color_normal() and
38037 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38038 `color_highlight' variables as global.
38039
38040 * normal/menu.c (grub_wait_after_message): New function.
38041 (grub_color_menu_normal): New variable. Replaces ...
38042 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38043 (grub_color_menu_highlight): New variable. Replaces ...
38044 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38045 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38046 `GRUB_TERM_COLOR_STANDARD'.
38047 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38048 `normal_code' and `highlight_code' to `old_color_normal' and
38049 `old_color_highlight', respectively.
38050 (grub_menu_init_page): Update colors when drawing the menu, based on
38051 `menu_color_normal' and `menu_color_highlight' variables.
38052 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38053 a message is printed.
38054
182dd4e5 380552008-01-05 Robert Millan <rmh@aybabtu.com>
38056
38057 * kern/env.c (grub_env_context_open): Propagate hooks for global
38058 variables to new context.
38059
38060 * kern/main.c (grub_set_root_dev): Export `root' variable.
38061
ddf8f6ad 380622008-01-05 Robert Millan <rmh@aybabtu.com>
38063
38064 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 38065 discs unconditionally, since udev and others have options to provide
ddf8f6ad 38066 them.
38067
d8b43d9b 380682008-01-05 Robert Millan <rmh@aybabtu.com>
38069
38070 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38071
2bff2de3 380722008-01-04 Christian Franke <franke@computer.org>
38073
38074 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38075 of eisa_mmap.
38076
97eab917 380772008-01-03 Pavel Roskin <proski@gnu.org>
38078
38079 * kern/i386/linuxbios/init.c: Put "void" to all function
38080 declarations with no arguments.
38081 * kern/powerpc/ieee1275/init.c: Likewise.
38082 * term/i386/pc/at_keyboard.c: Likewise.
38083 * term/i386/pc/vga_text.c: Likewise.
38084 * util/grub-mkdevicemap.c: Likewise.
38085
b9416d00 380862008-01-02 Robert Millan <rmh@aybabtu.com>
38087
38088 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38089 message when loaded image is out of bounds.
38090 (grub_multiboot_load_elf64): Likewise.
38091
92695df9 380922008-01-02 Pavel Roskin <proski@gnu.org>
38093
38094 * util/grub.d/10_linux.in: Try version without ".old" when
38095 looking for initrd. It's better to use initrd from the newer
38096 kernel of the same version than no initrd at all.
38097
d98d9cad 380982008-01-01 Robert Millan <rmh@aybabtu.com>
38099
38100 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38101
dbfdce36 381022008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38103
f19dbdb7 38104 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 38105 grub_video_get_active_render_target.
38106 (grub_video_adapter): Added unmap_color and get_active_render_target.
38107
f19dbdb7 38108 * video/video.c: Added grub_video_unmap_color and
dbfdce36 38109 grub_video_get_active_render_target.
38110 (grub_video_get_info): Changed method to accept NULL pointer as an
38111 argument to allow detection of active video adapter.
38112
38113 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38114 grub_video_vbe_unmap_color_int.
38115 Added grub_video_vbe_unmap_color and
38116 grub_video_vbe_get_active_render_target.
38117 (grub_video_vbe_adapter): Added unmap_color and
38118 get_active_render_target.
38119
f19dbdb7 38120 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 38121 with grub_video_vbe_unmap_color_int.
38122
38123 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38124 (DEFAULT_NORMAL_COLOR): Likewise.
38125 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38126 (DEFAULT_FG_COLOR): Removed.
38127 (DEFAULT_BG_COLOR): Likewise.
38128 (DEFAULT_CURSOR_COLOR): Changed value.
38129 (grub_virtual_screen): Added standard_color_setting,
38130 normal_color_setting, highlight_color_setting and term_color.
38131 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38132 (bitmap_width): Added.
38133 (bitmap_height): Likewise.
38134 (bitmap): Likewise.
38135 (set_term_color): Likewise.
38136 (grub_virtual_screen_setup): Changed to use new terminal coloring
38137 settings.
38138 (grub_gfxterm_init): Added init for bitmap.
38139 (grub_gfxterm_fini): Added destroy for bitmap.
38140 (redraw_screen_rect): Updated to use background bitmap and new
38141 terminal coloring.
38142 (scroll_up): Added optimization for case when there is no bitmap.
38143 (grub_gfxterm_cls): Fixed to use correct background color.
38144 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38145 coloring.
38146 (grub_virtual_screen_setcolor): Likewise.
38147 (grub_virtual_screen_getcolor): Added.
38148 (grub_gfxterm_background_image_cmd): Likewise.
38149 (grub_video_term): Added setcolor and getcolor.
38150 (MOD_INIT): Added registration of background_image command.
38151 (MOD_TERM): Added unregistration for background_image command.
38152
c3c20931 381532007-12-30 Pavel Roskin <proski@gnu.org>
38154
38155 * loader/multiboot_loader.c: Fix multiboot command
38156 unregistration. Fix all typos in the word "multiboot".
38157
df266716 381582007-12-29 Pavel Roskin <proski@gnu.org>
94239199 38159
38160 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38161 support for initrd names used in Fedora.
38162
fc6e896c 381632007-12-26 Bean <bean123ch@gmail.com>
38164
38165 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38166 (cpio_mod_SOURCES): New variable.
38167 (cpio_mod_CFLAGS): Likewise.
38168 (cpio_mod_LDFLAGS): Likewise.
38169
38170 * fs/cpio.c: New file.
38171
38172 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38173
38174 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38175
38176 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38177
38178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38179
533110ad 381802007-12-25 Robert Millan <rmh@aybabtu.com>
38181
38182 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38183 (grub_getcolor): New function.
38184
38185 * kern/term.c (grub_getcolor): New function.
38186 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38187 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38188 (print_entry): Set normal and highlight colors to
38189 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38190 respectively, before printing and restore them to old
38191 values afterwards.
38192 (grub_menu_init_page): Likewise. Fill an additional colored space
38193 that would otherwise be left blank.
38194
38195 * term/efi/console.c (grub_console_getcolor): New function.
38196 (struct grub_console_term.getcolor): New variable.
38197 * term/i386/pc/console.c (grub_console_getcolor): New function.
38198 (struct grub_console_term.getcolor): New variable.
38199 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38200 (struct grub_console_term.getcolor): New variable.
38201
38202 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38203 (struct grub_console_term.setcolor): Remove variable.
38204 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38205 (struct grub_console_term.setcolor): Remove variable.
38206 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38207 (struct grub_console_term.setcolor): Remove variable.
38208 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38209 (struct grub_console_term.setcolor): Remove variable.
38210
4931827f 382112007-12-25 Robert Millan <rmh@aybabtu.com>
38212
38213 * configure.ac: Search for possible unifont.hex locations, and
38214 define UNIFONT_HEX if found.
38215
38216 * Makefile.in (UNIFONT_HEX): Define variable.
38217 (DATA): Rename to ...
38218 (PKGLIB): ... this. Update all users.
38219 (PKGDATA): New variable.
38220 (pkgdata_IMAGES): Rename to ...
38221 (pkglib_IMAGES): ... this. Update all users.
38222 (pkgdata_MODULES): Rename to ...
38223 (pkglib_MODULES): ... this. Update all users.
38224 (pkgdata_PROGRAMS): Rename to ...
38225 (pkglib_PROGRAMS): ... this. Update all users.
38226 (pkgdata_DATA): Rename to ...
38227 (pkglib_DATA): ... this. Update all users.
38228 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38229 (unicode.pff, ascii.pff): New rules.
38230 (all-local): Add `$(PKGDATA)' dependency.
38231 (install-local): Process `$(PKGDATA)'.
38232
38233 * util/update-grub_lib.in (font_path): Search for *.pff files in
38234 a few more locations, including `${pkgdata}'.
38235
57e57e31 382362007-12-23 Robert Millan <rmh@aybabtu.com>
38237
38238 Patch from Bean <bean123ch@gmail.com>:
38239 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38240 `size'.
38241
4bc72aa9 382422007-12-21 Bean <bean123ch@gmail.com>
38243
38244 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38245 (ntfscomp_mod_SOURCES): New variable.
38246 (ntfscomp_mod_CFLAGS): Likewise.
38247 (ntfscomp_mod_LDFLAGS): Likewise.
38248
38249 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38250 (grub_probe_SOURCES): Likewise.
38251 (grub_emu_SOURCES): Likewise.
38252
38253 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38254 (grub_emu_SOURCES): Likewise.
38255
38256 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38257 (grub_emu_SOURCES): Likewise.
38258
38259 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38260 (grub_emu_SOURCES): Likewise.
38261
38262 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38263 (read_run_list): Renamed to grub_ntfs_read_run_list.
38264 (decomp_nextvcn): Moved to ntfscomp.c.
38265 (decomp_getch): Likewise.
38266 (decomp_get16): Likewise.
38267 (decomp_block): Likewise.
38268 (read_block): Likewise.
38269 (read_data): Partially moved to ntfscomp.c.
38270 (fixup): Change unsigned to grub_uint16_t.
38271 (read_mft): Change unsigned long to grub_uint32_t.
38272 (read_attr): Likewise.
38273 (read_data): Likewise.
38274 (read_run_data): Likewise.
38275 (read_run_list): Likewise.
38276 (read_mft): Likewise.
38277
38278 * fs/ntfscomp.c: New file.
38279
38280 * include/grub/ntfs.h: New file.
38281
af680a87 382822007-12-16 Robert Millan <rmh@aybabtu.com>
38283
38284 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38285 IDE disk check, since Linux is known to support 20 IDE disks.
38286 Reported by Colin Watson.
38287
84be7599 382882007-12-15 Bean <bean123ch@gmail.com>
38289
38290 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38291 (lnxboot_img_SOURCES): New variable.
38292 (lnxboot_img_ASFLAGS): Likewise.
38293 (lnxboot_img_LDFLAGS): Likewise.
38294
38295 * boot/i386/pc/lnxboot.S: New file.
38296
6af9db01 382972007-11-24 Pavel Roskin <proski@gnu.org>
38298
38299 * configure.ac: Test if '--build-id=none' is supported by the
38300 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38301 objcopy to generate incorrect binary files (binutils
38302 2.17.50.0.18-1 as shipped by Fedora 8).
38303 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38304 linking, so that build ID doesn't break the test.
38305
7361cfe6 383062007-11-24 Pavel Roskin <proski@gnu.org>
38307
38308 * include/grub/i386/time.h: use "void" in the argument list
38309 of grub_cpu_idle().
38310 * include/grub/powerpc/time.h: Likewise.
38311 * include/grub/sparc64/time.h: Likewise.
38312
1593e10c 383132007-11-18 Christian Franke <franke@computer.org>
38314
38315 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38316 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38317 This fixes the problem that function keys did not work in grub-emu.
38318
3b8db1a8 383192007-11-18 Christian Franke <franke@computer.org>
38320
38321 * disk/host.c (grub_host_open): Remove attribute unused from
38322 name parameter. Add check for "host". This fixes the problem
38323 that grub-emu does not find partitions.
38324
2e29408d 383252007-11-18 Christian Franke <franke@computer.org>
38326
38327 * util/hostfs.c (is_dir): New function.
38328 (grub_hostfs_dir): Handle missing dirent.d_type case.
38329 (grub_hostfs_read): Add missing fseek().
38330 (grub_hostfs_label): Clear label pointer. This fixes a crash
38331 of grub-emu on "ls (host)".
38332
398cd047 383332007-11-18 Christian Franke <franke@computer.org>
38334
38335 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38336 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38337 to 64 bit boundary by default.
38338
c405c391 383392007-11-18 Bean <bean123ch@gmail.com>
38340
38341 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38342 (hexdump_mod_SOURCES): New variable.
38343 (hexdump_mod_CFLAGS): Likewise.
38344 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 38345
c405c391 38346 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38347
38348 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38349
38350 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38351
38352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38353
38354 * include/grub/hexdump.h: New file.
38355
38356 * commands/hexdump.c: New file.
38357
5cced7fd 383582007-11-10 Robert Millan <rmh@aybabtu.com>
38359
38360 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38361 in grub_outb() calls.
38362 (beep_on): Likewise.
38363
8b714eb0 383642007-11-10 Christian Franke <franke@computer.org>
38365
38366 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38367 (grub_menu_run): Likewise.
38368
ce0f1839 383692007-11-10 Robert Millan <rmh@aybabtu.com>
38370
38371 * include/grub/i386/efi/machine.h: New file.
38372 * include/grub/i386/linuxbios/machine.h: Likewise.
38373 * include/grub/i386/pc/machine.h: Likewise.
38374 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38375 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38376
38377 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38378 (serial_hw_io_addr): New variable.
38379 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38380 instead of `(unsigned short *) 0x400'.
38381
270c237d 383822007-11-10 Bean <bean123ch@gmail.com>
38383
38384 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38385
a87783bf 383862007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38387
38388 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38389 (vga_mod_SOURCES): Added.
38390 (vga_mod_CFLAGS): Likewise.
38391 (vga_mod_LDFLAGS): Likewise.
38392
38393 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38394 grub_outb() calls.
38395 (set_map_mask): Likewise.
38396 (set_read_map): Likewise.
38397 (set_read_address): Likewise.
38398 (vga_font): Removed variable.
38399 (get_vga_glyph): Removed function.
38400 (invalidate_char): Likewise.
38401 (write_char): Changed to use grub_font_get_glyph() for font
38402 information.
38403 (grub_vga_putchar): Likewise.
38404 (grub_vga_getcharwidth): Likewise.
38405
6433b448 384062007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38407
38408 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38409 flags.
38410 (pxeboot_img_LDFLAGS): Likewise.
38411 (diskboot_img_LDFLAGS): Likewise.
38412 (kernel_img_LDFLAGS): Likewise.
38413
49178511 384142007-11-06 Robert Millan <rmh@aybabtu.com>
38415
38416 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38417 in grub_outb() calls.
38418 (serial_hw_init): Likewise.
38419
53b052de 384202007-11-05 Robert Millan <rmh@aybabtu.com>
38421
38422 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38423 spaces. Skip non-regular files.
38424
5ab33bba 384252007-11-05 Robert Millan <rmh@aybabtu.com>
38426
38427 * kern/disk.c (grub_disk_firmware_fini)
38428 (grub_disk_firmware_is_tainted): New variables.
38429
38430 * include/grub/disk.h (grub_disk_firmware_fini)
38431 (grub_disk_firmware_is_tainted): Likewise.
38432
38433 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38434 (grub_disk_biosdisk_fini): ... to here.
38435 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38436 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38437 is set. Register grub_disk_biosdisk_fini() in
38438 `grub_disk_firmware_fini'.
38439
38440 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38441 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38442 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38443 to finish existing firmware disk interface.
38444
38445 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38446 (ata_mod_SOURCES): New variable.
38447 (ata_mod_CFLAGS): Likewise.
38448 (ata_mod_LDFLAGS): Likewise.
38449
0149ab7c 384502007-11-05 Robert Millan <rmh@aybabtu.com>
38451
38452 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38453 (grub_ata_wait): Reimplement using grub_millisleep().
38454
38455 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38456 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38457
be7ac41e 384582007-11-03 Marco Gerards <marco@gnu.org>
38459
38460 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38461 (CRTC_ADDR_PORT): New macro.
38462 (CRTC_DATA_PORT): Likewise.
38463 (CRTC_CURSOR): Likewise.
38464 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38465 (CRTC_CURSOR_ADDR_LOW): Likewise.
38466 (update_cursor): New function.
38467 (grub_console_real_putchar): Call `update_cursor'.
38468 (grub_console_gotoxy): Likewise.
38469 (grub_console_cls): Set the default color when clearing the
38470 screen.
38471 (grub_console_setcursor): Implemented.
38472
bb06ab2e 384732007-11-03 Marco Gerards <marco@gnu.org>
38474
38475 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38476 become activate.
38477 (grub_ata_pio_write): Likewise.
38478
38479 (grub_atapi_identify): Wait after issuing an ATA command.
38480 (grub_atapi_packet): Likewise.
38481 (grub_ata_identify): Likewise.
38482 (grub_ata_readwrite): Likewise.
38483
cf8f780b 384842007-11-03 Marco Gerards <marco@gnu.org>
38485
38486 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38487 (grub_ata_pio_write): Likewise.
38488 (grub_ata_readwrite): Use `grub_error', instead of
38489 returning `grub_errno'.
38490
ed649e54 384912007-11-03 Marco Gerards <marco@gnu.org>
38492
38493 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38494 grub_ata_pio_write once for every single sector, instead of for
38495 multiple sectors.
38496
ca25d8f0 384972007-10-31 Robert Millan <rmh@aybabtu.com>
38498
38499 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38500
38501 * conf/i386-linuxbios.rmk: New file.
38502
38503 * kern/i386/pc/hardware.c: Likewise.
38504 * term/i386/pc/at_keyboard.c: Likewise.
38505 * term/i386/pc/vga_text.c: Likewise.
38506
38507 * include/grub/i386/linuxbios/boot.h: Likewise.
38508 * include/grub/i386/linuxbios/console.h: Likewise.
38509 * include/grub/i386/linuxbios/init.h: Likewise.
38510 * include/grub/i386/linuxbios/kernel.h: Likewise.
38511 * include/grub/i386/linuxbios/loader.h: Likewise.
38512 * include/grub/i386/linuxbios/memory.h: Likewise.
38513 * include/grub/i386/linuxbios/serial.h: Likewise.
38514 * include/grub/i386/linuxbios/time.h: Likewise.
38515
38516 * kern/i386/linuxbios/init.c: Likewise.
38517 * kern/i386/linuxbios/startup.S: Likewise.
38518 * kern/i386/linuxbios/table.c: Likewise.
38519
e911ecc1 385202007-10-31 Marco Gerards <marco@gnu.org>
38521
38522 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38523 (ata_mod_SOURCES): New variable.
38524 (ata_mod_CFLAGS): Likewise.
38525 (ata_mod_LDFLAGS): Likewise.
38526
38527 * disk/ata.c: New file.
38528
38529 * include/grub/disk.h (grub_disk_dev_id): Add
38530 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 38531
7f66d0e0 385322007-10-31 Robert Millan <rmh@aybabtu.com>
38533
38534 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38535 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38536
38537 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38538 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38539
38540 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38541 `<grub/types.h>'.
38542
38543 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38544
5cd7dd46 385452007-10-27 Robert Millan <rmh@aybabtu.com>
38546
3236ca65 38547 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 38548
2ebfc90f 385492007-10-22 Robert Millan <rmh@aybabtu.com>
38550
38551 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
38552 `"../realmode.S"'.
38553 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
38554
73fcb0f3 385552007-10-22 Robert Millan <rmh@aybabtu.com>
38556
38557 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
38558 (pkgdata_MODULES): Add `biosdisk.mod'.
38559 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
38560 variables.
38561
38562 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
38563 (grub_biosdisk_init): Replace with ...
38564 (GRUB_MOD_INIT(biosdisk)): ... this.
38565 (grub_biosdisk_fini): Replace with ...
38566 (GRUB_MOD_FINI(biosdisk)): ... this.
38567
38568 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
38569 (grub_machine_init): Remove call to grub_biosdisk_init().
38570 (grub_machine_fini): Remove call to grub_machine_fini().
38571
38572 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
38573
3381d274 385742007-10-22 Robert Millan <rmh@aybabtu.com>
38575
38576 * include/grub/time.h: New file.
38577 * include/grub/i386/time.h: Likewise.
38578 * include/grub/powerpc/time.h: Likewise.
38579 * include/grub/sparc64/time.h: Likewise.
38580
38581 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
38582 instances to ...
38583 (KERNEL_MACHINE_TIME_HEADER): ... this.
38584 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38585 instances to ...
38586 (KERNEL_MACHINE_TIME_HEADER): ... this.
38587 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38588 instances to ...
38589 (KERNEL_MACHINE_TIME_HEADER): ... this.
38590
38591 * kern/i386/efi/init.c: Include `<grub/time.h>'.
38592 (grub_millisleep): New function.
38593 * kern/i386/pc/init.c: Include `<grub/time.h>'.
38594 (grub_millisleep): New function.
38595 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
38596 Remove `grub/machine/time.h' include.
38597 (grub_millisleep): New function.
38598 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
38599 Remove `grub/machine/time.h' include.
38600 (grub_millisleep): New function.
38601
38602 * include/grub/misc.h (grub_div_roundup): New function.
38603
38604 * kern/misc.c: Include `<grub/time.h>'.
38605 (grub_millisleep_generic): New function.
38606
38607 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
38608 Add `time.h'.
38609 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
38610 Add `time.h'.
38611 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
38612 `machine/time.h'. Add `time.h'.
38613 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38614
a39a0312 386152007-10-21 Robert Millan <rmh@aybabtu.com>
38616
38617 * include/grub/misc.h (grub_max): New function.
38618
2aad70e2 386192007-10-21 Robert Millan <rmh@aybabtu.com>
38620
38621 * util/misc.c (grub_util_info): Call fflush() before returning.
38622
54b71c4b 386232007-10-20 Robert Millan <rmh@aybabtu.com>
38624
38625 * genmk.rb (Image): Copy `extra_flags' from here ...
38626 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
38627
38628 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
38629 to `argc' and `args' arguments.
38630
a979f513 386312007-10-17 Robert Millan <rmh@aybabtu.com>
38632
38633 * kern/i386/loader.S: New file.
38634
38635 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
38636 * kern/i386/loader.S (grub_linux_prot_size)... to here.
38637 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
38638 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
38639 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
38640 * kern/i386/loader.S (grub_linux_real_addr)... to here.
38641 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
38642 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
38643 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
38644 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
38645 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
38646 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
38647 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
38648 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
38649
38650 * kern/i386/realmode.S: New file.
38651
38652 * kern/i386/pc/startup.S (protstack): Moved from here ...
38653 * kern/i386/realmode.S (protstack)... to here.
38654 * kern/i386/pc/startup.S (gdt): Moved from here ...
38655 * kern/i386/realmode.S (gdt)... to here.
38656 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
38657 * kern/i386/realmode.S (prot_to_real)... to here.
38658
38659 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
38660 `kern/i386/realmode.S'.
38661
825fc8fd 386622007-10-17 Robert Millan <rmh@aybabtu.com>
38663
38664 * include/grub/i386/loader.h: New file.
38665
38666 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
38667 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38668 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38669 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38670 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
38671 * include/grub/i386/loader.h (grub_linux_prot_size)
38672 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38673 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38674 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38675 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
38676
38677 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
38678
e179b2f4 386792007-10-15 Robert Millan <rmh@aybabtu.com>
38680
38681 * normal/misc.c (grub_normal_print_device_info): Do not probe for
38682 filesystem when dev->disk is unset.
38683 Do probe for filesystem even when dev->disk->has_partitions is set.
38684 In case a filesystem is found, always report it.
38685 In case it isn't, if dev->disk->has_partitions is set, report that
38686 a partition table was found instead of reporting that no filesystem
38687 could be identified.
38688
5db82af6 386892007-10-12 Robert Millan <rmh@aybabtu.com>
38690
38691 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
38692 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
38693
68f6ac74 38694 * include/grub/types.h (grub_host_to_target16): New macro.
38695 (grub_host_to_target32): Likewise.
38696 (grub_host_to_target64): Likewise.
38697 (grub_target_to_host16): Likewise.
38698 (grub_target_to_host32): Likewise.
38699 (grub_target_to_host64): Likewise.
5db82af6 38700
38701 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38702 Renamed from to ...
38703 (GRUB_MOD_ALIGN): ...this. Update all users.
38704
68f6ac74 38705 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
38706 grub_host_to_target32.
38707 Replace grub_be_to_cpu32 with grub_target_to_host32.
38708 (load_modules): Likewise.
38709 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
38710 Replace grub_be_to_cpu32 with grub_target_to_host32.
38711 Replace grub_cpu_to_be16 with grub_host_to_target16.
38712 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 38713
3cf497cc 387142007-10-12 Robert Millan <rmh@aybabtu.com>
38715
38716 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
38717 * util/elf/grub-mkimage.c: ... here.
38718
38719 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
38720 `util/powerpc/ieee1275/grub-mkimage.c'.
38721
c8cc3692 387222007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 38723
c8cc3692 38724 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
38725 and make it easier to figure out.
38726 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
38727 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
38728 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
38729 leave us with less than HEAP_MIN_SIZE total heap.
38730 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 38731
5c58b791 387322007-10-03 Robert Millan <rmh@aybabtu.com>
38733
38734 * include/grub/i386/io.h: New file.
38735 * commands/i386/pc/play.c (inb): Removed.
38736 (outb): Removed.
38737 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38738 with grub_outb().
afcd2ef8 38739 * term/i386/pc/serial.c (inb): Removed.
38740 (outb): Removed.
38741 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38742 with grub_outb().
38743 * term/i386/pc/vga.c (inb): Removed.
38744 (outb): Removed.
38745 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38746 with grub_outb().
5c58b791 38747
1a477ed6 387482007-10-02 Robert Millan <rmh@aybabtu.com>
38749
38750 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
38751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38752 Reported by Marcin Kurek.
38753
6b5d80fa 387542007-09-07 Robert Millan <rmh@aybabtu.com>
38755
38756 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
38757 SmartFirmware version updates (as released by Sven Luther), and avoid
38758 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
38759 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
38760 known broken.
38761
5618afbf 387622007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38763
38764 From Hitoshi Ozeki:
38765 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
38766 when merging two regions.
38767
6139dcd9 387682007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38769
508e39ee 38770 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
38771 * normal/completion.c (grub_normal_do_completion): Likewise.
38772 Reported by Hitoshi Ozeki.
38773
387742007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38775
6139dcd9 38776 Do not use devices at boot in chainloading.
f19dbdb7 38777
6139dcd9 38778 * loader/i386/pc/chainloader.c (boot_drive): New variable.
38779 (boot_part_addr): Likewise.
38780 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
38781 with BOOT_DRIVE and BOOT_PART_ADDR.
38782 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
38783 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
38784
38da6516 387852007-08-29 Robert Millan <rmh@aybabtu.com>
38786
38787 Patch from Simon Peter <dn.tlp@gmx.net>:
38788 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
38789 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
38790 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
38791 util/i386/pc/grub-setup.c_DEPENDENCIES.
38792 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
38793 util/grub-probe.c_DEPENDENCIES.
38794 * conf/powerpc-ieee1275.rmk: Likewise.
38795
29d0928c 387962007-08-28 Robert Millan <rmh@aybabtu.com>
38797
38798 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
38799 to tell grub-mkdevicemap how to name devices.
38800 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
38801 feature).
38802
38803 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
38804 util/i386/get_disk_name.c.
38805 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
38806 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
38807 util/ieee1275/get_disk_name.c.
38808
38809 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
38810
38811 * DISTLIST: Add util/i386/get_disk_name.c and
38812 util/ieee1275/get_disk_name.c.
38813
38814 * util/grub-mkdevicemap.c: Replace device naming logic with
38815 grub_util_get_disk_name() calls.
38816
5a0d3cca 388172007-08-20 Robert Millan <rmh@aybabtu.com>
38818
38819 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
38820 (so that it works for both plural and singular quantities).
38821
8b72db2f 388222007-08-05 Robert Millan <rmh@aybabtu.com>
38823
38824 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
38825 so that [xz] isn't taken into account when determining order.
38826
352466bf 388272007-08-02 Marco Gerards <marco@gnu.org>
38828
38829 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
38830 `include/multiboot2.h', `include/grub/elfload.h',
38831 `include/multiboot.h', `include/grub/multiboot.h',
38832 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
38833 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
38834 `kern/elf.c', `loader/multiboot_loader.c',
38835 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
38836 `loader/i386/pc/multiboot2.c',
38837 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
38838 `util/i386/pc/grub-mkrescue.in'. Remove
38839 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
38840 `include/grub/i386/pc/util/biosdisk.h' and
38841 `include/grub/powerpc/ieee1275/multiboot.h'.
38842
8f096014 388432007-08-02 Bean <bean123ch@gmail.com>
38844
38845 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
38846 (ntfs_mod_SOURCES): New variable.
38847 (ntfs_mod_CFLAGS): Likewise.
38848 (ntfs_mod_LDFLAGS): Likewise.
38849
38850 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
38851 (grub_probe_SOURCES): Likewise.
38852 (grub_emu_SOURCES): Likewise.
38853
38854 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38855 (grub_emu_SOURCES): Likewise.
38856
38857 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38858 (grub_emu_SOURCES): Likewise.
f19dbdb7 38859
8f096014 38860 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
38861
38862 * fs/ntfs.c: New file.
38863
9959f7db 388642007-08-02 Bean <bean123ch@gmail.com>
38865
38866 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
38867
38868 * file.h (grub_file): Likewise.
38869
38870 * fshelp.h (grub_fshelp_read_file): Likewise.
38871
38872 * util/i386/pc/grub-setup.c (setup): Likewise.
38873 (save_first_sector): Likewise.
38874 (save_blocklists): Likewise.
f19dbdb7 38875
9959f7db 38876 * fs/affs.c (grub_affs_read_file): Likewise.
38877
38878 * fs/ext2.c (grub_ext2_read_file): Likewise.
38879
38880 * fs/fat.c (grub_fat_read_data): Likewise.
38881
38882 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
38883
38884 * fs/hfs.c (grub_hfs_read_file): Likewise.
38885
38886 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38887
38888 * fs/jfs.c (grub_jfs_read_file): Likewise.
38889
38890 * fs/minix.c (grub_minix_read_file): Likewise.
38891
38892 * fs/sfs.c (grub_sfs_read_file): Likewise.
38893
38894 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 38895
9959f7db 38896 * fs/xfs.c (grub_xfs_read_file): Likewise.
38897
38898 * command/blocklist.c (read_blocklist): Likewise.
38899 (print_blocklist): Likewise.
38900
0a203f83 389012007-08-02 Marco Gerards <marco@gnu.org>
38902
38903 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
38904 `util/hostfs.c'.
38905
38906 * disk/host.c: New file.
38907
38908 * util/hostfs.c: Likewise.
38909
38910 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
38911 return `GRUB_ERR_BAD_FS'.
38912 * fs/sfs.c (grub_sfs_mount): Likewise.
38913 * fs/xfs.c (grub_xfs_mount): Likewise.
38914
38915 * include/grub/disk.h (enum grub_disk_dev_id): Add
38916 `GRUB_DISK_DEVICE_HOST_ID'.
38917
38918 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
38919
e5dfe777 389202007-07-24 Jerone Young <jerone@gmail.com>
38921
f19dbdb7 38922 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 38923 modules for compilation.
38924 * conf/powerpc-ieee1275.rmk: Likewise.
38925
38926 * include/multiboot.h: Move multiboot definitions to one file. Rename
38927 many definitions to not get grub specific.
38928 * include/multiboot2.h: Create header with multiboot 2 definitions.
38929 * include/grub/multiboot.h: Header for grub specific function
38930 prototypes and definitions.
38931 * include/grub/multiboot2.h: Likewise.
38932 * include/grub/multiboot_loader.h: Likewise.
38933 * include/grub/i386/pc/multiboot.h: Removed.
38934 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
38935
38936 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
38937 and 2 to allow for one multiboot and module commands.
38938 * loader/multiboot2.c: Add multiboot2 functionality.
38939 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
38940 and definition names.
38941 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
38942 2 functions.
38943 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
38944 ieee1275 specific multiboot2 code.
38945
38946 * kern/i386/pc/startup.S: Change headers and definition names for
38947 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
38948
daf0f0ba 389492007-07-22 Robert Millan <rmh@aybabtu.com>
38950
38951 * geninitheader.sh: Process file specified in first parameter rather
38952 than hardcoding grub_modules_init.lst.
fe6b695a 38953 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 38954 than hardcoding grub_modules_init.h.
38955
38956 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
38957 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
38958 grub_probe_init.[ch] and grub_setup_init.[ch].
38959
38960 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
38961 grub_modules_init.h with grub_emu_init.h.
38962 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
38963 grub_probe_init.[ch] files.
38964 * conf/i386-efi.rmk: Likewise.
38965 * conf/i386-pc.rmk: Likewise.
38966 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
38967 grub_setup_init.[ch] files.
38968
38969 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
38970 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
38971 to initialize modules rather than a list of hardcoded functions.
38972 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
38973 grub_init_all() to initialize modules rather than a list of hardcoded
38974 functions.
38975
54cdc1cc 389762007-07-22 Robert Millan <rmh@aybabtu.com>
38977
38978 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
38979 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
38980
ad0686cc 389812007-07-22 Robert Millan <rmh@aybabtu.com>
38982
38983 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38984 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
38985 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
38986 flag when running on SmartFirmware.
38987 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
38988 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
38989 was set.
38990
38991 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38992 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
38993 rather than decreasing it.
38994
38995 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
38996 there's not enough space to do it, fail in the same way as when it
38997 can't be done because there are no partitions.
38998
38999 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39000 when nvsetenv failed.
39001
969c02ec 390022007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39003
39004 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39005 because this rule is automatically generated.
39006 (grub-mkrescue): Removed for the same reason as above.
39007
5a79f472 390082007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39009
39010 Migrate to GNU General Public License Version 3.
f19dbdb7 39011
5a79f472 39012 * COPYING: Replaced with the plain text version of GPLv3.
39013
39014 * config.guess: Updated from gnulib.
39015 * config.sub: Likewise.
39016
39017 * geninit.sh: Output a GPLv3 copyright notice.
39018 * geninitheader.sh: Likewise.
39019 * genmodsrc.sh: Likewise.
39020 * gensymlist.sh.in: Likewise.
39021
39022 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39023 * boot/i386/pc/diskboot.S: Likewise.
39024 * boot/i386/pc/pxeboot.S: Likewise.
39025 * commands/blocklist.c: Likewise.
39026 * commands/boot.c: Likewise.
39027 * commands/cat.c: Likewise.
39028 * commands/cmp.c: Likewise.
39029 * commands/configfile.c: Likewise.
39030 * commands/echo.c: Likewise.
39031 * commands/help.c: Likewise.
39032 * commands/ls.c: Likewise.
39033 * commands/search.c: Likewise.
39034 * commands/terminal.c: Likewise.
39035 * commands/test.c: Likewise.
39036 * commands/videotest.c: Likewise.
39037 * commands/i386/cpuid.c: Likewise.
39038 * commands/i386/pc/halt.c: Likewise.
39039 * commands/i386/pc/play.c: Likewise.
39040 * commands/i386/pc/reboot.c: Likewise.
39041 * commands/i386/pc/vbeinfo.c: Likewise.
39042 * commands/i386/pc/vbetest.c: Likewise.
39043 * commands/ieee1275/halt.c: Likewise.
39044 * commands/ieee1275/reboot.c: Likewise.
39045 * commands/ieee1275/suspend.c: Likewise.
39046 * disk/loopback.c: Likewise.
39047 * disk/lvm.c: Likewise.
39048 * disk/raid.c: Likewise.
39049 * disk/efi/efidisk.c: Likewise.
39050 * disk/i386/pc/biosdisk.c: Likewise.
39051 * disk/ieee1275/ofdisk.c: Likewise.
39052 * font/manager.c: Likewise.
39053 * fs/affs.c: Likewise.
39054 * fs/ext2.c: Likewise.
39055 * fs/fat.c: Likewise.
39056 * fs/fshelp.c: Likewise.
39057 * fs/hfs.c: Likewise.
39058 * fs/hfsplus.c: Likewise.
39059 * fs/iso9660.c: Likewise.
39060 * fs/jfs.c: Likewise.
39061 * fs/minix.c: Likewise.
39062 * fs/sfs.c: Likewise.
39063 * fs/ufs.c: Likewise.
39064 * fs/xfs.c: Likewise.
39065 * hello/hello.c: Likewise.
39066 * include/grub/acorn_filecore.h: Likewise.
39067 * include/grub/arg.h: Likewise.
39068 * include/grub/bitmap.h: Likewise.
39069 * include/grub/boot.h: Likewise.
39070 * include/grub/cache.h: Likewise.
39071 * include/grub/device.h: Likewise.
39072 * include/grub/disk.h: Likewise.
39073 * include/grub/dl.h: Likewise.
39074 * include/grub/elfload.h: Likewise.
39075 * include/grub/env.h: Likewise.
39076 * include/grub/err.h: Likewise.
39077 * include/grub/file.h: Likewise.
39078 * include/grub/font.h: Likewise.
39079 * include/grub/fs.h: Likewise.
39080 * include/grub/fshelp.h: Likewise.
39081 * include/grub/gzio.h: Likewise.
39082 * include/grub/hfs.h: Likewise.
39083 * include/grub/kernel.h: Likewise.
39084 * include/grub/loader.h: Likewise.
39085 * include/grub/lvm.h: Likewise.
39086 * include/grub/misc.h: Likewise.
39087 * include/grub/mm.h: Likewise.
39088 * include/grub/net.h: Likewise.
39089 * include/grub/normal.h: Likewise.
39090 * include/grub/parser.h: Likewise.
39091 * include/grub/partition.h: Likewise.
39092 * include/grub/pc_partition.h: Likewise.
39093 * include/grub/raid.h: Likewise.
39094 * include/grub/rescue.h: Likewise.
39095 * include/grub/script.h: Likewise.
39096 * include/grub/setjmp.h: Likewise.
39097 * include/grub/symbol.h: Likewise.
39098 * include/grub/term.h: Likewise.
39099 * include/grub/terminfo.h: Likewise.
39100 * include/grub/tparm.h: Likewise.
39101 * include/grub/types.h: Likewise.
39102 * include/grub/video.h: Likewise.
39103 * include/grub/efi/api.h: Likewise.
39104 * include/grub/efi/chainloader.h: Likewise.
39105 * include/grub/efi/console.h: Likewise.
39106 * include/grub/efi/console_control.h: Likewise.
39107 * include/grub/efi/disk.h: Likewise.
39108 * include/grub/efi/efi.h: Likewise.
39109 * include/grub/efi/pe32.h: Likewise.
39110 * include/grub/efi/time.h: Likewise.
39111 * include/grub/i386/linux.h: Likewise.
39112 * include/grub/i386/setjmp.h: Likewise.
39113 * include/grub/i386/types.h: Likewise.
39114 * include/grub/i386/efi/kernel.h: Likewise.
39115 * include/grub/i386/efi/loader.h: Likewise.
39116 * include/grub/i386/efi/time.h: Likewise.
39117 * include/grub/i386/pc/biosdisk.h: Likewise.
39118 * include/grub/i386/pc/boot.h: Likewise.
39119 * include/grub/i386/pc/chainloader.h: Likewise.
39120 * include/grub/i386/pc/console.h: Likewise.
39121 * include/grub/i386/pc/init.h: Likewise.
39122 * include/grub/i386/pc/kernel.h: Likewise.
39123 * include/grub/i386/pc/loader.h: Likewise.
39124 * include/grub/i386/pc/memory.h: Likewise.
39125 * include/grub/i386/pc/multiboot.h: Likewise.
39126 * include/grub/i386/pc/serial.h: Likewise.
39127 * include/grub/i386/pc/time.h: Likewise.
39128 * include/grub/i386/pc/vbe.h: Likewise.
39129 * include/grub/i386/pc/vbeblit.h: Likewise.
39130 * include/grub/i386/pc/vbefill.h: Likewise.
39131 * include/grub/i386/pc/vbeutil.h: Likewise.
39132 * include/grub/i386/pc/vga.h: Likewise.
39133 * include/grub/ieee1275/ieee1275.h: Likewise.
39134 * include/grub/ieee1275/ofdisk.h: Likewise.
39135 * include/grub/powerpc/libgcc.h: Likewise.
39136 * include/grub/powerpc/setjmp.h: Likewise.
39137 * include/grub/powerpc/types.h: Likewise.
39138 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39139 * include/grub/powerpc/ieee1275/console.h: Likewise.
39140 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39141 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39142 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39143 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39144 * include/grub/powerpc/ieee1275/time.h: Likewise.
39145 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39146 * include/grub/sparc64/libgcc.h: Likewise.
39147 * include/grub/sparc64/setjmp.h: Likewise.
39148 * include/grub/sparc64/types.h: Likewise.
39149 * include/grub/sparc64/ieee1275/console.h: Likewise.
39150 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39151 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39152 * include/grub/sparc64/ieee1275/time.h: Likewise.
39153 * include/grub/util/biosdisk.h: Likewise.
39154 * include/grub/util/getroot.h: Likewise.
39155 * include/grub/util/lvm.h: Likewise.
39156 * include/grub/util/misc.h: Likewise.
39157 * include/grub/util/raid.h: Likewise.
39158 * include/grub/util/resolve.h: Likewise.
39159 * io/gzio.c: Likewise.
39160 * kern/device.c: Likewise.
39161 * kern/disk.c: Likewise.
39162 * kern/dl.c: Likewise.
39163 * kern/elf.c: Likewise.
39164 * kern/env.c: Likewise.
39165 * kern/err.c: Likewise.
39166 * kern/file.c: Likewise.
39167 * kern/fs.c: Likewise.
39168 * kern/loader.c: Likewise.
39169 * kern/main.c: Likewise.
39170 * kern/misc.c: Likewise.
39171 * kern/mm.c: Likewise.
39172 * kern/parser.c: Likewise.
39173 * kern/partition.c: Likewise.
39174 * kern/rescue.c: Likewise.
39175 * kern/term.c: Likewise.
39176 * kern/efi/efi.c: Likewise.
39177 * kern/efi/init.c: Likewise.
39178 * kern/efi/mm.c: Likewise.
39179 * kern/i386/dl.c: Likewise.
39180 * kern/i386/efi/init.c: Likewise.
39181 * kern/i386/efi/startup.S: Likewise.
39182 * kern/i386/pc/init.c: Likewise.
39183 * kern/i386/pc/lzo1x.S: Likewise.
39184 * kern/i386/pc/startup.S: Likewise.
39185 * kern/ieee1275/ieee1275.c: Likewise.
39186 * kern/powerpc/cache.S: Likewise.
39187 * kern/powerpc/dl.c: Likewise.
39188 * kern/powerpc/ieee1275/cmain.c: Likewise.
39189 * kern/powerpc/ieee1275/crt0.S: Likewise.
39190 * kern/powerpc/ieee1275/init.c: Likewise.
39191 * kern/powerpc/ieee1275/openfw.c: Likewise.
39192 * kern/sparc64/cache.S: Likewise.
39193 * kern/sparc64/dl.c: Likewise.
39194 * kern/sparc64/ieee1275/init.c: Likewise.
39195 * kern/sparc64/ieee1275/openfw.c: Likewise.
39196 * loader/efi/chainloader.c: Likewise.
39197 * loader/efi/chainloader_normal.c: Likewise.
39198 * loader/i386/efi/linux.c: Likewise.
39199 * loader/i386/efi/linux_normal.c: Likewise.
39200 * loader/i386/pc/chainloader.c: Likewise.
39201 * loader/i386/pc/chainloader_normal.c: Likewise.
39202 * loader/i386/pc/linux.c: Likewise.
39203 * loader/i386/pc/linux_normal.c: Likewise.
39204 * loader/i386/pc/multiboot.c: Likewise.
39205 * loader/i386/pc/multiboot_normal.c: Likewise.
39206 * loader/powerpc/ieee1275/linux.c: Likewise.
39207 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39208 * normal/arg.c: Likewise.
39209 * normal/cmdline.c: Likewise.
39210 * normal/command.c: Likewise.
39211 * normal/completion.c: Likewise.
39212 * normal/execute.c: Likewise.
39213 * normal/function.c: Likewise.
39214 * normal/lexer.c: Likewise.
39215 * normal/main.c: Likewise.
39216 * normal/menu.c: Likewise.
39217 * normal/menu_entry.c: Likewise.
39218 * normal/misc.c: Likewise.
39219 * normal/parser.y: Likewise.
39220 * normal/script.c: Likewise.
39221 * normal/i386/setjmp.S: Likewise.
39222 * normal/powerpc/setjmp.S: Likewise.
39223 * normal/sparc64/setjmp.S: Likewise.
39224 * partmap/acorn.c: Likewise.
39225 * partmap/amiga.c: Likewise.
39226 * partmap/apple.c: Likewise.
39227 * partmap/gpt.c: Likewise.
39228 * partmap/pc.c: Likewise.
39229 * partmap/sun.c: Likewise.
39230 * term/gfxterm.c: Likewise.
39231 * term/terminfo.c: Likewise.
39232 * term/efi/console.c: Likewise.
39233 * term/i386/pc/console.c: Likewise.
39234 * term/i386/pc/serial.c: Likewise.
39235 * term/i386/pc/vesafb.c: Likewise.
39236 * term/i386/pc/vga.c: Likewise.
39237 * term/ieee1275/ofconsole.c: Likewise.
39238 * util/biosdisk.c: Likewise.
39239 * util/console.c: Likewise.
39240 * util/genmoddep.c: Likewise.
39241 * util/getroot.c: Likewise.
39242 * util/grub-emu.c: Likewise.
39243 * util/grub-mkdevicemap.c: Likewise.
39244 * util/grub-probe.c: Likewise.
39245 * util/lvm.c: Likewise.
39246 * util/misc.c: Likewise.
39247 * util/raid.c: Likewise.
39248 * util/resolve.c: Likewise.
39249 * util/update-grub.in: Likewise.
39250 * util/update-grub_lib.in: Likewise.
39251 * util/grub.d/00_header.in: Likewise.
39252 * util/grub.d/10_hurd.in: Likewise.
39253 * util/grub.d/10_linux.in: Likewise.
39254 * util/i386/efi/grub-install.in: Likewise.
39255 * util/i386/efi/grub-mkimage.c: Likewise.
39256 * util/i386/pc/grub-install.in: Likewise.
39257 * util/i386/pc/grub-mkimage.c: Likewise.
39258 * util/i386/pc/grub-mkrescue.in: Likewise.
39259 * util/i386/pc/grub-setup.c: Likewise.
39260 * util/i386/pc/misc.c: Likewise.
39261 * util/powerpc/ieee1275/grub-install.in: Likewise.
39262 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39263 * util/powerpc/ieee1275/misc.c: Likewise.
39264 * video/bitmap.c: Likewise.
39265 * video/video.c: Likewise.
39266 * video/i386/pc/vbe.c: Likewise.
39267 * video/i386/pc/vbeblit.c: Likewise.
39268 * video/i386/pc/vbefill.c: Likewise.
39269 * video/i386/pc/vbeutil.c: Likewise.
39270 * video/readers/tga.c: Likewise.
39271
3572d015 392722007-07-02 Robert Millan <rmh@aybabtu.com>
39273
39274 * conf/i386-efi.rmk: Replace obsolete reference to
39275 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39276 with util/getroot.c.
39277 * conf/powerpc-ieee1275.rmk: Likewise.
39278 * conf/sparc64-ieee1275.rmk: Likewise.
39279
39280 * util/grub-emu.c (main): Fix unchecked pointer handling.
39281
2c2a681b 392822007-07-02 Robert Millan <rmh@aybabtu.com>
39283
39284 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39285 invocation to fail, in order to support partition-less media.
39286
39287 * util/i386/pc/grub-install.in: Likewise.
39288
39289 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39290 which fs or partmap modules are needed (akin to its sister scripts).
39291
39292 Also use grub-probe to get rid of unportable /proc/mounts check.
39293
39294 Print the same informational message that the other scripts do, before
fe6b695a 39295 exiting.
2c2a681b 39296
6193defe 392972007-06-23 Robert Millan <rmh@aybabtu.com>
39298
fe6b695a 39299 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 39300 a font file can be found and, if so, echo the GRUB path to it.
39301
39302 * util/update-grub.in: Handle multiple terminals depending on user
39303 input, platform availability and font file presence. Propagate
39304 variables of our findings to /etc/grub.d/ children.
39305
39306 * util/grub.d/00_header.in: Handle multiple terminals, based on
39307 environment setup by update-grub.
39308
eface1dc 393092007-06-23 Robert Millan <rmh@aybabtu.com>
39310
ba50d28f 39311 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 39312
bf697e28 393132007-06-21 Robert Millan <rmh@aybabtu.com>
39314
39315 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39316 indicate end of data section in kernel image.
39317 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39318 GRUB_KERNEL_MACHINE_DATA_END.
39319
39320 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39321 space for it.
39322 * kern/i386/efi/startup.S: Likewise.
39323
39324 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39325 during image generation. Implement --prefix option to override this
39326 patch.
39327 * util/i386/efi/grub-mkimage.c: Likewise.
39328
39329 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39330 code to make path relative to its root into a separate function.
39331
39332 * util/i386/pc/grub-install.in: Use newly provided
39333 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39334 pass the result to grub-install --prefix.
39335
baa574b4 393362007-06-13 Robert Millan <rmh@aybabtu.com>
39337
39338 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39339 DEFAULT_DEVICE_MAP.
39340 * util/grub-emu.c: Use above definitions from misc.h instead of
39341 defining them.
39342 * util/grub-mkdevicemap.c: Likewise.
39343 * util/i386/pc/grub-setup.c: Likewise.
39344 * util/grub-probe.c: Likewise.
39345 (probe): Abort with grub_util_error() when either
39346 grub_guess_root_device or grub_util_get_grub_dev fails.
39347
0215dcbf 393482007-06-12 Robert Millan <rmh@aybabtu.com>
39349
39350 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39351 "pager" assignment.
39352 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39353 "pcdata".
39354 * util/grub-probe.c (probe): Likewise for "drive_name".
39355
8af2ab7b 393562007-06-11 Robert Millan <rmh@aybabtu.com>
39357
39358 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39359 not just the cdrom one.
39360
59d31694 393612007-06-11 Robert Millan <rmh@aybabtu.com>
39362
39363 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39364 Add --pkglibdir=DIR option to override pkglibdir.
39365 Mention --image-type=TYPE in help output.
39366 Fix --grub-mkimage (it was a no-op).
fe6b695a 39367 Abort gracefully when no parameter is given.
59d31694 39368
7ee367e4 393692007-06-11 Robert Millan <rmh@aybabtu.com>
39370
39371 * util/i386/pc/grub-mkrescue.in: New file.
39372 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39373 * Makefile.in: Handle bin_SCRIPTS.
39374
29b0ed46 393752007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39376
39377 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39378 list of video modes.
39379
c0f90770 393802007-06-06 Robert Millan <rmh@aybabtu.com>
39381
39382 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39383 file doesn't exist, or if it is in a filesystem grub can't read.
39384
39385 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39386 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39387 header comment to fit in 80 columns when the variables are resolved.
39388
39389 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39390 could be identified by update-grub. Remove redundant check for
fe6b695a 39391 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 39392 handles that).
39393
fb36dc26 393942007-06-04 Robert Millan <rmh@aybabtu.com>
39395
39396 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39397
39398 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39399
39400 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39401
0c68c93e 394022007-06-04 Robert Millan <rmh@aybabtu.com>
39403
39404 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39405
39406 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39407 grub_apple_partition_map_fini.
39408
39409 * util/biosdisk.c
39410 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39411 to access >2 TiB disks).
39412
39413 Print disk->total_sectors with %llu instead of %lu, since this
39414 variable is always 64-bit (prevents wrong disk size from being displayed
39415 on either >2 TiB disk or big-endian CPU).
39416
39417 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39418 into a generic case that supports all (sane) partition maps.
39419
39420 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39421 breaks big-endian.
39422
39423 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39424 and grub_apple_partition_map_fini() after that.
39425
0f23eb74 394262007-06-01 Robert Millan <rmh@aybabtu.com>
39427
39428 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39429
39430 * util/grub.d/00_header.in: Only enable gfxterm when
39431 convert_system_path_to_grub_path() succeeds.
39432
42c71976 394332007-05-20 Robert Millan <rmh@aybabtu.com>
39434
39435 * util/update-grub_lib.in: New file.
39436 * DISTLIST: Add update-grub_lib.in.
39437 * conf/common.rmk: Generate update-grub_lib and install it in
39438 $(lib_DATA).
39439 * Makefile.in: Add install routine for $(lib_DATA).
39440
39441 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39442 function provided by update-grub_lib to support arbitrary paths of
39443 unifont.pff.
39444 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39445 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39446
5beb2291 394472007-05-19 Robert Millan <rmh@aybabtu.com>
39448
39449 * commands/i386/cpuid.c: New module.
39450 * DISTLIST: Add it.
39451 * conf/i386-efi.rmk: Enable cpuid.mod.
39452 * conf/i386-pc.rmk: Likewise.
39453
7262eca1 394542007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39455
39456 * kern/disk.c (grub_disk_read): Check return value of
39457 grub_realloc().
39458
260ba823 394592007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39460
39461 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39462 arrays.
39463 * disk/raid.c (grub_raid_open): Likewise.
39464
1ecb6cf2 394652007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39466
39467 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39468 stack instead of on the heap.
39469
39470 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39471 before doing a read on it.
39472
39473 * configure.ac: Only use -fno-stack-protector for the target
39474 environment.
f19dbdb7 39475
21c8cbb1 394762007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39477
39478 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39479 __attribute_ ((unused)) to mode_type argument.
39480
39481 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 39482
21c8cbb1 39483 * kern/misc.c (memcmp): Fix prototype.
39484
39485 * include/grub/partition.h [GRUB_UTIL]
39486 (grub_gpt_partition_map_init): Add prototype.
39487 (grub_gpt_partition_map_fini): Likewise.
39488
39489 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39490 at the right place.
39491
39492 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39493 (grub_fat_read_data): Likewise.
39494 (grub_fat_find_dir): Likewise.
39495
39496 * font/manager.c (find_glyph): Make table a const.
39497 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 39498
849d55d3 394992007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39500
39501 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39502 code, first search for device in /dev/mapper, then in /dev.
39503 (grub_util_get_grub_dev): New function.
39504 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39505 prototype.
39506 * util/grub-probe.c (probe): Remove check for RAID, call
39507 grub_util_get_grub_dev() instead of
39508 grub_util_biosdisk_get_grub_dev().
39509 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39510 grub_util_biosdisk_get_grub_dev().
39511 * util/i386/pc/grub-setup.c (main): Likewise.
39512
8fff7c2f 395132007-05-16 Robert Millan <rmh@aybabtu.com>
39514
39515 * DISTLIST: Update for the latest changes.
39516 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39517 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39518 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39519 grub/util/biosdisk.h.
39520 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39521 grub/util/biosdisk.h.
39522
48e12b52 395232007-05-16 Robert Millan <rmh@aybabtu.com>
39524
39525 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39526
46b9d128 395272007-05-16 Robert Millan <rmh@aybabtu.com>
39528
39529 * util/i386/efi/grub-install.in: New.
39530 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39531 newly added grub-install.
39532 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39533 include.
39534 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39535 grub/util/biosdisk.h.
39536 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39537 grub/util/biosdisk.h.
39538
2d1a40a9 395392007-05-16 Robert Millan <rmh@aybabtu.com>
39540
39541 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39542 * include/grub/util/biosdisk.h: ... here.
39543 * util/i386/pc/biosdisk.c: Moved to ...
39544 * util/biosdisk.c: ... here.
39545 * util/i386/pc/getroot.c: Moved to ...
39546 * util/getroot.c: ... here.
39547 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39548 * util/grub-mkdevicemap.c: ... here.
39549 * util/i386/pc/grub-probe.c: Moved to ...
39550 * util/grub-probe.c: ... here.
39551
9e26e3bc 395522007-05-15 Robert Millan <rmh@aybabtu.com>
39553
39554 * util/update-grub.in: Remove duplicated line in grub.cfg header
39555 message.
39556
57f96397 395572007-05-13 Robert Millan <rmh@aybabtu.com>
39558
39559 * util/update-grub.in: Fix a few assumptions about the devices holding
39560 /, /boot and /boot/grub being the same.
39561 * util/grub.d/00_header.in: Likewise.
39562 * util/grub.d/10_hurd.in: Likewise.
39563 * util/grub.d/10_linux.in: Likewise.
39564
39565 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
39566 patterns. Use that to define the `.old' suffix as older than `'.
39567
39568 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
39569
39570 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
39571 the grub.cfg header message.
39572
2e610d62 395732007-05-11 Robert Millan <rmh@aybabtu.com>
39574
39575 * util/update-grub.in: Create device.map if it doesn't already exist,
39576 before attempting to run grub-probe.
39577 Check for grub-probe and grub-mkdevicemap with the same code
39578 grub-install is using.
39579 Remove test mode.
39580
3f6a10ef 395812007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
39582
39583 * Makefile.in: Add the datarootdir autoconf variable.
39584
02e7b75e 395852007-05-09 Robert Millan <rmh@aybabtu.com>
39586
39587 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 39588 fail gracefully if dev->disk->partition == NULL.
02e7b75e 39589
75f396cc 395902007-05-07 Robert Millan <rmh@aybabtu.com>
39591
39592 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
39593 determine partition map module.
39594 * util/i386/pc/grub-install.in: Use this feature to decide which
39595 partition module to load, instead of hardcoding pc and gpt.
39596
da65cb36 395972007-05-07 Robert Millan <rmh@aybabtu.com>
39598
39599 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
39600 source directory differs from build directory.
39601
b57d6a91 396022007-05-05 Robert Millan <rmh@aybabtu.com>
39603
39604 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
39605 initialisation.
39606
509d00f1 396072007-05-05 Robert Millan <rmh@aybabtu.com>
39608
39609 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
39610
c48f23ef 396112007-05-05 Robert Millan <rmh@aybabtu.com>
39612
39613 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
39614 command-line arguments via ${GRUB_CMDLINE_LINUX}.
39615
20b97658 396162007-05-05 Robert Millan <rmh@aybabtu.com>
39617
39618 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
39619 (grub_probe_SOURCES): Likewise.
39620 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
39621 GPT and initialize dos_part and bsd_part accordingly.
39622 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
39623 install_bsd_part.
39624 (main): Activate gpt module for use during partition identification,
39625 and deactivate it afterwards.
39626 * util/i386/pc/grub-install.in: Add gpt module to core.img.
39627 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
39628 partition identification, and deactivate it afterwards.
39629
99123174 396302007-05-05 Robert Millan <rmh@aybabtu.com>
39631
39632 * term/i386/pc/console.c (grub_console_fini): Call
39633 grub_term_set_current() before grub_term_unregister().
39634
ebd97f6e 396352007-05-04 Robert Millan <rmh@aybabtu.com>
39636
39637 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
39638 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
39639 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
39640 and update-grub_DATA.
39641 * conf/common.rmk: Build and install update-grub components.
39642 * conf/common.mk: Regenerate.
39643 * util/update-grub.in: New. Core of update-grub.
39644 * util/grub.d/00_header.in: New. Generates grub.cfg header.
39645 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
39646 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
39647 * util/grub.d/README: New. Document grub.d directory layout.
39648
b06a264d 396492007-05-01 Robert Millan <rmh@aybabtu.com>
39650
39651 * util/grub-emu.c: Move initialization functions
39652 grub_util_biosdisk_init() and grub_init_all() before
39653 grub_util_biosdisk_get_grub_dev(), which relies on them.
39654
41f0050e 396552007-04-19 Robert Millan <rmh@aybabtu.com>
39656
39657 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
39658 it is used later.
39659
04582bb3 396602007-04-18 Jerone Young <jerone@gmail.com>
39661
f19dbdb7 39662 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 39663 stanza.
39664
08db4632 396652007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 39666
08db4632 39667 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
39668 continue on and look for device node with real device name.
39669
801b76be 396702007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 39671
fe6b695a 39672 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 39673 ability.
39674 * Makefile.in: Add autoconf package transformation code.
39675 * util/i386/pc/grub-install.in: Likewise.
39676 * util/powerpc/ieee1275/grub-install.in: Likewise.
39677
6795c4e1 396782007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39679
39680 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
39681 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
39682 (EXT2_REVISION): Likewise.
39683 (EXT2_INODE_SIZE): Likewise.
39684 (struct grub_ext2_block_group): Added a missing member
39685 "used_dirs".
39686 (grub_ext2_read_inode): Divide by the inode size in a superblock
39687 instead of 128 to obtain INODES_PER_BLOCK.
39688 Use the macro EXT2_INODE_SIZE instead of directly using
39689 SBLOCK->INODE_SIZE.
39690
d70af616 396912007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39692
39693 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
39694 superblock instead of the structure size to compute an
39695 offset. This fixes the problem that GRUB could not read a
39696 filesystem when inode size is different from 128-byte.
39697
3b801603 396982007-03-05 Marco Gerards <marco@gnu.org>
39699
39700 * normal/main.c (read_config_file): When "menu" is not set, create
39701 an initial context.
39702
4785bfe4 397032007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39704
39705 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
39706 (HEAP_LIMIT): New macro.
39707 (grub_claim_heap): Claim memory up to `heaplimit'.
39708
a0cbb023 397092007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39710
39711 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
39712 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
39713 (_start): Likewise.
39714 (grub_arch_modules_addr): Return address after `_end'.
39715 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
39716 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
39717 (add_segments): Calculate `_end' from phdr size and location.
39718 (ALIGN_UP): Moved to ...
39719 * include/grub/misc.h: here.
39720 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39721 New macro.
39722 (GRUB_IEEE1275_MODULE_BASE): Removed.
39723
fd7d8eba 397242007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39725
39726 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
39727 loop boundary.
39728
9b09e6fc 397292007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39730
39731 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
39732 All users updated.
39733 (grub_elf64_load_hook_t): Likewise.
39734 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
39735 debug output.
39736
3ce27299 397372007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39738
39739 * kern/mm.c: Update copyright.
39740 (grub_mm_debug): Correct syntax error.
39741 (grub_mm_dump_free): New function.
39742 (grub_debug_free): Call `grub_free'.
39743 * include/grub/mm.h: Update copyright.
39744 (grub_mm_dump_free): Add declaration.
39745
077d5fee 397462007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39747
39748 * include/grub/ieee1275/ieee1275.h: Update copyright.
39749 * kern/powerpc/ieee1275/init.c: Likewise.
39750 * kern/powerpc/ieee1275/openfw.c: Likewise.
39751
39752 * loader/powerpc/ieee1275/linux.c: Likewise.
39753 * include/grub/elfload.h: Likewise.
39754 * kern/elf.c: Likewise.
39755 (grub_elf32_load): Pass `base' and `size' parameters. Update all
39756 callers.
39757 (grub_elf64_load): Likewise.
39758 (grub_elf32_load_segment): Move to a nested function.
39759 (grub_elf64_load_segment): Likewise.
39760
dc946850 397612007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39762
39763 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
39764 prototype.
39765 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
39766 (grub_heap_len): Likewise.
39767 (HEAP_SIZE): New macro.
39768 (grub_claim_heap): New function.
39769 (grub_machine_init): Don't claim heap directly. Call
39770 `grub_claim_heap'.
39771 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
39772 (grub_available_iterate): New function.
39773
baa2a121 397742007-02-03 Thomas Schwinge <tschwinge@gnu.org>
39775
39776 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
39777 * configure.ac: Use it for testing the HOST and TARGET compilers.
39778
4fe9862e 397792006-12-13 Thomas Schwinge <tschwinge@gnu.org>
39780
39781 * Makefile.in (enable_grub_emu): New variable.
39782 * configure.ac (--enable-grub-emu): New option.
39783 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
39784 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
39785 * conf/i386-pc.rmk: Likewise.
39786 * conf/powerpc-ieee1275.rmk: Likewise.
39787 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
39788
a8aa5762 397892006-12-12 Marco Gerards <marco@gnu.org>
39790
39791 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
39792
39793 * kern/env.c (grub_env_unset): Don't free the member `value' when
39794 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
39795 pointer.
39796
39797 * normal/main.c (current_menu): Removed.
39798 (free_menu): Unset the `menu' environment variable.
39799 (grub_normal_menu_addentry): Make use of the environment variable
39800 `menu', instead of using the global `current_menu'. Allocate
39801 memory for the sourcecode of this entry.
39802 (read_config_file): New argument `nested', changed all callers.
39803 Only in the case of a new context, initialize a new menu. Set the
39804 `menu' environment variable.
39805 (grub_normal_execute): Don't set and unset the environment
39806 variable `menu' here anymore. Only free the menu when leaving the
39807 context.
39808
39809 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
39810 leak.
39811
957b3a3e 398122006-12-11 Marco Gerards <marco@gnu.org>
39813
39814 * normal/menu_entry.c (run): Fix off by one bug so the last line
39815 is executed. Move the loader check to outside the loop.
39816
ef875714 398172006-12-08 Hollis Blanchard <hollis@penguinppc.org>
39818
39819 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
39820
4e739985 398212006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
39822
39823 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
39824 the number of sectors. Reported by Andrey Shuvikov
39825 <mr_hyro@yahoo.com>.
f19dbdb7 39826
790707f2 398272006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
39828
39829 * kern/disk.c (grub_disk_read): When there is a read error, always
39830 try to read only the necessary data.
f19dbdb7 39831
790707f2 39832 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
39833 disk/raid.c.
39834 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
39835 prototype.
39836 [GRUB_UTIL] (grub_raid_fini): Likewise.
39837 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 39838 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 39839 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
39840 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
39841 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
39842 and grub_raid_fini().
f19dbdb7 39843
03e58196 398442006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39845
39846 * include/grub/types.h (__unused): Rename to UNUSED.
39847 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
39848 (grub_elf64_size): Likewise.
f19dbdb7 39849
ae4f23bf 398502006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39851
39852 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
39853 grub_error_push and grub_error_pop in the error-handling path.
39854 (grub_elf32_load_segment): Only call grub_file_read with non-zero
39855 length.
39856
2166cc83 398572006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39858
39859 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
39860 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39862 (kernel_elf_SOURCES): Likewise.
39863 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
39864 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
39865 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39866 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39867 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
39868 (elf_mod_SOURCES): New variable.
39869 (elf_mod_CFLAGS): Likewise.
39870 (elf_mod_LDFLAGS): Likewise.
39871 * include/grub/types.h (__unused): New macro.
39872 * include/grub/elfload.h: New file.
39873 * kern/elf.c: Likewise.
39874 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
39875 (ELF32_LOADMASK): New macro.
39876 (ELF64_LOADMASK): Likewise.
39877 (vmlinux): Removed.
39878 (grub_linux_load32): New function.
39879 (grub_linux_load64): Likewise.
39880 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
39881 Use grub_elf_t instead of grub_file_t.
39882
a09d5aa5 398832006-11-02 Hollis Blanchard <hollis@penguinppc.org>
39884
39885 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
39886 `catch_result' to struct set_color_args.
39887
d976fc51 398882006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39889
39890 * normal/menu.c: Include grub/script.h.
39891 * normal/menu_entry.c: Likewise.
39892 * include/grub/normal.h: Do not include grub/script.h.
39893
67507549 398942006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39895
39896 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
39897
69203a99 398982006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39899
39900 * kern/disk.c (grub_disk_open): Print debug messages when opening a
39901 disk.
39902 (grub_disk_close): Print debug messages when closing a disk.
39903 (grub_disk_read): Print debug messages when disk read fails.
39904 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
39905 filesystem type.
39906 * kern/partition.c: Include misc.h.
39907 (grub_partition_iterate): Print debug messages when detecting
39908 partition type.
39909
e2b8278c 399102006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39911
39912 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
39913 is negative.
39914 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
39915
97b2f2ff 399162006-10-26 Hollis Blanchard <hollis@penguinppc.org>
39917
39918 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39919 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
39920
6555d655 399212006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
39922
39923 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
39924 instead of sizeof(lv). Patch by Michael Guntsche.
39925
4d42b77f 399262006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
39927
39928 * disk/lvm.c: Rename VGS to VG_LIST.
39929 (grub_lvm_iterate): Change VGS->LV to VG-LV.
39930 (grub_lvm_open): Likewise.
39931 Thanks to Michael Guntsche for finding this bug.
39932
5d74d927 399332006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39934
39935 * configure.ac (AC_INIT): Bumped to 1.95.
39936
a1bb27e4 399372006-10-14 Robert Millan <rmh@aybabtu.com>
39938
39939 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
39940 with "/dev/.static/dev/md".
39941
e0994b8b 399422006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39943
39944 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
39945 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
39946 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
39947 DRIVE_NAME are always freed.
39948
39949 * util/i386/pc/biosdisk.c (make_device_name): Add one into
39950 DOS_PART, as a DOS partition is counted from one instead of zero
39951 now. Reported by Robert Millan.
39952
ddd5cee9 399532006-10-14 Robert Millan <rmh@aybabtu.com>
39954
39955 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
39956 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
39957 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
39958 string returned by grub_guess_root_device.
39959 * util/i386/pc/grub-setup.c: Likewise.
39960 * util/i386/pc/grub-probefs.c: Likewise.
39961
39962 * util/i386/pc/grub-probefs.c: Rename to ...
39963 * util/i386/pc/grub-probe.c: ... this.
39964 * DISTLIST: Remove grub-probefs, add grub-probe.
39965 * conf/i386-efi.rmk: Likewise.
39966 * conf/i386-pc.rmk: Likewise.
39967 * util/i386/pc/grub-install.in: Likewise.
39968
39969 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
39970 choose which information we want to print.
39971
2b002173 399722006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39973
39974 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
39975 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
39976 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
39977 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
39978 video/readers/tga.c and video/i386/pc/vbeutil.c.
39979
399802006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
39981
39982 Added support for RAID and LVM.
f19dbdb7 39983
2b002173 39984 * disk/lvm.c: New file.
39985 * disk/raid.c: Likewise.
39986 * include/grub/lvm.h: Likewise.
f19dbdb7 39987 * include/grub/raid.h: Likewise.
2b002173 39988 * include/grub/util/lvm.h: Likewise.
39989 * include/grub/util/raid.h: Likewise.
39990 * util/lvm.c: Likewise.
39991 * util/raid.c: Likewise.
39992
39993 * include/grub/disk.h (grub_disk_dev_id): Add
39994 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
39995 (grub_disk_get_size): New prototype.
39996 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
39997 returns a partition.
39998 (grub_disk_get_size): New function.
f19dbdb7 39999
2b002173 40000 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40001 verbatim if grub_install_dos_part is -2.
40002
40003 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40004 and LVM devices.
40005
40006 * util/i386/pc/grub-setup.c (setup): New argument
40007 MUST_EMBED. Force embedding of GRUB when the argument is
40008 true. Close FILE before returning.
40009 (main): Add support for RAID and LVM.
f19dbdb7 40010
2b002173 40011 * conf/common.rmk: Add RAID and LVM modules.
40012 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40013 util/lvm.c.
40014 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40015
40016 * kern/misc.c (grub_strstr): New function.
40017 * include/grub/misc.h (grub_strstr): New prototype.
40018
050548d0 400192006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40020
40021 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40022
da849d2d 400232006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40024
40025 * kern/misc.c (grub_strtoull): Guess the base only if not
40026 specified.
40027
97b2f2ff 400282006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 40029
40030 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40031 PowerMac support.
40032
97b2f2ff 400332006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 40034
40035 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40036
40037 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40038 Remove `flags' argument. All callers changed.
40039 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40040 (IEEE1275_IHANDLE_INVALID): New variable.
40041 (IEEE1275_CELL_INVALID): New variable.
40042 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40043 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40044 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40045 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40046 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40047 codes from Open Firmware. All callers updated.
40048 (grub_ieee1275_next_property): Directly return Open Firmware return
40049 code.
40050 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40051 Standardize error checking from `grub_ieee1275_get_property'.
40052 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40053 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40054
97b2f2ff 400552006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 40056
40057 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40058 `instance_to_package_args' to `instance_to_path_args'.
40059
40060 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40061 `grub_ieee1275_chosen'.
40062
40063 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40064 `grub_ieee1275_interpret'.
40065
97b2f2ff 400662006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 40067
40068 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40069
97b2f2ff 400702006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 40071
40072 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40073 (__cmpdi): Likewise.
40074
40075 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40076 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40077 `grub_ssize_t'.
40078
02bb8acc 40079 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 40080
40081 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40082 to type `grub_ssize_t'.
40083 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40084
7f9a8531 400852006-09-22 Marco Gerards <marco@gnu.org>
40086
40087 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40088 newlines.
40089
b5ef1102 400902006-09-22 Marco Gerards <marco@gnu.org>
40091
40092 * commands/echo.c: New file.
40093
40094 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40095
40096 * conf/common.rmk (echo_mod_SOURCES): New variable.
40097 (echo_mod_CFLAGS): Likewise.
40098 (echo_mod_LDFLAGS): Likewise.
40099
2cff3677 401002006-09-22 Marco Gerards <marco@gnu.org>
40101
40102 * normal/main.c (get_line): Malloc memory instead of using
40103 preallocated memory. Removed the arguments `cmdline' and
40104 `max_len'. Updated all callers.
40105
6ba4688b 401062006-09-22 Marco Gerards <marco@gnu.org>
40107
40108 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40109 (normal_mod_DEPENDENCIES): Likewise.
40110
40111 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40112 (normal_mod_DEPENDENCIES): Likewise.
40113
40114 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40115
e02ac02c 401162006-09-22 Johan Rydberg <jrydberg@gnu.org>
40117
40118 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40119 programs.
40120 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40121 (normal_mod_DEPENDENCIES): Likewise.
40122 * conf/i386-pc.mk: Regenerate.
40123 * conf/i386-efi.mk: Likewise
40124 * conf/common.mk: Likewise.
40125 * conf/powerpc-ieee1275.mk: Likewise.
40126 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40127
8d252e44 401282006-09-22 Robert Millan <rmh@aybabtu.com>
40129
40130 Sync with i386 version.
40131 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40132 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40133
209bf7ac 401342006-09-21 Robert Millan <rmh@aybabtu.com>
40135
40136 Import from GRUB Legacy (lib/device.c):
40137 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40138 (init_device_map) [__linux__]: Add support for I2O devices.
40139
6b146090 401402006-09-14 Marco Gerards <marco@gnu.org>
40141
40142 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40143 `-melf_i386'.
40144
e38600a8 401452006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 40146
40147 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40148 /boot/grub/*.lst.
78fa1790 40149
2952da5d 40150 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 40151
2952da5d 40152 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40153 before adding it to device.map.
40154
01b82a64 401552006-08-15 Johan Rydberg <jrydberg@gnu.org>
40156
fe6b695a 40157 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 40158 compiles a file; using the -MD option.
40159 * conf/common.mk: Regenerate.
40160 * conf/i386-pc.mk: Likewise.
40161 * conf/i386-efi.mk: Likewise.
40162 * conf/powerpc-ieee1275.mk: Likewise.
40163 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40164
1064790d 401652006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40166
40167 Move the prototypes of grub_setjmp and grub_longjmp to
40168 cpu/setjmp.h, so that each architecture may specify different
40169 attributes.
f19dbdb7 40170
1064790d 40171 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40172 (grub_longjmp): Likewise.
40173 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40174 (grub_longjmp): Likewise.
40175 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40176 (grub_longjmp): Likewise.
40177
40178 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40179 [!GRUB_UTIL] (grub_longjmp): Removed.
40180
29dda3ed 401812006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40182
40183 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40184 "color!" method does not return any value.
40185
ad2a06ed 401862006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40187
40188 * include/grub/bitmap.h: New file.
40189
40190 * include/grub/i386/pc/vbeutil.h: Likewise.
40191
40192 * video/bitmap.c: Likewise.
40193
40194 * video/readers/tga.c: Likewise.
40195
40196 * video/i386/pc/vbeutil.c: Likewise.
40197
40198 * commands/videotest.c: Code cleanup and updated to reflect to new
40199 video API.
40200
40201 * term/gfxterm.c: Likewise.
40202
40203 * video/video.c: Likewise.
40204
40205 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40206 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40207 (bitmap_mod_SOURCES): New entry.
40208 (bitmap_mod_CFLAGS): Likewise.
40209 (bitmap_mod_LDFLAGS): Likewise.
40210 (tga_mod_SOURCES): Likewise.
40211 (tga_mod_CFLAGS): Likewise.
40212 (tga_mod_LDFLAGS): Likewise.
40213
40214 * include/grub/video.h (grub_video_blit_operators): New enum type.
40215 (grub_video_render_target): Changed as forward declaration and moved
40216 actual definition to be video driver specific.
40217 (grub_video_adapter.blit_bitmap): Added blitting operator.
40218 (grub_video_adapter.blit_render_target): Likewise.
40219 (grub_video_blit_bitmap): Likewise.
40220 (grub_video_blit_render_target): Likewise.
40221
40222 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40223 driver specific render target definition.
40224 (grub_video_vbe_map_rgba): Added driver internal helper.
40225 (grub_video_vbe_unmap_color): Updated to use
40226 grub_video_i386_vbeblit_info.
40227 (grub_video_vbe_get_video_ptr): Likewise.
40228
40229 * include/grub/i386/pc/vbeblit.h
40230 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40231 grub_video_i386_vbeblit_info.
40232 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40233 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40234 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40235 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40236 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40237 (grub_video_i386_vbeblit_index_index): Likewise.
40238 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40239 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40240 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40241 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40242 operator.
40243 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40244 operator.
40245
40246 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40247 include/grub/i386/pc/vbeblit.h.
40248
40249 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40250 Updated to use grub_video_i386_vbeblit_info.
40251 (grub_video_i386_vbefill_R8G8B8): Likewise.
40252 (grub_video_i386_vbefill_index): Likewise.
40253 (grub_video_i386_vbefill): Added generic filler.
40254
40255 * video/i386/pc/vbefill.c: Updated to reflect changes on
40256 include/grub/i386/pc/vbefill.h.
40257
40258 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40259 grub_video_i386_vbeblit_info.
40260 (grub_video_vbe_unmap_color): Likewise.
40261 (grub_video_vbe_blit_glyph): Likewise.
40262 (grub_video_vbe_scroll): Likewise.
40263 (grub_video_vbe_draw_pixel): Removed function.
40264 (grub_video_vbe_get_pixel): Likewise.
40265 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40266 updated code to use it.
40267 (common_blitter): Added common blitter for render target and bitmap.
40268 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40269 (grub_video_vbe_blit_render_target): Likewise.
40270
bc8c036d 402712006-07-30 Johan Rydberg <jrydberg@gnu.org>
40272
40273 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40274 is in text mode if there is no console control protocol instance
40275 available.
40276
684a8eff 402772006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40278
40279 * include/grub/video.h: Code cleanup.
40280
40281 * include/grub/i386/pc/vbe.h: Likewise.
40282
40283 * video/i386/pc/vbe.c: Likewise.
40284
40285 * video/i386/pc/vbeblit.c: Likewise.
40286
40287 * video/i386/pc/vbefill.c: Likewise.
40288
40289 * video/video.c: Likewise. Also added more comments.
40290
5915059b 402912006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40292
40293 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40294 (struct grub_biosdisk_dap): Likewise.
40295
40296 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40297 linkage settings for all functions.
40298
90ce5d56 402992006-07-12 Marco Gerards <marco@gnu.org>
40300
40301 * configure.ac (--enable-mm-debug): Fix typo.
40302
40303 * genkernsyms.sh.in: Use proper quoting for `CC'.
40304
43e7f879 403052006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40306
40307 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40308 (normal_mod_ASFLAGS): Remove "-m32".
40309
4889bdec 403102006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40311
40312 * util/misc.c: Include config.h.
40313 [!HAVE_MEMALIGN]: Do not include malloc.h.
40314 (grub_memalign): Use posix_memalign, if present. Then, use
40315 memalign, if present. Otherwise, emit an error.
40316
40317 * util/grub-emu.c: Do not include malloc.h.
40318
40319 * include/grub/util/misc.h: Include unistd.h. This is required for
40320 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40321 D. Eades III <hde@foobar-qux.org>.
40322
40323 * configure.ac (AC_GNU_SOURCE): Added.
40324 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40325 type.
40326
fd39d4da 403272006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40328
40329 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40330 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40331
b786f3b5 403322006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40333
40334 * include/grub/types.h (grub_host_addr_t): Rename to
40335 grub_target_addr_t.
40336 (grub_host_off_t): Rename to grub_target_off_t.
40337 (grub_host_size_t): Rename to grub_target_size_t.
40338 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40339 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40340
40341 * include/grub/kernel.h (struct grub_module_header): Change type
40342 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40343 (grub_module_info): Likewise.
f19dbdb7 40344
051988bb 403452006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40346
40347 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40348 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40349 Velazquez <jesus.velazquez@gmail.com>.
40350
deae281b 403512006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40352
40353 Count partitions from 1 instead of 0 in the string representation
40354 of partitions. Still use 0-based internally.
f19dbdb7 40355
deae281b 40356 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40357 (sun_partition_map_iterate): Use grub_partition_t instead of
40358 struct grub_partition *. Cast DESC->START_CYLINDER to
40359 grub_uint64_t after converting the endian.
40360 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40361 (sun_partition_map_get_name): Add 1 to P->INDEX.
40362
40363 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40364 PCDATA->DOS_PART.
40365 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40366
40367 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40368 zero instead of one.
40369 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40370 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40371
40372 * partmap/apple.c (apple_partition_map_iterate): Change the type
40373 of POS to unsigned.
40374 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40375 (apple_partition_map_get_name): Add 1 into P->INDEX.
40376
40377 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40378 of POS to unsigned.
40379 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40380 calculate the offset of a partition.
40381 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40382 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40383
40384 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40385 SECTOR to grub_disk_addr_t.
40386 (acorn_partition_map_iterate): Likewise.
40387 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40388 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40389 top.
40390 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40391
40392 * kern/i386/pc/init.c (make_install_device): Add 1 into
40393 GRUB_INSTALL_DOS_PART.
40394
40395 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40396 conditional.
40397
524a1e6a 403982006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40399
40400 Clean up the code to support 64-bit addressing in disks and
40401 files. This change is not enough for filesystems yet.
f19dbdb7 40402
524a1e6a 40403 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40404 type of "start" to grub_uint64_t.
40405 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40406 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40407 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40408 convert addresses.
40409
40410 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40411 to grub_disk_addr_t.
40412
40413 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40414 string.
40415
40416 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40417
40418 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40419 to char *.
40420
40421 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40422
40423 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40424
40425 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40426
40427 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40428 to grub_off_t, to detect an error from grub_file_seek.
40429 (grub_multiboot_load_elf32): Likewise.
40430
40431 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40432 maximum unsigned long value when an overflow is detected.
40433 (grub_strtoull): New function.
40434 (grub_divmod64): Likewise.
40435 (grub_lltoa): use grub_divmod64.
40436
40437 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40438 grub_disk_addr_t.
40439 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40440 the pointer to next character. Use grub_strtoull instead of
40441 grub_strtoul.
40442 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40443 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40444 respectively.
40445
fe6b695a 40446 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 40447 return value is signed.
40448 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40449 test if OFFSET is less than zero, as OFFSET is unsigned now.
40450
40451 * kern/disk.c (struct grub_disk_cache): Change the type of
40452 "sector" to grub_disk_addr_t.
40453 (grub_disk_cache_get_index): Change the type of SECTOR to
40454 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40455 unsigned after shifting.
40456 (grub_disk_cache_invalidate): Change the type of SECTOR to
40457 grub_disk_addr_t.
40458 (grub_disk_cache_unlock): Likewise.
40459 (grub_disk_cache_store): Likewise.
40460 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40461 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40462 grub_disk_addr_t and grub_uint64_t, respectively.
40463 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40464 body, as the value of OFFSET is tweaked by
40465 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40466 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40467 respectively.
40468 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40469 body, as the value of OFFSET is tweaked by
40470 grub_disk_check_range. Change the types of LEN and N to
40471 grub_size_t.
40472
40473 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40474 and "saved_offset" to grub_off_t.
40475 (test_header): Cast BUF to char *.
40476 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40477 to char *.
40478 (grub_gzio_read): Change the types of OFFSET and SIZE to
40479 grub_off_t and grub_size_t, respectively.
40480
40481 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40482 Removed.
40483 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40484 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40485 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40486 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40487 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40488
40489 * include/grub/types.h (grub_off_t): Unconditionally set to
40490 grub_uint64_t.
40491 (grub_disk_addr_t): Changed to grub_uint64_t.
40492
40493 * include/grub/partition.h (struct grub_partition): Change the
40494 types of "start", "len" and "offset" to grub_disk_addr_t,
40495 grub_uint64_t and grub_disk_addr_t, respectively.
40496 (grub_partition_get_start): Return grub_disk_addr_t.
40497 (grub_partition_get_len): Return grub_uint64_t.
40498
40499 * include/grub/misc.h (grub_strtoull): New prototype.
40500 (grub_divmod64): Likewise.
40501
40502 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40503 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40504 grub_off_t, respectively.
40505 All callers and references changed.
40506
40507 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40508 grub_size_t in "read".
40509 All callers and references changed.
40510
40511 * include/grub/file.h (struct grub_file): Change the types of
40512 "offset" and "size" to grub_off_t and grub_off_t,
40513 respectively. Change the type of SECTOR to grub_disk_addr_t in
40514 "read_hook".
40515 (grub_file_read): Change the type of LEN to grub_size_t.
40516 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40517 grub_off_t.
40518 (grub_file_size): Return grub_off_t.
40519 (grub_file_tell): Likewise.
40520 All callers and references changed.
40521
40522 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40523 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40524 "write".
40525 (struct grub_disk): Change the type of "total_sectors" to
40526 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 40527 "read_hook".
524a1e6a 40528 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40529 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40530 (grub_disk_write): Likewise.
40531 All callers and references changed.
40532
40533 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40534 char * for grub_strncmp to silence gcc.
40535 (grub_iso9660_mount): Likewise.
40536 (grub_iso9660_mount): Likewise.
40537 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40538 return statement.
40539 (grub_iso9660_iterate_dir): Likewise.
40540 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40541
40542 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40543 LEN to grub_disk_addr_t and grub_size_t, respectively.
40544
40545 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40546
40547 * fs/jfs.c (grub_jfs_read_file): Likewise.
40548
40549 * fs/minix.c (grub_jfs_read_file): Likewise.
40550
40551 * fs/sfs.c (grub_jfs_read_file): Likewise.
40552
40553 * fs/ufs.c (grub_jfs_read_file): Likewise.
40554
40555 * fs/xfs.c (grub_jfs_read_file): Likewise.
40556
40557 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
40558 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
40559 respectively.
40560
40561 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
40562 BLKNR to -1 instead of returning GRUB_ERRNO.
40563 (grub_ext2_read_file): Change the types of SECTOR and
40564 LEN to grub_disk_addr_t and grub_size_t, respectively.
40565
40566 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
40567 LEN to grub_disk_addr_t and grub_size_t, respectively.
40568
40569 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
40570 grub_file_read.
40571
40572 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
40573 string. Do not cast SECTOR explicitly.
40574
40575 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
40576 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
40577 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
40578 grub_disk_addr_t and grub_size_t, respectively. If the sector is
40579 over 2TB and LBA mode is not supported, raise an error.
40580 (get_safe_sectors): New function.
40581 (grub_biosdisk_read): Use get_safe_sectors.
40582 (grub_biosdisk_write): Likewise.
40583
40584 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
40585 (grub_efidisk_write): Likewise.
40586
40587 * disk/loopback.c (delete_loopback): Cosmetic changes.
40588 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
40589 correctly.
40590 (grub_loopback_open): Likewise.
40591 (grub_loopback_read): Likewise. Also, change the type of POS to
40592 grub_off_t, and fix the usage of grub_memset.
40593
40594 * commands/i386/pc/play.c: Include grub/machine/time.h.
40595
40596 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
40597 print FILE->SIZE.
40598
40599 * commands/configfile.c: Include grub/env.h.
40600
40601 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
40602 GRUB_ERRNO directly instead. Change the type of POS to
40603 grub_off_t. Follow the coding standard.
40604
40605 * commands/blocklist.c: Include grub/partition.h.
40606 (grub_cmd_blocklist): Return an error if the underlying device is
40607 not a disk. Take the starting sector of a partition into account,
40608 if a partition is used.
40609
40610 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
40611 a length field.
40612 (lba_mode): Support 64-bit addresses.
40613 (chs_mode): Likewise.
40614 (copy_buffer): Adapted to the new offsets of a length field and a
40615 segment field.
40616 (blocklist_default_start): Allocate 64-bit space.
40617
40618 * boot/i386/pc/boot.S (force_lba): Removed.
40619 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 40620 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 40621 space.
40622 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
40623 is useless.
40624 (lba_mode): Refactored to support a 64-bit address. More size
40625 optimization.
40626 (setup_sectors): Likewise.
40627
53af98ad 406282006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40629
40630 * DISTLIST: Added include/grub/i386/linux.h. Removed
40631 include/grub/i386/pc/linux.h
40632
40633 * configure.ac (AC_INIT): Bumped to 1.94.
40634
40635 * config.guess: Updated from gnulib.
40636 * config.sub: Likewise.
40637 * install-sh: Likewise.
40638 * mkinstalldirs: Likewise.
40639
b4c1940a 406402006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40641
40642 * conf/common.rmk (grub_modules_init.lst): Depended on
40643 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
40644 MODSRCFILES.
40645
40646 * genmk.rb (PModule::rule): Reverted the previous change.
40647
cfca1cfd 406482006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40649
40650 * conf/common.rmk (grub_modules_init.lst): Depends on
40651 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
40652 that the target does not exist before producing.
40653 (grub_modules_init.h): Remove the target before generating.
40654 (grub_emu_init.c): Likewise.
40655
40656 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
40657
aa6d7826 406582006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
40659
40660 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
40661 for the target-specific tests. Make sure that we also have the
40662 up-to-date target variables for those tests.
40663
26c607b9 406642006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40665
40666 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
40667 (PModule::rule): Likewise.
40668
0162321a 406692006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40670
40671 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
40672 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
40673 target-specific flags should be prefixed.
40674 (PModule::rule): Likewise.
40675
6c826348 406762006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
40677
40678 * configure.ac (CMP): Check if cmp is available explicitly.
40679
b977bf01 406802006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
40681
40682 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
40683 (target_cpu): New variable.
40684 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 40685
b977bf01 40686 * util/i386/pc/grub-install.in (host_cpu): Removed.
40687 (target_cpu): New variable.
40688 (pkglibdir): Use target_cpu instead of host_cpu.
40689
40690 * util/genmoddep.c: Removed.
f19dbdb7 40691
b977bf01 40692 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
40693 instead of GRUB_HOST_SIZEOF_VOID_P.
40694 * kern/dl.c: Likewise.
40695
40696 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
40697 ...
40698 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40699 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40700 (GRUB_TARGET_SIZEOF_LONG): ... this.
40701 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40702 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40703 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40704 to ...
40705 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40706 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40707 (GRUB_TARGET_SIZEOF_LONG): ... this.
40708 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40709 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40710 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40711 to ...
40712 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40713 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40714 (GRUB_TARGET_SIZEOF_LONG): ... this.
40715 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40716 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40717
40718 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
40719 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
40720 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
40721 instead of GRUB_HOST_SIZEOF_LONG.
40722 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
40723 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
40724 GRUB_CPU_WORDS_BIGENDIAN.
40725 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
40726 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
40727 grub_host_ssize_t.
40728
40729 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
40730 (genmoddep_SOURCES): Likewise.
40731 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
40732 (genmoddep_SOURCES): Likewise.
40733 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
40734 (genmoddep_SOURCES): Likewise.
40735 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
40736 Likewise.
40737 (genmoddep_SOURCES): Likewise.
40738
40739 * genmoddep.awk: New file.
40740
40741 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
40742 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
40743 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
40744 (PModule::rule): Likewise.
40745 (Program::rule): Likewise.
40746 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
40747 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
40748 respectively.
40749
40750 * configure.ac: Rewritten intensively to use host and target
40751 instead of build and host, respectively.
40752
40753 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
40754 (host_cpu): Removed.
40755 (target_cpu): New variable.
40756 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
40757 (BUILD_CC): Removed.
40758 (BUILD_CFLAGS): Likewise.
40759 (BUILD_CPPFLAGS): Likewise.
40760 (TARGET_CC): New variable.
40761 (TARGET_CFLAGS): Likewise.
40762 (TARGET_CPPFLAGS): Likewise.
40763 (TARGET_LDFLAGS): Likewise.
40764 (AWK): Likewise.
40765 (include): Use target_cpu instead of host_cpu.
40766 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 40767
b977bf01 40768 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
40769
f09771a1 407702006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
40771
40772 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
40773 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
40774 field 'false' to 'exec_on_false'.
40775 (grub_script_create_cmdif): Renamed argument names to reflect above
40776 changes.
40777
40778 * normal/execute.c (grub_script_execute_cmdif): Likewise.
40779
40780 * normal/script.c (grub_script_create_cmdif): Likewise.
40781
118f4fb3 407822006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
40783
40784 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
40785 top.
40786 (grub_hfsplus_btree_recptr): Likewise.
40787 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
40788 FILEBLOCK both to pass a block number and store next block
40789 number.
40790 (grub_hfsplus_read_block): Rewritten heavily to support an extent
40791 overflow file correctly. Specify errors appropriately, because
40792 fshelp expects that GRUB_ERRNO is set when fails. Reuse
40793 grub_hfsplus_btree_recptr to get the pointer to a found key.
40794 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
40795 is found.
40796
40797 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
40798 linux.mod.
40799 (_linux_mod_SOURCES): New variable.
40800 (_linux_mod_CFLAGS): Likewise.
40801 (_linux_mod_LDFLAGS): Likewise.
40802 (linux_mod_SOURCES): Likewise.
40803 (linux_mod_CFLAGS): Likewise.
40804 (linux_mod_LDFLAGS): Likewise.
40805
40806 * DISTLIST: Added loader/i386/efi/linux.c,
40807 loader/i386/efi/linux_normal.c and
40808 include/grub/i386/efi/loader.h.
40809
40810 * loader/i386/efi/linux.c: New file.
40811 * loader/i386/efi/linux_normal.c: Likewise.
40812 * include/grub/i386/efi/loader.h: Likewise.
40813
89a7d726 408142006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
40815
40816 * commands/blocklist.c: New file.
40817
40818 * DISTLIST: Added commands/blocklist.c.
40819
40820 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 40821 color for the background, and a darker color for the foreground.
89a7d726 40822 (grub_console_checkkey): Return READ_KEY.
40823 (grub_console_cls): Set the background to
40824 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
40825
40826 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
40827
40828 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
40829 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
40830
40831 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
40832 prototype.
40833
40834 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
40835 BG. The spec is wrong again.
40836
40837 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
40838 prototype.
40839 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
40840
40841 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40842 commands/blocklist.c.
40843 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 40844
89a7d726 40845 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
40846 (blocklist_mod_SOURCES): New variable.
40847 (blocklist_mod_CFLAGS): Likewise.
40848 (blocklist_mod_LDFLAGS): Likewise.
40849
75c8f258 408502006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
40851
40852 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
40853 duplication.
40854 (lba_mode): Use %eax more intensively to reduce the code size.
40855
da2eb181 408562006-05-20 Marco Gerards <marco@gnu.org>
40857
40858 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
40859
40860 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
40861 for `menuentry'.
40862 (script): Accept leading newlines.
40863 (newlines): New rule to describe 0 or more newlines.
40864 (commands): Accept `command' with trailing newline. Fixed the
40865 order in which arguments were passed to `grub_script_add_cmd'.
40866 Accept commands separated by newlines.
40867 (function): Changed to accept newlines.
40868 (menuentry) Rewritten.
40869
40870 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
40871 front of the list, instead of to the end.
40872
577b4050 408732006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
40874
40875 * util/i386/pc/grub-install.in (bindir): New variable.
40876 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
40877 Shaver <lbgwjl@gmail.com>.
40878
0d6e1189 408792006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
40880
40881 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
40882 grub/machine/linux.h
40883 * loader/i386/pc/linux.c: Likewise.
40884
40885 * include/grub/i386/pc/linux.h: Moved to ...
40886 * include/grub/i386/linux.h: ... here.
40887
40888 * include/grub/i386/linux.h (struct linux_kernel_params): New
40889 struct.
f19dbdb7 40890
31b86e9f 408912006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
40892
40893 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
40894 checking.
40895 (grub_video_vbe_blit_glyph): Likewise.
40896 (grub_video_vbe_blit_bitmap): Likewise.
40897 (grub_video_vbe_blit_render_target): Likewise.
40898
83b984de 408992006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
40900
40901 * configure.ac (--with-platform): Properly quote the square
40902 brackets.
40903
5f0413bd 409042006-05-08 Marco Gerards <marco@gnu.org>
40905
40906 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
40907 this...
40908 (kernel_elf_HEADERS): ...to this. Updated all users.
40909 (grubof_symlist.c): Renamed from this...
40910 (kernel_elf_symlist.c): ...to this. Updated all users.
40911 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40912 (grubof_SOURCES): Renamed from this...
40913 (kernel_elf_SOURCES): ...to this.
40914 (grubof_HEADERS): Renamed from this...
40915 (kernel_elf_HEADERS): ...to this.
40916 (grubof_CFLAGS): Renamed from this...
40917 (kernel_elf_CFLAGS): ...to this.
40918 (grubof_ASFLAGS): Renamed from this...
40919 (kernel_elf_ASFLAGS): ...to this.
40920 (grubof_LDFLAGS): Renamed from this...
40921 (kernel_elf_LDFLAGS): ...to this.
40922
40923 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
40924 this...
40925 (kernel_elf_HEADERS): ...to this. Updated all users.
40926 (grubof_symlist.c): Renamed from this...
40927 (kernel_elf_symlist.c): ...to this. Updated all users.
40928 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40929 (grubof_SOURCES): Renamed from this...
40930 (kernel_elf_SOURCES): ...to this.
40931 (grubof_HEADERS): Renamed from this...
40932 (kernel_elf_HEADERS): ...to this.
40933 (grubof_CFLAGS): Renamed from this...
40934 (kernel_elf_CFLAGS): ...to this.
40935 (grubof_ASFLAGS): Renamed from this...
40936 (kernel_elf_ASFLAGS): ...to this.
40937 (grubof_LDFLAGS): Renamed from this...
40938 (kernel_elf_LDFLAGS): ...to this.
40939
40940 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
40941 `kernel.elf' instead of `grubof'.
40942
05568c2e 409432006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
40944
40945 Add --with-platform to configure. Use pkglibdir instead of
40946 pkgdatadir. This is reported by Roger Leigh.
40947
40948 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
40949 (host_vendor): Likewise.
40950 (host_os): Likewise.
40951 (pkgdatadir): Likewise.
40952 (platform): New variable.
40953 (pkglibdir): Likewise.
40954 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 40955
05568c2e 40956 * util/i386/pc/grub-install.in (datadir): Removed.
40957 (host_vendor): Likewise.
40958 (host_os): Likewise.
40959 (pkgdatadir): Likewise.
40960 (platform): New variable.
40961 (pkglibdir): Likewise.
40962 Use PKGLIBDIR instead of PKGDATADIR.
40963
40964 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
40965 instead of GRUB_DATADIR.
40966 (main): Likewise.
40967 * util/i386/pc/grub-mkimage.c (usage): Likewise.
40968 (main): Likewise.
40969 * util/i386/efi/grub-mkimage.c (usage): Likewise.
40970 (main): Likewise.
40971
40972 * configure.ac (--with-platform): New option.
40973 Use PLATFORM instead of HOST_VENDOR to specify a platform.
40974
40975 * Makefile.in: Include a makefile based on PLATFORM instead of
40976 HOST_VENDOR.
40977 (pkgdatadir): Not appended by the machine type.
40978 (pkglibdir): Appended by the machine type.
40979 (host_vendor): Removed.
40980 (platform): New variable.
40981 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
40982 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
40983 (uninstall): Likewise.
40984
4e93851c 409852006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
40986
40987 Use the environment context in the menu. Remove the commands
40988 "default" and "timeout", and use variables instead.
f19dbdb7 40989
4e93851c 40990 * normal/menu.c: Include grub/env.h.
40991 (print_entry): Cast TITLE to silence gcc.
40992 (get_timeout): New function.
40993 (set_timeout): Likewise.
40994 (get_entry_number): Likewise.
40995 (run_menu): Use a default entry, a fallback entry and a timeout
40996 in the environment variables "default", "fallback" and
40997 "timeout". Also, tweak the default entry if it is not within the
40998 current menu entries.
40999 (grub_menu_run): Use a fallback entry in the environment variable
41000 "fallback".
41001
41002 * normal/main.c (read_config_file): Do not initialize
41003 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41004 NEWMENU->TIMEOUT.
41005 (grub_normal_execute): Use a data slot to store the menu.
41006
41007 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41008 fallback_entry and timeout.
41009 (struct grub_menu_list): Removed.
41010 (grub_menu_list_t): Likewise.
41011 (struct grub_context): Likewise.
41012 (grub_context_t): Likewise.
41013 (grub_context_get): Likewise.
41014 (grub_context_get_current_menu): Likewise.
41015 (grub_context_push_menu): Likewise.
41016 (grub_context_pop_menu): Likewise.
41017 (grub_default_init): Likewise.
41018 (grub_default_fini): Likewise.
41019 (grub_timeout_init): Likewise.
41020 (grub_timeout_fini): Likewise.
41021
41022 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41023 and timeout.mod.
41024 (normal_mod_SOURCES): Removed normal/context.c.
41025
41026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41027 commands/default.c, commands/timeout.c and normal/context.c.
41028 (normal_mod_SOURCES): Removed normal/context.c.
41029
41030 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41031 commands/timeout.c and normal/context.c.
41032 (normal_mod_SOURCES): Removed normal/context.c.
41033
41034 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41035 commands/default.c, commands/timeout.c and normal/context.c.
41036 (normal_mod_SOURCES): Removed normal/context.c.
41037
41038 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41039 timeout.mod.
41040 (default_mod_SOURCES): Removed.
41041 (default_mod_CFLAGS): Likewise.
41042 (default_mod_LDFLAGS): Likewise.
41043 (timeout_mod_SOURCES): Removed.
41044 (timeout_mod_CFLAGS): Likewise.
41045 (timeout_mod_LDFLAGS): Likewise.
41046
41047 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41048 normal/context.c.
41049
41050 * commands/default.c: Removed.
41051 * commands/timeout.c: Likewise.
41052 * normal/context.c: Likewise.
41053
1eb9cc1d 410542006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41055
41056 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41057
385bd9c1 410582006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41059
41060 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41061 "next" to "prev" for readability.
41062 (struct grub_env_sorted_var): New struct.
41063 (grub_env_context): Renamed to ...
41064 (initial_context): ... this.
41065 (grub_env_var_context): Renamed to ...
41066 (current_context): ... this.
41067 (grub_env_find): Look only at CURRENT_CONTEXT.
41068 (grub_env_context_open): Rewritten to copy exported variables from
41069 previous context.
41070 (grub_env_context_close): Rewritten according to the new
41071 scheme. Also, add an assertion to prevent the initial context from
41072 removed.
41073 (grub_env_insert): Removed the code for the sorted list.
41074 (grub_env_remove): Likewise.
41075 (grub_env_export): Simply mark the variable with
41076 GRUB_ENV_VAR_GLOBAL.
41077 (grub_env_set): A cosmetic change for naming consistency.
41078 (grub_env_get): Likewise.
41079 (grub_env_unset): Likewise.
41080 (grub_env_iterate): Rewritten to sort variables within this
41081 function.
41082 (grub_register_variable_hook): Fixed for naming consistency. Call
41083 grub_env_find again, only if NAME is not found at the first time.
41084 (mangle_data_slot_name): New function.
41085 (grub_env_set_data_slot): Likewise.
41086 (grub_env_get_data_slot): Likewise.
41087 (grub_env_unset_data_slot): Likewise.
41088
41089 * include/grub/env.h (grub_env_var_type): New enum.
41090 (GRUB_ENV_VAR_LOCAL): New constant.
41091 (GRUB_ENV_VAR_GLOBAL): Likewise.
41092 (GRUB_ENV_VAR_DATA): Likewise.
41093 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41094 "type".
41095 (grub_env_set): Replace VAR with NAME for consistency.
41096 (grub_register_variable_hook): Likewise.
41097 (grub_env_export): Specify the name of the argument.
41098 (grub_env_set_data_slot): New prototype.
41099 (grub_env_get_data_slot): Likewise.
41100 (grub_env_unset_data_slot): Likewise.
41101
7f362539 411022006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41103
41104 Extend the loader so that GRUB can accept a loader which comes
41105 back to GRUB when a loaded image exits. Also, this change adds
41106 support for a chainloader on EFI.
f19dbdb7 41107
7f362539 41108 * term/efi/console.c: Include grub/misc.h.
41109 (grub_console_checkkey): Display a scan code on the top for
41110 debugging. This will be removed once the EFI port gets stable.
41111 Correct the scan code mapping.
41112
41113 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41114 allocate memory from larger regions, in order to reduce the number
41115 of allocated regions. Otherwise, the MacOSX loader panics.
41116 (filter_memory_map): Avoid less than 1MB for compatibility with
41117 other loaders.
41118 (add_memory_regions): Allocate from the tail of a region, if
41119 possible, to avoid allocating a region near to 1MB, for the MacOSX
41120 loader.
41121
41122 * kern/efi/init.c (grub_efi_set_prefix): Specify
41123 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41124
41125 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41126 argument IMAGE_HANDLE and specify it to get a loaded image.
41127 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41128 grub_efi_get_loaded_image.
fe6b695a 41129 (grub_efi_get_filename): Divide the length by the size of
7f362539 41130 grub_efi_char16_t.
41131 (grub_efi_get_device_path): New function.
41132 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41133 the length by the size of grub_efi_char16_t for a file path device
41134 path node.
41135
41136 * kern/loader.c (grub_loader_noreturn): New variable.
41137 (grub_loader_set): Accept a new argument NORETURN. Set
41138 GRUB_LOADER_NORETURN to NORETURN.
41139 All callers changed.
41140 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41141 grub_machine_fini.
41142
41143 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41144 prototype.
41145 (grub_efi_get_loaded_image): Take an argument to specify an image
41146 handle.
41147
41148 * include/grub/loader.h (grub_loader_set): Added one more argument
41149 NORETURN.
41150
41151 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41152 instead of grub_efi_open_protocol.
41153 (grub_efidisk_get_device_name): Likewise.
41154 (grub_efidisk_close): Print a newline.
41155 (grub_efidisk_get_device_handle): Fixed to use
41156 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41157 GRUB_EFI_DEVICE_PATH_TYPE.
41158
41159 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41160 * kern/efi/efi.c (device_path_guid): ... here.
41161
41162 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41163 chain.mod.
41164 (kernel_mod_HEADERS): Added efi/disk.h.
41165 (_chain_mod_SOURCES): New variable.
41166 (_chain_mod_CFLAGS): Likewise.
41167 (_chain_mod_LDFLAGS): Likewise.
41168 (chain_mod_SOURCES): Likewise.
41169 (chain_mod_CFLAGS): Likewise.
41170 (chain_mod_LDFLAGS): Likewise.
41171
41172 * DISTLIST: Added include/grub/efi/chainloader.h,
41173 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41174
41175 * include/grub/efi/chainloader.h: New file.
41176 * loader/efi/chainloader.c: Likewise.
41177 * loader/efi/chainloader_normal.c: Likewise.
41178
c0111d6e 411792006-04-30 Marco Gerards <marco@gnu.org>
41180
41181 * commands/configfile.c (grub_cmd_source): New function.
41182 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41183 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41184
df5341da 411852006-04-30 Marco Gerards <marco@gnu.org>
41186
41187 * normal/execute.c (grub_script_execute_cmd): Change the return
41188 type to `grub_err_t'. Correctly return the error.
41189 (grub_script_execute_cmdline): In case a command line is not a
41190 command or a function, try to interpret it as an assignment.
41191
f85934bd 411922006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41193
41194 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41195 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41196 skip a node whose name is obviously invalid as UTF-16,
41197 i.e. contains a NUL character. Stop the iteration when the last
41198 directory entry is found. Instead of using the return value of
41199 grub_hfsplus_btree_iterate_node, store the value in RET and use
41200 it, because the iterator can be stopped by the last directory
41201 entry.
41202
8f8a2cf8 412032006-04-30 Marco Gerards <marco@gnu.org>
41204
41205 * include/grub/env.h (grub_env_export): New prototype. Reported
41206 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41207
a27e84ce 412082006-04-30 Marco Gerards <marco@gnu.org>
41209
41210 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41211 size of the extents in a catalog file record.
41212
eaef0553 412132006-04-29 Marco Gerards <marco@gnu.org>
41214
41215 * commands/configfile.c (grub_cmd_configfile): Execute the
41216 configfile within its own context.
41217
41218 * include/grub/env.h (grub_env_context_open): New prototype.
41219 (grub_env_context_close): Likewise.
41220
41221 * kern/env.c (grub_env): Removed.
41222 (grub_env_sorted): Likewise.
41223 (grub_env_context): New variable.
41224 (grub_env_var_context): Likewise.
41225 (grub_env_find): Search both the active context and the global
41226 context.
41227 (grub_env_context_open): New function.
41228 (grub_env_context_close): Likewise.
41229 (grub_env_insert): Likewise.
41230 (grub_env_remove): Likewise.
41231 (grub_env_export): Likewise.
41232 (grub_env_set): Changed to use helper functions to avoid code
41233 duplication.
41234 (grub_env_iterate): Rewritten so both the current context and the
41235 global context are being used.
41236
41237 * normal/command.c (export_command): New function.
41238 (grub_command_init): Register the `export' function.
41239
7b455f4d 412402006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41241
41242 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41243 explicitly to suppress gcc's warnings.
41244 * fs/fat.c (grub_fat_find_dir): Likewise.
41245 (grub_fat_label): Likewise.
41246 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41247 (grub_xfs_mount): Likewise.
41248 (grub_xfs_label): Likewise.
41249 * fs/affs.c (grub_affs_mount): Likewise.
41250 (grub_affs_label): Likewise.
41251 (grub_affs_iterate_dir): Likewise.
41252 * fs/sfs.c (grub_sfs_mount): Likewise.
41253 (grub_sfs_iterate_dir): Likewise.
41254 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41255 * fs/hfs.c (grub_hfs_mount): Likewise.
41256 (grub_hfs_cmp_catkeys): Likewise.
41257 (grub_hfs_find_dir): Likewise.
41258 (grub_hfs_dir): Likewise.
41259 (grub_hfs_label): Likewise.
41260 * fs/jfs.c (grub_jfs_mount): Likewise.
41261 (grub_jfs_opendir): Likewise.
41262 (grub_jfs_getent): Likewise.
41263 (grub_jfs_lookup_symlink): Likewise.
41264 (grub_jfs_label): Likewise.
41265 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41266 (grub_hfsplus_iterate_dir): Likewise.
41267 (grub_hfsplus_btree_iterate_node): Made static.
41268
41269 * util/grub-emu.c (prefix): New variable.
41270 (grub_machine_set_prefix): New function.
41271 (main): Do not set the environment variable "prefix" here. Only
41272 set PREFIX, which is used later by grub_machine_set_prefix.
41273
41274 * include/grub/video.h: Do not include grub/symbol.h.
41275 (grub_video_register): Not exported. This symbol is not defined in
41276 the kernel.
41277 (grub_video_unregister): Likewise.
41278 (grub_video_iterate): Likewise.
41279 (grub_video_setup): Likewise.
41280 (grub_video_restore): Likewise.
41281 (grub_video_get_info): Likewise.
41282 (grub_video_get_blit_format): Likewise.
41283 (grub_video_set_palette): Likewise.
41284 (grub_video_get_palette): Likewise.
41285 (grub_video_set_viewport): Likewise.
41286 (grub_video_get_viewport): Likewise.
41287 (grub_video_map_color): Likewise.
41288 (grub_video_map_rgb): Likewise.
41289 (grub_video_map_rgba): Likewise.
41290 (grub_video_fill_rect): Likewise.
41291 (grub_video_blit_glyph): Likewise.
41292 (grub_video_blit_bitmap): Likewise.
41293 (grub_video_blit_render_target): Likewise.
41294 (grub_video_scroll): Likewise.
41295 (grub_video_swap_buffers): Likewise.
41296 (grub_video_create_render_target): Likewise.
41297 (grub_video_delete_render_target): Likewise.
41298 (grub_video_set_active_render_target): Likewise.
41299
41300 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41301 Undefined.
41302 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41303
41304 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41305 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41306 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41307 instead of $(srcdir)/genkernsyms.sh.
41308
41309 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41310 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41311 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41312 instead of $(srcdir)/genkernsyms.sh.
41313
41314 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41315 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41316 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41317 instead of $(srcdir)/genkernsyms.sh.
41318
41319 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41320 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41321 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41322 instead of $(srcdir)/genkernsyms.sh.
41323
41324 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41325 genkernsyms.sh.
41326
41327 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41328 genkernsyms.sh.
41329 (gensymlist.sh): New target.
41330 (genkernsyms.sh): Likewise.
41331
41332 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41333 genkernsyms.sh.in and gensymlist.sh.in.
41334
41335 * genkernsyms.sh: Removed.
41336 * gensymlist.sh: Likewise.
f19dbdb7 41337
7b455f4d 41338 * genkernsyms.sh.in: New file.
41339 * gensymlist.sh.in: Likewise.
41340
1885bb27 413412006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41342
41343 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41344 clobber "prefix", since we may have already set it manually.
41345
71538dff 413462006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41347
41348 * kern/misc.c (abort): New alias for grub_abort.
41349
2965c7cc 413502006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41351
41352 A new machine-specific function "grub_machine_set_prefix" is
41353 defined. This is called after loading modules, so that a prefix
41354 initialization can use modules. Also, this change adds an
41355 intensive debugging feature for the memory manager via the
41356 configure option "--enable-mm-debug".
f19dbdb7 41357
2965c7cc 41358 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41359 PART.LEN.
41360
41361 * kern/sparc64/ieee1275/init.c (abort): Removed.
41362 (grub_stop): Likewise.
41363 (grub_exit): New function.
41364 (grub_set_prefix): Renamed to ...
41365 (grub_machine_set_prefix): ... this.
41366 (grub_machine_init): Do not call grub_set_prefix.
41367
41368 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41369 (grub_machine_set_prefix): ... this.
41370 (grub_machine_init): Do not call grub_set_prefix.
41371
41372 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41373 (grub_machine_init): Do not set the prefix here.
41374
41375 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41376
41377 * kern/efi/init.c: Include grub/mm.h.
41378 (grub_efi_set_prefix): New function.
41379
41380 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41381 (grub_efi_get_filename): New function.
41382 (grub_print_device_path): Renamed to ...
41383 (grub_efi_print_device_path): ... this.
41384
41385 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41386 [MM_DEBUG] (grub_realloc): Likewise.
41387 [MM_DEBUG] (grub_free): Likewise.
41388 [MM_DEBUG] (grub_memalign): Likewise.
41389 [MM_DEBUG] (grub_mm_debug): New variable.
41390 [MM_DEBUG] (grub_debug_malloc): New function.
41391 [MM_DEBUG] (grub_debug_free): New function.
41392 [MM_DEBUG] (grub_debug_realloc): New function.
41393 [MM_DEBUG] (grub_debug_memalign): New function.
41394
41395 * kern/misc.c (grub_abort): Print a newline to distinguish
41396 the message.
41397
41398 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41399 grub_set_root_dev after loading modules. This is necessary when
41400 setting a prefix depends on modules.
41401
41402 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41403 (grub_efi_print_device_path): ... this.
41404 (grub_efi_get_filename): New prototype.
41405 (grub_efi_set_prefix): Likewise.
41406
41407 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41408 and grub/disk.h.
41409 (grub_efidisk_get_device_handle): New prototype.
41410 (grub_efidisk_get_device_name): Likewise.
41411
41412 * include/grub/mm.h: Include config.h.
41413 (MM_DEBUG): Removed.
41414 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41415 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41416 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41417 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41418 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41419 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41420 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41421 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41422 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41423
41424 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41425
41426 * disk/efi/efidisk.c: Include grub/partition.h.
41427 (iterate_child_devices): New function.
41428 (add_device): First, compare only last device path nodes, so that
41429 devices are sorted by the types.
41430 (grub_efidisk_get_device_handle): New function.
41431 (grub_efidisk_get_device_name): Likewise.
41432
41433 * configure.ac (--enable-mm-debug): New option to enable the
41434 memory manager debugging feature. This makes the binary much
41435 bigger, so is disabled by default.
41436
9cacaa17 414372006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41438
41439 Use grub_abort instead of grub_stop, and grub_exit must be
41440 define in each architecture now. Also, this change adds support
41441 for EFI disks.
f19dbdb7 41442
9cacaa17 41443 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41444 (grub_getkey): New function.
41445 (grub_term_get_current): Likewise.
41446
41447 * util/i386/pc/grub-setup.c: Include grub/term.h.
41448 (grub_getkey): New function.
41449 (grub_term_get_current): Likewise.
41450
41451 * util/misc.c (grub_stop): Renamed to ...
41452 (grub_exit): ... this.
41453
41454 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41455 (grub_exit): ... this.
41456 (grub_machine_init): Use grub_abort instead of abort.
41457 (grub_stop): Removed.
41458
41459 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41460 abort.
41461
41462 * kern/i386/pc/startup.S (grub_exit): New function.
41463 (cold_reboot): New label.
41464
41465 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41466 (grub_efi_init): Call grub_efidisk_init.
41467 (grub_efi_fini): Call grub_efidisk_fini.
41468
41469 * kern/efi/efi.c: Include grub/mm.h.
41470 (grub_efi_console_control_guid): Renamed to ...
41471 (console_control_guid): ... this.
41472 (grub_efi_loaded_image_guid): Renamed to ...
41473 (loaded_image_guid): ... this.
41474 (grub_efi_locate_handle): New function.
41475 (grub_efi_open_protocol): Likewise.
41476 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41477 GRUB_EFI_CONSOLE_CONTROL_GUID.
41478 (grub_efi_exit): Removed.
41479 (grub_stop): Likewise.
41480 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41481 (grub_exit): New function.
41482 (grub_print_device_path): Likewise.
41483
41484 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41485 (grub_enter_rescue_mode): Register "exit".
41486
41487 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41488 (grub_abort): New function.
41489
41490 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41491
41492 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41493
41494 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41495
41496 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41497 (grub_print_device_path): New prototype.
41498 (grub_efi_locate_handle): Likewise.
41499 (grub_efi_open_protocol): Likewise.
41500
41501 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41502 * disk/efi/efidisk.c: Likewise.
41503
41504 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41505
41506 * include/grub/efi/console_control.h
41507 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41508
41509 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41510 last 8 bytes as an array.
41511 (GRUB_EFI_DISK_IO_GUID): New macro.
41512 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41513 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41514 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41515 grub_uint8_t.
41516 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41517 (struct grub_efi_device_path): Rename the member "sub_type" to
41518 "subtype".
41519 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41520 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41521 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41522 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41523 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41524 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41525 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41526 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41527 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41528 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41529 (struct grub_efi_pci_device_path): New structure.
41530 (grub_efi_pci_device_path_t): New type.
41531 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41532 (struct grub_efi_pccard_device_path): New structure.
41533 (grub_efi_pccard_device_path_t): New type.
41534 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41535 (struct grub_efi_memory_mapped_device_path): New structure.
41536 (grub_efi_memory_mapped_device_path_t): New type.
41537 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41538 (struct grub_efi_vendor_device_path): New structure.
41539 (grub_efi_vendor_device_path_t): New type.
41540 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41541 (struct grub_efi_controller_device_path): New structure.
41542 (grub_efi_controller_device_path_t): New type.
41543 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41544 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41545 (struct grub_efi_acpi_device_path): New structure.
41546 (grub_efi_acpi_device_path_t): New type.
41547 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41548 (struct grub_efi_expanded_acpi_device_path): New structure.
41549 (grub_efi_expanded_acpi_device_path_t): New type.
41550 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41551 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
41552 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
41553 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
41554 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
41555 (struct grub_efi_atapi_device_path): New structure.
41556 (grub_efi_atapi_device_path_t): New type.
41557 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
41558 (struct grub_efi_fibre_channel_device_path): New structure.
41559 (grub_efi_fibre_channel_device_path_t): New type.
41560 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
41561 (struct grub_efi_1394_device_path): New structure.
41562 (grub_efi_1394_device_path_t): New type.
41563 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
41564 (struct grub_efi_usb_device_path): New structure.
41565 (grub_efi_usb_device_path_t): New type.
41566 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
41567 (struct grub_efi_usb_class_device_path): New structure.
41568 (grub_efi_usb_class_device_path_t): New type.
41569 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
41570 (struct grub_efi_i2o_device_path): New structure.
41571 (grub_efi_i2o_device_path_t): New type.
41572 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
41573 (struct grub_efi_mac_address_device_path): New structure.
41574 (grub_efi_mac_address_device_path_t): New type.
41575 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
41576 (struct grub_efi_ipv4_device_path): New structure.
41577 (grub_efi_ipv4_device_path_t): New type.
41578 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
41579 (struct grub_efi_ipv6_device_path): New structure.
41580 (grub_efi_ipv6_device_path_t): New type.
41581 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
41582 (struct grub_efi_infiniband_device_path): New structure.
41583 (grub_efi_infiniband_device_path_t): New type.
41584 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
41585 (struct grub_efi_uart_device_path): New structure.
41586 (grub_efi_uart_device_path_t): New type.
41587 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
41588 (struct grub_efi_vendor_messaging_device_path): New structure.
41589 (grub_efi_vendor_messaging_device_path_t): New type.
41590 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
41591 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
41592 (struct grub_efi_hard_drive_device_path): New structure.
41593 (grub_efi_hard_drive_device_path_t): New type.
41594 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
41595 (struct grub_efi_cdrom_device_path): New structure.
41596 (grub_efi_cdrom_device_path_t): New type.
41597 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
41598 (struct grub_efi_vendor_media_device_path): New structure.
41599 (grub_efi_vendor_media_device_path_t): New type.
41600 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
41601 (struct grub_efi_file_path_device_path): New structure.
41602 (grub_efi_file_path_device_path_t): New type.
41603 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
41604 (struct grub_efi_protocol_device_path): New structure.
41605 (grub_efi_protocol_device_path_t): New type.
41606 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
41607 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
41608 (struct grub_efi_bios_device_path): New structure.
41609 (grub_efi_bios_device_path_t): New type.
41610 (struct grub_efi_disk_io): New structure.
41611 (grub_efi_disk_io_t): New type.
41612 (struct grub_efi_block_io_media): New structure.
41613 (grub_efi_block_io_media_t): New type.
41614 (struct grub_efi_block_io): New structure.
41615 (grub_efi_block_io_t): New type.
41616
41617 * include/grub/misc.h (grub_stop): Removed.
41618 (grub_exit): New prototype.
41619 (grub_abort): Likewise.
41620
41621 * include/grub/disk.h (enum grub_disk_dev_id): Added
41622 GRUB_DISK_DEVICE_EFIDISK_ID.
41623
41624 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
41625 disk/efi/efidisk.c.
41626 (kernel_syms.lst): Remove the target if an error occurs.
41627
49986a9f 416282006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
41629
41630 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
41631 as it was simply too buggy.
41632
970d3b8a 416332006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
41634
41635 * kern/misc.c (grub_lltoa): New function.
41636 (grub_vsprintf): Added support for the long long suffix,
41637 i.e. "ll".
41638
ff04ec24 416392006-04-20 Hollis Blanchard <hollis@penguinppc.org>
41640
41641 * Makefile.in (LDFLAGS): Add variable.
41642 (LD): Remove variable.
41643 * configure.ac: Add -m32 to LDFLAGS.
41644 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
41645 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
41646 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
41647 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
41648 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
41649 variables.
41650 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
41651 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
41652 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
41653
37e5e1a4 416542006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
41655
41656 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
41657 length for unknown glyph.
41658
c352d8dd 416592006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41660
2eab1c0d 41661 Add support for pre-loaded modules into the EFI port.
f19dbdb7 41662
2eab1c0d 41663 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
41664 completely. Accept one more argument DIR. The caller has changed.
41665
41666 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
41667
41668 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
41669 (grub_efi_loaded_image_guid): New variable.
41670 (grub_efi_get_loaded_image): New function.
41671 (grub_arch_modules_addr): Likewise.
41672
41673 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
41674 prototype.
41675
41676 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
41677 (struct grub_efi_loaded_image): New structure.
41678 (grub_efi_loaded_image_t): New type.
41679
416802006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41681
c352d8dd 41682 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
41683 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
41684 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
41685
6d01d6b4 416862006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
41687
41688 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
41689
976a4ea0 416902006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
41691
41692 * DISTLIST: Added include/grub/efi/console.h,
41693 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
41694 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41695
41696 * include/grub/efi/console.h: New file.
41697 * include/grub/efi/time.h: Likewise.
41698 * include/grub/i386/efi/kernel.h: Likewise.
41699 * kern/efi/init.c: Likewise.
41700 * kern/efi/mm.c: Likewise.
41701 * term/efi/console.c: Likewise.
f19dbdb7 41702
976a4ea0 41703 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
41704 (grub_stop): Removed.
41705 (grub_get_rtc): Likewise.
41706 (grub_machine_init): Simply call grub_efi_init.
41707 (grub_machine_fini): Call grub_efi_fini.
41708
41709 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
41710 (grub_efi_output_string): Removed.
41711 (grub_efi_stall): New function.
41712 (grub_stop): Likewise.
41713 (grub_get_rtc): Likewise.
41714
41715 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
41716 (grub_efi_stall): New prototype.
41717 (grub_efi_allocate_pages): Likewise.
41718 (grub_efi_free_pages): Likewise.
41719 (grub_efi_get_memory_map): Likewise.
41720 (grub_efi_mm_init): Likewise.
41721 (grub_efi_mm_fini): Likewise.
41722 (grub_efi_init): Likewise.
41723 (grub_efi_fini): Likewise.
41724
41725 * include/grub/i386/efi/time.h: Do not include
41726 grub/symbol.h. Include grub/efi/time.h.
41727 (GRUB_TICKS_PER_SECOND): Removed.
41728 (grub_get_rtc): Likewise.
41729
41730 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
41731 Added padding. The EFI spec is buggy.
41732 (GRUB_EFI_BLACK): New macro.
41733 (GRUB_EFI_BLUE): Likewise.
41734 (GRUB_EFI_GREEN): Likewise.
41735 (GRUB_EFI_CYAN): Likewise.
41736 (GRUB_EFI_RED): Likewise.
41737 (GRUB_EFI_MAGENTA): Likewise.
41738 (GRUB_EFI_BROWN): Likewise.
41739 (GRUB_EFI_LIGHTGRAY): Likewise.
41740 (GRUB_EFI_BRIGHT): Likewise.
41741 (GRUB_EFI_DARKGRAY): Likewise.
41742 (GRUB_EFI_LIGHTBLUE): Likewise.
41743 (GRUB_EFI_LIGHTGREEN): Likewise.
41744 (GRUB_EFI_LIGHTCYAN): Likewise.
41745 (GRUB_EFI_LIGHTRED): Likewise.
41746 (GRUB_EFI_LIGHTMAGENTA): Likewise.
41747 (GRUB_EFI_YELLOW): Likewise.
41748 (GRUB_EFI_WHITE): Likewise.
41749 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
41750 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
41751 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
41752 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
41753 (GRUB_EFI_BACKGROUND_RED): Likewise.
41754 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
41755 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
41756 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
41757 (GRUB_EFI_TEXT_ATTR): Likewise.
41758
41759 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
41760 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41761 (kernel_mod_HEADERS): Added efi/time.h.
41762
83709125 417632006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
41764
41765 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
41766 include/grub/efi/api.h, include/grub/efi/console_control.h,
41767 include/grub/efi/efi.h, include/grub/efi/pe32.h,
41768 include/grub/i386/efi/time.h, kern/efi/efi.c,
41769 kern/i386/efi/init.c, kern/i386/efi/startup.S,
41770 and util/i386/efi/grub-mkimage.c.
41771
41772 * Makefile.in (RMKFILES): Added i386-efi.rmk.
41773
41774 * genmk.rb (PModule#rule): Do not export symbols if
41775 #{prefix}_EXPORTS is set to "no".
41776
41777 * conf/i386-efi.mk: New file.
41778 * conf/i386-efi.rmk: Likewise.
41779 * include/grub/efi/api.h: Likewise.
41780 * include/grub/efi/console_control.h: Likewise.
41781 * include/grub/efi/efi.h: Likewise.
41782 * include/grub/efi/pe32.h: Likewise.
41783 * include/grub/i386/efi/time.h: Likewise.
41784 * kern/efi/efi.c: Likewise.
41785 * kern/i386/efi/init.c: Likewise.
41786 * kern/i386/efi/startup.S: Likewise.
41787 * util/i386/efi/grub-mkimage.c: Likewise.
41788
417892006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 41790
41791 * include/grub/script.h: Include <grub/parser.h> and
41792 "grub_script.tab.h".
41793 (struct grub_lexer_param): New struct.
41794 (struct grub_parser_param): Likewise.
41795 (grub_script_create_arglist): Pass the state in an argument.
41796 (grub_script_add_arglist): Likewise.
41797 (grub_script_create_cmdline): Likewise.
41798 (grub_script_create_cmdblock): Likewise.
41799 (grub_script_create_cmdif): Likewise.
41800 (grub_script_create_cmdmenu): Likewise.
41801 (grub_script_add_cmd): Likewise.
41802 (grub_script_arg_add): Likewise.
41803 (grub_script_lexer_ref): Likewise.
41804 (grub_script_lexer_deref): Likewise.
41805 (grub_script_lexer_record_start): Likewise.
41806 (grub_script_lexer_record_stop): Likewise.
41807 (grub_script_mem_record): Likewise.
41808 (grub_script_mem_record_stop): Likewise.
41809 (grub_script_malloc): Likewise.
41810 (grub_script_yylex): Likewise.
41811 (grub_script_yyparse): Likewise.
41812 (grub_script_yyerror): Likewise.
41813 (grub_script_yylex): Likewise.
41814 (grub_script_lexer_init): Return the state.
41815
41816 * normal/lexer.c (grub_script_lexer_state): Removed variable.
41817 (grub_script_lexer_done): Likewise.
41818 (grub_script_lexer_getline): Likewise.
41819 (grub_script_lexer_refs): Likewise.
41820 (script): Likewise.
41821 (newscript): Likewise.
41822 (record): Likewise.
41823 (recording): Likewise.
41824 (recordpos): Likewise.
41825 (recordlen): Likewise.
41826 (grub_script_lexer_init): Return the state instead of setting
41827 global variables.
41828 (grub_script_lexer_ref): Use the newly added argument for state
41829 instead of globals.
41830 (grub_script_lexer_deref): Likewise.
41831 (grub_script_lexer_record_start): Likewise.
41832 (grub_script_lexer_record_stop): Likewise.
41833 (recordchar): Likewise.
41834 (nextchar): Likewise.
41835 (grub_script_yylex2): Likewise.
41836 (grub_script_yylex): Likewise.
41837 (grub_script_yyerror): Likewise.
41838
41839 * normal/parser.y (func_mem): Removed variable.
41840 (menu_entry): Likewise.
41841 (err): Likewise.
41842 (%lex-param): New parser option.
41843 (%parse-param): Likewise.
41844 (script): Always return the AST.
41845 (argument): Pass the state around.
41846 (arguments): Likewise.
41847 (grubcmd): Likewise.
41848 (commands): Likewise.
41849 (function): Likewise.
41850 (menuentry): Likewise.
41851 (if_statement): Likewise.
41852 (if): Likewise.
41853
41854 * normal/script.c (grub_script_memused): Removed variable.
41855 (grub_script_parsed): Likewise.
41856 (grub_script_malloc): Added a state argument. Use that instead of
41857 global variables.
41858 (grub_script_mem_record): Likewise.
41859 (grub_script_mem_record_stop): Likewise.
41860 (grub_script_arg_add): Likewise.
41861 (grub_script_add_arglist): Likewise.
41862 (grub_script_create_cmdline): Likewise.
41863 (grub_script_create_cmdif): Likewise.
41864 (grub_script_create_cmdmenu): Likewise.
41865 (grub_script_add_cmd): Likewise.
41866 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 41867
e2a8c904 418682006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 41869
41870 * normal/command.c (grub_command_init): Remove the title command.
41871
41872 * normal/lexer.c (grub_script_yylex): Renamed from this...
41873 (grub_script_yylex2): ... to this.
41874 (grub_script_yylex): New function. Temporary
41875 introduced to filter some tokens.
41876 (grub_script_yyerror): Print a newline.
41877
41878 * normal/main.c (read_config_file): Output information about the
41879 lines that contain errors. Wait for a key after all lines have
41880 been processed. Don't return an empty menu.
41881
41882 * normal/parser.y (func_mem): Don't initialize.
41883 (menu_entry): Likewise.
41884 (err): New variable.
41885 (script): Don't return anything when an error was encountered.
41886 (ws, returns): Removed rules.
41887 (argument): Disabled concatenated variable support.
41888 (arguments): Remove explicit separators.
41889 (grubcmd): Likewise.
41890 (function): Likewise.
41891 (menuentry): Likewise.
41892 (if): Likewise.
41893 (commands): Likewise. Add error handling.
41894
41895 * normal/script.c (grub_script_create_cmdline): If
41896 `grub_script_parsed' is 0, assume the parser encountered an error.
41897
c9a86192 418982006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
41899
41900 * configure.ac: Add support for EFI. Fix the typo
41901 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
41902
70f3b243 419032006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41904
41905 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
41906 foreign multibyte characters should be shown correctly.
41907
65f201ad 419082006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41909
41910 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
41911 calculation.
41912 (read_config_file): Made it to close file before returning.
41913
b4b93674 419142006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
41915
41916 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
41917 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
41918 video/i386/pc/vbefill.c.
41919
41920 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
41921 video/i386/pc/vbefill.c.
41922
41923 * include/grub/video.h (grub_video_blit_format): New enum.
41924 (grub_video_mode_info): Added new member blit_format.
41925 (grub_video_get_blit_format): New function prototype.
41926
41927 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
41928 function prototype.
41929 (grub_video_vbe_map_rgb): Likewise.
41930 (grub_video_vbe_unmap_color): Likewise.
41931
41932 * include/grub/i386/pc/vbeblit.h: New file.
41933
41934 * include/grub/i386/pc/vbefill.h: New file.
41935
41936 * video/video.c (grub_video_get_blit_format): New function.
41937 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
41938 (grub_video_vbe_map_rgb): Likewise.
41939 (grub_video_vbe_unmap_color): Likewise.
41940
41941 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
41942 optimized fills.
41943 (grub_video_vbe_blit_render_target): Changed to use more optimized
41944 blits.
41945 (grub_video_vbe_setup): Added detection for optimized settings.
41946 (grub_video_vbe_create_render_target): Likewise.
41947
41948 * video/i386/pc/vbeblit.c: New file.
41949
41950 * video/i386/pc/vbefill.c: New file.
41951
c2379b9c 419522006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
41953
41954 * font/manager.c (grub_font_get_glyph): Removed font fixup from
41955 here...
41956
41957 * util/unifont2pff.rb: ... and moved it to here. Improved argument
41958 parsing to support both hex and dec ranges. If filename was missing
41959 show usage information.
41960
bd0d7896 419612006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
41962
41963 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
41964 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
41965
41966 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
41967 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
41968 (video_mod_SOURCES): Added.
41969 (video_mod_CFLAGS): Likewise.
41970 (video_mod_LDFLAGS): Likewise.
41971 (gfxterm_mod_SOURCES): Likewise.
41972 (gfxterm_mod_CFLAGS): Likewise.
41973 (gfxterm_mod_LDFLAGS): Likewise.
41974 (videotest_mod_SOURCES): Likewise.
41975 (videotest_mod_CFLAGS): Likewise.
41976 (videotest_mod_LDFLAGS): Likewise.
41977 (vesafb_mod_SOURCES): Removed.
41978 (vesafb_mod_CFLAGS): Likewise.
41979 (vesafb_mod_LDFLAGS): Likewise.
41980 (vga_mod_SOURCES): Likewise.
41981 (vga_mod_CFLAGS): Likewise.
41982 (vga_mod_LDFLAGS): Likewise.
41983
41984 * commands/videotest.c: New file.
41985
41986 * font/manager.c (fill_with_default_glyph): Modified to use
41987 grub_font_glyph.
41988 (grub_font_get_glyph): Likewise.
41989 (fontmanager): Renamed from this...
41990 (font_manager): ... to this.
41991
41992 * include/grub/font.h (grub_font_glyph): Added new structure.
41993 (grub_font_get_glyph): Modified to use grub_font_glyph.
41994
41995 * include/grub/misc.h (grub_abs): Added as inline function.
41996
41997 * include/grub/video.h: New file.
41998
41999 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42000 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42001 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42002 (grub_vbe_get_controller_info): Renamed from this...
42003 (grub_vbe_bios_get_controller_info): ... to this.
42004 (grub_vbe_get_mode_info): Renamed from this...
42005 (grub_vbe_bios_get_mode_info): ... to this.
42006 (grub_vbe_set_mode): Renamed from this...
42007 (grub_vbe_bios_set_mode): ... to this.
42008 (grub_vbe_get_mode): Renamed from this...
42009 (grub_vbe_bios_get_mode): ... to this.
42010 (grub_vbe_set_memory_window): Renamed from this...
42011 (grub_vbe_bios_set_memory_window): ... to this.
42012 (grub_vbe_get_memory_window): Renamed from this...
42013 (grub_vbe_bios_get_memory_window): ... to this.
42014 (grub_vbe_set_scanline_length): Renamed from this...
42015 (grub_vbe_set_scanline_length): ... to this.
42016 (grub_vbe_get_scanline_length): Renamed from this...
42017 (grub_vbe_bios_get_scanline_length): ... to this.
42018 (grub_vbe_set_display_start): Renamed from this...
42019 (grub_vbe_bios_set_display_start): ... to this.
42020 (grub_vbe_get_display_start): Renamed from this...
42021 (grub_vbe_bios_get_display_start): ... to this.
42022 (grub_vbe_set_palette_data): Renamed from this...
42023 (grub_vbe_bios_set_palette_data): ... to this.
42024 (grub_vbe_set_pixel_rgb): Removed.
42025 (grub_vbe_set_pixel_index): Likewise.
42026
42027 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42028 from this...
42029 (grub_vbe_bios_get_controller_info): ... to this.
42030 (grub_vbe_get_mode_info): Renamed from this...
42031 (grub_vbe_bios_get_mode_info): ... to this.
42032 (grub_vbe_set_mode): Renamed from this...
42033 (grub_vbe_bios_set_mode): ... to this.
42034 (grub_vbe_get_mode): Renamed from this...
42035 (grub_vbe_bios_get_mode): ... to this.
42036 (grub_vbe_set_memory_window): Renamed from this...
42037 (grub_vbe_bios_set_memory_window): ... to this.
42038 (grub_vbe_get_memory_window): Renamed from this...
42039 (grub_vbe_bios_get_memory_window): ... to this.
42040 (grub_vbe_set_scanline_length): Renamed from this...
42041 (grub_vbe_set_scanline_length): ... to this.
42042 (grub_vbe_get_scanline_length): Renamed from this...
42043 (grub_vbe_bios_get_scanline_length): ... to this.
42044 (grub_vbe_set_display_start): Renamed from this...
42045 (grub_vbe_bios_set_display_start): ... to this.
42046 (grub_vbe_get_display_start): Renamed from this...
42047 (grub_vbe_bios_get_display_start): ... to this.
42048 (grub_vbe_set_palette_data): Renamed from this...
42049 (grub_vbe_bios_set_palette_data): ... to this.
42050 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42051 getting corrupted after calling it. Added more pushes and pops.
42052 (grub_vbe_bios_set_mode): Likewise.
42053 (grub_vbe_bios_get_mode): Likewise.
42054 (grub_vbe_bios_get_memory_window): Likewise.
42055 (grub_vbe_bios_set_scanline_length): Likewise.
42056 (grub_vbe_bios_get_scanline_length): Likewise.
42057 (grub_vbe_bios_get_display_start): Likewise.
42058 (grub_vbe_bios_set_palette_data): Likewise.
42059
42060 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42061 (cl_insert): Likewise.
42062 (cl_delete): Likewise.
42063
42064 * term/gfxterm.c: New file.
42065
42066 * term/i386/pc/vesafb.c: Removed file.
42067
42068 * video/video.c: New file.
42069
42070 * video/i386/pc/vbe.c (real2pm): Added new function.
42071 (grub_video_vbe_draw_pixel): Likewise.
42072 (grub_video_vbe_get_video_ptr): Likewise.
42073 (grub_video_vbe_get_pixel): Likewise
42074 (grub_video_vbe_init): Likewise.
42075 (grub_video_vbe_fini): Likewise.
42076 (grub_video_vbe_setup): Likewise.
42077 (grub_video_vbe_get_info): Likewise.
42078 (grub_video_vbe_set_palette): Likewise.
42079 (grub_video_vbe_get_palette): Likewise.
42080 (grub_video_vbe_set_viewport): Likewise.
42081 (grub_video_vbe_get_viewport): Likewise.
42082 (grub_video_vbe_map_color): Likewise.
42083 (grub_video_vbe_map_rgb): Likewise.
42084 (grub_video_vbe_map_rgba): Likewise.
42085 (grub_video_vbe_unmap_color): Likewise.
42086 (grub_video_vbe_fill_rect): Likewise.
42087 (grub_video_vbe_blit_glyph): Likewise.
42088 (grub_video_vbe_blit_bitmap): Likewise.
42089 (grub_video_vbe_blit_render_target): Likewise.
42090 (grub_video_vbe_scroll): Likewise.
42091 (grub_video_vbe_swap_buffers): Likewise.
42092 (grub_video_vbe_create_render_target): Likewise.
42093 (grub_video_vbe_delete_render_target): Likewise.
42094 (grub_video_vbe_set_active_render_target): Likewise.
42095 (grub_vbe_set_pixel_rgb): Remove function.
42096 (grub_vbe_set_pixel_index): Likewise.
42097 (index_color_mode): Remove static variable.
42098 (active_mode): Likewise.
42099 (framebuffer): Likewise.
42100 (bytes_per_scan_line): Likewise.
42101 (grub_video_vbe_adapter): Added new static variable.
42102 (framebuffer): Likewise.
42103 (render_target): Likewise.
42104 (initial_mode): Likewise.
42105 (mode_in_use): Likewise.
42106 (mode_list): Likewise.
42107
5f97350b 421082006-03-10 Marco Gerards <marco@gnu.org>
42109
42110 * configure.ac (AC_INIT): Bumped to 1.93.
42111
42112 * DISTLIST: Added `include/grub/hfs.h'.
42113
a3c5c6f8 421142006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42115
42116 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42117 18H, which might help the BIOS falling back to next boot media.
42118
6de53d26 421192006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42120
42121 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42122 Poe Chen <poe.poechen@gmail.com>.
42123
77c4a393 421242006-01-17 Marco Gerards <marco@gnu.org>
42125
42126 * include/grub/normal.h: Include <grub/script.h>.
42127 (grub_command_list): Removed struct.
42128 (grub_command_list_t): Removed type.
42129 (grub_menu_entry): Remove members `num' and `command_list'. Add
42130 members `commands' and `sourcecode'.
42131 * include/grub/script.h: Add inclusion guards.
42132 (grub_script_cmd_menuentry): New struct.
42133 (grub_script_execute_menuentry): New prototype.
42134 (grub_script_lexer_record_start): Likewise.
42135 (grub_script_lexer_record_stop): Likewise.
42136 * normal/execute.c (grub_script_execute_menuentry): New function.
42137 * normal/lexer.c (record, recording, recordpos, recordlen): New
42138 variables.
42139 (grub_script_lexer_record_start): New function.
42140 (grub_script_lexer_record_stop): Likewise.
42141 (recordchar): Likewise.
42142 (nextchar): Likewise.
42143 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42144 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42145 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42146 (current_menu): New variable.
42147 (free_menu): Mainly rewritten.
42148 (grub_normal_menu_addentry): New function.
42149 (read_config_file): Rewritten.
42150 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 42151 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 42152 the menu entry.
42153 (run): Mainly rewritten.
42154 * normal/parser.y (menu_entry): New variable.
42155 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42156 (menuentry): New rule.
42157 (command): Add `menuentry'.
42158 (if_statement): Allow additional returns before `fi'.
42159 * normal/script.c (grub_script_create_cmdmenu): New function.
42160
144f1f98 421612006-01-03 Marco Gerards <marco@gnu.org>
42162
42163 * INSTALL: GNU Bison is required.
42164 * configure.ac: Rewritten the test to detect Bison.
42165 * Makefile.in (YACC): New variable. Reported by Xun Sun
42166 <xun.sun.cn@gmail.com>.
42167
af4b2d89 421682006-01-03 Marco Gerards <marco@gnu.org>
42169
42170 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42171 the HFS+ filesystem to filesystem blocks.
42172 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42173 GCC warning is silenced.
42174
15643b71 421752006-01-03 Marco Gerards <marco@gnu.org>
42176
42177 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42178 read from disk from big endian to host byte order.
42179
00905879 421802006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42181
42182 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42183 documentation.
42184 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42185 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42186 embedded HFS+ filesystem.
42187 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42188 (grub_hfs_sblock): Move from here...
42189 * include/grub/hfs.h: To here... New file.
42190 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42191 documentation.
42192 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42193 New macros.
42194 (grub_hfsplus_volheader): Change type of member `magic' to
42195 `grub_uint16_t'.
42196 (grub_hfsplus_data): Add new member `embedded_offset'.
42197 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42198 returned block.
42199 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42200 Calculate the offset.
42201
8899bc3e 422022005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42203
42204 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42205 Removed.
42206 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42207
ae8c0277 422082005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42209
42210 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42211 ENV->NAME is NULL after allocating ENV->VALUE.
42212
07084456 422132005-12-25 Marco Gerards <marco@gnu.org>
42214
42215 * kern/env.c (grub_env_set): Rewritten the error handling code.
42216
4750f5f1 422172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42218
42219 * geninit.sh: Made more robust, and more portable.
42220
50214199 422212005-12-25 Marco Gerards <marco@gnu.org>
42222
42223 Add support for Apple HFS+ filesystems.
f19dbdb7 42224
50214199 42225 * fs/hfsplus.c: New file.
42226
42227 * DISTLIST: Added `fs/hfsplus.c'.
42228
42229 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42230 (hfsplus_mod_SOURCES): New variable.
42231 (hfsplus_mod_CFLAGS): Likewise.
42232 (hfsplus_mod_LDFLAGS): Likewise.
42233 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42234 (grub_setup_SOURCES): Likewise.
42235 (grub_mkdevicemap_SOURCES): Likewise.
42236 (grub_emu_SOURCES): Likewise.
42237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42238
42239 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42240
42241 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42242
befaed6c 422432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42244
42245 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42246 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42247 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42248 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42249 normal/lexer.c, normal/parser.y, normal/script.c, and
42250 partmap/gpt.c.
42251 Removed kern/sparc64/cache.c.
42252
42253 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42254 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42255 grub_emu_init.c.
42256
42257 * configure.ac (AC_INIT): Bumped to 1.92.
42258
6a124103 422592005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42260
42261 * kern/err.c (grub_error_push): Added new function to support error
42262 stacks.
42263 (grub_error_pop): Likewise.
42264 (grub_error_stack_items): New local variable to support error stacks.
42265 (grub_error_stack_pos): Likewise.
42266 (grub_error_stack_assert): Likewise.
42267 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42268 stack depth.
42269 (grub_print_error): Added support to print errors from error stack.
42270
42271 * include/grub/err.h (grub_error_push): Added function prototype.
42272 (grub_error_pop): Likewise.
42273
be973c1b 422742005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42275
42276 * configure.ac: Accept `powerpc64' as host_cpu.
42277 (amd64): Rename to `biarch32'.
42278
42279 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42280 non-cacheline-aligned addresses.
42281
42282 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42283 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42284 if `size' is non-zero.
42285
b04216ab 422862005-12-03 Marco Gerards <mgerards@xs4all.nl>
42287
42288 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42289 and `cd' to make sure the filename is not prefixed with a
42290 directory name.
42291 (pkgdata_MODULES): Add `gpt.mod'.
42292 (gpt_mod_SOURCES): New variable.
42293 (gpt_mod_CFLAGS): Likewise.
42294 (gpt_mod_LDFLAGS): Likewise.
42295
42296 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42297
42298 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42299 New macro.
42300
42301 * partmap/gpt.c: New file.
42302
42303 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42304 GPT partition map is detected.
42305
41730ed9 423062005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42307
42308 * commands/i386/pc/play.c: New file.
42309 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42310 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42311 macros.
f19dbdb7 42312
95dc3643 423132005-11-27 Marco Gerards <mgerards@xs4all.nl>
42314
42315 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42316 ((unused))' to silence gcc warning.
42317
1569ec51 423182005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42319
42320 * configure.ac: Correct `AC_PROG_YACC' test.
42321
9abde152 423222005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42323
42324 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42325 check before installing files.
42326
44b83271 423272005-11-22 Mike Small <smallm@panix.com>
42328
42329 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42330 number regex so multidigit numbers are recognized correctly.
42331
423322005-11-22 Mike Small <smallm@panix.com>
42333
42334 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42335 debugging message before attempting to claim memory.
42336 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42337 multiple addresses in case of failure.
42338
9c12956b 423392005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42340
42341 * term/tparm.c (get_space): Remove empty `if' statement.
42342
42343 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42344
42345 * kern/parser.c (check_varstate): Rename `state' to 's'.
42346
aeaf81d9 423472005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42348
42349 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42350 variable definitions to the beginning of each function. Sort stack
42351 variables by size.
42352 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42353 `buf' argument to `char *'.
42354
79bbb63f 423552005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42356
42357 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42358 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42359 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 42360 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42361 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42362 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42363 configfile.mod, search.mod, gzio.mod and test.mod.
42364 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42365 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42366 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42367 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42368 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42369 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42370 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42371 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42372 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42373 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42374 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42375 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42376 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42377 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42378 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42379 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42380 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42381 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42382 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42383 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42384 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42385 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42386 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42387
42388 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42389 `grep --include'.
42390 (pkgdata_MODULES): Add test.mod.
42391
233b1628 423922005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42393
42394 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42395 appending to variables with "+=".
42396 (PModule): Use full pathname to generate *.lst filenames.
42397
42398 * Makefile.in: Fixed list rules moved from genmk.rb.
42399 (.DELETE_ON_ERROR): New special target.
42400 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42401
42402 * conf/i386-pc.rmk: Include conf/common.mk.
42403 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42404 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 42405 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42406 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42407 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42408 configfile.mod, search.mod, gzio.mod and test.mod.
42409 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42410 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42411 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42412 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42413 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42414 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42415 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42416 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42417 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42418 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42419 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42420 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42421 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42422 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42423 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42424 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42425 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42426 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42427 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42428 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42429 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42430 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42431 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42432 here...
42433 * conf/common.rmk: ... to here. New file.
42434
42435 * conf/common.mk: New file.
42436
16f820c8 424372005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42438
42439 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42440 (grub_script.tab.c): ... here.
42441
42442 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42443 (grub_script.tab.c): ... here.
42444
42445 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42446 (grub_script.tab.c): ... here.
42447
42448 * normal/command.c (grub_command_find): Fixed a memory leak of
42449 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42450
63ba1554 424512005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42452
42453 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42454 "@" which marks the start of a comment on ARM.
42455 (VARIABLE): Likewise.
42456
7f67dc13 424572005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42458
79bbb63f 42459 Add support for Linux/ADFS partition tables.
7f67dc13 42460
42461 * partmap/acorn.c: New file.
42462
42463 * include/grub/acorn_filecore.h: Likewise.
42464
42465 * DISTLIST: Added `partmap/acorn.c' and
42466 `include/grub/acorn_filecore.h'.
f19dbdb7 42467
7f67dc13 42468 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42469 `partmap/acorn.c'.
42470 (pkgdata_MODULES): Add `acorn.mod'.
42471 (acorn_mod_SOURCES): New variable.
42472 (acorn_mod_CFLAGS): Likewise.
42473
42474 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42475 `partmap/acorn.c'.
42476 (pkgdata_MODULES): Add `acorn.mod'.
42477 (acorn_mod_SOURCES): New variable.
42478 (acorn_mod_CFLAGS): Likewise.
42479
42480 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42481 (pkgdata_MODULES): Add `acorn.mod'.
42482 (acorn_mod_SOURCES): New variable.
42483 (acorn_mod_CFLAGS): Likewise.
42484 (acorn_mod_LDFLAGS): Likewise.
42485
42486 * include/types.h (grub_disk_addr_t): New typedef.
42487
6d099807 424882005-11-13 Marco Gerards <mgerards@xs4all.nl>
42489
42490 * geninit.sh: New file.
42491
42492 * geninitheader.sh: Likewise.
42493
42494 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42495 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42496 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42497 * commands/configfile.c (grub_configfile_init)
42498 (grub_configfile_fini): Likewise.
42499 * commands/default.c (grub_default_init, grub_default_fini):
42500 Likewise.
42501 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42502 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42503 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42504 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42505 Likewise.
42506 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42507 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42508 Likewise.
42509 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 42510 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 42511 Likewise.
42512 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42513 Likewise.
fe6b695a 42514 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 42515 Likewise.
42516 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42517 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42518 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42519 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42520 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42521 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42522 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42523 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42524 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42525 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42526 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42527 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42528 * partmap/amiga.c (grub_amiga_partition_map_init)
42529 (grub_amiga_partition_map_fini): Likewise.
42530 * partmap/apple.c (grub_apple_partition_map_init)
42531 (grub_apple_partition_map_fini): Likewise.
42532 * partmap/pc.c (grub_pc_partition_map_init)
42533 (grub_pc_partition_map_fini): Likewise.
42534 * partmap/sun.c (grub_sun_partition_map_init,
42535 grub_sun_partition_map_fini): Likewise.
42536 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42537 Likewise.
42538
42539 * util/grub-emu.c: Include <grub_modules_init.h>.
42540 (main): Don't initialize and de-initialize any modules directly,
42541 use `grub_init_all' and `grub_fini_all' instead.
42542
42543 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42544 `grub_vesafb_mod_init'.
42545 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42546 all users.
42547 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42548 `grub_vga_mod_init'. Updated all users.
42549 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 42550
6d099807 42551 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
42552 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
42553 rules.
42554
42555 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
42556 Generate a function to initialize the module in utilities.
42557 Updated all callers.
42558 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
42559 initialize the module in utilities. Updated all callers.
42560
9046bcf0 425612005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42562
42563 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
42564 escape sequence and a literal ^L to clear the screen.
42565
42566 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
42567 when returning from Open Firmware.
42568
d13ea639 425692005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42570
42571 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
42572 (grub_ofconsole_height): Likewise.
42573 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
42574 manually insert a '\n'.
42575 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
42576 `grub_ofconsole_height'. Return early if these are already set.
42577
a8fcf206 425782005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
42579
42580 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42581 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
42582 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
42583 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
42584 and `normal/script.c'.
42585 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42586 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42587 (test_mod_SOURCES): New variable.
42588 (test_mod_CFLAGS): Likewise.
42589 (test_mod_LDFLAGS): Likewise.
42590 (pkgdata_MODULES): Add `test.mod'.
42591 (grub_script.tab.c): New rule.
42592 (grub_script.tab.h): Likewise.
42593
b6b32745 425942005-11-07 Marco Gerards <mgerards@xs4all.nl>
42595
42596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42597 `commands/test.c', `normal/execute.c', `normal/lexer.c',
42598 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42599 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42600 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42601 (test_mod_SOURCES): New variable.
42602 (test_mod_CFLAGS): Likewise.
42603 (pkgdata_MODULES): Add `test.mod'.
42604 (grub_script.tab.c): New rule.
42605 (grub_script.tab.h): Likewise.
42606
daac212a 426072005-11-06 Marco Gerards <mgerards@xs4all.nl>
42608
42609 Add initial scripting support.
42610
42611 * commands/test.c: New file.
42612 * include/grub/script.h: Likewise.
42613 * normal/execute.c: Likewise.
42614 * normal/function.c: Likewise.
42615 * normal/lexer.c: Likewise.
42616 * normal/parser.y: Likewise.
42617 * normal/script.c: Likewise.
42618
42619 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 42620
daac212a 42621 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
42622 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
42623 `normal/function.c' and `normal/script.c'.
42624 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42625 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 42626 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
42627 variables.
daac212a 42628 (pkgdata_MODULES): Add `test.mod'.
42629 (grub_script.tab.c): New rule.
42630 (grub_script.tab.h): Likewise.
42631
42632 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
42633
42634 * include/grub/normal.h (grub_test_init): New prototype.
42635 (grub_test_fini): Likewise.
f19dbdb7 42636
daac212a 42637 * normal/command.c: Include <grub/script.h>.
42638 (grub_command_execute): Rewritten.
f19dbdb7 42639
daac212a 42640 * util/grub-emu.c (main): Call `grub_test_init' and
42641 `grub_test_fini'.
42642
77500b2b 426432005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42644
42645 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
42646 to 0.
42647 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
42648 there are no pending characters.
42649
e45deb9e 426502005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42651
42652 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
42653 `grub_strndup' to drop device arguments. Replace unnecessary
42654 `grub_strndup' with `grub_strdup'.
42655
4ce32619 426562005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42657
42658 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
42659 `debug' environment variable has been set.
42660
426612005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42662
4ce32619 42663 * Makefile.in (install-local): Use $(DATA).
42664 (uninstall): Likewise.
42665 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
42666 (sbin_UTILITIES): ... to here.
42667 (sbin_SCRIPTS): New variable.
42668 (grub_install_SOURCES): New variable.
42669 * util/powerpc/ieee1275/grub-install.in: New file.
42670 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
42671 variable.
42672 (add_segments): Call `grub_util_get_path'.
42673
25fe6f03 426742005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42675
42676 From Timothy Baldwin:
42677 * commands/ls.c (grub_ls_list_files): Close FILE with
42678 grub_file_close.
42679 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
42680
04ccf3ec 426812005-10-24 Marco Gerards <mgerards@xs4all.nl>
42682
42683 * include/grub/parser.h: New file.
42684
42685 * kern/parser.c: Likewise.
42686
42687 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
42688 (grub_setup_SOURCES): Likewise.
42689 (grub_probefs_SOURCES): Likewise.
42690 (grub_emu_SOURCES): Likewise.
42691 (kernel_img_HEADERS): Add `parser.h'.
42692
42693 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42694 (grub_emu_SOURCES): Add `kern/parser.c'.
42695 (grubof_SOURCES): Likewise.
42696
42697 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42698 (grubof_SOURCES): Add `kern/parser.c'.
42699
42700 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
42701
42702 * kern/misc.c (grub_split_cmdline): Removed function.
42703
42704 * kern/rescue.c: Include <grub/parser.h>.
42705 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
42706 of `grub_split_cmdline'.
42707
42708 * normal/command.c: Include <grub/parser.h>.
42709 (grub_command_execute): Use `grub_parser_split_cmdline' instead
42710 of `grub_split_cmdline'.
42711
42712 * normal/completion.c: Include <grub/parser.h>.
42713 (cmdline_state): New variable.
42714 (iterate_dir): End the filename with a quote depending on the
42715 command line state.
42716 (get_state): new function.
42717 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
42718 split the arguments and determine the current argument. When the
42719 argument string is not quoted, escape all spaces.
42720
6d8f4b0e 427212005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42722
42723 * normal/sparc64/setjmp.S: New file.
42724
15cf03ed 427252005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42726
42727 * include/grub/sparc64/libgcc.h: New file.
42728 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
42729 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
42730 normal/sparc64/setjmp.c.
42731
03e8661a 427322005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42733
42734 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
42735 * kern/sparc64/cache.S: New file.
42736 * kern/sparc64/cache.c: Removed.
42737 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
42738 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
42739 -mtune=ultrasparc.
42740 (COMMON_LDFLAGS): Add -melf64_sparc.
42741 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
42742 (grubof_SOURCES): Use cache.S instead of cache.c.
42743 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
42744 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
42745 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
42746 commented though.
42747 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
42748 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
42749 (linux_mod_CFLAGS): Commented out.
42750 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
42751 out because module isn't built.
42752 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
42753 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
42754 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
42755 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
42756 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
42757 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42758 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42759 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
42760 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
42761 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
42762 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42763 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42764 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
42765 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
42766
34eeec8a 427672005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
42768
42769 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
42770 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
42771 longer, because HFS should not be used on PC.
42772
708367a3 427732005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42774
42775 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
42776 consistently within the loop.
42777
6fa1251a 427782005-10-15 Marco Gerards <mgerards@xs4all.nl>
42779
42780 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
42781 directory can not be read.
42782
4801580b 427832005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42784
42785 * configure.ac (AC_INIT): Increase the version number to 1.91.
42786
42787 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
42788 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
42789 term/i386/pc/serial.c.
42790
219ad426 427912005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42792
42793 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
42794 file size must be permitted.
42795
42796 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
42797 between %ah and %al.
42798
688e5699 427992005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42800
42801 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
42802 grub_uint64_t.
42803 Call the hook with a NUL-terminated filename.
42804 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
42805 grub_cpu_to_be32.
42806
42807 * kern/term.c (cursor_state): New variable.
42808 (grub_term_set_current): Reset the cursor state on a new
42809 terminal.
42810 (grub_setcursor): Rewritten to use CURSOR_STATE.
42811 (grub_getcursor): New function.
42812
42813 * include/grub/term.h (grub_getcursor): New prototype.
42814
42815 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
42816 integers on ARM. Reported by Timothy Baldwin
42817 <T.E.Baldwin99@members.leeds.ac.uk>.
42818
bb34586c 428192005-10-11 Marco Gerards <mgerards@xs4all.nl>
42820
42821 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
42822 allocated.
42823 (grub_sfs_dir): Likewise.
42824
9a909877 428252005-10-09 Marco Gerards <mgerards@xs4all.nl>
42826
42827 Add support for the SFS filesystem.
42828
42829 * fs/sfs.c: New file.
42830
42831 * DISTLIST: Added `fs/sfs.c'.
42832
42833 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
42834 (grub_probefs_SOURCES): Likewise.
42835 (grub_emu_SOURCES): Likewise.
42836 (pkgdata_MODULES): Add `sfs.mod'.
42837 (sfs_mod_SOURCES): New variable.
42838 (sfs_mod_CFLAGS): Likewise.
42839 (sfs_mod_LDFLAGS): Likewise.
42840
42841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
42842 (pkgdata_MODULES): Add `sfs.mod'.
42843 (sfs_mod_SOURCES): New variable.
42844 (sfs_mod_CFLAGS): Likewise.
42845
42846 * util/grub-emu.c (main): Call `grub_sfs_init' and
42847 `grub_sfs_fini'.
42848
42849 * include/grub/fs.h (grub_sfs_init): New prototype.
42850 (grub_sfs_fini): Likewise.
42851
57bdbde3 428522005-10-07 Marco Gerards <mgerards@xs4all.nl>
42853
42854 Add support for the AFFS filesystem.
42855
42856 * fs/affs.c: New file.
42857
42858 * DISTLIST: Added `fs/affs.c'.
42859
42860 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
42861 (grub_probefs_SOURCES): Likewise.
42862 (grub_emu_SOURCES): Likewise.
42863 (pkgdata_MODULES): Add `affs.mod'.
42864 (affs_mod_SOURCES): New variable.
42865 (affs_mod_CFLAGS): Likewise.
42866 (affs_mod_LDFLAGS): Likewise.
42867
42868 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
42869 (pkgdata_MODULES): Add `affs.mod'.
42870 (affs_mod_SOURCES): New variable.
42871 (affs_mod_CFLAGS): Likewise.
42872
42873 * util/grub-emu.c (main): Call `grub_affs_init' and
42874 `grub_affs_fini'.
42875
42876 * include/grub/fs.h (grub_affs_init): New prototype.
42877 (grub_affs_fini): Likewise.
42878
047b67e0 428792005-10-01 Marco Gerards <mgerards@xs4all.nl>
42880
42881 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
42882
59b8208a 428832005-10-01 Marco Gerards <mgerards@xs4all.nl>
42884
42885 * configure.ac: Accept `x86_64' as host_cpu. In that case add
42886 `-m32' to CFLAGS.
42887
42888 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
42889 linking.
f19dbdb7 42890
59b8208a 42891 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
42892 (COMMON_LDFLAGS): New variable.
42893 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
42894 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
42895 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
42896 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
42897 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
42898 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
42899 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
42900 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
42901 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
42902 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
42903 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42904 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42905 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
42906 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
42907 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
42908 variables.
42909 (normal_mod_ASFLAGS): Add `-m32'.
42910
42911 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
42912 (grub_host_size_t, grub_host_ssize_t): New types.
42913 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 42914 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 42915 `GRUB_HOST_SIZEOF_VOID_P'.
42916
42917 * include/grub/kernel.h (struct grub_module_header): Type of
42918 member offset changed to `grub_host_off_t'. Type of member size
42919 changed to `grub_host_size_t'.
42920 (struct grub_module_info): Type of member offset changed to
42921 `grub_host_off_t'. Type of member size changed to
42922 `grub_host_size_t'.
42923
b4093103 429242005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
42925
42926 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 42927
b4093103 42928 * kern/i386/pc/startup.S (multiboot_header): New label.
42929 (multiboot_entry): Likewise.
42930 (multiboot_trampoline): Likewise.
42931
42932 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42933 Increased to 0x4A0.
42934
42935 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
42936 put parentheses after a question mark.
42937 [!GRUB_UTIL] (my_mod): New variable.
42938
42939 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
42940
b2499b29 429412005-09-28 Marco Gerards <mgerards@xs4all.nl>
42942
42943 Adds support for the XFS filesystem. Btrees are not supported
42944 yet.
42945
42946 * fs/xfs.c: New file.
42947
42948 * DISTLIST: Added `fs/xfs.c'.
42949
42950 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
42951 (grub_probefs_SOURCES): Likewise.
42952 (grub_emu_SOURCES): Likewise.
42953 (pkgdata_MODULES): Add `xfs.mod'.
42954 (xfs_mod_SOURCES): New variable.
42955 (xfs_mod_CFLAGS): Likewise.
42956
42957 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
42958 (pkgdata_MODULES): Add `xfs.mod'.
42959 (xfs_mod_SOURCES): New variable.
42960 (xfs_mod_CFLAGS): Likewise.
42961
42962 * util/grub-emu.c (main): Call `grub_xfs_init' and
42963 `grub_xfs_fini'.
42964
42965 * include/grub/fs.h (grub_xfs_init): New prototype.
42966 (grub_xfs_fini): Likewise.
42967
f19dbdb7 42968
83d37a62 429692005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
42970
42971 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
42972 color modes, allow greater than 16 colors to be configured as
42973 a default palette.
42974
47d2d65e 429752005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42976
42977 * normal/completion.c (complete_arguments): Add the qualifier
42978 const into OPTIONS.
42979
42980 From Omniflux <omniflux+lists@omniflux.com>:
42981 * include/grub/terminfo.h: New file.
42982 * include/grub/tparm.h: Likewise.
42983 * include/grub/i386/pc/serial.h: Likewise.
42984 * term/terminfo.c: Likewise.
42985 * term/tparm.c: Likewise.
42986 * term/i386/pc/serial.c: Likewise.
42987 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
42988 serial.mod.
42989 (terminfo_mod_SOURCES): New variable.
42990 (terminfo_mod_CFLAGS): Likewise.
42991 (serial_mod_SOURCES): Likewise.
42992 (serial_mod_CFLAGS): Likewise.
42993
48b671ff 429942005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
42995
42996 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
42997 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
42998 and kern/powerpc/ieee1275/cmain.c, respectively.
42999
43000 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43001 * kern/powerpc/ieee1275/crt0.S: ... here.
43002
43003 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43004 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 43005
48b671ff 43006 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43007 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43008 instead of boot/powerpc/ieee1275/crt0.S and
43009 boot/powerpc/ieee1275/cmain.c, respectively.
43010
43011 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43012 sectors. It was not used anyway.
43013
09fc77a7 430142005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43015
43016 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43017 `unused parameter' warning.
43018
003789c7 430192005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43020
43021 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43022 function.
43023 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43024 getcharwidth.
43025
67f44c86 430262005-08-28 Marco Gerards <metgerards@student.han.nl>
43027
43028 * include/grub/normal.h (enum grub_completion_type): Added
43029 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43030
43031 * normal/cmdline.c (print_completion): Handle
43032 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43033 * normal/menu_entry.c (store_completion): Likewise.
43034
43035 * normal/completion.c (complete_arguments): New function.
43036 (grub_normal_do_completion): Call `complete_arguments' when the
43037 current words start with a dash.
43038
0b5abe02 430392005-08-27 Marco Gerards <metgerards@student.han.nl>
43040
43041 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43042 `gzio.mod' instead of `io.mod').
43043
d9864ee1 430442005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43045
43046 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43047 (DISTDIRS): Added io and video.
43048 Rewrite the search routine to make an output consistently.
43049
43050 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43051 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43052 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43053 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43054 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43055 util/powerpc/ieee1275/misc.c.
f19dbdb7 43056
d9864ee1 43057 * include/grub/gzio.h: New file.
43058 * io/gzio.c: Likewise.
f19dbdb7 43059
d9864ee1 43060 * kern/file.c (grub_file_close): Call grub_device_close only if
43061 FILE->DEVICE is not NULL.
43062
43063 * include/grub/mm.h [!NULL] (NULL): New macro.
43064
43065 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43066
43067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43068 (pkgdata_MODULES): Added gzio.mod.
43069 (gzio_mod_SOURCES): New variable.
43070 (gzio_mod_CFLAGS): Likewise.
43071
43072 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43073 (pkgdata_MODULES): Added gzio.mod.
43074 (gzio_mod_SOURCES): New variable.
43075 (gzio_mod_CFLAGS): Likewise.
43076
43077 * commands/cat.c: Include grub/gzio.h.
43078 (grub_cmd_cat): Use grub_gzfile_open instead of
43079 grub_file_open.
f19dbdb7 43080
d9864ee1 43081 * commands/cmp.c: Include grub/gzio.h.
43082 (grub_cmd_cmp): Use grub_gzfile_open instead of
43083 grub_file_open.
43084
43085 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43086 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43087 grub_file_open.
43088 (grub_rescue_cmd_module): Likewise.
43089
fa46f4b5 430902005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43091
43092 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43093 kern/sparc64/ieee1275/init.c because it contains _start.
43094 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43095
e9211b5d 430962005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43097
43098 * configure.ac: Add support for sparc64 host with ieee1275
43099 firmware.
43100 * configure: Generated from configure.ac.
43101 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43102 instead of int.
43103 (grub_ofdisk_read): Likewise.
43104 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43105 pointers as (void *) to remove a warning.
43106 (grub_ofdisk_close): Likewise.
43107 (grub_ofdisk_read): Likewise.
43108 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43109 returns, so make it return void to remove a warning.
43110 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43111 Corresponding prototype change.
43112 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43113 values, and cast the pointers as (void *) to remove a warning.
43114 (grub_mm_dump): Likewise.
43115 * conf/sparc64-ieee1275.mk: New file.
43116 * conf/sparc64-ieee1275.rmk: Likewise.
43117 * include/grub/sparc64/setjmp.h: Likewise.
43118 * include/grub/sparc64/types.h: Likewise.
43119 * include/grub/sparc64/ieee1275/console.h: Likewise.
43120 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43121 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43122 * include/grub/sparc64/ieee1275/time.h: Likewise.
43123 * kern/sparc64/cache.c: Likewise.
43124 * kern/sparc64/dl.c: Likewise.
43125 * kern/sparc64/ieee1275/init.c: Likewise.
43126 * kern/sparc64/ieee1275/openfw.c: Likewise.
43127
385c6a92 431282005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43129
43130 * util/console.c (grub_ncurses_putchar): If C is greater than
43131 0x7f, set C to a question mark.
43132 (grub_ncurses_getcharwidth): New function.
43133 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43134 getcharwidth.
43135
43136 * normal/menu.c (print_entry): Made aware of Unicode. First,
43137 convert TITLE to UCS-4, and predict the cursor position by
43138 grub_getcharwidth.
43139
43140 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43141 const to SRC.
43142 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43143
16ccb8b1 431442005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43145
43146 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43147 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43148 grub_strcat.
43149
43150 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43151 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43152 grub_strcpy and grub_strlen. Take it into account that a space
43153 character is inserted as a delimiter.
43154
6a85ce79 431552005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43156
43157 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 43158 invalid magic in the error.
6a85ce79 43159
43160 * commands/search.c: New file.
f19dbdb7 43161
6a85ce79 43162 * util/grub-emu.c (main): Call grub_search_init and
43163 grub_search_fini.
43164
43165 * kern/rescue.c (grub_rescue_print_disks): Removed.
43166 (grub_rescue_print_devices): New function.
43167 (grub_rescue_cmd_ls): Use grub_device_iterate with
43168 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43169 grub_rescue_print_disks.
43170
43171 * kern/partition.c (grub_partition_iterate): Return the result of
43172 PARTMAP->ITERATE instead of GRUB_ERRNO.
43173
43174 * kern/device.c: Include grub/partition.h.
43175 (grub_device_iterate): New function.
43176
43177 * include/grub/partition.h (grub_partition_iterate): Return int
43178 instead of grub_err_t.
43179
43180 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43181 prototype.
43182 [GRUB_UTIL] (grub_search_fini): Likewise.
43183
43184 * include/grub/device.h (grub_device_iterate): New prototype.
43185
43186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43187 commands/search.c.
43188 (pkgdata_MODULES): Added search.mod.
43189 (search_mod_SOURCES): New variable.
43190 (search_mod_CFLAGS): Likewise.
43191
43192 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43193 (pkgdata_MODULES): Added search.mod.
43194 (search_mod_SOURCES): New variable.
43195 (search_mod_CFLAGS): Likewise.
43196
43197 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43198 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43199 All callers changed.
43200
43201 * DISTLIST: Added commands/search.c.
43202
ef095434 432032005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43204
43205 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43206 conversion.
43207 (grub_getcharwidth): New function.
43208
43209 * kern/misc.c (grub_utf8_to_ucs4): New function.
43210
43211 * include/grub/term.h (struct grub_term): Added a new member
43212 "getcharwidth".
43213 (grub_getcharwidth): New prototype.
43214
43215 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43216
43217 * term/i386/pc/console.c (map_char): New function. Segregated from
43218 grub_console_putchar.
43219 (grub_console_putchar): Use map_char.
43220 (grub_console_getcharwidth): New function.
43221 (grub_console_term): Specified grub_console_getcharwidth as
43222 getcharwidth.
43223
43224 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43225 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43226
43227 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43228 GRUB_ERRNO.
43229 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43230 on grub_strtoul completely.
43231 (write_char): Declare local variables in the beginning of the
43232 function.
43233 (grub_vesafb_getcharwidth): New function.
43234 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43235 getcharwidth.
43236
1f0a95e4 432372005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43238
43239 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43240 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43241 commands/i386/pc/vbetest.c.
43242
43243 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43244 call grub_vbe_get_controller_info again, because the returned
43245 information is volatile.
43246 (grub_vbe_set_video_mode): Mostly rewritten.
43247 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43248 grub_vbe_status_t correctly.
43249 (grub_vbe_get_video_mode_info): Likewise.
43250 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43251 several if statements.
43252
43253 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43254 * commands/i386/pc/vbeinfo.c: ... this.
43255
43256 * commands/i386/pc/vbe_test.c: Renamed to ...
43257 * commands/i386/pc/vbetest.c: ... this.
43258
43259 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43260 ...
43261 (grub_cmd_vbeinfo): ... this. Save video modes before
43262 iterating. Skip a video mode, if it is not available, not enough
43263 information is given or it is monochrome. Show the memory
43264 model. Leave the interpretation of MODEVAR to grub_strtoul
43265 completely.
43266 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43267 (GRUB_MOD_FINI): Likewise.
43268
43269 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43270 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43271 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43272 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43273 grub_strtoul completely.
43274 (real2pm): Removed.
43275 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43276 (GRUB_MOD_FINI): Likewise.
43277
43278 * normal/misc.c: Include grub/mm.h.
43279
43280 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43281 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43282 (vbe_list_modes_mod_SOURCES): Removed.
43283 (vbe_list_modes_mod_CFLAGS): Likewise.
43284 (vbe_test_mod_SOURCES): Likewise.
43285 (vbe_test_mod_CFLAGS): Likewise.
43286 (vbeinfo_mod_SOURCES): New variable.
43287 (vbeinfo_mod_CFLAGS): Likewise.
43288 (vbetest_mod_SOURCES): Likewise.
43289 (vbetest_mod_CFLAGS): Likewise.
43290
992ffbbe 432912005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43292
43293 * normal/misc.c: New file.
43294
43295 * DISTLIST: Added normal/misc.c.
f19dbdb7 43296
992ffbbe 43297 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43298 DISK to HOOK. Call HOOK with DISK.
43299 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43300 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43301 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43302
43303 * normal/menu_entry.c (struct screen): Added a new member
43304 "completion_shown".
43305 (completion_buffer): New global variable.
43306 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43307 (store_completion): New function.
43308 (complete): Likewise.
43309 (clear_completions): Likewise.
43310 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43311 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43312 a tab, call complete.
43313
43314 * normal/completion.c (disk_dev): Removed.
43315 (print_simple_completion): Likewise.
43316 (print_partition_completion): Likewise.
43317 (print_func): New global variable.
43318 (add_completion): Do not take the arguments WHAT or PRINT any
43319 longer. Added a new argument TYPE. Instead of printing directly,
43320 call PRINT_FUNC if not NULL.
43321 All callers changed.
43322 (complete_device): Use a local variable DEV instead of
43323 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43324 (grub_normal_do_completion): Take a new argument HOOK. Do not
43325 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43326 empty string, return NULL instead.
43327 All callers changed.
43328
43329 * normal/cmdline.c (print_completion): New function.
43330
43331 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43332 to HOOK.
43333 All callers changed.
43334
43335 * kern/disk.c (grub_print_partinfo): Removed.
43336
43337 * include/grub/partition.h (struct grub_partition_map): Add a new
43338 argument DISK into HOOK of ITERATE.
43339 (grub_partition_iterate): Add a new argument DISK to HOOK.
43340
43341 * include/grub/normal.h (enum grub_completion_type): New enum.
43342 (grub_completion_type_t): New type.
43343 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43344 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43345 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43346 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43347 (grub_normal_do_completion): Added a new argument HOOK.
43348 (grub_normal_print_device_info): New prototype.
43349
43350 * include/grub/disk.h (grub_print_partinfo): Removed.
43351
43352 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43353 (normal_mod_SOURCES): Likewise.
43354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43355 (normal_mod_SOURCES): Likewise.
43356
43357 * commands/ls.c (grub_ls_list_disks): Use
43358 grub_normal_print_device_info instead of grub_print_partinfo. Free
43359 PNAME.
43360 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43361 duplicating the code.
43362
0bd41162 433632005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43364
43365 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 43366 follow GCS more precisely.
43367 * commands/i386/pc/vbe_test.c: Likewise.
43368 * include/grub/i386/pc/vbe.h: Likewise.
43369 * term/i386/pc/vesafb.c: Likewise.
43370 * video/i386/pc/vbe.c: Likewise.
0bd41162 43371
6323696a 433722005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43373
43374 * DISTLIST: Added term/i386/pc/vesafb.c
43375 DISTLIST: Added video/i386/pc/vbe.c
43376 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43377 DISTLIST: Added commands/i386/pc/vbe_test.c.
43378 * commands/i386/pc/vbe_list_modes.c: New file.
43379 * commands/i386/pc/vbe_test.c: Likewise.
43380 * term/i386/pc/vesafb.c: Likewise.
43381 * video/i386/pc/vbe.c: Likewise.
43382 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43383 (grub_vbe_probe) Added prototype.
43384 (grub_vbe_set_video_mode) Likewise.
43385 (grub_vbe_get_video_mode) Likewise.
43386 (grub_vbe_get_video_mode_info) Likewise.
43387 (grub_vbe_set_pixel_rgb) Likewise.
43388 (grub_vbe_set_pixel_index) Likewise.
43389 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43390 (pkgdata_MODULES): Added vesafb.mod.
43391 (pkgdata_MODULES): Added vbe_list_modes.mod.
43392 (pkgdata_MODULES): Added vbe_test.mod.
43393 (vbe_mod_SOURCES): Added.
43394 (vbe_mod_CFLAGS): Likewise.
43395 (vesafb_mod_SOURCES): Likewise.
43396 (vesafb_mod_CFLAGS): Likewise.
43397 (vbe_list_modes_mod_SOURCES): Likewise.
43398 (vbe_list_modes_mod_CFLAGS): Likewise.
43399 (vbe_test_mod_SOURCES): Likewise.
43400 (vbe_test_mod_CFLAGS): Likewise.
43401
0a74e62f 434022005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43403
0a74e62f 43404 * normal/command.c (grub_command_execute): If INTERACTIVE is
43405 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43406 CMDLINE. Disable the pager if INTERACTIVE is true.
43407 All callers are changed.
43408
43409 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43410 before reading a config file.
43411 * normal/main.c (read_config_file): Even if a command is not
43412 found, register it if it is within an entry.
43413
43414 * util/grub-emu.c: Include sys/types.h and unistd.h.
43415 (options): Added --hold.
43416 (struct arguments): Added a new member "hold".
43417 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43418 missing.
43419 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43420 cleared by a debugger, if it is not zero.
43421
43422 * include/grub/normal.h (grub_command_execute): Add an argument
43423 INTERACTIVE.
43424
e51f85ae 434252005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43426
43427 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43428
e9c6f39b 434292005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43430
43431 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43432 program with another one, because the old one didn't detect a bug
43433 in gcc-3.4. Always use regparm 2, because the new test is still
43434 not enough for gcc-4.0. Someone must investigate a simple test
43435 case which detects a bug in gcc-4.0.
43436
8de3495c 434372005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43438
43439 * DISTLIST: Added normal/completion.c.
43440
43441 * normal/completion.c: New file.
f19dbdb7 43442
8de3495c 43443 * term/i386/pc/console.c (grub_console_getwh): New function.
43444 (grub_console_term): Assign grub_console_getwh to getwh.
43445
43446 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43447 function is defined in normal/completion.c as
43448 grub_normal_do_completion.
43449 (grub_cmdline_get): Use grub_normal_do_completion instead of
43450 grub_tab_complete.
43451
43452 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43453 returns non-zero, otherwise return 0.
43454 (grub_partition_iterate): First, probe the partition map. Then,
43455 call ITERATE only for this partition map.
43456
43457 * kern/misc.c (grub_strncmp): Rewritten.
43458
43459 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43460 returns non-zero. Otherwise return 0.
43461
43462 * include/grub/partition.h (grub_partition_map_iterate): Return
43463 int instead of void.
43464
43465 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43466
43467 * include/grub/misc.h (grub_strncmp): Change the type of N to
43468 grub_size_t.
43469
43470 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43471 of void.
43472
43473 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 43474 unsigned explicitly before comparing it with I.
8de3495c 43475
43476 * kern/main.c (grub_env_write_root): Add the attribute unused into
43477 VAR.
43478
43479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43480 normal/completion.c.
43481 (normal_mod_SOURCES): Likewise.
43482 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43483 (normal_mod_SOURCES): Likewise.
43484
43485 * normal/command.c (grub_iterate_commands): If ITERATE returns
43486 non-zero, return one immediately.
43487
e85e144b 434882005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43489
43490 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43491 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43492 descriptions.
43493 (grub_vbe_get_controller_info): New function.
43494 (grub_vbe_get_mode_info): Likewise.
43495 (grub_vbe_set_mode): Likewise.
43496 (grub_vbe_get_mode): Likewise.
43497 (grub_vbe_set_memory_window): Likewise.
43498 (grub_vbe_get_memory_window): Likewise.
43499 (grub_vbe_set_scanline_length): Likewise.
43500 (grub_vbe_get_scanline_length): Likewise.
43501 (grub_vbe_set_display_start): Likewise.
43502 (grub_vbe_get_display_start): Likewise.
43503 (grub_vbe_set_palette_data): Likewise.
43504 * include/grub/i386/pc/vbe.h: New file.
43505
c46153d2 435062005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43507
43508 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43509 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43510 * DISTLIST: Likewise.
43511 * kern/ieee1275/of.c: Moved to ...
43512 * kern/ieee1275/ieee1275.c: ... here.
43513
0cb90c45 435142005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43515
43516 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43517 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43518 Pass 0 as `end' parameter to grub_strtoul().
43519
a19fb360 435202005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43521
43522 * include/grub/powerpc/ieee1275/console.h: Do not include
43523 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43524 ifdef.
43525 (grub_console_cur_color): Remove i386-specific prototype.
43526 (grub_console_real_putchar): Likewise.
43527 (grub_console_checkkey): Likewise.
43528 (grub_console_getkey): Likewise.
43529 (grub_console_getxy): Likewise.
43530 (grub_console_gotoxy): Likewise.
43531 (grub_console_cls): Likewise.
43532 (grub_console_setcursor): Likewise.
43533 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43534 Include <grub/machine/console.h>.
43535 * term/ieee1275/ofconsole.c: Likewise.
43536
4ac9bd04 435372005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43538
43539 * Makefile.in (LIBLZO): New variable.
43540
43541 * configure.ac: Check for LZO version 2.
43542
43543 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43544 lzo/lzo1x.h instead of lzo1x.h.
43545
43546 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43547 of -llzo.
43548
43549 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43550 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43551
43552 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
43553 copying the data from PARTITION to P.
43554
f4917dfd 435552005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43556
43557 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
43558 negative, unload the module.
43559
43560 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
43561 map is "pc_partition_map" but not "pc".
43562 (usage): Fix the description. The options are --boot-image and
43563 --core-image but not --boot-file or --core-file.
43564 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
43565 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
43566 DEFAULT_DIRECTORY.
43567
43568 * util/i386/pc/grub-install.in: Do not specify --boot-file or
43569 --core-file. Specify INSTALL_DEVICE as an argument.
43570
43571 * util/console.c: Include config.h.
43572 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
43573 [HAVE_NCURSES_H]: Include ncurses.h.
43574 [HAVE_CURSES_H]: Include curses.h.
43575 [!A_NORMAL] (A_NORMAL): Defined as zero.
43576 [!A_STANDOUT] (A_STANDOUT): Likewise.
43577
43578 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
43579 -lncurses.
43580 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
43581
43582 * configure.ac: Check for curses libraries and headers.
43583
43584 * Makefile.in (LIBCURSES): New variable.
43585
43586 * genmk.rb (Script::rule): Set the executable bits.
43587
43588 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
43589 name of the PC partition map is "pc_partition_map" but not "pc".
43590
0e143073 435912005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43592
43593 * util/i386/pc/grub-install.in (grub_probefs): New variable.
43594 (modules): Likewise.
43595 (usage): Added descriptions for --modules and --grub-probefs.
43596 Handle --modules and --grub-probefs. Save the arguments in MODULES
43597 and GRUB_PROBEFS, respectively.
43598 Auto-detect a filesystem module against GRUBDIR. If the result is
43599 empty and modules are not specified explicitly, abort the
43600 installation. Add the result to MODULES.
43601
43602 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
43603 disk/powerpc/ieee1275/ofdisk.c,
43604 include/grub/powerpc/ieee1275/init.h and
43605 term/powerpc/ieee1275/ofconsole.c.
43606 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
43607 term/ieee1275/ofconsole.c.
43608
43609 * include/grub/powerpc/ieee1275/console.h: Resurrected.
43610
43611 * COPYING: Upgraded to the latest version. Only the address of the
43612 FSF office has changed.
f19dbdb7 43613
efd6e6d5 436142005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43615
43616 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43617 kern/ieee1275.c with kern/ieee1275/of.c.
43618
43619 * kern/ieee1275.c: Moved to ...
43620 * kern/ieee1275/of.c: ... here.
43621
8ceafda2 436222005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
43623
43624 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 43625 readability.
8ceafda2 43626
43627 * config.guess: Updated to the latest version from gnulib.
43628 * config.sub: Likewise.
43629 * install.sh: Likewise.
43630 * mkinstalldirs: Likewise.
43631
43632 * include/grub/console.h: Removed. This file is arch-specific. Do
43633 not put this in include/grub.
43634
43635 * include/grub/i386/pc/console.h: Resurrected.
43636
43637 * util/console.c: Include grub/machine/console.h instead of
43638 grub/console.h.
43639 * util/grub-emu.c: Likewise.
43640
267f6cd9 436412005-08-04 Marco Gerards <metgerards@student.han.nl>
43642
43643 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
43644 hardcoded value.
f19dbdb7 43645
267f6cd9 43646 From Vincent Pelletier <subdino2004@yahoo.fr>
43647 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
43648 Redefined to use grub_getwh.
43649 (grub_term): New member named getwh.
43650 (grub_getwh): New prototype.
43651 * kern/term.c (grub_getwh): New function.
43652 * term/i386/pc/console.c (grub_console_getwh): New function.
43653 (grub_console_term): New member `getwh'.
43654 * term/i386/pc/vga.c (grub_vga_getwh): New function.
43655 (grub_vga_term): New member `getwh'.
0b5abe02 43656 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 43657 grub_ssize_t.
43658 (grub_ofconsole_getw): New function.
43659 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
43660 (grub_ofconsole_term): New field named getwh and new initial
43661 value.
43662
3be7266d 436632005-08-03 Hollis Blanchard <hollis@penguinppc.org>
43664
43665 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
43666 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
43667 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
43668 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
43669 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
43670 of <grub/machine/ieee1275.h>.
43671 * commands/ieee1275/reboot.c: Likewise.
43672 * boot/powerpc/ieee1275/ieee1275.c: Move ...
43673 * kern/ieee1275.c: ... to here. All users updated. Change all
43674 parameter structs to use new type `grub_ieee1275_cell_t'.
43675 * term/powerpc/ieee1275/ofconsole.c: Move ...
43676 * term/ieee1275/ofconsole.c: ... to here. All users updated.
43677 * disk/powerpc/ieee1275/ofdisk.c: Move ...
43678 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
43679 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
43680 to return int.
43681 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
43682 Remove unused prototypes. All users updated.
43683 * include/grub/powerpc/ieee1275/console.h: Removed.
43684 * include/grub/powerpc/ieee1275/ieee1275.h: Define
43685 `grub_ieee1275_cell_t'.
43686 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
43687 Cast comparisons with -1 to the correct type.
43688 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
43689 type to match `grub_ieee1275_entry_fn'.
43690
8b5f3938 436912005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
43692
43693 * DISTLIST: Added util/i386/pc/grub-probefs.c.
43694
43695 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
43696 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
43697 partmap/sun.c.
43698 (grub_probefs_SOURCES): New variable.
43699
43700 * util/i386/pc/grub-probefs.c: New file.
43701
43702 * util/i386/pc/grub-setup.c (main): Call
43703 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
43704 grub_hfs_init and grub_jfs_init to initialize the system. Call
43705 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
43706 grub_pc_partition_map_fini to finish the system.
43707
ea409713 437082005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
43709
43710 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
43711 function.
43712 (grub_multiboot_load_elf32): Likewise.
43713 (grub_multiboot_is_elf64): Likewise.
43714 (grub_multiboot_load_elf64): Likewise.
43715 (grub_multiboot_load_elf): Likewise.
43716 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
43717 an ELF32 or ELF64 file.
43718 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
43719
43720 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
43721 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
43722 NULL before calling FS->LABEL.
43723 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
43724 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
43725 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
43726 before calling FS->LABEL.
43727
141a288b 437282005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
43729
43730 * util/i386/pc/grub-install.in (datadir): New variable.
43731 (libdir): Removed.
43732 (pkgdatadir): New variable.
43733 (pkglibdir): Removed.
43734
0d5f8a54 437352005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
43736
43737 * DISTLIST: Added util/i386/pc/grub-install.in.
43738
43739 * util/i386/pc/grub-install.in: New file.
43740
43741 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
43742 (grub_install_SOURCES): Likewise.
43743
43744 * genmk.rb: Added support for scripts.
43745 (Script): New class.
43746 (scripts): New variable.
43747
43748 * Makefile.in (install-local): Install sbin_SCRIPTS by
43749 INSTALL_SCRIPT.
43750 (uninstall): Remove sbin_SCRIPTS.
43751
43752 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
43753 device, try to get a GRUB device by
43754 grub_util_biosdisk_get_grub_dev.
43755 Free DEST_DEV.
43756
43757 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
43758 description for --device-map.
43759
5f968e1e 437602005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43761
43762 Change the semantics of variable hooks. They now return strings
43763 instead of error values.
f19dbdb7 43764
5f968e1e 43765 * util/i386/pc/grub-setup.c: Include grub/env.h.
43766 (setup): Use grub_device_set_root instead of grub_env_set.
43767
43768 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
43769 grub_env_get instead of grub_device_set_root and
43770 grub_device_get_root, respectively.
43771
43772 * kern/main.c (grub_env_write_root): New function.
43773 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
43774 grub_env_set instead of grub_device_set_root.
43775
43776 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
43777 many variables.
43778 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
43779 rather than calling ENV->WRITE_HOOK afterwards.
43780 (grub_env_get): Return the result of ENV->READ_HOOK rather than
43781 passing a pointer of a pointer.
43782 (grub_register_variable_hook): Change the types of "read_hook" and
43783 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
43784 respectively.
43785 Allocate the default empty string on the heap, because this string
43786 may be freed later.
43787
43788 * kern/device.c: Include grub/env.h.
43789 (grub_device_set_root): Removed.
43790 (grub_device_get_root): Likewise.
43791 (grub_device_open): Use grub_env_get instead of
43792 grub_device_get_root.
43793
43794 * include/grub/env.h (grub_env_read_hook_t): New type.
43795 (grub_env_write_hook_t): Likewise.
43796 (grub_env_var): Change the types of "read_hook" and "write_hook"
43797 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
43798 (grub_register_variable_hook): Likewise.
43799
43800 * include/grub/device.h (grub_device_set_root): Removed.
43801 (grub_device_set_root): Likewise.
43802
43803 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
43804 make sure that DIRNAME terminates with '/', so that
43805 grub_fat_find_dir will fail if PATH is not a directory.
43806
43807 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
43808 from DIRNAME.
43809 Use the qualifier auto for print_files and print_files_long.
43810 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
43811 as a regular file.
43812 Put a newline only if there is no error.
43813 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
43814 used.
43815
896f0afd 438162005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43817
43818 * kern/partition.c (grub_partition_probe): Initialize PART to
43819 NULL. Otherwise, when no partition map is registered, this returns
43820 a garbage.
43821
b28b81b2 438222005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
43823
43824 * partmap/apple.c (apple_partition_map_iterate): Check if POS
43825 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
43826 valid.
43827
5f3607e0 438282005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
43829
43830 * commands/ls.c (grub_ls_list_disks): Print the filesystem
43831 information on each device, if it does not have partitions. Print
43832 "Device" instead of "Disk", because this function is not specific
43833 to disk devices.
43834
43835 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
43836 static to ensure that it is put on the memory rather than a
43837 register.
43838
502c87e8 438392005-07-17 Yoshinori Okuji <okuji@enbug.org>
43840
43841 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
43842 (grub_cat_init): Likewise.
43843 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
43844 (options): Likewise.
43845 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
43846 (grub_configfile_init): Likewise.
43847 * font/manager.c (GRUB_MOD_INIT): Likewise.
43848 * commands/help.c (GRUB_MOD_INIT): Likewise.
43849 (grub_help_init): Likewise.
43850 * normal/command.c (grub_command_init): Likewise.
43851 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
43852 * disk/loopback.c (grub_loop_init): Likewise.
43853 (GRUB_MOD_INIT): Likewise.
43854 * commands/ls.c (grub_ls_init): Likewise.
43855 (GRUB_MOD_INIT): Likewise.
43856 (options): Likewise.
43857 * commands/boot.c (grub_boot_init): Likewise.
43858 (GRUB_MOD_INIT): Likewise.
43859 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
43860 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
43861 (GRUB_MOD_INIT): Likewise.
43862 * commands/cmp.c (grub_cmp_init): Likewise.
43863 (GRUB_MOD_INIT): Likewise.
43864
43865 * normal/arg.c: Use <> instead of "" to include header files.
43866 (SHORT_ARG_HELP): New macro.
43867 (SHORT_ARG_USAGE): Likewise.
43868 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
43869 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
43870 descriptions.
43871 (find_short): Check if C is 'h' or 'u' explicitly.
43872 (grub_arg_show_help): Use space characters instead of tabs. Treat
43873 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
43874 are shown with --help and --usage only if they are not used for
43875 the command itself.
43876 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
43877 'h' and 'u'.
43878
43879 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
43880 const into "longarg". Change the type of "shortarg" to int.
43881
f806d18e 438822005-07-17 Yoshinori Okuji <okuji@enbug.org>
43883
43884 * boot/i386/pc/boot.S (boot_drive_check): New label.
43885
43886 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
43887 macro.
43888
43889 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
43890 which do not pass a boot drive correctly. Copied from GRUB Legacy.
43891
e293232b 438922005-07-17 Yoshinori Okuji <okuji@enbug.org>
43893
43894 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
43895 When turning off Gate A20, skip the check and return immediately,
43896 because this is not fatal usually.
43897
ebedfd00 438982005-07-17 Yoshinori Okuji <okuji@enbug.org>
43899
43900 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
43901 be 0x7C00 instead of 0x8000.
43902
43903 * boot/i386/pc/pxeboot.S: Rewritten.
43904
43905 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
43906 EXT_C.
43907 (gate_a20_check_state): Read a byte from 0x108000. Invert the
43908 result.
43909
654fc59f 439102005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
43911
43912 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
43913 robustness. This routine now supports a BIOS call and System
43914 Control Port A to modify the gate A20.
43915
43916 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43917 Increased to 0x440.
43918
09f9923f 439192005-07-12 Hollis Blanchard <hollis@penguinppc.org>
43920
43921 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
43922 device path and resulting ihandle.
43923 (grub_ofdisk_close): dprintf the ihandle being closed.
43924 (grub_ofdisk_read): dprintf function parameters.
43925 * kern/mm.c (grub_mm_init_region): Likewise.
43926 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
43927 (grub_linux_boot): dprintf the Linux entry point, initrd address and
43928 size, and boot arguments.
43929 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
43930 before loading into memory.
43931 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
43932 before loading into memory.
43933
7ef504d8 439342005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
43935
43936 * kern/mm.c: Added much documentation.
43937 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
43938 8, set to 5 instead of 8.
43939
e0f050c2 439402005-07-10 Yoshinori Okuji <okuji@enbug.org>
43941
43942 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
43943
43944 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
43945 (grub_mkdevicemap_SOURCES): New variable.
43946
43947 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
43948 lib/device.c of GRUB Legacy.
43949
7224189a 439502005-07-10 Yoshinori Okuji <okuji@enbug.org>
43951
43952 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
43953 instead of PATH is NULL.
43954
68c864eb 439552005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
43956
43957 * commands/cmp.c (BUFFER_SIZE): New macro.
43958 (grub_cmd_cmp): Close the right file at the right time. Compare
43959 only data just read. Don't report files of different size as
43960 identical. Dynamically allocate buffers. Move variable
43961 declarations at the beginning of function.
43962
e6f3e614 439632005-07-09 Yoshinori Okuji <okuji@enbug.org>
43964
43965 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
43966 reverse.
43967
f8f1559a 439682004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
43969
43970 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
43971 when backspace is pressed at beginning of line.
43972
39c9d41d 439732005-07-03 Yoshinori Okuji <okuji@enbug.org>
43974
43975 * DISTLIST: Added genfslist.sh.
43976
43977 * normal/main.c (fs_module_list): New variable.
43978 (autoload_fs_module): New function.
43979 (read_fs_list): Likewise.
43980 (grub_normal_execute): Call read_fs_list.
43981
43982 * kern/fs.c (grub_fs_autoload_hook): New variable.
43983 (grub_fs_probe): Added support for auto-loading.
43984
43985 * include/grub/normal.h (struct grub_fs_module_list): New struct.
43986 (grub_fs_module_list_t): New type.
43987
43988 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
43989 (grub_fs_autoload_hook): New prototype.
43990
43991 * genfslist.sh: New file.
f19dbdb7 43992
39c9d41d 43993 * genmk.rb: Added a rule to generate a filesystem list.
43994
121c1d83 439952005-06-30 Marco Gerards <metgerards@student.han.nl>
43996
43997 * configure.ac: Fix the test for cross-compiling.
43998
43999 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44000 define GRUB_UTIL anymore.
44001
44002 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44003 so this function works on other systems than just big endian.
44004 (load_modules): Likewise.
44005 (add_segments): Likewise.
44006
e75d76e1 440072005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44008
44009 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44010 contains `l' modifier, get a long from va_arg().
44011
50b5a0a7 440122005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44013
44014 * kern/mm.c (grub_free): If the next free block which is being
44015 merged is the first free block, set the first block to the block
44016 being freed.
44017 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44018
89371b20 440192005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44020
44021 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44022 `grub_ieee1275_chosen'.
44023
168d6e58 440242005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44025
44026 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44027 (grub_ieee1275_chosen): New variable.
44028 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44029 `chosen'.
44030 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44031 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44032 Rename first argument to `phandle' for consistency.
44033 (grub_ieee1275_get_property_length): Likewise.
44034 (grub_ieee1275_next_property): Likewise. Change type of first argument
44035 to grub_ieee1275_phandle_t.
44036 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44037 Move export next to declaration.
44038 (grub_ieee1275_chosen): New variable.
44039 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44040 Correct cosmetic typo.
44041 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44042 `grub_ieee1275_chosen'.
44043 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44044 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44045 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44046 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44047 `grub_ieee1275_chosen'.
44048
ca5baa3f 440492005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44050
44051 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44052 /chosen/bootargs.
44053 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44054 /chosen/bootargs as "variable=value" pairs.
44055
708b345f 440562005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44057
44058 * include/grub/misc.h (grub_dprintf): New macro.
44059 (grub_real_dprintf): New prototype.
44060 (grub_strword): Likewise.
44061 (grub_iswordseparator): Likewise.
44062 * kern/misc.c (grub_real_dprintf): New function.
44063 (grub_strword): Likewise.
44064 (grub_iswordseparator): Likewise.
44065
f4c5e67c 440662005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44067
44068 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44069 (roundup): Remove macro.
44070 (grub_ieee1275_flags): Make static.
44071 (grub_ieee1275_realmode): Remove.
44072 (grub_ieee1275_test_flag): New function.
44073 (grub_ieee1275_set_flag): Likewise.
44074 (find_options): Rename to `grub_ieee1275_find_options'; update
44075 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44076 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44077 (cmain): New prototype.
44078 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44079 `grub_ieee1275_flags' directly.
44080 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44081 machine/biosdisk.h.
44082 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44083 Don't include grub/machine/init.h.
44084 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44085 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44086 Remove prototype.
44087 (grub_ieee1275_realmode): Likewise.
44088 (grub_ieee1275_flag): New enum.
44089 (grub_ieee1275_test_flag): New prototype.
44090 (grub_ieee1275_set_flag): New prototype.
44091 * include/grub/powerpc/ieee1275/init.h: Remove file.
44092 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44093 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44094 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44095 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44096 comment.
44097 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44098 `grub_ieee1275_test_flag'.
44099 (grub_ieee1275_encode_devname): Likewise.
44100
ed16607e 441012005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44102
44103 * include/grub/powerpc/ieee1275/ieee1275.h
44104 (grub_ieee1275_encode_devname): New prototype.
44105 (grub_ieee1275_get_filename): Likewise.
44106 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44107 function.
44108 (grub_set_prefix): Likewise.
44109 (grub_machine_init): Call grub_set_prefix.
44110 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44111 (grub_parse_type): New enum.
44112 (grub_ieee1275_get_devargs): New function.
44113 (grub_ieee1275_get_devname): Likewise.
44114 (grub_ieee1275_parse_args): Likewise.
44115 (grub_ieee1275_get_filename): Likewise.
44116 (grub_ieee1275_encode_devname): Likewise.
44117
be369920 441182005-03-30 Marco Gerards <metgerards@student.han.nl>
44119
44120 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44121 `grub_loader_unset'.
44122
a5ce3a4a 441232005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44124
44125 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44126 instead of grub_ieee1275_interpret.
44127 (grub_halt_init): New function.
44128 (grub_halt_fini): Likewise.
44129 (GRUB_MOD_INIT): Correct message grammar.
44130 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44131 instead of grub_ieee1275_interpret.
44132 (grub_reboot_init): New function.
44133 (grub_reboot_fini): Likewise.
44134 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44135 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44136 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44137 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44138 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44139 function.
44140 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44141 Add prototype.
44142 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44143 prototype.
44144 (grub_halt): Likewise.
44145 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44146 (cmain): Remove __attribute__((unused)).
44147 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44148 (grub_heap_len): Likewise.
44149 (grub_machine_fini): New function.
44150 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44151 (grub_halt): Likewise.
44152 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44153 function.
44154 * util/powerpc/ieee1275/misc.c: New file.
44155
0058f771 441562005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44157
44158 * DISTLIST: New file.
44159 * gendistlist.sh: Likewise.
f19dbdb7 44160
0058f771 44161 * Makefile.in (COMMON_DISTFILES): Removed.
44162 (BOOT_DISTFILES): Likewise.
44163 (CONF_DISTFILES): Likewise.
44164 (DISK_DISTFILES): Likewise.
44165 (FS_DISTFILES): Likewise.
44166 (INCLUDE_DISTFILES): Likewise.
44167 (KERN_DISTFILES): Likewise.
44168 (LOADER_DISTFILES): Likewise.
44169 (TERM_DISTFILES): Likewise.
44170 (UTIL_DISTFILES): Likewise.
44171 (DISTFILES): Likewise.
44172 (uninstall): Uninstall files in $(pkgdata_DATA).
44173 (DISTLIST): New target.
44174 (distdir): Use the contents of the file DISTLIST to get a list of
44175 distributed files.
44176
46b3b8a5 441772005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44178
44179 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44180 descriptor. This is ported from GRUB Legacy.
44181
44182 * gencmdlist.sh: Added an extra semicolon to make it work with
44183 old sed versions. Reported by Robert Bihlmeyer
44184 <robbe@orcus.priv.at>.
44185
5822ff87 441862005-03-08 Yoshinori Okuji <okuji@enbug.org>
44187
44188 Automatic loading of commands is supported.
f19dbdb7 44189
5822ff87 44190 * normal/main.c (read_command_list): New function.
44191 (grub_normal_execute): Call read_command_list.
44192
44193 * normal/command.c (grub_register_command): Return zero or CMD.
44194 Allocate CMD->NAME from the heap.
44195 Initialize CMD->MODULE_NAME to zero.
44196 Find the same name as well. If the same command is found and it is
44197 a dummy command, overwrite members. If it is not a dummy command,
44198 return zero.
44199 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44200 (grub_command_find): If a dummy command is found, load a module
44201 and retry to find a command only once.
44202
44203 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44204 make sure that each command is loaded.
44205
44206 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44207 macro.
44208 (struct grub_command): Remove const from the member `name'.
44209 Add a new member `module_name'.
44210 (grub_register_command): Return grub_command_t.
44211
44212 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44213 sure that each command is loaded.
44214
44215 * genmk.rb (PModule::rule): Specify a module name without the
44216 suffix ".mod" to gencmdlist.sh.
44217
7b1f4b57 442182005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44219
44220 * gencmdlist.sh: New file.
f19dbdb7 44221
7b1f4b57 44222 * genmk.rb (PModule::rule): Generate a rule for a command list.
44223 Clean command.lst.
44224 Generate command.lst from $(COMMANDFILES).
44225
44226 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44227 (DATA): Added $(pkgdata_DATA).
44228 (install-local): Install files in $(pkgdata_DATA).
44229
062aaf39 442302005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44231
44232 * term/i386/pc/vga.c (debug_command): Removed.
44233 (GRUB_MOD_INIT): Do not register the command "debug".
44234
44235 From Hollis Blanchard:
44236 * commands/configfile.c: New file.
44237 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44238 commands/configfile.c.
44239 (pkgdata_MODULES): Added configfile.mod.
44240 (configfile_mod_SOURCES): New variable.
44241 (configfile_mod_CFLAGS): Likewise.
44242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44243 commands/configfile.c.
44244 (pkgdata_MODULES): Added configfile.mod.
44245 (configfile_mod_SOURCES): New variable.
44246 (configfile_mod_CFLAGS): Likewise.
44247 * util/grub-emu.c (main): Call grub_configfile_init and
44248 grub_configfile_fini.
44249 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44250 prototype.
44251 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 44252
cee01aa6 442532005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44254
44255 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44256 address.
44257
44258 * commands/help.c (grub_cmd_help): Do not print newlines after
44259 the last command in print_command_help.
44260
93f3a1d8 442612005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44262
44263 * commands/default.h: New file.
44264 * commands/timeout.h: Likewise.
44265 * normal/context.c: Likewise.
f19dbdb7 44266
93f3a1d8 44267 * util/misc.c: Do not include sys/times.h.
44268 Include sys/time.h and grub/machine/time.h.
44269 (grub_get_rtc): Rewritten with gettimeofday.
44270
44271 * util/grub-emu.c (main): Call grub_default_init and
44272 grub_timeout_init before grub_normal_init, and call
44273 grub_timeout_fini and grub_default_fini after grub_main.
44274
44275 * util/console.c (grub_ncurses_checkkey): Return the read
44276 character or -1.
44277
44278 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44279 timeouts.
44280
44281 * normal/main.c (read_config_file): Push MENU. If this fails,
44282 print an error and wait for a user input.
44283 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44284 If a menu is empty or an error occurs, pop MENU.
44285 (grub_normal_execute): Pop and free MENU after grub_menu_run
44286 returns.
44287
44288 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44289
44290 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44291 include time.h.
44292 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44293 without GRUB_UTIL.
44294 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44295 time.h.
44296 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44297 without GRUB_UTIL.
44298
44299 * include/grub/normal.h (struct grub_menu_list): New struct.
44300 (grub_menu_list_t): New type.
44301 (struct grub_context): New struct.
44302 (grub_context_t): New type.
44303 (grub_register_command): Got rid of EXPORT_FUNC.
44304 (grub_unregister_command): Likewise.
44305 (grub_context_get): New prototype.
44306 (grub_context_get_current_menu): Likewise.
44307 (grub_context_push_menu): Likewise.
44308 (grub_context_pop_menu): Likewise.
44309 [GRUB_UTIL] (grub_default_init): Likewise.
44310 [GRUB_UTIL] (grub_default_fini): Likewise.
44311 [GRUB_UTIL] (grub_timeout_init): Likewise.
44312 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44313
44314 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44315 commands/timeout.c and normal/context.c.
44316 (pkgdata_MODULES): Added default.mod and timeout.mod.
44317 (normal_mod_SOURCES): Added normal/context.c.
44318 (default_mod_SOURCES): New variable.
44319 (default_mod_CFLAGS): Likewise.
44320 (timeout_mod_SOURCES): Likewise.
44321 (timeout_mod_CFLAGS): Likewise.
44322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44323 conf/i386-pc.rmk.
44324 (pkgdata_MODULES): Added default.mod and timeout.mod.
44325 (normal_mod_SOURCES): Added normal/context.c.
44326 (default_mod_SOURCES): New variable.
44327 (default_mod_CFLAGS): Likewise.
44328 (timeout_mod_SOURCES): Likewise.
44329 (timeout_mod_CFLAGS): Likewise.
44330
44331 * Makefile.in (all-local): Added $(MKFILES).
44332
4ed2e1dd 443332005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44334
44335 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44336 (grub_emu_SOURCES): Likewise.
44337 (pkgdata_MODULES): Add `sun.mod'.
44338 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44339 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44340 `partmap/sun.c'.
44341 (pkgdata_MODULES): Add `sun.mod'.
44342 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44343 * include/grub/partition.h (grub_sun_partition_map_init): New
44344 prototype.
44345 (grub_sun_partition_map_fini): Likewise.
44346 * partmap/sun.c: New file.
44347 * util/grub-emu.c (main): Initialize and de-initialize the sun
44348 partitionmap support.
44349
4d4e372e 443502005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44351
44352 This implements an Emacs-like menu entry editor.
f19dbdb7 44353
4d4e372e 44354 * normal/menu_entry.c: New file.
f19dbdb7 44355
4d4e372e 44356 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44357 characters to ASCII.
44358 (saved_char): New variable.
44359 (grub_ncurses_checkkey): Rewritten completely.
44360 (grub_ncurses_getkey): Likewise.
44361 (grub_ncurses_init): Call raw instead of cbreak.
44362
44363 * normal/menu.c (print_entry): Do not put a space.
44364 (init_page): Renamed to ...
44365 (grub_menu_init_page): ... this. All callers changed.
44366 (edit_menu_entry): Removed.
44367 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44368
44369 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44370
44371 * kern/misc.c (grub_vprintf): Call grub_refresh.
44372
44373 * normal/menu.c (DISP_LEFT): Renamed to ...
44374 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44375 * normal/menu.c (DISP_UP): Renamed to ...
44376 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44377 * normal/menu.c (DISP_RIGHT): Renamed to ...
44378 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44379 * normal/menu.c (DISP_DOWN): Renamed to ...
44380 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44381 * normal/menu.c (DISP_HLINE): Renamed to ...
44382 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44383 * normal/menu.c (DISP_VLINE): Renamed to ...
44384 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44385 * normal/menu.c (DISP_UL): Renamed to ...
44386 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44387 * normal/menu.c (DISP_UR): Renamed to ...
44388 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44389 * normal/menu.c (DISP_LL): Renamed to ...
44390 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44391 * normal/menu.c (DISP_LR): Renamed to ...
44392 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44393 * normal/menu.c (TERM_WIDTH): Renamed to ...
44394 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44395 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44396 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44397 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44398 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44399 * normal/menu.c (TERM_MARGIN): Renamed to ...
44400 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44401 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44402 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44403 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44404 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44405 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44406 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44407 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44408 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44409 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44410 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44411 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44412 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44413 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44414 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44415 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44416 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44417 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44418 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44419 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44420 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44421 All callers changed.
44422
44423 * include/grub/normal.h: New prototype.
44424
44425 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44426 normal/menu_entry.c.
44427 (normal_mod_SOURCES): Likewise.
44428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44429 (normal_mod_SOURCES): Likewise.
44430
e6b92c8a 444312005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44432
44433 * include/grub/normal.h (grub_halt_init): New prototype.
44434 (grub_halt_fini): Likewise.
44435 (grub_reboot_init): Likewise.
44436 (grub_reboot_fini): Likewise.
44437
44438 * util/grub-emu.c: Include signal.h.
44439 (main_env): New global variable.
44440 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44441 catch C-c.
44442 (grub_machine_fini): New function.
44443 (main): Call grub_halt_init and grub_reboot_init before
44444 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44445 Call setjmp with MAIN_ENV to go back afterwards.
44446 Call grub_machine_fini right before return.
44447
44448 * include/grub/util/misc.h: Include setjmp.h.
44449 (main_env): New prototype.
44450
44451 * include/grub/kernel.h (grub_machine_fini): New prototype.
44452 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44453 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44454
44455 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44456 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44457 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 44458
e6b92c8a 44459 * util/i386/pc/misc.c: New file.
f19dbdb7 44460
e6b92c8a 44461 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44462 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44463 commands/i386/pc/reboot.c.
44464
c642636f 444652005-02-14 Guillem Jover <guillem@hadrons.org>
44466
44467 * include/grub/dl.h (grub_dl_check_header): New prototype.
44468 (grub_arch_dl_check_header): Change return type to grub_err_t,
44469 remove size parameter and export function. Update all callers.
44470 * kern/dl.c (grub_dl_check_header): New function.
44471 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44472 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44473 are inside the core.
44474 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44475 independent ELF header checks.
44476 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44477 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44478 `grub_dl_check_header' instead of explicit checks. Check for the
44479 ELF type.
44480 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44481 `grub_dl_check_header' instead of explicit checks. Remove arch
44482 specific ELF header checks.
44483
e6b92c8a 44484 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44485 argument SIZE.
44486
5eabe94b 444872005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44488
44489 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44490 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44491
1b14a681 444922005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44493
44494 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 44495 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 44496 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 44497 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 44498 * partmap/amiga.c (amiga_partition_map_iterate): Return
44499 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44500 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44501
aca108aa 445022005-02-01 Guillem Jover <guillem@hadrons.org>
44503
44504 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44505 help info.
44506
c9f9c556 445072005-01-31 Marco Gerards <metgerards@student.han.nl>
44508
44509 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44510 Removed prototype.
44511 (grub_rescue_cmd_linux): New prototype.
44512 (grub_rescue_cmd_initrd): Likewise.
44513 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44514 `bi_rec'.
44515 (grub_linux_release_mem): Release the memory for the initrd.
44516 (grub_load_linux): Renamed from this...
44517 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44518 Changed `entry' not to be static. Loop over memory regions to
44519 find another one when the default fails.
44520 (grub_rescue_cmd_initrd): New function.
44521 (grub_linux_init): Remove function.
44522 (grub_linux_fini): Likewise.
44523 (GRUB_MOD_INIT): Register `initrd'.
44524 (GRUB_MOD_FINI): Unregister `initrd'.
44525 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44526 Function removed.
44527 (grub_linux_normal_fini): Likewise.
44528 (GRUB_MOD_INIT): Register `initrd'.
44529 (GRUB_MOD_FINI): Unregister `initrd'.
44530
990cf3aa 445312005-01-31 Marco Gerards <metgerards@student.han.nl>
44532
44533 * commands/help.c: New file.
44534 * normal/arg.c (show_help): Renamed to...
44535 (grub_arg_show_help): ... this.
44536 * commands/i386/pc/halt.c: New file.
44537 * commands/i386/pc/reboot.c: Likewise.
44538 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44539 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44540 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44541 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44542 variables.
44543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44544 `commands/help.c'.
44545 (pkgdata_MODULES): Add `help.mod'.
44546 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44547 * grub/i386/pc/init.h (grub_reboot): New prototype.
44548 (grub_halt): Likewise.
44549 * include/grub/normal.h (grub_arg_show_help): New prototype.
44550 (grub_help_init): Likewise.
44551 (grub_help_fini): Likewise.
44552 * util/grub-emu.c (main): Initialize and deinitialize the help
44553 command.
44554
44555 * normal/cmdline.c (grub_cmdline_get): Doc fix.
44556
44557 * normal/command.c (grub_command_init): Fixed the description of
44558 the `set' and `unset' commands.
44559
445602005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 44561
44562 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
44563 function.
44564 * commands/ieee1275/halt.c: New file.
44565 * commands/ieee1275/reboot.c: Likewise.
44566 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
44567 `__attribute__ ((unused))'. Some GCS related fixed.
44568 (grub_suspend_init) [GRUB_UTIL]: Function removed.
44569 (grub_suspend_fini): Likewise.
44570 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
44571 and `halt.mod'.
44572 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
44573 (halt_mod_CFLAGS): New variables.
44574 * include/grub/powerpc/ieee1275/ieee1275.h
44575 (grub_ieee1275_interpret): New prototype.
44576
1ab09cc7 445772005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
44578
44579 * include/grub/misc.h (memmove): New prototype.
44580 (memcpy): Likewise.
44581
8b8cbdb2 445822005-01-22 Hollis Blanchard <hollis@penguinppc.org>
44583
44584 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
44585 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
44586
e3741a27 445872005-01-22 Marco Gerards <metgerards@student.han.nl>
44588
44589 * kern/misc.c (grub_strndup): Function rewritten.
44590
776bd780 445912005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
44592
44593 * normal/menu.c (TERM_WIDTH): Macro redefined.
44594 (TERM_TOP_BORDER_Y): Likewise.
44595 (draw_border): Replaced while-loop by a for-loop. Make the number
44596 of lines consistent with the number of lines displayed in
44597 print_entries. Added a margin below the rectangle.
44598 (print_entry): Make the entry fit in the rectangle.
44599 (print_entries): Display the scroll arrows next to the right
44600 border.
44601
78026bce 446022005-01-21 Marco Gerards <metgerards@student.han.nl>
44603
44604 * fs/minix.c (grub_minix_find_file): Reserve more space for
44605 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
44606 `grub_strncpy' to copy `path' into it.
44607
67bbaf0f 446082005-01-21 Marco Gerards <metgerards@student.han.nl>
44609
44610 Add the loopback device, a device via which files can be accessed
44611 as devices.
f19dbdb7 44612
67bbaf0f 44613 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
44614 (pkgdata_MODULES): Add loopback.mod.
44615 (loopback_mod_SOURCES): New variable.
44616 (loopback_mod_CFLAGS): Likewise.
44617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44618 `disk/loopback.c'.
44619 (pkgdata_MODULES): Add loopback.mod.
44620 (loopback_mod_SOURCES): New variable.
44621 (loopback_mod_CFLAGS): Likewise.
44622 * disk/loopback.c: new file.
44623 * include/grub/normal.h (grub_loop_init): New prototype.
44624 (grub_loop_fini): New prototype.
44625 * util/grub-emu.c (main): Initialize and de-initialize loopback
44626 support.
44627 * include/grub/disk.h (grub_disk_dev_id): Add
44628 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
44629
6f1c18bd 446302005-01-20 Hollis Blanchard <hollis@penguinppc.org>
44631
44632 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
44633 function.
44634 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
44635 (suspend_mod_SOURCES): New variable.
44636 (suspend_mod_CFLAGS): Likewise.
44637 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
44638 New prototype.
44639 * commands/ieee1275/suspend.c: New file.
44640
b38551da 446412005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44642
44643 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 44644 ((unused))' to `__attribute__ ((used))'.
b38551da 44645 (GRUB_MOD_FINI): Likewise.
44646 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
44647 * genmk.rb (PModule): Assign space to common symbols when linking
44648 modules.
44649
777aff39 446502005-01-20 Marco Gerards <metgerards@student.han.nl>
44651
44652 * include/grub/mm.h (grub_mm_init_region): Change the type of the
44653 `unsigned' arguments to `grub_size_t'.
44654 (grub_malloc): Likewise.
44655 (grub_realloc): Likewise.
44656 (grub_memalign): Likewise.
44657 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
44658 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44659 * util/misc.c (grub_malloc): Likewise.
44660 (grub_realloc): Likewise.
44661 * kern/mm.c (get_header_from_pointer): Change the casts to
44662 `unsigned' into a cast to `grub_size_t'.
44663
44664 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
44665 point to `currnode' when `currnode' is changed.
44666
44667 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
44668 Schottelius <nico-linux@schottelius.org>.
44669
d0ff18e1 446702005-01-09 Hollis Blanchard <hollis@penguinppc.org>
44671
44672 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
44673 (note_path): Remove variable.
44674 (GRUB_IEEE1275_NOTE_NAME): New macro.
44675 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
44676 (grub_ieee1275_note_hdr): New structure.
44677 (grub_ieee1275_note_desc): Likewise.
44678 (grub_ieee1275_note): Likewise.
44679 (load_note): Remove `dir' argument. All callers updated. Remove
44680 `note_img' and `path'. Do not load a file from `note_path'.
44681 Initialize a struct grub_ieee1275_note and write that to `out'.
44682 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
44683
4ca7004c 446842005-01-05 Marco Gerards <metgerards@student.han.nl>
44685
44686 * util/misc.c (grub_util_read_image): Revert last change. It
44687 called `grub_util_read_at', which seeks from the beginning of the
44688 file.
44689
0b412211 446902005-01-04 Hollis Blanchard <hollis@penguinppc.org>
44691
44692 * TODO: Add note about endianness in grub-mkimage.
44693 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
44694 section.
44695 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
44696 (grub_mkimage_SOURCES): New target.
44697 * include/grub/kernel.h (grub_start_addr): Remove variable.
44698 (grub_end_addr): Likewise.
44699 (grub_total_module_size): Likewise.
44700 (grub_kernel_image_size): Likewise.
44701 (GRUB_MODULE_MAGIC): New constant.
44702 (grub_module_info): New structure.
44703 (grub_arch_modules_addr): New prototype.
44704 (grub_get_end_addr): Remove prototype.
44705 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
44706 * include/grub/powerpc/ieee1275/kernel.h: New file.
44707 * include/grub/util/misc.h (grub_util_get_fp_size): New
44708 prototype.
44709 (grub_util_read_at): Likewise.
44710 (grub_util_write_image_at): Likewise.
44711 * kern/main.c (grub_get_end_addr): Remove function.
44712 (grub_load_modules): Call grub_arch_modules_addr instead of using
44713 grub_end_addr. Look for a grub_module_info struct in memory. Use
44714 the grub_module_info fields instead of calling grub_get_end_addr
44715 as loop conditions. Move grub_add_unused_region code here.
44716 (grub_add_unused_region): Remove function.
44717 * kern/i386/pc/init.c: Include grub/cache.h.
44718 (grub_machine_init): Remove call to grub_get_end_addr. Remove
44719 one call to add_mem_region.
44720 (grub_arch_modules_addr): New function.
44721 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
44722 (grub_total_module_size): Likewise.
44723 Include grub/machine/kernel.h.
44724 (grub_arch_modules_addr): New function.
44725 * util/grub-emu.c (grub_end_addr): Remove variable.
44726 (grub_total_module_size): Likewise.
44727 (grub_arch_modules_addr): New function.
44728 * util/misc.c: Include unistd.h.
44729 (grub_util_get_fp_size): New function.
44730 (grub_util_read_at): Likewise.
44731 (grub_util_write_image_at): Likewise.
44732 (grub_util_read_image): Call grub_util_read_at.
44733 (grub_util_write_image): Call grub_util_write_image_at.
44734 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
44735 additional memory in kernel_img for a struct grub_module_info.
44736 Fill in that grub_module_info.
44737 * util/powerpc/ieee1275/grub-mkimage.c: New file.
44738
458786f8 447392005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44740
44741 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
44742 New function.
44743 * include/grub/powerpc/ieee1275/ieee1275.h
44744 (grub_ieee1275_milliseconds): New prototype.
44745 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
44746 Change to 1000.
44747 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
44748 grub_ieee1275_milliseconds.
44749
ac507d1b 447502005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44751
44752 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
44753 variable.
44754 (find_options): New function.
44755 (cmain): Call find_options.
44756 * include/grub/powerpc/ieee1275/ieee1275.h
44757 (grub_ieee1275_realmode): New extern variable.
44758 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
44759 grub_map if grub_ieee1275_realmode is false.
44760
6b8fd1c4 447612004-12-29 Marco Gerards <metgerards@student.han.nl>
44762
44763 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
44764 lines are inserted and make it work like readline. Reported by
44765 Vincent Pelletier <subdino2004@yahoo.fr>.
44766
8514a1e0 447672004-12-28 Marco Gerards <metgerards@student.han.nl>
44768
44769 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
44770
44771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
44772 `kern/powerpc/cache.S'.
44773
924b6140 447742004-12-27 Marco Gerards <metgerards@student.han.nl>
44775
44776 * genmk.rb: Handle the `Program' class in the main loop. Written
44777 by Johan Rydberg <jrydberg@gnu.org>.
44778 (Program): New class.
44779 (programs): New variable.
44780 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
44781 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
44782 instead of "grub/kernel.h". Include <grub/machine/init.h>.
44783 (help_arch): Function removed.
44784 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
44785 `powerpc/libgcc.h' and `loader.h'.
44786 (pkgdata_PROGRAMS): New variable.
44787 (sbin_UTILITIES): Variable removed.
44788 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
44789 (grubof_SOURCES): Variable re-defined so it only includes the
44790 core functionality.
44791 (grubof_CFLAGS): Remove `-DGRUBOF'.
44792 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
44793 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
44794 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
44795 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
44796 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
44797 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
44798 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
44799 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
44800 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
44801 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
44802 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44803 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
44804 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
44805 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
44806 (pc_mod_CFLAGS): New variables.
44807 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
44808 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
44809 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
44810 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
44811 Moved from here...
44812 * include/grub/i386/pc/init.h (grub_os_area_addr)
44813 (rub_os_area_size): ... to here.
44814 * include/grub/powerpc/ieee1275/ieee1275.h
44815 (grub_ieee1275_entry_fn): Export symbol.
44816 * include/grub/powerpc/ieee1275/init.h: New file.
44817 * include/grub/powerpc/libgcc.h: Likewise.
44818 * include/grub/cache.h: Likewise.
44819 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
44820 <hollis@penguinppc.org>.
44821 * kern/dl.c: Include <grub/cache.h>.
44822 (grub_dl_flush_cache): New function.
44823 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
44824 for this module.
44825 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
44826 (grub_console_init): Removed prototypes.
44827 (grub_machine_init): Don't initialize the modules anymore.
44828 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
44829 static.
44830 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
44831 Macro undef removed.
44832 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
44833 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
44834 relocation `R_PPC_REL32'. Return an error when the relocation is
44835 unknown.
44836 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
44837 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
44838 * util/misc.c (grub_arch_sync_caches): Likewise.
44839
e4b47e0c 448402004-12-19 Marco Gerards <metgerards@student.han.nl>
44841
44842 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
44843 `symlist.c', add `grubof_symlist.c'.
44844 (symlist.c): Variable removed.
44845 (grubof_HEADERS): Variable added.
44846 (grubof_symlist.c): New target.
44847 (kernel_syms.lst): Use `grubof_HEADERS' instead of
44848 `kernel_img_HEADERS'.
44849 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
44850 * kern/powerpc/dl.c: New file.
44851 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
44852 Function removed.
44853 (grub_arch_dl_relocate_symbols): Likewise.
44854 (grub_register_exported_symbols): Likewise.
44855
4ceb3636 448562004-12-13 Marco Gerards <metgerards@student.han.nl>
44857
44858 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
44859 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
44860 to fail instead. Reported by Vincent Pelletier
44861 <subdino2004@yahoo.fr>.
44862
44863 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
44864 it is not allocated. Reported by Vincent Pelletier
44865 <subdino2004@yahoo.fr>.
44866
44867 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
44868 output so the output looks better.
f19dbdb7 44869
3f1578fe 448702004-12-04 Marco Gerards <metgerards@student.han.nl>
44871
44872 Modulize the partition map support and add support for the amiga
44873 partition map.
f19dbdb7 44874
3f1578fe 44875 * commands/ls.c: Include <grub/partition.h> instead of
44876 <grub/machine/partition.h>.
44877 * kern/disk.c: Likewise.
44878 * kern/rescue.c: Likewise.
44879 * loader/i386/pc/chainloader.c: Likewise.
44880 * normal/cmdline.c: Likewise.
44881 * kern/powerpc/ieee1275/init.c: Likewise.
44882 (grub_machine_init): Call `grub_pc_partition_map_init',
44883 `grub_amiga_partition_map_init' and
44884 `grub_apple_partition_map_init'.
44885 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
44886 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
44887 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
44888 `partition.h' and `pc_partition.h'.
44889 (grub_setup_SOURCES): Remove
44890 `disk/i386/pc/partition.c'. Add `kern/partition.c',
44891 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44892 (grub_emu_SOURCES): Likewise.
44893 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
44894 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
44895 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
44896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44897 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
44898 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44899 (grubof_SOURCES): Likewise.
44900 * disk/i386/pc/partition.c: File removed.
44901 * disk/powerpc/ieee1275/partition.c: Likewise.
44902 * include/grub/powerpc/ieee1275/partition.h: Likewise.
44903 * include/grub/i386/pc/partition.h: Likewise.
44904 * kern/partition.c: New file.
44905 * partmap/amiga.c: Likewise.
44906 * partmap/apple.c: Likewise.
44907 * partmap/pc.c: Likewise.
44908 * include/grub/partition.h: Likewise..
44909 * include/grub/pc_partition.h: Likewise.
44910 * util/grub-emu.c: Include <grub/partition.h> instead of
44911 <grub/machine/partition.h>.
44912 (main): Call `grub_pc_partition_map_init',
44913 `grub_amiga_partition_map_init' and
44914 `grub_apple_partition_map_init' and deinitialize afterwards.
44915 * util/i386/pc/biosdisk.c: Include `#include
44916 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44917 `<grub/machine/partition.h>'.
44918 * util/i386/pc/grub-setup.c: Likewise.
44919 * util/i386/pc/biosdisk.c: Likewise.
44920 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
44921 partition information in case of a PC partition.
44922 * util/i386/pc/grub-setup.c: Include `#include
44923 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44924 `<grub/machine/partition.h>'.
44925 (setup): Only access the PC specific partition information in case
44926 of a PC partition.
44927
0ef4ced9 449282004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 44929
0ef4ced9 44930 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
44931 (grub_longjmp): Likewise.
44932 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
44933 20.
44934 * normal/powerpc/setjmp.S: New file.
44935 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44936 `normal/powerpc/setjmp.S'.
44937 (grubof_CFLAGS): Add `-DGRUBOF'.
44938 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
44939 [GRUB_UTIL && !GRUBOF].
f19dbdb7 44940
19950e29 449412004-11-16 Marco Gerards <metgerards@student.han.nl>
44942
44943 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
44944 property named `name'. Correctly handle the error returned by
44945 `grub_ieee1275_finddevice' if a device can not be opened.
44946
a2fea427 449472004-11-02 Hollis Blanchard <hollis@penguinppc.org>
44948
44949 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
44950 `actual' for negativity.
44951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44952 kern/fshelp.c.
44953
41ea0ea3 449542004-11-01 Marco Gerards <metgerards@student.han.nl>
44955
44956 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
44957 (PAGE_OFFSET): New macro.
44958 (CRTC_ADDR_PORT): Likewise.
44959 (CRTC_DATA_PORT): Likewise.
44960 (START_ADDR_HIGH_REGISTER): Likewise.
44961 (START_ADDR_LOW_REGISTER): Likewise.
44962 (GRAPHICS_ADDR_PORT): Likewise.
44963 (GRAPHICS_DATA_PORT): Likewise.
44964 (READ_MAP_REGISTER): Likewise.
44965 (INPUT_STATUS1_REGISTER): Likewise.
44966 (INPUT_STATUS1_VERTR_BIT): Likewise.
44967 (page): New variable.
44968 (wait_vretrace): New function.
44969 (set_read_map): Likewise.
44970 (set_start_address): Likewise.
44971 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
44972 the right page.
44973 (check_vga_mem): Take the page into account.
44974 (write_char): Likewise.
44975 (write_cursor): Likewise.
44976 (scroll_up): Likewise. Copy the page to the page that is not
44977 shown and switch between both pages.
44978 (grub_vga_putchar): Fix off by one error.
44979 (grub_vga_cls): Wait for the vertical retrace. Take the page into
44980 account.
44981
ad0bd20b 449822004-11-01 Marco Gerards <metgerards@student.han.nl>
44983
44984 Add support for iso9660 (including rockridge).
f19dbdb7 44985
ad0bd20b 44986 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44987 (iso9660_mod_SOURCES): New variable.
44988 (iso9660_mod_CFLAGS): Likewise.
44989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44990 * include/grub/fs.h (grub_iso9660_init): New prototype.
44991 * util/grub-emu.c (main): Call `grub_iso9660_init'.
44992 * fs/iso9660.c: New file.
44993
44994 * include/grub/misc.h (grub_strncat): New prototype.
44995 * kern/misc.c (grub_strncat): New function.
f19dbdb7 44996
ad0bd20b 44997 * fs/hfs.c (grub_hfs_mount): Translate the error
44998 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
44999 * fs/jfs.c (grub_jfs_mount): Likewise.
45000 * fs/ufs.c (grub_ufs_mount): Likewise.
45001
a5477a59 450022004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45003
45004 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45005 which initialized BAT registers.
45006 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45007 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45008 Move from here...
45009 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45010 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45011 ... to here.
45012 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45013 (grub_mapclaim): Likewise.
45014 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45015 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45016 hand.
45017
9304c1f8 450182004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45019
45020 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45021 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45022 -ffreestanding and -msoft-float.
45023
86f4ae25 450242004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45025
45026 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45027 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45028 set in grub_ieee1275_flags.
45029
38912228 450302004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45031
45032 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45033 prototype.
45034 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45035 grub_console_init first.
45036 Change the memory range used for grub_ieee1275_claim and
45037 grub_mm_init_region.
45038 Print an error message if the claim fails.
45039 Include <grub/misc.h>.
45040
d1923dc8 450412004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45042
45043 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45044 Call grub_children_iterate for device nodes of type `scsi',
45045 `ide', or `ata'.
45046 (grub_ofdisk_open): Remove manual device alias resolution.
45047 Fix memory leak when device cannot be opened.
f19dbdb7 45048 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 45049 (grub_children_iterate): New prototype.
45050 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45051 New function.
45052 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45053 Return -1 if args.size was -1.
45054
4512e4f3 450552004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45056
45057 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45058 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45059 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45060 Open Firmware's memory for it; claim memory from _start to _end.
45061 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45062 (_end): New extern.
45063 (_start): Zero BSS from __bss_start to _end.
45064 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45065 New extern.
45066 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45067
4d61feb0 450682004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45069
ad0bd20b 45070 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45071 -1 if args.base was -1.
4d61feb0 45072
026fa2f9 450732004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45074
45075 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45076 escape sequence instead of a literal ^L. Also call
45077 grub_ofconsole_gotoxy.
45078
9f2220ef 450792004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45080
45081 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45082 void * arguments to grub_addr_t. All callers updated. Also make
45083 the `result' argument optional.
45084 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45085 All callers updated.
45086
8a572cd7 450872004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45088
45089 * commands/ls.c (grub_ls_list_files): Use the string following the
45090 initial ')', if present, as the filesystem path.
45091 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45092
45093 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45094
18aa81f2 450952004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45096
45097 Make the source code of the menu interface more readable.
f19dbdb7 45098
18aa81f2 45099 * normal/menu.c: Include grub/mm.h.
45100 (TERM_WIDTH): New macro.
45101 (TERM_HEIGHT): Likewise.
45102 (TERM_INFO_HEIGHT): Likewise.
45103 (TERM_MARGIN): Likewise.
45104 (TERM_SCROLL_WIDTH): Likewise.
45105 (TERM_TOP_BORDER_Y): Likewise.
45106 (TERM_LEFT_BORDER_X): Likewise.
45107 (TERM_BORDER_WIDTH): Likewise.
45108 (TERM_MESSAGE_HEIGHT): Likewise.
45109 (TERM_BORDER_HEIGHT): Likewise.
45110 (TERM_NUM_ENTRIES): Likewise.
45111 (TERM_FIRST_ENTRY_Y): Likewise.
45112 (TERM_ENTRY_WIDTH): Likewise.
45113 (TERM_CURSOR_X): Likewise.
45114 (draw_border): Use macros instead of magic numbers.
45115 (print_entry): Likewise.
45116 (print_entries): Likewise.
45117 (run_menu): Likewise. Also, handle the key 'e'.
45118 (run_menu_entry): Ignore empty command lines.
45119 (print_message): Added a new argument EDIT. If EDIT is true,
45120 print a different message.
45121 (init_page): Likewise.
45122 (edit_menu_entry): New function. Not implemented yet.
45123
b47efe30 451242004-09-17 Marco Gerards <metgerards@student.han.nl>
45125
45126 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45127 can be loaded from normal mode.
f19dbdb7 45128
b47efe30 45129 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45130 `multiboot.mod'.
45131 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45132 (multiboot_mod_CFLAGS): New variables.
45133 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 45134 * loader/i386/pc/multiboot_normal.c: Likewise.
45135
b47efe30 45136 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45137 attribute `unused'.
f19dbdb7 45138
b47efe30 45139 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45140 `fdiro' to read the mode information from instead of `diro'.
45141
45142 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45143 looking up a symlink.
45144
45145 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45146 macro.
45147 * normal/command.c (grub_command_execute): Don't parse the
45148 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45149 flags of the command.
45150
45151 * normal/menu.c (grub_menu_run): Fix typo.
45152
da75ac71 451532004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45154
45155 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45156
45157 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45158 `y + 1' instead of `y - 1'.
45159
45160 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 45161
062b24c2 451622004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45163
45164 From Hollis Blanchard <hollis@penguinppc.org>:
45165 * kern/misc.c (memmove): New alias for grub_memmove.
45166 (memcmp): New alias for grub_memcmp.
45167 (memset): New alias for grub_memset.
f19dbdb7 45168 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 45169 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 45170 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 45171 (grub_ieee1275_get_property): Likewise.
f19dbdb7 45172
8ddad845 451732004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45174
45175 Added normal mode command `chainloader' as module chain.mod, which
45176 depends on normal.mod and _chain.mod.
f19dbdb7 45177
8ddad845 45178 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45179 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45180 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45181 Deleted prototype.
45182 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45183 but arguments parsing moved to ...
45184 (grub_chainloader_cmd): ... here. New function.
45185 * include/grub/i386/pc/chainloader.h: New file.
45186 * loader/i386/pc/chainloader_normal.c: Likewise.
45187
2c1f4ce3 451882004-09-11 Marco Gerards <metgerards@student.han.nl>
45189
45190 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45191 (grub_mkimage_LDFLAGS): Likewise.
45192 (grub_emu_SOURCES): Likewise.
45193 (kernel_img_HEADERS): Added fshelp.h.
45194 * fs/ext2.c: Include <grub/fshelp.h>.
45195 (FILETYPE_REG): New macro.
45196 (FILETYPE_INO_REG): Likewise.
45197 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45198 Changed all users.
45199 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45200 all users.
45201 (grub_fshelp_node): New struct.
45202 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45203 to a pointer.
45204 (grub_ext2_get_file_block): Removed function.
45205 (grub_ext2_read_block): New function.
45206 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45207 This function was written.
45208 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45209 (grub_ext2_find_file): Removed function.
45210 (grub_ext2_read_symlink): New function.
45211 (grub_ext2_iterate_dir): Likewise.
45212 (grub_ext2_open): Rewritten.
45213 (grub_ext2_dir): Rewritten.
45214 * include/grub/fshelp.h: New file.
45215 * fs/fshelp.c: Likewise.
45216
3c52136a 452172004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45218
45219 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45220 (print_message): Add a missing newline.
45221 (run_menu): Added timeout support.
45222 (run_menu_entry): New local function.
45223 (grub_menu_run): Added support for booting.
45224
45225 * kern/loader.c (grub_loader_is_loaded): New function.
45226
45227 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45228 (grub_get_rtc): Exported.
45229
45230 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45231 (grub_get_rtc): Exported.
45232
45233 * include/grub/normal.h (struct grub_command_list): Remove
45234 constant from the member `command'.
45235
45236 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45237
45238 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45239
45240 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45241
aa033560 452422004-08-28 Marco Gerards <metgerards@student.han.nl>
45243
45244 Add support for the JFS filesystem.
45245
45246 * fs/jfs.c: New file.
45247 * include/grub/fs.h (grub_jfs_init): New prototype.
45248 (grub_jfs_fini): New prototype.
45249 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45250 (grub_emu_SOURCES): Likewise.
45251 (pkgdata_MODULES): Add jfs.mod.
45252 (jfs_mod_SOURCES): New variable.
45253 (jfs_mod_CFLAGS): Likewise.
45254 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45255 (grubof_SOURCES): Likewise.
45256 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45257
45258 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45259 endian to the host endian.
45260 (grub_fat_utf16_to_utf8): Move function from there...
45261 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 45262 the endianness of the source string anymore.
aa033560 45263 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45264
94bc45af 452652004-08-24 Marco Gerards <metgerards@student.han.nl>
45266
45267 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45268 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45269 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45270 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 45271
94bc45af 45272 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45273 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45274 for `node_found' and `it_dir'.
45275 (grub_hfs_dir): Add prototype for `dir_hook'.
45276
45277 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45278 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45279 and `indir32' to silence a gcc warning.
45280
45281 * include/grub/fs.h (grub_hfs_init): New prototype.
45282 (grub_hfs_fini): Likewise.
f19dbdb7 45283
45284
97543f08 452852004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45286
45287 Each disk device has its own id now. This is useful to make use
45288 of multiple disk devices.
f19dbdb7 45289
97543f08 45290 * include/grub/disk.h (grub_disk_dev_id): New enum.
45291 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45292 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45293
45294 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45295 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45296
45297 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45298 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45299
45300 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45301 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45302
45303 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45304 "id" which is used by the cache manager.
45305
45306 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45307 of just "GRUB".
45308
64372eb4 453092004-08-18 Marco Gerards <metgerards@student.han.nl>
45310
45311 * fs/hfs.c: New file.
45312 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45313 (grub_emu_SOURCES): Likewise.
45314 (pkgdata_MODULES): Add hfs.mod.
45315 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45316 (grubof_SOURCES): Likewise.
45317 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45318
45319 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45320 * kern/misc.c (grub_strncasecmp): Add function.
45321
cc61b58f 453222004-08-14 Marco Gerards <metgerards@student.han.nl>
45323
45324 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45325 with parentheses.
45326
45327 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45328 (grub_ext2_dir): In case the directory entry type is unknown, read
45329 it from the inode.
45330
0ef123f6 453312004-08-02 Peter Bruin <pjbruin@dds.nl>
45332
45333 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45334 grub_load_linux instead of grub_rescue_cmd_linux as second
45335 argument of grub_rescue_register_command.
45336
45337 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45338
a447c5df 453392004-07-27 Marco Gerards <metgerards@student.han.nl>
45340
45341 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45342 function.
45343 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45344 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45345 `loader/powerpc/ieee1275/linux.c',
45346 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45347 * include/grub/powerpc/ieee1275/ieee1275.h
45348 (grub_ieee1275_release): New prototype.
45349 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45350 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45351 normal, boot, linux and linux_normal.
45352 * loader/powerpc/ieee1275/linux.c: New file.
45353 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45354
5a9e3546 453552004-07-12 Marco Gerards <metgerards@student.han.nl>
45356
45357 * normal/arg.c (grub_arg_parse): Correct error handling after
45358 reallocating the argumentlist (check if `argl' is not null instead
45359 of checking if `args' is not null).
45360 * kern/mm.c (grub_realloc): Return the same pointer when using the
45361 same region, instead of returning the header address.
45362
e15199cb 453632004-07-11 Marco Gerards <metgerards@student.han.nl>
45364
45365 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45366 one block instead of two when looking for the initial partition.
45367 (grub_partition_probe): Initialize the local variable `p' with 0.
45368 Use base 10 for the grub_strtoul call.
45369 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45370 need for one local variable.
45371 (grub_strtoul): Don't add the new value to `num', instead of that
45372 just assign it.
45373
020616c2 453742004-07-11 Marco Gerards <metgerards@student.han.nl>
45375
45376 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45377 (pxeboot_img_SOURCES): New variable.
45378 (pxeboot_img_ASFLAGS): Likewise.
45379 (pxeboot_img_LDFLAGS): Likewise.
45380 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45381 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45382 <lode_leroy@hotmail.com>.
45383
6c51eb64 453842004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45385
45386 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45387 there was no input.
45388
cfb12aff 453892004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45390
45391 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45392 the history buffer logic.
45393
6eabba74 453942004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45395
45396 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45397 (FILETYPE_INO_SYMLINK): New macros.
45398 (grub_ext2_find_file): Check if the node is a directory using the
45399 inode stat information instead of using the filetype in the
45400 dirent. Exclude the first character of an absolute symlink.
45401 (grub_ext2_dir): Mask out the filetype part of the mode member of
45402 the inode.
45403
66e19ef8 454042004-05-24 Marco Gerards <metgerards@student.han.nl>
45405
45406 Add support for UFS version 1 and 2. Add support for the minix
45407 filesystem version 1 and 2, both the variants with 14 and 30 long
45408 filenames.
f19dbdb7 45409
66e19ef8 45410 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45411 fs/minix.c.
45412 (grub_emu_SOURCES): Likewise.
45413 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45414 (ufs_mod_SOURCES): New variable.
45415 (ufs_mod_CFLAGS): Likewise.
45416 (minix_mod_SOURCES): Likewise.
45417 (minix_mod_CFLAGS): Likewise.
45418 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45419 fs/minix.c.
45420 (grubof_SOURCES): Likewise.
45421 * fs/ufs.c: New file.
45422 * fs/minix.c: New file.
45423 * include/grub/fs.h (grub_ufs_init): New prototype.
45424 (grub_ufs_fini): Likewise.
45425 (grub_minix_init): Likewise.
45426 (grub_minix_fini): Likewise.
45427 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45428 minix fs.
45429
cc2e748a 454302004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45431
45432 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45433 commands/ls.c, commands/terminal.c, commands/boot.c,
45434 commands/cmp.c and commands/cat.c.
45435 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45436
45437 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45438 "env.h"
45439
4b13b216 454402004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45441
45442 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45443 and grub_, respectively. Because the conversion is trivial and
45444 mechanical, I omit the details here. Please refer to the CVS
45445 if you need more information.
45446
6a142551 454472004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45448
45449 * include/pupa: Renamed to ...
45450 * include/grub: ... this.
45451 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45452 * util/i386/pc/grub-mkimage.c: ... this.
45453 * util/i386/pc/pupa-setup.c: Renamed to ...
45454 * util/i386/pc/grub-setup.c: ... this.
45455 * util/pupa-emu.c: Renamed to ...
45456 * util/grub-emu.c: ... this.
45457
e56cdf21 454582004-03-29 Marco Gerards <metgerards@student.han.nl>
45459
45460 Add support for the newworld apple macintosh (PPC). This has been
45461 tested on the powerbook 2000 only. It only adds support for
45462 generic ieee1275 functions, console and disk support. This should
45463 be easy to port to other architectures with support for Open
45464 Firmware.
f19dbdb7 45465
e56cdf21 45466 * configure.ac: Accept the powerpc as host_cpu. In the case of
45467 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45468 specific tests are only executed while building for the i386.
45469 Inverse test for crosscompile.
45470 * genmk.rb (Utility): Allow assembler files.
45471 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45472 * conf/powerpc-ieee1275.rmk: New file.
45473 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45474 * disk/powerpc/ieee1275/partition.c: Likewise.
45475 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45476 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45477 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45478 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45479 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45480 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45481 * include/pupa/powerpc/ieee1275/loader.h
45482 * include/pupa/powerpc/setjmp.h: Likewise.
45483 * include/pupa/powerpc/types.h: Likewise.
45484 * kern/powerpc/ieee1275/init.c: Likewise.
45485 * kern/powerpc/ieee1275/openfw.c: Likewise.
45486 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45487
45488 These files were written by Johan Rydberg
45489 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 45490
e56cdf21 45491 * boot/powerpc/ieee1275/cmain.c: New file.
45492 * boot/powerpc/ieee1275/crt0.S: Likewise.
45493 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45494 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45495
8c8cc205 454962004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45497
45498 * Makefile.in: Update copyright.
45499 * genmodsrc.sh: Likewise.
45500 * gensymlist.sh: Likewise.
45501 * term/i386/pc/vga.c: Indent correctly.
45502
45503 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45504 bugreporting address.
45505 * util/i386/pc/pupa-setup.c (usage): Likewise,
45506 (main): Call pupa_ext2_init and pupa_ext2_fini.
45507
f19dbdb7 45508 * fs/fat.c (log2): Renamed to ...
8c8cc205 45509 (fat_log2): ... this.
45510 All callers changed.
45511 * kern/misc.c (memcpy): Alias to pupa_memmove.
45512 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45513 lvalue cast.
45514 * util/console.c (pupa_ncurses_fini): Return 0.
45515
45516 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45517 Move fail label here.
45518 [__GNU__]: Don't warn when using stat.
45519 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45520 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45521 long int. Use strtol instead of strtoul.
f19dbdb7 45522
db1771cf 455232004-03-14 Marco Gerards <metgerards@student.han.nl>
45524
45525 * commands/boot.c: New file.
45526 * commands/cat.c: Likewise.
45527 * commands/cmp.c: Likewise.
45528 * commands/ls.c: Likewise.
45529 * commands/terminal.c: Likewise.
45530 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45531 (pupa_register_command): Changed interface to match the new
45532 argument parser.
45533 (pupa_command_execute): Changed (almost rewritten) so it uses
45534 pupa_split_command. Added support for setting variables using the
45535 syntax `foo=bar'.
45536 (rescue_command): Changed to work with the new argument parser.
45537 (terminal_command): Moved from here to commands/terminal.c.
45538 (set_command): New function.
45539 (unset_command): New function.
45540 (insmod_command): New function.
45541 (rmmod_command): New function.
45542 (lsmod_command): New function.
45543 (pupa_command_init): Don't initialize the command terminal
45544 anymore. Initialize the commands set, unset, insmod, rmmod and
45545 lsmod.
45546 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45547 (kernel_img_HEADERS): Add arg.h and env.h.
45548 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45549 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45550 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45551 normal/arg.c.
45552 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
45553 terminal.mod.
45554 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
45555 (boot_mod_SOURCES): New variable.
45556 (terminal_mod_SOURCES): Likewise.
45557 (ls_mod_SOURCES): Likewise.
45558 (cmp_mod_SOURCES): Likewise.
45559 (cat_mod_SOURCES): Likewise.
45560
45561 * normal/arg.c: New file.
45562 * kern/env.c: Likewise.
45563 * include/pupa/arg.h: Likewise.
45564 * include/pupa/env.h: Likewise.
45565 * font/manager.c (font_command): Changed to match argument parsing
45566 interface changes.
45567 (PUPA_MOD_INIT): Likewise.
45568 * hello/hello.c (pupa_cmd_hello): Likewise.
45569 (PUPA_MOD_INIT): Likewise.
45570 * include/pupa/disk.h: Include <pupa/device.h>.
45571 (pupa_print_partinfo): New prototype.
45572 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
45573 (pupa_dl_get_prefix): Likewise.
45574 * include/pupa/misc.h: Include <pupa/err.h>.
45575 (pupa_isgraph): New prototype.
45576 (pupa_isdigit): Likewise.
45577 (pupa_split_cmdline): Likewise.
45578 * include/pupa/normal.h: Include <pupa/arg.h>.
45579 (pupa_command): Changed the prototype of the member `func' to
45580 match the argument parsing interface. Added member `options'.
45581 (pupa_register_command): Updated to match function.
45582 (pupa_arg_parse): New prototype.
45583 (pupa_hello_init) [PUPA_UTIL]: New prototype.
45584 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
45585 (pupa_ls_init) [PUPA_UTIL]: Likewise.
45586 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
45587 (pupa_cat_init) [PUPA_UTIL]: Likewise.
45588 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
45589 (pupa_boot_init) [PUPA_UTIL]: Likewise.
45590 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
45591 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
45592 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
45593 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
45594 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
45595 * kern/disk.c: Include <pupa/file.h>.
45596 (pupa_print_partinfo): New function.
45597 * kern/dl.c: Include <pupa/env.h>.
45598 (pupa_dl_dir): Variable removed.
45599 (pupa_dl_load): Use the environment variable `prefix' instead of
45600 the variable pupa_dl_dir.
45601 (pupa_dl_set_prefix): Function removed.
45602 (pupa_dl_get_prefix): Likewise.
45603 * kern/i386/pc/init.c: Include <pupa/env.h>.
45604 (pupa_machine_init): Use the environment variable `prefix' instead of
45605 using pupa_dl_set_prefix to set the prefix.
45606 * kern/main.c: Include <pupa/env.h>.
45607 (pupa_set_root_dev): Use the environment variable `prefix' instead of
45608 using pupa_dl_get_prefix to get the prefix.
45609 * kern/misc.c: Include <pupa/env.h>.
45610 (pupa_isdigit): New function.
45611 (pupa_isgraph): Likewise.
45612 (pupa_ftoa): Likewise.
45613 (pupa_vsprintf): Added support for printing values of the type
45614 `double'. Make it possible to format variable output when using
45615 formatting like `%1.2%f'.
45616 (pupa_split_cmdline): New function.
45617 * kern/rescue.c: Include <pupa/env.h>.
45618 (next_word): Removed function.
45619 (pupa_rescue_cmd_prefix): Likewise.
45620 (pupa_rescue_cmd_set): New function.
45621 (pupa_rescue_cmd_unset): New function.
45622 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
45623 split the command line instead of splitting it here. Added
45624 support for setting variables using the syntax `foo=bar'. Don't
45625 initialize the prefix command anymore. Initialized the set and
45626 unset commands.
45627 * normal/cmdline.c: Include <pupa/env.h>.
45628 (pupa_tab_complete): Added prototypes for print_simple_completion,
45629 print_partition_completion, add_completion, iterate_commands,
45630 iterate_dev, iterate_part and iterate_dir. Moved code to print
45631 partition information from here to kern/disk.c.
fe6b695a 45632 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 45633 * normal/main.c: Include <pupa/env.h>.
45634 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
45635 instead of using pupa_dl_get_prefix to get the prefix.
45636 * term/i386/pc/vga.c: Include <pupa/arg.h>.
45637 (check_vga_mem): Cast pointers to `void *' to silence a gcc
45638 warning.
45639 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
45640 (pupa_vga_setcolor): Declare unused variables with `__attribute__
45641 ((unused))' to silence a gcc warning.
45642 (pupa_vga_setcolor): Likewise.
45643 (debug_command): Changed to match argument parsing
45644 interface changes.
45645 * util/pupa-emu.c: Include <pupa/env.h>.
45646 (options): Added 0's for unused fields to silence a gcc warning.
45647 (argp): Likewise.
45648 (main): Use the environment variable `prefix' instead of using
45649 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
45650 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
45651 and terminal.
45652
45653 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
45654 * util/misc.c: Include <malloc.h>.
45655 (pupa_malloc): Rewritten so errors are correctly reported.
45656 (pupa_realloc): Likewise.
45657 (pupa_memalign): Likewise.
45658 (pupa_mm_init_region): Declare unused variables with
45659 `__attribute__ ((unused))' to silence a gcc warning.
45660 * normal/i386/setjmp.S: Remove tab at the end of the file to
45661 silence a gcc warning.
45662 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
45663 variables with `__attribute__ ((unused))' to silence a gcc
45664 warning.
45665 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
45666 local variable i unsigned to silence a gcc warning.
45667
45668 * kern/term.c: Include <pupa/misc.h>.
45669 (pupa_more_lines): New variable.
45670 (pupa_more): Likewise.
45671 (pupa_putcode): When the pager is active pause at the end of every
45672 screen.
45673 (pupa_set_more): New function.
45674 * include/pupa/term.h (pupa_set_more): New prototype.
45675
45676
3b1139cb 456772004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
45678
45679 Now this project is GRUB 2 rather than PUPA. The location of
45680 the CVS repository was moved to GRUB's.
f19dbdb7 45681
3b1139cb 45682 * configure.ac: Use bug-grub as the reporting address.
45683 Use GRUB instead of PUPA.
45684 Change the version number to 1.90.
45685
8367695c 456862004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
45687
45688 * genkernsyms.sh: Updated copyright information.
45689 * genmk.rb: Likewise.
45690 * genmodsrc.sh: Likewise.
45691 * gensymlist.sh: Likewise.
45692 * boot/i386/pc/boot.S: Likewise.
45693 * boot/i386/pc/diskboot.S: Likewise.
45694 * disk/i386/pc/biosdisk.c: Likewise.
45695 * disk/i386/pc/partition.c: Likewise.
45696 * font/manager.c: Likewise.
45697 * fs/ext2.c: Likewise.
45698 * fs/fat.c: Likewise.
45699 * include/pupa/boot.h: Likewise.
45700 * include/pupa/device.h: Likewise.
45701 * include/pupa/disk.h: Likewise.
45702 * include/pupa/dl.h: Likewise.
45703 * include/pupa/elf.h: Likewise.
45704 * include/pupa/err.h: Likewise.
45705 * include/pupa/file.h: Likewise.
45706 * include/pupa/font.h: Likewise.
45707 * include/pupa/fs.h: Likewise.
45708 * include/pupa/kernel.h: Likewise.
45709 * include/pupa/loader.h: Likewise.
45710 * include/pupa/misc.h: Likewise.
45711 * include/pupa/mm.h: Likewise.
45712 * include/pupa/net.h: Likewise.
45713 * include/pupa/normal.h: Likewise.
45714 * include/pupa/rescue.h: Likewise.
45715 * include/pupa/setjmp.h: Likewise.
45716 * include/pupa/symbol.h: Likewise.
45717 * include/pupa/term.h: Likewise.
45718 * include/pupa/types.h: Likewise.
45719 * include/pupa/i386/setjmp.h: Likewise.
45720 * include/pupa/i386/types.h: Likewise.
45721 * include/pupa/i386/pc/biosdisk.h: Likewise.
45722 * include/pupa/i386/pc/boot.h: Likewise.
45723 * include/pupa/i386/pc/console.h: Likewise.
45724 * include/pupa/i386/pc/init.h: Likewise.
45725 * include/pupa/i386/pc/kernel.h: Likewise.
45726 * include/pupa/i386/pc/linux.h: Likewise.
45727 * include/pupa/i386/pc/loader.h: Likewise.
45728 * include/pupa/i386/pc/memory.h: Likewise.
45729 * include/pupa/i386/pc/multiboot.h: Likewise.
45730 * include/pupa/i386/pc/partition.h: Likewise.
45731 * include/pupa/i386/pc/time.h: Likewise.
45732 * include/pupa/i386/pc/vga.h: Likewise.
45733 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
45734 * include/pupa/util/getroot.h: Likewise.
45735 * include/pupa/util/misc.h: Likewise.
45736 * include/pupa/util/resolve.h: Likewise.
45737 * kern/device.c: Likewise.
45738 * kern/disk.c: Likewise.
45739 * kern/dl.c: Likewise.
45740 * kern/err.c: Likewise.
45741 * kern/file.c: Likewise.
45742 * kern/fs.c: Likewise.
45743 * kern/loader.c: Likewise.
45744 * kern/main.c: Likewise.
45745 * kern/misc.c: Likewise.
45746 * kern/mm.c: Likewise.
45747 * kern/rescue.c: Likewise.
45748 * kern/term.c: Likewise.
45749 * kern/i386/dl.c: Likewise.
45750 * kern/i386/pc/init.c: Likewise.
45751 * kern/i386/pc/lzo1x.S: Likewise.
45752 * kern/i386/pc/startup.S: Likewise.
45753 * loader/i386/pc/chainloader.c: Likewise.
45754 * loader/i386/pc/linux.c: Likewise.
45755 * loader/i386/pc/multiboot.c: Likewise.
45756 * normal/cmdline.c: Likewise.
45757 * normal/command.c: Likewise.
45758 * normal/main.c: Likewise.
45759 * normal/menu.c: Likewise.
45760 * normal/i386/setjmp.S: Likewise.
45761 * term/i386/pc/console.c: Likewise.
45762 * term/i386/pc/vga.c: Likewise.
45763 * util/console.c: Likewise.
45764 * util/genmoddep.c: Likewise.
45765 * util/misc.c: Likewise.
45766 * util/pupa-emu.c: Likewise.
45767 * util/resolve.c: Likewise.
45768 * util/unifont2pff.rb: Likewise.
45769 * util/i386/pc/biosdisk.c: Likewise.
45770 * util/i386/pc/getroot.c: Likewise.
45771 * util/i386/pc/pupa-mkimage.c: Likewise.
45772 * util/i386/pc/pupa-setup.c: Likewise.
45773
e6eced71 457742004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
45775
45776 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
45777 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
45778 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
45779 reading and reset it after reading.
45780 (pupa_ext2_close): Return PUPA_ERR_NONE.
45781
45782 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
45783 Correct value.
45784 (struct linux_kernel_header): Add kernel_version and
45785 initrd_addr_max.
45786 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
45787 pupa_file_read succeeds.
45788 (pupa_rescue_cmd_initrd): Implement.
45789
5aded270 457902003-12-03 Marco Gerards <metgerards@student.han.nl>
45791
45792 * fs/ext2.c (pupa_ext2_label): New function.
45793 (pupa_ext2_fs): Added label.
45794 * fs/fat.c (pupa_fat_label): New function.
45795 (pupa_fat_fs): Added label.
45796 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
45797
45798 * kern/misc.c (pupa_strndup): New function.
45799 * include/pupa/misc.h (pupa_strndup): New prototype.
45800
45801 * include/pupa/normal.h: Include <pupa/err.h>.
45802 (pupa_set_history): New prototype.
45803 (pupa_iterate_commands): New prototype.
45804 * normal/cmdline.c: Include <pupa/machine/partition.h>,
45805 <pupa/disk.h>, <pupa/file.h>.
45806 (hist_size): New variable.
45807 (hist_lines): Likewise.
45808 (hist_end): Likewise.
45809 (hist_used): Likewise.
45810 (pupa_set_history): New function.
45811 (pupa_history_get): Likewise.
45812 (pupa_history_add): Likewise.
45813 (pupa_history_replace): Likewise.
45814 (pupa_tab_complete): Likewise.
45815 (pupa_cmdline_run): Added tab completion and history buffer. Tab
45816 completion shows partitionnames while completing partitions, this
45817 feature was suggested by Jeff Bailey.
45818 * normal/command.c (pupa_iterate_commands): New function.
45819 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
45820 (pupa_normal_init): Initialize history buffer.
45821 (PUPA_MOD_INIT): Likewise.
45822 (pupa_normal_fini): Free the history buffer.
45823 (PUPA_MOD_FINI): Likewise.
45824
45825 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
45826 key.
45827
45828 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
45829 * configure.ac [i386]: Check for regparam bug.
45830 (NESTED_FUNC_ATTR) [! i386]: Defined.
45831
1f7315a3 458322003-11-17 Marco Gerards <metgerards@student.han.nl>
45833
45834 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
45835 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
45836 (pupa_emu_SOURCES): New variable.
45837 (pupa_emu_LDFLAGS): Likewise.
45838 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
45839 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
45840 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
45841 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45842 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
45843 (pupa_jmp_buf): New typedef.
45844 (pupa_setjmp) [PUPA_UTIL]: New macro.
45845 (pupa_longjmp) [PUPA_UTIL]: Likewise.
45846 * include/pupa/term.h (struct pupa_term): New member `refresh'.
45847 (pupa_refresh): New prototype.
45848 * include/pupa/util/getroot.h: New file.
45849 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
45850 it.
45851 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
45852 (pupa_rescue_cmd_cat): Likewise.
45853 (pupa_rescue_cmd_ls): Likewise.
45854 (pupa_rescue_cmd_testload): Likewise.
45855 (pupa_rescue_cmd_lsmod): Likewise.
45856 * normal/cmdline.c (pupa_cmdline_get): Likewise.
45857 * normal/menu.c (run_menu): Likewise.
45858 * kern/term.c (pupa_cls): Likewise.
45859 (pupa_refresh): New function.
45860 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
45861 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45862 * util/console.c: New file.
f19dbdb7 45863
1f7315a3 45864 * util/i386/pc/getroot.c: New file.
45865 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
45866 (pupa_putchar): New function.
45867 (pupa_refresh): Likewise.
45868 (xgetcwd): Function moved to ...
45869 (strip_extra_slashes): Likewise.
45870 (get_prefix): Likewise.
f19dbdb7 45871 * util/i386/pc/getroot.c: ... here.
1f7315a3 45872 (find_root_device): Function moved and renamed to...
45873 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
45874 Changed all callers.
45875 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
45876 and renamed to...
45877 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
45878 Changed all callers.
45879 * util/misc.c (pupa_memalign): New function.
45880 (pupa_mm_init_region): Likewise.
45881 (pupa_register_exported_symbols): Likewise.
45882 (pupa_putchar): Function removed.
45883 * util/pupa-emu.c: New file.
45884
9a5c1ade 458852003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
45886
45887 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
45888 (_multiboot_mod_SOURCES): New variable.
45889 (_multiboot_mod_CFLAGS): Likewise.
45890 * loader/i386/pc/multiboot.c: New file.
45891 * include/pupa/i386/pc/multiboot.h: Likewise.
45892 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
45893 (pupa_multiboot_real_boot): New function.
45894 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
45895 (pupa_multiboot_real_boot): New prototype.
45896 (pupa_rescue_cmd_multiboot): Likewise
45897 (pupa_rescue_cmd_module): Likewise.
45898
45899 * kern/loader.c (pupa_loader_set): Continue when
45900 pupa_loader_unload_func() fails.
45901 (pupa_loader_unset): New function.
45902 * include/pupa/loader.h (pupa_loader_unset): New prototype.
45903
45904 * kern/misc.c (pupa_stpcpy): New function.
45905 * include/pupa/misc.h (pupa_stpcpy): New prototype.
45906
8e72a9c0 459072003-11-12 Marco Gerards <metgerards@student.han.nl>
45908
45909 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
45910 for available extensions.
45911
45912 * include/pupa/i386/pc/time.h: New file.
45913 * kern/disk.c: Include <pupa/machine/time.h>.
45914 (PUPA_CACHE_TIMEOUT): New macro.
45915 (pupa_last_time): New variable.
45916 (pupa_disk_open): Flush the cache when there was a timeout.
45917 (pupa_disk_close): Reset the timer.
45918 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
45919 pupa_currticks.
45920 * util/misc.c: Include <sys/times.h>
45921 (pupa_get_rtc): New function.
45922
c4adbd32 459232003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45924
45925 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
45926 as blocks.
45927 (pupa_ext2_get_file_block): Use blocks member.
45928
45929 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
45930 first block. Return -1 instead of pupa_errno on error.
45931
bfd30f06 459322003-10-27 Marco Gerards <metgerards@student.han.nl>
45933
45934 * README: In the pupa-mkimage example use _chain instead of chain
45935 and ext2 instead of fat.
45936 * TODO: Replace ext2fs with jfs as an example. Add an item for
45937 adding journal playback for ext2fs.
45938 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
45939 (pkgdata_MODULES): Added ext2.mod.
45940 (ext2_mod_SOURCES): New variable.
45941 (ext2_mod_CFLAGS): Likewise.
45942 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
45943 * include/pupa/misc.h (pupa_strncpy): New prototype.
45944 (pupa_strcat): Likewise.
45945 (pupa_strncmp): Likewise.
45946 * kern/misc.c (pupa_strcat): Enable function.
45947 (pupa_strncpy): New function.
45948 (pupa_strncmp): Likewise.
45949 * fs/ext2.c: New file.
f19dbdb7 45950
bfd30f06 45951 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
45952 when the read failed before retrying.
45953 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
45954 (_FILE_OFFSET_BITS): Likewise.
45955 * configure.ac: Added AC_SYS_LARGEFILE.
45956
98d15063 459572003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45958
45959 * genmk.rb (PModule#rule): Make sure to get only symbol names
45960 from the output of nm.
59cad637 45961 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 45962
18d9c7cd 459632003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45964
45965 I forgot to check in these changes for a long time. This adds
45966 incomplete support for VGA console, and this is still very
45967 buggy. Also, a lot of consideration is required for I18N,
45968 UNICODE, and VGA font issues. Therefore, assume that this is
45969 such that "better than nothing".
f19dbdb7 45970
18d9c7cd 45971 * font/manager.c: New file.
45972 * include/pupa/font.h: Likewise.
45973 * include/pupa/i386/pc/vga.h: Likewise.
45974 * term/i386/pc/vga.c: Likewise.
45975 * util/unifont2pff.rb: Likewise.
45976
45977 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
45978 (pkgdata_MODULES): Added vga.mod and font.mod.
45979 (vga_mod_SOURCES): New variables.
45980 (vga_mod_CFLAGS): Likewise.
45981 (font_mod_SOURCES): Likewise.
45982 (font_mod_CFLAGS): Likewise.
45983
45984 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
45985
45986 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 45987 (struct pupa_term): Added init and fini.
18d9c7cd 45988 Changed the argument of putchar to pupa_uint32_t.
45989
45990 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
45991 (pupa_console_real_putchar): New prototype.
45992 (pupa_console_putchar): Removed.
45993 (pupa_console_checkkey): Exported.
45994 (pupa_console_getkey): Likewise.
45995
45996 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
45997 characters.
45998
45999 * kern/term.c (pupa_term_set_current): Rewritten.
46000 (pupa_putchar): Likewise.
46001 (pupa_putcode): New function.
46002
46003 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46004 (pupa_console_real_putchar): ... this.
46005 (pupa_vga_set_mode): New function.
46006 (pupa_vga_get_font): Likewise.
46007
46008 * normal/command.c: Include pupa/term.h.
46009 (terminal_command): New function.
46010 (pupa_command_init): Register the command "terminal".
46011
46012 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46013 (DISP_UP): Likewise.
46014 (DISP_RIGHT): Likewise.
46015 (DISP_DOWN): Likewise.
46016 (DISP_HLINE): Likewise.
46017 (DISP_VLINE): Likewise.
46018 (DISP_UL): Likewise.
46019 (DISP_UR): Likewise.
46020 (DISP_LL): Likewise.
46021 (DISP_LR): Likewise.
46022
46023 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 46024
977329f5 460252003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46026
46027 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46028 FIX. Reverse the path_list.
46029
46030 * include/pupa/normal.h: Export pupa_register_command and
46031 pupa_unregister_command.
46032
46033 * hello/hello.c (pupa_cmd_hello): New module.
46034 * conf/i386-pc.rmk: Added hello.mod.
46035
1f5ab428 460362003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46037
46038 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 46039
1f5ab428 46040 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46041 (compress_kernel): New variable.
46042 (generate_image): Heavily modified to support compressing a
46043 large part of the core image.
46044
46045 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46046 leak.
46047 (pupa_util_load_image): New function.
46048
46049 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46050 (pupa_compressed_size): New variable.
46051 (codestart): Enable Gate A20 here.
46052 Decompress the compressed part of the core image.
46053 Rearrange the code to put functions and variables which are
46054 required for initialization in the non-compressed part.
46055 Include lzo1x.S.
46056
46057 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46058 here.
46059
46060 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46061
f19dbdb7 46062 * include/pupa/i386/pc/kernel.h
1f5ab428 46063 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46064 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46065 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46066 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46067 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46068
46069 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46070
46071 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46072 (Utility#rule): Likewise.
46073
46074 * configure.ac: Check if LZO is available.
46075
ce5bf700 460762003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46077
46078 * include/pupa/normal.h: New file.
46079 * include/pupa/setjmp.h: Likewise.
46080 * include/pupa/i386/setjmp.h: Likewise.
46081 * normal/cmdline.c: Likewise.
46082 * normal/command.c: Likewise.
46083 * normal/main.c: Likewise.
46084 * normal/menu.c: Likewise.
46085 * normal/i386/setjmp.S: Likewise.
f19dbdb7 46086
ce5bf700 46087 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46088 (pupa_rescue_cmd_initrd): Likewise.
46089
46090 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46091 Likewise.
46092
46093 * kern/i386/pc/startup.S (translation_table): New variable.
46094 (translate_keycode): New function.
46095 (pupa_console_getkey): Call translate_keycode.
46096
46097 * kern/rescue.c (attempt_normal_mode): New function.
46098 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46099 it failed, print a message.
46100
46101 * kern/mm.c (pupa_real_malloc): Print more information when a
46102 free magic is broken.
46103 (pupa_free): If the first free header is not free actually, set
46104 it to P.
46105
46106 * kern/main.c (pupa_load_normal_mode): Just load the module
46107 "normal".
46108 (pupa_main): Don't print the message
46109 "Entering into rescue mode..." here.
46110
46111 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46112 Declared.
46113 (pupa_rescue_cmd_initrd): Likewise.
46114 (pupa_rescue_cmd_initrd): Likewise.
46115
46116 * include/pupa/symbol.h (FUNCTION): Specify the type.
46117 (VARIABLE): Likewise.
46118
46119 * include/pupa/err.h (pupa_err_t): Added
46120 PUPA_ERR_UNKNOWN_COMMAND.
46121
46122 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46123 (pupa_dl_get_prefix): Likewise.
46124
46125 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46126 Added _chain.mod and _linux.mod instead of chain.mod and
46127 linux.mod.
46128 (chain_mod_SOURCES): Renamed to ...
46129 (_chain_mod_SOURCES): ... this.
46130 (chain_mod_CFLAGS): Renamed to ...
46131 (_chain_mod_CFLAGS): ... this.
46132 (linux_mod_SOURCES): Renamed to ...
46133 (_linux_mod_SOURCES): ... this.
46134 (linux_mod_CFLAGS): Renamed to ...
46135 (_linux_mod_CFLAGS): ... this.
46136 (normal_mod_SOURCES): New variable.
46137 (normal_mod_CFLAGS): Likewise.
46138 (normal_mod_ASFLAGS): Likewise.
46139
461402003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46141
46142 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46143 possible.
46144
fe6b695a 46145 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 46146 recursively.
46147 (pupa_dl_unref): Unrefer depending modules recursively.
46148 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46149 a module is unloaded before one depending on that module is
46150 unloaded.
46151 (pupa_dl_unload): Unload depending modules explicitly,
46152 if possible.
46153
c04da074 461542003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46155
46156 * include/pupa/i386/pc/linux.h: New file.
46157 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 46158
c04da074 46159 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46160 Removed.
46161 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46162 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46163 of PUPA_CHAINLOADER_BOOT_SECTOR.
46164
46165 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46166 (pupa_linux_prot_size): New variable.
46167 (pupa_linux_tmp_addr): Likewise.
46168 (pupa_linux_real_addr): Likewise.
46169 (pupa_linux_boot_zimage): New function.
46170 (pupa_linux_boot_bzimage): Likewise.
46171
46172 * kern/i386/pc/init.c (struct mem_region): New structure.
46173 (MAX_REGIONS): New macro.
46174 (mem_regions): New variable.
46175 (num_regions): Likewise.
46176 (pupa_os_area_addr): Likewise.
46177 (pupa_os_area_size): Likewise.
46178 (pupa_lower_mem): Likewise.
46179 (pupa_upper_mem): Likewise.
46180 (add_mem_region): New function.
46181 (compact_mem_regions): Likewise.
46182 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46183 the size of the conventional memory and that of so-called upper
46184 memory (before the first memory hole).
46185 Instead of adding each found region to free memory, use
46186 add_mem_region and add them after removing overlaps.
46187 Also, add only 1/4 of the upper memory to free memory. The rest
46188 is used for loading OS images. Maybe this is ad hoc, but this
46189 makes it much easier to relocate OS images when booting.
46190
46191 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46192 (pupa_enter_rescue_mode): Don't register initrd and module.
46193
46194 * kern/mm.c: Include pupa/dl.h.
46195
46196 * kern/main.c: Include pupa/file.h and pupa/device.h.
46197
46198 * kern/loader.c (pupa_loader_load_module_func): Removed.
46199 (pupa_loader_load_module): Likewise.
46200
46201 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46202 ``.o''.
46203
46204 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46205 (pupa_linux_tmp_addr): Likewise.
46206 (pupa_linux_real_addr): Likewise.
46207 (pupa_linux_boot_zimage): Likewise.
46208 (pupa_linux_boot_bzimage): Likewise.
46209
46210 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46211 (pupa_upper_mem): Likewise.
46212 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46213 module is too dangerous.
46214
46215 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46216 (pupa_os_area_size): Likewise.
46217 (pupa_loader_set): Remove the first argument. Loader doesn't
46218 manage modules or initrd any longer.
46219 (pupa_loader_load_module): Removed.
46220
46221 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46222 (linux_mod_SOURCES): New variable.
46223 (linux_mod_CFLAGS): Likewise.
46224
a13f9237 462252003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46226
46227 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46228 the length of a blocklist correctly.
46229
46230 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46231 Use ioctl only if the OS file is a block device.
46232 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46233 not very useful for normal files.
46234
46235 * kern/main.c (pupa_set_root_dev): New function.
46236 (pupa_load_normal_mode): Likewise.
46237 (pupa_main): Call those above.
46238
46239 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46240 pupa_uint16_t.
46241
46242 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46243
a5ffe966 462442003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46245
46246 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46247 (setup): Configure the installed partition information and the
46248 dl prefix.
46249
46250 * loader/i386/pc/chainloader.c (my_mod): New variable.
46251 (pupa_chainloader_unload): New function.
46252 (pupa_rescue_cmd_chainloader): Refer itself.
46253 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46254
46255 * kern/i386/pc/startup.S (install_partition): Removed.
46256 (version_string): Likewise.
46257 (config_file): Likewise.
46258 (pupa_install_dos_part): New variable.
46259 (pupa_install_bsd_part): Likewise.
46260 (pupa_prefix): Likewise.
46261 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46262
46263 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46264 and pupa/misc.h.
46265 (make_install_device): New function.
46266 (pupa_machine_init): Set the dl prefix.
46267
46268 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46269 (buf): Renamed to ...
46270 (linebuf): ... this.
46271 (pupa_rescue_cmd_prefix): New function.
46272 (pupa_rescue_cmd_insmod): Likewise.
46273 (pupa_rescue_cmd_rmmod): Likewise.
46274 (pupa_rescue_cmd_lsmod): Likewise.
46275 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46276 rmmod and lsmod.
46277
46278 * kern/mm.c (pupa_memalign): If failed even after invalidating
46279 disk caches, unload unneeded modules and retry.
46280
46281 * kern/misc.c (pupa_memmove): New function.
46282 (pupa_memcpy): Removed.
46283 (pupa_strcpy): New function.
46284 (pupa_itoa): Made static.
46285
46286 * kern/dl.c (pupa_dl_iterate): New function.
46287 (pupa_dl_ref): Likewise.
46288 (pupa_dl_unref): Likewise.
46289 (pupa_dl_unload): Return if succeeded or not.
46290 (pupa_dl_unload_unneeded): New function.
46291 (pupa_dl_unload_all): Likewise.
46292 (pupa_dl_init): Renamed to ...
46293 (pupa_dl_set_prefix): ... this.
46294 (pupa_dl_get_prefix): New function.
46295
46296 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46297 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46298 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46299 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46300 (pupa_install_dos_part): Declared.
46301 (pupa_install_bsd_part): Likewise.
46302 (pupa_prefix): Likewise.
46303 (pupa_boot_drive): Likewise.
46304
46305 * include/pupa/types.h: Fix a typo.
46306
46307 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46308 pupa_memmove.
46309 (pupa_memmove): Declared.
46310 (pupa_strcpy): Likewise.
46311
46312 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46313 pupa_mod_init takes one argument, its own module.
46314 (pupa_dl_unload_unneeded): Declared.
46315 (pupa_dl_unload_all): Likewise.
46316 (pupa_dl_ref): Likewise.
46317 (pupa_dl_unref): Likewise.
46318 (pupa_dl_iterate): Likewise.
46319 (pupa_dl_init): Renamed to ...
46320 (pupa_dl_set_prefix): ... this.
46321 (pupa_dl_get_prefix): Declared.
46322
46323 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 46324 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 46325 unloaded.
46326 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46327 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46328
46329 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46330 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46331
012d7999 463322003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46333
46334 * util/i386/pc/pupa-setup.c (setup): Define the internal
46335 function find_first_partition_start at the top level, because GCC
46336 3.0.x cannot compile internal functions in deeper scopes
46337 correctly.
46338 (find_root_device): Use lstat instead of stat.
46339 Don't follow symbolic links.
46340 Fix the path-constructing code.
46341
46342 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46343 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46344 by a BLKGETSIZE ioctl first, because block devices don't fill
46345 the member st_mode of the structure stat on Linux.
46346 [__linux__] (linux_find_partition): Use a temporary buffer
46347 REAL_DEV for the working space. Copy it to DEV before returning.
46348 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46349 buffer cache consistent.
46350 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46351 strncmp. The previous value was merely wrong.
46352 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46353
46354 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46355 FAT size is 12. The previous value was merely wrong.
46356
46357 * kern/main.c (pupa_main): Don't split the starting message from
46358 newlines.
46359
46360 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46361 LF, because BIOS goes crazy about character attributes in this
46362 case.
46363
1cc73a62 463642003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46365
46366 * include/i386/pc/util/biosdisk.h: New file.
46367 * util/i386/pc/biosdisk.c: Likewise.
46368 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 46369
1cc73a62 46370 * Makefile.in (INCLUDE_DISTFILES): Added
46371 include/pupa/i386/pc/util/biosdisk.h.
46372 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46373 directory util/i386/pc.
46374 (install-local): Added a rule for sbin_UTILITIES.
46375 (uninstall): Likewise.
46376
46377 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46378
46379 * util/misc.c (xrealloc): New function.
46380 (pupa_malloc): Likewise.
46381 (pupa_free): Likewise.
46382 (pupa_realloc): Likewise.
46383 (pupa_stop): Likewise.
46384 (pupa_putchar): Likewise.
46385
46386 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46387
46388 * include/pupa/util/misc.h (xrealloc): Declared.
46389
46390 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46391 macro.
46392 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46393 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46394
46395 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46396 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46397
46398 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46399 way should be implemented.
46400 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46401
46402 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46403 the size of NAME for safety.
46404 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46405 0x88.
46406
46407 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46408 (pupa_setup_SOURCES): Likewise.
46409
46410 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46411
08b70fe8 464122002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46413
46414 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46415 bunch of pushl's from pusha, because this destroys the return
46416 value.
46417
62ddcc8f 464182002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46419
46420 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46421 This means that any missing prototypes could be fatal. Also, you
46422 must take care when writing assembly code. See the comments at
46423 the beginning of startup.S, for more details.
f19dbdb7 46424
62ddcc8f 46425 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46426 compilation mechanism.
46427 (pupa_chainloader_real_boot): Likewise.
46428 (pupa_biosdisk_rw_int13_extensions): Likewise.
46429 (pupa_biosdisk_rw_standard): Likewise.
46430 (pupa_biosdisk_check_int13_extensions): Likewise.
46431 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46432 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46433 (pupa_get_memsize): Likewise.
46434 (pupa_get_mmap_entry): Likewise.
46435 (pupa_console_putchar): Likewise.
46436 (pupa_console_setcursor): Likewise.
46437 (pupa_getrtsecs): Use pushl instead of push.
46438
46439 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46440 memory instead of the stack for a mmap entry, because some
46441 BIOSes may ignore the maximum size and overflow.
46442
46443 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46444
46445 * genmk.rb (PModule#rule): Compile automatically generated
46446 sources with module-specific CFLAGS as well as other sources.
46447
9962ed99 464482002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46449
46450 * configure.ac: Check ld.
46451 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46452 respectively, before checking endianness and sizes.
46453
46454 * Makefile.in (LD): New variable.
f19dbdb7 46455
abdfc3c5 464562002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46457
46458 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46459
6a161fa9 464602002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46461
46462 * Changelog: New file.
46463