]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Restructure FAT driver to avoid hook in label reading as it hits a
[grub2.git] / ChangeLog
CommitLineData
918a2517
VS
12012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Restructure FAT driver to avoid hook in label reading as it hits a
4 GCC bug.
5
6 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
8 (grub_fat_iterate_dir): Split into ...
9 (grub_fat_iterate_init): ... this, ...
10 (grub_fat_iterate_fini): ... this, ...
11 (grub_fat_iterate_dir_next): ... and this. All users updated.
12
9f1d654e
VS
132012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
16 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
17 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
19 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
20 New fields last_key and last_key_time.
21 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
22 extended key-esc into extended key-extended key.
23
52f0f643
VS
242012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
25
26 Avoid unnecessary memcpy of whole video buffer.
27
28 * grub-core/video/fb/video_fb.c (dirty): New struct.
29 (framebuffer): Add members current_dirty and previous_dirty.
30 (dirty): New function.
31 (grub_video_fb_fill_rect): Update dirty.
32 (common_blitter): Likewise.
33 (grub_video_fb_scroll): Likewise.
34 (doublebuf_blit_update_screen): Copy only dirty part.
35 (doublebuf_pageflipping_update_screen): Likewise.
36 (grub_video_fb_doublebuf_blit_init): Init dirty.
37 (doublebuf_pageflipping_init): Likewise.
38 (grub_video_fb_setup): Likewise.
39
e169a180
VS
402012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
43 poll rate.
44
48556879
VS
452012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
46
47 Fix wildcard regexp dot and other special characters handling.
48 Reported by: Robert Mabee.
49
50 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
51 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
52 (split_path): Trigger expansion on '?'.
53 (unescape): New function.
54 (wildcard_expand): Unescape parts copied without globbing.
55 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
56 (grub_script_arglist_to_argv): Don't unescape expansions.
57
0494408e
VS
582012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * include/grub/net.h (grub_net_card): New member txbufsize.
61 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
62 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
63 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
64 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
65 txbufsize.
66 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
67 compatible property to check for macs. Set
68 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
69 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
70 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
71 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
72 (send_card_buffer): Use txbuf.
73 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
74 nested function out of the parent while on it.
75
cc35fe8f
VS
762012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
79 presence check.
80 (grub_ieee1275_net_config_real): Fix config pointer.
81
970a0a09
VS
822012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
85 filename parsing to non-block devices.
86
3e19bf87
VS
872012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/kern/device.c (grub_device_open): Remove dead code.
90
c62d1a0c
VS
912012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
94 All users updated.
95
ef76bec3
VS
962012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
99 UUID search command even if hints probing failed.
100
1012012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
102
103 * po/POTFILES.in: Regenerated.
104
70aaf305
VS
1052012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
106
107 Speed-up video on fuloong.
108
109 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
110 New function.
111 (grub_pci_device_unmap_range): Handle non-cached address.
112 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
113 add direct_ptr.
114 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
115 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
116 (grub_video_sis315pro_set_active_render_target): Removed.
117 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
118 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
119 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
120 sync caches.
121 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
122 New proto.
123
10400f0b
VS
1242012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * docs/grub.texi (Multi-boot manual config): New section.
127
ba67e2c6
VS
1282012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
129
130 Avoid slow read-back from VRAM.
131
132 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
133 Move from here ...
134 * grub-core/video/fb/video_fb.c
135 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
136 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
137 (front_target): Remove front_target. Add pages.
138 (grub_video_fb_init): Skip setting front_pages.
139 (grub_video_fb_fini): Likewise.
140 (doublebuf_blit_update_screen): Use pages.
141 (grub_video_fb_doublebuf_blit_init): Likewise.
142 (doublebuf_pageflipping_init): Allocate offscreen buffer.
143 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
144 (grub_video_fb_setup): Prefer doublebuffing.
145
377c98cb
VS
1462012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
149 gzio.
150
eac49cff
VS
1512012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
152
153 Add loongson tests.
154
155 * tests/util/grub-shell.in: Handle loongson.
156 * tests/partmap_test.in: Add loongson to the list of platform using ATA
157 drivers.
158 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
159 Reboot instead of shutdown if REBOOT is defined.
160
0321415e
VS
1612012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
164 sized ports since unlike on real hardware qemu supports only 32-bit
165 regs.
166
3f2bdd8f
VS
1672012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * Makefile.util.def (grub-mkrescue): Enable on loongson.
170 * util/grub-mkrescue.in: Handle loongson.
171
29a049c9
VS
1722012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
175 Set is_part appropriately.
176 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
177 names. Canonicalize partition without full disk.
178
4abde346
VS
1792012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
180
181 Revert usb-quiesce since it's wrong.
182
183 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
184 (grub_ofdisk_init): Don't do quiesce.
185
61f1d93b
VS
1862012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
189 PowerMac workaround to Xserves as well.
190 Information supplied by: Benjamin Herrenschmidt.
191
a09eb541
VS
1922012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
193
194 Don't assume that beginning address is also the entry point on ppc.
195
196 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
197 (grub_linux_boot): Use linux_entry.
198 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
199 (grub_linux_load64): Likewise.
200
505b3c9b
VS
2012012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
204
cbe0b4ef
VS
2052012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
208 needlessly lose the console.
209
3006e981
VS
2102012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
213 space.
214
4e5a96b0
VS
2152012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
216
7da036bb
VS
217 Remove non-functional EFI grub_get_rtc. Put a better fatal message
218 than current grub_get_rtc() not implemented when booted with
219 coreboot without TSC.
220
221 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
222 Add machine/time.h to kernel headers on loongson.
223 * grub-core/Makefile.core.def (kernel): Remove
224 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
225 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
226 (grub_get_rtc): Likewise.
227 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
228 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
229 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
230 * grub-core/kern/i386/tsc.c (grub_tsc_init)
231 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
232 rather than installing known non-working time source.
233 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
234 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
235 * include/grub/time.h: Don't include machine/time.h.
236 * include/grub/efi/time.h: Removed.
237 * include/grub/i386/efi/time.h: Likewise.
238 * include/grub/i386/ieee1275/time.h: Likewise.
239 * include/grub/powerpc/ieee1275/time.h: Likewise.
240 * include/grub/sparc64/ieee1275/time.h: Likewise.
241 * include/grub/x86_64/efi/time.h: Likewise.
242
2432012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
244
245 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
246
247 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
248 value.
249 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
250 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
251 with dotless variants when any combining above is present.
252
5561c22d
VS
2532012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
256 text and not binary.
257
96f7e60e
VS
2582012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
259
260 Stop polling as soon as we have the packet we were waiting for.
261
262 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
263 All users updated.
264 * grub-core/net/arp.c (have_pending): New var.
265 (pending_req): Likewise.
266 (grub_net_arp_send_request): Fill pending_req and use have_pending as
267 stop indicator.
268 (grub_net_arp_receive): Set have_pending.
269 * grub-core/net/dns.c (recv_data): New field stop.
270 (recv_hook): Set stop.
271 (grub_net_dns_lookup): Init stop and use as stop condition.
272 * grub-core/net/http.c (http_establish): Use headers_recv as stop
273 condition.
274 * grub-core/net/net.c (grub_net_poll_cards): New argument
275 stop_condition. Stop when it goes true.
276 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
277 indicator.
278 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
279
3e747239
VS
2802012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
281
282 Keep TX and RX buffers on EFI rather than always allocate new ones.
283
284 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
285 card. All users updated.
286 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
287 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
288 (get_card_packet): Likewise.
289 (grub_efinet_findcards): Init new fields.
290
f695e99a
VS
2912012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
294 compilation error on sparc64.
295
9e5e66d1
VS
2962012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
297
298 Use ITC on IA64 rather than broken routine based on daytime.
299
300 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
301 ia64.
302 (grub_get_rtc) [__ia64__]: Likewise.
303 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
304 (get_itc): New function.
305 (grub_rtc_get_time_ms): Likewise.
306 (grub_machine_init): Calibrate ITC.
307 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
308 Keep only on non-ia64. Don't export since it's broken and used only
309 if TSC is unavailable.
310
a1767404
VS
3112012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
314 even if it's used.
315 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
316 Skip if parent is unused.
317
34b2bced
VS
3182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
321
5e619f40
VS
3222012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
323
324 Fix wildcard escaping.
325
326 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
327 * grub-core/script/execute.c (wildcard_escape): .. to here.
328 Don't escape dot.
329 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
330 * grub-core/script/execute.c (wildcard_unescape): .. to here.
331 Don't escape dot.
332 * grub-core/script/execute.c (gettext_append): Always escape.
333 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
334 * grub-core/script/yylex.l: Don't cut away the escaping.
335 * tests/grub_script_echo1.in: Add tests with wildcard.
336
c8ca5855
VS
3372012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
338
339 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
340 (ftdi_hw_configure): Likewise.
341 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
342 define.
343 (real_config): Handle 1.5 stop bits.
344 (pl2303_hw_configure): Likewise.
345
7183452c
VS
3462012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * Makefile.am: Add ppc linux bootcheck.
349 * grub-core/tests/boot/linux-ppc.cfg: New file.
350 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
351
f57c84cd
VS
3522012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * tests/grub_script_expansion.in: Skip network protocols.
355
ecfc6207
VS
3562012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
359
8d03d284
VS
3602012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
363 --rom-directory.
364 Add -graft-points.
365
61c42af0
VS
3662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
367
368 ESCC serial driver for conducting sautomated tests in qemu.
369 Not tested on real hardware.
370
371 * include/grub/serial.h (grub_serial_port): New field escc_desc.
372 * grub-core/term/ieee1275/escc.c: New file.
373 * grub-core/Makefile.core.def (escc): New module.
374
08fd1291
VS
3752012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
378 invalid on error.
379 (serial_hw_fetch): Don't read invalid handle.
380 (serial_hw_put): Don't write into invalid handle.
381
08dafeea
VS
3822012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
383
384 Add a 1.5 stop bits value.
385
386 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
387 * include/grub/serial.h (grub_serial_stop_bits_t): Add
388 GRUB_SERIAL_STOP_BITS_1_5.
389
9068fdcf
VS
3902012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
393 value rather than let it uninited.
394
f4d5820f
VS
3952012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
396
397 * grub-core/commands/wildcard.c (+check_file): New function.
398 (wildcard_expand): Don't expand to non-existing files, expand with
399 suffix and not attempt to expand if not needed.
400
3d2de9a7
VS
4012012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
402
403 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
404 out of partitions containing other partitions.
405
c5c81ff9
VS
4062012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
407
408 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
409 on some qemu versions with GRUB.
410
411 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
412 define.
413 (grub_openbsd_bootarg_pcibios): New struct.
414 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
415 Add PCIINFO.
416
08a14e0b
VS
4172012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * tests/util/grub-shell.in: Trim firmware output on EFI.
420
cede3ca3
VS
4212012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
424 and coreboot since it's already in kernel.
425
558d3a60
VS
4262012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
429 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
430 to here. New return value start. All users updated.
431 Recursively scan linear mappings.
432 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
433 proto.
434 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
435 Use grub_util_get_dm_node_linear_info.
436 * util/getroot.c (convert_system_partition_to_system_disk): Use
437 grub_util_info rather than grub_dprintf.
438 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
439
60fde14d
VS
4402012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
441
442 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
443
444 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
445 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
446
24bd8838
VS
4472012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
448
449 * include/grub/types.h (grub_set_unaligned64): New function.
450 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
451 (setup): Likewise.
452
7bc06a49
VS
4532012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
456 (grub_ofdisk_fini): Quiesce USB devices.
457
49cea015
VS
4582012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
461 caches.
462
8dcbe03b
VS
4632012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
466
5b258735
VS
4672012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/disk/pata.c (grub_pata_pio_read)
470 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
471 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
472
37ba07eb
VS
4732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
474
475 Extend automated tests to qemu-mips.
476
477 * Makefile.am: reorganise tests and enable qemu-mips.
478 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
479 * grub-core/tests/boot/linux.init-mips.S: New file.
480 * tests/partmap_test.in: Handle ata0 disks.
481 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
482 non-pc i386.
483
070038f8
VS
4842012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
487 ia64.
488 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
489 quotes while on it.
490
004be2cd
VS
4912012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
494 (grub_halt): Likewise.
495 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
496
b1622487
VS
4972012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/term/serial.c (grub_serial_register)
500 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
501 the behaviour in line with x86 platforms.
502
b7b4ab33
VS
5032012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
506 (grub_ata_strncpy): Likewise.
507 (grub_ata_identify): Add missing byteswaps.
508
5e3535ae
VS
5092012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
512 byte-swap.
513 (screen_read_char): Likewise.
514 (grub_vga_text_cls): Likewise.
515
c21b17e6
VS
5162012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
517
518 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
519 filenames.
520 (make_file_path): Likewise.
521
bf293dec
VS
5222012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
525 machines.
526 Tested by: Paulo Flabiano Smorigo.
527 Crucial information about API supplied by: Coleen <Last name unknown>.
528 Reviewed by: Coleen <Last name unknown>.
529
81f6ef0e
VS
5302012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * util/grub-mkimage.c: Disable -Wcast-align.
533
7284143a
VS
5342012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
537 as they are fatal.
538
b99f3e00
VS
5392012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
542
944f752d
VS
5432012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * util/grub-probe.c (escape_of_path): Fix double free.
546
6cce6f38
VS
5472012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * grub-core/commands/videoinfo.c (hook): Show pitch.
550
1e1eb50e
VS
5512012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * util/grub.d/20_linux_xen.in: Skip xen-syms.
554
1c715b5a
VS
5552012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
558 (probe): Add ieee1275 to OFW devices.
559
007ae52d
VS
5602012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
563
4557a36d
VS
5642012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
565
566 Handle IBM OFW path.
567
568 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
569 available.
570 (of_path_of_scsi): Handle vdevice.
571
efbeefe9
VS
5722012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
575 Allocate in multiples of 16 to avoid adding a few bytes free region the
576 windows bugs upon.
577
15a940bb
VS
5782012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
581 Allocate in multiples of 16 to avoid adding a few bytes free region the
582 windows bugs upon.
583 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
584
6e5efd60
VS
5852012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
588 resolutions.
589 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
590 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
591
0d3d137e
IS
5922012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
593
594 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
595
45dbe300
VS
5962012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
599 resulted in \\ at the end of the line.
600
6d8db947
VS
6012012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
604 (grub_parser_cmdline_state): Likewise.
605 (grub_parser_split_cmdline): Likewise.
606
de89d338
VS
6072012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
610 /dev/root and /dev/dm-*.
611
00d41dee
VS
6122012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
615 fix partially stale display.
616
f95d1f11
VS
6172012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * grub-core/normal/menu_entry.c (backward_char): Use right line for
620 substraction.
621
6297e197
VS
6222012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
625 Fix MBR remapping workaround.
626 (grub_util_biosdisk_read) [__linux__]: Likewise.
627
8a7ecad3
VS
6282012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * util/grub-install.in: Check for ieee1275 and not ieee1276.
631
2b34f944
VS
6322012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * configure.ac: Bump to beta6.
635
684aef11
CW
6362012-05-31 Christer Weinigel <christer@weinigel.se>
637
638 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
639
05b0bb91
VS
6402012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
643 (grub_cmd_linux): Likewise.
644
bda36bfa
CW
6452012-05-31 Christer Weinigel <christer@weinigel.se>
646
647 Fix EHCI low-speed.
648
649 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
650 (GRUB_EHCI_MULT_TWO): Likewise.
651 (GRUB_EHCI_MULT_THREE): Likewise.
652 (GRUB_EHCI_CMASK_MASK): New enum value.
653 (GRUB_EHCI_SMASK_MASK): Likewise.
654 (GRUB_EHCI_CMASK_OFF): Likewise.
655 (GRUB_EHCI_SMASK_OFF): Likewise.
656 (grub_ehci_pci_iter): Enable periodic schedule.
657 (grub_ehci_parse_notrun): Likewise.
658 (grub_ehci_restore_hw): Likewise.
659 (grub_ehci_setup_qh): Set flags for low speed transfers.
660 (grub_ehci_find_qh): Use periodic list for low speed.
661 (grub_ehci_setup_transfer): Check periodic queue as well.
662 (grub_ehci_check_transfer): Likewise.
663 (grub_ehci_cancel_transfer): Cancel periodic transfer.
664
e12bcb1c
PFS
6652012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
666
667 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
668 parameter is used.
669
bcc75fb3
PJ
6702012-05-31 Peter Jones <pjones@redhat.com>
671
672 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
673 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
674 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
675
f19cb95e
VS
6762012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
677
678 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
679 uninited variable. Allocate at least setup_sects.
680
a4e5ca80
VS
6812012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
682
683 Fix handling of EFI with big memory maps.
684
685 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
686 (real_mode_mem): Likewise.
687 (real_mode_target): Likewise.
688 (real_mode_pages): Likewise.
689 (prot_mode_pages): Likewise.
690 (linux_params): New var.
691 (linux_cmdline): Likewise.
692 (free_pages): Don't set real mode variables.
693 (allocate_pages): Don't allocate real mode memory.
694 (grub_e820_add_region): Remove the limit.
695 (grub_linux_boot): Allocate and copy real mode memory.
696 (grub_linux_unload): Free linux_cmdline.
697 (grub_cmd_linux): Use temporary storage for parameters.
698 (grub_cmd_initrd): Likewise.
699 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
700 (linux_kernel_params): Make it 1K big.
701
ddb73558
VS
7022012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * Makefile.util.def: Remove -Wno-format.
705 * grub-core/Makefile.core.def: Likewise.
706
1c4afb60
VS
7072012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * tests/cmp_unit_test.c: Add missing failure message.
710 * tests/example_unit_test.c: Likewise.
711 * tests/printf_unit_test.c: Likewise.
712
941e3a6d
VS
7132012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
716 relaxation of protective MBR requirements.
717
b105df76
VS
7182012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * configure.ac: Add condition for COND_HOST_XNU.
721 * Makefile.util.def (10_xnu): New script.
722 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
723
84e1569e
VS
7242012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
727 objconv bug.
728
130c0f77
VS
7292012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
732 Binary on other platforms stays identical.
733
6fd0b143
VS
7342012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
737 Apple.
738
0af1751d
VS
7392012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
742
176d5f7d
VS
7432012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
746 rather than defining size_t ourselves to avoid conflict.
747
7de5e20a
VS
7482012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
751 initialisation to avoid __bzero reference.
752
f7143efe
VS
7532012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
756 version.
757 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
758 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
759 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
760 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
761 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
762
e6ad0555
VS
7632012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
766 * grub-core/kern/misc.c: Likewise.
767 * grub-core/loader/i386/xnu.c: Likewise.
768 * include/grub/i386/tsc.h: Likewise.
769 * include/grub/symbol.h: Likewise.
770
4a5a3c4a
VS
7712012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
774 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
775 on older compiler.
776
037f6d90
VS
7772012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
780 Implement Apple flavour.
781 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
782
f7194551
VS
7832012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
786 (memmove) [__APPLE__]: Likewise.
787 (memcpy) [__APPLE__]: Likewise.
788 (memset) [__APPLE__]: Likewise.
789 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
790 (memmove) [__APPLE__]: Likewise.
791 (memcpy) [__APPLE__]: Likewise.
792 (memset) [__APPLE__]: Likewise.
793
85a730ca
VS
7942012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
797 dependency discard.
798
40e80b94
VS
7992012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/normal/main.c (read_config_file): Provide config_file and
802 config_directory.
803 * util/grub.d/41_custom.in: Use config_directoy when available.
804
9da59c32
VS
8052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
808 (grub_bfs_dir): Likewise.
809
2787ae53
PJ
8102012-05-27 Peter Jones <pjones@redhat.com>
811
812 The old code gives arguments to a printf function which can't work
813 correctly, and the compiler complains.
814
815 * grub-core/tests/example_functional_test.c (example_test): Add
816 missing text.
817 * grub-core/tests/lib/test.c (add_failure): Rewrite.
818 * include/grub/test.h (grub_test_assert_helper): New declaration.
819 (grub_test_assert): Use grub_test_assert_helper.
820
526ef13d
VS
8212012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
824 (exfctest): ... this to avoid overlong filenames.
825 All users updated.
826
20dd511c
VS
8272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
828
829 Handle "." and ".." on squashfs.
830
831 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
832 Make inode numbers into stack.
833 (grub_squash_read_symlink): Use stack.
834 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
835 (make_root_node): Fill stack.
836 (grub_squash_open): Use stack.
837
1d80c62a
VS
8382012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
841 freeing.
842
d336f652
VS
8432012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
846 stderr on test calls.
847
8b43f587
VS
8482012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
851
80a3dc3f
VS
8522012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
855
47e297d4
VS
8562012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
859 "..".
860
df042ccb
VS
8612012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
864 (grub_hfsplus_iterate_dir): Add "." and "..".
865
fc977f48
VS
8662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/fs/cpio.c (canonicalize): Handle "..".
869 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
870
f3250e5f
VS
8712012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
874 (find_path): Handle "." and "..".
875
fd8ed4c5
VS
8762012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
879 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
880 (grub_affs_iterate_dir): Handle hardlinks.
881
4ce776d2
MG
8822012-05-26 Matthew Garrett <mjg@redhat.com>
883
884 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
885 (grub_efi_console_fini): Likewise.
886 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
887 (grub_video_gop_fill_mode_info): Rename to ...
888 (grub_video_gop_fill_real_mode_info): ... this.
889 (grub_video_gop_fill_mode_info): New function.
890 (grub_video_gop_setup): Setup double framebuffer.
891 (grub_video_gop_get_info_and_fini): Use original framebuffer.
892 Free offscreen.
893 (grub_video_gop_swap_buffers): Copy framebuffer.
894 (grub_video_gop_fini): Free offscreen buffer.
895 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
896 New enum.
897 (grub_efi_gop_blt_pixel): New struct.
898
683031ba
VS
8992012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * gentpl.py: Remove error disabling for objconv.
902
c2deb798
VS
9032012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * configure.ac: Remove -Wunitialized as it's not available on older
906 compilers.
907
9082012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
909
910 Fix extent overflow comparator.
911
912 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
913 (grub_hfsplus_read_block): Set type.
914 (grub_hfsplus_cmp_extkey): Compare type.
915
d6b1fd36
VS
9162012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
919
0a9aa0f6
VS
9202012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
923 than 0.
924
8360e159
VS
9252012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
928 (dejavu_bold_14.pf2): New target.
929
501b9e4b
VS
9302012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * configure.ac: Fix djvu font detection.
933
7026b0e2
VS
9342012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
935
936 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
937 ext* instead of ext2.
938
c2a51ade
VS
9392012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
942 name with \0.
943
8f803a5d
JU
9442012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
945
946 * docs/grub-dev.texi: Remove dot from .png.
947
13c6353f
VS
9482012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
951 protective entry in any slot.
952 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
953 if protective entry is found in any slot.
954
955 Protective entry in non-first slot make no sense but is a widespread
956 brain damage.
957
4cf6be1b
VS
9582012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
961
937d1c44
VS
9622012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
965 with old reiserfs.
966 (grub_reiserfs_open): Don't free root.
967
021d90ec
VS
9682012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
971 after freeing for safety.
972
967b2b64
VS
9732012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
976 Reported by: Jordan Uggla.
977
34274d02
JU
9782012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
979
967b2b64
VS
980 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
981 actual implementation. Specifically, clarify that the grub menu will
982 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
983 passed.
34274d02 984
dcaaae9d
BH
9852012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
986
987 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
988 of r0.
989
7086ad52
VS
9902012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
991
992 Remove unjustified hard dependency of normal.mod on gfxterm.
993
994 * include/grub/term.h (grub_term_output): New member fullscreen.
995 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
996 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
997 (grub_gfxterm): Set .fullscreen.
998 * grub-core/normal/menu.c (menu_init): Use fullscreen.
999 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1000
37ed2c9b
VS
10012012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1004 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 1005 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 1006
a4469c88
VS
10072012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1010
4e461486
VS
10112012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1014 a bad FS.
1015
aa78f5c4
VS
10162012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1019 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1020
197626b5
VS
10212012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1024 (grub_jfs_mount): Fill caseins.
1025 (grub_jfs_find_file): Respect caseins.
1026
8ad3f28c
VS
10272012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1030 through UTF-16.
1031
0c6c324e
VS
10322012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1035 New argument origpath. All users updated.
1036
c6666ba6
VS
10372012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1040 (read_attr): Ensure that we read start of possibly compressed block.
1041
e28e5fe5
VS
10422012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1045 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1046 All users updated.
1047
5fc23ab2
VS
10482012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1051 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1052 (dejavu.pf2): Replace with ...
1053 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1054 this.
1055
79dbc21c
VS
10562012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * util/grub.d/20_linux_xen.in: Add missing line.
1059
d2fcfb0c
VS
10602012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1063 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1064 (grub_utf16_to_utf8): Likewise.
1065
5560e9d6
VS
10662012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1069 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1070 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1071 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1072 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1073 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1074
10752012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
1076
1077 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1078 a bad FS.
1079
5560e9d6 10802012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
1081
1082 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1083 (grub_udf_read_symlink): Handle read_string failure.
1084
5eae3175
VS
10852012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1088 comment.
1089
c1ad82db
VS
10902012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 Fix handling of UDF symlinks.
1093
1094 * grub-core/fs/udf.c (read_string): New argument outbuf.
1095 All users updated.
1096 (grub_ufs_read_symlink): Rename to ...
1097 (grub_udf_read_symlink): ... this. All users updated.
1098 Handle symlinks with more than one component.
1099
33eca6e0
VS
11002012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1103 symlinks. Replace leading colon with a slash.
1104
57f4a70b
VS
11052012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1108 filename.
1109
38c8ee20
VS
11102012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1113 match in inner node.
1114
2e57f28f
VS
11152012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1118 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1119 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1120 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1121 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1122 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1123 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1124 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1125 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1126
fe8c2f11
VS
11272012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 Use grub-probe and not cmp to check that disk is empty.
1130
1131 * util/grub-install.in: Use grub-probe for zero-check.
1132 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1133 (probe): Handle PRINT_ZERO_CHECK.
1134 (argp_parser): Handle -t zero_check.
1135
11362012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
1137
1138 Flush block cache on adding disk to device map.
1139
1140 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1141 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1142 adding.
1143 (read_device_map): Likewise.
1144 (open_device): Flush on opening.
1145
690434e8
VS
11462012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1149 (handle_symlink): Fix off-by-one error.
1150 Canonicalize the target.
1151 (grub_cpio_dir): Canonicalize the name.
1152 Fix memory leak.
1153 Set directory.
1154 (grub_cpio_open): Canonicalize the name.
1155
742d2be6
VS
11562012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1159 handling.
1160
3244fe96
VS
11612012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1164 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1165
8aeb1837
VS
11662012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1169 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 1170 All users updated.
8aeb1837 1171
9133fd05
VS
11722012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1175 counterpart.
1176
6d521c5b
VS
11772012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 Fix UFS1 big file support.
1180
1181 * grub-core/fs/ufs.c (INODE): Removed.
1182 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1183 64-bit.
1184 (INODE_MODE): Simplify.
1185 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1186 (grub_ufs_lookup_symlink): Don't use INODE.
1187
21b82e17
VS
11882012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1191
1192 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1193 (grub_minix_data): Replace log_block_size with block_size.
1194 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1195 (grub_minix_mount): Fill block_size.
1196
11972012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
1198
1199 * configure.ac: Bump to beta5.
1200
f417ed04
VS
12012012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 Fix wrapped HFS+ handling.
1204
1205 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1206 blocks_start. All users updated.
1207 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1208 wrapping offset.
1209 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1210
607d282b
VS
12112012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 Fix long symlinks on reiserfs.
1214
1215 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1216 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1217 (grub_reiserfs_iterate_dir): Save size for non-directories.
1218 (grub_reiserfs_open): Don't reread stat block as we already know the
1219 size.
1220 (grub_reiserfs_read): Split into...
1221 (grub_reiserfs_read_real): ... and ...
1222 (grub_reiserfs_read): ...this.
1223
ae16024d
VS
12242012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 Fix non-indexed JFS.
1227
1228 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1229 (grub_jfs_data): New field namecomponentlen.
1230 (grub_jfs_mount): Fill namecomponentlen.
1231 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1232
eea1e26e
VS
12332012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1236 * tests/grub_script_echo1.in: Add tests.
1237
df760f77
VS
12382012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * util/grub-install.in: Ignore empty devicetree directory.
1241
5efb817d
B
12422012-05-08 Bean <bean123ch@gmail.com>
1243
1244 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
1245 All users updated.
1246 (free_rsm): Free header as well.
1247 (free_old_fragments): Fix memory leak.
1248 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
1249 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
1250 (destroy_pq): Likewise.
1251 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
1252
668ea6d2
VS
12532012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
1256 resulting hash as a precaution.
1257
1739b1fe
VS
12582012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
1261 '_' in variable names.
1262 * grub-core/net/net.c (grub_net_network_level_interface_register):
1263 Likewise.
1264
6ae485aa
VS
12652012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 Fix AFFS with non-512B blocks.
1268
1269 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
1270 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
1271 (grub_affs_data): Replace blocksize with log_blocksize.
1272 (grub_affs_read_block): Fix non-512B blocks.
1273 (grub_affs_read_symlink): Likewise.
1274 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
1275 (grub_affs_read): Fix non-512B blocks.
1276 (grub_affs_label): Likewise.
1277 (grub_affs_mtime): Likewise.
1278 (grub_affs_mount): Fix block detection routine.
1279
d20fab84
VS
12802012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 Add filesystem mtime to AFFS.
1283
1284 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
1285 (aftime2ctime): New function.
1286 (grub_affs_dir): Use aftime2ctime.
1287 (grub_affs_label): Fix return value.
1288 (grub_affs_mtime): New function.
1289 (grub_affs_fs): Add mtime.
1290
e87b10f5
VS
12912012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
1294 UTF-8.
1295
7dceec9b
VS
12962012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
1299 UTF-8.
1300
2f48221f
VS
13012012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
1304
dacd85cf
VS
13052012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
1308 flags.
1309 (FLAGS_CASE_SENSITIVE): New enum value.
1310 (cache_entry): New struct.
1311 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
1312 cache_size and cache.
1313 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
1314 Add log_blocksize and fshelp_flags.
1315 (grub_sfs_read_extent): Handle non-512 blocks.
1316 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
1317 (grub_sfs_read_file): Handle non-512 blocks.
1318 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
1319 fshelp_flags.
1320 (grub_sfs_read_symlink): Handle non-512 blocks.
1321 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
1322 (grub_sfs_dir): Free cache.
1323 (grub_sfs_close): Likewise.
1324
24e9a854
VS
13252012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
1328 filesystems.
1329
62ace64d
VS
13302012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
1333
83b2e89c
VS
13342012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
1337
75ccaea3
VS
13382012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
1341 (grub_sfs_read_extent): Likewise.
1342 (grub_sfs_read_block): Likewise.
1343 (grub_sfs_mount): Likewise.
1344 (grub_sfs_iterate_dir): Likewise.
1345 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
1346 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
1347
1b8463f2
VS
13482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 Fix errors on compressed NTFS with 512B clusters.
1351
1352 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
1353 types.
1354 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
1355 not 0.
1356 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
1357 Relax check for inline extents.
1358 (ntfscomp): Return correct -1 on error and not 0.
1359
4f8e368f
VS
13602012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * util/grub-install.in: Fix handling of prefix containing spaces.
1363
6f5d5ee8
VS
13642012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
1367 (grub_squash_read_data): Fix offset byte-swapping.
1368
ce41ab7a
VS
13692012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
1372 per common usage and preffered in several parts of code.
1373 (grub_memcmp): Likewise.
1374 (grub_strncmp): Likewise.
1375 * include/grub/misc.h (grub_strcasecmp): Likewise.
1376 (grub_strncasecmp): Likewise.
1377 * Makefile.util.def (cmp_test): New test.
1378 (grub_script_strcmp): Likewise.
1379 * tests/cmp_unit_test.c: New file.
1380 * tests/grub_script_strcmp.in: Likewise.
1381 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
1382
49717bf4
VS
13832012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * include/grub/pci.h: Move enums into no-asm part.
1386
0a308f64
VS
13872012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
1390
1796965f
ST
13912012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
1392
1393 * util/getroot.c (find_hurd_root_device): Try to make error message
1394 and comments to translators clearer.
1395
4e9b2819
VS
13962012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
1399
076aeb50
VS
14002012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
1403 btrfs.
1404
19424d94
VS
14052012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 * docs/grub.cfg: Update.
1408
ebb73076
VS
14092012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * docs/grub.texi (PXE): Remove not present variables.
1412
9a1b669c
VS
14132012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * grub-core/net/net.c (defserver_set_env): New function.
1416 (defserver_get_env): Likewise.
1417 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
1418
d38bf7d3
VS
14192012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
1422 entries.
1423
14242012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
1425
1426 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
1427 * grub-core/kern/emu/hostdisk.c: Likewise.
1428
e5e4ca48
ST
14292012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
1430
1431 Handle hurd userspace partitions.
1432
1433 * util/getroot.c (find_hurd_root_device): New function.
1434 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
1435
56bb5dd5
VS
14362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
1439 names.
1440 Reported by: Bastian Blank.
1441
9e8bc27a
VS
14422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
1445 crossing page boundary.
1446
aa01499d
VS
14472012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 Fix B-tree search in BFS, especially in presence of non-ASCII
1450 characters.
1451
1452 * grub-core/fs/bfs.c (bfs_strcmp): New function.
1453 (find_in_b_tree): Use standard bsearch + btree algorithm.
1454
57006035
VS
14552012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
1458 and so on.
1459
9d34bb85
MG
14602012-05-03 Matthew Garrett <mjg@redhat.com>
14612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 Suspend broadcom cards in order to stop their DMA.
1464
1465 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
1466 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
1467 (pci): Don't build on x86 EFI.
1468 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
1469 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
1470 New function.
1471 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
1472 stop_broadcom if running on EFI.
1473 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
1474 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
1475 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
1476 (grub_pci_find_capability): New proto.
1477
01aab997
VS
14782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 * docs/grub.texi: Remove dot from the extension as it apparently
1481 doesn't work with some makeinfo versions.
1482
fbd8dca6
VS
14832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
1486 with GRUB expectance.
1487
dab797f4
VS
14882012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
1491
1516bfb4
VS
14922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
1495 zero after directory block since last entry may be not 0-terminated if
1496 it ends on block boundary. Use continue instead of if spanning whole
1497 loop.
1498
a3a0eace
VS
14992012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 Support 4K sectors UDF inline files.
1502
1503 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
1504 (grub_udf_extended_file_entry): Likewise.
1505 (grub_fshelp_node): Name the anonymous union. Put block at the end.
1506 All users updated.
1507 (get_fshelp_size): New function.
1508 (grub_udf_read_icb): Read whole block.
1509 (grub_udf_iterate_dir): Likewise.
1510 (grub_udf_dir): Likewise.
1511 (grub_udf_open): Likewise.
1512
c82f16c1
VS
15132012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
1516
59fd2aac
VS
15172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
1520 inline symlinks in addition to workaround.
1521
3b4afb4d
VS
15222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
1525
f45c794a
VS
15262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
1529
f25cecbd
VS
15302012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
1533
bb9a34e8
VS
15342012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 Fix reiserfs big seek times.
1537
1538 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
1539 exact. All users updated.
1540 (grub_reiserfs_read): Use nearest btree search for seeking.
1541 Fix return value on error.
1542
dc478aea
VS
15432012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
1546 entries.
1547 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
1548 * docs/grub.texi: Update menuentry description.
1549
8db10f47
VS
15502012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
1553 crash when embedding onto filesystem.
1554
bcb288ed
VS
15552012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
1558 name.
1559
a626fdd7
VS
15602012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
1563
b2f68477
VS
15642012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
1567 commit.
1568
ba15b2af
B
15692012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15702012-05-01 Bean <bean123ch@gmail.com>
1571
1572 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
1573
a188012e
VS
15742012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
1577 Special behaviour for len = 0 to read whole file isn't used anywhere and
1578 can cause buffer ovewrflows in several places.
1579
f0a53ed2
VS
15802012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
1583
5ed554f0
VS
15842012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 Handle RAIDZ on non-512B sectors.
1587
1588 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
1589 max_children_ashift.
1590 (fill_vdev_info_real): Fill max_children_ashift.
1591 (read_device): Use max_children_ashift.
1592
ddc58357
VS
15932012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
1596
e3282399
VS
15972012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
1600 disk names.
1601 * docs/grub.texi: Update device.map parts.
1602
ee618bd4
VS
16032012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 Don't scan into non-diskfilter devices having diskfilter names.
1606
1607 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
1608 (scan_disk): New argument accept_diskfilter. Fix recursion depth
1609 handling.
1610 (scan_disk_hook): New function.
1611
bdf88864
B
16122012-04-29 Bean <bean123ch@gmail.com>
1613
1614 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
1615 allocation.
1616
32745f51
MK
16172012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
1618
1619 * configure.ac: Detect starfield theme font path
1620 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
1621
bc95c8c0
VS
16222012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
1625 geometry on serial consoles.
1626
147fbcab
VS
16272012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
1630 because of network consoles.
1631
0f42c889
VS
16322012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
1635 handling.
1636
4a3594c9
VS
16372012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
1640 falls on Q syndrom.
1641
5cb53879
VS
16422012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
1645 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
1646
b282dfe5
VS
16472012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
1650 Allocate at lest 8192 for temporary buffer as required for lzo.
1651
daa59f47
VS
16522012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
1655 to cluster_bits, since it's already added in.
1656 (grub_fat_read_data): Likewise.
1657
986748ce
VS
16582012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
1661 as long as cluster size is multiple of 512 bytes.
1662
a20f6ad0
VS
16632012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * util/grub-mkrescue.in: Fix locale directory.
1666
385f9abb
VS
16672012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/kern/emu/hostdisk.c (map): Make static.
1670
1c557d30
B
16712012-04-23 Bean <bean123ch@gmail.com>
1672
1673 * util/grub-fstest.c (fstest): Add missing break.
1674
524b5d3a
ST
16752012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
1676
1677 Fix hurd build.
1678
1679 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
1680 not define nr variable.
fe4824e9 1681 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
1682 find_root_devices_from_poolname, find_root_devices_from_libzfs,
1683 grub_find_device): Do not define.
524b5d3a 1684
9a06490c
VS
16852012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 Fix kfreebsd compile and behaviour.
1688
1689 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
1690 format-security.
1691 * util/getroot.c: Fix wait.h include.
1692 (grub_guess_root_devices): Error if grub_find_device fails.
1693 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
1694 (grub_util_get_dev_abstraction): Likewise.
1695 (grub_util_pull_device): Likewise.
1696 (grub_util_get_grub_dev): Likewise.
1697 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
1698
48143d96
VS
16992012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 Fix and unify wholedisk detection.
1702
1703 * util/getroot.c (convert_system_partition_to_system_disk): New argument
1704 is_part. All users updated.
1705 (device_is_wholedisk): Removed.
1706 (grub_util_biosdisk_get_grub_dev): Use is_part.
1707
ebbd24f3
VS
17082012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
1711 mode.
1712
56f7aa1e
VS
17132012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * configure.ac: Bump to beta4.
1716
9c815e01
VS
17172012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
1720 --fs-uuid --set UUID syntax.
1721
59e2651a
VS
17222012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
1725 disunification.
1726
54e03cfc
VS
17272012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
1730
81092a75
MK
17312012-04-18 Mads Kiilerich <mads@kiilerich.com>
1732
1733 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
1734
f8315e14
MG
17352012-04-18 Mike Gilbert <floppym@gentoo.org>
1736
1737 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
1738
1501ac21
B
17392012-04-18 Bean <bean123ch@gmail.com>
1740
1741 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
1742 place.
1743
cb7f944e
VS
17442012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
1747 users updated.
1748 (grub_util_biosdisk_read): Handle Linux partitions not exactly
1749 corresponding to GRUB partitions.
1750 (grub_util_biosdisk_write): Likewise.
1751
b72d44a1
VS
17522012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 Scan mdraid before LVM.
1755
1756 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
1757 (grub_diskfilter_register_front): ... this.
1758 (grub_diskfilter_register_back): New function.
1759 All users of grub_diskfilter_register updated.
1760
33d918b8
VS
17612012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * util/grub-install.in: Fix an automatic target detection bug.
1764
c6ca973d
VS
17652012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1766
1767 * util/grub-install.in: New option --efi-directory.
1768
b41be562
VS
17692012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
1772 boot services if we have no other choice.
1773
17742012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * util/grub-mknetdir.in: Rename --override-directory to --directory and
1777 document it.
1778 * tests/util/grub-shell.in: Update to --directory.
1779
e0595a73
VS
17802012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
1783
4ed80652
VS
17842012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
1787 (grub_minix_read_file): Likewise.
1788 (grub_minix_read_inode): Likewise.
1789 (grub_minix_find_file): Likewise.
1790 (grub_minix_dir): Likewise.
1791
56008077
VS
17922012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * util/grub-setup.c (setup): Fix partition handling and blocklist
1795 check.
1796
ee520775
VS
17972012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
1800 redundant buggy overlap check.
1801
16fc9293
VS
18022012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
1805 and grub-mknetdir.
1806
9bab65c4
VS
18072012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
1810 kh.loadflags on pre-2.00 kernels.
1811
3c491b47
VS
18122012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 Terminate UNDI and PXE before launching the payload to avoid problems
1815 with DMA.
1816
1817 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
1818 (grub_loader_flags): ... this. All users updated.
1819 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
1820 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
1821 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
1822 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
1823 function.
1824 (grub_pxe_restore): Likewise.
1825 (fini_hnd): New var.
1826 (GRUB_MOD_INIT): Register shutdown hook.
1827 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
1828 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
1829 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
1830 (grub_loader_set): Rename second argument to flags.
1831
851ffada
VS
18322012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
1835 written bytes.
1836 (grub_get_num_of_utf8_bytes): New function.
1837 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
1838 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
1839 executing it.
1840 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
1841 (grub_ucs4_to_utf8): Change return type.
1842
491c57a8
VS
18432012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
1846 warning.
851ffada
VS
1847 * grub-core/fs/bfs.c (hop_level): Likewise.
1848 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 1849
756773df
VS
18502012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/lib/adler32.c: Recode due to license unclearness.
1853
fd556a96
VS
18542012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
1857 (test_header): Likewise.
1858
9f9d3f69
VS
18592012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 Fix --help formatting.
1862
1863 * util/grub-mkconfig_lib.in (print_option_help): New function.
1864 (grub_fmt): Likewise.
1865 * util/grub-install.in: Use print_option_help and grub_fmt.
1866 * util/grub-kbdcomp.in: Likewise.
1867 * util/grub-mkconfig.in: Likewise.
1868 * util/grub-mknetdir.in: Likewise.
1869 * util/grub-mkrescue.in: Likewise.
1870 * util/grub-mkstandalone.in: Likewise.
1871 * util/grub-reboot.in: Likewise.
1872 * util/grub-set-default.in: Likewise.
1873 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1874
561ec77e
VS
18752012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * linguas.sh: Remove autogenerated *.po.
1878
7ec2b021
VS
18792012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * po/README: Move language fetcing to ...
1882 * linguas.sh: ... here.
1883 * po/README: Point to linguas.sh.
1884
a88f3270
VS
18852012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * po/README: Exclude ko.po due to disclaimer problems.
1888
d61357ce
VS
18892012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
1892 len = 0.
1893 (grub_gettext_translate_real): Handle 0th string.
1894 (grub_gettext_translate): Ensure that "" isn't translated.
1895
505e41dc
VS
18962012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
1899 TRANSLATORS comment.
1900 (grub_diskfilter_print_partmap): Propagate changing of error into
1901 warning.
1902
e44092db
VS
19032012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
1906 to uint64_t to prevent overflow.
1907 (grub_diskfilter_lv): Increase start_extent and extent_count
1908 to uint64_t to prevent overflow.
1909
9b83956a
VS
19102012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * configure.ac: Increase version.
1913
da0d5b3f
VS
19142012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
1917
1918 * po/Rules-translit: New file.
1919 * po/arabic.sed: Likewise.
1920 * po/cyrillic.sed: Likewise.
1921 * po/greek.sed: Likewise.
1922 * po/hebrew.sed: Likewise.
1923 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
1924 * po/Makefile.in.in: Add extra_dist4.
1925
ac66b453
VS
19262012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 Handle big-endian minixfs (fixes minixfs tests on bigendian).
1929
1930 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
1931 modify names. Introduce MODE_BIGENDIAN.
1932 * grub-core/fs/minix_be.c: New file.
1933 * grub-core/fs/minix2_be.c: Likewise
1934 * grub-core/fs/minix3_be.c: Likewise.
1935 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
1936 minix3_be.
1937 * grub-core/Makefile.core.def (minix_be): New module.
1938 (minix2_be): Likewise.
1939 (minix3_be): Likewise.
1940
19412012-04-01 Felix <email@hamburg.de>
1942
1943 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
1944 (devs): Add MBP 2011.
1945
0a2d5a82
VS
19462012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
1949
d1625889
VS
19502012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/normal/cmdline.c (print_completion): New field
1953 prompt_len.
1954 (grub_cmdline_get): Handle width properly.
1955
6d36a236
VS
19562012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/commands/lsacpi.c (options): Add missing terminator.
1959
9576977e
VS
19602012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 1963 after 29th of February.
9576977e 1964
d73ff15d
VS
19652012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 Fix exfat endianness handling.
1968
1969 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
1970 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
1971 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
1972 Byte-swap utf16 when necessary.
1973 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
1974
bbb39a45
AB
19752012-03-31 Anton Blanchard <anton@samba.org>
19762012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 Fix btrfs endianness handling.
1979
1980 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
1981 (lower_bound): Make root uint64_t. Use root in le.
1982 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
1983 (find_path): Fix template key init.
1984 (grub_btrfs_dir): Fix mtime byteswap.
1985 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
1986
354e0af7
VS
19872012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
1990 recursion_depth. Break infinite resursions. All users updated.
1991
4e75f21c
VS
19922012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1993
1994 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
1995 after free.
1996 Reported by: Peter Jones.
1997
25581802
AB
19982012-03-31 Anton Blanchard <anton@samba.org>
1999
2000 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2001 8 bit values.
2002
08fbf92e
VS
20032012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * util/grub-install.in: Fix nvram call for PreP.
2006
5d1182a6
VS
20072012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2010 the error when some elements are missing into a warning.
2011
3f8cdd90
VS
20122012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2015
51006716
CW
20162012-03-28 Colin Watson <cjwatson@ubuntu.com>
2017
2018 * docs/grub.texi (Invoking grub-probe): New section.
2019 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2020
e1bd676b
VS
20212012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 Fix tab and wide character handling in editor and menu.
2024
2025 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2026 agglomerate control characters with combining marks.
2027 (bidi_line_wrap): Allow break on tab.
2028 (grub_unicode_get_comb_start): New function.
2029 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2030 and tab correctly.
2031 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2032 with a space.
2033 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2034 fixed_tab_size. All users updated.
2035 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2036 (grub_term_getcharwidth): Handle \t.
2037 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2038 and copy.
2039
22e6a774
VS
20402012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Handle big-endian mdraid.
2043
2044 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2045 * grub-core/Makefile.core.def (mdraid09_be): New module.
2046 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2047 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2048 * grub-core/disk/mdraid_linux_be.c: New file.
2049
3c0eae66
VS
20502012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2053
b6cf74c9
VS
20542012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2057 missing quotes which caused confusion among translators.
2058
83c93b9c
VS
20592012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * util/grub-mkconfig_lib.in: Fix typo.
2062
ac6fd218
VS
20632012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2066 spaces.
2067 * tests/grub_script_leading_whitespace.in: New file.
2068 * Makefile.util.def (grub_script_leading_whitespace): New test.
2069
ba287dd8
VS
20702012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2073 to work.
2074
d2d58d0a
VS
20752012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2078 starts with control character.
2079
0382d9bb
VS
20802012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2083 overflow.
2084 (grub_gdb_outbuf): Likewise.
2085
d83ff9f9
VS
20862012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2089 zero terminator. Fixes a crash.
2090
2282da4a
VS
20912012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2094 beyond 4 GiB.
2095 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2096 images independently of preffered adderss field.
2097
0ae4f0bd
VS
20982012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2101 * grub-core/commands/regexp.c: Likewise.
2102 * grub-core/loader/i386/linux.c: Likewise.
2103 * grub-core/partmap/msdos.c: Likewise.
2104 * grub-core/script/execute.c: Likewise.
2105 * grub-core/term/gfxterm.c: Likewise.
2106
546fbe9b
VS
21072012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 Add variable parsing in $"..." and fix several mismatches with bash.
2110
2111 * Makefile.util.def (grub_script_gettext): New test.
2112 * grub-core/script/execute.c (parse_string): New function.
2113 (gettext_append): Likewise.
2114 (grub_script_arglist_to_argv): Use gettext_append.
2115 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2116 * tests/grub_script_gettext.in: New file.
2117
9fdb2d7b
VS
21182012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 Fix handling of leading spaces in scripts.
2121
2122 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2123 spaces.
2124 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2125 other than skipping \r. All users updated.
2126 * tests/grub_script_echo1.in: Add space-related tests.
2127 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2128
1a1ac4f6
VS
21292012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2132
b63d89b6
VS
21332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * configure.ac: Bump up the version to beta2.
2136
17f38c0f
VS
21372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 Fix gettext reload bugs (e.g. inability to disable gettext
2140 once enabled).
2141
2142 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2143 main_context and secondary_context. All functions updated.
2144 (grub_gettext_translate): Rename to ...
2145 (grub_gettext_translate_real): ... this. Return NULL on failed
2146 translate.
2147 (grub_gettext_translate): Handle secondary context.
2148 (grub_gettext_delete_list): Close file and zero-out the context.
2149 (grub_mofile_open): Don't call grub_gettext_delete_list.
2150 Don't close file.
2151 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2152 if locale="" to avoid pointless error message.
2153 (grub_gettext_env_write_lang): Update lang even if load fails.
2154 Handle secondary context.
2155 (grub_gettext_reread_prefix): New function.
2156 (read_main): Likewise.
2157 (read_secondary): Likewise.
2158 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2159 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2160 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2161 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2162
8e56f870
VS
21632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * configure.ac: Decrease warning level to avoid spurious warnings and
2166 to be able to compile with GCC 4.2.
2167 * Makefile.util.def: Remove -Wno-error=logical-op.
2168
82f6d455
WB
21692012-03-10 William Bittner <william.bittner@gmail.com>
2170
2171 * util/import_unicode.py: Add missing brackets around string for
2172 python 3 support.
2173
1ecd61a4
VS
21742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 Fix efi chainloader on network root.
2177
2178 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2179 network devices.
2180 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2181 New function.
2182
14361ee8
VS
21832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2186 unused show_text member.
2187 * docs/grub.texi: Document "text" property.
2188
922aabf3
VS
21892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2192 in dprintf.
2193
ec316771
VS
21942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 Fix IMSM handling on Fedora.
2197
2198 * util/getroot.c (grub_util_is_imsm): New function.
2199 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2200
0f021838
VS
22012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * Makefile.am: Strip gold section.
2204 * conf/Makefile.common: Likewise.
2205 * gentpl.py: Likewise.
2206 * grub-core/Makefile.core.def: Likewise.
2207 * grub-core/genmod.sh.in: Likewise.
2208
1039c8eb
VS
22092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2212 * util/grub.d/20_linux_xen.in: Likewise.
2213 Based on Debian patch.
2214
6dd412cd
VS
22152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * util/grub.d/10_linux.in: Fix syntax error resulting in
2218 Richard Laager's patch.
2219 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2220
3fd8bae5
VS
22212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2224 dependencies.
2225
7eea1671
RL
22262012-03-10 Richard Laager <rlaager@wiktel.com>
2227
2228 * util/grub.d/10_linux.in: Fix ZFS root passing.
2229
e8e0566b
VS
22302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2233 * grub-core/commands/xnu_uuid.c: Likewise.
2234 * grub-core/loader/efi/appleloader.c: Likewise.
2235 * grub-core/script/execute.c: Likewise.
2236 * grub-core/script/main.c: Likewise.
2237 * util/grub-mkfont.c: Likewise.
2238
1acc5b1f
VS
22392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * util/grub-mkfont.c (options): Use more appropriate "select" that
2242 "set" for face index.
2243
35d70620
VS
22442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * util/grub-editenv.c (options): Gettextize command summaries.
2247
c9eb96b5
VS
22482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
2251 "out of memory" error messagge.
2252
1f493136
VS
22532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
2256 of diskfilter for diskfilter on diskfilter support.
2257
6d790129
VS
22582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
2261
005f46c9
VS
22622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * util/grub-install.in: Check for themes/starfield/theme.txt and not
2265 themes/starfield.
2266
c8f778a0
VS
22672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
2270
de1e64eb
VS
22712012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
2274
c6d54211
VS
22752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
2278 of error message.
2279
dd390777
VS
22802012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
2283
5fd1c522
VS
22842012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
2287 message.
c6d54211 2288 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 2289
fae01f6c
VS
22902012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
2293 Gettextize.
2294 * util/grub-mount.c (options): Likewise.
2295
292fdaff
VS
22962012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
2299 gettextize.
2300 * grub-core/commands/search_wrap.c (options): Likewise.
2301
ecdbae77
VS
23022012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
2305
52bfedfa
VS
23062012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
2309 size calculation.
2310 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
2311 none is known.
2312
55b20e58
VS
23132012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
2316 "temporary" since it's used in identifier and is limited in space.
2317
fda9d101
VS
23182012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * po/POTFILES.in: Regenerate. Include *.h since they contain
2321 translatable strings as well.
2322
6a0295e2
VS
23232012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2326 byte-swap on big-endian.
2327 Reported by: Lennart Sorensen
2328
807fb77c
VS
23292012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
2332 (allocate_pages): Improve dprintf.
2333 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
2334 code32_start. Fill code32_start and kernel_alignment in params.
2335 (grub_cmd_initrd): Use prot_init_space.
2336
61ac50ba
VS
23372012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
2340
abdd26dd
VS
23412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * util/grub-install.in: Add missing dot at the end of sentence.
2344
6e69da9c
VS
23452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2348 * grub-core/commands/videotest.c: Likewise.
2349 * grub-core/loader/i386/linux.c: Likewise.
2350
4a929343
VS
23512012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
2354 sentence.
2355 Reported by: Milo Casagrande.
2356
bb51c6c6
VS
23572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
2360 * grub-core/commands/gptsync.c: Likewise.
2361 * grub-core/commands/hashsum.c: Likewise.
2362 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2363 * grub-core/commands/legacycfg.c: Likewise.
2364 * grub-core/io/gzio.c: Likewise.
2365 * grub-core/net/net.c: Likewise.
2366 * grub-core/term/gfxterm.c: Likewise.
2367 * grub-core/term/terminfo.c: Likewise.
2368 * grub-core/tests/test_blockarg.c: Likewise.
2369 * grub-core/video/video.c: Likewise.
2370 * util/grub-install.in: Likewise.
2371 * util/grub-mkfont.c: Likewise.
2372
b2b149cb
VS
23732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
2376
c7c080ad
VS
23772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 2380 Reported by: David Prévot.
c7c080ad 2381
f2e243c0
VS
23822012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
2385 description.
2386
09963c76
VS
23872012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 * util/grub-script-check.c (main): Fix a syntax error message which was
2390 unclear.
2391
a50514a8
VS
23922012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2393
2394 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
2395
4650daec
VS
23962012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
2399 messages.
2400
24012012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
2402
2403 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
2404 without argument.
2405 * util/grub-mount.c (options): Likewise.
2406
bbc5a342
VS
24072012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
2410
ef292a87
VS
24112012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * grub-core/net/http.c: Add TRANSLATORS comments.
2414 * grub-core/normal/cmdline.c: Likewise.
2415 * grub-core/normal/misc.c: Likewise.
2416 * grub-core/partmap/msdos.c: Likewise.
2417 * grub-core/parttool/msdospart.c: Likewise.
2418 * grub-core/script/execute.c: Likewise.
2419 * grub-core/script/main.c: Likewise.
2420 * grub-core/term/terminfo.c: Likewise.
2421 * grub-core/video/bitmap.c: Likewise.
2422 * util/grub-install.in: Likewise.
2423 * util/grub-mkimage.c: Likewise.
2424 * util/grub-mklayout.c: Likewise.
2425 * util/grub-setup.c: Likewise.
2426
0fc19bd0
VS
24272012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
2430 with similar messages in grub-fstest.
2431
d95862ef
VS
24322012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * util/grub-install.in: Unify "option requires an argument" message
2435 with similar messages in other files.
2436 * util/grub-mkconfig.in: Likewise.
2437
b7308f90
VS
24382012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * util/grub-set-default.in: Replace printf with gettext_printf (the
2441 string in in question is already translated from grub-reboot)
2442
559dc587
VS
24432012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * configure.ac: Bump up the version to beta1.
2446
1a11761f
VS
24472012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
2450 case when min_align = 0.
2451
24539abd
VS
24522012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
2455 and fix a case when line_start overflows.
2456
32bd735b
VS
24572012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * util/grub-reboot.in (usage): Mention id posibility.
2460 * util/grub-set-default.in (usage): Likewise.
2461
1a2fd1e6
VS
24622012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
2465 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
2466 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2467 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2468 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2469 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2470 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2471
90eeab76
VS
24722012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * grub-core/commands/menuentry.c (options): Remove
2475 GRUB_ARG_OPTION_REPEATABLE.
2476 Reported by: Andreas Vogel
2477
5ad1be82
AV
24782012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
2479
2480 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
2481
cb055286
HE
24822012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
2483
2484 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
2485 error.
2486
93b1cd79
VS
24872012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 Use sort -V by the idea of Georgi Georgiev.
2490
2491 * util/grub-mkconfig_lib.in (version_sort): New function.
2492 (version_test_numeric): Use version_sort.
2493
0cdc126c
VS
24942012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 Use submenus in grub-mkconfig.
2497
2498 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
2499 * util/grub-mkconfig_lib.in (grub_quote): New function.
2500 (gettext_printf): Use gettext and not gettext_quoted to fix several
2501 messages.
2502 * util/grub.d/10_hurd.in: Use submenus.
2503 * util/grub.d/10_kfreebsd.in: Likewise.
2504 * util/grub.d/10_linux.in: Likewise.
2505 * util/grub.d/10_netbsd.in: Likewise.
2506 * util/grub.d/20_linux_xen.in: Likewise.
2507 * util/grub.d/30_os-prober.in: Likewise.
2508 * util/grub.d/10_illumos.in: Add missing quoting.
2509 * util/grub.d/10_windows.in: Likewise.
2510
d9bef9bc
VS
25112012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 Fix menu title instability bug.
2514
2515 * grub-core/commands/menuentry.c (options): New option --id.
2516 (grub_normal_add_menu_entry): New argument id. All users updated.
2517 (grub_cmd_menuentry): Handle --id.
2518 (grub_menu_init): Accept unknown arguments.
2519 * grub-core/normal/main.c (features): Add feature_menuentry_id and
2520 feature_menuentry_options.
2521 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
2522 saved_entry.
2523 (get_entry_number): Match with id as well.
2524 * include/grub/menu.h (grub_menu_entry): New member id.
2525 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
2526 * util/grub.d/00_header.in: Define menuentry_id_option.
2527 * util/grub.d/10_hurd.in: Define id.
2528 * util/grub.d/10_illumos.in: Likewise.
2529 * util/grub.d/10_kfreebsd.in: Likewise.
2530 * util/grub.d/10_linux.in: Likewise.
2531 * util/grub.d/10_netbsd.in: Likewise.
2532 * util/grub.d/10_windows.in: Likewise.
2533 * util/grub.d/20_linux_xen.in: Likewise.
2534 * util/grub.d/30_os-prober.in: Likewise.
2535
25362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
2537
2538 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
2539 "scope" with "body".
2540
7c8d0ce7
VS
25412012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
2544 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
2545 prot_size and prot_file_size.
2546
49de079b
VS
25472012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
2550 All users updated. If easily=1 require raid-5/-6 to be full.
2551 (is_node_readable): Likewise.
2552 (scan_devices): Scan incomplete but readable LVs at the end.
2553 (grub_diskfilter_memberlist): Pull missing devices.
2554 (insert_array): Skip scanning until device is complete or scan is
2555 done otherwise.
2556 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
2557 check.
2558 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
2559 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
2560
aff05d45
MG
25612012-03-03 Matthew Garrett <mjg@redhat.com>
25622012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 Avoid EFI boot services when loading Linux.
2565
2566 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
2567 avoid_efi_bootservices. All users updated.
2568 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
2569 argument avoid_efi_bootservices. All users updated.
2570 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
2571 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
2572 align, min_align, relocatable, prefered_address. All users updated.
2573 Allocate avoiding boot services if kernel is relocatable.
2574 (grub_cmd_linux): Check if kernel is relocatable.
2575 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
2576 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
2577 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
2578 avoid_efi_boot_services.
2579 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
2580 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
2581 (linux_kernel_params): Likewise.
2582
3935dde2
MG
25832012-03-03 Matthew Garrett <mjg@redhat.com>
25842012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 Use EDID on EFI.
2587
2588 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
2589 datasize_out.
2590 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
2591 modes. Set gop_handle.
2592 (grub_video_gop_get_edid): New function.
2593 (grub_gop_get_preferred_mode): Likewise.
2594 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
2595 (grub_video_efi_gop_adapter): Set .get_edid.
2596 * include/grub/efi/edid.h: New file.
2597 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
2598
32107ec0
VS
25992012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * util/grub-install.in: Load efivars unconditionally.
2602
e70a2c50
VS
26032012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * po/Rules-piglatin: Change suffix from .po-update-en to
2606 .po-update-en-piglatin.
2607
8f9cace1
VS
26082012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 Add a pig farm.
2611
2612 * po/piglatin.sed: New file.
2613 * po/en@piglatin.header: Likewise.
2614 * po/Rules-piglatin: Likewise.
2615 * po/README: Add en@piglatin to autogenerated languages.
2616
8f95d002
VS
26172012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
2620 "Command for ...".
2621 * grub-core/commands/hdparm.c (options): Use "Display" rather than
2622 "Check" since we don't check anything.
2623 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
2624 is 64-bit one.
2625 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
2626 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
2627 (grub_md_sha512_real): Likewise.
2628
805a8dcc
VS
26292012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * grub-core/commands/gptsync.c: Fix typographic quoting.
2632 * grub-core/commands/ieee1275/suspend.c: Likewise.
2633 * grub-core/commands/parttool.c: Likewise.
2634 * grub-core/commands/search_wrap.c: Likewise.
2635 * grub-core/commands/videoinfo.c: Likewise.
2636 * grub-core/gfxmenu/gui_label.c: Likewise.
2637 * grub-core/hello/hello.c: Likewise.
2638 * grub-core/kern/emu/main.c: Likewise.
2639 * grub-core/net/net.c: Likewise.
2640 * grub-core/normal/menu.c: Likewise.
2641 * grub-core/normal/menu_text.c: Likewise.
2642 * grub-core/normal/misc.c: Likewise.
2643 * util/grub-editenv.c: Likewise.
2644 * util/grub-install.in: Likewise.
2645 * util/grub-kbdcomp.in: Likewise.
2646 * util/grub-mkconfig.in: Likewise.
2647 * util/grub-mknetdir.in: Likewise.
2648 * util/grub-mkrescue.in: Likewise.
2649 * util/grub-mkstandalone.in: Likewise.
2650 * util/grub-reboot.in: Likewise.
2651 * util/grub-set-default.in: Likewise.
2652 * util/grub-setup.c: Likewise.
2653 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2654
40211ab8
VS
26552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
2658 * grub-core/commands/keystatus.c: Likewise.
2659 * grub-core/commands/loadenv.c: Likewise.
2660 * grub-core/commands/probe.c: Likewise.
2661 * grub-core/commands/regexp.c: Likewise.
2662 * grub-core/commands/true.c: Likewise.
2663 * grub-core/commands/videoinfo.c: Likewise.
2664 * grub-core/disk/cryptodisk.c: Likewise.
2665 * grub-core/disk/ldm.c: Likewise.
2666 * grub-core/disk/loopback.c: Likewise.
2667 * grub-core/disk/luks.c: Likewise.
2668 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2669 * grub-core/kern/disk.c: Likewise.
2670 * grub-core/kern/emu/hostdisk.c: Likewise.
2671
0c7d99c7
VS
26722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
2675 * util/grub-install.in: Add missing quote in the comment.
2676
e7d2559b
VS
26772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
2680 * grub-core/commands/lsmmap.c: Likewise.
2681 * grub-core/commands/minicmd.c: Likewise.
2682 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2683 * grub-core/commands/regexp.c: Likewise.
2684 * grub-core/gdb/gdb.c: Likewise.
2685 * grub-core/term/gfxterm.c: Likewise.
2686 * util/grub-mkconfig.in: Likewise.
2687 * util/grub-mkfont.c: Likewise.
2688 * util/grub-mklayout.c: Likewise.
2689 * util/grub-mknetdir.in: Likewise.
2690 * util/grub-mkrescue.in: Likewise.
2691 * util/grub.d/30_os-prober.in: Likewise.
2692
49ce9e50
VS
26932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
2696 with "Direct color" and "Packed" with "Packed pixel".
2697 (grub_cmd_videoinfo): Simplify legend.
2698
e4b791fa
VS
26992012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2702 absolutely unclear error message.
2703
fd1265cb
VS
27042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * util/grub-mkstandalone.in: Remove confusing leftover print.
2707
8822a8a0
VS
27082012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
2711 comments.
2712 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
2713 (GRUB_MOD_INIT): Likewise.
2714 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
2715 VGA mode.
2716 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
2717 comments.
2718 * util/grub-install.in (usage): Likewise.
2719 Spell ID in whole letters.
2720 Add missing ending dot.
2721 Quote variables.
2722 * util/grub-reboot.in: Fix capitalisation.
2723 * util/grub-set-default.in: Likewise.
2724
937fd0cc
VS
27252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
2728 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
2729 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
2730 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
2731 Disable -Werror for -Wdeprecated-declarations.
2732 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
2733 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
2734 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
2735 (grub_util_get_grub_dev): Make luks handling dependent on
2736 HAVE_DEVICE_MAPPER and not __linux__.
2737 (get_win32_path): Fix format security.
2738 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
2739 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
2740 Don't try grub_find_zpool_from_dir.
2741 (grub_make_system_path_relative_to_its_root) [!__linux__]:
2742 #ifdef-out paresdir.
2743
1bab1ae3
VS
27442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * util/grub-pe2elf.c (usage): Add missing noreturn.
2747 (write_section_data): Rename name to shname to avoid shadowing.
2748 (write_symbol_table): Rename name to symname to avoid shadowing.
2749 Fix write_reloc_section call.
2750
ef023e42
VS
27512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
2754 to ensure that it's after the last byte of .text.
2755
48afcb75
VS
27562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * util/ieee1275/ofpath.c (my_isdigit): New function.
2759 (trailing_digits): Use my_isdigit.
2760 (strip_trailing_digits): Likewise.
2761
88d51eff
VS
27622012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2763
2764 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
2765 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
2766
17edc2ba
VS
27672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * grub-core/kern/i386/pc/startup.S: Define __start.
2770
ad5518d7
VS
27712012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
2774 strip already transforms he format.
2775
9e95e1bf
VS
27762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
2779
9cc3ee5c
VS
27802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * util/grub-install.in: Add missing gettext init.
2783 * util/grub-kbdcomp.in: Likewise.
2784 * util/grub-mkconfig.in: Likewise.
2785 * util/grub-mknetdir.in: Likewise.
2786 * util/grub-mkrescue.in: Likewise.
2787 * util/grub-mkstandalone.in: Likewise.
2788 * util/grub-reboot.in: Likewise.
2789 * util/grub-set-default.in: Likewise.
2790 * util/grub.d/00_header.in: Likewise.
2791 * util/grub.d/10_hurd.in: Likewise.
2792 * util/grub.d/10_windows.in: Likewise.
2793 * util/grub.d/30_os-prober.in: Likewise.
2794 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2795
49e08a06
VS
27962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2797
2798 * po/Rules-swiss: Fix header comment.
2799
3809cb41
AV
28002012-02-29 Andreas Vogel <anvoit>
2801
2802 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
2803 resulted in leak of arguments.
2804
fa6ec573
VS
28052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2806
2807 * grub-core/boot/i386/pc/startup_raw.S: Use separate
2808 reed_solomon_size const definition instead of computing it since
2809 Apple assembler doesn't support the later.
2810
22899b9c
VS
28112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * gentpl.py (kernel): Rewrite Apple part.
2814
a132afc3
VS
28152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * include/grub/kernel.h (FOR_MODULES): Check module magic.
2818
9d742bd4
VS
28192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 * util/grub-mkimagexx.c (locate_sections): Support non-standard
2822 ELF section gap.
2823 (load_image): Likewise.
2824
f04a9a21
VS
28252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * configure.ac: Fix a typo in previous commit.
2828
46cf439c
VS
28292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 Don't add -Wl,-N on Apple platform.
2832
2833 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
2834 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
2835
c4c48c54
VS
28362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * grub-core/Makefile.core.def (lzma_decompress): Use
2839 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
2840
31a12124
VS
28412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/genmod.sh.in: Rewrite the Apple part.
2844
4f3aa1af
VS
28452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
2848 comparison.
2849
7bd8b0c7
VS
28502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * acinclude.m4 (grub_CHECK_PIC): New test.
2853 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
2854
97304d7c
VS
28552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
2858 to avoid the warning.
2859
fb883812
VS
28602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
2863 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
2864 after. All users updated.
2865
a121c964
VS
28662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 Use the common size routine in hostfs so we can read disks as well.
2869
2870 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
2871 (grub_util_get_fd_size): ... this. Return size in bytes.
2872 All users updated.
2873 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
2874 grub_util_get_fd_size.
2875
c66d6410
VS
28762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
2879 Add blocksize retrieval.
2880
dfc8aeb0
VS
28812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * configure.ac: Restore CFLAGS after efiemu check.
2884
403e25a5
VS
28852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
2888 Apple bug.
2889
382775d1
VS
28902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
2893
6fd4e6e4
VS
28942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
2897 (grub_cmd_halt): Likewise.
2898
bea359d6
VS
28992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
2902 for local arithmetics.
2903 Break %sp init into 2 instructions.
2904 Add 0 byte at the end.
2905
32eb6ee1
VS
29062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * grub-core/disk/diskfilter.c (read_segment): Initialise err
2909 before loops.
2910
e8377389
VS
29112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
2914 for context.
2915
8cb17de7
VS
29162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * grub-core/disk/ldm.c (make_vg): Init part.name.
2919 (grub_ldm_detect): Silence spurious warning.
2920 (grub_util_is_ldm): Likewise.
2921
595717e6
VS
29222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
2925 sane value to avoid a spurious warning.
2926
c4b7e588
VS
29272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
2930 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
2931
59824957
VS
29322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
2935 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
2936
70115b99
VS
29372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
2940 hardcoding the relevant info.
2941
56733740
VS
29422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
2945 missing const qualifiers.
2946 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
2947
43481481
VS
29482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * util/getroot.c [__APPLE__]: Add missing includes.
2951 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
2952
3cb38f01
VS
29532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * util/grub-mkimage.c (generate_image): Silence spurious warning.
2956
d9dbf11e
VS
29572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
2960 avoid conflicts.
2961
0c42a45d
VS
29622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
2965
46c34eb0
VS
29662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
2969 and grub_file_close call.
2970
99ce1597
VS
29712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 Add LZSS Mach-O support (needed for new xnu kernelcache).
2974
2975 * grub-core/Makefile.core.def (xnu): Add file lzss.c
2976 * grub-core/loader/lzss.c: New file.
2977 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
2978 on Mach-O open failure.
2979 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
2980 Don't free cmdsXX in uncompressedXX is set.
2981 (grub_macho_file): Init new fields.
2982 New argument is_64bit. All users updated.
2983 Handle compressed. Error out if no suitable architecture is found.
2984 Don't close file.
2985 (grub_macho_open): New argument is_64bit. All users updated.
2986 * grub-core/loader/macho32.c: Add defines for new fields.
2987 * grub-core/loader/macho64.c: Likewise.
2988 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
2989 (grub_macho_parse): Handle compressed.
2990 Defer actual processing if compressed.
2991 (grub_macho_cmds_iterate): Decompress if compressed. New argument
2992 "filename". All users updated.
2993 (grub_macho_size): New argument "filename". All users updated.
2994 (grub_macho_get_entry_point): Likewise.
2995 (grub_macho_load): Handle compressed.
2996 * include/grub/macho.h (grub_macho_lzss_header): New struct.
2997 (GRUB_MACHO_LZSS_OFFSET): New define.
2998 (grub_decompress_lzss): New proto.
2999 * include/grub/machoload.h (grub_macho_file): New fields to handle
3000 compressed.
3001 (grub_macho_contains_macho64): Remove proto.
3002 (grub_macho_contains_macho32): Likewise.
3003 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3004
ebd17d6f
VS
30052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3008
2702b4e4
VS
30092012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 Fix make dist.
3012
3013 * Makefile.am (starfield_theme_files): New var.
3014 (starfield_DATA): Use starfield_theme_files.
3015 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3016 Add bootcheck-related files.
3017 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3018 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3019 and font_char_metrics.txt.
3020 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3021 (setjmp): Add lib/ia64/longjmp.S.
3022 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3023 * po/POTFILES.in: Regenerate.
3024 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3025 DISTFILES.common.extra1.
3026 * util/devicemap.c: Removed.
3027 * grub-core/lib/i386/relocator_backward.S: Likewise.
3028 * util/import_gcry.py: Remove unused files. Add extra_dist for
3029 ChangeLog.
3030
cf1adfdf
VS
30312012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3034 grub_gettext_delete_list before changing grub_gettext_max to avoid
3035 running out of array bounds.
3036
30372012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
3038
3039 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3040 grub_vga_text_init/grub_vga_text_fini.
3041
cf1adfdf 30422012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
3043
3044 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3045
541d92e9
VS
30462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 * configure.ac: Bump to 2.00~beta0.
3049
7931dddf
VS
30502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3053 missing initialisation.
3054
f1b16fa3
VS
30552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3058
83ddae23
VS
30592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 Support v2 xnu boot arguments.
3062
3063 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3064 New argument fsbfreq_out.
3065 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3066 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3067 be used.
3068 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3069 darwin_version.
3070 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3071 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3072 (grub_xnu_boot_params): Rename to ...
3073 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3074 (grub_xnu_boot_params_v2): New struct.
3075
dc693fe6
VS
30762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3079 zeroing of CRC field before computing CRC.
3080
5a6e39c2
VS
30812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3084 Change order of allocations to decrease fragmentation.
3085
6c21f5d7
VS
30862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3089
cfe456dc
CW
30902012-02-27 Colin Watson <cjwatson@ubuntu.com>
3091
3092 Use write-combining MTRR to speed up video with buggy BIOSes.
3093
3094 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3095 (cpuid): New define.
3096 (rdmsr): Likewise.
3097 (wrmsr): Likewise.
3098 (mtrr_base): Likewise.
3099 (mtrr_mask): Likewise.
3100 (grub_vbe_enable_mtrr_entry): New function.
3101 (grub_vbe_enable_mtrr): Likewise.
3102 (grub_vbe_disable_mtrr): Likewise.
3103 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3104 control off to BIOS.
3105 (grub_video_vbe_init): Fill mtrr.
3106 (grub_video_vbe_fini): Disable mtrr.
3107 (grub_video_vbe_get_info_and_fini): Likewise.
3108 (grub_video_vbe_setup): Enable mtrr.
3109
e3c78337
CW
31102012-02-27 Colin Watson <cjwatson@ubuntu.com>
3111
3112 * include/grub/partition.h (grub_partition_map): Change prototype of
3113 embed to take a maximum value for nsectors.
3114 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3115 * include/grub/fs.h (grub_fs): Likewise.
3116 * grub-core/partmap/msdos.c (embed_signatures): New array.
3117 (pc_partition_map_embed): Check for and avoid sectors matching any
3118 of the signatures in embed_signatures, up to max_nsectors.
3119 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3120 returned sector map to max_nsectors.
3121 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3122 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3123 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3124 * util/grub-setup.c (setup): Allow for the embedding area being
3125 split into multiple blocklists. Tell dest_partmap->embed the
3126 maximum number of sectors we care about.
3127
31282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3131 Specify blocklist_install and reserver_first_sector for all fs.
3132 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3133 blocklists.
3134
984b973f
VS
31352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * util/grub-install.in: Clarify strings.
3138 Fix source dir check.
3139
f122e0d6
RL
31402012-02-27 Richard Laager <rlaager@wiktel.com>
3141
3142 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3143 "zfs" and "fuse.zfs" as synonyms.
3144
071114bb
VS
31452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * configure.ac: Put platform and target_cpu substitutions back since
3148 they are used for directories.
3149
817e6abc
RL
31502012-02-27 Richard Laager <rlaager@wiktel.com>
31512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3154 * util/grub.d/20_linux_xen.in: Likewise.
3155
897b7419
RL
31562012-02-27 Richard Laager <rlaager@wiktel.com>
3157
3158 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3159 with full paths.
3160
a414bd15
RL
31612012-02-27 Richard Laager <rlaager@wiktel.com>
3162
3163 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3164 unescape.
3165
30ac48c4
VS
31662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 Don't use insecure popen in getroot.
3169
3170 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3171 (exec_pipe): ... here.
3172 (find_root_devices_from_poolname): Use exec_pipe.
3173
53f13848
VS
31742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 Remove platform and target_cpu replacement.
3177
3178 * configure.ac: Remove platform and target_cpu substitutions.
3179 * tests/util/grub-shell.in: Use modinfo.
3180 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3181 explicitly.
3182
90cb2803
VS
31832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 Autodetect platform in grub-install but allow override.
3186
3187 * util/grub-install.in: Autodetect platform. Support --target and
3188 --directory. Read platform from modinfo.sh.
3189
b9136427
VS
31902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 Support btrfs multi-volume probe.
3193
3194 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3195 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3196 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3197 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3198 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3199 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3200 grub_find_root_devices_from_btrfs if on btrfs.
3201
c36e5cd1
VS
32022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 Remove any awareness of *.c util files about target.
3205
3206 * Makefile.util.def (grub-setup): Split to ...
3207 (grub-bios-setup): ... and this.
3208 (grub-sparc64-setup): ... and this.
3209 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3210 * docs/man/grub-setup.h2m: Split into ...
3211 * docs/man/grub-sparc64-setup.h2m: ... this.
3212 * docs/man/grub-bios-setup.h2m: ... and this.
3213 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3214 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3215 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3216 (grub_target_addr_t): Remove.
3217 (grub_target_size_t): Remove.
3218 (grub_target_ssize_t): Remove.
3219 * util/grub-install.in: Use new grub-*-setup.
3220 * util/grub-mkimagexx.c (Elf_Word): New define.
3221 (Elf_Half): Likewise.
3222 (Elf_Section): Likewise.
3223 (ELF_ST_TYPE): Likewise.
3224 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3225 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3226
584b2f8a
VS
32272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 Replace grub_target_addr with more appropriate types.
3230
3231 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3232 grub_target_addr with grub_addr.
3233 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3234 grub_target_addr with grub_port.
3235 (grub_cmd_write): Likewise.
3236 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3237 grub_target_addr with grub_addr.
3238 (grub_cmd_write): Likewise.
3239 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3240
5a0dc6fb
VS
32412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
3244 const qualifier for vendor_guid.
3245
786aff6e
VS
32462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
3249 const qualifier.
3250 (efiemu_memequal): Likewise.
3251 (find_variable): Likewise.
3252
49017b17
VS
32532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 Fix missing console prototype on qemu-mips.
3256
3257 * include/grub/mips/qemu_mips/console.h: New file.
3258
c5988629
MG
32592012-02-27 Matthew Garrett <mjg@redhat.com>
32602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
3263 * include/grub/efi/efi.h: Likewise.
3264 * include/grub/efi/api.h: Add guid for EFI-specified variables.
3265 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
3266 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
3267 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
3268 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
3269 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
3270
e33f8d69
MG
32712012-02-27 Matthew Garrett <mjg@redhat.com>
3272
3273 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
3274
fb312cd9
VS
32752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
3278 error.
3279
7134247c
VS
32802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * configure.ac: Remove inappropriate use of program_transform_name
3283 on grubdir and bootdir but allow explicit specification of those
3284 variables.
3285
6a313124
VS
32862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * util/grub-mknetdir.in (grub_prefix): Removed.
3289 (subdir): Use @bootdirname@ and @grubdirname@.
3290
2311c5ca
VS
32912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
3294
7d5d60f7
VS
32952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3296
3297 * po/POTFILES.in: Regenerated.
3298
8151bc82
VS
32992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 Remove improper use of program_transform_name on pkglibrootdir.
3302
3303 * configure.ac (pkglibrootdir): Removed.
3304 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
3305 * util/grub-mkimage.c: Likewise.
3306
b4a6a533
VS
33072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
3310 warning.
3311
668f304f
VS
33122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * util/grub-install.in: Use file identifier if no UUID is available
3315 or user explicitly prompted for it.
3316
665f2341
NP
33172012-02-27 Navdeep Parhar <nparhar@gmail.com>
3318
3319 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
3320 (freebsd_get_zfs): New function.
3321 (grub_freebsd_boot): Pass zfs UUID.
3322 (grub_cmd_freebsd): Set zfs UUID.
3323
8151bc82 33242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
3325
3326 * conf/Makefile.common (platformdir): Base on pkglibdir and not
3327 pkglibrootdir.
3328
e4c498a1
MG
33292012-02-27 Mike Gilbert <floppym@gentoo.org>
3330
3331 Add configure flag to control libzfs integration.
3332
3333 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
3334
1e9a9a3f
VS
33352012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
3338 device.
3339 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
3340 small devices.
3341
036985b8
VS
33422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 Remove grub_{modname}_init and grub_{modname}_fini. They should never
3345 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
3346 be used on non-modules.
3347
3348 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
3349 Rename to grub_boot_init.
3350 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
3351 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
3352 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
3353 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
3354 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
3355 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
3356 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
3357 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
3358 includes.
3359 (grub_machine_init): Remove empty inits.
3360 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
3361 includes.
3362 (grub_machine_init): Remove empty inits.
3363 * grub-core/term/arc/console.c: Remove explicit proto.
3364 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
3365 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
3366 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3367 grub_at_keyboard_fini.
3368 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
3369 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
3370 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3371 grub_gfxterm_fini.
3372 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
3373 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
3374 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3375 grub_vgatext_fini.
3376 * grub-core/term/ieee1275/console.c: Remove explicit proto.
3377 * grub-core/term/serial.c (GRUB_MOD_INIT)
3378 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
3379 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3380 grub_serial_fini.
3381 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
3382 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
3383 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3384 grub_terminfo_fini.
3385 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
3386 (GRUB_MOD_FINI): Likewise.
3387 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
3388 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
3389 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3390 grub_video_radeon_fuloong2e_fini.
3391 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
3392 [LOONGSON]: Rename to grub_video_sis315pro_init.
3393 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3394 grub_video_sis315pro_fini.
3395 * grub-core/video/sm712.c (GRUB_MOD_INIT)
3396 [LOONGSON]: Rename to grub_video_sm712_init.
3397 (GRUB_MOD_FINI) [LOONGSON]: Rename to
3398 grub_video_sm712_fini.
3399 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
3400 (grub_at_keyboard_fini): Likewise.
3401 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
3402 Don't declare grub_{modname}_init.
3403 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
3404 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
3405 New proto.
3406 (grub_keylayouts_fini) [!EMU]: Likewise.
3407 * include/grub/serial.h (grub_serial_init) [!EMU]:
3408 New proto.
3409 (grub_serial_fini) [!EMU]: Likewise.
3410 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
3411 New proto.
3412 (grub_terminfo_fini) [!EMU]: Likewise.
3413 * include/grub/video.h (grub_font_init) [!EMU]:
3414 New proto.
3415 (grub_font_fini) [!EMU]: Likewise.
3416 (grub_gfxterm_init) [!EMU]: Likewise.
3417 (grub_gfxterm_fini) [!EMU]: Likewise.
3418 (grub_video_sm712_init) [!EMU]: Likewise.
3419 (grub_video_sm712_fini) [!EMU]: Likewise.
3420 (grub_video_sis315pro_init) [!EMU]: Likewise.
3421 (grub_video_sis315pro_fini) [!EMU]: Likewise.
3422 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
3423 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
3424
d5534665
VS
34252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 Make nand a prefix for nand devices.
3428
3429 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
3430
10133b5f
VS
34312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
3434 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
3435
8e307a62
VS
34362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * include/grub/env.h (grub_env_find): Remove prototype.
3439 * grub-core/kern/env.c (grub_env_find): Make static.
3440 (grub_env_set): Remove useless set.
3441
a4c65f34
VS
34422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * grub-core/kern/i386/realmode.S: Remove useless align.
3445
d87893d5
VS
34462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * include/grub/dl.h (grub_dl_load_file): Don't export.
3449
50159add
VS
34502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
3453 grub_dprintf.
3454
b2582b84
VS
34552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
3458 grub_errors.
3459 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
3460 not reloading whole superblock but only the part which is really needed.
3461 Remove useless grub_errors.
3462 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
3463 grub_errors.
3464
e2a83395
VS
34652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 Don't export grub_get_rtc.
3468
3469 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
3470 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
3471
e7d2a906
VS
34722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
3475
6cf1363b
VS
34762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 3479 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 3480
eece3349
VS
34812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 Remove prio_list.
3484
3485 * include/grub/list.h (grub_prio_list): Removed.
3486 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
3487 GRUB_COMMAND_PRIO_MASK.
3488 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
3489 GRUB_COMMAND_FLAG_ACTIVE.
3490 (grub_prio_list_insert): Removed.
3491 (grub_prio_list_remove): Likewise.
3492 (GRUB_AS_PRIO_LIST): Likewise.
3493 (GRUB_AS_PRIO_LIST_P): Likewise.
3494 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
3495 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
3496 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
3497 * grub-core/kern/command.c (grub_register_command_prio): Inline
3498 the prio_list code.
3499 (grub_unregister_command): Likewise.
3500
94f064b4
VS
35012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 Fix interrupt mixup from previous commit.
3504
3505 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
3506 (grub_realidt): New var.
3507 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
3508 Load idt.
3509 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
3510 New declaration.
3511 (grub_relocator16_boot): Set grub_relocator16_idt.
3512 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
3513 (LOCAL(realidt)): ... this.
3514 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
3515 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
3516 (grub_realidt): New variable.
3517
27317084
VS
35182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
3521 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
3522 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
3523 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
3524 Gettextize.
3525 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
3526 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
3527 * po/POTFILES.in: Regenerate.
3528
47b40053
VS
35292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
3532 errors.
3533
2b343101
VS
35342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
3537 \0.
3538 (add_length): Likewise.
3539
ff27c3dd
LK
35402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
35412012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
3542
3543 GDB serial and backtrace support.
3544
3545 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
3546 (prot_to_real): Likewise.
3547 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
3548 * grub-core/Makefile.core.def (backtrace): New module.
3549 (gdb): Likewise.
3550 * grub-core/gdb/cstub.c: New file.
3551 * grub-core/gdb/gdb.c: Likewise.
3552 * grub-core/gdb/i386/idt.c: Likewise.
3553 * grub-core/gdb/i386/machdep.S: Likewise.
3554 * grub-core/gdb/i386/signal.c: Likewise.
3555 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 3556 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
3557 * include/grub/backtrace.h: Likewise.
3558 * include/grub/gdb.h: Likewise.
3559 * include/grub/i386/gdb.h: Likewise.
3560
35612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
3562
3563 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
3564 New function.
3565 (add_length): Likewise.
3566 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
3567 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
3568 proto.
3569 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
3570 __argp_get_display_len.
3571
ff27c3dd 35722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
3573
3574 $"..." support in scripts.
3575
3576 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
3577 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
3578 * grub-core/script/yylex.l: Likewise.
3579 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
3580 value.
3581
ff27c3dd 35822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
3583
3584 * gentpl.py: Remove obsolete pkglib_DATA handling.
3585
ff27c3dd 35862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
3587
3588 Don't transform PACKAGE_TARNAME following a discussion on autoconf
3589 mailing list.
3590
3591 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
3592 * util/grub-kbdcomp.in: Likewise.
3593 * util/grub-mkconfig.in: Likewise.
3594 * util/grub-mkconfig_lib.in: Likewise.
3595 * util/grub-mknetdir.in: Likewise.
3596 * util/grub-mkrescue.in: Likewise.
3597 * util/grub-mkstandalone.in: Likewise.
3598 * util/grub-reboot.in: Likewise.
3599 * util/grub-set-default.in: Likewise.
3600 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3601
ff27c3dd 36022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
3603
3604 Remove GRUB_PREFIX.
3605
3606 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
3607 * util/grub.d/00_header.in: Compute prefix in the only place it's still
3608 used for backward compatibility.
3609
ff27c3dd 36102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
3611
3612 Add new all_video module.
3613
3614 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
3615 * grub-core/Makefile.core.def (all_video): New module.
3616 * grub-core/genmoddep.awk: Generate dependency of all_video from
3617 video.lst.
3618 * grub-core/lib/fake_module.c: New file.
3619 * grub-core/normal/main.c (features): Add feature_all_video_module.
3620 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
3621 don't do explicit search again.
47454da5 3622 insmod all_video in load_video if available.
22c7ce85 3623
ff27c3dd 36242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
3625
3626 Another round of string clarification and adding TRANSLATORS comments.
3627
ff27c3dd 36282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
3629
3630 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
3631
ff27c3dd 36322012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
3633
3634 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
3635 to grub_ssize_t.
3636 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
3637 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
3638
ff27c3dd 36392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
3640
3641 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
3642 trailing newline implicitly. All users updated.
3643
ff27c3dd 36442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
3645
3646 Implement serial on IEEE1275 and EFI.
3647
3648 * docs/grub.texi (Platform-specific limitations): Fix the columen video
3649 on emu. Mention arc and emu as the only platforms without serial
3650 support.
3651 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
3652 ieee1275 platforms.
3653 * grub-core/term/efi/serial.c: New file.
3654 * grub-core/term/ieee1275/serial.c: Likewise.
3655 * grub-core/term/serial.c (grub_serial_find): Disable direct port
3656 specification if no ns8250 driver is available.
3657 (grub_cmd_serial): Likewise.
3658 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
3659 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
3660 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
3661 (grub_efi_parity_type_t): New type.
3662 (grub_efi_stop_bits_t): Likewise.
3663 (grub_efi_serial_io_interface): New struct.
3664 * include/grub/serial.h (grub_serial_port): Make 'broken' field
3665 available for all interfaces.
3666 Add EFI and IEEE1275 fields.
3667 (grub_ofserial_init): New proto.
3668 (grub_efiserial_init): Likeiwse.
3669 * util/grub.d/00_header.in: Don't check for the presence of serial
3670 module.
3671
ff27c3dd 36722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
3673
3674 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
3675 name as if it was an alias.
3676
114076ef
VS
36772012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/commands/lsacpi.c (options): Fix typo.
3680
6a656b0e
VS
36812012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 Convert grub-emu to argp.
3684
3685 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
3686 emu.
3687 * util/argp_common.c: Rename to ...
3688 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
3689 Add missing includes.
3690 * grub-core/kern/emu/main.c: Convert to argp.
3691 * po/POTFILES.in: Regenerate.
3692 * util/grub-install.in (usage): Make first letter lowcase in messages
3693 for uniformity.
3694 * util/grub-setup.c (options): Likewise.
3695
1e3f8ae8
VS
36962012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
3699 Put back accidently commented-out code.
3700
ed167a80
VS
37012012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
3704 loop check using Brent algorithm.
3705 (grub_hfsplus_btree_search): Likewise.
3706
6753c0ec
VS
37072012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * util/grub-install.in: Fix usage of wrong device for PreP install.
3710
4e27343f
VS
37112012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * conf/Makefile.common (CFLAGS_GNULIB): Add
3714 -Wno-unsafe-loop-optimizations.
3715 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
3716 on tools.
3717 * grub-core/commands/legacycfg.c: Add pragma to skip
3718 -Wunsafe-loop-optimizations.
3719 (check_password_md5_real): Fix loop counter type.
3720 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
3721 reading.
3722 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
3723 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
3724 loop condition.
3725 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
3726 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
3727 * grub-core/net/net.c (grub_net_route_address): Add safety loop
3728 condition.
3729 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
3730 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
3731 avoid possible infinite loops.
3732 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
3733 and -Wunsafe-loop-optimizations.
3734 * grub-core/script/yylex.l: Likewise.
3735 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
3736 (print_glyphs): Avoid infinite loops.
3737 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
3738
697f18b0
GS
37392012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
3740
3741 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
3742 to avoid infinite loop.
3743 (disp_acpi_rsdt_table): Likewise.
3744
274416e8
VS
37452012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3746
3747 * grub-core/font/font.c (grub_font_load): Add support for default
3748 path for fonts ($prefix/fonts).
3749 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
3750 for checking if string is a path.
3751 * grub-core/normal/main.c (features): Add feature_default_font_path.
3752 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
3753 * util/grub.d/00_header.in: Use default directory if possible.
3754 * util/grub-install.in: Install unicode.pf2.
3755
b3e08622
VS
37562012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
3759 * po/Rules-swiss: New file.
3760 * po/swiss.sed: Likewise.
3761
fe42ce09
VS
37622012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * grub-core/fs/btrfs.c (find_device): Fix typos.
3765 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
3766 * util/grub-mkrelpath.c (argp_parser): Likewise.
3767 Reported by: Yuri Chornoivan.
3768
72f1d065
DO
37692012-02-23 Dalet Omega <daletomega@gmail.com>
3770
3771 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
3772 for usual informative messages.
3773
c5884973
DO
37742012-02-23 Dalet Omega <daletomega@gmail.com>
3775
3776 Starfield theme.
3777
3778 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
3779 * conf/Makefile.common: Define starfielddir.
3780 * configure.ac: Configure starfield.
3781 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
3782 * themes/starfield/README: Likewise.
3783 * themes/starfield/blob_w.png: Likewise.
3784 * themes/starfield/boot_menu_c.png: Likewise.
3785 * themes/starfield/boot_menu_e.png: Likewise.
3786 * themes/starfield/boot_menu_n.png: Likewise.
3787 * themes/starfield/boot_menu_ne.png: Likewise.
3788 * themes/starfield/boot_menu_nw.png: Likewise.
3789 * themes/starfield/boot_menu_s.png: Likewise.
3790 * themes/starfield/boot_menu_se.png: Likewise.
3791 * themes/starfield/boot_menu_sw.png: Likewise.
3792 * themes/starfield/boot_menu_w.png: Likewise.
3793 * themes/starfield/slider_c.png: Likewise.
3794 * themes/starfield/slider_n.png: Likewise.
3795 * themes/starfield/slider_s.png: Likewise.
3796 * themes/starfield/src/blob_nw.xcf: Likewise.
3797 * themes/starfield/src/bootmenu/: Likewise.
3798 * themes/starfield/src/bootmenu/center.xcf: Likewise.
3799 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
3800 * themes/starfield/src/bootmenu/side.xcf: Likewise.
3801 * themes/starfield/src/slider_c.xcf: Likewise.
3802 * themes/starfield/src/slider_n.xcf: Likewise.
3803 * themes/starfield/src/slider_s.xcf: Likewise.
3804 * themes/starfield/src/terminalbox/: Likewise.
3805 * themes/starfield/src/terminalbox/center.xcf: Likewise.
3806 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
3807 * themes/starfield/src/terminalbox/side.xcf: Likewise.
3808 * themes/starfield/starfield.png: Likewise.
3809 * themes/starfield/terminal_box_c.png: Likewise.
3810 * themes/starfield/terminal_box_e.png: Likewise.
3811 * themes/starfield/terminal_box_n.png: Likewise.
3812 * themes/starfield/terminal_box_ne.png: Likewise.
3813 * themes/starfield/terminal_box_nw.png: Likewise.
3814 * themes/starfield/terminal_box_s.png: Likewise.
3815 * themes/starfield/terminal_box_se.png: Likewise.
3816 * themes/starfield/terminal_box_sw.png: Likewise.
3817 * themes/starfield/terminal_box_w.png: Likewise.
3818 * themes/starfield/theme.txt: Likewise.
3819
17d73325
VS
38202012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * util/grub.d/00_header.in: Add missing export theme.
3823
dbebaf92
VS
38242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
3827 already included.
3828 Reported by: Eren D.
3829
3d68bffb
VS
38302012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * conf/Makefile.common (grubdatadir): Removed.
3833 (Makefile.am): Move eveything grubdata to pkgdata.
3834
4b59234d
VS
38352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * grub-core/commands/acpihalt.c (get_sleep_type):
3838 Remove unused variable.
3839
463dcadc
VS
38402012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
3843 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
3844 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
3845 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
3846 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
3847 i18n with gettext no-op.
3848 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
3849 GRUB_ACPI_OPCODE_STRING_CONST.
3850 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
3851 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
3852
e5b90c82
VS
38532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * po/POTFILES.in: Regenerate.
3856
2a704ca9
VS
38572012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
3860 -Wno-error=missing-noreturn.
3861
84f9d341
VS
38622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
3865 condition to avoid possibly infinite loops.
3866 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
3867 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
3868
d46683f9
VS
38692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
3872 condition to avoid possibly infinite loops.
3873
c44866b2
VS
38742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
3877 on show_error.
3878
96790539
VS
38792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3880
3881 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
3882
1ba7e295
VS
38832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
3886
21ffe8f1
VS
38872012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * util/bin2h.c (usage): Add missing attribute noreturn.
3890
0ccb6b3c
VS
38912012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
3894 if the size isn't divisible by 512.
3895
b00d7fb6
VS
38962012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 Make list_push and list_remove functions rather than inline functions
3899 to decrease size and avoid aliasing violations.
3900
3901 * include/grub/list.h (grub_list_push): Move to ...
3902 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
3903 * include/grub/list.h (grub_list_remove): Move to ...
3904 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
3905
9d369087
VS
39062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
3909 and -Wunused-result.
3910
af0250d9
VS
39112012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
3914 Reported by: Seth Goldberg
3915
aad32b14
VS
39162012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
3919
ac96441c
ST
39202012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
3921
3922 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
3923 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
3924 command line.
3925 * docs/grub.texi (Simple configuration): Document
3926 GRUB_CMDLINE_GNUMACH.
3927
39282012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
3929
3930 * conf/Makefile.common (platform_SCRIPTS): New variable.
3931 (platform_PROGRAMS): Likewise.
3932 * gentpl.py: Mark *,module and *.image for install.
3933 * grub-core/gdb_grub.in: Add a notice of expected environment.
3934 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
3935 (gmodule.pl): Likewise.
3936
ac96441c 39372012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
3938
3939 Replace grub_checkkey with grub_getkey_noblock.
3940
3941 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
3942 (grub_getkey_noblock): ... this. All users updated.
3943
ac96441c 39442012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
3945
3946 * grub-core/kern/emu/console.c: Move to ...
3947 * grub-core/term/emu/console.c: ...here.
3948 (grub_ncurses_getkey): Fix return value if no key is detected.
3949
e51b5666
VS
39502012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
3953 (grub_unit_test_fini): Likewise.
3954 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
3955
39562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * include/grub/test.h (GRUB_UNIT_TEST)
3959
d9a62292
VS
39602012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/script/execute.c (grub_script_break): Clarify logic.
3963 Better error handling.
3964 (grub_script_return): Likewise.
3965 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
3966
77c9182f
VS
39672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
3970 rimplicit redifinition.
3971
edb13cf9
VS
39722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
3975 GRUB.
3976
a9e9dc7c
VS
39772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
3980 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
3981 prompt here.
3982
b4ba8e02
VS
39832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3984
3985 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
3986 as GRUB_ERR_BUG. Don't malloc if no device is available.
3987
dded5540
VS
39882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
3991 Mark calling with invalid term as GRUB_ERR_BUG.
3992
0cf69874
VS
39932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
3996 packets rather than raising an error.
3997
59bfe502
VS
39982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4001 in if.
4002
db5fc596
VS
40032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4006 diagnostic to dprintf.
4007 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4008
e4b7f404
VS
40092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4012 device name.
4013
e7b02f9e
VS
40142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4017 (grub_ntfs_iterate_dir): Likewise.
4018
0331e102
VS
40192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 Efiemu stylistic fixes and gettext.
4022
4023 * grub-core/efiemu/i386/loadcore32.c
4024 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4025 * grub-core/efiemu/i386/loadcore64.c
4026 (grub_arch_efiemu_relocate_symbols64): Likewise.
4027 * grub-core/efiemu/i386/pc/cfgtables.c
4028 (grub_machine_efiemu_init_tables): Likewise.
4029 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4030 (grub_efiemu_loadcore_initXX): Add a filename argument.
4031 All users updated.
4032 Improved error message.
4033 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4034 Add a filename argument.
4035 All users updated.
4036 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4037 Reclassify double relocation as GRUB_ERR_BUG.
4038
306fc074
VS
40392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4042 handling.
4043
794d8ef2
VS
40442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4047 on partition.
4048
40492012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
4050
4051 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4052
794d8ef2 40532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
4054
4055 Improve string. Gettextize.
4056
78dde88e
VS
40572012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4058
4059 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4060 utils.
4061 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4062
4786a90f
VS
40632012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4066 [GRUB_UTIL]: New function.
4067 (insert_array) [GRUB_UTIL]: Store partmaps.
4068 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4069 partmaps.
4070 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4071 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4072 (probe_abstraction): Print diskfilter and not raid.
4073 Reported by: Lennart Sorensen
4074
0b6225bd
VS
40752012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4078 * util/grub-mkimagexx.c (MASK3): New define.
4079 (add_value_to_slot_20b): Use MASK3.
4080 (add_value_to_slot_21): Likewise.
4081 (relocate_addresses): Fix format specification.
4082 (load_image): Explicitly init symtab_section.
4083
b055f8f6
VS
40842012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4087 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4088
b77c2fb7
VS
40892012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4092 on powerpc.
4093 Reported by: Lennart Sorensen
4094
e3ec28ab
VS
40952012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * gentpl.py: Add missing license header.
4098 * docs/grub.texi: Update copyright year.
4099
c8d9ead6
GS
41002012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4101
4102 Source grub-mkconfig_lib from the build directory at build time.
4103 Suggested by: Vladimir Serbinenko.
4104
4105 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4106 * util/grub-install.in: Define pkgdatadir if not already set, and source
4107 grub-mkconfig_lib from there.
4108 * util/grub-kbdcomp.in: Likewise.
4109 * util/grub-mkconfig.in: Likewise.
4110 * util/grub-mknetdir.in: Likewise.
4111 * util/grub-mkrescue.in: Likewise.
4112 * util/grub-mkstandalone.in: Likewise.
4113 * util/grub-reboot.in: Likewise.
4114 * util/grub-set-default.in: Likewise.
4115 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4116
ebcecdf1
VS
41172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 Increase warning level.
4120
4121 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4122 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4123 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4124 (TARGET_CFLAGS): Likewise.
4125 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4126 * grub-core/Makefile.core.def (decompressor_xz): Add
4127 -Wno-unreachable-code.
4128 (normal): Add -Wno-redundant-decls.
4129 (xzio): Add -Wno-unreachable-code.
4130 (lzopio): Add -Wno-redundant-decls -Wno-error.
4131 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4132 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4133 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4134 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4135 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4136 * grub-core/kern/i386/coreboot/init.c: Add exception to
4137 -Wsuggest-attribute=noreturn.
4138 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4139 * grub-core/kern/ia64/dl_helper.c: Likewise.
4140 * grub-core/kern/mips/dl.c: Likewise.
4141 * grub-core/kern/sparc64/dl.c: Likewise.
4142 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4143 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4144 (memcmp): Likewise.
4145 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4146 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4147 * grub-core/loader/mips/linux.c: Likewise.
4148 * grub-core/loader/multiboot_elfxx.c: Likewise.
4149 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4150 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4151 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4152 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4153 fixme.
4154 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4155 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4156 Fix prototype.
4157
37bb97fe
VS
41582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4161 address.
4162
29a3550b
VS
41632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4166 Avoid improper use of strings.
4167 (grub_cmd_legacy_initrdnounzip): Likewise.
4168
dfdffd0d
VS
41692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4172 attribute.
4173 (grub_util_info): Likewise.
4174 (grub_util_error): Likewise.
4175
102fae4a
VS
41762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4179 * util/grub-fstest.c (fstest): Likewise.
4180
7e94d044
VS
41812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4184 (grub_md_sha512_real): Likewise.
4185 (grub_util_get_geli_uuid): Likewise.
4186 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4187 (grub_util_biosdisk_open): Fix format specification.
4188 Respect format security.
4189 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4190 (xrealloc): Likewise.
4191 (xasprintf): Likewise.
4192
5ebd9769
VS
41932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 * util/import_gcry.py: Include grub/crypto.h in init.c.
4196
495fc8c1
VS
41972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4200 (generate_image): Make prefix a const char *.
4201 Fix format specifications. Respect format security.
4202 Avoid void * arithmetics.
4203 Avoid shadowing.
4204 (argp_parser): Remove unused variable. Respect format security.
4205 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4206 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4207 (count_funcs): Remove unused variable.
4208 (relocate_addresses): Fix format specification.
4209 Disable x86-64 with elf32. Remove unused variables.
4210 (add_fixup_entry): Avoid shadowing.
4211 (make_reloc_section): Fix format specification.
4212 Use assert.
4213 (locate_sections): Fix format specifications.
4214 (load_image): Avoid shadowing.
4215
043c2ea3
VS
42162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4219 Fix format specifications. Respect format security.
4220 Don't translate already translated grub_errmsg.
4221 (argp_parser): Remove unused variable
4222
3ec65a81
VS
42232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4226
a4d9fe4a
VS
42272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4230 (main): Likewise. Use xmalloc. Respect format security.
4231
15b81d49
VS
42322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4235 a const char *.
4236 (argp_parser): Remove unused variable.
4237
31731fc0
VS
42382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4241 (add_pixel): Make static.
4242 (add_font): Likewise.
4243 (write_string_section): Make name and str a const char *.
4244 (write_be16_section): Make name a const char *.
4245 (print_glyphs): Make static.
4246 (write_font_ascii_bitmap): Likewise.
4247 (write_font_width_spec): Likewise.
4248 (write_font_pf2): Likewise.
4249 (argp_parser): Remove unused variable.
4250 Respect format security.
4251 (main): Avoid shadowing. Respect format security.
4252
0809527b
VS
42532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * util/grub-editenv.c (argp_parser): Make static.
4256 (create_envblk_file): Use xmalloc.
4257 (open_envblk_file): Likewise.
4258 Resepect format security.
4259 (set_variables): Respect format security.
4260
45b0c8b7
VS
42612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * util/getroot.c (grub_find_device): Respect format security.
4264 (get_mdadm_uuid): Remove unused variable.
4265 (grub_util_pull_device): Dont call gettext on already translated
4266 grub_errmsg.
4267 (find_system_device): Remove unused variable.
4268 (grub_util_get_grub_dev): Likewise.
4269 (grub_make_system_path_relative_to_its_root): Respect format security.
4270
1b024b4e
VS
42712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * util/grub-fstest.c (execute_command): Make first argument
4274 a const char *.
4275 (read_file): Avoid shadowing.
4276 Reuse underlying error message if device open fails.
4277 (cmd_cmp): Respect format security.
4278 (root): Make const char *.
4279 (fstest): Remove args argument and use global copy.
4280 Respect format security.
4281 (argp_parser): Make static.
4282 (main): Make default_root const char *.
4283
5d1d4e28
VS
42842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * util/grub-mount.c (root): Make const char *.
4287 (execute_command): Make first argument a const char *.
4288 (fuse_init): Respect format security.
4289 (argp_parser): Make static. Remove unused variable.
4290 (main): Make default_root a const char *.
4291 Respect format security.
4292
36eb7379
VS
42932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * util/grub-probe.c (probe): Don't call gettext on already translated
4296 grub_errmsg.
4297 Remove unused variables.
4298 (argp_parser): Remove unused variable.
4299
76fb2ea9
VS
43002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 * util/grub-script-check.c (argp_parser): Remove unused variable.
4303 (main): Rename read to curread to avoid shadowing.
4304
56c98584
VS
43052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * util/misc.c (grub_util_write_image_at): Fix format specification.
4308 (grub_util_write_image): Likewise.
4309 (grub_script_execute_argument_to_string): Removed (unused).
4310 (grub_script_execute_menuentry): Likewise.
4311 (grub_putchar): Likewise.
4312
164ebb48
VS
43132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
4316 (FUNCTION) [GRUB_UTIL]: Likewise.
4317 (VARIABLE) [GRUB_UTIL]: Likewise.
4318
44318d61
VS
43192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
4322 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
4323
31a26002
VS
43242012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
4327 buffer.
4328
43292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
4332 (LzmaEnc_SaveState): Removed (unused).
4333 (LzmaEnc_RestoreState): Likewise.
4334 (LzmaEnc_InitPriceTables): Made static.
4335 (LzmaEnc_Construct): Likewise.
4336 (LzmaEnc_FreeLits): Likewise.
4337 (LzmaEnc_Destruct): Likewise.
4338 (LzmaEnc_Init): Likewise.
4339 (LzmaEnc_InitPrices): Likewise.
4340 (LzmaEnc_Finish): Likewise.
4341 (LzmaEnc_PrepareForLzma2): Removed (unused).
4342 (LzmaEnc_MemPrepare): Likewise.
4343 (LzmaEnc_GetNumAvailableBytes): Likewise.
4344 (LzmaEnc_GetCurBuf): Likewise.
4345 (LzmaEnc_CodeOneMemBlock): Likewise.
4346
6fa67967
VS
43472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
4350 (grub_util_ldm_embed): Likewise.
4351
9a7428e6
VS
43522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * util/grub-editenv.c (print_var): Rename name to varname to
4355 avoid shadowing.
4356 (main): Rename index to curindex to avoid shadowing.
31a26002 4357 Make filename a const char *.
9a7428e6 4358
4f96abd1
VS
43592012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4362 to arg_getline to avoid shadowing.
4363
44d10dad
VS
43642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
4367 disk_ to avoid shadowing.
4368
340ba63e
VS
43692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
4372 curindex to avoid shadowing.
4373 Make static.
4374 (MatchFinder_GetNumAvailableBytes): Make static.
4375
22965bce
VS
43762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
4379 avoid shadowing.
4380
7b5784d4
VS
43812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
4384 argument from encrypt to do_encrypt to avoid shadowing.
4385
6f48ca01
VS
43862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
4389 incorrect nesting of #if's.
4390
a4ea2dff
VS
43912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
4394 checks which are always false on some platforms.
4395 (grub_cmd_lsacpi): Likewise.
4396 * grub-core/kern/misc.c (grub_strtoul): Likewise.
4397 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
4398 Likewise.
4399
def9fc1b
VS
44002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
4403 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
4404
a67b2a04
VS
44052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
4408 re_dfa_t to avoid breaking alignment invariants.
4409 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
4410 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
4411
44c6828d
VS
44122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
4415 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
4416
bebe0dd0
VS
44172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
4420 Fix declaration.
4421
a9cdb3cf
VS
44222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
4425 conserve alignment invariants.
4426 (grub_ehci_ehcc_read16): Likewise.
4427 (grub_ehci_oper_read32): Likewise.
4428 (grub_ehci_oper_write32): Likewise.
4429 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4430 Conserve alignment invariants.
4431
ccc3b1b8
VS
44322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
4435 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
4436 declarations.
4437
987fbd95
VS
44382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
4441 Remove unused variable.
4442
0df363f3
VS
44432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
4446 Remove set in if.
4447
b2c0c4a6
VS
44482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * include/grub/net.h: Remove double declarations.
4451
690c531f
VS
44522012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 Remove "payload" command in ia64 Linux loader since I couldn't
4455 find any evidence of it being used for anything.
4456 Replace "relocate" command with an environment variable
4457
4458 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
4459 fields.
4460 (ia64_boot_payload): Removed.
4461 (last_payload): Likewise.
4462 (RELOCATE_OFF): Likewise.
4463 (RELOCATE_ON): Likewise.
4464 (RELOCATE_FORCE): Likewise.
4465 (relocate): Likewise.
4466 (free_pages): Don't free payloads.
4467 (grub_load_elf64): Use common error messages.
4468 Use "linux_relocate" variable.
4469 Increase the space after boot_params.
4470 (grub_cmd_payload): Removed.
4471 (grub_cmd_relocate): Likewise.
4472 (grub_cmd_fpswa): Improve messages.
4473 (cmd_payload): Removed.
4474 (cmd_relocate): Likewise.
4475 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
4476 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
4477
01783768
VS
44782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 Convert UHCI to DMA framework.
4481
4482 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
4483 (grub_uhci_pci_iter): Fill new members
4484 (grub_alloc_td): Use P2V and V2P functions.
4485 (grub_free_queue): Likewise.
4486 (grub_alloc_qh): Likewise.
4487 (grub_uhci_setup_transfer): Likewise.
4488 (grub_uhci_check_transfer): Likewise.
4489
43206939
VS
44902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
4493 Remove assignment in if while on it.
4494
571e140e
VS
44952012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * util/grub-mkstandalone.in: Fix modules directory.
4498
a9d96eeb
VS
44992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
4502 on i386-pc target.
4503 (argp_parser): Accept "auto" as compression specification.
4504
e4e37e8d
VS
45052012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 Fix `help' with unloaded modules.
4508
4509 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
4510 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
4511 (grub_dyncmd_dispatcher): Small stylistic fix.
4512 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
4513 explicit help is requested.
4514
e1ea3ade
VS
45152012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
4518 Explicitly init restart while on it.
4519
27556881
VS
45202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
4523 uninited variable.
4524
d65f6b36
VS
45252012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * util/grub-mknetdir.in: Use . rather than source for POSIX
4528 compatibility.
4529
0a1e473c
VS
45302012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
4533
ce6647c8
VS
45342012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
4537 variable.
4538
66747894
VS
45392012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
4542 without quotes.
4543
71645f6e
VS
45442012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
4547
0e1c1f61
VS
45482012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
4551 iteration of partitions.
4552
9c4b5c13
VS
45532012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 Improve gettext support. Stylistic fixes and error handling fixes while
4556 on it.
4557
215c90cb
VS
45582012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
4561 part. Instead setup the correct stack in RM.
4562 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
4563 for stack.
4564 * include/grub/i386/relocator_private.h: New file.
4565
b5c1f9bf
VS
45662012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
4569 argument.
4570 * util/grub-fstest.c (options): Add missing DEVICE part.
4571
b525fd83
VS
45722012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 Clarify and unify messages.
4575
4576 * grub-core/commands/hashsum.c (options): Unify messages.
4577 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
4578 literal-only message as translatable.
4579 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
4580 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
4581 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
4582 commands.
4583 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
4584 key, not the key used to unlock. Clarify what it's used for.
4585 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
4586 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
4587 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
4588 * util/grub-editenv.c (options): Unify "verbose" message.
4589 * util/grub-fstest.c (read_file): Unify error message.
4590 (fstest): Add quotes around commands.
4591 (options): Unify "verbose" message.
4592 * util/grub-install.in: Add quotes around variable name.
4593 * util/grub-kbdcomp.in: Unify error message.
4594 * util/grub-mkfont.c (main): Likewise.
4595 * util/grub-mkrescue.in: Likewise.
4596 * util/grub-mklayout.c (options): Unify "verbose" message.
4597 * util/grub-mkstandalone.in: Unify help and verbose messages.
4598 * util/grub-mount.c (options): Unify "verbose" message.
4599 * util/grub-probe.c (options): Likewise.
4600 * util/grub-script-check.c (options): Likewise.
4601 * util/grub-setup.c (setup): Unify no-terminator message.
4602 (options): Use DEVICE and not DEV.
4603 Unify "verbose" message.
4604 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
4605
0ae70393
VS
46062012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 Improve and unify messages.
4609
4610 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
4611 name. All users updated.
4612 Print filename in error.
4613 (read_device_map): Print filename in error.
4614 * util/getroot.c (grub_guess_root_devices): Print filename in error.
4615 (grub_util_get_os_disk): Likewise.
4616 (grub_util_biosdisk_get_grub_dev): Likewise.
4617 (grub_util_check_block_device): Likewise.
4618 (grub_util_check_char_device): Likewise.
4619 (grub_make_system_path_relative_to_its_root): Likewise.
4620 * util/grub-editenv.c (create_envblk_file): Likewise.
4621 (open_envblk_file): Likewise.
4622 (write_envblk): Likewise.
4623 * util/grub-fstest.c (cmd_cp): Likewise.
4624 (cmd_cat): Likewise.
4625 (cmd_cmp): Likewise.
4626 * util/grub-menulst2cfg.c (main): Likewise.
4627 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
4628 (write_font_width_spec): Likewise.
4629 (write_font_pf2): Likewise.
4630 * util/grub-mkimage.c (generate_image): New argument outname.
4631 All users updated.
4632 Remove unreacheable message.
4633 (options): Unify messages.
4634 (help_filter): Likewise.
4635 * util/grub-mklayout.c (usage): Removed (unused).
4636 (main): Print filename in error.
4637 * util/grub-mkrescue.in: Fix wrong quoting.
4638 * util/grub-setup.c (setup): Print filename in error.
4639 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
4640 (check_sas): Likewise.
4641 * util/misc.c (grub_util_get_fp_size): Removed.
4642 (grub_util_get_image_size): Print filename in error.
4643 (grub_util_read_at): Removed.
4644 (grub_util_read_image): Print filename in error.
4645 (grub_util_load_image): Likewise.
4646 (grub_util_write_image_at): New argument filename. All users updated.
4647 Print filename in error.
4648 (grub_util_write_image): New argument filename. All users updated.
4649 Print filename in error.
4650 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
4651 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
4652
0a96117d
VS
46532012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * grub-core/Makefile.core.def (pxechain): New module.
4656 * grub-core/loader/i386/pc/pxechainloader.c: New file.
4657 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
4658 function.
4659 (grub_pc_net_config_real): Use grub_pxe_get_cached.
4660 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
4661
aca002f7
VS
46622012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
4665 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
4666 * include/grub/err.h (grub_error_saved): New struct.
4667 (grub_errmsg): Make array size explicit.
4668 * include/grub/misc.h (grub_error_save): New function.
4669 (grub_error_load): Likewise.
4670 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
4671 (grub_error_push): Update `errno' member name.
4672 (grub_error_pop): Likewise
4673 * grub-core/net/tftp.c (tftp_data): New member save_err.
4674 (tftp_receive): Save error.
4675 (tftp_open): Restore error.
4676
a51dab13
VS
46772012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
4680 to real mode down to execute A20-related code in protected mode as
4681 intended.
4682
eb6e6649
GS
46832012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
4684
4685 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
4686 NULL when the argument `level' has an unexpected value.
4687
92cd0f6e
VS
46882012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 Move platform-dependent files from $prefix to $prefix/$platform.
4691
4692 * config.h.in (GRUB_TARGET_CPU): New definition.
4693 (GRUB_PLATFORM): Likewise.
4694 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
4695 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
4696 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4697 * grub-core/kern/dl.c (grub_dl_load): Likewise.
4698 * grub-core/normal/autofs.c (read_fs_list): Likewise.
4699 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
4700 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
4701 * grub-core/normal/term.c (read_terminal_list): Likewise.
4702 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
4703 $prefix/locale.
4704 (grub_gettext_init_ext): Likewise.
4705 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
4706 grub_platform.
4707 * util/grub-install.in: Update directories.
4708 * util/grub-mknetdir.in: Likewise.
4709 * util/grub-mkrescue.in: Likewise.
4710
db606889
VS
47112012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
4714 grub_error framework. All users updated.
4715
c39992a4
VS
47162012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
4719 lists (by always binsearching), improve caching (cache strings
4720 used for binsearch, not only results), improve
4721 maintainability (by using more structured binary search) and correct
4722 error handling.
4723
1e5ec32f
VS
47242012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * grub-core/script/execute.c (grub_script_return): Fix warning.
4727
ac576cde
VS
47282012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * grub-core/script/execute.c (grub_script_return): Fix potential
4731 NULL-dereference.
4732 Reported by: Jim Meyering.
4733
498453f6
VS
47342012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * po/POTFILES.in: Regenerate.
4737 * util/grub-install.in: Gettextize the strings missed in first pass.
4738
8be63f2e
VS
47392012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 * Makefile.util.def (grub-mkdevicemap): Removed.
4742 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
4743 * include/grub/util/deviceiter.h: Removed.
4744 * util/deviceiter.c: Likewise.
4745 * util/getroot.c (grub_util_get_os_disk): New function.
4746 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
4747 replacement for EFI.
4748 * util/grub-mkdevicemap.c: Removed.
4749 * util/grub-probe.c (probe): Handle PRINT_DISK.
4750 (argp_parser): Handle -t disk.
4751
8e1e4e39
VS
47522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4753
4754 * util/grub-mkfont.c: Migrate to argp.
4755 * util/grub-mklayout.c: Likewise.
4756 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4757 * util/grub-mkrelpath.c: Likewise.
4758 * util/grub-probe.c: Likewise.
4759 * util/grub-script-check.c: Likewise.
4760
4459819a
VS
47612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 * util/grub-reboot.in: Add missing datarootdir.
4764 Add missing newline.
4765 * util/grub-set-default.in: Add missing datarootdir.
4766 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
4767 * util/grub-mkrescue.in: Likewise.
4768
f65741c7
VS
47692012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
4772
c1a33466
VS
47732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * util/grub-kbdcomp.in: Add decent help and gettextize.
4776 * docs/man/grub-kbdcomp.h2m: New file.
4777
c76899a0
VS
47782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 Migrate grub-mkimage.c to argp.
4781
4782 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
4783 (grub-setup): Likewise.
4784 * util/grub-setup.c (print_version): Move to ...
4785 * util/argp_common.c (print_version): ... here.
4786 * util/grub-setup.c (argp_program_version_hook): Move to ...
4787 * util/argp_common.c (argp_program_version_hook): ... here.
4788 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
4789 safety.
4790 * util/grub-mkimage.c (main): Migrate to argp.
4791
57db0757
VS
47922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * util/grub-mkrescue.in: Use same message as
4795 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
4796 for better translations.
4797
18534ad9
VS
47982012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
4801 options with generic grub-mkrescue.in with the goal of future
4802 merge.
4803
c84ba308
VS
48042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * grub-core/kern/mm.c: Add missing include of i18n.h
4807 * grub-core/lib/relocator.c: Likewise.
4808
347998c2
VS
48092012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
4812 error.
4813 (allocate_pages): Check return value.
4814 Replace fatal with error.
4815 (grub_linux_boot): Replace printf with dprintf.
4816 Check find_mmap_size return value.
4817 Replace fatal with error.
4818 Don't call grub_machine_fini.
4819 (grub_load_elf64): Replace printf with dprintf.
4820 (grub_cmd_linux): Likewise.
4821 (grub_cmd_initrd): Likewise.
4822 (grub_cmd_payload): Likewise.
4823
c779226e
VS
48242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
4827 message.
4828 * grub-core/video/radeon_fuloong2e.c
4829 (grub_video_radeon_fuloong2e_setup): Likewise.
4830 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
4831 * grub-core/video/video.c (grub_video_set_mode): Don't override
4832 standard out of memory message.
4833
dc87d45a
GS
48342012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
4835
4836 NetBSD disk wedge support.
4837
4838 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
4839 [__NetBSD__]: Handle NetBSD disk wedges.
4840 * util/getroot.c (convert_system_partition_to_system_disk)
4841 [__NetBSD__]: Likewise.
4842
055f856f
MW
48432012-02-03 Mark Wooding <mdw@distorted.org.uk>
4844
4845 * util/grub-mkconfig.in: Use umask rather than chmod to create
4846 grub.cfg.new to avoid insecure grub.cfg.
4847
4a9f8346
VS
48482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * grub-core/commands/ls.c: Gettextize.
4851 * grub-core/commands/setpci.c: Likewise.
4852 * grub-core/commands/videotest.c: Likewise.
4853 * grub-core/disk/geli.c: Likewise.
4854 * grub-core/kern/mm.c: Likewise.
4855 * grub-core/lib/relocator.c: Likewise.
4856 * grub-core/loader/efi/appleloader.c: Likewise.
4857 * grub-core/loader/i386/xnu.c: Likewise.
4858 * grub-core/loader/ia64/efi/linux.c: Likewise.
4859 * grub-core/loader/xnu.c: Likewise.
4860 * grub-core/net/dns.c: Likewise.
4861 * grub-core/net/net.c: Likewise.
4862 * grub-core/script/lexer.c: Likewise.
4863 * grub-core/script/parser.y: Likewise.
4864 * grub-core/script/yylex.l: Likewise.
4865 * util/getroot.c: Likewise.
4866 * util/grub-setup.c: Likewise.
4867
a646a366
VS
48682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
4871 number.
4872
54e2be26
VS
48732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
4876
f7c71e68
VS
48772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
4880 macro.
4881 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
4882 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
4883
a32d5c71
VS
48842012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
4887 * util/grub-install.in: Gettextize.
4888 * util/grub-mkconfig.in: Likewise.
4889 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
4890 if not available.
4891 (grub_warn): Gettextize.
4892 * util/grub-mknetdir.in: Gettextize.
4893 * util/grub-mkrescue.in: Likewise.
4894 * util/grub-mkstandalone.in: Likewise.
4895 * util/grub-reboot.in: Likewise.
4896 * util/grub-set-default.in: Likewise.
4897 * util/grub.d/00_header.in: Likewise.
4898 * util/grub.d/10_hurd.in: Likewise.
4899 * util/grub.d/10_kfreebsd.in: Likewise.
4900 * util/grub.d/10_linux.in: Likewise.
4901 * util/grub.d/10_netbsd.in: Likewise.
4902 * util/grub.d/10_windows.in: Likewise.
4903 * util/grub.d/20_linux_xen.in: Likewise.
4904 * util/grub.d/30_os-prober.in: Likewise.
4905 * po/POTFILES-shell.in: Regenerate.
4906
69edd81a
RL
49072012-02-03 Richard Laager <rlaager@wiktel.com>
4908
4909 * util/grub-mkimage.c (main): Fix format-security warning.
4910 * util/grub-mkrelpath.c (main): Likewise.
4911 * util/grub-probe.c (main): Likewise.
4912
65f08dbf
RL
49132012-02-03 Richard Laager <rlaager@wiktel.com>
4914
4915 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
4916 failure.
4917 Put back lost PRINT_DRIVE.
4918
e9084abe
RL
49192012-02-03 Richard Laager <rlaager@wiktel.com>
4920
4921 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
4922 (grub_guess_root_devices): Replace strlen with sizeof.
4923 Avoid crash.
4924 (find_root_devices_from_poolname): Remove unused variable.
4925 Handle raidzN.
4926
cf5f7ee7
VS
49272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 Support install on multi-device filesystems.
4930
4931 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
4932 (grub_guess_root_devices): ...this. Return char **. All users updated.
4933 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
4934 Removed.
4935 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
4936 (find_root_devices_from_poolname): ... here.
4937 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
4938 Support zfs-fuse.
4939 (grub_guess_root_device): Rename to ...
4940 (grub_guess_root_devices): ... this. Return char **. All users updated.
4941 * util/grub-install.in: Handle multi-device filesystems.
4942 * util/grub-probe.c (probe). Make device_names a char **. Add delim
4943 argument. All users updated.
4944 Handle multi-device filesystems.
4945 Use 'delim' as separator.
4946 Remove device check to allow filesystems on file.
4947 (main): Support -0 argument. Handle multi-device.
4948 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
4949 Fix a cross-device check while on it.
4950 (arguments): Remove root_dev.
4951 (argp_parser): Remove -r.
4952 (main): Remove root_dev.
4953
2f53a9ed
VS
49542012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
4957
17e1d934
VS
49582012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
4961 symbol.
4962 Reported by: NODA, Kai <nodakai>.
4963
d3e3fab5
VS
49642012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 Fix ehci on amd64.
4967
4968 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
4969 pointers.
4970 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
4971 (grub_ehci_setup_qh): Likewise.
4972 (grub_ehci_find_qh): Likewise.
4973 (grub_ehci_transaction): Likewise.
4974 (grub_ehci_setup_transfer): Likewise.
4975 (grub_ehci_check_transfer): Likewise.
4976 (grub_ehci_portstatus): Likewise.
4977 (grub_ehci_detect_dev): Likewise.
4978 (grub_ehci_transfer_controller_data): New field td_last_phys.
4979 (grub_ehci_setup_transfer): Fill td_last_phys.
4980 (grub_ehci_check_transfer): Use td_last_phys.
4981
3008675b
SG
49822012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
4983
4984 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
4985 if no submenu is present.
4986
fc9b5652
AN
49872012-02-01 Aleš Nesrsta <starous@volny.cz>
4988
4989 CBI support.
4990
4991 * include/grub/usb.h (grub_usbms_protocol_t): New values
4992 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
4993 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
4994 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
4995 (grub_usbms_dev): Add subclass, protocol and intrpt.
4996 Remove in_maxsz and out_maxsz.
4997 (grub_usbms_reset): Rename to ...
4998 (grub_usbms_bo_reset): .. this.
4999 (grub_usbms_cbi_cmd): New function.
5000 (grub_usbms_cbi_reset): Likewise.
5001 (grub_usbms_reset): Likewise.
5002 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5003 (grub_usbms_transfer): Rename to ...
5004 (grub_usbms_transfer_bo): ... this.
5005 (grub_usbms_transfer_cbi): Likewise.
5006 (grub_usbms_transfer): Likewise.
5007
a2b81d53
AN
50082012-02-01 Aleš Nesrsta <starous@volny.cz>
50092012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5012 the support for the CS5536 modification thereos and few bugfixes.
5013
5014 * grub-core/Makefile.core.def (ehci): New module.
5015 * grub-core/bus/usb/ehci.c: New file.
5016 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5017 port and hubaddr. All users updated.
5018 Save port and hubaddr into dev structure.
5019 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5020 define.
5021 * include/grub/pci.h (grub_dma_phys2virt): New function.
5022 (grub_dma_virt2phys): Likewise.
5023 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5024
b1d51f02
VS
50252012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5028 check as some mkfs implementations omit it.
5029
fc694106
VS
50302012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5033
6c0920e3
VS
50342012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5037 Add new member volname2.
5038 (grub_jfs_label): Use volname2 if available.
5039
d1a46f9a
VS
50402012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5043 over last_mounted as seen in image generated by mkfs.nilfs2.
5044 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5045
dec8ed14
VS
50462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5049 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5050 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5051
7397c69b
VS
50522012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5055 over the sector.
5056
b3fe42ad
VS
50572012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5060 subvolume name (by removing a bogus and useless check).
5061
10476bb0
VS
50622012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5065 sizeof while on it.
5066
9c08ad87
VS
50672012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5070 (grub_scsi_read_capacity10): ... this.
5071 (grub_scsi_read_capacity16): New function.
5072 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5073 0xffffffff.
5074 Fix off-by-one error.
5075 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5076 64-bit unsigned.
5077 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5078 (grub_scsi_read_capacity10): ... this.
5079 (grub_scsi_read_capacity_data): Rename to ...
5080 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5081 (grub_scsi_read_capacity16): New struct.
5082 (grub_scsi_read_capacity16_data): Likewise.
5083 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5084 grub_scsi_cmd_read_capacity10.
5085 New command grub_scsi_cmd_read_capacity16.
5086
bc8d0f45
VS
50872012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 SCSI >2TiB support.
5090
5091 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5092 (grub_scsi_write16): Likewise.
5093 (grub_scsi_read): Use read16 when necessary.
5094 (grub_scsi_write): Likewise.
5095 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5096 (grub_scsi_write16): Likewise.
5097 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5098
cc774926
VS
50992012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 SCSI write support (for usbms mainly).
5102
5103 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5104 a const pointer.
5105 (grub_scsi_write): Implement.
5106 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5107
67639fd7
VS
51082012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5111 variable.
5112
9079d3ed
VS
51132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5116
c6a6f204
VS
51172012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * po/POTFILES.in: Regenerate.
5120
ecbf8cd1
VS
51212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5124 with grub_printf to avoid unnecessary fatal failure.
5125
0b3b3b38
VS
51262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5129 (INT_MAX): Likewise.
5130 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5131 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5132 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5133 (strcpy): Likewise.
5134 (strstr): Likewise.
5135 (strchr): Likewise.
5136 (strncpy): Likewise.
5137 (strcat): Likewise.
5138 (strncat): Likewise.
5139 (strcoll): Likewise.
5140 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5141 (GRUB_INT_MAX): Likewise.
5142
db7337a3
VS
51432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5146 unexpected error.
5147 (optimize_utf8): Likewise.
5148 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5149
f37c87e1
VS
51502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 * grub-core/boot/i386/pc/lnxboot.S: Use
5153 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5154 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5155 location.
5156 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5157 definition.
5158 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5159
63fe43f3
VS
51602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5163 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5164 now to avoid double free.
5165 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5166 hostdisk.
5167 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5168 * util/grub-probe.c (escape_of_path): Always return a new copy.
5169 (print_full_name): Escape path.
5170 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5171 Fix hints on abstractions.
5172
ebe2c961
VS
51732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5176 Don't add "root" line if no compatibility hont is available.
5177 Suggested by: Seth Goldberg.
5178
2b5336a2
VS
51792012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5182 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5183 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5184 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5185
74310bd8
VS
51862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5189
c30582ba
VS
51902012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * util/grub-pe2elf.c (ehdr): Make static.
5193 (shdr): Likewise.
5194 (num_sections): Likewise.
5195 (offset): Likewise.
5196
5f47782c
VS
51972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 Eliminate ofpath limits and possible overflows.
5200
5201 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5202 (OF_PATH_MAX): Removed.
5203 (MAX_DISK_CAT): New const.
5204 (find_obppath): Use allocated rather than preallocated buffer.
5205 Return result. Argument of_path removed. All users updated.
5206 Add missing fdstat.
5207 (xrealpath): New function.
5208 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5209 Allocate rather than use preallocated buffer. All users updated.
5210 (__of_path_common): Use allocated rather than preallocatecd buffer.
5211 Return result. Argument of_path removed. All users updated.
5212 (vendor_is_ATA): Read only needed part form the file.
5213 (check_sas): Allocate depending on contents rather than fixed.
5214 (main) [STANDALONE]: Handle NULL result.
5215
f990cbf9
VS
52162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5219
9c6e84b8
VS
52202012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 Cryptodisk write support.
5223
5224 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5225 (grub_cryptodisk_decrypt): Moved logic to ...
5226 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5227 (grub_cryptodisk_write): Implement.
5228 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5229 (grub_util_fd_write): ... this. Make global.
5230 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5231
87cf9744
VS
52322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * include/grub/list.h (grub_list_remove): Don't crash if element is
5235 removed twice.
5236
ca8c0baf
VS
52372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 Rename ofconsole to console.
5240
5241 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
5242 as sysnonym to console.
5243 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
5244 * grub-core/term/ieee1275/console.c: ... this. All users updated.
5245 Rename grub_ofconsole_ to grub_console_. All users updated
5246 (grub_console_term_output): Rename "ofconsole" to "console".
5247 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
5248 as "console".
5249
64c8b8f6
VS
52502012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
5253 handling.
5254 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
5255 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
5256 GRUB_DISK_DEVICE_FILE_ID.
5257
f6c434d5
VS
52582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
5261 and improve performance.
5262
5858b42d
VS
52632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
5266 missing ieee1275/ prefix on whole disk.
5267
4ed3c26b
VS
52682012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
5271 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
5272
df71143e
VS
52732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
5276
076e7c0f
VS
52772012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 Merge common RAID and LVM logic to an abstract diskfilter.
5280 Add LDM support using the same framework.
5281
5282 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
5283 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
5284 (libgrubmods): Remove grub-core/disk/raid.c and
5285 grub-core/partmap/gpt.c.
5286 * grub-core/Makefile.core.def (ldm): New module.
5287 (raid): Renamed to diskfilter. All users updated.
5288 * grub-core/disk/raid.c: Moved to ...
5289 * grub-core/disk/diskfilter.c: ... here.
5290 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
5291 (lv_num): New var.
5292 (find_array): Renamed to ...
5293 (find_lv): ... this. Support multi-LV. Skip nameless LVs
5294 (grub_is_array_readable): Renamed to ...
5295 (grub_is_lv_readable): ... this. Support multinode hierarchy.
5296 (insert_array): New argument id.
5297 (is_node_readable): New function.
5298 (scan_device): Rename to ...
5299 (scan_disk): .. this. Restrict to one disk.
5300 (scan_devices): New function.
5301 (grub_diskfilter_iterate): Support multi-LV.
5302 Skip invisible and nameless LVs.
5303 (grub_diskfilter_memberlist): Support multi-LV.
5304 (grub_diskfilter_read_node): New function.
5305 (grub_raid_read): Most of logic moved to ...
5306 (read_segment): ... here
5307 (read_lv): New function.
5308 (grub_diskfilter_get_vg_by_uuid): New function.
5309 (grub_diskfilter_make_raid): Likewise.
5310 * grub-core/disk/ldm.c: New file.
5311 * grub-core/disk/lvm.c (vg_list): Removed.
5312 (lv_count): Likewise.
5313 (scan_depth): Likewise.
5314 (is_lv_readable): Likewise.
5315 (grub_lvm_getvalue): Advance pointer past the number.
5316 (find_lv): Removed.
5317 (do_lvm_scan): Refactored into ...
5318 (grub_lvm_detect): ... this. Support raid.
5319 (grub_lvm_iterate): Removed.
5320 (grub_lvm_memberlist): Likewise.
5321 (grub_lvm_open): Likewise.
5322 (grub_lvm_close): Likewise.
5323 (read_lv): Likewise.
5324 (read_node): Likewise.
5325 (is_node_readable): Likewise.
5326 (is_lv_readable): Likewise.
5327 (grub_lvm_read): Likewise.
5328 (grub_lvm_write): Likewise.
5329 (grub_lvm_dev): Use diskfilter
5330 (GRUB_MOD_INIT): Likewise.
5331 (GRUB_MOD_FINI): Likewise.
5332 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
5333 new interface.
5334 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
5335 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5336 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
5337 grub_diskfilter_read_node.
5338 Fix a bug with xor.
5339 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
5340 grub_diskfilter_read_node.
5341 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
5342 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
5343 (grub_disk_dev_iterate): Move from here...
5344 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
5345 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5346 Make global.
5347 (grub_hostdisk_find_partition_start): Likewise.
5348 (grub_hostdisk_os_dev_to_grub_drive): New function.
5349 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
5350 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
5351 * util/getroot.c (make_device_name): ... here.
5352 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5353 Move to ...
5354 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
5355 * grub-core/kern/emu/hostdisk.c
5356 (convert_system_partition_to_system_disk): Move to ...
5357 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
5358 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
5359 * util/getroot.c (device_is_wholedisk): ... here.
5360 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
5361 * util/getroot.c (find_system_device): ... here.
5362 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
5363 Move to ...
5364 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
5365 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5366 Move to ...
5367 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
5368 Handle LDM.
5369 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5370 Move to ...
5371 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
5372 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
5373 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
5374 DISKFILTER.
5375 * include/grub/raid.h: Renamed to ...
5376 * include/grub/diskfilter.h: ... this.
5377 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
5378 (GRUB_RAID_LAYOUT_*): Make into array.
5379 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
5380 (grub_diskfilter_vg): New struct.
5381 (grub_diskfilter_pv_id): Likewise.
5382 (grub_raid_member): Removed.
5383 (grub_raid_array): Likewise.
5384 (grub_diskfilter_pv): New struct.
5385 (grub_diskfilter_lv): Likewise.
5386 (grub_diskfilter_segment): Likewise.
5387 (grub_diskfilter_node): Likewise.
5388 (grub_diskfilter_get_vg_by_uuid): New proto.
5389 (grub_raid_register): Inline.
5390 (grub_diskfilter_unregister): Likewise.
5391 (grub_diskfilter_make_raid): New proto.
5392 (grub_diskfilter_vg_register): Likewise.
5393 (grub_diskfilter_read_node): Likewise.
5394 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
5395 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
5396 (grub_util_is_ldm): Likewise.
5397 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
5398 (grub_hostdisk_find_partition_start): Likewise.
5399 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
5400 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
5401 New definition.
5402 (grub_gpt_partition_map_iterate): New proto.
5403 * include/grub/lvm.h (grub_lvm_vg): Removed.
5404 (grub_lvm_pv): Likewise.
5405 (grub_lvm_lv): Likewise.
5406 (grub_lvm_segment): Likewise.
5407 (grub_lvm_node): Likewise.
5408 * util/getroot.c [...]
5409 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
5410 (probe_abstraction): Likewise.
5411 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
5412 (main): Remove dead logic.
5413
8a7f9b9c
VS
54142012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 Simplify root device discover and don't fail when trying to open
5417 incorrect devices.
5418
5419 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
5420 function.
5421 (get_diskname_from_path): Likewise.
5422 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
5423 of iterating.
5424
30545b85
VS
54252012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
5428
28ea58cf
VS
54292012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
5432 pastthe end.
5433
692dabca
VS
54342012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * util/grub-install.in: Add missing \.
5437 Reported by: gentoofan
5438
f6e4ea70
VS
54392012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
5442 (direct_read): Use correct compressed size.
5443 (grub_squash_read_data): Likewise.
5444
54452012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
5446
5447 * docs/grub.texi (Platform limitations): New section.
5448 (Platform-specific operations): Likewise.
5449 * docs/grub-dev.texi (Porting): Likewise.
5450
76261110
VS
54512012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 IEEE1275 disk write support.
5454
5455 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
5456 const void *.
5457 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
5458 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
5459 and seek loginc to ...
5460 (grub_ofdisk_prepare): ... here.
5461 (grub_ofdisk_write): Implement.
5462
fc36d603
VS
54632012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 ARC disk write support.
5466
5467 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
5468 (reopen): New argument writable. All users updated.
5469 Handle required access mode.
5470 (grub_arcdisk_write): Implement.
5471 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
5472 (grub_arc_firmware_vector): Make buffer to write a const buffer.
5473
e06c2e7a
VS
54742012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
5477 (read_sblock): Don't attempt to read superblocks outside the disk size.
5478
ff447958
VS
54792012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
5482 first superblock to find the second one when possible.
5483
9e88df39
VS
54842012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * util/grub-install.in: Fix an ARC bug.
5487 Print a warning if no platform-specific setup is available.
5488
bb26e4ff
VS
54892012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 Use static allocation rather than scratch pointer in reed_solomon.
5492 It decreases its size significantly and avoids a variable in .text.
5493
5494 * grub-core/lib/reed_solomon.c (scratch): Removed.
5495 (chosenstat): New const or static array.
5496 (sigma): Likewise.
5497 (errpot): Likewise.
5498 (errpos): Likewise.
5499 (sy): Likewise.
5500 (mstat): Likewise.
5501 (errvals): Likewise.
5502 (eqstat): Likewise.
5503 (pol_evaluate): Replace x with log_x argument. All users updated.
5504 (syndroms): Removed.
5505 (gauss_solve): Use statically allocated arrays.
5506 (rs_recover): Likewise.
5507 Calculate syndroms directly.
5508 (decode_block): Use statically allocated arrays.
5509 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
5510 (main) [TEST]: Allow -DTEST -DSTANDALONE.
5511
2e13ede5
VS
55122012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 Eliminate fixed limit on reed solomon decoder length.
5515
5516 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
5517 rather than hardcoding the address.
5518 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
5519 no_reed_solomon_length.
5520 Move gate_a20 to no-reed-solomon part.
5521 Don't force a particular size of no reed-solomon part.
5522 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
5523 Removed.
5524 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
5525 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
5526
f8a9ab12
VS
55272012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * grub-core/commands/wildcard.c (match_files): Handle filenames
5530 without explicit device.
5531 (wildcard_expand): Don't add explicit device if not already present.
5532 * tests/grub_script_echo1.in: Add a new expansion test.
5533
87edb894
VS
55342012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 Replace single-linked with double-linked lists. It results in more
5537 compact and more efficient code.
5538
5539 * grub-core/kern/list.c (grub_list_push): Moved from here ...
5540 * include/grub/list.h (grub_list_push): ... to here. Set prev.
5541 (grub_list_remove): Moved from here ...
5542 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
5543 (grub_prio_list_insert): Set prev.
5544 * include/grub/list.h (grub_list): Add prev. All users updated.
5545
48b391e9
VS
55462012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 Handle newer autotools. Add some missing quotes while on it.
5549
5550 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
5551 (pkglib_DATA): Move grub-mkconfig_lib from here ...
5552 (pkgdata_DATA): ... here.
5553 * Makefile.util.def (update-grub_lib): Removed.
5554 * conf/Makefile.common (pkglib_DATA): Removed.
5555 (pkglib_SCRIPTS): Likewise.
5556 (pkgdata_DATA): New variable.
5557 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
5558 needed.
5559 Add missing quotes.
5560 Remove unused variable while on it.
5561 * tests/util/grub-shell.in: Likewise.
5562 * util/grub-install.in: Likewise.
5563 * util/grub-mkconfig.in: Likewise.
5564 * util/grub-mknetdir.in: Likewise.
5565 * util/grub-mkrescue.in: Likewise.
5566 * util/grub-mkstandalone.in: Likewise.
5567 * util/grub.d/00_header.in: Likewise.
5568 * util/grub.d/10_hurd.in: Likewise.
5569 * util/grub.d/10_illumos.in: Likewise.
5570 * util/grub.d/10_kfreebsd.in: Likewise.
5571 * util/grub.d/10_linux.in: Likewise.
5572 * util/grub.d/10_netbsd.in: Likewise.
5573 * util/grub.d/10_windows.in: Likewise.
5574 * util/grub.d/20_linux_xen.in: Likewise.
5575 * util/grub.d/30_os-prober.in: Likewise.
5576 * util/update-grub_lib.in: Removed.
5577
55782012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
5579
5580 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
5581 a workaround for intel problem.
5582
66832792
PRP
55832012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
55842012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
55852012-01-23 pfsmorigo
5586
5587 * util/grub-install.in: Support dd'in into PreP partition.
5588 * util/grub-probe.c (probe): Support discovering partition type.
5589 (main): Support -t msdos_parttype.
5590
7816a17e
VS
55912012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
5594 infinite recursion using counter.
5595 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
5596 init to skip it if the magic check fails.
5597 (dec_stream_header): Init s->crc32.
5598
8f9d3a8c
ZB
55992012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
56002012-01-22 Zachary Bedell <pendorbound@gmail.com>
56012012-01-22 Richard Laager <rlaager@wiktel.com>
5602
5603 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
5604 All users updated.
5605 (find_bestub): Determine correct size.
5606 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
5607 (scan_disk): Align the size down.
5608 Call check pool before find_bestub to have ashift.
5609
b055dd32
VS
56102012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
5613 dprintf in no-malloc zone.
5614
d779e9bd
ML
56152012-01-22 Mario Limonciello <mario_limonciello@dell.com>
5616
5617 * configure.ac: Add back in test for limits.h.
5618
b508af69
VS
56192012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 Support 4K-sector NTFS.
5622
5623 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
5624 (grub_ntfs_data): Remove blocksize.
5625 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
5626 Remove data argument. All users updated.
5627
dad9c8b5
VS
56282012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
5631 being in .text to avoid dprel references.
5632 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
5633 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
5634 (grub_arch_highmemsize): Likewise.
5635 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
5636 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
5637 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
5638
d43a777e
VS
56392012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
5642
5643 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
5644 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
5645
34e4208f
VS
56462012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
5649 GRUB_UTIL.
5650 (grub_set_datetime_cmos): Likewise.
5651
3ec0fc1c
VS
56522012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 Make XZ compression parameters dependent on target and not host CPU.
5655
5656 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
5657 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
5658
22489834
VS
56592012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
5662 set but not used variable.
5663
8502fbca
VS
56642012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
5667 created when no uuid support is compiled into mkfs.reiser.
5668
76df2068
VS
56692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
5672 (utf8_to_macroman): Do the opposite.
5673 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
5674
64e3f8f6
VS
56752012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 * configure.ac: Refise build qemu_mips w/o unifont.
5678
9c271078
VS
56792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 Eliminate grub_min/grub_max prone to overflow usage.
5682
5683 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
5684 (poll_nonroot_hub): Likewise.
5685 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
5686 (grub_affs_label): Likewise.
5687 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
5688 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
5689 (grub_hfs_label): Likewise.
5690 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
5691 * grub-core/fs/zfs/zfs.c (MIN): Remove.
5692 (zap_leaf_array_equal): Use grub_size. Remove MIN.
5693 (zap_leaf_array_get): Likewise.
5694 (dnode_get_path): Likewise.
5695 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
5696 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
5697 * grub-core/script/execute.c (grub_script_break): Likewise.
5698 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
5699 grub_max.
5700 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
5701 * include/grub/misc.h (grub_min): Removed.
5702 (grub_max): Likewise.
5703
80662dbc
VS
57042012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
5705
5706 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
5707 direct.inode = 0.
5708
e6da1467
VS
57092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
5712
b1ac4cb1
VS
57132012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5714
5715 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
5716
b4bf7c3b
VS
57172012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
5720 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
5721
8ee1101a
VS
57222012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
5725 rather than a hack for grub_strncasemap.
5726
57272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 Support multiple initrds
5730 Note: part of this was accidently committed in r3739.
5731
5732 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
5733 initrd.
5734 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5735 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5736 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5737 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5738 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5739
4d1e2bc9
VS
57402012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
5743 disks with unknown size.
5744 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
5745
75b49ebe
VS
57462012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 Remove defines pertaining to arbitrary limits not affecting GRUB
5749 anymore.
5750
5751 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
5752 (EXT2_MAX_SYMLINKCNT): Likewise.
5753 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
5754 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
5755 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
5756 (GRUB_PXE_MAX_BLKSIZE): Likewise.
5757 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
5758 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
5759 (DN_MAX_OBJECT_SHIFT): Likewise.
5760 (DN_MAX_OFFSET_SHIFT): Likewise.
5761 (DN_MAX_OBJECT): Likewise.
5762 (DNODES_PER_LEVEL_SHIFT): Likewise.
5763 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
5764 (SPA_MAXBLOCKSIZE): Likewise.
5765 (SPA_BLOCKSIZES): Likewise.
5766 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
5767 (MZAP_MAX_BLKSZ): Likewise.
5768
74a1dce7
VS
57692012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
5772 handle NULL appropriately.
5773 Remove MIN.
5774
30c7d3ce
VS
57752012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 Fix efiemu.
5778
5779 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
5780 cpu/types.h.
5781 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
5782 * configure.ac: Fix efiemu check.
5783
3c76ea0c
VS
57842012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
5787 grub_probe.
5788 Reported by: adamwill
5789
7e532280
SG
57902012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
5791
5792 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
5793
30492374
VS
57942012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 Fix handling of wide characters in gfxterm.
5797
5798 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
5799 (clear_char): Likewise.
5800 (paint_char): Skip code == NULL chars.
5801 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
5802
e70cb72f
VS
58032012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * grub-core/normal/charset.c: Move comment to right place.
5806
5c827cf9
VS
58072012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
5810 (GRUB_AFFS_FLAG_FFS): Put back where it was.
5811 (grub_affs_mount): Revert the correct version checking.
5812
53603892
VS
58132012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 * docs/grub.texi (Unicode): Mention several other unsupported features.
5816
ff094b9b
VS
58172011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
5820 case statements as compile-time one.
5821 (direct_read): Prevent spurious warnings.
5822 (grub_squash_read_data): Likewise.
5823
c029da8a
VS
58242011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5825
5826 Various squash4 fixes and LZO and XZ support.
5827
5828 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
5829 Add xzembed source files.
5830 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
5831 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
5832 (grub_squash_inode): New subtype long_dir.
5833 (SQUASH_TYPE_LONG_DIR): New inode type.
5834 (COMPRESSION): New enum.
5835 (XZBUFSIZ): New const.
5836 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
5837 (read_chunk): Use data->decompress.
5838 (zlib_decompress): New function.
5839 (lzo_decompress): Likewise.
5840 (xz_decompress): Likewise.
5841 (squash_mount): Set new data fields.
5842 (grub_squash_iterate_dir): Handle long dir.
5843 (squash_unmount): Free xzdec and xzbuf.
5844 (grub_squash_open): Check ino type.
5845 (direct_read): Stylistic fixes. Use data->decompress.
5846 (grub_squash_read_data): Likewise.
5847 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
5848 (get_byte): Likewise.
5849 (grub_zlib_disk_read): Removed.
5850 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
5851 (GRUB_POSIX_BOOL_DEFINED): New define.
5852 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
5853 * grub-core/lib/xzembed/xz.h: Addmissing includes.
5854 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
5855 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
5856
7a45a539
VS
58572011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 Don't override more informative errors.
5860
5861 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
5862 * grub-core/font/font.c (open_section): Likewise.
5863 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
5864 filename. Don't override errors.
5865 (grub_cmd_openbsd_ramdisk): Don't override errors.
5866 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
5867 (grub_cmd_initrd): Likewise.
5868 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5869 (grub_cmd_initrd): Likewise.
5870 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
5871 (grub_cmd_linux): Likewise.
5872 (grub_cmd_initrd): Likewise.
5873 (grub_cmd_payload): Likewise.
5874 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5875 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
5876 (grub_cmd_module): Likewise.
5877 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5878 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5879 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
5880 (grub_cmd_xnu_mkext): Likewise.
5881 (grub_cmd_xnu_ramdisk): Likewise.
5882 (grub_xnu_check_os_bundle_required): Likewise.
5883 (grub_xnu_load_kext_from_dir): Likewise.
5884 (grub_cmd_xnu_kextdir): Likewise.
5885 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
5886
b2d004db
VS
58872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
5890 as 1024 in block size field. Found on one of my test images.
5891 Small optimisation while on it.
5892
ec000eac
VS
58932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
5896 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
5897 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
5898 performance fixes while on it.
5899 (grub_sfs_close): Fix memory leak while on it.
5900 (grub_sfs_label): Convert Latin1 to UTF-8.
5901
f50e1165
VS
59022011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
5905 space to avoid overflows.
5906 (grub_hfs_label): Convert from macroman to UTF-8.
5907
2ae254de
VS
59082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5909
5910 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
5911
0108f491
VS
59122011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
5915
f45f5f89
VS
59162011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 * unicode: Import Unicode 6.0 data.
5919
4d8c4765
VS
59202011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5921
63fa8ef9
VS
5922 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
5923 outside of range.
5924
59252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
5928
5929 * include/grub/charset.h (grub_getend): New function.
5930 * grub-core/script/function.c (grub_script_function_find): Use
5931 grub_getend.
5932 * grub-core/normal/completion.c (add_completion): Likewise.
5933
f3cb4a4e
VS
59342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
5937 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
5938 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
5939 (GRUB_UNICODE_TAG_END): Likewise.
5940 (GRUB_UNICODE_LAST_VALID): Likewise.
5941
5da8dbc5
VS
59422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
5945 len and make it smaller. All users updated.
5946 * util/import_unicode.py: Put length and not end character.
5947 Check length.
5948
8569f13d
VS
59492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 Make better Unicode-compliant and unify some UTF-8 code pathes.
5952
5953 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
5954 valid character.
5955 (grub_is_valid_utf8): Use grub_utf8_process.
5956 Check resulting code range.
5957 (grub_utf8_to_ucs4): Use grub_utf8_process.
5958 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
5959 valid character.
5960
cc4fddf5
VS
59612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5962
5963 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
5964
bbc47747
VS
59652011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 * docs/grub.texi (Filesystems): Mention AFS.
5968
f63d6bf4
VS
59692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * docs/grub.texi (Filesystems): Clarify restrictions.
5972 (Regexp): Mention non-Unicode regexp behaviour.
5973 (Other): Mention non-Unicode matching behaviour.
5974
74bbf0db
VS
59752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5976
f63d6bf4 5977 Make HFS implementation use MacRoman.
74bbf0db
VS
5978
5979 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
5980 (macroman): New const array.
5981 (macroman_to_utf8): New function.
5982 (utf8_to_macroman): Likewise.
5983 (grub_hfs_find_dir): Use utf8_to_macroman.
5984 (grub_hfs_dir): Use macroman_to_utf8.
5985 Set case_insensitive.
5986
4ea0316e
VS
59872011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
5990
d3c13cbd
VS
59912011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 Integrate hints into autogeneration scripts.
5994
5995 * docs/grub.texi (Filesystems): Add a hostdisk example.
5996 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
5997 (grub-probe): Add ofpath.
5998 * gentpl.py: Remove group nosparc64.
5999 * grub-core/commands/search.c (cache_entry): New struct.
6000 (cache): New var.
6001 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6002 * grub-core/commands/search_wrap.c (options): Add platform-specific
6003 hint options.
6004 (grub_cmd_search): Handle platform-specific hints.
6005 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6006 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6007 (grub_util_biosdisk_data): Likewise.
6008 (grub_util_biosdisk_open): Set device_map.
6009 (read_device_map): Handle "" as indication of no map.
6010 Set device_map.
6011 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6012 (grub_util_biosdisk_get_compatibility_hint): New function.
6013 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6014 * include/grub/emu/hostdisk.h
6015 (grub_util_biosdisk_get_compatibility_hint): New proto.
6016 * util/grub-install.in: Don't call grub-mkdevicemap.
6017 Add platform-specific hint to load.cfg.
6018 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6019 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6020 hints. Set root preliminary to compatibility hint, not to OS name.
6021 * util/grub-probe.c (PRINT_*): Add hints.
6022 (print): Make static.
6023 (escape_of_path): New function.
6024 (guess_bios_drive): Likewise.
6025 (guess_efi_drive): Likewise.
6026 (guess_baremetal_drive): Likewise.
6027 (print_full_name): Likewise.
6028 (probe): Handle hints.
6029 (main): Likewise.
6030 * util/ieee1275/devicemap.c: Removed.
6031 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6032 updated.
6033 (grub_util_devname_to_ofpath): Return NULL on failure.
6034
6035 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6036 resource leak.
6037 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6038
6039 * po/POTFILES.in: Regenerated.
6040
6041 Allow purely long options
6042
6043 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6044 (SHORT_ARG_USAGE): Likewise.
6045 (grub_arg_show_help): Compare opt with help_options.
6046 (parse_option): Receive opt as argument. If makes big simplificatons.
6047 All users updated
6048
00ce2df3
VS
60492011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6052 Restructure to avoid warning.
6053
e77e325f
VS
60542011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * util/grub-install.in: Account for possible escaped comma in device
6057 name.
6058
165099ea
VS
60592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6062 channel.
6063
ce4a999d
VS
60642011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6067 allocation and zero-setting.
6068 (grub_ieee1275_get_devname): Check that alias is complete.
6069
379586ad
VS
60702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6073 unaligned segments.
6074
9197b0ad
VS
60752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6078 prefix.
6079 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6080 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6081 Add ieee1275 prefix.
6082
edddb7f9
VS
60832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6084
6085 * docs/grub.texi (Filesystems): Update.
6086
a1a8b1b9
VS
60872011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 Support odc, newc and bigendian cpio formats.
6090
6091 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6092 * grub-core/Makefile.core.def (newc): New module.
6093 (odc): Likewise.
6094 (cpio_be): Likewise.
6095 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6096 (MAGIC): Likewise.
6097 (MAGIC2): Likewise.
6098 (head) [MODE_ODC]: Adapt for the format.
6099 (head) [MODE_NEWC]: Likewise.
6100 (head) [!MODE_*]: Write fields of interest as arrays.
6101 (MAGIC_USTAR): Removed.
6102 (read_number) [MODE_NEWC]: Change to hex.
6103 (read_number) [!MODE_*]: Parse binary arrays.
6104 (grub_cpio_find_file): Factor out the code for better structure and
6105 always use read_number.
6106 (grub_cpio_mount): Use MAGIC and MAGIC2.
6107 (grub_cpio_dir): Exit on first hook non-0 return.
6108 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6109 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6110 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6111 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6112 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6113 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6114 * grub-core/fs/newc.c: New file.
6115 * grub-core/fs/odc.c: Likewise.
6116 * grub-core/fs/cpio_be.c: Likewise.
6117
58eba9ee
VS
61182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 Fix handling of tar numbers occupying the whole field.
6121
6122 * grub-core/fs/cpio.c (read_number): New function.
6123 (grub_cpio_find_file): Use read_number instead of strtoull.
6124
a54a0e12
VS
61252011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6128 occupying the whole field size.
6129
a6120aca
LA
61302011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6131
6132 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6133
a93964ce
VS
61342011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6137
3ea1ca46
SG
61382011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6139
6140 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6141 TARGET_IMG_LDFLAGS.
6142
b87f7ef2
VS
61432011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6146 (mountinfo_entry): Increase the field size to take escaping into
6147 account.
6148 (find_root_device_from_libzfs): Add one byte to size of strings for
6149 security.
6150
62092395
VS
61512011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6154 an assert.
6155 * util/grub-setup.c (setup): Likewise.
6156
1f0b1a77
VS
61572011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6160 _LzmaDecodeA.
6161
8eba9997
VS
61622011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * docs/grub.texi (Internationalisation): New section.
6165
dd0c91e9
VS
61662011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * docs/grub.texi (Loopback booting): New section.
6169
61702011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
6171
6172 * util/grub-mkstandalone.in: Fix minor typo errors.
6173
198e150a
VS
61742011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6177
6178 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6179 net/icmp.c and net/icmp6.c.
6180 (http): New module.
6181 (priority_queue): Likewise.
6182 * grub-core/io/bufio.c: Rewritten.
6183 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6184 TYPE_WITH_CONFIGFILE_OPTION.
6185 (legacy_commands): Add bootp and dhcp.
6186 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6187 (grub_legacy_parse): Likewise.
6188 * grub-core/lib/priority_queue.c: New file.
6189 * grub-core/net/arp.c: Add missing license header.
6190 (arp_find_entry): Removed.
6191 (arp_find_entry): Likewise.
6192 (grub_net_arp_resolve): Rename to ...
6193 (grub_net_arp_send_request): ...this.
6194 (grub_net_arp_receive): New card argument.
6195 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6196 Set router and DNS server.
6197 (grub_net_configure_by_dhcp_ack): Handle routing information.
6198 (grub_cmd_bootp): Set checksum.
6199 (grub_bootp_init): Remove net_dhcp.
6200 * grub-core/net/dns.c: New file.
6201 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6202 completion.
6203 (get_card_packet): Handle allocation.
6204 (grub_efinet_findcards): Set mtu.
6205 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6206 (get_card_packet): Handle allocation.
6207 (emucard): Set mtu.
6208 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6209 (GRUB_MOD_INIT): Set mtu.
6210 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6211 mtu.
6212 (get_card_packet): Handle allocation.
6213 (grub_ofnet_findcards): Set mtu.
6214 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6215 assert.
6216 (grub_net_recv_ethernet_packet): Handle IPv6.
6217 * grub-core/net/http.c: New file.
6218 * grub-core/net/icmp.c: Likewise.
6219 * grub-core/net/icmp6.c: Likewise.
6220 * grub-core/net/ip.c (ip6addr): New type.
6221 (ip6hdr): Likewise.
6222 (reassemble): Likewise.
6223 (cmp): New function.
6224 (reassembles): New variable.
6225 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6226 (id): New variable.
6227 (send_fragmented): New function.
6228 (grub_net_send_ip_packet): Rename to ...
6229 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6230 Handle non-UDP.
6231 (grub_net_recv_ip_packets): Rename to ...
6232 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6233 (free_rsm): New function.
6234 (free_old_fragments): Likewise.
6235 (grub_net_recv_ip4_packets): New function.
6236 (grub_net_send_ip6_packet): Likewise.
6237 (grub_net_send_ip_packet): Likewise.
6238 (grub_net_recv_ip6_packets): Likewise.
6239 (grub_net_recv_ip_packets): Likewise.
6240 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6241 (LINK_LAYER_CACHE_SIZE): New const.
6242 (link_layer_find_entry): New function.
6243 (grub_net_link_layer_add_address): Likewise.
6244 (grub_net_link_layer_resolve_check): Likewise.
6245 (grub_net_link_layer_resolve): Likewise.
6246 (grub_net_ipv6_get_slaac): Likewise.
6247 (grub_net_ipv6_get_link_local): Likewise.
6248 (grub_cmd_ipv6_autoconf): Likewise.
6249 (parse_ip): Handle one number representation.
6250 (parse_ip6): New functoion.
6251 (match_net): Handle IPv6.
6252 (grub_net_resolve_address): Handle IPv6 and DNS.
6253 (grub_net_resolve_net_address): Handle IPv6.
6254 (route_cmp): New function.
6255 (grub_net_route_address): Find best route.
6256 (grub_net_addr_to_str): Handle IPv6.
6257 (grub_net_addr_cmp): New function.
6258 (grub_net_add_addr): Register local route.
6259 (print_net_address): Handle net address.
6260 (grub_net_poll_cards): Retransmit TCP.
6261 (grub_net_poll_cards_idle_real): Likewise.
6262 (have_ahead): New function.
6263 (grub_net_seek_real): Use underlying seek.
6264 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
6265 * grub-core/net/tcp.c: New file.
6266 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
6267 (cmp): New function.
6268 (ack): Likewise.
6269 (tftp_receive): Handle unordered input.
6270 (destroy_pq): New function.
6271 (tftp_close): Close pq.
6272 * grub-core/net/udp.c: Put missing license header.
6273 (grub_net_udp_socket): New function.
6274 (udp_socket_register): Likewise.
6275 (grub_net_udp_close): Likewise.
6276 (grub_net_recv_udp_packet): Check checksum.
6277 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
6278 * include/grub/misc.h (grub_memchr): New function.
6279 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
6280 (grub_net_card_driver): Return buf in recv.
6281 (grub_net_slaac_mac_list): New struct.
6282 (grub_network_level_protocol_id): Add ipv6.
6283 (grub_net_network_level_addr): Likewise.
6284 (grub_net_network_level_net_addr): Likewise.
6285 (grub_net_app_protocol): Add seek.
6286 (grub_net_socket): Removed.
6287 (grub_net_sockets): Likewise.
6288 (grub_net_socket_register): Likewise.
6289 (grub_net_socket_unregister): Likewise.
6290 (FOR_NET_SOCKETS): Likewise.
6291 (grub_net_add_addr): Add const.
6292 (GRUB_NET_BOOTP_*): New enum.
6293 (grub_net_addr_cmp): New proto.
6294 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
6295 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
6296 (grub_net_hwaddr_to_str): NEw proto.
6297 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
6298 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
6299 (grub_dns_init): New proto.
6300 (grub_dns_fini): Likewise.
6301 (grub_net_tcp_retransmit): Likewise.
6302 (grub_net_link_layer_add_address): Likewise.
6303 (grub_net_link_layer_resolve_check): Likewise.
6304 (grub_net_link_layer_resolve): Likewise.
6305 (grub_net_dns_lookup): Likewise.
6306 (grub_net_add_dns_server): Likewise.
6307 (grub_net_remove_dns_server): Likewise.
6308 (GRUB_NET_TRIES): New const.
6309 (GRUB_NET_INTERVAL): Likewise.
6310 * include/grub/net/arp.h: Mostly rewritten.
6311 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
6312 * include/grub/net/ip.h: Mostly rewritten.
6313 * include/grub/net/netbuff.h: Indent.
6314 * include/grub/net/tcp.h: New file.
6315 * include/grub/net/udp.h: Mostly rewritten.
6316 * include/grub/priority_queue.h: New file.
6317 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
6318 (grub_swap_bytes64_compile_time): Likewise.
6319 (grub_cpu_to_be16_compile_time): Likewise.
6320 (grub_cpu_to_be32_compile_time): Likewise.
6321 (grub_cpu_to_be64_compile_time): Likewise.
6322 (grub_be_to_cpu64_compile_time): Likewise.
6323
215c1800
VS
63242011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
6327 UINT_TO_PTR with cast.
6328
c17e546c
VS
63292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
6332 don't use them.
6333
ff6b18b6
VS
63342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
6337 already there.
6338
70ffcc93
VS
63392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
6342 confusing ipxe.
6343
e5f4d260
VS
63442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
6347 Add missing const attribute.
6348 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
6349 Likewise.
6350 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
6351 Likewise.
6352
8e54b4b7
VS
63532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
6356 misaligned access.
6357 (serpent_setkey): Likewise.
6358 (serpent_encrypt_internal): Likewise.
6359 (serpent_decrypt_internal): Likewise.
6360 (serpent_encrypt): Don't put an alignment-increasing cast.
6361 (serpent_decrypt): Likewise.
6362 (serpent_test): Likewise.
6363
813c0a2b
VS
63642011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
6367
f2b60fbd
VS
63682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
6371
6372 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
6373 grub_addr_t casts.
6374 (PTR_TO_UINT64): Likewise.
6375 (PTR_TO_UINT32): Likewise.
6376
5ef5c511
VS
63772011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * util/grub-mkimage.c (generate_image): Decrease the higher limit
6380 because of stack.
6381 * util/grub-setup.c (setup): Don't add redundancy past the higher load
6382 limit.
6383
c476e6df
VS
63842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
6387 text_width > available width a bit more gracefully.
6388
384ad7cc
VS
63892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
6392 current address calculation.
6393
96f8caf8
VS
63942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
6397 stack.
6398 (encode_block): Likewise.
6399
276b7a8b
VS
64002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
6403 certainety.
6404
e3fd394a
VS
64052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
6408 non-RS part to avoid RS messing with GDT.
6409 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6410 Increase to suit in realmode routines.
6411
64122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6413
6414 * grub-core/kern/i386/realmode.S: Increase alignment.
6415 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
6416
ee9c2e7a
VS
64172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
6420 be deterministic.
6421 (syndroms): Compute 0 syndrom.
6422 (rs_recover): Use 0 syndrom.
6423
7a7f7cc9
VS
64242011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
6427
a14b16d1
VS
64282011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
6431 brackets.
6432
9f59e9fc
VS
64332011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6434
ca1b552c
VS
6435 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
6436 account.
6437 (get_top_pad): Likewise.
6438 (get_right_pad): Likewise.
6439 (get_bottom_pad): Likewise.
6440
64412011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 6444
e739d698
VS
64452011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
6448 attribute as the structure isn't guaranteed to be properly aligned.
6449 (grub_efi_pci_device_path): Likewise.
6450 (grub_efi_pccard_device_path): Likewise.
6451 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
6452 specify the size of `memory_type'.
6453 (grub_efi_vendor_device_path): Likewise.
6454 (grub_efi_controller_device_path): Likewise.
6455 (grub_efi_acpi_device_path): Likewise.
6456 (grub_efi_expanded_acpi_device_path): Likewise.
6457 (grub_efi_atapi_device_path): Likewise.
6458 (grub_efi_scsi_device_path): Likewise.
6459 (grub_efi_fibre_channel_device_path): Likewise.
6460 (grub_efi_1394_device_path): Likewise.
6461 (grub_efi_usb_device_path): Likewise.
6462 (grub_efi_usb_class_device_path): Likewise.
6463 (grub_efi_i2o_device_path): Likewise.
6464 (grub_efi_mac_address_device_path): Likewise.
6465 (grub_efi_ipv4_device_path): Likewise.
6466 (grub_efi_ipv6_device_path): Likewise.
6467 (grub_efi_infiniband_device_path): Likewise.
6468 (grub_efi_uart_device_path): Likewise.
6469 (grub_efi_vendor_messaging_device_path): Likewise.
6470 (grub_efi_hard_drive_device_path): Likewise.
6471 (grub_efi_cdrom_device_path): Likewise.
6472 (grub_efi_vendor_media_device_path): Likewise.
6473 (grub_efi_file_path_device_path): Likewise.
6474 (grub_efi_protocol_device_path): Likewise.
6475 (grub_efi_piwg_device_path): Likewise.
6476 (grub_efi_bios_device_path): Likewise.
6477
cb8f88ea
VS
64782011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
6481 (grub_ucs4_to_utf8_alloc): Likewise.
6482 (grub_ucs4_to_utf8): Likewise.
6483 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
6484 (grub_ucs4_to_utf8_alloc): Likewise.
6485
309e5352
VS
64862011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 AFFS never uses unicode.
6489
6490 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
6491 (grub_latin1_to_utf8): New inline function.
6492 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
6493
e7987e1b
VS
64942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6495
6496 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
6497 overflow.
6498
efc2616e
VS
64992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6500
6501 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
6502 (grub_squash_dirent_header): Likewise.
6503 (read_chunk): Don't double swap.
6504 (grub_squash_iterate_dir): Fix swap sizes.
6505
3c349f5a
VS
65062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
6509
b453412d
VS
65102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
6513 (grub_hfs_iterate_dir): Likewise.
6514
12e9d4d1
VS
65152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 Fix video on platforms where unaligned access is forbidden.
6518 Make several optimisations while on it.
6519
6520 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
6521 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6522 (grub_video_fbblit_replace_32bit_1bit): Likewise.
6523 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6524 Disable.
6525 (grub_video_fbblit_replace_16bit_1bit):
6526 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6527 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6528 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
6529 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
6530 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6531 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
6532 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
6533 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
6534 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
6535 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
6536 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
6537 (grub_video_fbblit_replace_index_RGB888): Likewise.
6538 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
6539 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
6540 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
6541 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
6542 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
6543 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6544 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
6545 Disable.
6546 (grub_video_fbblit_blend_XXX565_1bit):
6547 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
6548 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
6549 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
6550 void *.
6551 * grub-core/video/fb/video_fb.c (common_blitter)
6552 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
6553 (grub_video_fb_create_render_target_from_pointer)
6554 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
6555 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
6556 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
6557 definition.
6558 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
6559
ace96609
VS
65602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
6563 HH22 and HM10 relocations.
6564
fd261d73
VS
65652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
6568
e59b7857
VS
65692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
6572 allocation succeeded.
6573
9b4baaa4
VS
65742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
6577 argument a u8 pointer. All users updated.
6578 Handle unaligned buffers.
6579
dc713193
VS
65802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
6583 add_part to workaround compiler bug.
6584
30dd48c2
VS
65852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
6588
0c6087a8
VS
65892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
6592 Reserve alignment invariants.
6593 (grub_multiboot_load): Likewise.
6594 (retrieve_video_parameters): Likewise.
6595 (grub_multiboot_make_mbi): Likewise.
6596
c2e77777
VS
65972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
6600 incorrect pointer.
6601
b70b6d11
VS
66022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
6605 (grub_pata_pio_write): Likewise.
6606
02a2bf83
VS
66072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 Add noreturn attributes and remove unreachable code.
6610
6611 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
6612 code.
6613 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
6614 code. Mark as noreturn.
6615 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
6616 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
6617 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
6618 unreachable code.
6619 * grub-core/kern/main.c (grub_main): Mark as noreturn.
6620 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
6621 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
6622 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
6623 * include/grub/kernel.h (grub_main): Mark as noreturn.
6624 * include/grub/reader.h (grub_rescue_run): Likewise.
6625
2019d09e
VS
66262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
6629 redundant declaration.
6630
d1c501ee
VS
66312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 * include/grub/net.h (grub_net_network_level_interfaces): Remove
6634 redundant declaration.
6635 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
6636
61664420
VS
66372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
6640 to ensure alignment.
6641 (grub_hdparm_print_identify): Make argument uint16 * to ensure
6642 alignment. Ensure tmp alignment.
6643 (grub_cmd_hdparm): Ensure buf alignment.
6644 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
6645 to ensure alignment.
6646 (grub_ata_dumpinfo): Ensure text alignment.
6647 (grub_atapi_identify): Preserve alignment invariant.
6648 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
6649
0d51ee20
VS
66502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
6653 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
6654 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
6655 * include/grub/misc.h (grub_reboot)
6656 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
6657 (grub_halt) [__mips__]: Likewise.
6658
753ef8c1
VS
66592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6660
6661 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
6662 Remove redundant declaration.
6663 (grub_mmap_get_post64): Likewise.
6664 (grub_mmap_get_upper): Likewise.
6665 (grub_mmap_get_lower): Likewise.
6666
85c85365
VS
66672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
6670 uint32_t * to ensure alignment.
6671 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
6672
a23f2cc4
VS
66732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6674
93018f64
VS
6675 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
6676 uint16_t * to ensure alignment.
6677 (sun_pc_partition_map_iterate): Make `block' a union to ensure
6678 alignment.
6679
66802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
6683 to ensure alignment.
6684 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
6685
58acccd6
VS
66862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 * grub-core/fs/ntfs.c (u16at): Make into inline function.
6689 Handle unaligned pointers.
6690 (u32at): Likewise.
6691 (u64at): Likewise.
6692 (fixup): Use byte access instead of v16at.
6693 (find_attr): Fix imporper usage of v32at.
6694 (read_data): Likewise.
6695 (list_file): Handle byte-swapping and unaligned strings.
6696 (grub_ntfs_label): Likewise.
6697
9b05cad7
VS
66982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
6701 as it's not necessarily aligned.
6702
b3950b84
VS
67032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
6706 redundant declaration.
6707 (grub_serial_init): Likewise.
6708 (grub_terminfo_init): Likewise.
6709
fcd232b7
VS
67102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
6713 function.
6714 (ZAP_HASH_IDX): Likewise.
6715 (ZAP_LEAF_HASH_SHIFT): Likewise.
6716 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
6717 (LEAF_HASH): Likewise.
6718 (ZAP_LEAF_NUMCHUNKS): Likewise.
6719 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
6720 alignment invariants. Return pointer. All users updated.
6721 (ZAP_LEAF_ENTRY): Make into inline function.
6722 (NBBY): Removed.
6723 (xor): LIkewise.
6724 (xor_out): Use grub_crypto_xor.
6725 (dnode_get_path): Use grub_get_unaligned.
6726 (nvlist_find_value): Likewise.
6727 (grub_zfs_nvlist_lookup_uint64): Likewise.
6728 (grub_zfs_nvlist_lookup_string): Likewise.
6729 (get_nvlist_size): Likewise.
6730 (grub_zfs_open): Likewise.
6731 (fill_fs_info): Likewise.
6732 (grub_zfs_dir): Likewise.
6733 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
6734 alignment invariants.
6735 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
6736 necessarily aligned.
6737
f138623a
VS
67382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
6741
564840dc
VS
67422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
6745 arithmetic to conserve alignment invariants.
6746
9b40df20
VS
67472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6748
6749 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
6750 redundant declaration.
6751 (grub_efiemu_mm_obtain_request): Likewise.
6752 (grub_efiemu_prepare): Likewise.
6753
d1c930f9
VS
67542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
6757 to match types.
6758
4c5f3056
VS
67592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
6762 case of aunaligned recptr.
6763 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
6764 alignment.
6765 (grub_hfsplus_btree_search): Handle unaligned index.
6766
728cba91
VS
67672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
6770 to get freetag and skip.
6771
eb561f31
VS
67722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6773
6774 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
6775 array.
6776 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
6777 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
6778
20993fbb
VS
67792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
6782 name for checksum and fix allocation algorithm.
6783
1f313b94
VS
67842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * include/grub/types.h (grub_properly_aligned_t): New type.
6787 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
6788 (grub_get_unaligned16): Add explicit casts.
6789 (grub_get_unaligned32): Likewise.
6790 (grub_get_unaligned64): Likewise.
6791 (grub_set_unaligned16): New function.
6792 (grub_set_unaligned32): Likewise.
6793
47ae27ec
VS
67942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
6797
78c2cd1c
VS
67982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
6801 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
6802 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
6803
53072f9b
VS
68042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6805
6806 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
6807 conditionals.
6808
055dc239
VS
68092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
6812 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
6813
496bd074
VS
68142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6815
6816 Unify and improve RAID and crypto xor.
6817
6818 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
6819 changed to grub_crypto_xor
6820 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
6821 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
6822 Use bigger types when possible.
6823
ef6e4335
VS
68242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6825
6826 * grub-core/disk/raid.c (scan_devices): Fix condition.
6827
5d048bf2
VS
68282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
6831 Make name a const ptr.
6832
ee533335
VS
68332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6834
6835 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
6836 first argument a const pointer.
6837 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
6838 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
6839 proto.
6840 (grub_children_iterate): Likewise.
6841 (grub_machine_mmap_iterate): Remove redundant declaration.
6842
cc8f3668
VS
68432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
6846 (grub_cmd_acpi) [!x86]: Disable EBDA.
6847
c5fc563a
VS
68482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 Enable UTF8 in gnulib regexp.
6851
6852 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
6853 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
6854 (isupper): Use grub_isupper.
6855 (isascii): New inline function.
6856 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
6857 * grub-core/lib/posix_wrap/wctype.h: Likewise.
6858 * grub-core/normal/charset.c (grub_utf8_process): New function.
6859 (grub_utf8_to_utf16): Use grub_utf8_process.
6860 (grub_encode_utf8_character): New function.
6861 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
6862 * include/grub/charset.h (grub_utf8_process): New declaration.
6863 (grub_encode_utf8_character): Likewise.
6864 * include/grub/misc.h (grub_islower): New inline function.
6865 (grub_isupper): Likewise.
6866 (grub_strchrsub): Moved down to fix the definitions.
6867
0af2346f
VS
68682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
6871 specification.
6872
74dbd244
VS
68732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 * include/grub/loader.h (grub_loader_register_preboot_hook):
6876 Use struct preboot * and not void * for handle. All users updated.
6877 (grub_loader_unregister_preboot_hook): Likewise.
6878
1bc8f60d
VS
68792011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
6882 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
6883 UTF-16-BE. All users updated.
6884 (grub_hfsplus_cmp_catkey): Fix unicode handling.
6885 (grub_hfsplus_iterate_dir): Likewise.
6886 (grub_hfsplus_label): Likewise.
6887
48d6e456
VS
68882011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
6891
bf3a3857
VS
68922011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 Add missing const qualifiers.
6895
6896 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
6897 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
6898 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
6899 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
6900 (grub_lvm_check_flag): Likewise.
6901 * grub-core/efiemu/i386/coredetect.c
6902 (grub_efiemu_get_default_core_name): Likewise
6903 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
6904 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
6905 * grub-core/fs/ntfs.c (fixup): Likewise.
6906 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
6907 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
6908 (fzap_lookup): Likewise.
6909 (zap_lookup): Likewise.
6910 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
6911 * grub-core/lib/legacy_parse.c (check_option): Likewise.
6912 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
6913 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
6914 (grub_freebsd_add_meta_module): Likewise.
6915 (grub_cmd_freebsd_module): Likewise.
6916 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
6917 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
6918 (grub_xnu_writetree_get_size): Likewise.
6919 (grub_xnu_writetree_toheap_real): Likewise.
6920 (grub_xnu_find_key): Likewise.
6921 (grub_xnu_create_key): Likewise.
6922 (grub_xnu_create_value): Likewise.
6923 (grub_xnu_register_memory): Likewise.
6924 (grub_xnu_check_os_bundle_required): Likewise.
6925 (grub_xnu_scan_dir_for_kexts): Likewise.
6926 (grub_xnu_load_kext_from_dir): Likewise.
6927 * grub-core/normal/color.c (color_list): Likewise.
6928 * grub-core/normal/completion.c (current_word): Likewise.
6929 * grub-core/normal/menu_entry.c (insert_string): Likewise.
6930 * grub-core/term/serial.c (grub_serial_find): Likewise.
6931 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
6932 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
6933 Likewise.
6934 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
6935 (grub_freebsd_add_meta_module): Likewise.
6936 * include/grub/lib/arg.h (grub_arg_option): Likewise.
6937 * include/grub/net.h (grub_net_card_driver): Likewise.
6938 (grub_net_card): Likewise.
6939 (grub_net_app_protocol): Likewise.
6940 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
6941 * include/grub/serial.h (grub_serial_find): Likewise.
6942 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
6943 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
6944 (grub_xnu_create_value): Likewise.
6945 (grub_xnu_find_key): Likewise.
6946 (grub_xnu_scan_dir_for_kexts): Likewise.
6947 (grub_xnu_load_kext_from_dir): Likewise.
6948
6949 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
6950 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
6951 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
6952 Moved from here ...
6953 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
6954
112b4837
CW
69552011-11-28 Colin Watson <cjwatson@ubuntu.com>
6956
6957 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
6958
49e891ac
VS
69592011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
6960
6961 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
6962 (read_device): Fix size calculation.
6963
fd258e5c
RM
69642011-11-25 Robert Millan <rmh@gnu.org>
6965
6966 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
6967 (find_root_device_from_libzfs): Add zpool output parser to be used
6968 as fallback when libzfs isn't available.
6969
78845dc2
SG
69702011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
6971
6972 * po/Makefile.in.in: Add missing escape-continuation.
6973
adac5211
VS
69742011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
6977
10b64f1c
VS
69782011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
6981
bb416954
VS
69822011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
6985
bdfe9eeb
VS
69862011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
6989
581ffa8a
VS
69902011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * grub-core/lib/adler32.c: Add missing license specification.
6993 * grub-core/lib/crc64.c: Likewise.
6994 * grub-core/loader/i386/pc/plan9.c: Likewise.
6995 * grub-core/partmap/plan.c: Likewise.
6996
2536cf64
LK
69972011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
6998
6999 Add facility to debug GRUB with gdb under qemu.
7000
7001 * grub-core/gdb_grub.in: New file.
7002 * grub-core/gmodule.pl.in: Likewise.
7003 * grub-core/Makefile.core.def (gmodule.pl): New script.
7004 (gdb_grub): Likewise.
7005
bc108a4a
VS
70062011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * util/grub-mount.c (argp_parser): Accept relative pathes.
7009 * util/grub-fstest.c (argp_parser): Likewise.
7010
111c1778
VS
70112011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7012
7013 Plan9 support.
7014
7015 * Makefile.util.def (libgrubmods): Add
7016 grub-core/partmap/plan.c.
7017 * docs/grub.texi: Notice Plan9 support.
7018 * grub-core/Makefile.core.def (plan9): New module.
7019 (part_plan): Likewise.
7020 * grub-core/loader/i386/pc/plan9.c: New file.
7021 * grub-core/partmap/plan.c: Likewise.
7022 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7023 define.
7024 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7025 * include/grub/mm.h (grub_extend_alloc): New inline function.
7026
c30be3b6
VS
70272011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 Make Reed-Solomon faster by using power of generator representation of
7030 GF(256)*.
7031
7032 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7033 (gf_double_t): Likewise.
7034 (gf_invert): Removed.
7035 (gf_powx): New array.
7036 (gf_powx_inv): Likewise.
7037 (scratch): Move higher.
7038 (gf_reduce): Removed.
7039 (gf_mul): Use powx.
7040 (gf_invert): Likewise.
7041 (init_inverts): Replaced with ...
7042 (init_powx): ...this. All users updated.
7043 (pol_evaluate): Replace multiplications with additions.
7044 (rs_encode): Likewise.
7045 (gauss_eliminate): Call gf_invert.
7046 (grub_reed_solomon_add_redundancy): Call init_powx.
7047 (grub_reed_solomon_recover): Call init_powx unconditionally.
7048
fa5aeffc
VS
70492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7052
a346b81c
VS
70532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7054
7055 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7056 disk->partiton for safety.
7057
d89ee414
VS
70582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7059
7060 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7061 Fix a memory leak.
7062 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7063
91ee7b6d
VS
70642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7067
91e5a33d
VS
70682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7071
9edd7be2
VS
70722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 Fix spaces handling in proc/self/mountinfo.
7075
7076 * util/getroot.c (unescape): New function.
7077 (grub_find_root_device_from_mountinfo): Use unescape.
7078
ba102053
VS
70792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 Support ZFS embedding.
7082
7083 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7084 (grub_zfs_fs): Register grub_zfs_embed.
7085
aa94b870
VS
70862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7087
7088 Fix MIPS compilation.
7089
7090 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7091 * include/grub/offsets.h: Rename decompressor fields from
7092 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7093 * util/grub-mkimage.c (image_targets): Use new names.
7094
5fbdac14
VS
70952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 Defer multiboot device parsing until we're in compressed part.
7098
7099 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7100 bsd_part. setdevice has fallen into disuse.
7101 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7102 (bsd_part): Likewise.
7103 (boot_dev): New variable.
7104 (multiboot_trampoline): Don't parse multiboot device.
7105 Pass multiboot device in %edx.
7106 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7107 grub_boot_device.
7108 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7109 Likewise.
7110 * grub-core/kern/i386/pc/startup.S: Save edx.
7111 (grub_boot_drive): Removed.
7112 (grub_install_dos_part): Likewise.
7113 (grub_install_bsd_part): Likewise.
7114 (grub_boot_device): New variable.
7115 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7116 (grub_install_bsd_part): Likewise.
7117 (grub_boot_drive): Likewise.
7118 (grub_boot_device): New variable.
7119 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7120 Removed.
7121 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7122 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7123 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7124 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7125 * util/grub-install.in: Remove redundant condition.
7126
691cbb58
VS
71272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 Fix bug introduced by previous commit.
7130
7131 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7132
60240b8b
VS
71332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 Use decompressors framework on i386-pc. It increases core size
7136 by 46 bytes but improves compatibility and maintainability.
7137
7138 * grub-core/Makefile.core.def (lzma_decompress): New image.
7139 (kernel): Add i386_pc_ldflags.
7140 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7141 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7142 to real_to_prot, prot_to_real and device info.
7143 * include/grub/offsets.h: Renamed decompressor offsets.
7144 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7145 (image_target_desc): Remove raw_size and rename decompressor fields.
7146 (compress_kernel): Handle lzma.
7147 (generate_image): Handle decompressors on i386-pc.
7148
e9d3421c
VS
71492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7150
7151 * configure.ac: Add -fno-asynchronous-unwind-tables.
7152
2b23074a
VS
71532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 Move assembly code to C by using intwrap. It increases core size
7156 by 88 bytes but improves compatibility and maintainability.
7157
7158 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7159 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7160 ... here. Translated to C.
7161 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7162 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7163 ... here. Translated to C.
7164 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7165 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7166 ... here. Translated to C.
7167 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7168 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7169 ... here. Translated to C.
7170 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7171 * grub-core/term/i386/pc/console.c (grub_console_cls):
7172 ... here. Translated to C.
7173 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7174 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7175 ... here. Translated to C.
7176 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7177 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7178 Translated to C.
7179 * grub-core/term/i386/pc/console.c (int10_9): New function.
7180 (grub_console_putchar): Likewise.
7181 * include/grub/i386/pc/console.h: Removed the not anymore shared
7182 functions.
7183
678f4b67
VS
71842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 Move grub_chainloader_real_boot out of the kernel.
7187
7188 * grub-core/Makefile.am: Remove machine/loader.h.
7189 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7190 Removed.
7191 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7192 variable.
7193 (grub_relocator16_keep_a20_enabled): Likewise.
7194 (grub_relocator16_boot): Fill new variables.
7195 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7196 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7197 relocator.
7198 (grub_chainloader_unload): Likewise.
7199 (grub_chainloader_cmd): Likewise.
7200 * include/grub/i386/pc/loader.h: Removed.
7201 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7202 and esi. All initialisers updated.
7203
4626edf6
VS
72042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
72052011-11-12 Colin Watson <cjwatson@ubuntu.com>
7206
7207 * Makefile.util.def (grub-mount): New util.
7208 * .bzrignore: Add grub-mount.
7209 * configure.ac: Check for fuse and enable grub-mount if available.
7210 * docs/man/grub-mount.h2m: New file.
7211 * util/grub-mount.c: Likewise.
7212
10f0117b
VS
72132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * grub-core/commands/efi/fixvideo.c: Gettextize.
7216 * grub-core/commands/hashsum.c: Likewise.
7217 * grub-core/commands/i386/cmostest.c: Likewise.
7218 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7219 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7220 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7221 * grub-core/commands/lsmmap.c: Likewise.
7222 * grub-core/commands/menuentry.c: Likewise.
7223 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7224 * grub-core/commands/setpci.c: Likewise.
7225 * grub-core/loader/i386/bsd.c: Likewise.
7226 * grub-core/loader/i386/linux.c: Likewise.
7227 * util/getroot.c: Likewise.
7228 * util/grub-editenv.c: Likewise.
7229 * util/grub-fstest.c: Likewise.
7230 * util/grub-mkfont.c: Likewise.
7231 * util/grub-mkimage.c: Likewise.
7232 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7233 * util/grub-pe2elf.c: Likewise.
7234 * util/grub-probe.c: Likewise.
7235 * util/grub-setup.c: Likewise.
7236 * util/ieee1275/ofpath.c: Likewise.
7237 * util/misc.c: Likewise.
7238 * util/raid.c: Likewise.
7239
566f779b
RM
72402011-11-11 Robert Millan <rmh@gnu.org>
7241
7242 * util/getroot.c (grub_util_get_geom_abstraction): Remove
7243 __attribute__((unused)) from `os_dev', which *is* being used.
7244
b50787de
VS
72452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
7248 forgotten define.
7249 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
7250 GRUB_IA64_DL_GOT_ALIGN.
7251 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
7252 GRUB_IA64_DL_TRAMP_ALIGN.
7253
119d11c8
VS
72542011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 Replace grub_fatal with normal errors in i386 linux loader.
7257
7258 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
7259 (allocate_pages): Check find_efi_mmap_size return value.
7260 (grub_e820_add_region): Return error.
7261 (grub_linux_boot): Check mmap return value.
7262
6e0632e2
VS
72632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 * grub-core/commands/acpihalt.c: Gettextized.
7266 * grub-core/commands/cacheinfo.c: Likewise.
7267 * grub-core/commands/cmp.c: Likewise.
7268 * grub-core/commands/efi/loadbios.c: Likewise.
7269 * grub-core/commands/gptsync.c: Likewise.
7270 * grub-core/commands/ieee1275/suspend.c: Likewise.
7271 * grub-core/commands/legacycfg.c: Likewise.
7272 * grub-core/commands/memrw.c: Likewise.
7273 * grub-core/commands/minicmd.c: Likewise.
7274 * grub-core/commands/parttool.c: Likewise.
7275 * grub-core/commands/time.c: Likewise.
7276 * grub-core/commands/videoinfo.c: Likewise.
7277 * grub-core/disk/geli.c: Likewise.
7278 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
7279 * grub-core/disk/luks.c: Likewise.
7280 * grub-core/disk/lvm.c: Likewise.
7281 * grub-core/font/font_cmd.c: Likewise.
7282 * grub-core/fs/zfs/zfscrypt.c: Likewise.
7283 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7284 * grub-core/gfxmenu/view.c: Likewise.
7285 * grub-core/kern/emu/hostdisk.c: Likewise.
7286 * grub-core/kern/emu/main.c: Likewise.
7287 * grub-core/kern/emu/misc.c: Likewise.
7288 * grub-core/kern/emu/mm.c: Likewise.
7289 * grub-core/kern/mips/arc/init.c: Likewise.
7290 * grub-core/kern/mips/loongson/init.c: Likewise.
7291 * grub-core/kern/partition.c: Likewise.
7292 * grub-core/lib/i386/halt.c: Likewise.
7293 * grub-core/lib/mips/arc/reboot.c: Likewise.
7294 * grub-core/lib/mips/loongson/reboot.c: Likewise.
7295 * grub-core/loader/i386/pc/chainloader.c: Likewise.
7296 * grub-core/loader/i386/xnu.c: Likewise.
7297 * grub-core/loader/multiboot.c: Likewise.
7298 * grub-core/net/bootp.c: Likewise.
7299 * grub-core/net/net.c: Likewise.
7300 * grub-core/normal/term.c: Likewise.
7301 * grub-core/partmap/bsdlabel.c: Likewise.
7302 * grub-core/parttool/msdospart.c: Likewise.
7303 * grub-core/term/gfxterm.c: Likewise.
7304 * grub-core/term/terminfo.c: Likewise.
7305 * grub-core/video/i386/pc/vbe.c: Likewise.
7306 * util/grub-menulst2cfg.c: Likewise.
7307 * util/grub-mkdevicemap.c: Likewise.
7308 * util/grub-mklayout.c: Likewise.
7309 * util/grub-mkrelpath.c: Likewise.
7310 * util/grub-script-check.c: Likewise.
7311 * util/ieee1275/grub-ofpathname.c: Likewise.
7312 * util/resolve.c: Likewise.
7313
073aa7a9
VS
73142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 Support %1$d syntax.
7317
7318 * tests/printf_unit_test.c: New file.
7319 * Makefile.util.def (printf_test): New test.
7320 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
7321
c76b5417
VS
73222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
7325 fix.
7326
df067ad1
VS
73272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
7330 dprintf.
7331 * grub-core/font/font.c (grub_font_load): Likewise.
7332
5b289bc5
VS
73332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 * util/grub-macho2img.c: Add comment concerning gettext.
7336 * grub-core/lib/legacy_parse.c: Likewise.
7337
c1860f87
VS
73382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
7341 (grub_xvasprintf): Likewise.
7342
d35d0d37
VS
73432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 Add const keyword to grub_env_get and gettextize week days.
7346
7347 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
7348 (grub_read_hook_datetime): Return const char *.
7349 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
7350 updated.
7351 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7352 Mark for gettext.
7353 (grub_get_weekday_name): Return const char *. Call gettext.
7354 * grub-core/script/argv.c (grub_script_argv_append): Receive const
7355 char * and len as the argument. All users updated.
7356 (grub_script_argv_split_append): Receive const char *.
7357 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
7358 * include/grub/env.h (grub_env_get): Likewise.
7359 (grub_env_read_hook_t): Return const char *.
7360 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
7361 (grub_script_argv_split_append): Likewise.
7362
9aed8a71
VS
73632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
7366
067fdf00
VS
73672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
7370 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
7371
a8bd9d39
VS
73722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
7375 Fix prototype.
7376
f7ce5baf
VS
73772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 Fix mips compilation.
7380
7381 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
7382 normal decoder.
7383 (hashes): Use in embed decoder as well (for sizes).
7384 (dec_stream_header): Fix embed decompressor logic.
7385 (dec_stream_footer): Likewise.
7386
9bb182f3
VS
73872011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
7390 an error and not a fatal on unrecognised relocation types.
7391
63a9e6f6
VS
73922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7393
7394 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7395 Issue error rather than printf on unknown arguments.
7396
4c458569
VS
73972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
7400 Make buf a const.
7401
e2d22baf
VS
74022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
7405 Fix module name.
7406
53dc8590
VS
74072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
7410 leftover debug printf.
7411
6c189294
VS
74122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
7415
f7688369
VS
74162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
7419 A stylistic fix.
7420
11a775a3
VS
74212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
7424
33f784e8
SL
74252011-11-10 Shea Levy <slevy@tieronedesign.com>
7426
7427 Allow all modules to perform serial IO
7428
7429 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
7430 * include/grub/serial.h (grub_serial_port_configure): New inline
7431 function.
7432 (grub_serial_port_fetch): Likewise.
7433 (grub_serial_port_put): Likewise.
7434 (grub_serial_port_fini): Likewise.
7435 (grub_serial_find): New proto.
7436
f6276525
VS
74372011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 Put symlink at the end of the node and fix a potential
7440 memory corruption.
7441
7442 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
7443 Make symlink into an array.
7444 (set_rockridge): Set have_symlink and alloc_dirents.
7445 (grub_iso9660_read_symlink): Use new layout.
7446 (grub_iso9660_iterate_dir): Fix memory corruption.
7447 Use new layout.
7448 (grub_iso9660_dir): Set have_symlink.
7449 (grub_iso9660_open): Likewise.
7450
c3591189
VS
74512011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 Remove local keyword.
7454
7455 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
7456 (version_test_gt): Likewise.
7457 (version_find_latest): Likewise.
7458 (gettext_printf): Likewise.
7459 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
7460
cb544caa
VS
74612011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
7464
45bd824d
VS
74652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 Fix ZFS memory and resource leaks.
7468
7469 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
7470 All users updated.
7471 Free type on exit.
7472 (fill_vdev_info): New parameter inserted. All users updated.
7473 (check_pool_label): Likewise.
7474 (scan_disk): Likewise.
7475 (scan_devices): Close non-inserted disks.
7476 (fzap_iterate): Free l.
7477 (unmount_device): Free children descripto memory.
7478
ad9a2f44
VS
74792011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
7482 argument (access out of bounds).
7483
6b68db81
VS
74842011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
7487 >= 6 drives.
7488
28840fda
VS
74892011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
7492 Fix declaration.
7493
8a5a3a5b
VS
74942011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 Fix several memory leaks.
7497
7498 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
7499 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
7500 (grub_cpio_dir): Likewise.
7501 * grub-core/fs/fat.c (grub_fat_label): Likewise.
7502 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
7503 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
7504 (grub_romfs_label): Likewise.
7505 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
7506 (squash_unmount): New function.
7507 (grub_squash_dir): Fix memory leak.
7508 (grub_squash_open): Likewise.
7509 (grub_squash_read): Likewise.
7510 (grub_squash_mtime): Likewise.
7511 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
7512 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
7513 * util/grub-fstest.c (fstest): Likewise.
7514
57b01250
VS
75152011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
7518 avoid accessing beyond the array.
7519
19e81ba7
VS
75202011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
7523
52b656c0
VS
75242011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 Several AFFS fixes.
7527
7528 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
7529 (GRUB_AFFS_FLAG_FFS): Removed.
7530 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
7531 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
7532 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
7533 (grub_fshelp_node): Make block 32-bit.
7534 Add block_cache and last_block_cache.
7535 (grub_affs_read_block): Fill and use block cache.
7536 (grub_affs_read_file): Removed.
7537 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
7538 boot block.
7539 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
7540 safety.
7541 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
7542 space.
7543 (grub_affs_close): Free block cache.
7544 (grub_affs_read): Use grub_fshelp_read_file directly.
7545
438a746a
VS
75462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7547
7548 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
7549 with no error set.
7550
49a45021
VS
75512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
7554 used variable.
7555 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
7556 Likewise.
7557
3ae17eb8
VS
75582011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
7561
7562 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
7563 byteswap when needed.
7564
27610c38
VS
75652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 Fix FreeBSD compilation.
7568
7569 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
7570 to avoid circular dependency.
7571 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
7572 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
7573 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
7574
4a19b601
VS
75752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 Fix ZFS crypto error types.
7578
7579 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
7580 (grub_gcm_decrypt): Likewise.
7581 (grub_zfs_load_key_real): Fix error code type. Handle possible error
7582 from PBKDF2.
7583
958ee221
VS
75842011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 Illumos support.
7587
7588 * Makefile.util.def (10_illumos): New script.
7589 * configure.ac: Set COND_HOST_ILLUMOS.
7590 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
7591 Support Illumos calls.
7592 (find_partition_start) [__sun__]: Likewise.
7593 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
7594 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
7595 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
7596 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
7597 device.
7598 * util/grub-probe.c (probe) [__sun__]: Do character check.
7599 * util/grub.d/10_illumos.in: New file.
7600
cac14fb6
VS
76012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 Support escaped commas in hostdisk.
7604
7605 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
7606 (find_grub_drive): Use unescape_cmp.
7607 (make_device_name): Escape commas.
7608
78e08dc3
VS
76092011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
7612
9f421dd1
VS
76132011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
7616 variable.
7617
ed64e9e2
VS
76182011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 Support trampoline jumps on powerpc.
7621
7622 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
7623 __ia64__ path.
7624 (grub_dl_load_segments): Set mod->sz.
7625 (grub_dl_flush_cache): Flush whole space occupied by module, not just
7626 segments.
7627 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
7628 (jump): Likewise.
7629 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
7630 function.
7631 (trampoline): New struct.
7632 (trampoline_template): New const.
7633 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
7634 * include/grub/dl.h (grub_dl): Add sz element.
7635 [__powerpc__]: Follow __ia64__.
7636 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
7637 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
7638 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
7639 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
7640
3084ede4
VS
76412011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 ZFS crypto support.
7644
7645 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
7646 * grub-core/Makefile.core.def (zfscrypt): New module.
7647 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
7648 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
7649 it. All users updated.
7650 (grub_zfs_decrypt): New var.
7651 (grub_zfs_load_key): Likewise.
7652 (zio_checksum_functions): Add SHA256+MAC.
7653 (zio_checksum_verify): Handle incomplete comparison due to MAC.
7654 (zio_read): Handle encrypted blocks.
7655 (zap_verify): Remove incorrect check.
7656 (fzap_iterate): Handle non-standard fzap.
7657 (zap_iterate): Likewise.
7658 (zap_iterate_u64): New function.
7659 (dnode_get_fullpath): Load keys.
7660 * grub-core/fs/zfs/zfscrypt.c: New file.
7661 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
7662 (grub_crypto_ecb_encrypt): Make input const.
7663 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
7664 (grub_crypto_ecb_encrypt): Make input const.
7665 (GRUB_CIPHER_AES): New macro.
7666 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
7667 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
7668 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
7669 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
7670 prefix. All users updated.
7671 (grub_zfs_add_key): New proto.
7672 (grub_zfs_decrypt): Likewise.
7673 (grub_zfs_load_key): Likewise.
7674 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
7675 * util/grub-fstest.c (options): Add -K option.
7676 (argp_parser): Likewise.
7677
b632b404
VS
76782011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 Support zle compression on ZFS.
7681
7682 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
7683 (decomp_table): Add zle.
7684 * include/grub/zfs/zio.h (zio_compress): Add zle.
7685
c7ba4f69
VS
76862011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 Support BtrFS embedding.
7689
7690 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
7691 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
7692 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
7693 * util/grub-setup.c (setup): Use fs embedding if available.
7694 Add additional sanity check.
7695
455377d9
VS
76962011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * util/grub-install.in: Fix condition for config_opt.
7699
c2fd16ca
VS
77002011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 Support third redundancy strip on raidz3.
7703
7704 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
7705 Return error on singularity. All users updated.
7706 (read_device): Don't stop on 3rd failure on raidz3.
7707
8622923b
VS
77082011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 Support case-insensitive ZFS subvolumes.
7711
7712 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
7713 All users updated.
7714 (zap_hash): Likewise.
7715 (name_cmp): New function.
7716 (zap_leaf_array_equal): New parameter case_insensitive.
7717 All users updated.
7718 (zap_leaf_lookup): Likewise.
7719 (fzap_lookup): Likewise.
7720 (zap_lookup): Likewise.
7721 (dnode_get_path): New parameter case_insensitive. Retrieve case
7722 sensitiviness of a volume. All users updated.
7723 (dnode_get_fullpath): New parameter case_insensitive.
7724 All users updated.
7725 (grub_zfs_dir): Set info.case_insensitiveness.
7726
95f2e860
VS
77272011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 Support second redundancy strip on raidz(2,3).
7730
7731 * grub-core/fs/zfs/zfs.c (powx): New array.
7732 (powx_inv): Likewise.
7733 (poly): New const.
7734 (xor_out): New function.
7735 (gf_mul): Likewise.
7736 (recovery): Likewise.
7737 (read_device): Use second redundancy strip.
7738
11ee4389
VS
77392011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 Use a power of generator representation of GF(256) multiplication group
7742 to save space time and complexity.
7743
7744 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
7745 (raid6_table2): Likewise.
7746 (powx): New array.
7747 (powx_inv): Likewise.
7748 (poly): New const.
7749 (grub_raid_block_mul): Replace with ...
7750 (grub_raid_block_mulx): ...this.
7751 (grub_raid6_init_table): Rewritten.
7752 (grub_raid6_recover): Use power of generator representation.
7753
09e2763f
VS
77542011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
7757 for the right device.
7758
8bec9a28
VS
77592011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
7762 expected by grub-mkimage and it's more clear since there is no implicit
7763 padding.
7764
dbd3a32e
VS
77652011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
7768 disk.
7769 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
7770
182c872a
PMH
77712011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
7772
7773 * util/grub-mkrescue.in: Fix handling xorriso option.
7774
1e51cabd
VS
77752011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
7778 NULL.
7779
9cc3581d 77802011-11-03 crocket <crockabiscuit@gmail.com>
7781
7782 * util/grub.d/10_linux.in: Add Slackware initrd naming.
7783
158dc1ea
VS
77842011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 XZ CRC64 and SHA256 support.
7787
7788 * Makefile.util.def (libgrubmods): Add crc64.c.
7789 * grub-core/Makefile.core.def (crc64): New module.
7790 * grub-core/lib/crc64.c: New file.
7791 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
7792 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
7793 Fix the type.
7794 (MAX_HASH_SIZE): New define.
7795 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
7796 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
7797 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7798 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
7799 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
7800 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
7801 Handle non-crc32 hashes.
7802 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
7803 (dec_stream_header): Handle non-crc32 hashes.
7804 (dec_stream_footer): Likewise.
7805 (dec_block_header): Likewise.
7806 (dec_main): Likewise.
7807 (xz_dec_init): Likewise.
7808 (xz_dec_reset): Likewise.
7809 (xz_dec_end): Likewise.
7810 * util/import_gcry.py: Add CRC64 line.
7811
9d9b3d2f
VS
78122011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
7815 as well.
7816
7d0ac931
VS
78172011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 Make reiserfs label retrieval similar to other *_label functions.
7820
7821 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
7822 (REISERFS_MAX_LABEL_LENGTH): Removed.
7823 (REISERFS_LABEL_OFFSET): Likewise.
7824 (grub_reiserfs_label): Rewritten.
7825
78262011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
7829 field.
7830
cf5ba824
VS
78312011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
7834
17744004
VS
78352011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
7838 drive failure on both raidz and raidz2.
7839
aca5aefc
VS
78402011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 Fix RAIDZ(2) for >= 5 devices.
7843
7844 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
7845 asize argument. All users updated.
7846
ce8ca56e
VS
78472011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7848
7849 Fix RAIDZ(2).
7850
7851 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
7852 (fill_vdev_info_real): Set ashift.
7853 (read_device): Rewrite RAIDZ part based on reverse engineering.
7854
7c01e783
VS
78552011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
7858 don't report potentially unavialiable fields in debug output.
7859 (find_path): Fix double-free and memory leak.
7860
ce109e84
VS
78612011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 Read label on UFS1.
7864
7865 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
7866 (grub_ufs_fs): Always set .label.
7867
87661123
VS
78682011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 Use shifts in UFS.
7871
7872 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
7873 (grub_ufs_data): New field log2_blksz.
7874 (grub_ufs_read_file): Use shifts.
7875 (grub_ufs_mount): Check block size and logarithm it.
7876
46bc1dc2
VS
78772011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
7880 long symlinks.
7881
19ee2987
VS
78822011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7883
7884 Handle symlinks and long names on tar and cpio.
7885
7886 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
7887 (ATTR_FILE): Likewise.
7888 (ATTR_DIR): Likewise.
7889 (ATTR_LNK): Likewise.
7890 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
7891 (grub_cpio_find_file): Fill mode, handle linkname field as well as
7892 L and K entries.
7893 (grub_cpio_mount): Zero-fill data.
7894 (handle_symlink): New function.
46bc1dc2
VS
7895 (grub_cpio_dir): Handle symlinks.
7896 (grub_cpio_open): Likewise.
7897 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 7898
c83a08d8
VS
78992011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 Fix iso9660 filename limitations and fix memory leaks.
7902
7903 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
7904 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
7905
45cdd3ea
VS
79062011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 Fix JFS file name length limitations.
7909
7910 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
7911 (grub_jfs_diropen): Fix maximum filename length.
7912 (grub_jfs_getent): Fix filename length.
7913 (grub_jfs_lookup_symlink): Fix size checks.
7914
94ef05c2
VS
79152011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7916
7917 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
7918 string.
7919
785ab8c7
VS
79202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7921
eb0b6b45
VS
7922 Leverage BFS implementation to read AFS.
7923
7924 * Makefile.util.def (libgrubmods): Add afs.c.
7925 * grub-core/Makefile.core.def (afs): New module
7926 * grub-core/fs/afs.c: New file.
7927 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
7928
79292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 7932
c4a1628f
VS
79332011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7934
7935 * grub-core/fs/bfs.c: Run indent.
7936
5825b379
VS
79372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 BFS implementation based on the specification.
7940
7941 * grub-core/fs/bfs.c: New file.
7942 * Makefile.util.def (libgrubmods): Add bfs.c.
7943 * grub-core/Makefile.core.def (bfs): New module.
7944
42b2a706
VS
79452011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 * util/grub-fstest.c (cmd_cp): Clarify error message.
7948 (cmd_cmp): Likewise.
7949
61b99bfc
YB
79502011-10-30 Yves Blusseau <blusseau@zetam.org>
7951
7952 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
7953 and befs_be.
7954
faba3d16
VS
79552011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 Remove afs and befs because of copyright problem.
7958
7959 * grub-core/fs/afs.c: Removed.
7960 * grub-core/fs/afs_be.c: Removed.
7961 * grub-core/fs/befs.c: Removed.
7962 * grub-core/fs/befs_be.c: Removed.
7963 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
7964 * grub-core/Makefile.core.def (afs): Removed.
7965 (afs_be): Likewise.
7966 (befs): Likewise.
7967 (befs_be): Likewise.
7968
c39224b0
VS
79692011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 Prefer rockridge over Joliet.
7972
7973 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
7974 to ...
7975 (set_rockridge): ... here.
7976 (grub_iso9660_mount): Check rockridge on the primary label when
7977 discovering. Ignore Joliet if Rockridge is present.
7978
e551115a
VS
79792011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 Use shifts in nilfs2.
7982
7983 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
7984 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
7985 (grub_nilfs2_palloc_entries_per_group): Replace with ...
7986 (grub_nilfs2_log_palloc_entries_per_group): ... this.
7987 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
7988 (grub_nilfs2_entries_per_block): Replaced with ...
7989 (grub_nilfs2_log_entries_per_block_log): ... this.
7990 (grub_nilfs2_blocks_per_group): Replaced with ...
7991 (grub_nilfs2_blocks_per_group_log): ... this.
7992 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
7993 (grub_nilfs2_blocks_per_desc_block_log): ... this.
7994 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
7995 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
7996 (grub_nilfs2_palloc_entry_offset): Replaced ...
7997 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
7998 (grub_nilfs2_dat_translate): Use shifts.
7999 (grub_nilfs2_read_inode): Likewise.
8000 (GRUB_MOD_INIT): Ensure that logs are correct.
8001
564dd58c
VS
80022011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 Use shifts in minix filesystem.
8005
8006 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8007 (GRUB_MINIX_ZONE2SECT): Likewise.
8008 (grub_minix_data): Replace block_size with log_block_size.
8009 (grub_minix_read_file): Use shifts.
8010 (grub_minix_mount): Check block size and take a logarithm.
8011
ed9ba06d
VS
80122011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 Use shifts in squash4.
8015
8016 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8017 (squash_mount): Check block size and take logarithm.
8018 (direct_read): Use shifts.
8019
ad03fe76
VS
80202011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8021
8022 Correct befs block counting logic.
8023
8024 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8025 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8026 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8027 (grub_afs_read_inode): Use block_shift.
8028 (RANGE_SHIFT): New definition.
8029 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8030 unexpected conditions, use shifts and appropriate types.
8031 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8032
6563f63d
VS
80332011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 * grub-core/disk/raid.c (scan_devices): Check partition.
8036 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8037
5b1ae25f
VS
80382011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 Support BFS (befs) UUID.
8041
8042 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8043 (grub_afs_small_data_element_header): New struct.
8044 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8045 (grub_afs_read_attribute) [MODE_BFS]: New function.
8046 (grub_afs_iterate_dir): Allocate for complete inode.
8047 (grub_afs_mount): Likewise.
8048 (grub_afs_uuid) [MODE_BFS]: New function.
8049 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8050
f8d82408
VS
80512011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8054 (zfs_unmount): Fix memory leak.
8055
5773fb64
VS
80562011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 Support NTFS reparse points.
8059
8060 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8061 (symlink_descriptor): New struct.
8062 (grub_ntfs_read_symlink): New function.
8063 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8064 (grub_ntfs_open): Likewise.
8065
91c3fdde
VS
80662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8067
8068 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8069
3be82e10
VS
80702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8071
8072 fstest xnu_uuid subcommand.
8073
8074 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8075 grub-core/commands/xnu_uuid.c.
8076 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8077 (fstest): Handle xnu_uuid.
8078 (options): Document xnu_uuid.
8079 (argp_parser): Parse xnu_uuid.
8080
8e32442e
VS
80812011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8084 -l argument. Add newline at the end if printing.
8085 (GRUB_MOD_INIT): Document -l.
8086
52a05075
VS
80872011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8090
1869edb5
VS
80912011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8092
8093 ZFS multi-device and version 33 support.
8094
8095 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8096 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8097 (grub_zfs_data): Add multidev-ice-related fields.
8098 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8099 (dva_get_offset): Make dva const.
8100 (zfs_fetch_nvlist): New function.
8101 (fill_vdev_info_real): Likewise.
8102 (fill_vdev_info): Likewise.
8103 (check_pool_label): Likewise.
8104 (scan_disk): Likewise.
8105 (scan_devices): Likewise.
8106 (read_device): Likewise.
8107 (read_dva): Likewise.
8108 (zio_read_gang): Use read_dva.
8109 (zio_read_data): Likewise.
8110 (zap_leaf_lookup): Add missing endian conversion.
8111 (zap_verify): Add missing endian conversion. All users updated.
8112 (fzap_lookup): Likewise.
8113 (fzap_iterate): Likewise.
8114 (dnode_get_path): Handle SA bonus.
8115 (nvlist_find_value): Make input const. All users updated.
8116 (unmount_device): New function.
8117 (zfs_unmount): Use unmount_device.
8118 (zfs_mount): Use scan_disk.
8119 (zfs_mtime): New function.
8120 (grub_zfs_open): Handle system attributes.
8121 (fill_fs_info): Likewise.
8122 (grub_zfs_dir): Likewise.
8123 (grub_zfs_fs): Add mtime.
8124 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8125 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8126 (SA_MTIME_OFFSET): Likewise.
8127 (SA_SYMLINK_OFFSET): Likewise.
8128 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8129 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8130 (fstest): Support zfsinfo.
8131 (argp_parser): Likewise.
8132
186b4028
VS
81332011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8136 error.
8137
81382011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
8139
8140 ZFS fixes.
8141
8142 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8143 sharing the same block. Iterate over correct number of indices.
8144 (dnode_get_path): Handle symlinks correctly.
8145
c0584900
VS
81462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8149
67e2bd71
VS
81502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 Read label on HFS+.
8153
8154 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8155 (grub_hfsplus_btree_search): Fix types.
8156 (grub_hfsplus_label): Implement.
8157
e9cc6b7b
VS
81582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8159
8160 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8161
19832ddb
VS
81622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8163
8164 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8165
66b40850
VS
81662011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 Fix symlink handling on iso9660.
8169
8170 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8171 All users updated.
8172 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8173 (grub_iso9660_read_symlink): Moved most of code ...
8174 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8175
db821363
VS
81762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8179 Use union to avoid breaking strict-aliasing rules.
8180
e1211949
VS
81812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 Support multi-extent iso files.
8184
8185 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8186 Add node.
8187 (grub_fshelp_node): Revamp. All users updated.
8188 (FLAG_*): New enum.
8189 (read_node): New function.
8190 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8191 All users updated.
8192 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8193 (get_node_size): New function.
8194 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8195 entries.
8196 Fix memory leak on . and ..
8197 (grub_iso9660_read): Use read_node.
8198 (grub_iso9660_close): Free node.
8199
d4888031
VS
82002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 Fix tar 4G limit and handle paths containing dot.
8203
8204 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8205 (canonicalize): New function.
8206 (grub_cpio_find_file): Use canonicalize. Store offs in
8207 grub_disk_addr_t.
8208 (grub_cpio_dir): Use grub_disk_addr_t.
8209 (grub_cpio_open): Likewise.
8210
9f12e664
VS
82112011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8214
8215 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8216 unused flags.
8217 (grub_squash_inode): Add long_file and block_size.
8218 (grub_squash_cache_inode): New struct.
8219 (grub_squash_dirent): Make types into enum.
8220 (SQUASH_TYPE_LONG_REGULAR): New type.
8221 (grub_squash_frag_desc): Add field size.
8222 (SQUASH_BLOCK_FLAGS): New enum.
8223 (grub_squash_data): Use grub_squash_cache_inode.
8224 (grub_fshelp_node): Make ino_chunk 64-bit.
8225 (read_chunk): Minor argument change. All users updated.
8226 (squash_mount): Use correct le_to_cpu.
8227 (grub_squash_open): Handle LONG_REGULAR.
8228 (direct_read): New function.
8229 (grub_squash_read_data): Handle blocks correctly.
8230
9f326fba
VS
82312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8232
8233 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8234
f4d9b64b
VS
82352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8238
5bbd28b8
VS
82392011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 Fix 2G limit on ZFS.
8242
8243 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
8244 types.
8245 (uberblock_verify): Likewise.
8246 (dmu_read): Likewise.
8247 (grub_zfs_read): Likewise. Remove invalid cast.
8248
68c72069
VS
82492011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
8252 (grub_jfs_blkno): Fix incorrect shift.
8253 (grub_jfs_read_file): Use more appropriate types.
8254
6e536dc8
VS
82552011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 Support triple indirect on minix2 and minix3.
8258
8259 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
8260 Declare triple_indir_zone.
8261 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
8262 indirect.
8263
e0864e7a
VS
82642011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 Minix FS fixes.
8267
8268 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
8269 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
8270 Rename ctime to mtime. All users updated.
8271 (grub_minix_get_file_block): Fix types and double indirect computations.
8272
89481cab
VS
82732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
8276 if no label is found.
8277 (grub_fat_iterate_dir): Fix file size type.
8278 (grub_fat_iterate_dir): Likewise.
8279
f646e143
VS
82802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
8283 save some space.
8284 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8285 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8286
534d769e
VS
82872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
8290
e084ba18
VS
82912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 * util/import_gcry.py: Accept space between # and include.
8294
3471ecdf
VS
82952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8296
8297 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
8298
124df5f6
VS
82992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8300
8301 Fine grainely disable warnings on lexer. Remove Wno-error on it.
8302
8303 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
8304 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
8305 yylex_strncpy.
8306 * grub-core/script/yylex.l: Add fine-grained #pragma.
8307
4defb8d5
VS
83082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
8311 New inline function.
8312 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
8313 Likewise.
8314 (memset) [GRUB_UTIL]: Likewise.
8315 (memcmp) [GRUB_UTIL]: Likewise.
8316
4e94ae65
VS
83172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
8320 inline function rather than a define.
8321
18c575e5
VS
83222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * util/grub-setup.c: Add missing include.
8325
f8bc22a8
VS
83262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * util/ieee1275/grub-ofpathname.c: Add missing include.
8329
3ce69fc9
VS
83302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8331
8332 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
8333 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
8334 Likewise.
8335
d1e293bb
VS
83362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
8339 grub_memcmp usage.
8340
7a5c54a4
VS
83412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * util/grub-install.in: Add datarootdir as per automake manual
8344 suggestion.
8345 * util/grub-mknetdir.in: Likewise.
8346
83472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
8348
8349 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
8350 suggestion.
8351 * util/grub.d/10_kfreebsd.in: Likewise.
8352 * util/grub.d/10_linux.in: Likewise.
8353 * util/grub.d/10_netbsd.in: Likewise.
8354 * util/grub.d/10_windows.in: Likewise.
8355 * util/grub.d/20_linux_xen.in: Likewise.
8356
766f7d08
VS
83572011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 Remove redundant grub_kernel_image_size.
8360
8361 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
8362 _edata and _start.
8363 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
8364 the small code. It moves it only by few bytes but simplifies the code.
8365 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
8366 _start.
8367 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
8368 (grub_kernel_image_size): Removed.
8369 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
8370 (grub_kernel_image_size): Removed.
8371 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
8372 compiled with Apple toolchain.
8373 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
8374 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
8375 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
8376 (grub_total_module_size): Likewise.
8377 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
8378 Removed.
8379 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
8380 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
8381 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8382 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
8383 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
8384 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
8385 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
8386 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
8387 Removed.
8388 (grub_total_module_size): Removed.
8389 * util/grub-mkimage.c (image_target_desc): Remove image_size.
8390 (image_targets): Likewise.
8391 Set .compressed_size to no field on sparc.
8392 (generate_image): Remove kernel_image_size handling.
8393
fcf1d672
SJ
83942011-10-19 Szymon Janc <szymon@janc.net.pl>
8395
8396 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
8397 NULL pointer dereference.
8398
de9c615e
VS
83992011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
8402 done with a dedicated section.
8403
8404 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
8405 Ensure the correct position of boot_path.
8406 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
8407 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
8408 other fields.
8409 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
8410 * include/grub/boot.h: Removed. All references removed.
8411 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
8412 Removed.
8413 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
8414
e55599dc
VS
84152011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
8418 name.
8419
36dd20ad
VS
84202011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
8423
f8f72eb8
VS
84242011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8427 Don't add the bogus brackets.
8428
a374751b
VS
84292011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 ExFAT support.
8432
8433 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
8434 * grub-core/Makefile.core.def (exfat): New module.
8435 * grub-core/fs/exfat.c: New file.
8436 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
8437 (GRUB_FAT_ATTR_*): Make into an enum.
8438 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
8439 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
8440 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
8441 (GRUB_FAT_MAXFILE): Removed.
8442 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
8443 (grub_current_fat_bpb_t): New type.
8444 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
8445 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
8446 (grub_fat_dir_node_t): New type.
8447 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
8448 (fat_log2) [MODE_EXFAT]: Removed.
8449 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
8450 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
8451 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
8452 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
8453 (grub_fat_label) [MODE_EXFAT]: New function.
8454 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
8455 reserved_first_sector to 0.
8456
544c2487
VS
84572011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 Move grub_reboot out of the kernel.
8460
8461 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
8462 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
8463 * grub-core/lib/efi/reboot.c: ... here.
8464 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
8465 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8466 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
8467 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
8468 * grub-core/lib/i386/reboot_trampoline.S: ... here.
8469 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
8470 * grub-core/lib/ieee1275/reboot.c: ... here.
8471 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
8472 * grub-core/lib/mips/arc/reboot.c: ... here.
8473 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
8474 * grub-core/lib/mips/loongson/reboot.c: ...here.
8475 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
8476 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
8477 * include/grub/emu/misc.h (grub_reboot): New function declaration.
8478 * include/grub/i386/reboot.h: New file.
8479 * include/grub/mips/loongson/ec.h: Fix includes.
8480 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
8481 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
8482 * grub-core/lib/i386/reboot.c: New file.
8483
a97501d2
VS
84842011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 Make grub_prefix into module to fix the arbitrary limit and save
8487 some space.
8488
8489 * grub-core/kern/emu/main.c (grub_prefix): Removed.
8490 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
8491 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
8492 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
8493 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
8494 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
8495 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
8496 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
8497 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
8498 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
8499 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
8500 * include/grub/ia64/efi/kernel.h: Removed.
8501 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
8502 (grub_prefix): Removed.
8503 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
8504 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
8505 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
8506 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
8507 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
8508 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
8509 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
8510 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
8511 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
8512 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
8513 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8514 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8515 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8516 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8517 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
8518 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
8519 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
8520 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8521 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
8522 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
8523 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
8524 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
8525 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
8526 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
8527 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
8528 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
8529 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
8530 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
8531 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
8532 from module.
8533 * util/grub-mkimage.c (image_target_desc): Removed prefix and
8534 prefix_end.
8535 (image_targets): Likewise.
8536 (generate_image): Put prefix as a module.
8537
39705fad
VS
85382011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 Replace grub_module_iterate with FOR_MODULES.
8541
8542 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
8543 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
8544 (grub_efi_modules_addr): ...this.
8545 * grub-core/kern/efi/init.c (grub_modbase): New variable.
8546 (grub_efi_init): Set grub_modbase.
8547 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
8548 (grub_modbase): New variable.
8549 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
8550 (grub_modbase): New variable.
8551 (grub_machine_init): Set grub_modbase.
8552 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
8553 (grub_modbase): New variable.
8554 (grub_machine_init): Set grub_modbase.
8555 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
8556 (grub_modbase): New variable.
8557 (grub_machine_init): Set grub_modbase.
8558 * grub-core/kern/main.c (grub_module_iterate): Remove.
8559 (grub_modules_get_end): Use grub_modbase.
8560 (grub_load_modules): Use FOR_MODULES.
8561 (grub_load_config): Likewise.
8562 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
8563 (grub_modbase): New variable.
8564 (grub_machine_init): Set grub_modbase.
8565 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
8566 (grub_modbase): New variable.
8567 (grub_machine_init): Set grub_modbase.
8568 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
8569 Removed.
8570 (grub_modbase): New variable.
8571 (grub_machine_init): Set grub_modbase.
8572 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
8573 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
8574 (grub_module_iterate): Likewise.
8575 (grub_modbase): New variable declaration.
8576 (FOR_MODULES): New macro.
8577
2afb7f6c
VS
85782011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * configure.ac: Check for __ctzdi2 and __ctzsi2.
8581 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
8582
366e34fa
VS
85832011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8584
8585 Fix few obvious type discrepancies.
8586
8587 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
8588 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
8589 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
8590 variable.
8591 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
8592 and connected types.
8593 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
8594 offset.
8595 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
8596 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
8597 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
8598 and connected types.
8599
177b960e
VS
86002011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8601
8602 Fix python 3.x incompatibilities.
8603
8604 * gentpl.py: Put brackets around print strings.
8605 * util/import_gcry.py: Open explicitly as utf-8.
8606 Use in instead of has_key.
8607
3b619ae1
VS
86082011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
8611 (GRUB_XFS_INO_AGBITS): Make into inline function.
8612 (GRUB_XFS_INO_INOINAG): Likewise.
8613 (GRUB_XFS_INO_AG): Likewise.
8614 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8615 (GRUB_XFS_EXTENT_OFFSET): Likewise.
8616 (GRUB_XFS_EXTENT_BLOCK): Likewise.
8617 (GRUB_XFS_EXTENT_SIZE): Likewise.
8618 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
8619 (GRUB_XFS_NEXT_DIRENT): Likewise.
8620 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
8621 (grub_xfs_read_file): Fix offset type.
8622
8bcebcb8
RM
86232011-10-15 Robert Millan <rmh@gnu.org>
8624
8625 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
8626
0017e5ef
RM
86272011-10-15 Robert Millan <rmh@gnu.org>
8628
8629 Fix build problem on FreeBSD and GNU/kFreeBSD.
8630
8631 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
8632
d8919552
VS
86332011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
8636
8637 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
8638 types.
8639 (grub_hfsplus_btree_recoffset): Likewise.
8640 (grub_hfsplus_btree_recptr): Likewise.
8641 (grub_hfsplus_find_block): Likewise.
8642 (grub_hfsplus_btree_search): Likewise.
8643 (grub_hfsplus_read_block): Likewise.
8644 (grub_hfsplus_read_file): Likewise.
8645 (grub_hfsplus_mount): Likewise.
8646 (grub_hfsplus_btree_iterate_node): Likewise.
8647 (grub_hfsplus_btree_search): Likewise.
8648 (grub_hfsplus_iterate_dir): Likewise.
8649 (grub_hfsplus_read): A small code simplification.
8650
c81296b6
VS
86512011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * grub-core/kern/emu/hostdisk.c
8654 (convert_system_partition_to_system_disk): Don't assume that children
8655 of mapper nodes are mapper nodes.
8656
0eb8ffb1
VS
86572011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
8660 * include/grub/misc.h (grub_isxdigit): New function.
8661 * grub-core/video/colors.c (my_isxdigit): Removed. All users
8662 switched to grub_isxdigit.
8663 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
8664 number starting with a letter.
8665
a98f4a08
RM
86662011-10-09 Robert Millan <rmh@gnu.org>
8667
8668 LVM support for FreeBSD and GNU/kFreeBSD.
8669
8670 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
8671 GNU/kFreeBSD.
8672 (LVM_DEV_MAPPER_STRING): Move from here ...
8673 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
8674 * util/getroot.c: Include `<grub/util/lvm.h>'.
8675 (grub_util_get_dev_abstraction): Enable
8676 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
8677 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
8678 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
8679 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
8680 support it.
8681 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
8682 GNU/kFreeBSD.
8683 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
8684 when LVM abstraction is required for ${GRUB_DEVICE}.
8685
050e8e90
SJ
86862011-10-06 Szymon Janc <szymon@janc.net.pl>
8687
8688 Add support for LZO compression in GRUB:
8689 - import of minilzo library,
8690 - LZO decompression for btrfs,
8691 - lzop files decompression.
8692
8693 * grub-core/io/lzopio.c: New file.
8694 * grub-core/lib/adler32.c: Likewise.
8695 * grub-core/lib/minilzo/lzoconf.h: Likewise.
8696 * grub-core/lib/minilzo/lzodefs.h: Likewise.
8697 * grub-core/lib/minilzo/minilzo.c: Likewise.
8698 * grub-core/lib/minilzo/minilzo.h: Likewise.
8699 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
8700 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
8701 grub-core/lib/minilzo/minilzo.c to common.
8702 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
8703 cflags in cppflags.
8704 * grub-core/Makefile.core.def (btrfs): Likewise.
8705 * grub-core/Makefile.core.def (lzopio): New module.
8706 (adler32): Likewise.
8707 * grub-core/fs/btrfs.c: Include minilzo.h.
8708 (GRUB_BTRFS_COMPRESSION_LZO): New define.
8709 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
8710 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
8711 (grub_btrfs_lzo_decompress): New function.
8712 (grub_btrfs_extent_read): Add support for LZO compression type.
8713 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
8714 (GRUB_USHRT_MAX): Likewise.
8715 (GRUB_UINT_MAX): Likewise.
8716 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
8717 (UINT_MAX): Likewise.
8718 (CHAR_BIT): Likewise.
8719 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
8720 grub-core/lib/posix_wrap/limits.h
8721 (UCHAR_MAX): Likewise.
8722 * include/grub/file.h (grub_file_filter_id): New compression filter
8723 GRUB_FILE_FILTER_LZOPIO.
8724 * include/grub/file.h (grub_file_filter_id): Set
8725 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
8726 * include/grub/types.h (grub_get_unaligned16): New function.
8727 (grub_get_unaligned32): Likewise.
8728 (grub_get_unaligned64): Likewise.
8729 * util/import_gcry.py (cryptolist): Add adler32.
8730
0eb8ffb1
VS
87312011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
8734 in perspective decreases the complexity of build system and fixes
8735 compilation right now.
8736
ce79cc99 87372011-10-01 Ales Nesrsta <starous@volny.cz>
8738
8739 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
8740 (fixed problem related to using UHCI with coreboot).
8741
8667a314
BC
87422011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
8743
8744 * gentpl.py: Use Autogen macros so that the output template file
8745 (Makefile.tpl) size is reduced.
8746
fc5efcc0
MK
87472011-09-29 Mads Kiilerich <mads@kiilerich.com>
8748
8749 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
8750 extra_dist.
8751
d1ab689d
ML
87522011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8753
8754 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
8755 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
8756
c05de032
ML
87572011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8758
8759 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
8760 _fullpath.
8761
cca7ccd8
ML
87622011-09-29 Mario Limonciello <mario_limonciello@dell.com>
8763
8764 Remove extra declaration of sleep for mingw32.
8765
8766 * util/misc.c (sleep) [__MINGW32__]: Removed.
8767 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
8768
e0b0dc83
GS
87692011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
8770
8771 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
8772 type and packname.
8773 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
8774 Resurrected.
8775 (NETBSD_BTINFO_BOOTWEDGE): New definition.
8776 (grub_netbsd_btinfo_bootwedge): New struct.
8777 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8778 New function.
8779 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
8780
91a1a164
TH
87812011-09-28 Thomas Haller <thomas.haller@fen-net.de>
8782
8783 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
8784 loader.
8785
2ded951e
AB
87862011-09-28 Andreas Born <futur.andy@googlemail.com>
8787
8788 Fix incorrect identifiers in bash-completion.
8789
8790 * util/bash-completion.d/grub-completion.bash.in
8791 (_grub_mkpasswd-pbkdf2): Rename to ...
8792 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
8793 (_grub_script-check): Rename to ...
8794 (_grub_script_check): ... this. All users updated.
8795
69915030
VS
87962011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8799 Return 0 if disk isn't biosdisk.
8800
20fd15f9
GS
88012011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8802
8803 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
8804 on NetBSD.
8805 * Makefile.util.def (grub-fstest): Likewise.
8806
1a7d7db9
GS
88072011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
8808
8809 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
8810 Get sector size from disk label.
8811
2221ab6c
CW
88122011-09-05 Colin Watson <cjwatson@ubuntu.com>
8813
8814 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
8815 */README* as well as README*.
8816 Reported by: Axel Beckert.
8817
ca51c4a0
VS
88182011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
8821 case of less than 256 MiB of RAM.
8822
ab80f326
VS
88232011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 * grub-core/commands/wildcard.c (make_regex): Handle @.
8826
4155e697
VS
88272011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * util/grub-install.in: Move cryptodisk logic to appropriate place.
8830
ab178c08
SJ
88312011-08-21 Szymon Janc <szymon@janc.net.pl>
8832
8833 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
8834 AC_LANG_CONFTEST macros.
8835
7dc3c686
SJ
88362011-08-20 Szymon Janc <szymon@janc.net.pl>
8837
8838 Add grub-fstest option to uncompress data for commands.
8839
8840 * util/grub-fstest.c (uncompress): New var.
8841 (options): New option -u.
8842
fe8d4a7b
SJ
88432011-08-20 Szymon Janc <szymon@janc.net.pl>
8844
8845 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
8846 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
8847
a5219af1
SJ
88482011-08-20 Szymon Janc <szymon@janc.net.pl>
8849
8850 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
8851 file type was not recognized correctly (not gzip or corrupted).
8852
f87abff5
VS
88532011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
8856 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
8857
d94497ea
VS
88582011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
8861 loongson.
8862 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8863 video_radeon_fuloong2e.
8864 * grub-core/video/radeon_fuloong2e.c: New file.
8865 * include/grub/video.h (grub_video_id_t): Add new ID
8866 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
8867
0d1fd011
VS
88682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
8871 define.
8872 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
8873 that PRID matches the detected subplatform and reset the subplatform
8874 if it doesn't.
8875
84beb0ee
VS
88762011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
8879
1227c133
VS
88802011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 Fix PCI iterating on functions >= 4.
8883
8884 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
8885 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
8886 Removed.
8887 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
8888 (grub_pci_read): Fix bitmask.
8889 (grub_pci_read_word): Likewise.
8890 (grub_pci_read_byte): Likewise.
8891 (grub_pci_write): Likewise.
8892 (grub_pci_write_word): Likewise.
8893 (grub_pci_write_byte): Likewise.
8894
9594c689
VS
88952011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8896
8897 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
8898 can still be specified in TARGET_CFLAGS)
8899
14a2562c
VS
89002011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
8903
8904 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
8905 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
8906 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
8907 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
8908 (FULOONG): Rename to ...
8909 (FULOONG2F): ... this. All users updated.
8910 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
8911 (machtype_fuloong2f_str): ... this.
8912 (machtype_fuloong2e_str): New string.
8913 Check for machtype_fuloong2e_str.
8914 * grub-core/loader/mips/linux.c (loongson_machtypes)
8915 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
8916 * grub-core/term/serial.c (loongson_defserial)
8917 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
8918 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
8919 loongson_defserial.
8920 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
8921 Rename to ...
8922 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
8923 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
8924 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
8925 to IMAGE_FULOONG2F_FLASH. All users updated.
8926 (image_targets): Rename images.
8927 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
8928
b526cbb6
SJ
89292011-08-19 Szymon Janc <szymon@janc.net.pl>
8930
8931 Make enable of disk cache statistics code configurable.
8932
8933 * configure.ac: --enable-cache-stats added.
8934 * config.h.in (DISK_CACHE_STATS): New define.
8935 * grub-core/Makefile.core.def (cacheinfo): New command.
8936 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
8937 * grub-core/commands/cacheinfo.c: New file.
8938 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
8939 moved to cacheinfo.c.
8940 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
8941 debug code.
8942 * include/grub/disk.h: Likewise.
8943
fb739ccd
SJ
89442011-08-19 Szymon Janc <szymon@janc.net.pl>
8945
8946 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
8947 * grub-core/Makefile.am: Likewise.
8948
2bba8cfd
VS
89492011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
8952 non-zero pull.
8953
43526629
VS
89542011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
8957 All users updated.
8958 (grub_jfs_lookup_symlink): Use correct starting inode.
8959
5c144cc8
VS
89602011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * util/grub-setup.c (main): Add missing gcry initialisation.
8963
b1257f65
VS
89642011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 Don't accept text modes on EFI when booting Linux.
8967
8968 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
8969 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
8970
828bc390
ML
89712011-08-15 Mario Limonciello <mario_limonciello@dell.com>
89722011-08-15 Colin Watson <cjwatson@ubuntu.com>
8973
8974 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
8975 use of "/path/.." as in grub-install for EFI as well as handling
8976 symlinks correctly.
8977 Fixes Debian bug #637768.
8978
5f60ccac
CW
89792011-08-15 Colin Watson <cjwatson@ubuntu.com>
8980
8981 * util/grub-probe.c: Remove duplicate #include.
8982
6dc212f9
RM
89832011-08-10 Robert Millan <rmh@gnu.org>
8984
8985 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
8986
8987 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
8988 function.
8989 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
8990 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
8991
66816d85
RM
89922011-08-03 Robert Millan <rmh@gnu.org>
8993
8994 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
8995 la_array as packed.
8996 Reported by: Zachary Bedell
8997
20168fca
CW
89982011-07-26 Colin Watson <cjwatson@ubuntu.com>
8999
9000 * configure.ac: The Loongson port requires grub-mkfont due to its
9001 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9002 be built.
9003
303b6246
CW
90042011-07-26 Colin Watson <cjwatson@ubuntu.com>
9005
9006 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9007 processing arguments (otherwise help2man fails when GRUB has not yet
9008 been installed).
9009
6795300e
VS
90102011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9011
41aa28ea
VS
9012 New script grub-mkstandalone.
9013
9014 * Makefile.util.def (grub-mkstandalone): New script.
9015 * docs/man/grub-mkstandalone.h2m: New file.
9016 * util/grub-mkstandalone.in: Likewise.
9017
90182011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 Support ATA disks with 4K sectors.
6795300e
VS
9021
9022 * include/grub/ata.h (grub_ata): New member log_sector_size.
9023 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9024 (grub_ata_identify): Read sector size.
9025 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9026
92227597
VS
90272011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * util/grub-install.in: Don't use uhci outside of x86.
9030
c77069f5
VS
90312011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 * util/grub-mkrescue.in: Add missing quotes.
9034
90352011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
9036
9037 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9038 dereference.
9039
583168a2
VS
90402011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9043
6be1c01f
VS
90442011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 * include/grub/video.h: add missing EXPORT_FUND on
9047 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9048
a1167439
VS
90492011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * include/grub/mips/kernel.h: Fix define conflict.
9052
bf66054f
VS
90532011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9056 all four ways.
9057
8fc4fa45
CW
90582011-07-21 Colin Watson <cjwatson@ubuntu.com>
9059
9060 Preferred resolution detection for VBE.
9061
9062 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9063 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9064 the Flat Panel extension, in line with the X.org VESA driver.
9065 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9066 New function.
9067 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9068 (grub_vbe_bios_read_edid): Likewise.
9069 (grub_vbe_get_preferred_mode): Likewise.
9070 (grub_video_vbe_setup): When the mode is "auto", try to get the
9071 preferred mode from VBE, and use the largest mode that is no larger
9072 than the preferred mode (some BIOSes expose a preferred mode that is
9073 not in their mode list!). If this fails, fall back to 640x480 as a
9074 safe conservative choice.
9075 (grub_video_vbe_get_edid): New function.
9076 (grub_video_vbe_adapter): Add get_edid.
9077 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9078 (struct grub_video_adapter): Add get_edid.
9079 (grub_video_edid_checksum): Add prototype.
9080 (grub_video_edid_preferred_mode): Likewise.
9081 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9082 structure.
9083
9084 * grub-core/commands/videoinfo.c (print_edid): New function.
9085 (grub_cmd_videoinfo): Print EDID if available.
9086
9087 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9088 is more appropriate on a wider range of platforms than 640x480.
9089 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9090 documentation.
9091
ca5572a9
VS
90922011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9095
e4bcf625
VS
90962011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9097
9098 * po/POTFILES.in: Regenerate.
9099
c4edd548
VS
91002011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9103 incorrect memory usage.
9104
16a2bab0
VS
91052011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * util/grub-install.in: Source grub-mkconfig_lib.
9108
2e418de6
VS
91092011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 Remove getroot.c from core on emu platform.
9112
9113 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9114 kern/emu/raid.c.
9115 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9116 useless.
9117 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9118 * util/getroot.c (get_win32_path): ... here.
9119 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9120 * util/getroot.c (fini_libzfs): ... here.
9121 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9122 * util/getroot.c (grub_get_libzfs_handle): ... here.
9123 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9124 Moved from here...
9125 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9126 * grub-core/kern/emu/misc.c
9127 (grub_make_system_path_relative_to_its_root): Moved from here...
9128 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9129 * grub-core/kern/emu/getroot.c: Moved from here ...
9130 * util/getroot.c: ... here. All users updated.
9131 * grub-core/kern/emu/raid.c: Moved from here ...
9132 * util/raid.c: ... here. All users updated.
9133
def9832a
VS
91342011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 * po/POTFILES.in: Regenerate.
9137
cd8fe79a
VS
91382011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 Fix compilation on GNU/Linux.
9141
9142 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9143 Disable geli.
9144 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9145 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9146 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9147
a251b719
VS
91482011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
91492011-07-07 Michael Gorven <michael@gorven.za.net>
91502011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9151
9152 LUKS and GELI support.
9153
9154 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9155 grub-core/disk/luks.c, grub-core/disk/geli.c,
9156 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9157 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9158 grub-core/lib/arg.c.
9159 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9160 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9161 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9162 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9163 (grub-bin2h): Add libgcry.a.
9164 (grub-mkimage): Likewise.
9165 (grub-mkrelpath): Likewise.
9166 (grub-script-check): Likewise.
9167 (grub-editenv): Likewise.
9168 (grub-mkpasswd-pbkdf2): Likewise.
9169 (grub-pe2elf): Likewise.
9170 (grub-fstest): Likewise.
9171 (grub-mkfont): Likewise.
9172 (grub-mkdevicemap): Likewise.
9173 (grub-probe): Likewise.
9174 (grub-ofpath): Likewise.
9175 (grub-mklayout): Likewise.
9176 (example_unit_test): Likewise.
9177 (grub-menulst2cfg): Likewise.
9178 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9179 * grub-core/Makefile.core.def (cryptodisk): New module.
9180 (luks): Likewise.
9181 (geli): Likewise.
9182 * grub-core/disk/AFSplitter.c: New file.
9183 * grub-core/disk/cryptodisk.c: Likewise.
9184 * grub-core/disk/geli.c: Likewise.
9185 * grub-core/disk/luks.c: Likewise.
9186 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9187 grub_util_is_lvm.
9188 (grub_util_get_dm_abstraction): New function.
9189 (grub_util_follow_gpart_up): Likewise.
9190 (grub_util_get_geom_abstraction): Likewise.
9191 (grub_util_get_dev_abstraction): Use new functions.
9192 (grub_util_pull_device): Pull GELI and LUKS.
9193 (grub_util_get_grub_dev): Handle LUKS and GELI.
9194 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9195 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9196 (follow_geom_up): Removed.
9197 (grub_util_fd_seek): New function.
9198 (open_device): Use grub_util_fd_seek.
9199 (nread): Rename to ..
9200 (grub_util_fd_read): ... this. All users updated.
9201 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9202 (grub_crypto_cbc_decrypt): Likewise.
9203 (grub_crypto_hmac_write): Likewise.
9204 (grub_crypto_hmac_buffer): Likewise.
9205 (grub_password_get): Extend to util.
9206 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9207 New member modname.
9208 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9209 * include/grub/cryptodisk.h: New file.
9210 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9211 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9212 LUKS and GELI.
9213 (grub_util_follow_gpart_up): New proto.
9214 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9215 (grub_util_fd_read): Likewise.
9216 (grub_cryptodisk_cheat_mount): Likewise.
9217 (grub_util_cryptodisk_print_uuid): Likewise.
9218 (grub_util_get_fd_sectors): Likewise.
9219 * util/grub-fstest.c (mount_crypt): New var.
9220 (fstest): Mount crypto if requested.
9221 (options): New option -C.
9222 (argp_parser): Parse -C.
9223 (main): Init and fini gcry.
9224 * util/grub-install.in: Support cryptodisk install.
9225 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9226 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9227 cryptodisk.
9228 (prepare_grub_to_access_device): Likewise.
9229 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9230 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9231 (probe_cryptodisk_uuid): New function.
9232 (probe_abstraction): Likewise.
9233 (probe): Use new functions.
9234 * util/import_gcry.py: Create Makefile.utilgcry.def.
9235 Add modname member.
9236
9bfdcbbc
VS
92372011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 Lazy device scanning.
9240
9241 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
9242 (grub-setup): Remove util/raid.c.
9243 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
9244 * grub-core/disk/lvm.c (scan_depth): New variable.
9245 (grub_lvm_iterate): Rescan if necessary.
9246 (find_lv): New function based on grub_lvm_open.
9247 (grub_lvm_open): Use find_lv. Rescan on error.
9248 (is_node_readable): New function.
9249 (is_lv_readable): Likewise.
9250 (grub_lvm_scan_device): Skip already found disks.
9251 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
9252 Stop if searched device is found and readable.
9253 * grub-core/disk/raid.c (inscnt): New variable.
9254 (scan_depth): Likewise.
9255 (scan_devices): New function based on grub_raid_register. Abort if
9256 looked for device is found.
9257 (grub_raid_iterate): Rescan if needed.
9258 (find_array): NEw function based on -grub_raid_open.
9259 (grub_raid_open): Use find_array and rescan.
9260 (insert_array): Set became_readable_at.
9261 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
9262 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
9263 New function.
9264 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
9265 (grub_util_pull_device): New function.
9266 (grub_util_get_grub_dev): Call grub_util_pull_device.
9267 * util/raid.c: Moved to ..
9268 * grub-core/kern/emu/raid.c: ... here.
9269 (grub_util_raid_getmembers): New parameter "bootable".
9270 All users updated. Support 1.x.
9271 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
9272 All users updated.
9273 * include/grub/disk.h (grub_disk_pull_t): New enum.
9274 (grub_disk_dev): Change iterate prototype.
9275 All users updated.
9276 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
9277 New proto.
9278 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
9279 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
9280 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
9281 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
9282 All users updated.
9283 * include/grub/util/raid.h: Removed.
9284
1c358e59
VS
92852011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 * po/POTFILES.in: Regenerate.
9288
abee94ed
VS
92892011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 Unify sparc init with other ieee1275.
9292
9293 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
9294 instead of kern/sparc64/ieee1275/init.c.
9295 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
9296 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
9297 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
9298 grub/machine/kernel.h.
9299 (grub_ieee1275_original_stack) [__sparc__]: New variable.
9300 (grub_claim_heap) [__sparc__]: Use sparc version.
9301 (grub_machine_init): Moved args parsing to
9302 (grub_parse_cmdline): ...this.
9303 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
9304 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
9305 New definition.
9306 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
9307
9308 Move BOOTP to separate file.
9309
9310 * grub-core/Makefile.core.def (net): Add net/bootp.c.
9311 * grub-core/net/net.c: Move all BOOTP functions to
9312 * grub-core/net/bootp.c: ... here.
9313
9314 Use frame interface on PXE.
9315
9316 * grub-core/Makefile.core.def (pxecmd): Removed.
9317 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
9318 * grub-core/commands/i386/pc/pxecmd.c: Removed.
9319 * grub-core/i386/pc/pxe.c: Moved from here ...
9320 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
9321 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
9322 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
9323
9324 EFI network support.
9325
9326 * grub-core/Makefile.core.def (efinet): New module.
9327 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
9328 here...
9329 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
9330 All users updated.
9331 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
9332 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
9333 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
9334 * grub-core/net/drivers/efi/efinet.c: New file.
9335 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
9336 (grub_efi_net_config): New extern var.
9337
9338 Various cleanups and bugfixes.
9339
9340 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
9341 error.
9342 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
9343 disk declared as partition.
9344 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
9345 leak on failure.
9346 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
9347 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
9348 (grub_debug_zalloc): Likewise.
9349 (grub_debug_realloc): Likewise.
9350 (grub_debug_memalign): Likewise.
9351 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
9352 Check that target is IPv4.
9353 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
9354 local-mac-address as fallback.
9355 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
9356 memory leak.
9357 * grub-core/net/ip.c (ipchksum): Rename to ...
9358 (grub_net_ip_chksum): ... this. All users updated.
9359 (grub_net_recv_ip_packets): Special handling for DHCP.
9360 * util/grub-mkimage.c (generate_image): Zero-out aout header.
9361
9362 Unify prefix handling
9363
9364 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
9365 (grub_machine_get_bootlocation): ... this.
9366 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
9367 (grub_machine_get_bootlocation): ... this.
9368 (grub_prefix): New variable.
9369 (prefix): Removed.
9370 (root_dev): New variable.
9371 (dir): Likewise.
9372 (main): Use new variables.
9373 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
9374 Revamped into ...
9375 (grub_machine_get_bootlocation): ... this.
9376 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
9377 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
9378 (grub_machine_get_bootlocation): ... this.
9379 (grub_machine_set_prefix): Removed.
9380 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
9381 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
9382 Revamped into ...
9383 (grub_machine_get_bootlocation): ... this.
9384 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
9385 (grub_set_prefix_and_root): ... this. All users updated.
9386 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
9387 Revamped into ...
9388 (grub_machine_get_bootlocation): ... this.
9389 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
9390 (grub_machine_get_bootlocation): New proto.
9391 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
9392
9393 Less intrusive and more reliable seek on network implementation.
9394
9395 * grub-core/kern/file.c (grub_file_net_seek): Removed.
9396 (grub_file_seek): Don't call grub_file_net_seek.
9397 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
9398 (grub_net_fs_read_real): .. this.
9399 (grub_net_seek_real): Use net->offset.
9400 (grub_net_fs_read): Seek if necessary.
9401
9402 Unify IEEE1275 netwotk config with the other platforms.
9403
9404 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
9405 New variable.
9406 (grub_machine_get_bootlocation): Support network.
9407 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
9408 Support type and device parsing.
9409 (grub_ieee1275_get_device_type): New function.
9410 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
9411 into ...
9412 (grub_ieee1275_net_config_real): ... this.
9413 (grub_ofnet_probecards): Removed.
9414 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
9415 * include/grub/ieee1275/ofnet.h: Removed.
9416 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
9417 extern var.
9418 (grub_ieee1275_get_device_type): New function.
9419
9420 Unify network device closing across platforms and make more robust.
9421
9422 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
9423 grub_grubnet_fini.
9424 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
9425 already.
9426 * grub-core/net/net.c (grub_net_network_level_interface_register):
9427 Update num_ifaces.
9428 (grub_net_card_unregister): Close all interfaces.
9429 (receive_packets): Don't poll if no iterfaces are registered.
9430 Open if necessary.
9431 (grub_net_fini_hw): New function.
9432 (grub_net_restore_hw): Likewise.
9433 (fini_hnd): New variable.
9434 (GRUB_MOD_INIT): Register preboot hook.
9435 (GRUB_MOD_FINI): Run and unregister preboot hook.
9436
9437 Poll network cards when idle.
9438
9439 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
9440 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
9441 * grub-core/net/net.c (receive_packets): Save last poll time.
9442 (grub_net_poll_cards_idle_real): New function.
9443 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
9444 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
9445 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
9446
9447 Rename ofnet interfaces.
9448
9449 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
9450 (grub_ofnet_findcards): Use ofnet_%s names.
9451
9452 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
9453
9454 Cleanup socket opening.
9455
9456 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
9457 (grub_net_fs_close): Likewise.
9458 (grub_net_fs_read_real): Use eof member.
9459 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
9460 (+grub_net_udp_close): New inline function.
9461
9462 * include/grub/net/tftp.h: Moved to the top of ...
9463 * grub-core/net/tftp.c: ... here.
9464 * include/grub/net/ip.h: Moved mostly to the top of ...
9465 * grub-core/net/ip.c: ... here.
9466 * include/grub/net/ethernet.h: Moved mostly to the top of ...
9467 * grub-core/net/ethernet.c: ... here.
9468
9469 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
9470
9471 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
9472 FS name.
9473
9474 * include/grub/net/ip.h (ipv4_ini): Removed.
9475 (ipv4_fini): Likewise.
9476
9477 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
9478 (grub_net_send_ip_packets): Likewise.
9479
cf1337aa
VS
94802011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
9483 grub_read_cmos prototype.
9484
93c06ff9
VS
94852011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 VGA text support in qemu-mips
9488
9489 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
9490 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
9491 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
9492 text.
9493 * grub-core/kern/i386/qemu/init.c: Renamed to ...
9494 * grub-core/kern/vga_init.c: ... this.
9495 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
9496 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
9497 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
9498 Adjust.
9499 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
9500 GRUB_MACHINE_PCI_IO_BASE.
9501
748ccabe
VS
95022011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 MIPS qemu flash support.
9505
9506 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
9507 magic.
9508 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
9509 (grub_machine_init): Probe memory if its size isn't known.
9510 * util/grub-mkimage.c (image_targets): Add flash targets.
9511 (generate_image): Handle flash targets.
9512
d7345994
VS
95132011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 MIPS qemu at_keyboard support.
9516
9517 * gentpl.py (videoinkernel): Add qemu-mips.
9518 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
9519 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
9520 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
9521 modules.
9522 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
9523 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
9524 * grub-core/term/serial.c (grub_serial_register)
9525 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
9526
a07a81b3
VS
95272011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 CMOS support on sparc.
9530
9531 * gentpl.py (cmos): Add powerpc and sparc.
9532 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
9533 powerpc and sparc.
9534 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
9535 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
9536 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
9537 grub_set_datetime_cmos.
9538 * grub-core/lib/ieee1275/cmos.c: New file.
9539 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
9540 (find_rtc): Set no_ieee1275_rtc on error.
9541 (grub_get_datetime): Call grub_get_datetime_cmos on error.
9542 (grub_set_datetime): Call grub_set_datetime_cmos on error.
9543 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
9544 fail. Move value to argument. All users updated
9545 (grub_cmos_write): Likewise.
9546 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
9547 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
9548 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
9549 grub_get_datetime_cmos and grub_set_datetime_cmos.
9550
77546584
GS
95512011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
9552
9553 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
9554 sourcing grub-mkconfig_lib.
9555 * util/update-grub_lib.in: Likewise.
9556 * util/grub.d/00_header.in: Likewise.
9557 * util/grub.d/10_hurd.in: Likewise.
9558 * util/grub.d/10_kfreebsd.in: Likewise.
9559 * util/grub.d/10_linux.in: Likewise.
9560 * util/grub.d/10_netbsd.in: Likewise.
9561 * util/grub.d/10_windows.in: Likewise.
9562 * util/grub.d/20_linux_xen.in: Likewise.
9563 * util/grub.d/30_os-prober.in: Likewise.
9564
54894791
CW
95652011-06-28 Colin Watson <cjwatson@ubuntu.com>
9566
9567 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
9568 default_bg_color rather than black.
9569 (grub_gfxterm_fullscreen): Likewise.
9570 (grub_gfxterm_background_color_cmd): Save new background color in
9571 default_bg_color.
9572
8d5d8444
VS
95732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
9576
5afeb5bd
VS
95772011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
9580 mismerge.
9581
ba7df45e
VS
95822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 Chainloading on coreboot support.
9585
9586 * grub-core/Makefile.core.def (chain): Add coreboot.
9587 * grub-core/loader/i386/coreboot/chainloader.c: New file.
9588
d0b526b2
VS
95892011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
9592 if it happens.
9593
5ff1d945
VS
95942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 Implement time command.
9597
9598 * grub-core/Makefile.core.def (time): New module.
9599 * grub-core/commands/time.c: New file.
9600 * grub-core/script/parser.y: Remove "time" keyword.
9601 * grub-core/script/yylex.l: Likewise.
9602
5ebaad7e
VS
96032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
9606
bdea3798
VS
96072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
9610 when handling leftovers.
9611
b28c5655
VS
96122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
9615 so that help2man doesn't fail.
9616
b6f945dc
VS
96172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
9620 type in pointers on sparc64.
9621 (get_card_packet): Likewise.
9622
f9b75e8a
CW
96232011-06-27 Colin Watson <cjwatson@ubuntu.com>
9624
9625 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
9626 with `*'.
9627 (grub_cmd_videoinfo): Fetch current video mode.
9628
1e3d9b86
VS
96292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
9632 because of underlying system restrictions.
9633
efff4b1c
VS
96342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
9637 necessary.
9638
9fc9ce37
VS
96392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 Coreboot video support.
9642
9643 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
9644 (vbe): Likewise.
9645 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
9646 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
9647 here ...
9648 * grub-core/kern/i386/int.S: ... here.
9649 * grub-core/video/i386/pc/vbe.c: Updated includes.
9650 * grub-core/video/i386/pc/vga.c: Likewise.
9651 * include/grub/i386/coreboot/memory.h
9652 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
9653 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
9654 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
9655 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
9656 Disable interrupts.
9657 * include/grub/i386/pc/vga.h: Removed. All users updated.
9658
41bec7fe
VS
96592011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
9662 definitions for dprintf.
9663 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
9664
ca80309d
VS
96652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
9668 prototype.
9669 (get_card_packet): Likewise.
9670
9e322ce8
YB
96712011-06-26 Yves Blusseau <blusseau@zetam.org>
9672
9673 Display the path of the file when file is not found
9674
9675 * grub-core/fs/fat.c: Display the filename when file is not found.
9676 * grub-core/fs/fshelp.c: Likewise.
9677 * grub-core/fs/hfs.c: Likewise.
9678 * grub-core/fs/jfs.c: Likewise.
9679 * grub-core/fs/minix.c: Likewise.
9680 * grub-core/fs/ufs.c: Likewise.
9681 * grub-core/fs/btrfs.c: Likewise.
9682 * grub-core/commands/i386/pc/play.c: Likewise.
9683
cbf597af
SJ
96842011-06-26 Szymon Janc <szymon@janc.net.pl>
9685
9686 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
9687 pointer checks before calling grub_free().
9688 * grub-core/commands/wildcard.c (match_devices): Likewise.
9689 * grub-core/commands/wildcard.c (match_files): Likewise.
9690 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
9691 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
9692 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
9693 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
9694 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
9695 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
9696 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
9697 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9698 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
9699
6295b32f
P
97002011-06-25 Patrick <p55@mailinator.com>
9701
9702 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
9703
77c0840b
VS
97042011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
9707 (grub_pxe_send): Likewise.
9708 (GRUB_MOD_INIT): Fix types.
9709
40ea05de
SJ
97102011-06-24 Szymon Janc <szymon@janc.net.pl>
9711
9712 * grub-core/io/xzio.c: Fix code style issues
9713
90162423
MRA
97142011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
97152011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
9716
9717 Network infrastructure.
9718 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
9719
9720 * include/grub/net/arp.h: New file.
90162423
MRA
9721 * include/grub/net/device.h: Likewise.
9722 * include/grub/net/ethernet.h: Likewise.
9723 * include/grub/net/ip.h: Likewise.
9724 * include/grub/net/netbuff.h: Likewise.
9725 * include/grub/net/tftp.h: Likewise.
9726 * include/grub/net/udp.h: Likewise.
9727 * include/grub/ieee1275/ofnet.h: Likewise.
9728 * include/grub/emu/export.h: Likewise.
9729 * include/grub/net.h: Likewise.
9730 * grub-core/net/arp.c: Likewise.
9731 * grub-core/net/ethernet.c: Likewise.
9732 * grub-core/net/ip.c: Likewise.
9733 * grub-core/net/udp.c: Likewise.
9734 * grub-core/net/tftp.c: Likewise.
9735 * grub-core/net/netbuff.c: Likewise.
9736 * grub-core/net/net.c: Likewise.
9737 * grub-core/net/drivers/emu/emunet.c: Likewise.
9738 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
9739 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
9740 export.h.
9741 * grub-core/Makefile.core.def (net): New module.
9742 (tftp): Likewise.
9743 (ofnet): Likewise.
9744 (emunet): Likewise.
9745 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
9746 network protocols.
9747 * grub-core/kern/device.c (grub_net_open) : New variable.
9748 (grub_device_open): Handle network device.
9749 (grub_device_close): Likewise.
9750 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
9751 (grub_grubnet_fini): Likewise.
9752 (grub_file_seek): Seek in network device.
9753 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
9754 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
9755 network root.
9756 (grub_machine_fini): Call grub_grubnet_fini.
9757 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
9758 network.
9759 (grub_ieee1275_get_aliasdevname): New function.
9760 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9761 Add unofficial Solaris network info.
9762 (grub_multiboot_make_mbi): Likewise.
9763 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
9764 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
9765 * include/grub/device.h (grub_fs): Removed.
9766 * include/grub/err.h (grub_err_t): Add network-related values.
9767 * include/grub/i386/pc/pxe.h: Removed bootp parts.
9768 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
9769 (grub_ieee1275_get_aliasdevname): New proto.
9770 * include/grub/net.h: Rewritten.
423a1849 9771
031f22a0
VS
97722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
9775 names.
9776
4388ca72
VS
97772011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
9780 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
9781 it truncates the output.
9782 Reported by: Ximin Luo.
9783
98e2f506
VS
97842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
9787
2a5e94d8
VS
97882011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
9791 partmap before abstraction.
9792
535c1910
AK
97932011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
9794
9795 * util/grub-mkconfig_lib.in: Add missing quotes.
9796
bc09e1a2
VS
97972011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
9800 old method if mountinfo would return /dev/root and /dev/root doesn't
9801 exist.
9802
290766fb
VS
98032011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 ZFS zlib support
9806
9807 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
9808 (decomp_table): Add zlib entries.
9809 (zio_read): USe 8 bits for compression function rather than 3.
9810 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
9811
98122011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * grub-core/disk/ahci.c: Add missing license statements.
9815 * grub-core/fs/romfs.c: Likewise.
9816 * grub-core/lib/ia64/setjmp.S: Likewise.
9817 * grub-core/loader/i386/pc/freedos.c: Likewise.
9818 * grub-core/loader/ia64/efi/linux.c: Likewise.
9819 * grub-core/video/colors.c: Likewise.
9820 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
9821
5ab3f48a
VS
98222011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 AHCI support.
9825
9826 * grub-core/Makefile.core.def (ata_pthru): Removed.
9827 (ahci): New module.
9828 (pata): Likewise.
9829 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
9830 on unload.
9831 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
9832 readwrite.
9833 (grub_hdparm_do_check_powermode_cmd): Likewise.
9834 (grub_hdparm_do_smart_cmd): Likewise.
9835 (grub_hdparm_set_val_cmd): Likewise.
9836 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
9837 * grub-core/disk/ahci.c: New file.
9838 * grub-core/disk/ata.c: Factor out the low-level part into ...
9839 * grub-core/disk/pata.c: ... here.
9840 * grub-core/disk/ata_pthru.c: Contents moved to ...
9841 * grub-core/disk/pata.c: ... here.
9842 * grub-core/disk/scsi.c (grub_scsi_names): New array.
9843 (grub_scsi_iterate): Use grub_scsi_names.
9844 (grub_scsi_open): Likewise.
9845 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
9846 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
9847 (grub_ata_regs_t): New struct.
9848 (grub_disk_ata_pass_through_parms): Likewise.
9849 (grub_ata_device): Renamed to ...
9850 (grub_ata): ... this.
9851 (grub_ata_dev): New struct.
9852 Removed all low-level inline functions.
9853 * include/grub/scsi.h: Add PATA and AHCI subsystems.
9854 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
9855 iterate hooks and open. All users updated.
9856 * util/grub-install.in: Handle AHCI disk module.
9857
c31dc5f5
SJ
98582011-06-23 Szymon Janc <szymon@janc.net.pl>
9859
9860 Add support for DRI and RSTn markers in JPEG files.
9861
9862 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
9863 (JPEG_MARKER_RST0): Likewise.
9864 (JPEG_MARKER_RST1): Likewise.
9865 (JPEG_MARKER_RST2): Likewise.
9866 (JPEG_MARKER_RST3): Likewise.
9867 (JPEG_MARKER_RST4): Likewise.
9868 (JPEG_MARKER_RST5): Likewise.
9869 (JPEG_MARKER_RST6): Likewise.
9870 (JPEG_MARKER_RST7): Likewise.
9871 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
9872 (grub_jpeg_decode_dri): New function.
9873 (grub_jpeg_decode_sos): Move image data related part into
9874 grub_jpeg_decode_data function.
9875 (grub_jpeg_decode_data): New function.
9876 (grub_jpeg_reset): New function.
9877 (grub_jpeg_decode_jpeg): Handle new markers.
9878
fe12fd5b
VS
98792011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 * util/ieee1275/ofpath.c (check_sas): Close fd.
9882 (main): Free of_path.
9883 Reported by: David Volgyes <dvolgyes>.
9884
03147f46
VS
98852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
9888 Reported by: David Volgyes <dvolgyes>.
9889
cad3237f
VS
98902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9891
9892 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
9893 file after stat.
9894 Reported by: David Volgyes <dvolgyes>.
9895
13548d26
VS
98962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9897
9898 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
9899
9900 Reported by: David Volgyes <dvolgyes>.
9901
e061a1b5
VS
99022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
9905 Prevent memory leak.
9906
1abe47dc
VS
99072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9908
9909 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
9910 (main): Close file.
e061a1b5 9911 Reported by: David Volgyes <dvolgyes>.
1abe47dc 9912
fbc62666
VS
99132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
9916 to continue if allocation is failed.
9917
9918 Reported by: David Volgyes <dvolgyes>.
9919
e98c83e9
DV
99202011-06-23 David Volgyes <dvolgyes>
9921
9922 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
9923 dereference.
9924
a199a8cd
VS
99252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 Fix spurious warning.
9928
9929 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
9930 (acorn_partition_map_find): Use .bin member.
9931
e2d1dba0
VS
99322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
9935 /dev/root as a valid device.
9936
8a5d6919
JM
99372011-06-23 Jim Meyering <meyering@redhat.com>
9938
e2d1dba0
VS
9939 Avoid NULL deref in grub_device_open.
9940
8a5d6919
JM
9941 * grub-core/kern/device.c (grub_device_open): Don't dereference
9942 a NULL pointer upon failed grub_env_get.
9943
f7db6f4a
VS
99442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 Support non-512B sectors and agglomerate reads.
9947
9948 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
9949 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
9950 (disk_io_guid): Removed.
9951 (make_devices): Locate solely by BlockIO.
9952 (grub_efidisk_open): Fill log_sector_size and total_sectors.
9953 (grub_efidisk_read): Use read_blocks.
9954 (grub_efidisk_write): Use write_blocks.
9955 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
9956 log_sector_size.
9957 (get_safe_sectors): Handle non-512B sectors.
9958 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
9959 sectors.
9960 (grub_biosdisk_write): Handle non-512B sectors.
9961 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
9962 (grub_scsi_read): Remove special non-512B block handling (now handled
9963 one level up).
9964 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
9965 and do sanity checks.
9966 (grub_disk_adjust_range): Handle non-512B sectors.
9967 (transform_sector): New function.
9968 (grub_disk_read_small): Likewise.
9969 (grub_disk_read): Rewritten.
9970 (grub_disk_write): Handle non-512B sectors.
9971 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
9972 log_sector_size.
9973 (open_device): Use log_sector_size.
9974 (grub_util_biosdisk_read): Likewise.
9975 (grub_util_biosdisk_write): Likewise.
9976 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
9977 non-512B sectors.
9978 (pc_partition_map_embed): Likewise.
9979 * include/grub/disk.h (grub_disk): New field log_sector_size.
9980 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
9981 (GRUB_DISK_CACHE_BITS): Increased to 6.
9982 * util/grub-fstest.c (fstest): New command testload.
9983 (argp_parser): Likewise.
9984
881ac815
RM
99852011-06-16 Robert Millan <rmh@gnu.org>
9986
9987 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
9988 `ata' driver on kernel of FreeBSD 9.
9989
9990 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
9991 (get_ataraid_disk_name): New functions.
9992 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
9993 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
9994 get_ataraid_disk_name() and get_ada_disk_name().
9995
1e9aef7d
CW
99962011-06-13 Colin Watson <cjwatson@ubuntu.com>
9997
9998 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
9999 input format.
10000
351c7c8a
CW
100012011-05-29 Colin Watson <cjwatson@ubuntu.com>
10002
10003 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10004 `ftp.gnu.org' for `alpha.gnu.org'.
10005
6b4e6430
CW
100062011-05-27 Colin Watson <cjwatson@ubuntu.com>
10007
10008 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10009 partitions under /dev/disk/by-id/.
10010
c64db050
CW
100112011-05-27 Colin Watson <cjwatson@ubuntu.com>
10012
10013 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10014 after ten consecutive open failures. Scanning all the way up to
10015 10000 is excessive and can cause serious performance problems in
10016 some configurations.
10017 Fixes Ubuntu bug #787461.
10018
245f4aba
VS
100192011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10022 opening new one.
10023
f767c929
VS
100242011-05-21 Colin Watson <cjwatson@ubuntu.com>
100252011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10026
10027 Don't stat devices unless we have to.
10028
10029 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10030 dir == /dev/mapper.
10031 (grub_guess_root_device): Use already known os_dev if possible.
10032 * grub-core/kern/emu/hostdisk.c
10033 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10034 if device is known to be a dm one.
10035
f35fa3a6
CW
100362011-05-20 Colin Watson <cjwatson@ubuntu.com>
10037
10038 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10039 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10040 Reported by: Pawel Tecza.
10041
9a79fcf2
VS
100422011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10045 (lsefisystab): Likewise.
10046 (lssal): Likewise.
10047 (lsefimmap): Likewise.
10048 (hdparm): Enable on qemu-mips.
10049 (setjmp): Add ia64 nodist.
10050 (serial): Simplify tags.
10051
63e3eea9
CW
100522011-05-18 Colin Watson <cjwatson@ubuntu.com>
10053
10054 * Makefile.util.def (grub-ofpathname): Install manual page.
10055
09728256
CW
100562011-05-18 Colin Watson <cjwatson@ubuntu.com>
10057
10058 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10059
8b63a142
CW
100602011-05-18 Colin Watson <cjwatson@ubuntu.com>
10061
10062 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10063
e775d8ed
VS
100642011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10065
10066 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10067 into dprintf.
10068
bf947d36
VS
100692011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 Use full 64-bit division.
10072
10073 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10074 (grub_divmod64): ... this.
10075 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10076 version.
10077
b84f26c5
CW
100782011-05-18 Colin Watson <cjwatson@ubuntu.com>
10079
10080 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10081 `source'.
10082
5626056f
CW
100832011-05-18 Colin Watson <cjwatson@ubuntu.com>
10084
10085 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10086 to avoid accidents when debugging with 'sh -x'.
10087 * grub-core/gensyminfo.sh.in: Likewise.
10088 * tests/example_scripted_test.in: Likewise.
10089 * tests/grub_cmd_regexp.in: Likewise.
10090 * tests/grub_script_blanklines.in: Likewise.
10091 * tests/grub_script_dollar.in: Likewise.
10092 * tests/grub_script_expansion.in: Likewise.
10093 * tests/grub_script_final_semicolon.in: Likewise.
10094 * tests/partmap_test.in: Likewise.
10095 * tests/util/grub-shell-tester.in: Likewise.
10096 * tests/util/grub-shell.in: Likewise.
10097
e2965f4a
CW
100982011-05-18 Colin Watson <cjwatson@ubuntu.com>
10099
10100 Move gfxmenu color handling to video, so that gfxterm can use it
10101 too.
10102
10103 * grub-core/gfxmenu/named_colors.c: Move to ...
10104 * grub-core/video/colors.c: ... here. Rename
10105 grub_gui_get_named_color to grub_video_get_named_color.
10106 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10107 * grub-core/video/colors.c (my_isxdigit): ... here.
10108 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10109 Move to ...
10110 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10111 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10112 to ...
10113 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10114
10115 * include/grub/gui.h (grub_gui_color_t): Move to ...
10116 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10117 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10118 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10119 * include/grub/gui.h (grub_gui_map_color): Move to ...
10120 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10121 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10122 to ...
10123 * include/grub/video.h (grub_video_get_named_color): ... here.
10124 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10125 * include/grub/video.h (grub_video_parse_color): ... here.
10126
10127 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10128 video/colors.c.
10129 (gfxmenu): Remove gfxmenu/named_colors.c.
10130 (video) [videomodules]: Add video/colors.c.
10131
10132 Add a background_color command.
10133
10134 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10135 function.
10136 (GRUB_MOD_INIT): Register background_color command.
10137 (GRUB_MOD_FINI): Unregister background_color command.
10138 (redraw_screen_rect): Allow blend/replace of text layer to be
10139 controlled independently from whether there is a background bitmap.
10140 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10141 changing bitmap.
10142
1e4b4390
VS
101432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10144
26618ff0
VS
10145 Patch BPB in ntldr and chainloader --bpb.
10146
1e4b4390
VS
10147 * grub-core/fs/fat.c: Include grub/fat.h.
10148 (grub_fat_bpb): Moved to ...
10149 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10150 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10151 grub/ntfs.h.
10152 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10153 Moved from here...
10154 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10155 here.
10156 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10157 New function.
10158 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10159 (GRUB_MOD_INIT): Show --bpb.
10160 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10161 * grub-core/normal/main.c (features): New variable.
10162 (GRUB_MOD_INIT): Set feature_* variables.
10163 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10164 proto.
10165 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10166
cf02731e
VS
101672011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10170 for cleanness.
10171
e3a1073f
VS
101722011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 FreeDOS direct loading support.
10175
10176 * docs/grub.texi (Supported OS): Add FreeDOS.
10177 * grub-core/Makefile.core.def (freedos): New module.
10178 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10179 variable.
10180 (grub_relocator16_boot): Handle %ebx.
10181 * grub-core/lib/i386/relocator16.S: Likewise.
10182 * grub-core/loader/i386/pc/freedos.c: New file.
10183
05caa461
VS
101842011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10185
10186 Long Linux command line support.
10187
10188 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10189 (maximal_cmdline_size): New variable.
10190 (allocate_pages): Use maximal_cmdline_size.
10191 (grub_cmd_linux): Set and use maximal_cmdline_size.
10192 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10193 (allocate_pages): Use maximal_cmdline_size.
10194 (grub_cmd_linux): Set and use maximal_cmdline_size.
10195 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10196 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10197 and cmdline_size.
10198
a2491e23
VS
101992011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
102002011-05-18 Colin Watson <cjwatson@ubuntu.com>
10201
10202 Improve devmapper support
10203
10204 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10205 (grub_util_is_lvm): New function.
10206 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10207 than lvm if not dmraid.
10208 Handle mapped md nodes.
10209 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10210 (grub_util_device_is_mapped): ... this. Make always available. All users
10211 updated.
10212 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10213 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10214 dmraid nodes.
10215 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10216
6ad6223e
VS
102172011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10220
10221 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10222 * grub-core/modinfo.sh.in: New file.
10223 * grub-core/Makefile.core.def (modinfo.sh): New script.
10224 * util/grub-mknetdir.in: Use modinfo.sh.
10225 * util/grub-mkrescue.in: Likewise.
10226
543a8f6e
VS
102272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10228
10229 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10230 Fix potential usage of Elf32 instead of Elf64 when compiling on
10231 32-bit architecture. Add endianness macros while on it.
10232
4959e111
VS
102332011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 Use mipsel- rather than mips- in directories involving mipsel ports to
10236 allow both endiannesses coexist.
10237
10238 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10239 mips. All conditions adjusted.
10240 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10241 variable.
10242 * util/grub-install.in: Adjust conditions to take renaming into account.
10243 * util/grub-mkimage.c (image_targets): Likewise. New target
10244 mips-qemu_mips-elf for bigendian mips.
10245
35341bbc
VS
102462011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 Avoid unnecessary copying on MIPS.
10249
10250 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
10251 early if src == dest.
10252 * util/grub-mkimage.c (generate_image): Arange for src == dest if
10253 compression is none.
10254
b772baed
VS
102552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 Reduce memory footprint on SGI by putting modules before the kernel
10258 as opposed to after.
10259
10260 * grub-core/Makefile.core.def (kernel): Increase linking address.
10261 (none_decompress): Likewise.
10262 (xz_decompress): Likewise.
10263 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
10264 address.
10265 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
10266 layout change.
10267 (grub_arch_modules_addr): New function.
10268 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
10269 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
10270 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
10271 here.
10272 * grub-core/kern/mips/startup.S (total_size): Rename to ...
10273 (grub_total_modules_size): ... this. Make global.
10274 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
10275 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
10276 New definition.
10277 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
10278 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
10279 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
10280 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
10281 * util/grub-mkimage.c (image_target_desc): New flag
10282 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
10283 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
10284 (generate_image): Handle images with modules before kernel.
10285
566a1917
VS
102862011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10287
10288 Prevent potential loss of memory map by overwrite on qemu-mips.
10289
10290 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10291 Save ram size in $s4.
10292 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
10293 All users changed to grub_arch_memsize.
10294 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
10295 Loongson.
10296 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
10297 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
10298 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
10299 external variable.
10300
5d420cd9
CW
103012011-05-17 Colin Watson <cjwatson@ubuntu.com>
10302
10303 * .bzrignore: Remove grub-dumpbios.
10304
d064b830
CW
103052011-05-17 Colin Watson <cjwatson@ubuntu.com>
10306
10307 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
10308 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
10309 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
10310 existing options which append).
10311 * docs/grub.texi (Simple configuration): Document new options.
10312 Reported by: Ian Jackson. Fixes Debian bug #617538.
10313
3ca2b466
CW
103142011-05-17 Colin Watson <cjwatson@ubuntu.com>
10315
10316 * util/grub-fstest.c (cmd_cat): New function.
10317 (fstest): Handle CMD_CAT.
10318 (options): Add cat.
10319 (argp_parser): Handle cat.
10320
24c9143a
CW
103212011-05-17 Colin Watson <cjwatson@ubuntu.com>
10322
10323 * Makefile.util.def (grub-bin2h): Don't install.
10324 * docs/man/grub-bin2h.h2m: Remove.
10325
90f7ac19
VS
103262011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
10329 place.
10330
8d4a5178
VS
103312011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10332
10333 Reenable qemu-mips port.
10334
10335 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
10336 Fix small arc bug while on it.
10337 * gentpl.py: Handle qemu_mips.
10338 * grub-core/Makefile.am: Likewise.
10339 * grub-core/Makefile.core.def: Likewise.
10340 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
10341 inappropriate includes.
10342 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
10343 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
10344 * grub-core/kern/main.c (grub_modules_get_end)
10345 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
10346 * grub-core/kern/mips/qemu-mips: Moved to ..
10347 * grub-core/kern/mips/qemu_mips: ... this.
10348 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
10349 (grub_machine_init): Call terminfo_init and serial_init.
10350 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
10351 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10352 New variable.
10353 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
10354 parameter passing.
10355 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
10356 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
10357 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
10358 * include/grub/mips/qemu_mips/cmos.h: New file.
10359 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
10360 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
10361 Removed.
10362 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
10363 Use correct mips-style address.
10364 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
10365 (GRUB_TICKS_PER_SECOND): Removed.
10366 (grub_get_rtc): Likewise.
10367 (grub_cpu_idle): Likewise.
10368 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
10369 New definition.
10370 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
10371 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
10372 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
10373 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
10374 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10375 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
10376 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
10377 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
10378
400b9371
VS
103792011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 SGI ARCS port.
10382
10383 * Makefile.util.def (libgrubmods.a): Add dvh.c.
10384 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
10385 platforms.
10386 * configure.ac: New target mips-arc.
10387 * gentpl.py: Likewise.
10388 * grub-core/Makefile.am: Likewise.
10389 * grub-core/Makefile.core.def: Likewise.
10390 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
10391 (none_decompress): Likewise.
10392 (lsdev): New module.
10393 (datetime): Use lib/arc/datetime.c on ARC.
10394 (part_dvh): New module.
10395 * grub-core/commands/arc/lsdev.c: New file.
10396 * grub-core/disk/arc/arcdisk.c: Likewise.
10397 * grub-core/kern/mips/arc/init.c: Likewise.
10398 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
10399 aligned addresses.
10400 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
10401 support.
10402 (grub_arch_dl_relocate_symbols): Likewise.
10403 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
10404 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
10405 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
10406 platforms.
10407 * grub-core/lib/arc/datetime.c: New file.
10408 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
10409 pci.h on non-loongson.
10410 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
10411 (grub_linux_boot): Set unused registers to 0.
10412 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
10413 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
10414 * grub-core/mmap/mips/uppermem.c: ...here.
10415 * grub-core/partmap/dvh.c: New file.
10416 * grub-core/term/arc/console.c: Likewise.
10417 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
10418 (grub_terminfo_set_current): Add terminal "arc".
10419 (grub_terminfo_readkey): Support ARC sequences.
10420 * include/grub/arc/arc.h: New file.
10421 * include/grub/arc/console.h: Likewise.
10422 * include/grub/disk.h (grub_disk_dev_id): Add
10423 GRUB_DISK_DEVICE_ARCDISK_ID.
10424 * include/grub/mips/arc/kernel.h: New file.
10425 * include/grub/mips/arc/memory.h: Likewise.
10426 * include/grub/mips/arc/time.h: Likewise.
10427 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
10428 * include/grub/mips/kernel.h (grub_halt): ... here.
10429 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
10430 here...
10431 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
10432 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
10433 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
10434 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
10435 proto.
10436 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
10437 from here ...
10438 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
10439 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
10440 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
10441 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
10442 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
10443 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
10444 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
10445 (grub_phys_addr_t): Moved from here ...
10446 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
10447 (grub_vtop): Moved from here ...
10448 * include/grub/mips/memory.h (grub_vtop): ... here.
10449 (grub_map_memory): Moved from here ...
10450 * include/grub/mips/memory.h (grub_map_memory): ... here.
10451 (grub_unmap_memory): Moved from here ...
10452 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
10453 (grub_machine_mmap_iterate): Moved from here ...
10454 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
10455 (grub_mmap_get_lower): Moved from here ...
10456 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
10457 (grub_mmap_get_upper): Moved from here ...
10458 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
10459 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10460 here ...
10461 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10462 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
10463 here ...
10464 * include/grub/mips/time.h (grub_get_rtc): ... here.
10465 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
10466 here ...
10467 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
10468 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
10469 here ...
10470 * include/grub/mips/time.h (grub_cpu_idle): ... here.
10471 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
10472 definition.
10473 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
10474 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
10475 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
10476 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
10477 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
10478 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
10479 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
10480 (GRUB_MACHINE_LINK_ADDR): Likewise.
10481 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
10482 to 6.
10483 * util/grub-install.in: Run dvhtool on ARC.
10484 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 10485 (generate_image): Handle ECOFF output for mips-arc.
400b9371 10486
c8ecc840
VS
104872011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
10490 blocks.
10491
153a4b55
VS
104922011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10493
10494 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
10495 after enabling port.
10496
ff44d107
VS
104972011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 Skip incorrect USB devices.
10500
10501 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
10502 configcnt == 0.
10503 * include/grub/usb.h (grub_usb_err_t): New enum value
10504 GRUB_USB_ERR_BADDEVICE.
10505
638dbe4f
VS
105062011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
10507
10508 Fuloong video init support.
10509
10510 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
10511 well.
10512 (grub_vga_read_arx): New function.
10513 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
10514 definition.
10515 (framebuffer): New members io, mmioptr and mmiobase.
10516 (read_sis_cmd): New function.
10517 (write_sis_cmd): Likewise.
10518 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
10519 rather than 640x400.
10520 * grub-core/video/sis315_init.c: New file.
10521
c3fc520c
VS
105222011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
10525 non-loongson.
10526 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
10527 to grub_dl_register_symbol.
10528
67b1e5c9
VS
105292011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 Fix compilation errors.
10532
10533 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
10534 potentially unused.
10535 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
10536 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
10537 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
10538 to loongson machines.
10539
b756f75f
VS
105402011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 Several FS mtime support.
10543
10544 * grub-core/fs/affs.c (grub_affs_time): New struct.
10545 (grub_affs_file): New field mtime.
10546 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
10547 type. Removed 'size'. New field 'di'. All users updated.
10548 (grub_affs_mount): Simplify checsum checking.
10549 (grub_affs_iterate_dir): New helper grub_affs_create_node.
10550 (grub_affs_dir): Handle mtime.
10551 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
10552 (grub_cpio_dir): Likewise.
10553 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
10554 (grub_hfs_filerec): New field mtime.
10555 (grub_hfs_dir): Handle mtime.
10556 (grub_hfs_mtime): New function.
10557 (grub_hfs_fs): Register grub_hfs_mtime.
10558 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
10559 (grub_iso9660_dir): New field mtime.
10560 (grub_fshelp_node): New field dirent.
10561 (iso9660_to_unixtime): New function.
10562 (iso9660_to_unixtime2): Likewise.
10563 (grub_iso9660_read_symlink): Use node->dirent.
10564 (grub_iso9660_iterate_dir): Likewise.
10565 (grub_iso9660_dir): Set mtime.
10566 (grub_iso9660_mtime): New function.
10567 (grub_iso9660_fs): Register grub_iso9660_mtime.
10568 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
10569 (grub_jfs_inode): New fields atime, ctime and mtime.
10570 (grub_jfs_dir): Set mtime.
10571 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
10572 * grub-core/fs/ntfs.c (list_file): Set mtime.
10573 (grub_ntfs_dir): Likewise.
10574 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
10575 (grub_reiserfs_iterate_dir): Set mtime.
10576 (grub_reiserfs_dir): Likewise.
10577 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
10578 (grub_fshelp_node): Likewise.
10579 (grub_sfs_iterate_dir): Set mtime.
10580 (grub_sfs_dir): Likewise.
10581 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
10582 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
10583 (grub_xfs_inode): New fields atime, mtime, ctime.
10584 (grub_xfs_dir): Set mtime.
10585 * include/grub/datetime.h (grub_datetime2unixtime): New function.
10586 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
10587 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
10588
10589 Support UDF symlinks.
10590
10591 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
10592 (grub_ufs_read_symlink): New function. All users updated.
10593
10594 Check amiga partmap checksum.
10595
10596 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
10597 (grub_amiga_partition): Likewise.
10598 (amiga_partition_map_checksum): New function.
10599 (amiga_partition_map_iterate): Check checksum.
10600
5470225d
VS
106012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10602
10603 ROMFS support.
10604
10605 * Makefile.util.def (libgrubmods.a): Add romfs.
10606 * grub-core/Makefile.core.def (romfs): New module.
10607 * grub-core/fs/romfs.c: New file.
10608
d4680a35
VS
106092011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 Squashfs v4 support.
10612
10613 * Makefile.util.def (libgrubmods.a): Add squash4.
10614 * grub-core/Makefile.core.def (squash4): New module.
10615 * grub-core/fs/squash4.c: New file.
10616 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
10617 disk_input_start, disk_input.
10618 (get_byte): Handle disk_input.
10619 (grub_zlib_disk_read): New function.
10620 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
10621
bcb18e74
FZ
106222011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
106232011-05-15 Feiran Zheng <famcool@gmail.com>
10624
10625 * Makefile.util.def (libgrubmods.a): Add minix3.
10626 * grub-core/Makefile.core.def (minix3): New module.
10627 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
10628 (GRUB_MINIX_BSIZE): Removed.
10629 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
10630 (grub_minix_ino_t): New type.
10631 (grub_minix_le_to_cpu_ino): New macro.
10632 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
10633 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
10634 (grub_minix_data): New field block_size.
10635 (grub_minix_read_file): Handle 64-bit correctly.
10636 * grub-core/fs/minix3.c: New file.
10637
32297d5f
TG
106382011-05-15 Tristan Gingold <gingold@free.fr>
106392011-05-15 Robert Millan <rmh.grub@aybabtu.com>
106402011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 IA64 support.
10643
10644 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
10645 * configure.ac: Add ia64-efi target.
10646 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
10647 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
10648 * gentpl.py: Add ia64_efi platform.
10649 Rename x86_efi to efi and Add ia64-efi. All users updated.
10650 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
10651 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
10652 Remove kern/generic/rtc_get_time_ms.c on EFI.
10653 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
10654 kern/ia64/dl_helper.c on ia64-efi.
10655 Add kern/emu/cache.c on emu.
10656 (linux): Use on loader/ia64/efi/linux.c on ia64.
10657 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
10658 whether symbol is a function.
10659 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
10660 (grub_symbol): New field 'isfunc'.
10661 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
10662 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
10663 (grub_dl_load_segments): Place all sections into the same region.
10664 [__ia64__]: Create trampolines and got.
10665 [GRUB_MACHINE_EMU]: Call mprotect.
10666 (grub_dl_resolve_symbols): Resolve symbol type as well.
10667 [__ia64__]: Create function descriptors.
10668 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
10669 (grub_rtc_get_time_ms): ... this. Expressions simplified.
10670 (grub_get_rtc): New function.
10671 * grub-core/kern/emu/cache.c [__ia64__]: New file.
10672 * grub-core/kern/emu/cache.S: Renamed to ...
10673 * grub-core/kern/emu/cache_s.S: ... this.
10674 [__ia64__]: Add a nop.
10675 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
10676 [__ia64__]: New function.
10677 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
10678 * grub-core/kern/ia64/dl.c: New file.
10679 * grub-core/kern/ia64/dl_helper.c: Likewise.
10680 * grub-core/kern/ia64/efi/init.c: New file.
10681 * grub-core/kern/ia64/efi/startup.S: Likewise.
10682 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
10683 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
10684 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
10685 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
10686 * grub-core/loader/ia64/efi/linux.c: New file.
10687 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
10688 (GRUB_MOD_DEP): Likewise.
10689 (grub_dl) [__ia64__]: New fields got and tramp.
10690 (grub_dl): New field 'base'.
10691 (grub_dl_register_symbol): New argument isfunc. All users updated.
10692 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
10693 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
10694 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
10695 (grub_ia64_dl_get_tramp_got_size): New proto.
10696 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
10697 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
10698 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
10699 * include/grub/efi/api.h: Skip call wrappers on ia64.
10700 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
10701 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
10702 * include/grub/elf.h (ELF_ST_INFO): New definition.
10703 * include/grub/ia64/efi/kernel.h: New file.
10704 * include/grub/ia64/efi/memory.h: Likewise.
10705 * include/grub/ia64/efi/time.h: Likewise.
10706 * include/grub/ia64/kernel.h: Likewise.
10707 * include/grub/ia64/setjmp.h: Likewise (from glibc).
10708 * include/grub/ia64/time.h: New file.
10709 * include/grub/ia64/types.h: Likewise.
10710 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
10711 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
10712 New protos.
10713 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
10714 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
10715 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
10716 * util/grub-mkimage.c (image_target_desc): New field pe_target.
10717 All users updated.
10718 (EFI64_HEADER_SIZE): New definition. All users updated.
10719 (image_targets): Add ia64-efi.
10720 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
10721 jumpers_addr. All users updated.
10722 Create function descriptors.
10723 (count_funcs): New function.
10724 (unaligned_uint32): New struct.
10725 (MASK20): New definition.
10726 (MASK19): Likewise.
10727 (MASKF21): Likewise.
10728 (add_value_to_slot_20b): New function.
10729 (add_value_to_slot_21_real): Likewise.
10730 (add_value_to_slot_21): Likewise.
10731 (ia64_kernel_trampoline): New struct.
10732 (nopm): New variable.
10733 (jump): Likewise.
10734 (make_trampoline): New function.
10735 (relocate_addresses): Handle ia64.
10736 (make_reloc_section): Likewise.
10737 (load_image): Likewise.
10738
983b414d
VS
107392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
10742 warning. Move variables before code while on it.
10743
5d063cdc
VS
107442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 Fuloong support.
10747
10748 * configure.ac: Rename yeeloong platform to loongson. All users updated.
10749 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
10750 * grub-core/boot/mips/loongson/fuloong.S: New file.
10751 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
10752 Explicitly init CS5536.
10753 [FULOONG]: Don't use serial until CS5536 is available.
10754 Set GPIO based on dumps.
10755 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
10756 [FULOONG]: Handle GPIO and memory controller differences.
10757 Parse machine type in $a2.
10758 * grub-core/boot/mips/startup_raw.S: Determine and save the
10759 architecture.
10760 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
10761 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
10762 init on architecture type.
10763 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
10764 SIS315E. Don't init at_keyboard on fuloong.
10765 (grub_halt): Support Fuloong.
10766 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
10767 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
10768 (loongson_machtypes): New array.
10769 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
10770 type.
10771 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
10772 config. All users updated. Handle CS5536 serial.
10773 * grub-core/term/serial.c (grub_serial_register): Conditionalise
10774 default port on machine type. Register serial as inactive.
10775 * grub-core/video/sis315pro.c: New file.
10776 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
10777 definition.
10778 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
10779 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
10780 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
10781 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
10782 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
10783 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
10784 to ...
10785 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
10786 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
10787 definition.
10788 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
10789 (grub_arch_machine): New extern var.
10790 * include/grub/mips/loongson/serial.h
10791 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
10792 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
10793 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
10794 (GRUB_MACHINE_SERIAL_PORT0): ... this.
10795 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
10796 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
10797 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
10798 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
10799 * include/grub/term.h (grub_term_register_input_inactive): New inline
10800 function.
10801 (grub_term_register_output_inactive): Likewise.
10802 * include/grub/video.h (grub_video_driver_id): New value
10803 GRUB_VIDEO_DRIVER_SIS315PRO.
10804 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
10805 New field "names". All users updated.
10806 New field value IMAGE_FULOONG_FLASH.
10807 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
10808
6ada82d1
JU
108092011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
10810
10811 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
10812 and add some clarification.
10813
90c571a4
VS
108142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
10817 platforms if kernel is compressed.
10818
de04eecf
VS
108192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
10822 unused modules since currently referrence counter isn't reliable and
10823 there isn't much memory to recover there anyway.
10824
57688121
VS
108252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
10828 rather than resetting it to allow modules to reference themselves
10829 in init.
10830
3d2c7e35
VS
108312011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10832
10833 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
10834 counter on dependencies since grub_dl_unref already handles this.
10835
b25db218
VS
108362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10837
10838 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
10839 on error if not already done.
10840
25a45338
VS
108412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 Fix few potential memory misusage.
10844
10845 * grub-core/font/font.c (load_font_index): Don't free char_index to
10846 avoid double free.
b25db218
VS
10847 (grub_font_load): Zero-fill font at alloc for safety.
10848 Close file on error.
10849 (free_font): Free bmp_idx.
25a45338 10850
0cac83df
VS
108512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * docs/grub.texi (Installation): Fix several outdated claims.
10854
2217a143
VS
108552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10856
10857 Handle module_license on windows.
10858
10859 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
10860 sections shifted.
10861 (insert_string): Make argument const char * instead of char *.
10862 (write_section_data): Handle long section names.
10863 Handle module_license.
10864
d4de6b01
VS
108652011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10866
10867 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
10868 handle class-free menuentries.
10869 (grub_normal_add_menu_entry): Add a check to be sure.
10870
4c2a3b43
VS
108712011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
10872
10873 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
10874 PgUp and PgDown.
10875
85c6210f
VS
108762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10877
10878 * configure.ac: Bump version to 1.99.
10879
36084912
VS
108802011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10881
10882 Give ATA device a bit more time on first try in order to allow disks
10883 to spin up.
10884
10885 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
10886 if dev->present is 1. Reset dev->present on failure.
10887 (grub_ata_device_initialize): Set dev->present to 1.
10888 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
10889 (grub_ata_device): New member 'present'.
10890
bda0e219
VS
108912011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 * util/grub-mkimage.c (generate_image): Update hash.
10894
19e1c41b
VS
108952011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 Flush caches on DMA memory.
10898
10899 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
10900 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
10901 (grub_dma_free): Likewise.
10902 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
10903
91bbcc0c
VS
109042011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
10907 to avoid asm treating ld and sd as macros.
10908
60ddfad3
VS
109092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10910
10911 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
10912 decompressor.
10913
a298aa04
VS
109142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10915
10916 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
10917 grub_decompress_core since later would fail if grub_decompress_core
10918 is too far.
10919
9b44feca
VS
109202011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
10923 R_MIPS_JALR since it's used by newer compiler.
10924
56dbe7b4
VS
109252011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
10926
10927 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
10928
52856af2
VS
109292011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10930
10931 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
10932 file_path to 0 for surety.
10933 (grub_chainloader_boot): Set exit_data to NULL.
10934 Unset the loader once done.
10935 (grub_cmd_chainloader): Fix confusing error message if file is empty.
10936
9c9bfc6d
VS
109372011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10938
10939 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
10940 unknown key into a dprintf.
10941
dd94a3df
VS
109422011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
10945 on first non-existant partition.
10946
fa68d99c
VS
109472011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
10950 openning fails.
10951 Reported by: Mark Korenberg.
10952
157effb7
VS
109532011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
10956 overflow.
10957
ea75312f
VS
109582011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
10959
10960 * util/grub-mkimage.c (main): Explicitely flush and sync the output
10961 before closing to ensure that it will be readable by grub-setup.
10962
072b5d31
VS
109632011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
10966 (devpath_1): Use MAKE_PIWG_PATH.
10967 (devpath_2): Likewise.
10968 (devpath_3): Likewise.
10969 (devpath_4): Likewise.
10970 (devpath_5): Likewise.
10971 (devpath_6): Likewise.
10972
10973 The appleldr.mod was checked that to be binary identical to previous
10974 version.
10975
7fae0051
Z
109762011-05-05 Zach <mikezackles>
10977
10978 Support 2010 Macbooks.
10979
10980 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
10981 (devs): Add devpath_6.
10982
7c515bee
VS
109832011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10984
10985 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
10986 /dev/random. /dev/urandom is good enough for our purposes (salting).
10987
ed660bd8
VS
109882011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10989
10990 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
10991
ee5614b7
VS
109922011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
10995 hexadecimal.
10996
664889a6
VS
109972011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
10998
10999 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11000 and not 0 on failure.
11001
bd405bbc
CW
110022011-05-03 Colin Watson <cjwatson@ubuntu.com>
11003
11004 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11005 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11006 disk; otherwise grub_fs_probe will not fall back to the next
11007 filesystem.
11008 (grub_pxefs_open): Likewise, for consistency.
11009 Reported and tested by: Ezekiel Grave.
11010
4ebff753
CW
110112011-05-03 Colin Watson <cjwatson@ubuntu.com>
11012
11013 * tests/partmap_test.in: Don't hardcode path to parted.
11014 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11015
8f942553
CW
110162011-05-01 Colin Watson <cjwatson@ubuntu.com>
11017
11018 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11019 of `ls' to find out which devices are available.
11020
3c62402d
VS
110212011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11024 than source address for efi mmap buffer.
11025
723f63f2
VS
110262011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11027
11028 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11029 wrong action on non-detecting the magic.
11030
68797f92
VS
110312011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11034 already supplied by another part of the module (fixes compilation on
11035 FreeBSD).
11036
6be8715d
VS
110372011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11038
11039 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11040 match the one used by mdadm.
11041
e91dba5b
CW
110422011-04-21 Colin Watson <cjwatson@ubuntu.com>
11043
11044 * po/README: Add instructions for creating po/LINGUAS.
11045
c85140b3
CW
110462011-04-21 Colin Watson <cjwatson@ubuntu.com>
11047
11048 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11049 #551428.
11050
11051 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11052 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11053 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11054 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11055 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11056 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11057 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11058 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11059 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11060 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11061 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11062 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11063 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11064 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11065 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11066 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11067 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11068 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11069 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11070 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11071 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11072 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11073
92051871
CW
110742011-04-21 Colin Watson <cjwatson@ubuntu.com>
11075
11076 * grub-core/kern/emu/getroot.c
11077 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11078 test that was incorrectly reintroduced in r3214.
11079 Reported by: Ian Dall. Fixes Savannah bug #33133.
11080
b13f79a4
CW
110812011-04-21 Colin Watson <cjwatson@ubuntu.com>
11082
11083 Fix stack pointer handling in 16-bit relocator.
11084
11085 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11086 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11087 Fixes Ubuntu bug #683904.
11088
9b710a88
VS
110892011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11090
11091 * configure.ac: Bump version to 1.99~rc2.
11092
d97e7b59
VS
110932011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11094
11095 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11096 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11097 * grub-core/lib/x86_64/setjmp.S: Likewise.
11098 * grub-core/lib/mips/setjmp.S: Likewise.
11099 * grub-core/lib/powerpc/setjmp.S: Likewise.
11100 * grub-core/lib/sparc64/setjmp.S: Likewise.
11101
0624551c
VS
111022011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11105 * grub-core/lib/efi/datetime.c: Likewise.
11106
e8f28d4c
VS
111072011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11110 New function.
11111 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11112 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11113 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11114
bba79a15
VS
111152011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11116
11117 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11118 bitmap.
11119 (grub_gfxterm_term_init): Likewise.
11120
abc474ef
VS
111212011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 Take into account the decorations the computing menu entry width.
11124
11125 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11126 (grub_gfxmenu_create_box): Register get_border_width.
11127 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11128 if available.
11129 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11130 get_border_width.
11131
e74b3947
EP
111322011-04-18 Endres Puschner <code@e7p.de>
11133
11134 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11135 Don't skip first class.
11136
34faa595
VS
111372011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11140 chunks.
11141 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11142
93a777e3
VS
111432011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 Complete 64-bit division support.
11146
11147 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11148 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11149 * include/grub/misc.h (grub_divmod64): Rename to ...
11150 (grub_divmod64_full): ... this.
11151 (grub_divmod64): New inline function.
11152
a5102d94
VS
111532011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11156
f3fb7b36
VS
111572011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11158
11159 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11160 performing the necessary test.
11161
9ac718b0
VS
111622011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11165 (kfreebsd.elf): Likewise.
11166 (pc-chainloader.elf): Likewise.
11167 (ntldr.elf): Likewise.
11168
50d2cc5a
VS
111692011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 Identify RAID by its UUID rather than (guessed) name.
11172
11173 * grub-core/disk/raid.c (ascii2hex): New function.
11174 (grub_raid_open): Accept mduuid/%s specification.
11175 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11176 (get_mdadm_uuid): ... this.
11177 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11178
e03f7bea
VS
111792011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11182 to negative size.
11183
e74c3112
CW
111842011-04-13 Colin Watson <cjwatson@ubuntu.com>
11185
11186 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11187 btrfs subvolume.
11188 * util/grub.d/20_linux_xen.in: Likewise.
11189
78fa584f
CW
111902011-04-13 Colin Watson <cjwatson@ubuntu.com>
11191
11192 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11193 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11194
11195 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11196 Build a list of relevant visible mounts using the mnt_id and
11197 parent_mnt_id fields, and then scan that list at the end.
11198
9d5f8162
CW
111992011-04-12 Colin Watson <cjwatson@ubuntu.com>
11200
11201 * docs/grub.texi (normal): New section.
11202 (normal_exit): New section.
11203 (Embedded configuration): Add reference to normal.
11204 (GRUB only offers a rescue shell): Likewise.
11205 * docs/grub-dev.texi (Error Handling): Fix typo.
11206
09a9d66f
CW
112072011-04-12 Colin Watson <cjwatson@ubuntu.com>
11208
11209 * NEWS: Drop obsolete entry about probe-only btrfs support.
11210
0c676933
CW
112112011-04-12 Colin Watson <cjwatson@ubuntu.com>
11212
11213 * util/import_gcry.py: Fix typo.
11214
ec9f5e0d
VS
112152011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11216
11217 * NEWS: Add btrfs support.
11218
fe6b2cba
VS
112192011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
112202011-04-11 Colin Watson <cjwatson@ubuntu.com>
11221
11222 BtrFS support. Written by me (Vladimir) with important bugfixes and
11223 even more important testing by Colin.
11224
11225 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11226 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11227 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11228 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11229 mem_input_off and mem_input. All users updated to accept in-RAM input.
11230 (gzio_seek): New function.
11231 (test_zlib_header): Likewise.
11232 (grub_gzio_read): Likewise.
11233 (grub_zlib_decompress): Likewise.
11234 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11235 Accept partial and non-virtual mounts.
11236 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11237 avoid receiving /dev/dm-X as device.
11238 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11239 Handle bind and partial mounts.
11240 * grub-core/lib/crc.c: New file.
11241 * include/grub/deflate.h: Likewise.
11242 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
11243 proto.
11244 * include/grub/lib/crc.h: New file.
11245
e745cf0c
VS
112462011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 Implement automatic module license checking according to new GNU
11249 guidelines.
11250
11251 * grub-core/kern/dl.c (grub_dl_check_license): New function.
11252 (grub_dl_load_core): Use grub_dl_check_license.
11253 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
11254 (GRUB_MOD_LICENSE): Likewise.
11255 (GRUB_MOD_DUAL_LICENSE): Likewise.
11256 All modules updated.
11257
2a9bc016
CW
112582011-04-11 Colin Watson <cjwatson@ubuntu.com>
11259
11260 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
11261 reserved_first_sector to 1. btrfs reserves plenty of space for boot
11262 loaders.
11263 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
11264
8a3bc88e
VS
112652011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
11268
af869a4a
VS
112692011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * util/grub-fstest.c (read_file): Report GRUB error if file opening
11272 failed.
11273
9ee8d94f
VS
112742011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11275
11276 * grub-core/kern/file.c (grub_file_open): Don't take into account the
11277 parenthesis in the middle of the filename.
11278
b01abe3e
VS
112792011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
11282 rather than trying to put initrd way too high.
11283 Reported by: Ryan Lortie <desrt@desrt.ca>
11284
335bda1e
VS
112852011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
11288 improperly removed string.
11289
5ca1a64d
VS
112902011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
11293 is_disk.
11294 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
11295 (open_device) Likewise.
11296 (grub_util_biosdisk_close): Likewise.
d8ce9995 11297 Reported by: Mark Korenberg.
5ca1a64d 11298
cbac5b1e
AK
112992011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
11300
11301 * util/grub-mkconfig_lib.in: Add missing quotes.
11302
088cdb65
CW
113032011-04-10 Colin Watson <cjwatson@ubuntu.com>
11304
11305 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
11306 is NULL.
11307
8b8a81fa
VS
113082011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 Dynamically count the number of lines for the lower banner.
11311
11312 * grub-core/normal/menu_entry.c (per_term_screen): New member
11313 num_entries.
11314 (print_down): Use num_entries.
11315 (update_screen): Likewise.
11316 (grub_menu_entry_run): Set num_entries.
11317 * grub-core/normal/menu_text.c (menu_viewer_data): New member
11318 num_entries.
11319 (grub_print_message_indented): Move real part to ...
11320 (grub_print_message_indented_real): ... here. Additional argument
11321 dry_run.
11322 (draw_border): Additional argument num_entries.
11323 (print_message): Additional argument dry_run.
11324 (print_entries): Receive menu viewer data.
11325 (grub_menu_init_page): New argment num_entries.
11326 (menu_text_set_chosen_entry): Use num_entries.
11327 (grub_menu_try_text): Likewise.
11328 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
11329 All users updated.
11330 (grub_ucs4_count_lines): New function.
11331 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
11332 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
11333 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
11334 (grub_term_border_height): Likewise.
11335 (grub_term_num_entries): Likewise.
11336
277f955b
VS
113372011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11338
11339 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
11340 Remove now unused string.
11341
536ce85a
CW
113422011-04-09 Colin Watson <cjwatson@ubuntu.com>
11343
11344 * docs/grub-dev.texi (Finding your way around): Update for 1.99
11345 build system.
11346 (Getting started): GRUB is developed in Bazaar now, not Subversion.
11347
11348 (Comment): Fix typo.
11349 (Getting started): General copy-editing.
11350 (Typical Development Experience): Likewise.
11351 (Error Handling): Likewise.
11352 (Video API): Likewise.
11353
2cf09e32
CW
113542011-04-09 Colin Watson <cjwatson@ubuntu.com>
11355
11356 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
11357 throughout.
11358
1ec652f4
VS
113592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11360
11361 * util/grub-mkimage.c (main): Handle special naming of yeeloong
11362 directory.
11363
2c583728
CW
113642011-04-08 Colin Watson <cjwatson@ubuntu.com>
11365
11366 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
11367 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
11368 "development".
11369
d7a565e9
VS
113702011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
11373 grub_strcpy since the lines aren't necessarily 0-terminated.
11374
7c2e4909
VS
113752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
11378 root on legacy.
11379
34c09785
VS
113802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11381
11382 * grub-core/commands/probe.c (options): Argument to set isn't optional.
11383 (GRUB_MOD_INIT): DEVICE isn't optional.
11384
6a6f8058
VS
113852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11386
11387 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
11388 word on new line if it's too long anyway. Fixes a hang.
11389
2e335e90
VS
113902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11391
11392 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
11393 const.
11394 * util/grub-setup.c (main): Reuse md device name if available.
11395 * util/raid.c (grub_util_raid_getmembers): Receive device name and
11396 not GRUB name as argument.
11397 Based on patch by: Florian Wagner <fwagner>.
11398
10a7a867
VS
113992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
11402 Place mbi on low memory for better compatibility.
11403
7a3d6cd9
VS
114042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
11407
18dd6b47
VS
114082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
114092011-04-08 Colin Watson <cjwatson@ubuntu.com>
11410
11411 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 11412 * conf/Makefile.common: Likewise.
18dd6b47 11413
3c0e3f14
VS
114142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11415
f7148863
VS
11416 * grub-core/normal/menu.c: Add missing include.
11417
114182011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 11421
6d1fa41f
MZ
114222011-04-08 Martin Zuther <mzuther@mzuther.de>
11423
11424 * util/grub-mkconfig.in: Ignore emacsen backup.
11425
478182a8
VS
114262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11427
11428 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
11429 on open.
11430 (grub_util_biosdisk_close): Likewise.
11431
72a89a54
VS
114322011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
11435 const attribute and use grub_isdigit.
11436
b5ebecfa
A
114372011-04-06 Andrey <dev_null@ukr.net>
11438
11439 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
11440 gcc warning.
11441
7755f66e
VS
114422011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
11445 useful grub_dprintf's.
11446
461121ff
VS
114472011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11448
11449 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
11450
2a961775
VS
114512011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11452
11453 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
11454
adf594cc
VS
114552011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 Output errors if theme loading failed.
11458
11459 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
11460 grub_gfxterm_fullscreen on error paths to ...
11461 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
11462 theme loading error.
11463
665900a3
VS
114642011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11465
11466 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
11467 space for older compilers.
11468 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
11469
a562b479
VS
114702011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11471
11472 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
11473 and report them as not RAID members since they are useless for GRUB.
11474 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11475
850e9373
VS
114762011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 Increase LVM implementation robustness in order not to crash on
11479 configurations like pvmove. Previously code assumed that in some places
11480 only lvs or only pvs are used whereas it seems that they are used
11481 interchangeably.
11482
11483 * grub-core/disk/lvm.c (read_node): New function.
11484 (read_lv): Use read_node.
11485 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
11486 Match volumes only at the end when all lvs are found. Take both
11487 pvs (first) and lvs (second) into account.
11488 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
11489 mirror_* into node_*. All users updated.
11490 (grub_lvm_stripe): Merge this ...
11491 (grub_lvm_mirror): ... and this ...
11492 (grub_lvm_node): ... into this. All users updated.
11493
6f332153
VS
114942011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
11497 of function to allow further scanning for LVMs.
11498
829ea451
VS
114992011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
11502 on failed seek as it breaks open fd reusage.
11503
09ceb9a5
VS
115042011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11505
11506 * util/grub-install.in: Add a recommendation to use --recheck before
11507 reporting bugs.
11508
67e11623
VS
115092011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
11512 are obtained.
11513
caee5efd
VS
115142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 GRUB developper manual based on existing Internals section and
11517 contributions by the various authors with active copyright assignment.
11518
11519 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
11520 * docs/font_char_metrics.png: New file.
11521 * docs/font_char_metrics.txt: Likewise.
11522 * docs/grub-dev.texi: Likewise.
11523 * docs/grub.texi (Internals): Move from here ...
11524 * docs/grub-dev.texi: ... here.
11525
2cccc747
CW
115262011-04-01 Colin Watson <cjwatson@ubuntu.com>
11527
11528 Store the loopback device as data on loopback grub_disk structures,
11529 rather than the file it points to. This fixes use of freed memory
11530 if an existing loopback device is replaced.
11531
11532 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
11533 disk->data, not dev->file.
11534 (grub_loopback_read): Adjust file assignment to match.
11535 Fixes Ubuntu bug #742967.
11536
186ae367
CW
115372011-04-01 Colin Watson <cjwatson@ubuntu.com>
11538
11539 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
11540 when replacing an existing device.
11541
cfed2ad0
VS
115422011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
11545 memory corruptions.
11546
11547 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
11548 unsigned.
11549 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
11550 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
11551 (grub_jfs_read_inode): Likewise.
11552 (grub_jfs_opendir): Likewise. Remove now useless casts.
11553 (grub_jfs_getent): Likewise.
11554 Make ino a grub_uint32_t rather than int.
11555 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
11556 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
11557 division and module with bit operations.
11558 (grub_jfs_find_file): Make ino a grub_uint32_t.
11559 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
11560
05d2ed32
CW
115612011-04-01 Colin Watson <cjwatson@ubuntu.com>
11562
11563 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
11564 warning. (This was in fact always initialised before use, but GCC
11565 wasn't smart enough to prove that.)
11566 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11567
91dc6073
VS
115682011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
11571 stack alignment.
11572 (efi_wrap_1): Likewise.
11573 (efi_wrap_2): Likewise.
11574 (efi_wrap_3): Likewise.
11575 (efi_wrap_4): Likewise.
11576 (efi_wrap_5): Likewise.
11577 (efi_wrap_6): Likewise.
11578 (efi_wrap_10): Likewise.
11579 Based on information by: Red Hat/Peter Jones.
11580
a8afc1d1
CW
115812011-03-31 Colin Watson <cjwatson@ubuntu.com>
11582
11583 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
11584 set-but-not-used variable.
11585
a826cc7d
CW
115862011-03-31 Colin Watson <cjwatson@ubuntu.com>
11587
11588 * docs/grub.texi (Simple configuration): Be more explicit about
11589 GRUB_DEFAULT, and add an example.
11590 Reported by: Leslie Rhorer.
11591
875b67ba
CW
115922011-03-30 Colin Watson <cjwatson@ubuntu.com>
11593
11594 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
11595 shell".
11596
fd7cd914
AS
115972011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11598
11599 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
11600 * util/grub.d/20_linux_xen.in: Likewise.
11601
090b1b6a
VS
116022011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * util/grub.d/10_linux.in: Try alternative config filenames where
11605 we parse config file.
11606 * util/grub.d/20_linux_xen.in: Likewise.
11607
baad885c
AS
116082011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
11609
11610 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
11611 * util/grub.d/20_linux_xen.in: Likewise.
11612
241e41f5
VS
116132011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 * grub-core/disk/raid.c (insert_array): Add few potentially
11616 useful grub_util_info.
11617 (grub_raid_register): Likewise.
11618
56445fb2
VS
116192011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
11622 Preserve partition number in mdadm code path.
11623
c871b1c6
VS
116242011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11625
11626 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
11627 few potentially useful grub_util_info.
11628
5e631b4f
CW
116292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
11632
2d5d0333
CW
116332011-03-30 Colin Watson <cjwatson@ubuntu.com>
11634
11635 * docs/grub.texi (default): Use @example rather than nested
11636 itemized lists to avoid breaking gendocs.
11637
3d7ed04e
CW
116382011-03-30 Colin Watson <cjwatson@ubuntu.com>
11639
11640 * docs/grub.texi (Future): Update.
11641
abf04200 116422011-03-30 Colin Watson <cjwatson@ubuntu.com>
11643
11644 * docs/grub.texi (Environment): New chapter.
11645 (Changes from GRUB Legacy): Link to "Environment block" section for
11646 details of limitations.
11647 (Simple configuration): Likewise. Link to documentation of gfxmode
11648 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
11649 respectively.
11650 (Shell-like scripting): Note that normal variables are stored in the
11651 environment.
11652 (gettext): Link to documentation of lang and locale_dir.
11653 (list_env): New section.
11654 (load_env): New section.
11655 (save_env): New section.
11656
11657 (Reporting bugs): Fix typo.
11658
e1ad0edd
VS
116592011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11660
11661 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
11662 the example.
11663
5d803174
VS
116642011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11665
11666 * grub-core/term/at_keyboard.c (set_scancodes)
11667 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
11668
2a2da1d0
CW
116692011-03-30 Colin Watson <cjwatson@ubuntu.com>
11670
11671 * docs/grub.texi (Menu-specific commands): Remove some semantics
11672 that were true in GRUB Legacy but not in GRUB 2.
11673 (submenu): New section.
11674 (false): New section.
11675 (read): New section.
11676 (true): New section.
11677
a7527639
CW
116782011-03-30 Colin Watson <cjwatson@ubuntu.com>
11679
11680 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
11681
116822011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
11683
11684 * docs/grub.texi (Simple configuration): Explain some of the
11685 current limitations of grub-mkconfig.
8a748df2 11686 Reported by: Leslie Rhorer.
e30af029 11687
fc858482
VS
116882011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 Old macs search for boot.efi rather than for bootia32.efi.
11691
11692 * util/grub-install.in: Copy bootia32.efi to boot.efi.
11693 * util/grub-mkrescue.in: Likewise.
11694 Suggested by: Peter Jones.
11695
e1eb511d
VS
116962011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
11699
70e75364
VS
117002011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
11703 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
11704 (grub_lvm_mirror): New struct.
11705 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
11706 (grub_lvm_iterate): Iterate only visible volumes.
11707 (grub_lvm_read): Factor out to ..
11708 (read_lv): ... this. Support mirrors.
11709 (grub_lvm_read): New wrapper function.
11710 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
11711 stripped or mirrored.
11712
fc18f6a3
VS
117132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
11716
5c650f4c
CW
117172011-03-29 Colin Watson <cjwatson@ubuntu.com>
11718
11719 * docs/grub.texi (loopback): New section.
11720
61d7156b
CW
117212011-03-29 Colin Watson <cjwatson@ubuntu.com>
11722
11723 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
11724 removed -p option.
11725
994b8264
CW
117262011-03-29 Colin Watson <cjwatson@ubuntu.com>
11727
11728 * docs/grub.texi (BIOS installation): New section, partly based on
11729 previous text in other sections.
11730 (Installing GRUB using grub-install): Replace BIOS discussion with a
11731 cross-reference.
11732 (Images): Likewise.
11733
9e4d19e0
VS
117342011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11735
11736 * grub-core/kern/emu/hostdisk.c (find_partition_start)
11737 [HAVE_DIOCGDINFO]: Add safety checks.
11738
a307c0b2
VS
117392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
11742 per default compiled in kernel and prior to 8.0 isn't shipped at all.
11743
b4db4f39
CW
117442011-03-29 Colin Watson <cjwatson@ubuntu.com>
11745
11746 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
11747 real_sb->size is zero (e.g. RAID-0), get the disk size from
11748 real_sb->data_size instead.
11749 Fixes Ubuntu bug #743136.
11750
35e5f84c
VS
117512011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
11754 printf clauses for printing size and start.
11755
d2e29d81
VS
117562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
11759 Reported and tested by: Timothy Nikkel.
11760
ed5587af
VS
117612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11762
11763 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
11764 (dirty_region_add_real): ... this.
11765 (dirty_region_add): Don't discard margin refresh when performing
11766 scheduled repaint.
11767
a1dc717c
VS
117682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 * grub-core/lib/relocator.c (allocate_regstart)
11771 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
11772 terminals are capabple of malloc-free operation.
11773 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11774 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
11775
9f3677d3
VS
117762011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
11777
11778 * util/grub-setup.c: Copy the partition table zone if floppy support
11779 is disabled, even if no partition table is found.
11780
11781 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
11782 during POST if an invalid partition table is contained in the PBR
11783 of the active partition when GRUB is installed to a partition.
11784
24148725
CW
117852011-03-28 Colin Watson <cjwatson@debian.org>
11786
11787 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
11788 comment.
11789
f329eda7
CW
117902011-03-28 Colin Watson <cjwatson@debian.org>
11791
11792 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
11793 to be specific about what kind of RAID device we're scanning for.
11794
c482ad98
SG
117952011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
11796
11797 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
11798 return freed string.
11799
5ee04984
VS
118002011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
11803
f4727da9
VS
118042011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 Use libgeom on FreeBSD to detect partitions.
11807
11808 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
11809 (grub-mkrelpath): Likewise.
11810 (grub-script-check): Likewise.
11811 (grub-editenv): Likewise.
11812 (grub-mkpasswd-pbkdf2): Likewise.
11813 (grub-fstest): Likewise.
11814 (grub-mkfont): Likewise.
11815 (grub-mkdevicemap): Likewise.
11816 (grub-probe): Likewise.
11817 (grub-setup): Likewise.
11818 (grub-ofpathname): Likewise.
11819 (grub-mklayout): Likewise.
11820 (example_unit_test): Likewise.
11821 (grub-menulst2cfg): Likewise.
11822 * grub-core/Makefile.core.def (grub-emu): Likewise.
11823 (grub-emu-lite): Likewise.
11824 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
11825 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
11826 define HAVE_DIOCGDINFO.
11827 (follow_geom_up) [FreeBSD]: New function.
11828 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
11829 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
11830 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
11831 unconditionally of HAVE_DIOCGDINFO.
11832
82fe6c75
VS
118332011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 Fix FreeBSD compilation problem.
11836
11837 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
11838 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
11839
4c6c9431
CW
118402011-03-24 Colin Watson <cjwatson@ubuntu.com>
11841
11842 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
11843 Switch back to page zero before loading a kernel, since some kernel
11844 drivers expect that.
11845 Thanks to: Felix Kuehling.
11846
c7064d94
VS
118472011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
11850 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
11851 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
11852
3f71cded
VS
118532011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11854
11855 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
11856 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
11857
ef6de21a
VS
118582011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
11861 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
11862 malloc is disabled.
11863
8bc66a2c
VS
118642011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
11865
11866 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
11867 for modules headers when counting the needed allocation size.
11868
5657722c
VS
118692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
11872 if no ASCII character is found to prevent crash.
11873
41a85f55
AK
118742011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
11875
11876 * grub-core/video/bitmap.c (match_extension): Ignore case.
11877
59e1e5f1
VS
118782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
11881
bd4d051a
VS
118822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11883
11884 * grub-core/script/parser.y: Declare "time" as valid argument.
11885
bae7fcc1
PJ
118862011-03-23 Peter Jones <pjones@redhat.com>
11887
11888 Fix incorrect assert failure reporting.
11889
11890 * grub-core/tests/example_functional_test.c (example_test): Add
11891 a failure comment.
11892 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
11893 (failure_start): ...this. Check that malloc succeeded.
11894 Don't call xvasprintf. Return failure struct.
11895 (failure_append_vtext): New function.
11896 (failure_append_text): Likewise.
11897 (add_failure): Likewise.
11898 (grub_test_assert_helper): Likewise.
11899 * include/grub/test.h (grub_test_assert_helper): New declaration.
11900 (grub_test_assert): Macro rewritten.
11901
537dc9be
VS
119022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
11905
fa3e01bf
VS
119062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11907
11908 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
11909
b1d28404
VS
119102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
11913 into GRUB-style one.
11914
2e3e2e09
VS
119152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
11918 error and not grub_errno.
11919 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
11920
ed57e557
VS
119212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
11924 GRUB_USB_SPEED_NONE in case of failure and not the error code.
11925
d1611f01
VS
119262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * grub-core/efiemu/i386/pc/cfgtables.c
11929 (grub_machine_efiemu_init_tables): Make declaration a prototype.
11930 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
11931 (grub_xnu_unlock): Likewise.
11932 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
11933
7d4e39d6
VS
119342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11935
11936 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
11937 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
11938 * grub-core/commands/hashsum.c (aliases): Likewise.
11939 * grub-core/commands/setpci.c (pci_registers): Likewise.
11940 * grub-core/disk/usbms.c (attach_hook): Likewise.
11941 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
11942 (zio_checksum_table): Likewise.
11943 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
11944 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
11945 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
11946 * grub-core/lib/relocator.c (leftovers): Likewise.
11947 (extra_blocks): Likewise.
11948 * grub-core/loader/i386/bsd.c (relocator): Likewise.
11949 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
11950 (modules_last): Likewise.
11951 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
11952 (devices): Likewise.
11953 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
11954 (modules_last): Likewise.
11955 * grub-core/normal/auth.c (users): Likewise.
11956 * grub-core/normal/context.c (initial_menu): Likewise.
11957 (current_menu): Likewise.
11958 * grub-core/normal/crypto.c (crypto_specs): Likewise.
11959 * grub-core/term/serial.c (grub_serial_ports): Likewise.
11960 (grub_serial_terminfo_input_template): Likewise.
11961 (grub_serial_terminfo_output_template): Likewise.
11962 (grub_serial_terminfo_input): Likewise.
11963 (grub_serial_terminfo_output): Likewise.
11964 (registered): Likewise.
11965 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
11966
40fc4659
VS
119672011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11968
11969 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
11970 grub_video_mode_type_t.
11971 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
11972 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
11973 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
11974
2da48d28
VS
119752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * util/grub-install.in: Correct the x86-64 name as x86_64.
11978
9b43bf39
CW
119792011-03-11 Colin Watson <cjwatson@ubuntu.com>
11980
11981 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
11982 initial chunk read from the kernel always includes GRUB's multiboot
11983 header, which is now outside the first sector.
11984
be1a7ce0
CW
119852011-03-09 Colin Watson <cjwatson@ubuntu.com>
11986
11987 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
11988 cached mmap_size, so that this works correctly when called multiple
11989 times.
11990 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
11991
83a3c48d
CW
119922011-03-09 Colin Watson <cjwatson@ubuntu.com>
11993
11994 * docs/grub.texi (Simple configuration): Tidy up formatting.
11995
57d75699
SJ
119962011-03-07 Szymon Janc <szymon@janc.net.pl>
11997
11998 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
11999 Set-but-not-used variable removed.
12000
028501a0
VS
120012011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 Workaround yet another IEEE1275 bug.
12004
12005 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12006 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12007 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12008 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12009 is set.
12010 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12011 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12012
d998657d
VS
120132011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12014
12015 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12016 error.
12017
fee7cdd4
CW
120182011-02-11 Colin Watson <cjwatson@ubuntu.com>
12019
12020 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12021 empty, since in that case we can only generate either nothing or a
12022 syntactically invalid configuration file.
12023 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12024
97286eb5
CW
120252011-02-09 Colin Watson <cjwatson@ubuntu.com>
12026
12027 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12028 (Making a GRUB bootable CD-ROM): Likewise.
12029 (Invoking grub-mkrescue): New section.
12030 Reported by: Yann Dirson. Fixes Debian bug #612585.
12031
22b28eb3
CW
120322011-02-09 Colin Watson <cjwatson@ubuntu.com>
12033
12034 * util/grub-install.in: Remove unnecessary brackets from tr
12035 arguments.
12036 * util/grub.d/10_hurd.in: Likewise.
12037 * util/grub.d/10_kfreebsd.in: Likewise.
12038 * util/grub.d/10_linux.in: Likewise.
12039 * util/grub.d/20_linux_xen.in: Likewise.
12040 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12041
7e735e43
CW
120422011-02-08 Colin Watson <cjwatson@ubuntu.com>
12043
12044 * include/grub/file.h (not_easly_seekable): Rename to ...
12045 (not_easily_seekable): ... this. Update all users.
12046
800f1881
CW
120472011-01-28 Colin Watson <cjwatson@ubuntu.com>
12048
12049 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12050 grub-mkrescue.
12051
3281d3d6
VS
120522011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12053
12054 * util/grub-mkimage.c (generate_image): Refuse to create the images
12055 bigger than the actual flash (512K) in Loongson machines. 512K is also
12056 the biggest chip supported by them.
12057
3533413c
VS
120582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12061
73ae4f4f
VS
120622011-01-22 Anthony DeRobertis <anthony@derobert.net>
12063
12064 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12065 super_offset field.
12066
37f4f608
VS
120672011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12068
12069 * util/grub-install.in: Ignore install device on platforms
12070 where it doesn't make sense. Always use UUIDs except on pc, efi and
12071 sparc64.
12072 Reported by: Daniel Kahn Gillmor.
12073
03a4ccb5
VS
120742011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12075
12076 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12077
ffc8f4d8
VS
120782011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12079
12080 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12081 (iterate_real): Don't rely on partition being non-NULL.
12082
80f23be7
VS
120832011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12084
12085 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12086 supported platforms. Put a compile time assert for this rather than
12087 generate a warning with 32-bit shift.
12088
5d4f4dd5
VS
120892011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12090
12091 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12092 logical expression more readable.
12093
e489601a
VS
120942011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12095
12096 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12097 even if some elements have a name.
12098 Reported by: Alexander GQ Gerasiov.
12099
96e0a6ea
CW
121002011-01-22 Colin Watson <cjwatson@ubuntu.com>
12101
12102 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12103 path unreadable if `grub-probe -t abstraction' fails, for example if
12104 memberlist fails on an LVM volume group.
12105 Reported by: Darius Jahandarie.
12106
81431e2b
CW
121072011-01-22 Colin Watson <cjwatson@ubuntu.com>
12108
12109 * docs/grub.texi (Simple configuration): Document
12110 GRUB_PRELOAD_MODULES.
12111
5e79d66a
CW
121122011-01-17 Colin Watson <cjwatson@ubuntu.com>
12113
12114 * .bzrignore: Remove nonexistent grub-pbkdf2.
12115
646ada34
VS
121162011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 * configure.ac: Bump version to 1.99~rc1.
12119
04360337
VS
121202011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12121
12122 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12123 for safety.
12124
46c9db88
VS
121252011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12128 module.
12129
121302011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
12131
12132 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12133
4fbf1852
VS
121342011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12137 diskdevid.
12138
f1632d4d
VS
121392011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12140
12141 Fix compilation on cygwin.
12142
12143 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12144 -R .drectve on cygwin.
12145 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12146 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12147 (COND_CYGWIN): New condition.
12148 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12149 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12150 not @TARGET_OBJ2ELF@.
12151 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12152 type to determine whether aux is to be used.
12153
0b5e127b
VS
121542011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12155
12156 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12157 realpath'ed device string.
12158 Handle floppy (somewhat).
12159 Issue error in unknown case rather than garbage.
12160 Reported by: Axel Beckert.
12161
173b71e9
VS
121622011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12163
12164 * util/grub.d/00_header.in (load_video): Handle the case when no video
12165 drivers available.
12166 Thanks to: Axel Beckert.
12167
f8f479db
VS
121682011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12169
12170 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12171 variable. Fixes problem on big endian platforms.
12172
8fc0a245
VS
121732011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12174
12175 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12176 It doesn't work well there.
12177
b8494fbe
VS
121782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12179
12180 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12181 warning.
12182 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12183 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12184 counter.
12185
b44a558c
VS
121862011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 Use alias->path rather than buggy "canon".
12189
12190 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12191 (ofdisk_hash_add): New argument curcan. All users updated.
12192
51fa856c
CW
121932011-01-11 Colin Watson <cjwatson@ubuntu.com>
12194
12195 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12196
9da068a5
VS
121972011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12198
12199 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12200 loadmask before doing any calculations. Use correct type for offset.
12201 (grub_linux_load64): Likewise.
12202
86205c94
CW
122032011-01-11 Colin Watson <cjwatson@ubuntu.com>
12204
12205 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12206 with NULL.
12207 (console_grub_equivalences_unshift): Likewise.
12208 Reported by: Daniel Dehennin.
12209
4531a206
VS
122102011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12213 (set_env_limn_ro): Likewise.
12214 (GRUB_MOD_INIT): Likewise.
12215 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12216 ARRAY_SIZE while on it.
12217 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12218 * grub-core/normal/context.c (grub_env_export): Move from here ...
12219 * grub-core/kern/env.c (grub_env_export): ... here.
12220 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12221 prefix.
12222 * grub-core/kern/main.c (grub_main): Export root and prefix.
12223 * include/grub/env.h (grub_env_export): Export.
12224 Reported by: Seth Goldberg.
12225
45146057
VS
122262011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12229 Take into account space used by ELF sections and multiboot palette.
12230 Reported by: Grégoire Sutre.
12231
f093110b
VS
122322011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 * BUGS: New file.
12235
3395fe52
VS
122362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 Pass more appropriate video id to Linux.
12239
12240 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12241 grub_video_get_driver_id and variable gfxpayloadforcelfb to
12242 fill have_vga.
12243 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
12244 shift params->lfb_size.
12245 * include/grub/i386/linux.h: Make an enume out of have_vga values.
12246
c2fa6cbb
VS
122472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 * util/grub-menulst2cfg.c: Add missing include of misc.h.
12250
b3ff6ff0
VS
122512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
12254 separator and pass bootpath/devid even if only one of them is available.
12255 Reported by: Seth Goldberg.
12256
ae67942e
VS
122572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
12260 implementations bug on them.
12261
12262 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
12263 memory.
12264 (filter_memory_map): Likewise.
12265
d570097a
VS
122662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12267
12268 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
12269 Reported by: nebuchadnezzar.
12270
a508e776
VS
122712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12272
12273 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
12274 Reported by: nebuchadnezzar.
12275
dcb883b1
VS
122762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12277
12278 Submenu default support.
12279
12280 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
12281 auto_boot. All users updated.
12282 Declared static.
12283 Handle chosen and default with submenus.
12284 (grub_menu_execute_with_fallback): Declared static.
12285 Don't notify failure if autobooted. Upper level does it.
12286 (menuentry_eq): New function.
12287 (get_entry_number): Use menuentry_eq.
12288 (show_menu): New parameter "autobooted". All users updated.
12289 (grub_show_menu): Likewise.
12290 * include/grub/normal.h (grub_show_menu): Likewise.
12291 * include/grub/menu.h (grub_menu_execute_entry): Removed.
12292 (grub_menu_execute_with_fallback): Likewise.
12293
6fef99b4
VS
122942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12295
12296 * util/grub-mklayout.c (usage): Update help text.
12297
47a77af5
VS
122982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
12301
ce6bb3ee
VS
123022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12303
12304 * util/grub-menulst2cfg.c (main): Trim the line.
12305
db87be2a
VS
123062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12307
12308 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
12309 (grub_machine_init): Don't check amount of low memory as reportedly
12310 INT 12h can be broken and if low memory is too low we wouldn't have
12311 gotten into grub_machine_init anyway.
12312
c49849cc
VS
123132011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
12316 (grub_machine_mmap_iterate): Take low memory into account
12317
b1969b30
VS
123182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
12321 badfs.
12322 Reported by: TiCPU.
12323
cf0eaf13
VS
123242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
12327 members errors.
12328
1f060f39
GS
123292011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12330
12331 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
12332 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
12333
a21e5672
GS
123342011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12335
12336 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
12337 openbsd and netbsd types being in part_bsd module.
12338
c88172fa
VS
123392011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12340
12341 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
12342 (_FILE_OFFSET_BITS): Likewise.
12343 Reported by: Seth Goldberg.
12344
53798c4b
GS
123452011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12346
12347 * configure.ac: Check for libdevmapper header.
12348
e7121b69
VS
123492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
12352 avoid aliasing.
12353 (fzap_lookup): Likewise.
12354 (dnode_get): Likewise.
12355 (make_mdn): Likewise.
12356 (zfs_mount): Likewise.
12357 (fzap_iterate): Use temporary pointer to avoid aliasing.
12358 (grub_zfs_read): Likewise.
12359 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
12360 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
12361 pointers to avoid aliasing.
12362 (grub_cmd_xnu_kernel64): Likewise.
12363 (grub_xnu_load_driver): Likewise.
12364
fc836af9
VS
123652011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12366
12367 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
12368 aliasing warning.
12369 (grub_cmd_terminal_output): Likewise.
12370 Reported and tested by: Grégoire Sutre.
12371
f9f37648
VS
123722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12373
12374 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
12375 warning.
12376 Reported and tested by: Grégoire Sutre.
12377
ec1dfd63
VS
123782011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12379
12380 * configure.ac: Do CPU substitution even if it's specified explicitly.
12381 Reported and tested by: Alain Greppin.
12382
9462775a
VS
123832011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12384
12385 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
12386 Reported and tested by: Alain Greppin.
12387
0fd48e35
VS
123882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12389
12390 Satisfy some bison versions need for inttypes.h.
12391
12392 * grub-core/lib/posix_wrap/inttypes.h: New file.
12393 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
12394 (int16_t): Likewise.
12395 (int32_t): Likewise.
12396 (int64_t): Likewise.
12397 Reported and tested by: Alain Greppin.
12398
43f1bc83
VS
123992011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
12402 Silence spurious warning.
12403 Reported and tested by: Alain Greppin.
12404
64d1f041
SJ
124052011-01-07 Szymon Janc <szymon@janc.net.pl>
12406
12407 * docs/grub.texi (Support automatic decompression): Update with xz
12408 decompression support.
12409
25953e10
SJ
124102011-01-07 Szymon Janc <szymon@janc.net.pl>
12411
12412 Improve loaders' kernel command line handling.
12413
12414 * grub-core/lib/cmdline.c: New file.
12415 * include/grub/lib/cmdline.h: Likewise.
12416 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
12417 grub_create_loader_cmdline to create kernel command line.
12418 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12419 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
12420 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
12421 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
12422 (linux): Add lib/cmdline.c on common.
12423
e72d259f
VS
124242011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
12427 inopos might be unaligned.
12428
c0cf26da
VS
124292011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
12432 endian transformations.
12433 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12434 Based on report by: Doug Nazar.
12435
0ca09e6c
DN
124362011-01-07 Doug Nazar <nazard.michi@gmail.com>
12437
12438 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
12439 array->members[i].start_sector.
12440 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
12441
014b6806
VS
124422011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
12445 Reported and tested by: Grégoire Sutre.
12446
415502c2
CW
124472011-01-06 Colin Watson <cjwatson@ubuntu.com>
12448
12449 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
12450 avoid causing test failures by clearing the screen.
12451
71b6a2b7
CW
124522011-01-06 Colin Watson <cjwatson@ubuntu.com>
12453
12454 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12455 Fix prefix check to handle the case where dir ends with a slash
12456 (most significantly, "/" itself).
12457 Reported by: Michael Vogt.
12458
b3f8d28a
VS
124592011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12460
12461 Run terminfo_cls on initing terminfo output to clear the screen and
12462 move the cursor to (0,0).
12463
12464 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
12465 Call grub_terminfo_output_init.
12466 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
12467 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
12468 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
12469
4c3e4f37
VS
124702011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
12473 only when needed.
12474
488f71f1
VS
124752011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
12478 CTRL.
12479
18a38098
VS
124802011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 The E820 type 5 is BADRAM, not EXEC_CODE.
12483
12484 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12485 (GRUB_E820_BADRAM): New define.
12486 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
12487 into reserved. Propagate BADRAM.
12488 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
12489 (GRUB_E820_BADRAM): New define.
12490
9eae2084
VS
124912011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
12494 Ignore the memory post-4G.
12495 (grub_relocator_firmware_alloc_region): Additional debug statement.
12496
ebc71d28
VS
124972011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12498
12499 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
12500 names.
12501 Reported by: David Pravec.
12502
446fa400
VS
125032011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
12506 BIOSes.
12507
a0159f37
VS
125082011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
12511 Prevent overflow.
12512 (grub_reed_solomon_recover): Likewise.
12513
e5146ca1
VS
125142011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12515
12516 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
12517
125182011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
12519
12520 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
12521 variable.
12522
5b1bdf12
CW
125232011-01-04 Colin Watson <cjwatson@ubuntu.com>
12524
12525 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
12526 descriptions of extract_legacy_entries_source and
12527 extract_legacy_entries_configfile.
12528 Reported by: Seung Soo, Ha.
12529
99d925aa
CW
125302011-01-03 Colin Watson <cjwatson@ubuntu.com>
12531
12532 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
12533 on devices that do not implement function 0.
12534
4af0504b
DV
125352011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
12536
12537 * grub-core/fs/hfsplus.c: Make parent unsigned.
12538 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
12539 overflows.
12540 (grub_hfsplus_cmp_extkey): Likewise
12541
469ee10a
VS
125422011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * util/grub-install.in: Correctly use bootloader_id and not
12545 GRUB_DISTRIBUTOR on efibootmgr line.
12546
323a8e9c
VS
125472011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
12548
12549 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
12550
1b394975
IC
125512010-12-31 Ian Campbell <ijc@hellion.org.uk>
12552
12553 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
12554 Xen and reorder menu item wording to make it clearer that this entry
12555 will launch Xen. Print separate messages when loading Xen and
12556 Linux.
12557
275bff5f
VS
125582010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
12561 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
12562 loop in case of incorrect amiga partmap.
12563
307806cb
VS
125642010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
12567 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
12568 Reported by:EHeM.
12569
b12b923e
VS
125702010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
12571
12572 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
12573 spurious warning.
12574 Reported by: crocket
12575
14b48a19
VS
125762010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12577
12578 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
12579 Preload EFIemu.
12580 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
12581
693db2df
VS
125822010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
12585 is loaded
12586 (grub_cmd_xnu_kextdir): Likewise.
12587 (grub_cmd_xnu_splash): Likewise.
12588
c7638645
VS
125892010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12590
12591 Avoid using Reed-Solomon with 0 redundancy.
12592
12593 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
12594 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
12595 or 0 redundancy.
12596 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
12597 (grub_reed_solomon_recover): Likewise.
12598
25dd4780
VS
125992010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 Don't use disk subsystem in freebsd_boot.
12602
12603 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
12604 (freebsd_biosdev): Likewise.
12605 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
12606 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
12607
0b2db943
VS
126082010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12609
12610 Handling of files of unknown size is currently limited. They can't be
12611 used e.g. for initrd or modules. Moreover gzip handling of not
12612 easily seekable files is buggy. Disable unknown file size for now. May
12613 be inefficient but works.
12614
12615 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
12616 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
12617
5c408d0f
MP
126182010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
12619
12620 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
12621 floppy probe.
12622
190a011a
JD
126232010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
12624
12625 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
12626
022d01b8
SL
126272010-12-25 Shea Levy <shlevy>
12628
12629 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
12630
c4855fdc
VS
126312010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
12634 Windows Server 2008.
12635 Reported by: Devin Giddings.
12636
0354b867
VS
126372010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
12640 writing an error message because of async power management.
12641 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
12642 (grub_reboot): Likewise.
12643
ab66c69f
JU
126442010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
12645
12646 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
12647 keep unit tests from failing when they shouldn't.
12648
1426ef35
CW
126492010-12-21 Colin Watson <cjwatson@ubuntu.com>
12650
12651 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
12652 previous patch increased the size of the RS code by 20 bytes (at
12653 least with gcc-4.4), so increase this by 20 bytes to match.
12654 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12655
20641b6b
CW
126562010-12-21 Colin Watson <cjwatson@ubuntu.com>
12657
12658 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
12659 scratch area. Make sure to initialise chosen in standalone mode as
12660 well as non-standalone.
12661 Reported by: Robert Hooker and Andy Whitcroft.
12662 Tested by: Andy Whitcroft.
12663
d060ad60
CW
126642010-12-21 Colin Watson <cjwatson@ubuntu.com>
12665
12666 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
12667 constructing a new unescaped string and passing it to grub_xputs in
12668 one go, rather than passing characters to grub_printf one at a time.
12669
b889cfad
CW
126702010-12-21 Colin Watson <cjwatson@ubuntu.com>
12671
12672 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
12673 initialising utf16.
12674
4e01b6c8
CW
126752010-12-21 Colin Watson <cjwatson@ubuntu.com>
12676
12677 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
12678 comment. Add an extra layer of quotation, requiring the output of
12679 this function to be used in a printf format string.
12680 (gettext_printf): New function.
12681 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
12682 Extract translatable strings from here-documents and use a temporary
12683 variable instead, so that xgettext can find them.
12684 * util/grub.d/10_kfreebsd.in: Likewise.
12685 * util/grub.d/10_linux.in: Likewise.
12686 * util/grub.d/20_linux_xen.in: Likewise.
12687
12688 * po/grub.d.sed: New file.
12689 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
12690 arguments. Set c-format flags on all strings extracted from
12691 util/grub.d/ (xgettext refuses to include these itself for strings
12692 it extracted from a shell file, but these really are c-format).
12693
5318fe98
VS
126942010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
12697 Avoid next pointing to nowhere.
12698
6c85b743
VS
126992010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12700
12701 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
12702 rather than assuming than rootblock is exactly in the middle.
12703 (grub_affs_label): Likewise.
12704
a2a08a35
VS
127052010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
12708 reserved_first_sector to 0.
12709 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
12710 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
12711 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
12712
7059d1ec
VS
127132010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 Fix handling of UTF-16 UDF labels.
12716
12717 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
12718 (read_string): .. here.
12719 (grub_udf_label): Use read_string.
12720
30aff4cb
BC
127212010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
12722
12723 * grub-core/normal/menu_entry.c (run): Execute commands from menu
12724 editor under argument scope.
12725 Reported by: Jordan Uggla
12726
5cf86f4b
VS
127272010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12728
12729 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
12730
32570200
CW
127312010-12-18 Colin Watson <cjwatson@ubuntu.com>
12732
12733 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
12734 line, and other keys scroll an entire page (previous handling was
12735 for \r and \n to scroll a page and other keys to scroll two lines).
12736
e1dffcf2
VS
127372010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12738
12739 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12740 Set ptrdest to correct get_physical_target_address rather than
12741 incorrect get_virtual_current_address.
12742
b04298cf 127432010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
12744
12745 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
12746 correct cat to grub_uint8_t * rather than grub_uint32_t *.
12747
5367ecd3
CW
127482010-12-10 Colin Watson <cjwatson@ubuntu.com>
12749
12750 * .bzrignore: Ignore grub-core/rs_decoder.S.
12751
1fb430f8
CW
127522010-12-10 Colin Watson <cjwatson@ubuntu.com>
12753
12754 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
12755 .mo/.mo.gz opening sequence to ...
12756 (grub_mofile_open_lang): ... here.
12757 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
12758 * util/grub.d/00_header.in (grub_lang): Include country part of
12759 locale.
12760 Reported by: Mario Limonciello.
12761
a94a6671
RM
127622010-12-09 Robert Millan <rmh@gnu.org>
12763
12764 * NEWS: Document addition of ZFS support.
12765
24b7938b
CW
127662010-12-04 Colin Watson <cjwatson@ubuntu.com>
12767
12768 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
12769 rather than `/ 2', as the latter requires -Wa,--divide which would
12770 require bumping our minimum binutils version.
12771
bddc3ef6
BC
127722010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
12773
12774 * util/grub-script-check.c (main): Print script line number on
12775 error.
12776
bf78d5b2
RM
127772010-12-01 Robert Millan <rmh@gnu.org>
12778
12779 * grub-core/fs/zfs/zfs.c: New file.
12780 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
12781 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
12782 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
12783 * grub-core/fs/zfs/zfsinfo.c: Likewise.
12784
12785 * include/grub/zfs/dmu.h: Likewise.
12786 * include/grub/zfs/dmu_objset.h: Likewise.
12787 * include/grub/zfs/dnode.h: Likewise.
12788 * include/grub/zfs/dsl_dataset.h: Likewise.
12789 * include/grub/zfs/dsl_dir.h: Likewise.
12790 * include/grub/zfs/sa_impl.h: Likewise.
12791 * include/grub/zfs/spa.h: Likewise.
12792 * include/grub/zfs/uberblock_impl.h: Likewise.
12793 * include/grub/zfs/vdev_impl.h: Likewise.
12794 * include/grub/zfs/zap_impl.h: Likewise.
12795 * include/grub/zfs/zap_leaf.h: Likewise.
12796 * include/grub/zfs/zfs.h: Likewise.
12797 * include/grub/zfs/zfs_acl.h: Likewise.
12798 * include/grub/zfs/zfs_znode.h: Likewise.
12799 * include/grub/zfs/zil.h: Likewise.
12800 * include/grub/zfs/zio.h: Likewise.
12801 * include/grub/zfs/zio_checksum.h: Likewise.
12802
12803 * Makefile.util.def: Build ZFS into libgrubmods.
12804 * grub-core/Makefile.core.def: Build zfs.mod.
12805
3f0f3831
SJ
128062010-11-30 Szymon Janc <szymon@janc.net.pl>
12807
12808 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
12809 variable.
12810 * grub-core/commands/wildcard.c (match_files): Likewise.
12811
3a4253b2
RM
128122010-11-30 Robert Millan <rmh@gnu.org>
12813
12814 * grub-core/loader/i386/bsd.c
12815 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
12816 whether kernel is loaded using grub_loader_is_loaded(), rather
12817 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
12818 certain error conditions.
12819
8c317b27
RM
128202010-11-30 Robert Millan <rmh@gnu.org>
12821
c5c9cd3e
RM
12822 * grub-core/commands/echo.c: Include `<grub/term.h>'.
12823 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 12824
49d3ab46
VS
128252010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 Avoid using tricks for initialising endian variables.
12828
12829 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
12830 Make const.
12831 (GRUB_MOD_INIT): Don't byte-swap.
12832 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12833 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
12834 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
12835 (grub_swap_bytes32_compile_time): Likewise.
12836 (grub_cpu_to_le32_compile_time): Likewise.
12837 (grub_cpu_to_le16_compile_time): Likewise.
12838
f420a804
VS
128392010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 * util/grub-setup.c (setup): Stop recommending --force. People who
12842 understand the dangers of blocklists are able to find this option
12843 anyway and the ones who don't shouldn't use it anyway.
12844
4e7db17b
RM
128452010-11-26 Robert Millan <rmh@gnu.org>
12846
12847 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
12848 Update all users.
12849
9be57a0d
CW
128502010-11-26 Colin Watson <cjwatson@ubuntu.com>
12851
12852 Fix LVM-on-RAID probing.
12853
12854 * util/grub-probe.c (probe): Remember which disk was detected as
12855 RAID (perhaps an LVM physical volume). Use that disk's raidname
12856 rather than that of the top-level disk.
12857
2c7859b3 128582010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 12859
d7647bb6
BC
12860 Fix cmdline argument quotes for setparams command of menuentry
12861 definitions.
7e623b0d
BC
12862
12863 * grub-core/commands/menuentry.c (setparams_prefix): Use single
12864 quotes for arguments.
f866fe80 12865 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 12866 grub_strchrsub function instead.
f866fe80 12867
7955bea0 12868 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 12869
74f72a64
CW
128702010-11-24 Colin Watson <cjwatson@ubuntu.com>
12871
12872 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
12873 effort by skipping "." and ".." entries up-front.
12874 Suggested by: Michael Lazarev.
12875
5a407278
CW
128762010-11-24 Colin Watson <cjwatson@ubuntu.com>
12877
12878 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
12879 ldflags to ldadd, to fix link line ordering.
12880 (none_decompress): Likewise.
12881
3030d8ec
CW
128822010-11-24 Colin Watson <cjwatson@ubuntu.com>
12883
12884 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
12885 platforms.
12886 (grub-emu-lite): Remove kern/emu/cache.S.
12887
b7fbac12
CW
128882010-11-23 Colin Watson <cjwatson@ubuntu.com>
12889
12890 * util/deviceiter.c (compare_devices): If the by-id link for a
12891 device couldn't be resolved, fall back to sorting by the by-id link
12892 rather than segfaulting.
12893 Reported and tested by: Daniel Mierswa.
12894
5225f328
CW
128952010-11-23 Colin Watson <cjwatson@ubuntu.com>
12896
12897 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
12898 ldflags, to fix link line ordering.
12899
038b3ce8
CW
129002010-11-23 Colin Watson <cjwatson@ubuntu.com>
12901
12902 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
12903 linkers are picky about this.
12904
bf16e98e
CW
129052010-11-23 Colin Watson <cjwatson@ubuntu.com>
12906
12907 * grub-core/Makefile.am (command.lst): Adjust sed expression
12908 ordering so that extended and priority commands aren't treated as
12909 ordinary commands.
12910
7242bab6
CW
129112010-11-23 Colin Watson <cjwatson@ubuntu.com>
12912
12913 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
12914 Remove byte-swapping function calls, which are not valid in
12915 structure initialisers.
12916 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
12917 non-const.
12918 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
12919 grub_gpt_partition_type_bios_boot.
12920
14e8b279
CW
129212010-11-22 Colin Watson <cjwatson@ubuntu.com>
12922
12923 Fix test program build on GNU/kFreeBSD.
12924
12925 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
12926 $(LIBNVPAIR)' library dependencies.
12927
e6f63338 129282010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
12929
12930 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
12931
cf8ffc38
CW
129322010-11-22 Colin Watson <cjwatson@ubuntu.com>
12933
12934 * util/grub-install.in: Remove excessive quoting that broke
12935 installations to RAID devices.
12936
7f8b0fd7
VS
129372010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
12940 bootloader version instead of 0.
12941
dfd240b1
VS
129422010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
12945 warning.
12946
7b61e609
VS
129472010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
12948
12949 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
12950 retrieve the metadat sector if size isn't known.
12951 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12952
9dfe92d0
RM
129532010-11-18 Robert Millan <rmh@gnu.org>
12954
12955 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
12956 with grub_memcmp().
12957
41cc919e
VS
129582010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
12959
12960 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
12961 arrow.
12962 Reported by: Jordan Uggla.
12963
1afcc914
VS
129642010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 Make better UTF compliant.
12967
12968 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
12969 sequences as incorrect.
12970 (grub_is_valid_utf8): Likewise.
12971 (grub_utf8_to_ucs4): Likewise.
12972 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
12973 (grub_ucs4_to_utf8_alloc): Likewise.
12974 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
12975
f1808884
VS
129762010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12977
12978 Make legacy_source behave like source.
12979
12980 * grub-core/commands/legacycfg.c (legacy_file): Don't call
12981 grub_show_menu.
12982 (grub_cmd_legacy_source): Call grub_show_menu if needed.
12983
24ec575b
CW
129842010-11-16 Colin Watson <cjwatson@debian.org>
12985
12986 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
12987 (-Wunused implies -Wunused-parameter, but not vice versa).
12988
72b7c7aa
CW
129892010-11-16 Colin Watson <cjwatson@ubuntu.com>
12990
12991 * configure.ac: Make error messages less confusing by testing for
12992 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
12993 accepted, but produces a diagnostic if something else is wrong).
12994
e98937aa
VS
129952010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
12998 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
12999 (now unused).
13000 (grub_keyboard_controller_init)
13001 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13002 read the initial state since controller isn't inited yet.
13003
f6bbabc3
VS
130042010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13005
13006 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13007 allocate_regbeg may need to create new chunk header.
13008
22e7dbb2
VS
130092010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 Fix quoting in legacy parser.
13012
13013 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13014 single quotes.
13015 (grub_legacy_parse): Likewise.
13016 Reported by: Jordan Uggla.
13017 Tested by: Jordan Uggla.
13018
03f80960
VS
130192010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 Don't add -lgcc on i386 and x86_64.
13022
13023 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13024 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13025 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13026
779dc15b
VS
130272010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13028
13029 * configure.ac: Add -Wno-trampolines when supported.
13030
d20a3b37
MV
130312010-11-14 Modestas Vainius <modax@debian.org>
13032
13033 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13034 fakeraid.
13035
e5360933
GC
130362010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13037
13038 Add generic logical block size support for UDF.
13039
13040 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13041 (GRUB_UDF_BLKSZ): Removed.
13042 (struct grub_udf_data): New field "lbshift" to hold the logical block
13043 size of the file system in log2 format. All users updated.
13044 (sblocklist): Change type to unsigned.
13045 (grub_udf_mount): Change type of "sblklist" to unsigned.
13046 Move AVDP search before VRS recognition, because the latter requires
13047 knowledge of the logical block size, which is detected during the
13048 former.
13049 Detect and validate logical block size during AVDP search, adding
13050 support for block sizes 512, 1024 and 4096.
13051 Make VRS recognition independent of block size.
13052
cb0229c5
GC
130532010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13054
13055 Properly handle deleted files on UDF.
13056
13057 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13058 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13059 set.
13060
406858a8
GC
130612010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13062
13063 Support reading files larger than 2 GiB.
13064
13065 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13066 "offset" to grub_off_t.
13067 (grub_udf_read_file): Likewise for parameter "pos".
13068
130da6a7
VS
130692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13070
13071 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13072 unavailable.
13073 (Simple configuration): Refer to Changes from GRUB Legacy about
13074 save_env availability.
13075
65e93f6b
VS
130762010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13077
13078 * util/grub-install.in: Ignore empty partition table detection
13079 instead of trying to include part_ module.
13080
1fd08bf1
VS
130812010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13082
13083 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13084 LVM on RAID support.
13085
de1a024f
VS
130862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13087
13088 Properly define WORDS_BIGENDIAN in wrapped environments.
13089
13090 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13091 definition.
13092 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13093
13094 Reported by: Manoel Rebelo Abranches.
13095 Tested by: Manoel Rebelo Abranches.
13096
bc5dd0b9
VS
130972010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13098
13099 * util/grub-mkconfig.in: Fix quoting.
13100
58c184be
VS
131012010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 Support big ext2 files.
13104
13105 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13106 (grub_ext2_read_block): Support triple indirect blocks.
13107 (grub_ext2_read_file): Use 64-bit types and read size_high.
13108 (grub_ext2_open): Read size_high.
13109 Reported by: Ximin Luo.
13110 Tested by: Manoel Rebelo Abranches.
13111
5f0c02b3
VS
131122010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13113
13114 * util/grub-install.in: Handle filenames containing spaces.
13115 Reported by: Jordan Uggla.
13116 Tested by: Jordan Uggla.
13117
4417aae6
VS
131182010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 * util/grub-mkconfig.in (grub_script_check): New variable.
13121 Use grub_script_check instead of grub-script-check.
13122 Reported by: Barry Jackson.
13123
7625a68e
VS
131242010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * docs/grub.texi (menu): Correct the order.
13127 Reported by: D. Hugh Redelmeier.
13128
10001ac5
VS
131292010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13130
13131 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13132 jump.
13133
9c4cf53b
MRA
131342010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13135
10001ac5
VS
13136 * include/grub/elfload.h (grub_elf32_size): New parameter.
13137 All users updated.
9c4cf53b
MRA
13138 Return maximum segments alignment.
13139 (grub_elf64_size): Likewise.
13140 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13141 Return maximum segments alignment.
13142 (grub_elf64_size): Likewise.
13143 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
13144 (grub_linux_claimmap_iterate): New function. Uses the
13145 "available" property in the "memory" node for memory allocation
13146 for kernel in the PowerPC loader.
9c4cf53b
MRA
13147 (grub_linux_load32): Correctly find linux entry point offset.
13148 (grub_linux_load64): Likewise.
13149
d2bf06bf
RM
131502010-11-07 Robert Millan <rmh@gnu.org>
13151
13152 On mips-yeeloong, build with -march=loongson2f when this flag is
13153 available (GCC >= 4.4).
13154 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13155 `-march=mips3'.
13156 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13157 or otherwise add -march=mips3.
13158
898c99a2
BC
131592010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13160
87220a68
BC
13161 Suppress shell expansion on echo '*' and echo "*" like cases.
13162 Reported by: Jordan Uggla.
898c99a2
BC
13163
13164 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13165 string arguments before shell expansion.
13166 * tests/grub_cmd_echo.in: New testcases.
13167
4f9b406a
RM
131682010-11-07 Robert Millan <rmh@gnu.org>
13169
13170 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13171 transition.
13172
80c6d25e
VS
131732010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13174
13175 * grub-core/kern/emu/hostdisk.c
13176 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13177
4a1a0153
VS
131782010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13179
13180 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13181 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13182 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13183
34706ddc
VS
131842010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13185
13186 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13187
6972dea9
VS
131882010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * util/grub-install.in: Replace useless recomendation to pass
13191 --modules with a recomendation to report a bug.
13192
9c693bd6
VS
131932010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13194
13195 Properly register serial terminfo.
13196 Reported by: Jordan Uggla
13197
13198 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13199 const.
13200 (grub_serial_terminfo_output_template): Likewise.
13201 (grub_cmd_serial): Register "serial" with terminfo.
13202 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13203 grub_serial_terminfo_output.
13204
6c9e4c0c
RM
132052010-11-05 Robert Millan <rmh@gnu.org>
13206
13207 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13208 needed).
13209
b9b3839f
RM
132102010-11-05 Robert Millan <rmh@gnu.org>
13211
13212 On Yeeloong, pass machine type information to Linux.
13213
13214 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13215 (LOONGSON_MACHTYPE): New macro, set to
13216 "machtype=lemote-yeeloong-2f-8.9inches".
13217 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13218 additional argument to Linux.
13219
1a3aaff4
RM
132202010-11-04 Robert Millan <rmh@gnu.org>
13221
13222 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13223 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13224 (its SATA disks are detected as slaveless IDE master drives on
13225 kFreeBSD).
13226 Reported by Carsten Aulbert.
13227
a75f4f62
CW
132282010-11-02 Colin Watson <cjwatson@ubuntu.com>
13229
13230 * util/bin2h.c (main): Fix spelling error in generated output.
13231
33b4b0c6
GS
132322010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13233
13234 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13235
2b36fbf4
VS
132362010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13239 vga= option is supplied.
13240
74aaf558
VS
132412010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13242
13243 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
13244 * util/grub.d/10_kfreebsd.in: Likewise.
13245 * util/grub.d/10_linux.in: Likewise.
13246 * util/grub.d/20_linux_xen.in: Likewise.
13247
6428dec3
VS
132482010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
13251 argument as an argument to no-argument option.
13252
f8729d98
VS
132532010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13254
13255 * util/grub.d/10_linux.in: Add missing load_video with explicit
13256 GRUB_GFXPAYLOAD_LINUX.
13257
89d68fa6
VS
132582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13259
13260 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
13261
3a1197cd
VS
132622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13263
13264 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
13265 elements with invlid index.
13266 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13267 * grub-core/disk/raid.c (insert_array): Automatically reallocate
13268 members.
13269 * include/grub/raid.h (grub_raid_member): New struct.
13270 (grub_raid_array): Transform devices and start_sector into usage of
13271 grub_raid_member. All users updated
13272 (allocated_devs): New member.
13273
71574288
VS
132742010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
13277 is modified
13278
8d40ec65
BC
132792010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
13280
13281 NetBSD build fix for getline function conflict from gnulib.
13282
13283 * Makefile.util.def (libgrubkern.a): New library for grub kernel
13284 components that depend on gnulib headers.
13285 (libgrubmods.a): Renamed from earlier libgrub.a.
13286 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
13287
95b9257e
VS
132882010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13289
13290 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
13291 install rather than creating a broken install.
13292
26c53dc6
VS
132932010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 * util/grub-setup.c (argp): Remove misleading example of installing to
13296 a partition.
13297
4171b3c5
VS
132982010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 * util/grub-setup.c (setup): Clarify the error message.
13301
18568d18
VS
133022010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13303
13304 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
13305
4f6a2e21
VS
133062010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13307
13308 * grub-core/kern/emu/misc.c
13309 (grub_make_system_path_relative_to_its_root)
13310 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
13311
133122010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
13313
13314 * grub-core/kern/emu/misc.c
13315 (grub_make_system_path_relative_to_its_root): Revert r2882.
13316
e138c458
VS
133172010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
13318
13319 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
13320 useless field head. All users updated.
13321 (free_subchunk): Correct handling of IN_REGION subchunk.
13322
0cbcdf0e
CW
133232010-10-22 Colin Watson <cjwatson@ubuntu.com>
13324
13325 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
13326 (Supported kernels): Likewise.
13327
b65ea155
GS
133282010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13329
13330 Make mktemp invocations portable.
13331
13332 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
13333 exit if mktemp fails.
13334 * tests/grub_script_blockarg.in: Likewise.
13335 * tests/partmap_test.in: Likewise.
13336 * tests/util/grub-shell-tester.in: Likewise.
13337 * tests/util/grub-shell.in: Likewise.
13338 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13339 * Makefile.am: Likewise, and chain shell commands with `&&'
13340 instead of ';'.
13341 * util/grub-mkrescue.in: Use the same explicit template as above, and
13342 exit if mktemp fails.
13343
05f43cdd
BC
133442010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
13345
13346 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
13347 Linux kernel, reported by Dennis Schridde.
13348
800e6a9b
SJ
133492010-10-17 Szymon Janc <szymon@janc.net.pl>
13350
13351 * grub-core/normal/auth.c (grub_auth_check_authentication):
13352 Set-but-not-used variable removed.
13353
d82df574
VS
133542010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13355
13356 * docs/grub.texi (GNU/Linux): Document APM unavailability with
13357 32-bit linux protocol.
13358
7bced458
VS
133592010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13360
13361 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
13362 cursor shape for sanity.
13363
5b027690
VS
133642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13365
13366 * docs/grub.texi (Installation): Document buggy BIOS install.
13367
ba5f65cf
VS
133682010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 * docs/grub.texi (Installation): Indent.
13371
fdf2ec9c
VS
133722010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 * util/grub-setup.c (setup): New parameter allow_floppy.
13375 (arguments): New member allow_floppy.
13376 (argp_parser): Handle --allow-floppy.
13377 (main): Pass allow_floppy.
13378 * util/grub-install.in: New option --allow-floppy passed though to
13379 grub-setup.
13380
861dfd4c
VS
133812010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13382
13383 * util/grub-install.in: Handle partitionless disks.
13384
f77a8c24
VS
133852010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13386
13387 * util/grub-setup.c (setup): Don't clean blocklists before readability
13388 verfification.
13389
27d9ee32
VS
133902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 * docs/grub.texi (Installation): Document embedding zone. Remove
13393 obsolete grub-install example.
13394
6bdda8f8
SJ
133952010-10-16 Szymon Janc <szymon@janc.net.pl>
13396
13397 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
13398 Set-but-not-used variable ifdef'ed.
13399 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
13400 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
13401 variable removed.
13402 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
13403 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
13404 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13405 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
13406 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
13407 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13408 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
13409 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
13410 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
13411 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
13412 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
13413 Likewise.
13414
e19b016b
VS
134152010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
13418 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
13419 enum value.
13420
6c8d3002
VS
134212010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13422
13423 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
13424 synonym to _S5_. Needed for some DSDTs.
13425
c32b51c9
VS
134262010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13427
13428 Userspace ACPI parser debugging.
13429
13430 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
13431 headers and add relevant defines. Don't include standard headers.
13432 (main) [GRUB_DSDT_TEST]: New function.
13433 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
13434 Don't declare functions.
13435
fbfbeb39
VS
134362010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13437
13438 Remove dead grub_efi_mm_fini.
13439
13440 * grub-core/kern/efi/mm.c (allocated_page): Removed.
13441 (ALLOCATED_PAGES_SIZE): Likewise.
13442 (MAX_ALLOCATED_PAGES): Likewise.
13443 (allocated_pages): Likewise.
13444 (grub_efi_allocate_pages): Don't record allocated pages.
13445 (grub_efi_free_pages): Likewise.
13446 (grub_efi_mm_init): Likewise.
13447 (grub_efi_mm_fini): Removed.
13448
65f7ed7c
VS
134492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
13452 (grub_efi_mm_init): Take into account the memory map size increase.
13453
24977b44
VS
134542010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13455
13456 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
13457 (serial_hw_put): Wait based on real time rather than port reads. Don't
13458 roken ports.
13459 * include/grub/serial.h (grub_serial_port): New field broken.
13460
1eb01cd2
RM
134612010-10-16 Robert Millan <rmh@gnu.org>
13462
13463 * grub-core/kern/emu/misc.c
13464 (grub_make_system_path_relative_to_its_root): Fix premature return
13465 when processing non-root ZFS filesystems.
5f8b440b 13466 Reported by Sergio Talens-Oliag.
1eb01cd2 13467
2d5fed60
RM
134682010-10-15 Robert Millan <rmh@gnu.org>
13469
13470 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
13471 guarantee compressed ones are processed first.
13472
d0f4c1ea
VS
134732010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
13476 grub_efiemu_autocore.
13477
d87c681f
VS
134782010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
13481 rather than 0x1b.
13482 (grub_console_getkey): Use correct jae opcode rather than ja.
13483
219b3564
RM
134842010-10-12 Robert Millan <rmh@gnu.org>
13485
13486 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
13487 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
13488 variable. All references updated.
13489
13490 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
13491
20c6bb7e
VS
134922010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
13493
13494 Correctly distinguish mdraid flavours.
13495
13496 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
13497 (insert_array): New argument raid.
13498 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
13499 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
13500 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
13501
74baff84
VS
135022010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
13505 handling of special keys.
13506
3ef068df 135072010-10-02 Aleš Nesrsta <starous@volny.cz>
13508
c7980ad9
VS
13509 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
13510 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 13511
a9455194 135122010-10-02 Aleš Nesrsta <starous@volny.cz>
13513
c7980ad9
VS
13514 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
13515 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
13516 users updated.
a9455194 13517 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 13518 Use right endpoint when querying descriptor.
a9455194 13519
441cfe65
VS
135202010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13521
13522 Clear out 0x80 color bit on EFI.
13523 Tested by: decoder
13524 Reported by: decoder and meta tech.
13525
13526 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
13527 (grub_console_setcolorstate): Clear out 0x80 bit.
13528 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
13529 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
13530 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
13531
bf26bcc4
VS
135322010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
13533
13534 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
13535 Set to "auto".
13536
6e3c515d
VS
135372010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13538
13539 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
13540 mo_file after freeing.
13541
e6d983ba
VS
135422010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
13545
74ccb5b5
VS
135462010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13547
13548 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
13549 flags.
13550
17821956
VS
135512010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
13554 usage.
13555
ee74fa48
VS
135562010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
13557
13558 Put terminfo into core on ieee1275 and yeeloong (needed for console).
13559
13560 * gentpl.py: New groups terminfoinkernel and terminfomodule.
13561 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
13562 and terminfo.h when needed.
13563 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
13564 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
13565 (terminfo): Enable only on terminfokernel.
13566 (extcmd): Likewise.
13567 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
13568 * include/grub/lib/arg.h: Likewise.
13569 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
13570 incorrect usage of ->.
13571
aa438e68
VS
135722010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13573
13574 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
13575 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
13576
57994012
VS
135772010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 Fix coreboot compilation.
13580
13581 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
13582 Take VBE info into account even if only text is supported.
13583 (fill_vbe_info): Take into account the case when only VGA text
13584 is supported.
13585 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
13586 on coreboot, multiboot and qemu.
13587
2a406611
VS
135882010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13589
13590 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
13591 debug messages.
13592 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
13593
d33613fc
VS
135942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
13597 parameters.
13598
44a1b432
VS
135992010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13600
13601 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
13602 if they were BSD-style.
13603
edde54e6
VS
136042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 * grub-core/boot/i386/pc/lnxboot.S: Replace
13607 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
13608 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
13609
b65830fa
VS
136102010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 Write embedding zone using Reed-Solomon.
13613
13614 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
13615 * grub-core/Makefile.am (rs_decoder.S): New target.
13616 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
13617 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
13618 (multiboot): Move to RS part.
13619 (post_reed_solomon): New label.
13620 (grub_boot_drive): Move to non-RS part since it's modified in memory
13621 on boot.
13622 Include rs_decoder.S.
13623 * grub-core/lib/reed_solomon.c: New file.
13624 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
13625 New definition.
13626 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
13627 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
13628 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
13629 * include/grub/partition.h (grub_partition_map): Change prototype of
13630 embed to allow returning additional sectors.
13631 * include/grub/reed_solomon.h: New file.
13632 * util/grub-setup.c (setup): Handle Reed-Solomon.
13633
0b4b227f
CW
136342010-09-28 Colin Watson <cjwatson@ubuntu.com>
13635
13636 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13637 i386 and x86-64 definedness tests.
13638
f772623b
YB
136392010-09-27 Yves Blusseau <blusseau@zetam.org>
13640
13641 Fix generation of kernel_syms.lst
13642
13643 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
13644 ASM_PREFIX
13645
8e57a6ca
RM
136462010-09-26 Robert Millan <rmh@gnu.org>
13647
13648 Support degraded ZFS arrays in "grub-probe -t device" resolution.
13649
13650 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
13651 the pool is an array of devices, iterate through it and return the
13652 first device that passes a stat() test (instead of blindly returning
13653 the first one).
13654
f9130836
RM
136552010-09-26 Robert Millan <rmh@gnu.org>
13656
13657 Build fixes for GNU/kFreeBSD.
13658
13659 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
13660 to programs that require ZFS conversion.
13661 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
13662 kernels that don't have FLOPPY_MAJOR.
13663
96510faf
BC
136642010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13665
13666 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
13667
449333eb
BC
136682010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
13669
13670 Fix grub-emu build.
13671
13672 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
13673 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
13674 mdraid09 and mdraid1x.
13675
e1fd1939
CW
136762010-09-24 Colin Watson <cjwatson@ubuntu.com>
13677
13678 Re-enable grub-extras.
13679
13680 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
13681 avoid confusing Automake. Run autogen only twice, once for the top
13682 level and once for grub-core. Add Makefile.util.def and
13683 Makefile.core.def from extra modules to the appropriate autogen
13684 invocations. If Makefile.common exists in an extra module, include
13685 it in both Makefile.util.am and grub-core/Makefile.core.am;
13686 similarly, include any Makefile.util.common file in Makefile.util.am
13687 and any Makefile.core.common file in grub-core/Makefile.core.am.
13688 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
13689 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
13690 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
13691 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
13692
13693 * gentpl.py (gvar_add): Turn GVARS into a set.
13694 (global_variable_initializers): Sort global variables on output.
13695 (vars_init): New function.
13696 (first_time): Likewise.
13697 (library): Ensure that non-global variable initialisations are
13698 emitted before the first time we emit code for a library block.
13699 Append to variables rather than setting them. Only emit
13700 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
13701 each conditional path.
13702 (program): installdir() emits an Autogen macro, so must be passed to
13703 var_add rather than gvar_add.
13704 (data): Likewise.
13705 (script): Likewise.
13706 (rules): New function, centralising handling for different target
13707 types. Set up Guile association lists for first_time and vars_init,
13708 and send most output to a diversion so that variable initialisations
13709 can be emitted first.
13710 (module_rules): Use new rules function.
13711 (kernel_rules): Likewise.
13712 (image_rules): Likewise.
13713 (library_rules): Likewise.
13714 (program_rules): Likewise.
13715 (script_rules): Likewise.
13716 (data_rules): Likewise.
13717
13718 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
13719
13720 * .bzrignore: Add contrib and grub-core/contrib. Remove
13721 grub-core/Makefile.gcry.am.
13722
1d12cf29
YB
137232010-09-24 Yves Blusseau <blusseau@zetam.org>
13724
13725 * grub-core/lib/LzFind.c: Add missing include.
13726 * grub-core/lib/LzmaEnc.c: Likewise.
13727 * grub-core/script/lexer.c: Likewise.
13728 * grub-core/script/yylex.l: Likewise.
13729 * util/grub-macho2img.c: Likewise.
13730 * util/grub-menulst2cfg.c: Likewise.
13731 * util/grub-mklayout.c: Likewise.
13732 * util/grub-mkpasswd-pbkdf2.c
13733 * util/grub-mkrelpath.c: Likewise.
13734 * util/resolve.c: Likewise.
13735
dd363028
BC
137362010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
13737
13738 * Makefile.util.def (example_unit_test): Add
13739 grub-core/gnulib/libgnu.a.
13740
f5a109e2
GS
137412010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
13742
13743 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
13744
6d0fa83c
VS
137452010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
13746
13747 Support xz compression on yeeloong.
13748
13749 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
13750 * configure.ac: Check for LZMA.
13751 * grub-core/Makefile.core.def (xz_decompress): New target.
13752 (none_decompress): Likewise.
13753 * grub-core/boot/decompressor/minilib.c: New file.
13754 * grub-core/boot/decompressor/none.c: Likewise.
13755 * grub-core/boot/decompressor/xz.c: Likewise.
13756 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
13757 * grub-core/kern/mips/cache_flush.S: Likewise.
13758 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
13759 * grub-core/kern/mips/startup.S: Move first stage to ...
13760 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
13761 nomacro.
13762 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
13763 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
13764 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
13765 Allocate statically.
13766 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
13767 Allocate statically or use scratch. Don't check CRC32.
13768 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
13769 Allocate statically. Don't check CRC32.
13770 * include/grub/decompressor.h: New file.
13771 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
13772 Removed.
13773 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
13774 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
13775 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
13776 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
13777 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
13778 * util/grub-mkimage.c (grub_compression_t): New type.
13779 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
13780 (image_target_desc): New field default_compression.
13781 (image_targets): Adjust yeeloong targets.
13782 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
13783 (compress_kernel): New parameter comp.
13784 (generate_image): Likewise. Handle new compression case.
13785 (options): New option --compression
13786 (help): Likewise.
13787 (main): Handle new option.
13788
1b655af6
GS
137892010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
13790
13791 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
13792
8f03f0b5
CW
137932010-09-22 Colin Watson <cjwatson@ubuntu.com>
13794
13795 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
13796 typo in __i386__ conditional.
13797
7835dfd3
VS
137982010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13799
13800 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
13801 include.
13802
e255597e
VS
138032010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
13804
6d0fa83c 13805 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
13806
13807 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
13808 new tags as supported.
13809 (acpiv2_size): New function.
13810 (grub_multiboot_get_mbi_size): Take new tags into account.
13811 (grub_multiboot_make_mbi): Add new tags.
13812 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 13813
6cc14051 138142010-09-21 Aleš Nesrsta <starous@volny.cz>
13815
13816 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
13817 Added missing configuration of USB device.
13818
df7769d8
CW
138192010-09-21 Colin Watson <cjwatson@ubuntu.com>
13820
13821 * grub-core/normal/menu_entry.c (run): Make sure we always return
13822 a value.
13823
b031012d
CW
138242010-09-21 Colin Watson <cjwatson@ubuntu.com>
13825
13826 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
13827 NumberOfPages is UINT64 according to the UEFI specification, not
13828 UINTN. Fix printf format.
13829
174de8f3
CW
138302010-09-21 Colin Watson <cjwatson@ubuntu.com>
13831
13832 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
13833 `err' to grub_usb_err_t.
13834 Reported and tested by: KESHAV P.R.
13835
d7dbe923
CW
138362010-09-21 Colin Watson <cjwatson@ubuntu.com>
13837
13838 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
13839 tpart non-const, so that we can assign to it. (Since this is a
13840 typedef, the constness refers to the pointer rather than what it
13841 points to.)
13842
8d5e2af3
CW
138432010-09-21 Colin Watson <cjwatson@ubuntu.com>
13844
13845 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
13846 $(top_srcdir)/grub-core/gnulib as well as
13847 $(top_builddir)/grub-core/gnulib.
13848 Reported by: KESHAV P.R.
13849
5c527783
CW
138502010-09-21 Colin Watson <cjwatson@ubuntu.com>
13851
13852 * util/grub-install.in: Fix the bootloader ID option to be
13853 consistently --bootloader-id, not --bootloader_id.
13854 Reported by: KESHAV P.R.
13855
d309a16e
CW
138562010-09-21 Colin Watson <cjwatson@ubuntu.com>
13857
13858 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
13859 check hash checksum." consistently translatable.
13860
b830cd16
YB
138612010-09-21 Yves Blusseau <blusseau@zetam.org>
13862
13863 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
13864 $(top_builddir).
13865
c4fe27a8
CW
138662010-09-21 Colin Watson <cjwatson@ubuntu.com>
13867
13868 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
13869 (GRUB_MOD_INIT): Register sha1sum command.
13870 (GRUB_MOD_FINI): Unregister sha1sum command.
13871
a4c1d277
YB
138722010-09-21 Yves Blusseau <blusseau@zetam.org>
13873
13874 Keep boot and grub directory names in sync with utils scripts
13875
13876 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
13877 * config.h.in: Add previous macros.
13878 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
13879 * util/grub-install.in: Use $bootdir and $grubdir variables.
13880
4eff79d2
CW
138812010-09-21 Colin Watson <cjwatson@ubuntu.com>
13882
13883 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
13884 convert partition names to disk names if the new `convert' parameter
13885 is set.
13886 (grub_util_biosdisk_get_grub_dev): If opening the disk device
13887 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
13888 disk in its own right. This can happen with Xen disk images.
13889
934d7e44
YB
138902010-09-21 Yves Blusseau <blusseau@zetam.org>
13891
13892 * util/grub-editenv.c: Update strings to avoid warnings when generating
13893 grub.pot file.
13894 * util/grub-setup.c: Likewise.
934d7e44 13895
df3367cc
VS
138962010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13897
13898 * configure.ac: Change version to 1.99~beta0.
13899
77a94e98
VS
139002010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13903 Add BADRAM.
13904 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
13905 Likewise.
13906 * include/multiboot.h: Resynced with specification.
13907 * include/multiboot2.h: Likewise.
13908
269004c1
CW
139092010-09-21 Colin Watson <cjwatson@ubuntu.com>
13910
13911 Fix po directory handling.
13912
13913 * configure.ac: Create po/Makefile.in rather than po/Makefile.
13914 * grub-core/gnulib/Makefile.am: Import gettext module.
13915 * m4/gnulib-cache.m4: Likewise.
13916 * m4/gnulib-comp.m4: Likewise.
13917 * m4/gettext.m4: New file, from gnulib.
13918 * m4/glibc2.m4: Likewise.
13919 * m4/iconv.m4: Likewise.
13920 * m4/intdiv0.m4: Likewise.
13921 * m4/intl.m4: Likewise.
13922 * m4/intldir.m4: Likewise.
13923 * m4/intlmacosx.m4: Likewise.
13924 * m4/intmax.m4: Likewise.
13925 * m4/inttypes-pri.m4: Likewise.
13926 * m4/lcmessage.m4: Likewise.
13927 * m4/lib-ld.m4: Likewise.
13928 * m4/lib-link.m4: Likewise.
13929 * m4/lib-prefix.m4: Likewise.
13930 * m4/lock.m4: Likewise.
13931 * m4/nls.m4: Likewise.
13932 * m4/po.m4: Likewise.
13933 * m4/printf-posix.m4: Likewise.
13934 * m4/progtest.m4: Likewise.
13935 * m4/threadlib.m4: Likewise.
13936 * m4/uintmax_t.m4: Likewise.
13937 * m4/visibility.m4: Likewise.
13938 * po/Makefile.am: Remove.
13939 * po/Makefile.in.in: New file, from gettext.
13940 ($(DOMAIN).pot-update): Support POTFILES-shell.
13941 * po/Makevars: New file.
13942 * po/POTFILES-shell: Rename to ...
13943 * po/POTFILES-shell.in: ... this. Update.
13944 * po/POTFILES: Rename to ...
13945 * po/POTFILES.in: ... this. Update.
13946 * po/Rules-quot: New file, from gettext.
13947 * po/boldquot.sed: Likewise.
13948 * po/en@boldquot.header: Likewise.
13949 * po/en@quot.header: Likewise.
13950 * po/insert-header.sin: Likewise.
13951 * po/quot.sed: Likewise.
13952 * po/remove-potcdate.sin: Likewise.
13953
3e0fa5d0
VS
139542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
13957
ade9bd66
VS
139582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * util/grub.d/20_linux_xen.in: Use submenus.
13961
fc55cc4c
VS
139622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 Support submenus.
13965
13966 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
13967 parameter submenu. All users updated.
13968 * grub-core/normal/main.c (free_menu): Rename to ...
13969 (grub_normal_free_menu): ... this. Made global.
13970 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
13971 if requested.
13972 * grub-core/normal/menu_entry.c (screen): New field submenu.
13973 (make_screen): Set submenu.
13974 (run): Open new context if requested.
13975 * include/grub/menu.h (grub_menu_entry): New field submenu.
13976 * include/grub/normal.h (grub_normal_free_menu): New proto.
13977
600cedf7
VS
139782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 Menu entries extractor.
13981
13982 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
13983 variants.
13984 (GRUB_MOD_INIT): Register new variants.
13985 (GRUB_MOD_FINI): Unregister new variants.
13986 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
13987 into grub_cmd_legacy_source.
13988 (grub_cmd_legacy_source): Implement extractor variants.
13989 (GRUB_MOD_INIT): Register new variants.
13990 (GRUB_MOD_FINI): Unregister new variants.
13991 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
13992 as an extractor.
13993 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
13994 search as an extractor.
13995 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
13996 test as an extractor.
13997 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
13998 as an extractor.
13999 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14000 (grub_env_new_context): New function.
14001 (grub_env_context_open): Likewise.
14002 (grub_env_extractor_open): Likewise.
14003 (grub_env_extractor_close): Likewise.
14004 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14005 grub_extractor_level.
14006 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14007 * include/grub/env.h (grub_env_extractor_open): New proto.
14008 (grub_env_extractor_close): Likewise.
14009 * include/grub/normal.h (grub_extractor_level): New external variable.
14010
7bda3a87
VS
140112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 Make cutmem accept a region specification.
14014 Suggested by: Samuel Thibault
14015
14016 * grub-core/mmap/mmap.c (parsemem): New function.
14017 (grub_cmd_cutmem): Handle new arguments.
14018
2ea57f88
VS
140192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14020
14021 New command cutmem.
14022
14023 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14024 (GRUB_MOD_INIT): Register new command.
14025 (GRUB_MOD_FINI): Unregister new command.
14026
74342e31
VS
140272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 Support some annoying BSD and Minix subpartitions.
14030
14031 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14032 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14033 Properly handle concatenation.
14034 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14035 * grub-core/normal/completion.c (iterate_partition): Likewise.
14036 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14037 contain partition. All users updated.
14038 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14039 struct.
14040 (grub_openbsdlabel_partition_map): Likewise.
14041 (bsdlabel_partition_map_iterate): Rename to ..
14042 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14043 (bsdlabel_partition_map_iterate): New function.
14044 (netopenbsdlabel_partition_map_iterate): Likewise.
14045 (netbsdlabel_partition_map_iterate): Likewise.
14046 (openbsdlabel_partition_map_iterate): Likewise.
14047 (GRUB_MOD_INIT): Register new partmaps.
14048 (GRUB_MOD_FINI): Unregister new partmaps.
14049 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14050 (grub_partition_msdos_iterate): ... this. All users updated.
14051 Don't support embedding other than in a minix partition.
14052 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14053 proto.
14054 * include/grub/partition.h (grub_partition): New field msdostype.
14055 * util/grub-install.in: Handle openbsd and netbsd types being in
14056 part_bsd module.
14057
1e8d555b
VS
140582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14059
14060 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14061
14062 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14063 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14064 (mdraid09): ... this.
14065 (mdraid1x): New module.
14066 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14067 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14068
899d8af4
VS
140692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14070
14071 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14072 vsprintf.
14073
40901acd
CW
140742010-09-20 Colin Watson <cjwatson@ubuntu.com>
14075
14076 * grub-core/commands/efi/lsefimmap.c: Correct header.
14077 * NEWS: Update.
14078
dfe3b247
CW
140792010-09-20 Colin Watson <cjwatson@ubuntu.com>
14080
14081 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14082 as printf format strings; the translations might contain '%' which
14083 could cause a crash.
14084 (main): Likewise.
14085 * util/grub-fstest.c (argp_parser): Likewise.
14086 * util/grub-setup.c (argp_parser): Likewise.
14087 (main): Likewise.
14088
3286a4b4
VS
140892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14090
14091 Use argp in grub-fstest.
14092
14093 * util/grub-fstest.c: Don't include getopt.h.
14094 Include argp.h.
14095 (root): New variable.
14096 (args_count): Likewise.
14097 (nparm): Likewise.
14098 (num_disks): Likewise.
14099 (images): Likewise.
14100 (cmd): Likewise.
14101 (debug_str): Likewise.
14102 (args): Likewise.
14103 (options): Transformed to argp.
14104 (usage): Removed.
14105 (main): Split argument parsing into ...
14106 (argp_parser): ... this. Changed to argp format.
14107 (argp): New variable.
14108 (main): Use argp_parse.
14109
3dccbe4b
TG
141102010-09-20 Tristan Gingold <gingold@free.fr>
141112010-09-20 Robert Millan <rmh.grub@aybabtu.com>
141122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14113
14114 * grub-core/commands/efi/lsefimmap.c: New file.
14115 * grub-core/Makefile.core.def (lsefimmap): New module.
14116 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14117
38c259a7
VS
141182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14119
14120 Pause the execution (10s max) if any errors are displayed so the user
14121 has a chance to see them.
14122
14123 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14124 (grub_print_error): Increment grub_err_printed_errors.
14125 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14126 execution if any errors were displayed.
14127 (show_menu): Remove old code for pause.
14128 * grub-core/normal/menu_entry.c (run): Likewise.
14129 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14130 users updated.
14131 (grub_normal_get_char_counter): Likewise.
14132 * include/grub/err.h (grub_err_printed_errors): New external variable.
14133 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14134
f218b09c
VS
141352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14136
14137 Support multiboot VBE info.
14138
14139 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14140 Take VBE info into account.
14141 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14142 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14143 Call fill_vbe_info when appropriate.
14144 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14145 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14146 as supported.
14147 (grub_multiboot_get_mbi_size): Take new tags into account.
14148 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14149 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14150 Call fill_vbe_tag when appropriate.
14151 (grub_multiboot_make_mbi): Properly align tags.
14152 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14153 function.
14154 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14155 proto.
14156 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14157
a9cc5438
VS
141582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14159
14160 Suport manual terminal geometry specification.
14161
14162 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14163 Save state in grub_ofconsole_terminfo_output.
14164 (grub_ofconsole_term): Use grub_terminfo_getwh.
14165 (grub_ofconsole_getwh): Removed.
14166 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14167 (grub_serial_term): Use grub_terminfo_getwh.
14168 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14169 (options): New struct.
14170 (OPTION_*): New enum.
14171 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14172 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14173 width and height.
14174 (grub_terminfo_getwh): New proto.
14175 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14176
1a8fed20
VS
141772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14178
14179 Handle legacy "terminal" command.
14180
14181 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14182 and FLAG_TERMINAL.
14183 (legacy_commands): Add terminal and title.
14184 (grub_legacy_parse): Handle terminal. Simplify title handling.
14185
41e9c57d
VS
141862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14189 parameters overflow.
14190
61c874c5
CW
141912010-09-20 Colin Watson <cjwatson@ubuntu.com>
14192
14193 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14194 widthspec.h.
14195
14196 * docs/grub.texi (Shell-like scripting): Document `!'.
14197 (Network): Simplify using new i386-pc-pxe format. Mention
14198 grub-mknetdir.
14199
14200 * NEWS: Update.
14201
943682b4
CW
142022010-09-20 Colin Watson <cjwatson@ubuntu.com>
14203
14204 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14205 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14206 when needed.
14207
6d3d698d
CW
142082010-09-20 Colin Watson <cjwatson@ubuntu.com>
14209
14210 * grub-core/commands/efi/lsefisystab.c: Correct header.
14211 * grub-core/commands/efi/lssal.c: Likewise.
14212 * grub-core/commands/testload.c: Likewise.
14213
c982589f
CW
142142010-09-20 Colin Watson <cjwatson@ubuntu.com>
14215
14216 * util/grub-mkrescue.in: Add explicit root argument to --set to
14217 prevent the UUID being interpreted as an argument to --set (matches
14218 previous change to prepare_grub_to_access_device).
14219
a63c31b6
CW
142202010-09-20 Colin Watson <cjwatson@ubuntu.com>
14221
14222 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14223 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14224 the verbosity of later #ifs.
14225 (find_partition_start): Define this function on FreeBSD too.
14226 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14227 function.
14228 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14229 on FreeBSD.
14230
6439b8ee
YB
142312010-09-20 Yves Blusseau <blusseau@zetam.org>
14232
14233 * util/grub-editenv.c: Use argp instead of getopt.
14234
c5930ec8
YB
142352010-09-20 Yves Blusseau <blusseau@zetam.org>
14236
14237 * util/grub-setup.c: Use argp instead of getopt.
14238
15c69261
YB
142392010-09-20 Yves Blusseau <blusseau@zetam.org>
14240
14241 Use gnulib-tool to create gnulib source files.
14242
14243 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
14244 grub-core/gnulib directories
14245 * .bzignore: Add **/.deps and autogenerated gnulib files
14246 * configure.ac: Assign auxiliary directory to build-aux, add invocation
14247 of gnulib macros, add grub-core/gnulib/Makefile
14248 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
14249 include m4 directory to aclocal.
14250 * Makefile.util.def: Remove direct compilation of gnulib source files
14251 and use the new grub-core/gnulib/libgnu.a.
14252 * build-aux/config.rpath: move config.rpath from top directory to
14253 build-aux
14254 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
14255 in gnulib headers
14256 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
14257 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
14258 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
14259 header.
14260 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
14261 string.
14262
e511c9f5
YB
142632010-09-20 Yves Blusseau <blusseau@zetam.org>
14264
14265 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
14266 grub-core/genmod.sh and grub-core/gensyminfo.sh
14267
c2dede05
BC
142682010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
14269
14270 Add a test for echo command options.
14271
14272 * tests/grub_cmd_echo.in: New test.
14273 * Makefile.util.def: Rules for new test.
14274
c55f5018
SJ
142752010-09-20 Szymon Janc <szymon@janc.net.pl>
14276
14277 Remove crc.mod and move crc command to hashsum.mod.
14278 Remove lib/crc.c - users updated to use gcrypt implementation.
14279
14280 * grub-core/commands/crc.c: Removed.
14281 * grub-core/Makefile.core.def (crc): Module removed.
14282 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
14283 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
14284 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
14285 * grub-core/lib/crc.c: Removed.
14286 * include/grub/lib/crc.h: Removed.
14287 * Makefile.util.def (crc): Remove lib/crc.c
14288 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
14289 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
14290 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
14291 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
14292 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
14293 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
14294
e0337366
VS
142952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
14298
742f9232
VS
142992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 Split config.h for util and core.
14302
14303 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
14304 (ADDR32): Likewise.
14305 (DATA32): Likewise.
14306 (BSS_START_SYMBOL): Likewise.
14307 (END_SYMBOL): Likewise.
14308 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
14309 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
14310 * config.h.in: New file.
14311 * configure.ac: Use config-util.h as config define file.
14312 Rename MACHINE into GRUB_MACHINE. All users updated.
14313 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
14314 updated.
14315 (NESTED_FUNC_ATTR): Likewise.
14316 Substitue new variables.
14317 (COND_HAVE_ASM_USCORE): New conditional.
14318 * grub-core/Makefile.am (ASM_PREFIX): New variable.
14319 (kernel_syms.lst): Use ASM_PREFIX.
14320 * grub-core/kern/emu/console.c: Include config-util.h.
14321 * grub-core/kern/emu/misc.c: Likewise.
14322 * grub-core/kern/emu/mm.c: Likewise.
14323 * include/grub/emu/misc.h: Likewise.
14324 * include/grub/libgcc.h: Likewise.
14325
39feb0e8
VS
143262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14327
14328 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
14329 constants usage.
14330 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
14331 Fix GRUB_TERM_KEY_* constants usage.
14332 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
14333
9af6dac3
VS
143342010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
14337 print pointer.
14338 * grub-core/bus/usb/uhci.c: Remove empty define.
14339 (grub_uhci_check_transfer): Add missing cast.
14340 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
14341 print pointer.
14342 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
14343 PRIuGRUB_SIZE.
14344 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
14345
d6d94820
VS
143462010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14347
14348 * grub-core/Makefile.core.def (legacycfg): Add
14349 lib/i386/pc/vesa_modes_table.c on emu.
14350
3572f2b6
BC
143512010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14352
14353 Reduce number of temporary files generated by build system.
14354
14355 * grub-core/gencmdlist.sh: Removed.
14356 * grub-core/genfslist.sh: Removed.
14357 * grub-core/genhandlerlist.sh: Removed.
14358 * grub-core/genmodsrc.sh: Removed.
14359 * grub-core/genpartmaplist.sh: Removed.
14360 * grub-core/genparttoollist.sh: Removed.
14361 * grub-core/gentermiinallist.sh: Removed.
14362 * grub-core/genvideolist.sh: Removed.
14363
14364 * grub-core/genmod.sh.in: New file.
14365 * grub-core/gensyminfo.sh.in: New file.
14366
14367 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
14368 * conf/Makefile.extra-dist: Update with new files.
14369 * gentpl.py: Remove rules related to unnecessary temporary files.
14370 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
14371 and und-* files.
14372 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
14373 genmod.sh scripts.
14374 * grub-core/bus/usb/uhci.c: Remove empty #define.
14375 * grub-core/genmoddep.awk: Updated with new syminfo format.
14376 * util/bash-completion.d/Makefile.am: Add config.log to
14377 CLEANFILES.
14378
c836b030
YB
143792010-09-19 Yves Blusseau <blusseau@zetam.org>
14380
14381 * Makefile.util.def: Add forgotten $(LIBINTL) library.
14382
2f4e8053
BC
143832010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14384
14385 * util/grub-mkconfig.in: Check the config script for syntax errors
14386 before saving.
14387
75831c34
CW
143882010-09-19 Colin Watson <cjwatson@ubuntu.com>
143892010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14390
14391 * Makefile.util.def (grub-install): Use util/grub-install.in on all
14392 platforms.
14393 * util/grub-install.in: Add EFI and IEEE1275 support.
14394 * util/i386/efi/grub-install.in: Removed.
14395 * util/ieee1275/grub-install.in: Likewise.
14396
eaf41b25
VS
143972010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14398
14399 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
14400 (grub_cmd_cmosclean): Likewise.
14401 (GRUB_MOD_INIT): Register command cmosclean.
14402 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
14403 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
14404
1a9130dd
CPE
144052010-09-18 Carles Pina i Estany <carles@pina.cat>
144062010-09-18 Aleš Nesrsta <starous@volny.cz>
144072010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 Add keyboard layouts support.
14410
14411 * Makefile.util.def (grub-mklayout): New file.
14412 (grub-kbdcomp): New script.
14413 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
14414 Add keyboard_layouts.h.
14415 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
14416 commands/boot.c on yeeloong.
14417 (keylayouts): New module.
14418 * grub-core/bus/usb/ohci.c
14419 * grub-core/bus/usb/uhci.c
14420 * grub-core/bus/usb/usbhub.c (rescan): New variable.
14421 (grub_usb_add_hub): Poll interrupt pipe for device handling.
14422 (attach_root_port): Likewise.
14423 (poll_nonroot_hub): Likewise.
14424 (grub_usb_poll_devices): Likewise.
14425 (detach_device): Close transfer.
14426 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
14427 function.
14428 (grub_usb_bulk_setup_readwrite): Likewise.
14429 (grub_usb_bulk_finish_readwrite): Likewise.
14430 * grub-core/commands/keylayouts.c: New file.
14431 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
14432 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
14433 aliases.
14434 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
14435 support scancode 2.
14436 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
14437 * include/grub/keyboard_layouts.h: New file.
14438 * util/grub-mklayout.c: New file.
14439 * util/grub-kbdcomp.in: Likewise.
14440
a1d84a5e
VS
144412010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14442
14443 Unify memory types.
14444
14445 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
14446 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
14447 types.
14448 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
14449 (grub_upper_mem): Likewise.
14450 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
14451 * include/grub/memory.h (grub_memory_type_t): New enum.
14452 All users updated.
14453
9696382e
VS
144542010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14455
14456 * grub-core/Makefile.core.def (lsapm): New module.
14457 * grub-core/commands/i386/pc/lsapm.c: New file.
14458 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
14459 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
14460 Likewise.
14461 * include/grub/i386/pc/apm.h: New file.
14462 * include/multiboot.h (multiboot_apm_info): New struct.
14463
144642010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 GRUB-legacy configuration file support.
14467
14468 * Makefile.util.def (grub-menulst2cfg): New util.
14469 * docs/man/grub-menulst2cfg.h2m: New file.
14470 * grub-core/Makefile.core.def (legacycfg): New module.
14471 * grub-core/commands/legacycfg.c: New file.
14472 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
14473 (grub_normal_add_menu_entry): ... this.
14474 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
14475 (grub_normal_set_password): ...this.
14476 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
14477 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
14478 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
14479 * grub-core/lib/legacy_parse.c: New file.
14480 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
14481 * include/grub/i386/pc/vesa_modes_table.h: New file.
14482 * include/grub/legacy_parse.h: Likewise.
14483 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
14484 * util/grub-menulst2cfg.c: New file.
14485
bf8d1338
CW
144862010-09-17 Colin Watson <cjwatson@ubuntu.com>
14487
14488 * grub-core/kern/emu/hostdisk.c
14489 (convert_system_partition_to_system_disk): Initialise node.
14490
9c0bad2e
CW
144912010-09-17 Colin Watson <cjwatson@ubuntu.com>
14492
14493 * grub-core/kern/emu/hostdisk.c
14494 (convert_system_partition_to_system_disk): Fix devmapper memory pool
14495 leak.
14496 Reported and based on patch by: Modestas Vainius.
14497
a939d135
CW
144982010-09-17 Colin Watson <cjwatson@ubuntu.com>
14499
14500 Fix DM-RAID probing with recent versions of device-mapper udev
14501 rules.
14502
14503 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
14504 canonicalise device paths under /dev/mapper/.
14505 (convert_system_partition_to_system_disk): Compare the
14506 uncanonicalised path to /dev/mapper/ rather than the canonicalised
14507 path, since device nodes under /dev/mapper/ are often symlinks.
14508
0f7ee3c9
YB
145092010-09-17 Yves Blusseau <blusseau@zetam.org>
14510
14511 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
14512
10854d0d
YB
145132010-09-16 Yves Blusseau <blusseau@zetam.org>
14514
14515 * configure.ac: Avoid some annoying error messages if freetype-config
14516 program is not found.
14517
108538d8
CW
145182010-09-16 Colin Watson <cjwatson@ubuntu.com>
14519
14520 Support RAID on virtio devices, and others.
14521
14522 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
14523 Rename to ...
14524 [__MINGW32__] (grub_find_device): ... this.
14525 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
14526 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
14527 reasonable default if dir is NULL.
14528 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
14529 ...
14530 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
14531 (grub_guess_root_device): Update callers.
14532 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
14533
14534 * util/raid.c (grub_util_getdiskname): Remove.
14535 (grub_util_raid_getmembers): Use grub_find_device rather than
14536 grub_util_getdiskname.
14537
e5bfc130
CW
145382010-09-16 Colin Watson <cjwatson@ubuntu.com>
14539
14540 * docs/grub.texi (serial): Remove obsolete comment about GRUB
14541 needing to be compiled with serial support.
14542 (ls): Indicate that multiple files are accepted.
14543 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
14544 indicate that multiple files are accepted.
14545
be458ae2
CW
145462010-09-16 Colin Watson <cjwatson@ubuntu.com>
14547
14548 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
14549 libgrub_a_init.c, and util/bash-completion.d/grub.
14550
cb731b5e
VS
145512010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14552
14553 * util/grub-setup.c (setup): Fix incorrect container semantics.
14554
35139e8a
VS
145552010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14556
14557 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
14558 misusage.
14559 Reported by: J. Nick Terry
14560
e50fca4a
VS
145612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 Move embedding routines to partmap sources files.
14564
14565 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
14566 [GRUB_UTIL]: New variable.
14567 (gpt_partition_map_iterate): Set part.parent.
14568 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
14569 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
14570 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
14571 New function.
14572 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
14573 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
14574 (grub_partition_map) [GRUB_UTIL]: New field embed.
14575 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
14576 (setup): Use ->embed.
14577
f00478b7
VS
145782010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14579
14580 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
14581 function.
14582 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
14583 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
14584
2b94e3ff
YB
145852010-09-15 Yves Blusseau <blusseau@zetam.org>
14586
14587 Add function to get completions from usage.
14588
14589 * util/bash-completion.d/grub-completion.bash.in: Add function to get
14590 completions from usage. Use LC_ALL=C to get options properly.
14591
2e04a006
VS
145922010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 * grub-core/gnulib/basename-lgpl.c: Imported.
14595 * grub-core/gnulib/basename.c: Likewise.
14596 * grub-core/gnulib/dirname-lgpl.c: Likewise.
14597 * grub-core/gnulib/dirname.c: Likewise.
14598 * grub-core/gnulib/dirname.h: Likewise.
14599 * grub-core/gnulib/stripslash.c: Likewise.
14600
5dcdf93a
VS
146012010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14602
14603 * grub-core/gnulib/error.c: Resynced.
14604 * grub-core/gnulib/getopt.c: Likewise.
14605 * grub-core/gnulib/getopt_int.h: Likewise.
14606 * grub-core/gnulib/regex.h: Likewise.
14607 * grub-core/gnulib/regex_internal.c: Likewise.
14608 * grub-core/gnulib/regex_internal.h: Likewise.
14609
014f47b7
SJ
146102010-09-15 Szymon Janc <szymon@janc.net.pl>
14611
14612 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
14613 CRC calculations and validity checks.
14614 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
14615 calculations.
14616
dd521a4a
SJ
146172010-09-15 Szymon Janc <szymon@janc.net.pl>
14618
14619 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
14620
79c4eeb9
VS
146212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 Fix incorrect echo options handling.
14624 Reported by: Yves Blusseau.
14625
14626 * include/grub/command.h (grub_command_flags_t): New flags
14627 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
14628 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
14629 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
14630
ed80f7d5
VS
146312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14632
14633 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
14634 users updated.
14635 (GRUB_COMMAND_FLAG_MENU): Likewise.
14636 (GRUB_COMMAND_FLAG_BOTH): Likewise.
14637 (GRUB_COMMAND_FLAG_TITLE): Removed.
14638 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
14639 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
14640 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
14641 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
14642 (grub_command_flags_t): New enum. All users updated.
14643
5fe7620a
SG
146442010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
14645
14646 Fix solaris compilation.
14647
14648 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
14649 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
14650 (grub-emu-list): Likewise.
14651
545b752f
VS
146522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14653
14654 Remove deprecated root command.
14655
14656 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
14657 updated.
14658
6c1a338c
VS
146592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14660
14661 * util/i386/pc/grub-setup.c: Merge this ...
14662 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
14663 * util/grub-setup.c: ... into this.
14664 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
14665 New struct.
14666
146672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14668
14669 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
14670 possible.
14671
d2ea4551
VS
146722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14673
14674 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
14675 allocate p.
14676
3c3b5040
VS
146772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14678
14679 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
14680 explicit root argument to set to prevent UUID to be interpreted as
14681 argument to set.
14682
b71c3fae
VS
146832010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14684
14685 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
14686
275433e6
VS
146872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14688
14689 Don't export grub_gate_a20.
14690
14691 * grub-core/kern/i386/pc/init.c: Remove leftovers.
14692 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
14693 to ...
14694 (grub_gate_a20): ... this. All users updated.
14695 * include/grub/i386/pc/init.h: Removed. All users updated.
14696
a5dbb1f1
VS
146972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14698
14699 Create euro.pf2 which supports most European languages.
14700
14701 * Makefile.am (grubdata_DATA): Add euro.pf2.
14702 (euro.pf2): New target.
14703 (CLEANFILES): Add euro.pf2.
14704
62a747cb
VS
147052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
14706
14707 * configure.ac: Disable emu-usb by default to prevent inadvertent
14708 device takeover.
14709
608e43b1
VS
147102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14711
14712 Disable usbserial on grub-emu since our libusb code isn't good enough
14713 yet.
14714
14715 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
14716 (usbserial_pl2303): Likewise.
14717 (usbserial_ftdi): Likewise.
14718
94564f81
VS
147192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14720
14721 * include/grub/disk.h (grub_disk): Remove has_partitions.
14722 All users updated.
14723 * disk/loopback.c (grub_loopback): Remove has_partitions.
14724 All users updated.
14725 (options): Remove partitions. All users updated.
14726 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
14727 * util/i386/pc/grub-setup.c (setup): copy partition table only when
14728 actual partition table is found.
14729
3352800b
VS
147302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 Remove readability checks (too many false negatives).
14733
14734 * util/grub-install.in: Remove readability checks.
14735 * util/grub-mkconfig.in: Likewise.
14736 * util/grub.d/10_hurd.in: Likewise.
14737 * util/grub.d/10_kfreebsd.in: Likewise.
14738 * util/grub.d/10_linux.in: Likewise.
14739 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
14740 way.
14741
2419f17a
VS
147422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 Enable acpi shutdown on all ACPI platforms.
14745
14746 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
14747 on coreboo, multiboot and EFI.
14748 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
14749 (grub_acpi_halt): Likewise.
14750 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
14751 (grub_cmd_halt): Don't call grub_acpi_halt directly.
14752 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
14753 * grub-core/lib/i386/halt.c (grub_halt)
14754 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
14755
0575c7c3
VS
147562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14757
14758 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
14759 context.
14760
54ac3cd1
VS
147612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14762
14763 * grub-core/video/efi_gop.c: Fix over-80-chars line.
14764 * grub-core/video/efi_uga.c: Likewise.
14765
b2a30ac5
VS
147662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14767
14768 Filter devaliases and never open same device twice.
14769
14770 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
14771 (last_ihandle): Likewise.
14772 (ofdisk_hash_ent): New member shortest.
14773 (ofdisk_hash_add): Add canonical path too.
14774 (scan): New function.
14775 (grub_ofdisk_iterate): Iterate over hashed entries.
14776 (compute_dev_path): Don't add :0.
14777 (grub_ofdisk_open): Don't really open the disk.
14778 (grub_ofdisk_close): Avoid closing unrelated disk.
14779 (grub_ofdisk_read): Implement reopen logic.
14780 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
14781 New function.
14782 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
14783 New proto.
14784
fb53b340
VS
147852010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14786
14787 Fix sparc64.
14788
14789 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
14790 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
14791 right address. Add sparc64_ieee1275_ldflags.
14792 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
14793 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
14794 to grub_host_to_target_addr
14795 (load_image): Likewise.
14796
f452b040
VS
147972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14798
14799 * grub-core/normal/completion.c (complete_file): Handle device
14800 containing slash.
14801 Fix based on patch by Doug Nazar.
14802
9b5b2541
VS
148032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14804
14805 grub-mknetdir script.
14806
14807 * Makefile.util.def (grub-mknetdir): New module.
14808 * tests/util/grub-shell.in: Support boot=net
14809 * util/grub-mknetdir.in: New file.
14810
9d2be652
VS
148112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14812
14813 videoinfo on non-vbe.
14814
14815 * grub-core/Makefile.core.def (vbeinfo): Removed.
14816 (vbetest): Removed.
14817 (videoinfo): New module.
14818 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
14819 * grub-core/commands/i386/pc/vbetest.c: Removed.
14820 * grub-core/commands/videoinfo.c: New file.
14821 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
14822 specification.
14823 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
14824 as vbetest.
14825 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
14826 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
14827 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
14828 mode_number. New parameter mode. All users updated.
14829 (grub_video_gop_iterate): New function.
14830 (grub_video_efi_gop): New member iterate.
14831 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
14832 (grub_vbe_set_video_mode): Remove setting useless fields.
14833 (vbe2videoinfo): New function.
14834 (grub_video_vbe_iterate): Likewise.
14835 (grub_video_vbe_setup): Use vbe2videoinfo.
14836 (grub_video_vbe_print_adapter_specific_info): New function.
14837 (grub_video_vbe_adapter): New fields iterate and
14838 print_adapter_specific_info.
14839 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
14840 All users updated.
14841 (grub_video_mode_info): New field mode_number.
14842 (grub_video_adapter): New fields iterate and
14843 print_adapter_specific_info.
14844
179503f5
TG
148452010-09-13 Tristan Gingold <gingold@free.fr>
148462010-09-13 Robert Millan <rmh.grub@aybabtu.com>
148472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14848
14849 * grub-core/commands/efi/lsefisystab.c: New file.
14850 * grub-core/commands/efi/lssal.c: Likewise.
14851 * grub-core/Makefile.core.def (lsacpi): New module.
14852 (lsefisystab): Likewise.
14853 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
14854 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
14855 (grub_efi_sal_system_table): New struct.
14856 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
14857 (grub_efi_sal_system_table_memory_descriptor): Likewise.
14858 (grub_efi_sal_system_table_platform_features): Likewise.
14859 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
14860 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
14861 (grub_efi_sal_system_table_ap_wakeup): Likewise.
14862 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
14863
cf9827de
VS
148642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14865
14866 Support explicit user claim that a device is BIOS-visible.
14867
14868 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
14869 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
14870 * grub-core/kern/emu/hostdisk.c
14871 (convert_system_partition_to_system_disk): Support mdX.
14872 (find_system_device): New parameter add. All users updated.
14873 (grub_util_biosdisk_is_present): New function.
14874 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
14875 proto.
14876
53f0eb1f
VS
148772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
14878
14879 Search hints support.
14880
14881 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
14882 All users updated.
14883
b23ffd70
YB
148842010-09-13 Yves Blusseau <blusseau@zetam.org>
14885
14886 Bash completion script for util commands
14887
14888 * Makefile.am: Add util/bash-completion.d directory
14889 * configure.ac: Likewise.
14890 * util/bash-completion.d/Makefile.am: New file.
14891 * util/bash-completion.d/grub-completion.bash.in: Likewise.
14892
d547dc28
VS
148932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
14896 (print_backlog): set backlog_ucs4 and backlog_glyphs.
14897 Reported by: Yves Blusseau.
14898
2fc8ccb9
VS
148992010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14900
14901 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
14902 partition size and offset.
14903
d8a84076
VS
149042010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14905
14906 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
14907
84fb3b3d
VS
149082010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14909
14910 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
14911
768ec2e2
VS
149122010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
14915 (grub_xvasprintf): Likewise.
14916
4870900f
VS
149172010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
14920
faca6bec
VS
149212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
14922
14923 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
14924 args ending with NULL.
14925
149262010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
14927
14928 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
14929 pointer.
14930
3c70f225
SJ
149312010-09-11 Szymon Janc <szymon@janc.net.pl>
14932
14933 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
14934
4df7996d
VS
149352010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 Shutdown using ACPI.
14938
14939 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
14940 * grub-core/commands/acpihalt.c: New file.
14941 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
14942 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
14943 (grub_acpi_halt): New proto.
14944 (GRUB_ACPI_SLP_EN): New const.
14945 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
14946 (GRUB_ACPI_OPCODE_*): New enum.
14947 (GRUB_ACPI_EXTOPCODE_*): Likewise.
14948
126b4c32
TG
149492010-09-11 Tristan Gingold <gingold@free.fr>
149502010-09-11 Robert Millan <rmh.grub@aybabtu.com>
149512010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14952
14953 * commands/lsacpi.c: New file.
14954 * grub-core/Makefile.core.def (lsacpi): New module.
14955 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
14956 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
14957 (grub_acpi_madt_entry_header): New struct.
14958 (grub_acpi_madt): Likewise.
14959 (grub_acpi_madt_entry_interrupt_override): Likewise.
14960 (grub_acpi_madt_entry_sapic): Likewise.
14961 (grub_acpi_madt_entry_lsapic): Likewise.
14962 (grub_acpi_madt_entry_platform_int_source): Likewise.
14963 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
14964 (PRIuGRUB_UINT32_T): Likewise.
14965 (PRIxGRUB_UINT64_T): Likewise.
14966
1aa4fe88
VS
149672010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14968
14969 Implement loading palette on ieee1275_fb.
14970
14971 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
14972 (have_setcolors): Likewise.
14973 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
14974 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
14975 (grub_video_ieee1275_set_palette): Implement.
14976
25761e13
VS
149772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
149782010-09-11 Colin Watson <cjwatson@ubuntu.com>
14979
14980 * util/grub-install.in (grub_partition): New variable.
14981 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
14982 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
14983 Fixes a bug reported by Yves Blusseau.
14984
050abaea
VS
149852010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
14986
14987 Fix emu on mipsel.
14988
14989 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
14990 =grub_cpu_flush_cache on all mips and not only yeeloong.
14991 * configure.ac (COND_mips): New conditional.
14992 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
14993 platforms.
14994 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
14995 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
14996 [GRUB_LINKER_HAVE_INIT]: New function.
14997 (grub_emu_post_init): Likewise.
14998 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
14999 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15000 * include/grub/cache.h (_mips): Include mips/cache.h.
15001 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15002 LVM and RAID prototypes.
15003 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15004 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15005 function.
15006
5ed7d816
CW
150072010-09-10 Colin Watson <cjwatson@ubuntu.com>
15008
15009 * util/grub-install.in: Don't try to verify core.img until after
15010 running grub-mkimage to create it.
15011
90367e04
RM
150122010-09-10 Robert Millan <rmh@gnu.org>
15013
15014 * util/grub.d/10_hurd.in: Add misc readability checks.
15015 * util/grub.d/10_kfreebsd.in: Likewise.
15016 * util/grub.d/10_linux.in: Likewise.
15017
c452fa66
CW
150182010-09-10 Colin Watson <cjwatson@ubuntu.com>
15019
15020 * util/grub-install.in: ${imgext} won't be defined here until the
15021 install branch is merged. For the meantime, only verify core.img on
15022 i386-pc and sparc64-ieee1275 platforms.
15023
c38fe9f4
RM
150242010-09-10 Robert Millan <rmh@gnu.org>
15025
15026 Solaris support in grub_find_zpool_from_dir(). Thanks
15027 Seth Goldberg for referring to getextmntent() facility.
15028
15029 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15030 `sys/mkdev.h'.
15031 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15032 `<sys/mnttab.h>'.
15033 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15034 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15035 method for finding zpool name.
15036
905f7773
CW
150372010-09-10 Colin Watson <cjwatson@ubuntu.com>
15038
15039 grub-fstest needs the host and hostfs modules while other utilities
15040 actively require those modules to be absent, so grub-fstest needs
15041 its own initialisation and finalisation code.
15042
15043 * Makefile.am (grub_fstest.pp): New target.
15044 (grub_fstest_init.lst): Likewise.
15045 (grub_fstest_init.c): Likewise.
15046 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15047
fb90b546
RM
150482010-09-10 Robert Millan <rmh@gnu.org>
15049
15050 * configure.ac: Check for `struct statfs.f_fstypename' and
15051 `struct statfs.f_mntfromname'.
15052
15053 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15054 kFreeBSD-specific code.
15055
66d4bea5
RM
150562010-09-10 Robert Millan <rmh@gnu.org>
15057
15058 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15059 on ZFS. Now non-main filesystems are supported as / too.
15060
b6a690ee
CW
150612010-09-09 Colin Watson <cjwatson@ubuntu.com>
15062
15063 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15064 and grub-core/disk/host.c to ...
15065 (grub-fstest): ... here. Having the host disk implementation
15066 present confuses grub-probe and other utility programs.
15067
15068 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15069 when writing to a file, not when writing to stdout.
15070
8901b00c 150712010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15072
15073 * tests/partmap_test.in: New test for partitions.
15074 * Makefile.util.def: Rules for new test.
15075
7bf45fdd
RM
150762010-09-09 Robert Millan <rmh@gnu.org>
15077
15078 * util/grub-probe.c (probe): Fix a pair of unhandled error
15079 conditions.
15080
4dfbc574
RM
150812010-09-09 Robert Millan <rmh@gnu.org>
15082
15083 Basic Btrfs support (detection and UUID).
15084
15085 * grub-core/fs/btrfs.c: New file.
15086 * Makefile.util.def (library): Register btrfs.c.
15087 * grub-core/Makefile.core.def: Likewise.
15088
6b8e78ae
RM
150892010-09-08 Robert Millan <rmh@gnu.org>
15090
15091 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15092 with (optional) parameters to specify device and relative path.
15093 * util/grub-install.in: Use is_path_readable_by_grub() to
15094 verify readability of a few critical files.
15095 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15096 verify readability of grub.cfg.new.
15097
27f21a8b
VS
150982010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15099
15100 Split minix.mod into minix.mod and minix2.mod.
15101
15102 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15103 * grub-core/Makefile.core.def (minix2): New module.
15104 * grub-core/fs/minix.c: Use definitions instead of runtime version
15105 checking.
15106 * grub-core/fs/minix2.c: New file.
15107
c0e53ea5
YB
151082010-09-08 Yves Blusseau <blusseau@zetam.org>
15109
15110 Add new --boot-directory option to replace --root-directory
15111
15112 * util/grub-install.in: Add new --boot-directory option
15113 * util/grub-reboot.in: Likewise.
15114 * util/grub-set-default.in: Likewise.
15115
b9fe6ea2
YB
151162010-09-08 Yves Blusseau <blusseau@zetam.org>
15117
15118 * util/grub-mkconfig.in: Use new variable.
15119
d87aedff
YB
151202010-09-08 Yves Blusseau <blusseau@zetam.org>
15121
15122 * configure.ac: Define some useful variables.
15123
e55e8495
VS
151242010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15125
15126 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15127 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15128 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15129 Use terminfo and don't use cursor-on/cursor-off unless it's known
15130 to work.
15131 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15132 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15133
6fa6d675
CW
151342010-09-08 Colin Watson <cjwatson@ubuntu.com>
15135
15136 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15137 starts with "(,", fill the drive containing the loaded image in
15138 between those two characters, but expect that a full partition
15139 specification including partition map names will follow.
15140
92f2aef0
RM
151412010-09-08 Robert Millan <rmh@gnu.org>
15142
15143 * configure.ac: Remove `--enable-grub-fstest' option.
15144 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15145
15146 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15147 `grub-fstest' instead of `grub-probe' for readability verification.
15148 * util/grub-probe.c (probe): Remove readability verification kludge.
15149
99fd620d
RM
151502010-09-08 Robert Millan <rmh@gnu.org>
15151
15152 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15153 initializing `GRUB_FS'.
15154
058e30ac 151552010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15156
15157 Not command (!) support to GRUB script.
15158
15159 * tests/grub_script_not.in: New test.
15160 * Makefile.util.def: Rules for new test.
15161
15162 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15163 ! command as a special case.
15164 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15165
b61d05ed 151662010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15167
058e30ac 15168 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15169 grub_free.
b61d05ed 15170
4d69c786 151712010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15172
15173 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15174
aa3119c4 151752010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15176
15177 * docs/grub.texi (Shell-like scripting): Documentation for break,
15178 continue, shift and return commands.
15179
db0f7e3d
VS
151802010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15181
15182 Rename CD-ROM to cd on BIOS.
15183
15184 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15185 "cd".
15186 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15187
88b87c93
VS
151882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15191 * util/grub-probe.c (main): Likewise.
15192 * util/i386/pc/grub-setup.c (main): Likewise.
15193 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15194 Reported and debugged by: alexxy
15195
294f324d
VS
151962010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15197
15198 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15199 diagnostic info.
15200
d7ee3441
JS
152012010-09-05 Jo Shields <directhex@apebox.org>
15202
15203 * util/grub.d/30_os-prober.in: Add missing classes.
15204
d7e06c1f
VS
152052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15206
15207 * docs/grub.texi (Theme file format): Document new position format.
15208
fc157e53
VS
152092010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15210
15211 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15212 a table. Use @code instead of @verbatim.
15213
506e9a1c
CB
152142010-09-05 Colin D Bennett <colin@gibibit.com>
15215
15216 Gfxmenu documentation.
15217
15218 * docs/grub.texi (Theme file format): New chapter.
15219
f0aff67c
SJ
152202010-09-05 Szymon Janc <szymon@janc.net.pl>
15221
15222 * grub-core/Makefile.core.def (xzio): New module.
15223 * grub-core/io/xzio.c: New file.
15224 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15225 * grub-core/lib/xzembed/xz_config.h: Likewise.
15226 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15227 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15228 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15229 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15230 * grub-core/lib/xzembed/xz_private.h: Likewise.
15231 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15232 * include/grub/file.h (grub_file_filter_id): New compression filter
15233 GRUB_FILE_FILTER_XZIO.
15234
82a85062
VS
152352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15238 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15239 size.
15240
3579415d
VS
152412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
15244 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
15245
5124ae6d
VS
152462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 Uncompressed checksum support.
15249
15250 * grub-core/commands/hashsum.c (options): Add option --uncompress.
15251 (check_list): New parameter uncompress.
15252 (grub_cmd_hashsum): Handle --uncompress.
15253
9aadb3d1
VS
152542010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15255
15256 Reintroduce testload.
15257
15258 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
15259 from here ...
15260 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
15261 (GRUB_MOD_INIT): New function.
15262 (GRUB_MOD_FINI): Likewise.
15263 * grub-core/Makefile.core.def (testload): New module.
15264
a17792c3
SJ
152652010-09-05 Szymon Janc <szymon@janc.net.pl>
15266
15267 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
15268 (uint8_t): New type.
15269 (uint16_t): Likewise.
15270 (uint32_t): Likewise.
15271 (uint64_t): Likewise.
15272
b81e40a3
SJ
152732010-09-05 Szymon Janc <szymon@janc.net.pl>
15274
15275 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
15276
fc2ef117
VS
152772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15278
15279 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
15280 Made static.
15281 (grub_gzfile_open): Removed. All users updated.
15282 (GRUB_MOD_INIT): New function.
15283 (GRUB_MOD_FINI): Likewise.
15284 * grub-core/kern/file.c (grub_file_filters_all): New variable.
15285 (grub_file_filters_enabled): Likewise.
15286 (grub_file_open): Handle filters.
15287 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
15288 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
15289 * include/grub/file.h (grub_file_filter_id_t): New type.
15290 (grub_file_filter_t): Likewise.
15291 (grub_file_filters_all): New extern variable.
15292 (grub_file_filters_enabled): Likewise.
15293 (grub_file_filter_register): New inline function.
15294 (grub_file_filter_unregister): Likewise.
15295 (grub_file_filter_disable): Likewise.
15296 (grub_file_filter_disable_compression): Likewise.
15297 * include/grub/gzio.h: Removed.
15298
35ee15e0
BC
152992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15300
15301 Filename expansion support for wildcards in GRUB script.
15302
15303 * tests/grub_script_expansion.in: New test.
15304 * Makefile.util.def: Rule for new test.
15305
15306 * grub-core/commands/wildcard.c: New file, implements filename
15307 expansion support for GRUB script.
15308 * grub-core/Makefile.core.def: Rule update for regexp.mod.
15309 * grub-core/script/argv.c: Cosmetic changes.
15310 * grub-core/script/execute.c (grub_script_arglist_to_argv):
15311 Refactored to perform wildcard expansion on arguments.
15312 * include/grub/script_sh.h (grub_script_wildcard_translator): New
15313 struct.
15314
15315 * tests/util/grub-shell.in: Fix quoting for read input.
15316
5f0c4aca
BC
153172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15318
15319 Support for updating environment variables with matched substrings
15320 of regexp.
15321
15322 * tests/grub_cmd_regexp.in: New test.
15323 * Makefile.util.def: Rule for new test.
15324
15325 * grub-core/commands/regexp.c: New option -s to update environment
15326 variables with regexp matches.
15327
3759a35f
SJ
153282010-09-04 Szymon Janc <szymon@janc.net.pl>
15329
15330 * include/grub/file.h (grub_file): New member not_easly_seekable.
15331 (grub_file_seekable): New inline function.
15332 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
15333 easily seekable.
15334 (grub_gzio_open): Set not_easly_seekable.
15335 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
15336 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
15337
ed8c6dec
BC
153382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15339
15340 Support for options to appear multiple times on cmdline.
15341
15342 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
15343 * grub-core/commands/extcmd.c: Support for repeatable option.
15344 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
15345 repeatable option support.
15346
15347 Refactor menuentry into a regular command.
15348
15349 * grub-core/commands/menuentry.c: New file, menuentry command
15350 implementation.
15351 * grub-core/Makefile.core.def: Rule update for normal.mod.
15352 * grub-core/normal/main.c: Moved menuentry creation to
15353 grub-core/commands/menuentry.c.
15354 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
15355 (grub_menu_execute_entry_real): Removed.
15356 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
15357 function.
15358 (grub_script_execute_menuentry): Removed.
15359 * grub-core/script/parser.y (menuentry): Removed.
15360 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
15361 * grub-core/script/yylex.l (menuentry): Removed.
15362 * include/grub/menu.h (grub_menu_init): New prototype.
15363 (grub_menu_fini): New prototype.
15364 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
15365 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
15366 (grub_script_execute_sourcecode): New prototype.
15367
dacd0cf0
BC
153682010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15369
15370 "return" command for GRUB script functions.
15371
15372 * tests/grub_script_return.in: New test.
15373 * Makefile.util.def: Rules for new test.
15374
15375 * grub-core/script/execute.c (grub_script_return): New function.
15376 * grub-core/script/main.c: Register/unregister return commaond.
15377 * include/grub/script_sh.h (grub_script_return): New prototype.
15378
52e72f9d
BC
153792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15380
15381 "setparams" command to update positional parameters.
15382
15383 * tests/grub_script_setparams.in: New test.
15384 * Makefile.util.def: Rules for new test.
15385
15386 * grub-core/script/argv.c (grub_script_argv_make): New function.
15387 * grub-core/script/execute.c (replace_scope): New function.
15388 (grub_script_setparams): New function.
15389 * grub-core/script/lexer.c: Remove unused variables.
15390 * grub-core/script/main.c: Register/unregister setparams command.
15391 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
15392 (grub_script_setparams): New prototype.
15393
25b60c91
BC
153942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15395
15396 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
15397 grub_free order.
15398
37e7bf68
BC
153992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15400
15401 Support for passing block of commands as an argument to extcmds.
15402
15403 * Makefile.util.def: Rules for new test.
15404 * tests/grub_script_blockarg.in: New test.
15405 * grub-core/tests/test_blockarg.c: New file, block argument
15406 command used in the test.
15407
15408 * include/grub/extcmd.h (grub_extcmd_context): New struct.
15409 (grub_register_extcmd_prio): New function prototype.
15410 (grub_extcmd_dispatcher): New function prototype.
15411 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
15412 type.
15413 * include/grub/script_sh.h (struct grub_script): New members
15414 `children', `next_siblings' and `refcnt' for block arguments and
15415 reference counting.
15416 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
15417 (grub_script_arg): New member `script' for block argument.
15418 (grub_script_argv): New member `script' for block argument.
15419 (grub_parser_param): New member `scripts' for block argument.
15420 (grub_script_mem_free): New extern function prototype.
15421 (grub_script_ref): New function prototype.
15422 (grub_script_unref): New function prototype.
15423
15424 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
15425 extcmd form to support block arguments.
15426 * grub-core/script/argv.c: Block arguments support.
15427 * grub-core/script/execute.c: Likewise.
15428 * grub-core/script/lexer.c: Likewise.
15429 * grub-core/script/main.c: Likewise.
15430 * grub-core/script/script.c: Likewise.
15431 * grub-core/script/parser.y: Likewise. New `block' and `block0'
15432 non-terminals.
15433
15434 * grub-core/commands/acpi.c: Update extcmd implementations with
15435 grub_extcmd_context_t.
15436 * grub-core/commands/cat.c: Likewise.
15437 * grub-core/commands/echo.c: Likewise.
15438 * grub-core/commands/extcmd.c: Likewise.
15439 * grub-core/commands/hashsum.c: Likewise.
15440 * grub-core/commands/hdparm.c: Likewise.
15441 * grub-core/commands/help.c: Likewise.
15442 * grub-core/commands/hexdump.c: Likewise.
15443 * grub-core/commands/i386/cpuid.c: Likewise.
15444 * grub-core/commands/i386/pc/drivemap.c: Likewise.
15445 * grub-core/commands/i386/pc/halt.c: Likewise.
15446 * grub-core/commands/i386/pc/sendkey.c: Likewise.
15447 * grub-core/commands/iorw.c: Likewise.
15448 * grub-core/commands/keystatus.c: Likewise.
15449 * grub-core/commands/loadenv.c: Likewise.
15450 * grub-core/commands/ls.c: Likewise.
15451 * grub-core/commands/lspci.c: Likewise.
15452 * grub-core/commands/memrw.c: Likewise.
15453 * grub-core/commands/probe.c: Likewise.
15454 * grub-core/commands/search_wrap.c: Likewise.
15455 * grub-core/commands/setpci.c: Likewise.
15456 * grub-core/commands/sleep.c: Likewise.
15457 * grub-core/disk/loopback.c: Likewise.
15458 * grub-core/hello/hello.c: Likewise.
15459 * grub-core/loader/i386/bsd.c: Likewise.
15460 * grub-core/loader/xnu.c: Likewise.
15461 * grub-core/term/gfxterm.c: Likewise.
15462 * grub-core/term/serial.c: Likewise.
15463 * grub-core/tests/lib/functional_test.c: Likewise.
15464
888d1500
BC
154652010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15466
15467 Multi-line quoted strings support.
15468
15469 * grub-core/script/lexer.c (append_newline): Removed.
15470 (grub_script_lexer_yywrap): Refactored.
15471 (grub_script_lexer_init): Refactored.
15472 * grub-core/script/yylex.l (yywrap): New function.
15473 (grub_lexer_resplit): New function.
15474 (grub_lexer_unput): New function.
15475 * include/grub/script_sh.h (grub_lexer_param): New members, unput
15476 and resplit.
15477 * tests/grub_script_echo1.in: Added few more testcases.
15478
dda060dd
VS
154792010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15480
15481 * grub-core/kern/misc.c: Don't add abort alias in utils.
15482 Reported by: echoline.
15483
6556eba9
BC
154842010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
15485
15486 Add missing files into "make dist" tarball for other platforms.
15487
15488 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
15489 * conf/Makefile.common (dist_noinst_DATA): New variable.
15490 * conf/Makefile.extra-dist: Added missing make dist files.
15491 * grub-core/Makefile.core.def: Likewise.
15492
c8e7bf5f
VS
154932010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 Compress grub_prefix.
15496
15497 * grub-core/boot/i386/pc/lnxboot.S: Use
15498 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
15499 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
15500 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
15501 GRUB_MACHINE_PREFIX_END. All users updated.
15502 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
15503 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
15504 + 0x40.
15505 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15506 * util/grub-mkimage.c (image_target_desc): Change data_end to
15507 prefix_end. All users updated.
15508
a7c00cdb
VS
155092010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
15510
15511 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
15512 value.
15513 (grub_openbsd_boot): Likewise.
15514 (grub_netbsd_boot): Likewise.
15515 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
15516 (grub_xnu_boot): Likewise.
15517
9f915872
VS
155182010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15519
15520 * configure.ac: Clean LIBS variable after tests.
15521
efa1bee7
CW
155222010-09-02 Colin Watson <cjwatson@ubuntu.com>
15523
15524 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
15525
61d720e5
VS
155262010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15527
15528 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
15529 echo if libdevmapper will be used.
15530
ef8e0ec8
IT
155312010-09-02 Ian Turner <Ian.Turner@deshaw.com>
15532
15533 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
15534 constant for the same file.
15535
03e261d8
VS
155362010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15537
15538 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
15539
c2a4eba6
CW
155402010-09-02 Colin Watson <cjwatson@ubuntu.com>
15541
15542 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
15543 grub-core/*.pp.
15544
9056cbf3
CW
155452010-09-02 Colin Watson <cjwatson@ubuntu.com>
15546
15547 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
15548 required by the boot protocol.
15549
15550 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
15551 ebp and edi members.
15552 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
15553 state.ebp and state.edi.
15554 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
15555 %ebp and %edi according to grub_relocator32_ebp and
15556 grub_relocator32_edi respectively.
15557 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
15558 and state.edi.
15559
529cc99a
VS
155602010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15561
15562 Add i386-pc-pxe image target.
15563
15564 * util/grub-mkimage.c (image_target_desc): New enum value
15565 IMAGE_I386_PC_PXE.
15566 (image_targets): New target i386-pc-pxe.
15567 (generate_image): Handle i386-pc-pxe image.
15568
9a093920
VS
155692010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15570
15571 Fix grub_pxe_scan.
15572
15573 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
15574 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
15575 All users updated.
15576 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
15577 (grub_pxe_pxenv): Correct type.
15578
f9cefc4e
CW
155792010-09-01 Colin Watson <cjwatson@ubuntu.com>
15580
15581 * NEWS: Document most of the important changes since 1.98.
15582
4066f57f
CW
155832010-09-01 Colin Watson <cjwatson@ubuntu.com>
15584
15585 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
15586 generated manual page) a little.
15587
da2891f9
CW
155882010-09-01 Colin Watson <cjwatson@ubuntu.com>
15589
15590 * docs/grub.texi: Add myself as an author.
15591
ad717fae
VS
155922010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15593
15594 * Makefile.util.def (libgrub.a): Add missing sunpc.
15595 Reported by: Seth Goldberg.
15596
eefe8abd
VS
155972010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15598
15599 Interrupt wrapping and code simplifications.
15600
9494ef9a
VS
15601 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
15602 x86_noieee1275 which are functionaly equivalent in this case.
15603 (grub-install): Make source on each platform explicit. Enable on
15604 all noemu.
15605 * gentpl.py (x86_efi_pc): Removed group.
15606 (x86_noefi): Likewise.
15607 (i386_noefi): Likewise.
15608 (x86_noieee1275): Likewise.
15609 (i386_noieee1275): Likewise.
15610 (i386_noefi_noieee1275): Likewise.
15611 (i386_pc_qemu_coreboot): Likewise.
15612 (i386_coreboot_multiboot): Likewise.
15613 (i386_pc_coreboot_multiboot_qemu): Likewise.
15614 (x86_noefi_mips): Likewise.
15615 (noieee1275): Likewise.
15616 (ieee1275_mips): Likewise.
15617 (noemu_noieee1275): Likewise.
15618 (cmos): New group.
15619 (usb): Likewise.
15620 (videoinkernel): Likewise.
15621 (videomodules): Likewise.
eefe8abd 15622 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
15623 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
15624 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
15625 include/grub/loader.h, include/grub/msdos_partition.h,
15626 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
15627 include/grub/machine/console.h, include/grub/machine/vga.h,
15628 include/grub/machine/vbe.h, include/grub/machine/init.h,
15629 include/grub/machine/kernel.h, include/grub/cpu/time.h,
15630 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 15631 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
15632 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
15633 * grub-core/Makefile.core.def (kernel): Explicit the source for
15634 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
15635 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
15636 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
15637 Use videoinkernel tag.
15638 (usb): Enable on all usb.
15639 (usbserial_common): Likewise.
15640 (usbserial_pl2303): Likewise.
15641 (usbserial_ftdi): Likewise.
15642 (uhci): Enable on all x86.
15643 (ohci): Enable on all pci.
15644 (cmostest): Enable on all CMOS.
15645 (acpi): Include commands/acpi.c on all platforms.
15646 (halt): Add relevant lib/*/halt.c.
15647 (hdparm): Enable on all pci.
15648 (lspci): Likewise.
15649 (usbtest): Enable on all usb.
15650 (ata): Enable on all pci.
15651 (ata_pthru): Likewise.
15652 (usbms): Enable on all usb.
15653 (usb_keyboard): Likewise.
15654 (font): Use tag videomodules.
15655 (bufio): Likewise.
15656 (datetime): Use tag cmos. Enable on all noemu.
15657 (mmap): Use tags common and x86.
15658 (gfxterm): Use tag videomodules.
15659 (bitmap): Likewise.
15660 (bitmap_scale): Likewise.
15661 (video_fb): Likewise.
15662 (video): Likewise.
15663 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
15664 adjust padding accordingly. All users updated.
15665 (grub_ohci_transaction): Fix bad format specification.
15666 (GRUB_MOD_INIT): Add asserts for struct size.
15667 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
15668 (grub_alloc_td): Likewise.
15669 (grub_free_queue): Likewise.
15670 (grub_uhci_transfer): Likewise.
15671 (grub_uhci_transaction): Fix bad format specification.
15672 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15673 (grub_usb_bulk_readwrite): Likewise.
15674 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
15675 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
15676 Made static.
15677 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
15678 Made static.
15679 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
15680 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
15681 Transformed into C.
15682 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
15683 Moved from here ...
15684 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
15685 ... here. Transformed into C. Made static.
15686 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
15687 Moved from here ...
15688 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
15689 ... here. Transformed into C. Made static.
15690 * grub-core/kern/i386/pc/startup.S
15691 (grub_biosdisk_check_int13_extensions): Moved from here ...
15692 * grub-core/disk/i386/pc/biosdisk.c
15693 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
15694 Made static.
15695 * grub-core/kern/i386/pc/startup.S
15696 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
15697 * grub-core/disk/i386/pc/biosdisk.c
15698 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
15699 Transformed into C. Made static.
15700 * grub-core/kern/i386/pc/startup.S
15701 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
15702 * grub-core/disk/i386/pc/biosdisk.c
15703 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
15704 Transformed into C. Made static.
15705 * grub-core/kern/i386/pc/startup.S
15706 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
15707 * grub-core/disk/i386/pc/biosdisk.c
15708 (grub_biosdisk_get_diskinfo_standard): ... here.
15709 Transformed into C. Made static.
15710 * grub-core/kern/i386/pc/startup.S
15711 (grub_biosdisk_get_num_floppies): Moved from here ...
15712 * grub-core/disk/i386/pc/biosdisk.c
15713 (grub_biosdisk_get_num_floppies): ... here.
15714 Transformed into C. Made static.
15715 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
15716 New function.
15717 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
15718 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
15719 Transformed into C. Made static.
15720 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
15721 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
15722 Transformed into C. Made static.
15723 * grub-core/kern/i386/ieee1275/init.c: Removed.
15724 * grub-core/kern/i386/misc.S: Likewise.
15725 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
15726 Splitted from here ...
15727 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
15728 Transformed into C. Made static. All users updated.
15729 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
15730 Transformed into C. Made static. All users updated.
15731 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
15732 Moved from here...
15733 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
15734 Transformed into C. Made static. All users updated.
15735 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
15736 Moved from here...
15737 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
15738 Transformed into C. Made static. All users updated.
15739 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
15740 Removed (replaced by C version).
15741 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
15742 Moved from here...
15743 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
15744 Transformed into C. Made static.
15745 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
15746 Moved from here...
15747 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
15748 ... here. Transformed into C.
15749 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
15750 Moved from here...
15751 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
15752 ... here. Transformed into C.
15753 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
15754 Moved from here...
15755 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
15756 ... here. Transformed into C. Made static.
15757 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
15758 Moved from here...
15759 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
15760 ... here. Transformed into C.
21ed554b
VS
15761 * grub-core/kern/i386/pc/startup.S
15762 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
15763 * grub-core/video/i386/pc/vbe.c
15764 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
15765 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
15766 Moved from here...
15767 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
15768 ... here. Transformed into C.
15769 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
15770 Moved from here...
15771 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
15772 ... here. Transformed into C.
15773 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
15774 Moved from here...
15775 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
15776 ... here. Transformed into C.
15777 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
15778 Moved from here...
15779 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
15780 ... here. Transformed into C.
15781 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
15782 Moved from here...
15783 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
15784 ... here. Transformed into C. Made static.
15785 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
15786 Moved from here...
15787 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
15788 ... here. Transformed into C. Made static.
15789 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
15790 Moved from here...
15791 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
15792 ... here. Transformed into C. Made static.
15793 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
15794 pxe_rm_entry as third argument.
15795 (grub_bios_interrupt): New function.
15796 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
15797 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
15798 of calling grub_stop.
15799 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
15800 * grub-core/lib/efi/halt.c (grub_halt): ...here.
15801 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
15802 * grub-core/lib/emu/halt.c (grub_halt): ... here.
15803 * grub-core/lib/i386/halt.c: Moved from here ...
15804 * grub-core/lib/i386/halt.c: ... here.
15805 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
15806 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
15807 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
15808 grub_stop_floppy.
15809 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
15810 * include/grub/i386/coreboot/init.h: Removed.
15811 * include/grub/i386/multiboot/init.h: Likewise.
15812 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
15813 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
15814 * include/grub/i386/pc/int.h: New file.
15815 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
15816 (grub_pxe_scan): Removed.
15817 (grub_pxe_call): Update prototype.
15818 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
15819 prototypes.
15820 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
15821 * include/grub/i386/qemu/init.h: Removed.
15822 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
15823 noreturn.
15824 (grub_halt): Likewise.
15825 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
15826 (grub_reboot): Likewise.
15827 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
15828 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
15829 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
15830
215dd471
RM
158312010-08-30 Robert Millan <rmh@gnu.org>
15832
15833 * NEWS: Document addition of ZFS support in `grub-install' and
15834 `grub-mkconfig'.
15835
ebd65b82
BC
158362010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
15837
15838 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
15839 dprintf output.
15840
11721d19
VS
158412010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15842
15843 Remove leftover embedding of font objects.
15844
15845 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15846 * util/grub-install.in (font): Removed.
15847 * util/grub-mkimage.c (generate_image): Remove font support. All users
15848 updated.
15849
37837d4e
VS
158502010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15851
15852 Remove leftover embedding of font objects.
15853
15854 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
15855 * util/grub-install.in (font): Removed.
15856 * util/grub-mkimage.c (generate_image): Remove font support. All users
15857 updated.
15858
b4c1aae0
VS
158592010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 15862 Reported by: Ian Turner
b4c1aae0 15863
8920a08d
VS
158642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
15867 timeout to avoid indefinite boot stalling.
15868
f21db033
VS
158692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
15872 (grub_env_write_color_highlight): Likewise.
15873
9a9de209
VS
158742010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15875
15876 * grub-core/normal/term.c (print_more): Return to normal and not
15877 to standard state after printing "---MORE---".
15878
3dca01d7
VS
158792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
15882 Mask out the bit 0x80 since it has other meaning that specifiing color.
15883
0b986c40
VS
158842010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 New relocator. Allows for more kernel support and more straightforward
15887 loader writing.
15888
15889 * Makefile.am (BOOTTARGET): New variable.
15890 (QEMU32): Likewise.
15891 (linux.init.x86_64): New target.
15892 (linux.init.i386): Likewise.
15893 (multiboot.elf): Likewise.
15894 (kfreebsd.elf): Likewise.
15895 (kfreebsd.aout): Likewise.
15896 (pc-chainloader.elf): Likewise.
15897 (pc-chainloader.bin): Likewise.
15898 (ntldr.elf): Likewise.
15899 (ntldr.bin): Likewise.
15900 (multiboot2.elf): Likewise.
15901 (kfreebsd.init.x86_64): Likewise.
15902 (kfreebsd.init.i386): Likewise.
15903 (knetbsd.init.i386): Likewise.
15904 (kopenbsd.init.i386): Likewise.
15905 (knetbsd.init.x86_64): Likewise.
15906 (kopenbsd.init.x86_64): Likewise.
15907 (linux-initramfs.i386): Likewise.
15908 (linux-initramfs.x86_64): Likewise.
15909 (kfreebsd-mfsroot.i386.img): Likewise.
15910 (knetbsd.image.i386): Likewise.
15911 (kopenbsd.image.i386): Likewise.
15912 (kopenbsd.image.x86_64): Likewise.
15913 (knetbsd.miniroot-image.i386.img): Likewise.
15914 (kfreebsd-mfsroot.x86_64.img): Likewise.
15915 (knetbsd.image.x86_64): Likewise.
15916 (knetbsd.miniroot-image.x86_64.img): Likewise.
15917 (kfreebsd-mfsroot.i386.gz): Likewise.
15918 (bootcheck-kfreebsd-i386): Likewise.
15919 (kfreebsd-mfsroot.x86_64.gz): Likewise.
15920 (bootcheck-kfreebsd-x86_64): Likewise.
15921 (knetbsd.miniroot-image.i386.gz): Likewise.
15922 (bootcheck-knetbsd-i386): Likewise.
15923 (bootcheck-kopenbsd-i386): Likewise.
15924 (bootcheck-kopenbsd-x86_64): Likewise.
15925 (knetbsd.miniroot-image.x86_64.gz): Likewise.
15926 (bootcheck-knetbsd-x86_64): Likewise.
15927 (bootcheck-linux-i386): Likewise.
15928 (bootcheck-linux-x86_64): Likewise.
15929 (bootcheck-linux16-i386): Likewise.
15930 (bootcheck-linux16-x86_64): Likewise.
15931 (bootcheck-multiboot): Likewise.
15932 (bootcheck-multiboot2): Likewise.
15933 (bootcheck-kfreebsd-aout): Likewise.
15934 (bootcheck-pc-chainloader): Likewise.
15935 (bootcheck-ntldr): Likewise.
15936 (CLEANFILES): Add new targets.
15937 (BOOTCHECKS): New variable.
15938 (.PHONY): Add bootchecks.
15939 (SUCCESSFUL_BOOT_STRING): New variable.
15940 (BOOTCHECK_TIMEOUT): Likewise.
15941 (bootcheck): New target
15942 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
15943 * configure.ac: Correct efiemu excuse.
15944 * docs/grub.texi (Supported kernels): New chapter.
15945 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
15946 include/grub/mm_private.h. Simplify inclusion of
15947 include/grub/boot.h, include/grub/loader.h
15948 and include/grub/msdos_partition.h
15949 (KERNEL_HEADER_FILES) [i386_coreboot]:
15950 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
15951 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
15952 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
15953 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
15954 include/grub/machine/loader.h.
15955 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
15956 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
15957 extra_dist.
15958 (pci.mod): Enable on i386-multiboot.
15959 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
15960 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
15961 i386-qemu.
15962 (relocator.mod): Rewritten.
15963 (aout.mod): Enable on all x86.
15964 (bsd.mod): Likewise.
15965 (ntldr.mod): New module.
15966 (linux.mod): Use loader/i386/linux.c on all x86.
15967 (xnu.mod): Enable on all x86.
15968 (vga_text.mod): disable on EFI and QEMU.
15969 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
15970 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
15971 * grub-core/efiemu/loadcore.c: Likewise.
15972 * grub-core/efiemu/main.c: Likewise.
15973 (grub_efiemu_exit_boot_services): Removed.
15974 (grub_efiemu_finish_boot_services): Likewise.
15975 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
15976 function.
15977 * grub-core/efiemu/i386/nocfgtables.c: New file.
15978 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
15979 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
15980 (grub_efi_finish_boot_services): Moved from here ...
15981 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
15982 Fille finish memory map and related data.
15983 (finish_mmap_buf): New variable.
15984 (grub_efi_uintn_t finish_mmap_size): Likewise.
15985 (grub_efi_uintn_t finish_key): Likewise.
15986 (grub_efi_uintn_t finish_desc_size): Likewise.
15987 (grub_efi_uint32_t finish_desc_version): Likewise.
15988 (grub_efi_is_finished): Likewise.
15989 (grub_efi_get_memory_map): Use saved memory map if EFI is already
15990 finished.
15991 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
15992 (grub_elf64_phdr_iterate): Likewise.
15993 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
15994 (grub_os_area_size): Likewise.
15995 (grub_machine_init): Don't reserve os area.
15996 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
15997 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15998 * grub-core/kern/i386/loader.S: Removed.
15999 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16000 (grub_os_area_size): Likewise.
16001 (grub_machine_init): Don't reserve os area.
16002 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16003 Don't call grub_dl_unload_all.
16004 Don't include loader.S.
16005 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16006 Declare the memory after _end as available.
16007 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 16008 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 16009 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
16010 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16011 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16012 * include/grub/mm_private.h (grub_mm_header): ... here.
16013 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16014 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
16015 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16016 (grub_mm_region): ..here. Removed addr. Added pre_size.
16017 All users updated.
16018 * grub-core/kern/mm.c (base): Renamed to ...
16019 (grub_mm_base): ... this. Made global.
16020 (grub_real_malloc): Alloc from end of region.
16021 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16022 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16023 * grub-core/kern/powerpc/cache_flush.S: ... here.
16024 * grub-core/lib/efi/relocator.c: New file.
16025 * grub-core/lib/i386/relocator.c: Rewritten.
16026 * grub-core/lib/i386/relocator16.S: New file.
16027 * grub-core/lib/i386/relocator32.S: Likewise.
16028 * grub-core/lib/i386/relocator64.S: Likewise.
16029 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16030 * grub-core/lib/i386/relocator_common.S: New file.
16031 * grub-core/lib/ieee1275/relocator.c: Likewise.
16032 * grub-core/lib/mips/relocator.c: Rewritten.
16033 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16034 stylistic adjustments.
16035 * grub-core/lib/powerpc/relocator.c: New file.
16036 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16037 * grub-core/lib/relocator.c: Rewritten.
16038 * grub-core/lib/x86_64/relocator_asm.S: New file.
16039 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16040 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16041 (bsd_tag): New struct.
16042 (tags): New variable.
16043 (tags_last): Likewise.
16044 (netbsd_module): New struct.
16045 (netbsd_mods): New variable.
16046 (netbsd_mods_last): Likewise.
16047 (openbsd_opts): New parameter "serial".
16048 (OPENBSD_SERIAL_ARG): New definition.
16049 (netbsd_opts): New parameter "serial".
16050 (NETBSD_SERIAL_ARG): New definition.
16051 (grub_freebsd_add_meta): Reorganised into ...
16052 (grub_bsd_add_meta): ...this. All users updated.
16053 (grub_freebsd_add_mmap): Reorganised into ...
16054 (generate_e820_mmap): ...this...
16055 (grub_bsd_add_mmap): ...and this. All users updated.
16056 (grub_freebsd_list_modules): Use tags.
16057 (grub_netbsd_add_meta_module): New function.
16058 (grub_netbsd_list_modules): Likewise.
16059 (grub_freebsd_boot): Use relocator and finish EFI.
16060 (grub_openbsd_boot): Likewise.
16061 (grub_netbsd_setup_video): New function.
16062 (grub_netbsd_add_modules): Likewise.
16063 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16064 and finish EFI.
16065 (grub_bsd_unload): Unload tags.
16066 (grub_bsd_load_aout): Use relocator.
16067 (grub_bsd_elf32_size_hook): New function.
16068 (grub_bsd_elf32_hook): Use relocator.
16069 (grub_bsd_elf64_size_hook): New function.
16070 (grub_bsd_elf64_hook): Use relocator.
16071 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16072 (grub_bsd_load): Zero-out openbsd_ramdisk.
16073 (grub_bsd_load): Use relocator.
16074 (grub_cmd_openbsd): Support serial.
16075 (grub_cmd_netbsd): Support modules.
16076 (grub_cmd_freebsd_module): Use relocator.
16077 (grub_netbsd_module_load): New function.
16078 (grub_cmd_netbsd_module): Likewise.
16079 (grub_cmd_openbsd_ramdisk): Likewise.
16080 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16081 kopenbsd_ramdisk.
16082 (GRUB_MOD_FINI): Unregister new commands.
16083 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16084 (grub_freebsd_load_elfmodule_obj): Use relocator.
16085 (grub_freebsd_load_elfmodule): Likewise.
16086 (grub_freebsd_load_elf_meta): Likewise.
16087 (grub_netbsd_load_elf_meta): New function.
16088 (grub_openbsd_find_ramdisk): Likewise.
16089 * grub-core/loader/i386/bsd_helper.S: Removed.
16090 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16091 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16092 * grub-core/loader/i386/efi/linux.c: Likewise.
16093 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16094 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16095 (DEFAULT_VIDEO_MODE): Likewise.
16096 (real_mode_target): New variable.
16097 (prot_mode_target): Likewise.
16098 (initrd_mem_target): Likewise.
16099 (relocator): Likewise.
16100 (efi_mmap_buf): Likewise.
16101 (efi_mmap_size): Likewise.
16102 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16103 (free_pages): Use relocator.
16104 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16105 (grub_linux_setup_video): Return error.
16106 (grub_linux_trampoline_start): Removed.
16107 (grub_linux_trampoline_end): Likewise.
16108 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16109 andd video parameters depending on firmware.
16110 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16111 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16112 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16113 (grub_cmd_initrd): Use relocator.
16114 * grub-core/loader/i386/linux_trampoline.S: Removed.
16115 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16116 (elf_sec_entsize): Likewise.
16117 (elf_sec_shstrndx): Likewise.
16118 (elf_sections): Likewise.
16119 (grub_multiboot_load): Use relocator.
16120 (grub_multiboot_get_mbi_size): Account for sections.
16121 (grub_multiboot_make_mbi): Use relocator and support sections.
16122 (grub_multiboot_add_elfsyms): New function.
16123 (grub_multiboot_free_mbi): Free sections.
16124 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16125 (grub_linux_real_target): Likewise.
16126 (grub_linux_real_chunk): Likewise.
16127 (grub_linux16_prot_size): Likewise.
16128 (grub_linux16_boot): Use relocator.
16129 (grub_linux_unload): Unload relocator.
16130 (grub_cmd_linux): Use relocator.
16131 (grub_cmd_initrd): Likewise.
16132 * grub-core/loader/i386/pc/ntldr.c: New file.
16133 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16134 Don't try to guess CPU frequency.
16135 (grub_xnu_set_video): Stretch bitmap.
16136 (grub_xnu_boot): Use relocator.
16137 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16138 (grub_linux_unload): Free relocator.
16139 (grub_linux_load32): Use relocator.
16140 (grub_linux_load64): Likewise.
16141 (grub_cmd_initrd): Likewise.
16142 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16143 (grub_multiboot_unload): Unload relocator.
16144 (grub_cmd_multiboot): Use relocator.
16145 (grub_cmd_module): Likewise.
16146 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16147 Use relocator and support sections.
16148 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16149 (elf_sec_entsize): Likewise.
16150 (elf_sec_shstrndx): Likewise.
16151 (elf_sections): Likewise.
16152 (grub_multiboot_load): Use relocator.
16153 (grub_multiboot_get_mbi_size): Account for sections.
16154 (grub_multiboot_make_mbi): Use relocator and support sections.
16155 (grub_multiboot_add_elfsyms): New function.
16156 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16157 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16158 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16159 Prototype changed. All users updated.
16160 (grub_xnu_align_heap): Simplified.
16161 (grub_xnu_writetree_toheap): Likewise.
16162 (grub_xnu_unload): Unload relocator.
16163 (grub_cmd_xnu_kernel): Use relocator.
16164 (grub_cmd_xnu_kernel64): Likewise.
16165 (grub_xnu_register_memory): Simplified.
16166 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
16167 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16168 EFI is finished.
16169 (grub_console_checkkey): Likewise.
16170 (grub_console_getkey): Likewise.
16171 (grub_console_getwh): Likewise.
16172 (grub_console_getxy): Likewise.
16173 (grub_console_gotoxy): Likewise.
16174 (grub_console_cls): Likewise.
16175 (grub_console_setcolorstate): Likewise.
16176 (grub_console_setcursor): Likewise.
16177 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16178 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16179 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16180 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16181 * grub-core/tests/boot/kernel-8086.S: Likewise.
16182 * grub-core/tests/boot/kernel-i386.S: Likewise.
16183 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16184 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16185 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16186 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16187 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16188 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16189 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16190 * grub-core/tests/boot/linux.cfg: Likewise.
16191 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16192 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16193 * grub-core/tests/boot/linux16.cfg: Likewise.
16194 * grub-core/tests/boot/multiboot.cfg: Likewise.
16195 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16196 * grub-core/tests/boot/ntldr.cfg: Likewise.
16197 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16198 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16199 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16200 New definition.
16201 * include/grub/dl.h (grub_dl_unload_all): Removed.
16202 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16203 (grub_efi_finish_boot_services): Change prototype.
16204 (grub_efi_is_finished): New variable.
16205 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16206 Changed prototype.
16207 (grub_efiemu_finish_boot_services): Removed.
16208 (grub_machine_efiemu_init_tables): New prototype.
16209 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16210 (grub_elf64_phdr_iterate): Likewise.
16211 * include/grub/i386/bsd.h: Include relocator.h.
16212 (freebsd_tag_header): New struct.
16213 (grub_openbsd_bios_mmap): Removed.
16214 (grub_unix_real_boot): Removed.
16215 (grub_freebsd_load_elfmodule32): Changed prototype.
16216 (grub_freebsd_load_elfmodule_obj64): Likewise.
16217 (grub_freebsd_load_elf_meta32): Likewise.
16218 (grub_freebsd_load_elf_meta64): Likewise.
16219 (grub_freebsd_add_meta): Removed.
16220 (grub_netbsd_load_elf_meta32): New prototype.
16221 (grub_netbsd_load_elf_meta64): Likewise.
16222 (grub_bsd_add_meta): Likewise.
16223 (grub_openbsd_ramdisk_descriptor): New struct.
16224 (grub_openbsd_find_ramdisk32): New prototype.
16225 (grub_openbsd_find_ramdisk64): Likewise.
16226 * include/grub/i386/coreboot/loader.h: Removed.
16227 * include/grub/i386/efi/loader.h: Likewise.
16228 * include/grub/i386/ieee1275/loader.h: Likewise.
16229 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16230 to grub_uint32_t.
16231 * include/grub/i386/loader.h: Removed.
16232 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16233 value.
16234 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16235 (grub_phys_addr_t): New type.
16236 (grub_vtop): New inline function.
16237 (grub_map_memory): Likewise.
16238 (grub_unmap_memory): Likewise.
16239 * include/grub/i386/multiboot/loader.h: Removed.
16240 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16241 (NETBSD_BTINFO_CONSOLE): New definition.
16242 (NETBSD_BTINFO_SYMTAB): Likewise.
16243 (NETBSD_BTINFO_MODULES): Likewise.
16244 (NETBSD_BTINFO_FRAMEBUF): Likewise.
16245 (grub_netbsd_bootinfo): New struct.
16246 (grub_netbsd_btinfo_common): Use explicit bitsize.
16247 (grub_netbsd_btinfo_mmap_entry): Removed.
16248 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
16249 (grub_netbsd_btinfo_bootdisk): New struct.
16250 (grub_netbsd_btinfo_symtab): Likewise.
16251 (grub_netbsd_btinfo_serial): Likewise.
16252 (grub_netbsd_btinfo_modules): Likewise.
16253 (grub_netbsd_btinfo_framebuf): Likewise.
16254 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
16255 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
16256 Likewise.
16257 (grub_openbsd_bootargs): Use explicit bitsize.
16258 (grub_openbsd_bootarg_console): New struct.
16259 (GRUB_OPENBSD_COM_MAJOR): New definition.
16260 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
16261 * include/grub/i386/pc/efiemu.h: Removed.
16262 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
16263 * include/grub/i386/qemu/loader.h: Removed.
16264 * include/grub/i386/relocator.h: Rewritten.
16265 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
16266 * include/grub/mips/memory.h: New file.
16267 * include/grub/mips/multiboot.h: Rewritten.
16268 * include/grub/mips/relocator.h: Rewritten.
16269 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
16270 (grub_vtop): New function.
16271 (grub_map_memory): Likewise.
16272 (grub_unmap_memory): Likewise.
16273 * include/grub/misc.h (ALIGN_DOWN): New definition.
16274 * include/grub/mm.h (grub_mm_check_real): New proto.
16275 (GRUB_MM_CHECK): New definition.
16276 * include/grub/mm_private.h: New file.
16277 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
16278 (grub_multiboot_get_mbi_size): Removed.
16279 (grub_multiboot_make_mbi): Change prottype.
16280 (grub_multiboot_set_accepts_video): New proto.
16281 (grub_multiboot_add_elfsyms): Likewise.
16282 (grub_multiboot_payload_eip): New variable.
16283 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
16284 New prototype.
16285 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
16286 New definition.
16287 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
16288 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
16289 * include/grub/powerpc/ieee1275/loader.h: Removed.
16290 * include/grub/powerpc/memory.h: New file.
16291 * include/grub/powerpc/relocator.h: Likewise.
16292 * include/grub/relocator.h: Likewise.
16293 * include/grub/relocator_private.h: Likewise.
16294 * include/grub/sparc64/ieee1275/loader.h: Removed.
16295 * include/grub/x86_64/memory.h: New file.
16296 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
16297 (grub_xnu_heap_malloc): Likewise.
16298 (grub_xnu_heap_real_start): Removed.
16299 (grub_xnu_heap_start): Likewise.
16300 (grub_xnu_relocator): New variable.
16301 (grub_xnu_heap_target_start): Likewise.
16302 * tests/util/grub-shell.in: Support non-pc.
16303 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 16304
5303b85d
VS
163052010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16306
16307 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
16308 on malloc error.
16309 (grub_bidi_logical_to_visual): Check that malloc succeded.
16310 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
16311 puts.
16312 (grub_xputs_normal): Likewise.
16313
d768d159
VS
163142010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16315
16316 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
16317 extra_dist.
16318
163192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16320
16321 * grub-core/efiemu/runtime/efiemu.sh: Removed.
16322
5bf84df4
VS
163232010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
16326
3626810e
VS
163272010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
16330 dprintf.
16331
a7363f53
BC
163322010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
16333
16334 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
16335
902f75f6
VS
163362010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 * grub-core/normal/term.c (print_more): Fix a memory leak.
16339 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
16340 (grub_xputs_normal): Likewise.
16341
3c707967
VS
163422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16343
16344 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
16345 the begining of the string
16346
2053cc07
VS
163472010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16348
16349 * grub-core/script/script.c (grub_script_parse): Free parsed on
16350 failure.
16351
46422ebf
VS
163522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16353
16354 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
16355 on failure.
16356
9e0fa3f6
VS
163572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16358
16359 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
16360 return.
16361
3393cf16
VS
163622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16363
16364 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
16365 (scroll_up): Fix a memory leak.
16366
b17540cb
VS
163672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16368
16369 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
16370 errors.
16371
67140446
VS
163722010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
16373
16374 Handle USB pendrives exposed as floppies.
16375
16376 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
16377 floppy.
16378 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16379 Check for partitions on all devices.
16380
e35e46fc
VS
163812010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16382
16383 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
16384 (readkey): Likewise.
16385
d24c6190
BC
163862010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
16387
16388 Multiple variable names support to "export" command.
16389
16390 * normal/context.c (grub_cmd_export): "export" command supports
16391 multiple variable names.
16392
04ddcc6a
ST
163932010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
16394
16395 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
16396 --target=drive output to Mach device name.
16397
0c8b61d8
BC
163982010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16399
16400 New Automake based build system for GRUB.
16401
16402 * ABOUT-NLS: New file.
16403 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
16404 in Makefile.util.def file.
16405 * Makefile.util.def: New file. Autogen build definitions file for
16406 GRUB host utils.
16407 * conf/Makefile.common: New file. Common variables for GRUB host
16408 utils and target modules.
16409 * conf/Makefile.extra-dist: New file. Extra files for make dist.
16410 * docs/Makefile.am: New file. Automake file for docs.
16411 * gentpl.py: New file. Python script to generate Autogen
16412 template.
16413 * grub-core/Makefile.am: New file. GRUB target modules' rules
16414 that doesn't fit in Makefile.core.def file.
16415 * grub-core/Makefile.core.def: New file. Autogen build
16416 definitions file for GRUB target modules.
16417 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
16418 specific setjmp.S file.
16419 * po/Makefile.am: New file.
16420
16421 * .bzrignore: New ignores.
16422 * INSTALL: New requirements, without Ruby.
16423 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
16424 * autogen.sh: Updated to invoke autogen as necessary.
16425 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
16426 and defines for Automake conditionals.
16427 * geninit.sh: Refactoring.
16428
16429 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
16430 necessary.
16431 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
16432 New prototype.
16433
16434 * include/grub/test.h: Fix functional test modules' naming.
16435 * grub-core/tests/example_functional_test.c: Fix test module name.
16436
16437 * util/misc.c: Hosted versions' of grub functions for libgrub.a
16438 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
16439 * util/grub-editenv.c: Likewise.
16440 * util/grub-fstest.c: Likewise.
16441 * util/grub-mkdevicemap.c: Likewise.
16442 * util/grub-mkfont.c: Likewise.
16443 * util/grub-mkimage.c: Likewise.
16444 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16445 * util/grub-probe.c: Likewise.
16446 * util/grub-script-check.c: Likewise.
16447 * util/i386/pc/grub-setup.c: Likewise.
16448 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16449
16450 * tests/util/grub-shell.in: Fix override directory path.
16451 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
16452 * util/import_gcry.py: Create Makefile.gcry.def file instead.
16453
16454 * util/lvm.c: Update #includes.
16455 * util/raid.c: Likewise.
16456 * util/resolve.c: Likewise.
16457 * grub-core/bus/emu/pci.c: Likewise.
16458 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
16459 * grub-core/lib/posix_wrap/string.h: Likewise.
16460 * grub-core/kern/emu/main.c: Likewise.
16461
16462 * grub-core/gensymlist.sh: New file. Script for generating kernel
16463 symbols file.
16464 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
16465
16466 * grub-core/gentrigtables.c: Fix unused variable warnings.
16467
16468 * Makefile.in: Removed.
16469 * conf/any-emu.rmk: Removed.
16470 * conf/common.rmk: Removed.
16471 * conf/i386-coreboot.rmk: Removed.
16472 * conf/i386-efi.rmk: Removed.
16473 * conf/i386-ieee1275.rmk: Removed.
16474 * conf/i386-multiboot.rmk: Removed.
16475 * conf/i386-pc.rmk: Removed.
16476 * conf/i386-qemu.rmk: Removed.
16477 * conf/i386.rmk: Removed.
16478 * conf/mips-yeeloong.rmk: Removed.
16479 * conf/mips.rmk: Removed.
16480 * conf/powerpc-ieee1275.rmk: Removed.
16481 * conf/sparc64-ieee1275.rmk: Removed.
16482 * conf/tests.rmk: Removed.
16483 * conf/x86-efi.rmk: Removed.
16484 * conf/x86_64-efi.rmk: Removed.
16485 * gendistlist.sh: Removed.
16486 * geninitheader.sh: Removed.
16487 * genkernsyms.sh.in: Removed.
16488 * genmk.rb: Removed.
16489 * gensymlist.sh.in: Removed.
16490 * mkinstalldirs: Removed.
16491 * boot: Moved ...
16492 * grub-core/boot: ... to here.
16493 * bus: Moved ...
16494 * grub-core/bus: ... to here.
16495 * commands: Moved ...
16496 * grub-core/commands: ... to here.
16497 * disk: Moved ...
16498 * grub-core/disk: ... to here.
16499 * efiemu: Moved ...
16500 * grub-core/efiemu: ... to here.
16501 * font: Moved ...
16502 * grub-core/font: ... to here.
16503 * fs: Moved ...
16504 * grub-core/fs: ... to here.
16505 * gencmdlist.sh: Moved ...
16506 * grub-core/gencmdlist.sh: ... to here.
16507 * genemuinit.sh: Moved ...
16508 * grub-core/genemuinit.sh: ... to here.
16509 * genemuinitheader.sh: Moved ...
16510 * grub-core/genemuinitheader.sh: ... to here.
16511 * genfslist.sh: Moved ...
16512 * grub-core/genfslist.sh: ... to here.
16513 * genhandlerlist.sh: Moved ...
16514 * grub-core/genhandlerlist.sh: ... to here.
16515 * genmoddep.awk: Moved ...
16516 * grub-core/genmoddep.awk: ... to here.
16517 * genmodsrc.sh: Moved ...
16518 * grub-core/genmodsrc.sh: ... to here.
16519 * genpartmaplist.sh: Moved ...
16520 * grub-core/genpartmaplist.sh: ... to here.
16521 * genparttoollist.sh: Moved ...
16522 * grub-core/genparttoollist.sh: ... to here.
16523 * genterminallist.sh: Moved ...
16524 * grub-core/genterminallist.sh: ... to here.
16525 * gentrigtables.c: Moved ...
16526 * grub-core/gentrigtables.c: ... to here.
16527 * genvideolist.sh: Moved ...
16528 * grub-core/genvideolist.sh: ... to here.
16529 * gettext: Moved ...
16530 * grub-core/gettext: ... to here.
16531 * gfxmenu: Moved ...
16532 * grub-core/gfxmenu: ... to here.
16533 * gnulib: Moved ...
16534 * grub-core/gnulib: ... to here.
16535 * hello: Moved ...
16536 * grub-core/hello: ... to here.
16537 * hook: Moved ...
16538 * grub-core/hook: ... to here.
16539 * io: Moved ...
16540 * grub-core/io: ... to here.
16541 * kern: Moved ...
16542 * grub-core/kern: ... to here.
16543 * lib: Moved ...
16544 * grub-core/lib: ... to here.
16545 * loader: Moved ...
16546 * grub-core/loader: ... to here.
16547 * mmap: Moved ...
16548 * grub-core/mmap: ... to here.
16549 * normal: Moved ...
16550 * grub-core/normal: ... to here.
16551 * partmap: Moved ...
16552 * grub-core/partmap: ... to here.
16553 * parttool: Moved ...
16554 * grub-core/parttool: ... to here.
16555 * script: Moved ...
16556 * grub-core/script: ... to here.
16557 * term: Moved ...
16558 * grub-core/term: ... to here
16559 * tests/example_functional_test.c: Moved ...
16560 * grub-core/tests/example_functional_test.c: ... to here.
16561 * tests/lib/functional_test.c: Moved ...
16562 * grub-core/tests/lib/functional_test.c: ... to here.
16563 * tests/lib/test.c: Moved ...
16564 * grub-core/tests/lib/test.c: ... to here.
16565 * video: Moved ...
16566 * grub-core/video: ... to here.
16567
645586e6
BC
165682010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
16569
16570 Replace --enable-grub-emu-modules with grub-emu-lite.
16571
16572 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
16573 cache.S.
16574
16575 * include/grub/emu/misc.h (grub_emu_init): New prototype.
16576 * kern/emu/full.c: New file. For grub-emu specific initialization.
16577 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
16578 * kern/emu/main.c: Call initialization function grub_emu_init.
16579
16580 * Makefile.in: Include grub-emu-lite in install.
16581 * commands/parttool.c: Use grub_no_autoload to differentiate
16582 between grub-emu and grub-emu-lite.
16583 * include/grub/misc.h: New variable grub_no_autoload.
16584
16585 * conf/any-emu.rmk: New rules for grub-emu-lite.
16586 * configure.ac: Remove --enable-grub-emu-modules.
16587 * genmk.rb: Cleanup unnecessary rules.
16588 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
16589
16590 * normal/main.c: Don't load list files on grub-emu-lite.
16591 * util/misc.c (grub_arch_sync_caches): Removed.
16592
f86a4030
CW
165932010-08-23 Colin Watson <cjwatson@ubuntu.com>
16594
16595 * kern/mips/startup.S (grub_prefix): Update comment to refer to
16596 grub-mkimage rather than grub-mkelfimage.
16597 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
16598
06776944
VS
165992010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
16600
16601 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
16602 a key after CapsLock or NumLock. It's just a qemu bug.
16603
df262419
VS
166042010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16605
16606 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
16607 needed by libusb wrapper.
16608
b40ea81b
ST
166092010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16610
16611 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
16612
dee50575
VS
166132010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
16614
16615 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
16616 --nounzip is passed.
16617
fb1d7b79
VS
166182010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
16619
16620 USB hotunplugging and USB serial support.
16621
16622 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
16623 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
16624 (grub_uhci_transfer): Respect timeout and set *actual.
16625 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
16626 non-standard length.
16627 (grub_usb_device_attach): Autoload modules.
16628 (GRUB_MOD_INIT): Set grub_term_poll_usb.
16629 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
16630 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
16631 users updated.
16632 (grub_usb_add_hub): Fill nports and children.
16633 (attach_root_port): Receive hub instead of controller.
16634 All users updated. Fill hub->devices.
16635 (grub_usb_root_hub): Allocate hub->devices.
16636 (detach_device): New function.
16637 (poll_nonroot_hub): Fill children and detach devices.
16638 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
16639 actual arguments. All users updated.
16640 (grub_usb_bulk_read_extended): New function.
16641 * bus/usb/serial/common.c: New file.
16642 * bus/usb/serial/ftdi.c: Likewise.
16643 * bus/usb/serial/pl2303.c: Likewise.
16644 * commands/terminal.c (handle_command): Support wildcard.
16645 * commands/usbtest.c: Output "Unknown" instead of empty string.
16646 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
16647 (usbserial_common_mod_SOURCES): New variable.
16648 (usbserial_common_mod_CFLAGS): Likewise.
16649 (usbserial_common_mod_LDFLAGS): Likewise.
16650 (pkglib_MODULES): Add usbserial_pl2303.mod.
16651 (usbserial_pl2303_mod_SOURCES): New variable.
16652 (usbserial_pl2303_mod_CFLAGS): Likewise.
16653 (usbserial_pl2303_mod_LDFLAGS): Likewise.
16654 (pkglib_MODULES): Add usbserial_ftdi.mod.
16655 (usbserial_ftdi_mod_SOURCES): New variable.
16656 (usbserial_ftdi_mod_CFLAGS): Likewise.
16657 (usbserial_ftdi_mod_LDFLAGS): Likewise.
16658 (pkglib_MODULES): Add serial.mod.
16659 (serial_mod_SOURCES): New variable.
16660 (serial_mod_CFLAGS): Likewise.
16661 (serial_mod_LDFLAGS): Likewise.
16662 * conf/i386-pc.rmk: Likewise.
16663 * conf/mips-yeeloong.rmk: Likewise.
16664 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
16665 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16666 * disk/usbms.c (first_available_slot): New variable.
16667 (grub_usbms_attach): Don't reuse free slots due to potential cache
16668 problems.
16669 * include/grub/serial.h: Moved to ..
16670 * include/grub/ns8250.h: ...this.
16671 * include/grub/serial.h: New file.
16672 * include/grub/term.h (grub_term_poll_usb): New variable.
16673 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
16674 readkey. All users updated.
16675 (grub_terminfo_output_state): Pass term to put.
16676 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
16677 (grub_usb_controller_dev): Add timeout and actual arguments to
16678 transfer. All users updated.
16679 (grub_usb_interface): New field detach_data.
16680 (grub_usb_device): New fields children and nports.
16681 (grub_usb_ep_type_t): New type.
16682 (grub_usb_get_ep_type): New function.
16683 (grub_usb_bulk_read_extended): Likewise.
16684 * include/grub/usbdesc.h (grub_usb_desc): New type.
16685 * include/grub/usbserial.h: New file.
16686 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
16687 * kern/term.c (grub_term_poll_usb): New variable.
16688 (grub_getkey): Call grub_term_poll_usb if set.
16689 (grub_checkkey): Likewise.
16690 (grub_getkeystatus): Likewise.
16691 * term/serial.c: Moved controller-specific parts to ...
16692 * term/ns8250.c: ... here.
16693 * term/serial.c: Mostly rewritten.
16694 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
16695 according to spec.
16696
21a313de
RM
166972010-08-20 Robert Millan <rmh@gnu.org>
16698
16699 Make kFreeBSD code more generic to support ext2fs as root, ufs as
16700 a separate module and maybe other interesting combinations.
16701
16702 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
16703 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
16704 (kfreebsd_entry): Add generic filesystem module load routine.
16705 Map GRUB `ext2' to kFreeBSD `ext2fs'.
16706
63c734a6
CW
167072010-08-20 Colin Watson <cjwatson@ubuntu.com>
16708
16709 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
16710 "numcenter" (I misunderstood the purpose of this entry).
16711 * docs/grub.texi (sendkey): Likewise.
16712
c4d16542
CW
167132010-08-20 Colin Watson <cjwatson@ubuntu.com>
16714
16715 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
16716 status flag options; simply omitting the option is equivalent and
16717 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
16718 (keysym_table): Rename "num5numlock" to "numlock".
16719 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
16720 can uniformly say that only the last of multiple `sendkey'
16721 invocations has any effect.
16722 * docs/grub.texi (sendkey): New section.
16723
93541d66
CW
167242010-08-19 Colin Watson <cjwatson@ubuntu.com>
16725
16726 * commands/i386/pc/sendkey.c (options): Fix three typos.
16727
b4ece5e1
VS
167282010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16729
16730 Implement sendkey support.
16731
16732 * commands/i386/pc/sendkey.c: New file.
16733 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
16734 (sendkey_mod_SOURCES): New variable.
16735 (sendkey_mod_CFLAGS): Likewise.
16736 (sendkey_mod_LDFLAGS): Likewise.
16737
51f1f5af
CW
167382010-08-18 Colin Watson <cjwatson@ubuntu.com>
16739
16740 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
16741 fix warnings from Autoconf.
16742
9da94e05
CW
167432010-08-18 Colin Watson <cjwatson@ubuntu.com>
16744
16745 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
16746 to avoid false positives with some assemblers that output things
16747 like "someprefix_func" as part of their output.
16748
729a0f2e
RM
167492010-08-15 Robert Millan <rmh@gnu.org>
16750
16751 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
16752 errors.
16753 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
16754 grub_get_libzfs_handle() errors.
16755
f3710e08
RM
167562010-08-14 Robert Millan <rmh@gnu.org>
16757
16758 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
16759 filesystem is not ZFS.
16760
7a3c13de
BC
167612010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16762
16763 Fix for misspelled color names defaulting to black/black (bug
16764 reported by Doug Nazar)
16765
16766 * include/grub/normal.h (grub_parse_color_name_pair): Add return
16767 status to prototype.
16768 * normal/color.c (grub_parse_color_name_pair): Return failure
16769 status.
16770 (grub_env_write_color_normal): Ignore bad color names.
16771 (grub_env_write_color_highlight): Likewise.
16772 * normal/main.c (GRUB_MOD_INIT): Set default color names.
16773
ab8ba50d
BC
167742010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16775
16776 "shift" command support to GRUB script.
16777
16778 * include/grub/script_sh.h (grub_script_shift): New prototype.
16779 * script/execute.c (grub_script_shift): New function.
16780 * script/main.c (grub_script_init): Register shift command.
16781 (grub_script_fini): Unregister shift command.
16782 * util/grub-script-check.c (grub_script_cmd_shift): New function.
16783
16784 * tests/grub_script_shift.in: New testcase.
16785 * conf/tests.rmk: Rules for new testcase.
16786
4d61999e
BC
167872010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16788
16789 "continue" command support to GRUB script.
16790
16791 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
16792 (grub_script_break): Continue support.
16793 * script/main.c (grub_script_init): Register continue command.
16794 (grub_script_fini): Unregister continue command.
16795
16796 * tests/grub_script_continue.in: New testcase.
16797 * conf/tests.rmk: Rules for new testcase.
16798
4df51e00
BC
167992010-08-12 BVK Chaitanya <bvk@dbook>
16800
16801 "break" command support to GRUB script.
16802
16803 * conf/common.rmk: Rule updates to grub-script-check.
16804 * include/grub/misc.h (grub_min): New function.
16805 * include/grub/script_sh.h (grub_script_init): New prototype.
16806 (grub_script_fini): New prototype.
16807 (grub_script_break): New prototype.
16808 * script/main.c (grub_script_init): New function.
16809 (grub_script_fini): New function.
16810 * script/execute.c (grub_script_break): New function.
16811 * normal/main.c: Calls to grub_script_{init,fini}.
16812 * util/grub-script-check.c (grub_script_break): New function.
16813
16814 * tests/grub_script_break.in: New testcase.
16815 * conf/tests.rmk: Rules for new test case.
16816
f12c8420
BC
168172010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16818
16819 Function parameters support to GRUB script.
16820
16821 * script/yylex.l (VARIABLE): Regular expression update.
16822 * script/function.c (grub_script_function_call): Moved ...
16823 * script/execute.c (grub_script_function_call): ... to here.
16824 (grub_script_execute_arglist_to_argv): Removed.
16825 (grub_script_arglist_to_argv): New function.
16826 * script/argv.c: New file.
16827 (grub_script_argv_free): New function.
16828 (grub_script_argv_next): Likewise.
16829 (grub_script_argv_append): Likewise.
16830 (grub_script_argv_split_append): Likewise.
16831 * include/grub/script_sh.h (grub_script_argv): New struct.
16832 (grub_script_argv_free): New function.
16833 (grub_script_argv_next): Likewise.
16834 (grub_script_argv_append): Likewise.
16835 (grub_script_argv_split_append): Likewise.
16836
16837 * conf/common.rmk (normal.mod): New source script/argv.c.
16838
16839 * tests/grub_script_echo1.in: More tests.
16840 * tests/grub_script_vars1.in: Likewise.
16841 * tests/grub_script_functions.in: New test case.
16842 * conf/tests.rmk: Rules for new testcase.
16843
8022b748
BC
168442010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
16845
16846 Remove grub_script_cmdblock struct.
16847
16848 * include/grub/script_sh.h: Remove grub_script_cmdblock.
16849 * script/parser.y: Likewise.
16850 * script/execute.c: Rename cmdblock suffix to cmdlist.
16851 * script/script.c: Likewise.
16852 * util/grub-script-check.c: Likewise.
16853
79a6ba61
YB
168542010-08-11 Yves Blusseau <blusseau@zetam.org>
16855
16856 * .bzrignore: add grub-macho2img
16857
d04b9414
VS
168582010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16859
16860 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
16861
f947ab49
VS
168622010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
16863
16864 Remove the dump of sm712 initialisation sequence.
16865
16866 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
16867 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
16868 (GRUB_VGA_IO_MISC_WRITE): Likewise.
16869 (GRUB_VGA_CR_*): Added many registers.
16870 (GRUB_VGA_SR_*): Likewise.
16871 (GRUB_VGA_GR_*): Likewise.
16872 (grub_vga_write_arx): New function.
16873 (grub_video_hw_config): New struct.
16874 (grub_vga_set_geometry): New function.
16875 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
16876 GRUB_PCI_CLASS_SUBCLASS_VGA.
16877 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
16878 * video/sm712.c (grub_sm712_write_reg): New function
16879 (grub_sm712_read_reg): Likewise.
16880 (grub_sm712_sr_write): Likewise.
16881 (grub_sm712_gr_write): Likewise.
16882 (grub_sm712_cr_write): Likewise.
16883 (grub_sm712_write_arx): Likewise.
16884 (grub_sm712_cr_shadow_write): Likewise.
16885 (grub_sm712_write_dda_lookup): Likewise.
16886 (grub_video_sm712_setup): Initialise the video rather then
16887 blindly replay the dump.
16888 (main) [TEST]: Add a routine to be able to compile as standalone for
16889 tests.
16890 * video/sm712_init.c (sm712_init): Removed.
16891 (sm712_sr_seq1): New array.
16892 (sm712_sr_seq2): Likewise.
16893
f0206638
VS
168942010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16895
16896 * include/grub/vga.h: Add missing grub/pci.h include.
16897
2764da3b
YB
168982010-08-10 Yves Blusseau <blusseau@zetam.org>
16899
16900 * util/grub-macho2img.c (main): fix typo
16901
cf0c775e
VS
169022010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
16905 (grub_vga_gr_read): Likewise.
16906 (grub_vga_cr_write): Likewise.
16907 (grub_vga_cr_read): Likewise.
16908 (grub_vga_sr_write): Likewise.
16909 (grub_vga_sr_read): Likewise.
16910 (grub_vga_palette_read): Likewise.
16911 (grub_vga_palette_write): Likewise.
16912 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
16913 (grub_sm712_sr_read): New function.
16914 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
16915 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
16916
07f360e9
RM
169172010-08-09 Robert Millan <rmh@gnu.org>
16918
16919 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
16920 out unused variables on non-ZFS build.
16921
346c2072
RM
169222010-08-08 Robert Millan <rmh@gnu.org>
16923
16924 Fix path generation for sub-filesystems in ZFS.
16925
16926 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
16927 missing slash.
16928
71175420
RM
169292010-08-08 Robert Millan <rmh@gnu.org>
16930
16931 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
16932
0d8286f3
RM
169332010-08-08 Robert Millan <rmh@gnu.org>
16934
16935 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
16936 exist, issue a proper error message (rely on `ls' for translated
16937 strings).
16938
55dd2924
RM
169392010-08-08 Robert Millan <rmh@gnu.org>
16940
16941 Fix grub-probe invocation.
16942
16943 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
16944
d3dd9e80
RM
169452010-08-04 Robert Millan <rmh@gnu.org>
16946
16947 * configure.ac: Remove checks for getfsstat() and getmntany().
16948 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
16949 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
16950 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
16951 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
16952 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
16953 function.
16954 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
16955 via find_mount_point_from_dir() and getfsstat() / getmntany().
16956
0de22aa9
RM
169572010-08-04 Robert Millan <rmh@gnu.org>
16958
16959 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
16960 (grub_find_zpool_from_mount_point): Merge into ...
16961 (grub_find_zpool_from_dir): ... this.
16962 * kern/emu/misc.c: Likewise.
16963
16964 * kern/emu/misc.c
16965 (grub_make_system_path_relative_to_its_root): Replace
16966 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
16967 with grub_find_zpool_from_dir().
16968 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
16969
62858144
RM
169702010-08-04 Robert Millan <rmh@gnu.org>
16971
16972 Support OpenSolaris in ZFS device resolution.
16973
16974 * configure.ac: Check for getmntany().
16975 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
16976 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
16977 support.
16978
9dd6fd50
RM
169792010-08-03 Robert Millan <rmh@gnu.org>
16980
16981 Fix grub-emu build.
16982
16983 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
16984 * include/grub/emu/misc.h: ... here.
16985
16986 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
16987 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
16988
16989 * util/misc.c: Remove `<grub/util/libzfs.h>'.
16990 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
16991 (grub_get_libzfs_handle): Move to ...
16992 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
16993 (grub_get_libzfs_handle): ... here.
16994
c9f7ff97
BC
169952010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
16996
16997 * script/execute.c (grub_script_execute_cmdline): Check for NULL
16998 as command name case.
16999
a870a783
CW
170002010-08-02 Colin Watson <cjwatson@ubuntu.com>
17001
17002 * disk/raid.c (insert_array): Select unique numbers for named arrays
17003 as well, for use as keys in the disk cache.
17004
c7db243b
RM
170052010-08-01 Robert Millan <rmh@gnu.org>
17006
17007 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17008 kFreeBSD device name, except on ZFS where the filesystem label is
17009 used.
17010 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17011 `/boot/zfs/zpool.cache'.
17012 Set mountfrom kernel variable using ${kfreebsd_device}.
17013
f7abdefb
RM
170142010-08-01 Robert Millan <rmh@gnu.org>
17015
17016 Make it even harder to use uninitialized `libzfs_handle' (and
17017 make the interface a bit simpler).
17018
17019 * include/grub/util/misc.h (grub_util_init_libzfs)
17020 (libzfs_handle): Remove.
17021 (grub_get_libzfs_handle): New prototype.
17022
17023 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17024 attribute.
17025 (grub_util_init_libzfs): Remove.
17026 (grub_get_libzfs_handle): New function.
17027
17028 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17029 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17030 accessing `libzfs_handle' directly.
17031
c882acc0
RM
170322010-08-01 Robert Millan <rmh@gnu.org>
17033
17034 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17035 (grub_find_zpool_from_mount_point): New function prototypes.
17036
17037 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17038 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17039
17040 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17041 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17042 `static' attribute.
17043
17044 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17045 finding zpool from mount point into ...
17046 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17047
17048 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17049 requested path is part of a ZFS pool, use
17050 grub_find_zpool_from_mount_point() to detect its filesystem name,
17051 and generate a path with `/fsname@path' syntax.
17052
8bfe31d8
CW
170532010-08-01 Colin Watson <cjwatson@ubuntu.com>
17054
17055 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17056 (void) rather than () so that this is a proper prototype.
17057
553df63d
VS
170582010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17059
17060 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17061
8687cf07
VS
170622010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17063
17064 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17065 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17066
ea9be8ea
CW
170672010-08-01 Colin Watson <cjwatson@ubuntu.com>
17068
17069 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17070
6eea041a
CW
170712010-08-01 Colin Watson <cjwatson@ubuntu.com>
17072
17073 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17074
2cfb45df
CW
170752010-08-01 Colin Watson <cjwatson@ubuntu.com>
17076
17077 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17078 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17079 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17080 disable gfxpayload.
17081 (Shell-like scripting): Add real content.
17082 (Serial terminal): Suggest `terminal_input serial; terminal_output
17083 serial' rather than putting the two commands on separate lines,
17084 since console input will be inoperative after the first command.
17085 (menuentry): Document --class, --users, and --hotkey options.
17086 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17087 Vladimir Serbinenko).
17088
7decd202
VS
170892010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
170902010-08-01 Colin Watson <cjwatson@ubuntu.com>
17091
17092 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17093
c882acc0
RM
170942010-08-01 Robert Millan <rmh@gnu.org>
17095
17096 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17097 (grub_find_zpool_from_mount_point): New function prototypes.
17098
17099 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17100 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17101
17102 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17103 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17104 `static' attribute.
17105
17106 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17107 finding zpool from mount point into ...
17108 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17109
17110 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17111 requested path is part of a ZFS pool, use
17112 grub_find_zpool_from_mount_point() to detect its filesystem name,
17113 and generate a path with `/fsname@path' syntax.
17114
deb0caa3
RM
171152010-08-01 Robert Millan <rmh@gnu.org>
17116
17117 Prevent accidental use of uninitialized libzfs_handle.
17118
17119 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17120 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17121 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17122
ce04ef47
CW
171232010-08-01 Colin Watson <cjwatson@ubuntu.com>
17124
17125 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17126 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17127
ebf53056
RM
171282010-08-01 Robert Millan <rmh@gnu.org>
17129
17130 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 17131
3710bb6b
RM
171322010-07-31 Robert Millan <rmh@gnu.org>
17133
17134 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17135
8072efeb
RM
171362010-07-31 Robert Millan <rmh@gnu.org>
17137
17138 * kern/emu/misc.c: Add missing license header.
17139
3169f4c7
RM
171402010-07-31 Robert Millan <rmh@gnu.org>
17141
17142 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17143
17144 * include/grub/util/libnvpair.h: Include `<config.h>'.
17145 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17146 declaring libnvpair prototypes ourselves.
17147 * include/grub/util/libzfs.h: Include `<config.h>'.
17148 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17149 declaring libzfs prototypes ourselves.
17150
17151 (libzfs_handle): Moved to ...
17152 * include/grub/util/misc.h (libzfs_handle): ... here.
17153 Include `<grub/util/libzfs.h>'.
17154
c9a00aee
RM
171552010-07-30 Robert Millan <rmh@gnu.org>
17156
17157 * include/grub/emu/misc.h: Add missing license header.
17158
a184f9c8
RM
171592010-07-30 Robert Millan <rmh@gnu.org>
17160
17161 Enable `grub-probe -t device' resolution on ZFS.
17162
17163 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17164 * include/grub/util/libnvpair.h: New file.
17165 * include/grub/util/libzfs.h: New file.
17166
17167 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17168 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17169 `<grub/util/libnvpair.h>'.
17170 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17171
17172 (find_mount_point_from_dir): New static function.
17173 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17174 function.
17175 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17176 find_root_device_from_libzfs() before ressorting to find_root_device().
17177
17178 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17179 prototype.
17180 * util/misc.c: Include `<grub/util/libzfs.h>'.
17181 (grub_util_init_libzfs): New function.
17182 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17183 [HAVE_LIBZFS] (fini_libzfs): New static function.
17184 (grub_util_init_libzfs): New function.
17185 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17186
f7790cdd
RM
171872010-07-30 Robert Millan <rmh@gnu.org>
17188
17189 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17190 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17191 `warn_unused_result' attribute.
17192 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17193 (grub_xasprintf, grub_xvasprintf): Likewise.
17194 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17195
0806b63c
RM
171962010-07-29 Robert Millan <rmh@gnu.org>
17197
17198 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17199 (probe): Handle `PRINT_FS_LABEL'.
17200 (main): Handle `-t fs_label'.
17201
9f841f5c
RM
172022010-07-29 Robert Millan <rmh@gnu.org>
17203
17204 * configure.ac: Remove grub-mkisofs checks.
17205
46371121
VS
172062010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17207
17208 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17209 Reported by: Lennart Sorensen.
17210
172112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17212
17213 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17214 prior to terminal_input/terminal_output separation. It's been over 1.5
17215 years and those versions weren't widely deployed.
17216
a9600892
CW
172172010-07-22 Colin Watson <cjwatson@ubuntu.com>
17218
17219 * disk/raid.c (insert_array): Don't count named arrays when looking
17220 for unused array numbers.
697e053c 17221 Reported and tested by: Michael Guntsche.
a9600892 17222
c03507df
CW
172232010-07-20 Colin Watson <cjwatson@ubuntu.com>
17224
17225 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17226 implementation of this so that grub-emu links again, with a note
17227 that this should support hotplugging in the future.
17228
b26f1c11
CW
172292010-07-20 Colin Watson <cjwatson@ubuntu.com>
17230
17231 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17232
efc9d7f1
CW
172332010-07-20 Colin Watson <cjwatson@ubuntu.com>
17234
17235 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17236 handle on failure.
17237 (grub_loopback_close): Remove empty function.
17238 (grub_loopback_dev): Remove close method.
17239
dd8ff5c9
CW
172402010-07-20 Colin Watson <cjwatson@ubuntu.com>
17241
17242 Disable EFI cursor when the EFI console becomes inactive.
17243
17244 * term/efi/console.c (grub_efi_console_init): New function.
17245 (grub_efi_console_fini): New function.
17246 (grub_console_term_output): Register init and fini methods.
17247
5e3bec67
VS
172482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17249
17250 * tests/util/grub-shell-tester.in: Remove bashism and declare as
17251 sh script.
17252
afaec079
VS
172532010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17254
17255 * disk/loopback.c (grub_loopback): Replace filename with file.
17256 (delete_loopback): Handle new semantics.
17257 (grub_cmd_loopback): Likewise.
17258 (grub_loopback_iterate): Likewise.
17259 (grub_loopback_close): Likewise.
17260
a6a11f3c
VS
172612010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17262
17263 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
17264 with -p "".
17265 Reported by: Tito Keitel.
17266
64a638b0
VS
172672010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17268
17269 * docs/grub.texi (Naming convention): Document new naming convention.
17270
ab8ba957
VS
172712010-07-20 Vadim Solomin <vadic052@gmail.com>
172722010-07-20 Colin Watson <cjwatson@ubuntu.com>
17273
17274 Generate device.map in something closer to the old ordering.
17275
17276 * util/deviceiter.c (struct device): New declaration.
17277 (compare_file_names): Rename to ...
17278 (compare_devices): ... this. Sort by kernel name in preference to
17279 the stable by-id name, but keep the latter as a fallback comparison.
17280 Update header comment.
17281 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
17282 of `struct device' rather than of plain file names.
17283
a29d6a4b
TF
172842010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
17285
17286 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
17287 on i386.
17288
39d824e8
VS
172892010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17290
17291 * commands/acpi.c (setup_common_tables): Use sizeof instead of
17292 hardcoding size.
17293 (setv1table): Likewise.
17294
f058276b
FZ
172952010-07-20 Colin Watson <cjwatson@ubuntu.com>
17296
17297 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
17298 removing the homehost if present.
17299 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
17300 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
17301 removing the homehost if present.
17302 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
17303 if possible.
17304 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
17305
17306 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
17307 parameter. Set its pointer target to 0.
17308 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
17309 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
17310 `data_offset' value from the superblock for 1.x metadata.
17311 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
17312 data on the device.
17313 (insert_array): Record the start sector of data on the device.
17314 (grub_raid_register): Pass start_sector parameters to
17315 grub_raid_list->detect and insert_array.
17316 * include/grub/raid.h (struct grub_raid_array): Add start_sector
17317 member.
17318 (struct grub_raid): Add start_sector parameter to `detect'.
17319
17320 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
17321 __attribute__ ((packed)), leaving a comment.
17322 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
17323 (grub_mdraid_detect_09): ... here and ...
17324 (grub_mdraid_detect_1x): ... here.
17325
173262010-07-20 Peter Henn <peter.henn@web.de>
17327
17328 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
17329 chunk size and disk size, which are already given as sector counts
17330 as distinct from the 0.90 units. Fetch the correct device number
17331 from the role table instead of using the table index.
17332
173332010-07-20 Felix Zielcke <fzielcke@z-51.de>
17334
17335 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
17336 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
17337 (WriteMostly1): New macro.
17338 Set array->name to NULL for metadata format 0.90. Add support for
17339 metadata 1.x. Fix some comments.
17340 * disk/raid.c (): Add support for name based RAID arrays. Fix a
17341 few comments.
17342 * util/getroot.c (grub_util_get_grub_dev): Add support for
17343 /dev/md/name style devices.
17344
4b761da9
CW
173452010-07-20 Colin Watson <cjwatson@ubuntu.com>
17346
17347 * .bzrignore: Ignore 20_linux_xen.
17348
5771289a
CW
173492010-07-17 Colin Watson <cjwatson@ubuntu.com>
17350
17351 * util/import_unicode.py: Remove unnecessary imports.
17352
5dab68df
AN
173532010-07-17 Aleš Nesrsta <starous@volny.cz>
17354
17355 Hotplugging and USB hub support.
17356
17357 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
17358 (grub_ohci): Likewise.
17359 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
17360 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
17361 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
17362 (GRUB_OHCI_CTRL_EDS): Likewise.
17363 (GRUB_OHCI_BULK_EDS): Likewise.
17364 (GRUB_OHCI_TDS): Likewise.
17365 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
17366 (grub_ohci_ed_phys2virt): New function.
17367 (grub_ohci_virt_to_phys): Likewise.
17368 (grub_ohci_td_phys2virt): Likewise.
17369 (grub_ohci_td_virt2phys): Likewise.
17370 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
17371 attachment.
17372 (grub_ohci_find_ed): New function.
17373 (grub_ohci_alloc_td): Likewise.
17374 (grub_ohci_free_td): Likewise.
17375 (grub_ohci_free_tds): Likewise.
17376 (grub_ohci_transfer): Use previously allocated memory.
17377 (grub_ohci_portstatus): Reset status changed bit.
17378 (grub_ohci_detect_dev): Supply status changed.
17379 (grub_ohci_fini_hw): Free memory.
17380 (grub_ohci_restore_hw): Reallocate memory.
17381 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
17382 Reset status change.
17383 (grub_uhci_detect_dev): Supply status_change.
17384 * bus/usb/usb.c (attach_hooks): New var.
17385 (grub_usb_device_attach): New function.
17386 (grub_usb_register_attach_hook_class): Likewise.
17387 (grub_usb_unregister_attach_hook_class): Likewise.
17388 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
17389 (grub_usb_add_hub): Reset connection changed bit.
17390 (attach_root_port): New function.
17391 (grub_usb_root_hub): Likewise.
17392 (poll_nonroot_hub): Likewise.
17393 (grub_usb_poll_devices): Likewise.
17394 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
17395 * disk/usbms.c (grub_usbms_open): Use device hooks.
17396 (grub_usbms_iterate) :Poll devices.
17397 (grub_usbms_finddevs): Split into ...
17398 (grub_usbms_attach): ... this ...
17399 (grub_usbms_attach): ... and this.
17400 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
17401 in detect_dev.
17402 (grub_usb_interface): New fields attached and detach_hook.
17403 (grub_usb_attach_hook_class): New type.
17404 (grub_usb_attach_desc): New struct.
17405 (grub_usb_register_attach_hook_class): New function.
17406 (grub_usb_unregister_attach_hook_class): Likewise.
17407 (grub_usb_poll_devices): Likewise.
17408 (grub_usb_device_attach): Likewise.
17409 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
17410 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
17411
3222efaf
VS
174122010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
17415 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
17416 delta determination style. Works with most NetBSD partitions too.
17417
139b714a
VS
174182010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17419
17420 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
17421 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
17422
986aad56
VS
174232010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
17424
17425 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
17426
99be513c
AB
174272010-07-14 Anton Blanchard <anton@samba.org>
17428
17429 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
17430 ET_DYN files.
17431
18075f62
GS
174322010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17433
17434 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
17435
8d9a5b15
GS
174362010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
17437
17438 * kern/partition.c (grub_partition_check_containment): New function to
17439 check that a partition is physically contained in a parent. Since
17440 offsets are relative (and non-negative), this reduces to checking that
17441 the partition ends before its parent.
17442 (grub_partition_map_probe): Discard out-of-range sub-partitions.
17443 (grub_partition_iterate): Likewise.
17444 * include/grub/partition.h (grub_partition_map): Slightly more detailed
17445 comments.
17446 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
17447 partitions that start before their parent, and add debug printfs.
17448
19563c25
CW
174492010-07-13 Colin Watson <cjwatson@ubuntu.com>
17450
17451 * Makefile.in (.SUFFIX): Spell correctly, as ...
17452 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
17453 bare module name without `.mod', e.g. `test') tried to invoke a
17454 Modula-2 compiler.
17455
1a1f1e67
CW
174562010-07-13 Colin Watson <cjwatson@ubuntu.com>
17457
17458 * README: Point to the Info manual.
17459
811b0dca
JS
174602010-07-13 Jiro SEKIBA <jir@unicus.jp>
17461
17462 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
17463 2nd superblock position from partition size.
17464
e4f4eafc
CW
174652010-07-10 Colin Watson <cjwatson@ubuntu.com>
17466
17467 * Makefile.in (MAINTAINER_CLEANFILES): Remove
17468 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
17469 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
17470 outputs.
17471
4274c30f
VS
174722010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17473
17474 Restructure SCSI .id handling.
17475 Reported and tested by: Aleš Nesrsta.
17476
17477 * disk/ata.c (grub_atapi_close): Removed. All users updated.
17478 (grub_atapi_dev): Changed .name to "ata". New field .id.
17479 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
17480 (grub_usbms_dev): New field .id.
17481 * disk/scsi.c (grub_scsi_iterate): Generate name.
17482 (grub_scsi_open): Parse name.
17483 * include/grub/scsi.h (grub_make_scsi_id): New function.
17484 (grub_scsi_dev): Change iterate and open to number instead of naming
17485 busses. All users updated.
17486 (grub_scsi): Remove name. Add .bus.
17487
5bc24388
VS
174882010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17489
17490 * commands/help.c (grub_cmd_help): Fix a typo.
17491
249975ba
VS
174922010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
17495 Reported and tested by: Colin Watson.
17496
3eaac1a1
VS
174972010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
17498
17499 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
17500 in this context.
17501
becce1b1
VS
175022010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
17503
17504 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
17505
f7bf0918
CW
175062010-07-07 Colin Watson <cjwatson@ubuntu.com>
17507
17508 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
17509 indentation.
17510
0b0f9620
CW
175112010-07-06 Colin Watson <cjwatson@ubuntu.com>
17512
17513 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
17514 and disk/raid6_recover.c.
17515 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17516 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17517
1e545469
CW
175182010-07-06 Colin Watson <cjwatson@ubuntu.com>
17519
17520 * term/gfxterm.c (repaint_schedulded): Rename to ...
17521 (repaint_scheduled): ... this. Update all callers.
17522 (repaint_was_schedulded): Rename to ...
17523 (repaint_was_scheduled): ... this. Update all callers.
17524
5357687a
CW
175252010-07-06 Colin Watson <cjwatson@ubuntu.com>
17526
17527 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
17528 which we expect to be handled by upper layers.
17529
29d7e783
BC
175302010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
17531
17532 * bus/usb/usbhub.c: #include time.h header.
17533
37582066
CW
175342010-07-06 Colin Watson <cjwatson@ubuntu.com>
17535
17536 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
17537 entry_name also for entries without stat blocks (e.g. ".."); fixes
17538 corruption of the first entry in a directory.
17539
c8c06953
CW
175402010-07-06 Colin Watson <cjwatson@ubuntu.com>
17541
17542 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
17543 after setting gfxterm as the active terminal. GRUB_BACKGROUND
17544 doesn't work otherwise.
17545
e75056f1
CW
175462010-07-05 Colin Watson <cjwatson@ubuntu.com>
17547
17548 * docs/grub.texi (Features): Update list of supported file systems.
17549 (GNU/Linux): Update for GRUB 2.
17550 (Serial terminal): Remove mention of --disable-serial, which was a
17551 GRUB Legacy configure option. Update instructions to use
17552 `terminal_input' and `terminal_output' rather than `terminal'.
17553 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
17554 configuration' and `Installing GRUB using grub-install'.
17555 (Menu entry editor): Update for GRUB 2.
17556 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
17557 Document new -a, -u, and -v options.
17558 (initrd): New section.
17559 (initrd16): New section.
17560 (linux): New section.
17561 (linux16): New section.
17562 (search): The `var' argument to `--set' is optional.
17563 (GRUB only offers a rescue shell): Go into a little more detail on
17564 drive ordering.
17565
5cf69151
CW
175662010-07-05 Colin Watson <cjwatson@ubuntu.com>
17567
17568 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
17569
e3f90044
CW
175702010-07-05 Colin Watson <cjwatson@ubuntu.com>
17571
17572 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
17573 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
17574
38d8f4f3
CW
175752010-07-05 Colin Watson <cjwatson@ubuntu.com>
17576
17577 * util/i386/pc/grub-setup.c (setup): Rename prefix to
17578 install_prefix, in line with install_dos_part and install_bsd_part.
17579 Add new prefix variable, which is copied to install_prefix after
17580 comparing core.img in memory with the one read from disk in the
17581 no-embedding case, and use that rather than overwriting
17582 install_prefix immediately when installing to a partition.
17583 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
17584 Bicakci.
17585
57ebd41e
GS
175862010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17587
17588 * configure.ac: Avoid == in test command, it's not portable.
17589 * util/grub.d/30_os-prober.in: Likewise.
17590
cb7f64b2
CW
175912010-07-04 Colin Watson <cjwatson@ubuntu.com>
17592
17593 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
17594
6b654bb0
GS
175952010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
17596
17597 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
17598 multiple (top-level) partmaps.
17599
72a2026d
VS
176002010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17601
17602 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 17603 Reported by: Tino Keitel.
72a2026d 17604
df3eb88f
VS
176052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17606
17607 Bidi and diacritics support.
17608
17609 * Makefile.in (widthspec.bin): New target.
17610 (widthspec.h): Likewise.
17611 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
17612 * autogen.sh: Generate unidata.c.
17613 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
17614 * commands/ls.c (grub_ls_list_devices): Likewise.
17615 (grub_ls_list_files): Likewise.
17616 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
17617 (grub_mini_cmd_lsmod): Likewise.
17618 * commands/read.c: Likewise.
17619 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
17620 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
17621 * lib/arg.c (grub_arg_show_help): Likewise.
17622 * lib/crypto.c (grub_password_get): Likewise.
17623 * normal/auth.c (grub_username_get): Likewise.
17624 * normal/misc.c (grub_normal_print_device_info): Likewise.
17625 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
17626 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
17627 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
17628 (normal/charset.c_DEPENDENCIES): New variable.
17629 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
17630 (pkglib_MODULES): Remove charset.mod.
17631 (charset_mod_SOURCES): Removed.
17632 (charset_mod_CFLAGS): Likewise.
17633 (charset_mod_LDFLAGS): Likewise.
17634 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
17635 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
17636 and term/tparm.c.
17637 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17638 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
17639 (kernel_img_HEADERS): Add terminfo.h.
17640 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
17641 Fill ->font. Reverse ascii bitmaps.
17642 (grub_font_get_xheight): New function.
17643 * font/font.c (grub_font_get_string_width): Moved from here ...
17644 * gfxmenu/font.c (grub_font_get_string_width): ... here.
17645 * font/font.c (grub_font_draw_string): Moved from here ...
17646 * gfxmenu/font.c (grub_font_draw_string): ... here.
17647 * font/font.c (grub_font_dup_glyph): New function.
17648 (grub_font_blit_glyph): Likewise.
17649 (grub_font_blit_glyph_mirror): Likewise.
17650 (blit_comb): Likewise.
17651 (grub_font_construct_dry_run): Likewise.
17652 (grub_font_get_constructed_device_width): Likewise.
17653 (grub_font_construct_glyph): Likewise.
17654 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
17655 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
17656 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
17657 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
17658 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
17659 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
17660 (grub_font_get_xheight): New proto.
17661 (grub_font_get_constructed_device_width): Likewise.
17662 (grub_font_construct_glyph): Likewise.
17663 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
17664 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
17665 * include/grub/font.h (grub_font_draw_string): Moved from here ...
17666 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
17667 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
17668 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
17669 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
17670 (grub_console_getcharwidth): Likewise.
17671 * include/grub/misc.h (grub_xputs): New proto.
17672 (grub_puts): Inlined.
17673 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
17674 (grub_normal_get_line_counter): Removed.
17675 (grub_install_newline_hook): Likewise.
17676 (grub_normal_get_char_counter): New proto.
17677 (grub_normal_reset_more): Likewise.
17678 (grub_xputs_normal): Likewise.
17679 * include/grub/powerpc/ieee1275/console.h: Removed.
17680 * include/grub/sparc64/ieee1275/console.h: Likewise.
17681 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
17682 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
17683 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
17684 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
17685 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
17686 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
17687 (grub_term_input): Pass reference to self. All users updated.
17688 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
17689 Pass reference to self. New fields normal_color, highlight_color and
17690 data. All users updated.
17691 (grub_putchar): Removed.
17692 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
17693 (grub_unicode_estimate_width): New function.
17694 (grub_term_getcharwidth): Add defaults.
17695 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
17696 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
17697 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
17698 (grub_cls): Remove EXPORT_FUNC.
17699 (grub_setcolorstate): Inline.
17700 (grub_newline_hook): Removed.
17701 * include/grub/terminfo.h: Rewritten. All users updated.
17702 * include/grub/unicode.h: New file.
17703 * include/grub/video.h (grub_video_signed_rect): New type.
17704 * kern/emu/console.c (grub_console_highlight_color): Removed.
17705 (grub_console_normal_color): Likewise.
17706 (grub_console_standard_color): Made static.
17707 (grub_ncurses_putchar): Remove mapping.
17708 (grub_ncurses_getcharwidth): Removed.
17709 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17710 (grub_ncurses_setcolor): Removed.
17711 (grub_ncurses_getcolor): Likewise.
17712 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
17713 (grub_console_putchar): ... this.
17714 (grub_console_putchar): Handle argument difference.
17715 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
17716 console_init_early and console_init_lately.
17717 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
17718 * kern/misc.c (grub_puts): Removed.
17719 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
17720 (grub_vsnprintf_real): Remove str = NULL support.
17721 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
17722 * normal/charset.c (grub_utf8_to_ucs4): ... here.
17723 * kern/term.c (grub_putcode): Renamed to ...
17724 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
17725 (grub_putchar): Removed.
17726 (grub_xputs_dumb): New function.
17727 (grub_xputs): New variable.
17728 * lib/charset.c: Move from here ...
17729 * normal/charset.c: ... to here.
17730 (grub_ucs4_to_utf8): New function.
17731 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
17732 (join_types): New variable.
17733 (unpack_join): New function.
17734 (bidi_types): New variable.
17735 (unpack_bidi): New function.
17736 (get_bidi_type): Likewise.
17737 (get_join_type): Likewise.
17738 (is_mirrored): Likewise.
17739 (grub_unicode_get_comb_type): Likewise.
17740 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
17741 (is_type_after): Likewise.
17742 (grub_unicode_aglomerate_comb): Likewise.
17743 (bidi_line_wrap): Likewise.
17744 (grub_bidi_line_logical_to_visual): Likewise.
17745 (grub_bidi_logical_to_visual): Likewise.
17746 (grub_unicode_mirror_code): Likewise.
17747 (grub_unicode_shape_code): Likewise.
17748 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
17749 Don't use grub_putchar.
17750 * normal/main.c (grub_normal_init_page): Use grub_putcode.
17751 (grub_normal_reader_init): Likewise.
17752 (grub_xputs_saved): New variable.
17753 (GRUB_MOD_INIT): Set grub_xputs.
17754 (GRUB_MOD_FINI): Restore grub_xputs.
17755 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
17756 (menu_init): Avoid printing gfxmenu error.
17757 (show_menu): Use grub_normal_get_char_counter.
17758 * normal/menu_entry.c (update_screen): Fix out-of-array.
17759 (complete): Avoid NULL dereferencing.
17760 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
17761 * normal/menu_text.c (print_spaces): Removed.
17762 (grub_print_ucs4): Likewise.
17763 (grub_print_message_indented): Use grub_print_ucs4.
17764 (print_message): Use grub_putcode.
17765 (print_entry): Hanlde diacritics.
17766 * normal/term.c (term_state): New type.
17767 (grub_more_lines): Removed.
17768 (term_states): New variable.
17769 (grub_normal_line_counter): Renamed to ..
17770 (grub_normal_char_counter): ...this. All users updated.
17771 (grub_normal_get_line_counter): Renamed to ...
17772 (grub_normal_get_char_counter): ... this.
17773 (grub_normal_reset_more): New function.
17774 (process_newline): Removed.
17775 (print_more): New function.
17776 (grub_install_newline_hook): Removed.
17777 (map_code): New function.
17778 (grub_puts_terminal): Use grub_print_ucs4.
17779 (putglyph): New function.
17780 (putcode_real): Likewise.
17781 (grub_putcode): Use putcode_real.
17782 (get_maxwidth): New function.
17783 (get_startwidth): Likewise.
17784 (print_ucs4_terminal): Likewise.
17785 (find_term_state): Likewise.
17786 (put_glyphs_terminal): Likewise.
17787 (print_backlog): Likewise.
17788 (print_ucs4_real): Likewise.
17789 (grub_print_ucs4): Likewise.
17790 (grub_xputs_normal): Likewise.
17791 * term/efi/console.c (grub_console_putchar): Output diacritics.
17792 (grub_console_getcharwidth): Removed.
17793 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17794 * term/gfxterm.c (clear_char): Free chars.
17795 (scroll_up): Avoid leaking memory.
17796 (grub_gfxterm_putchar): Support diacritics.
17797 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
17798 * term/i386/pc/console.c (grub_console_term_output): Declare as
17799 GRUB_TERM_CODE_TYPE_VGA.
17800 * term/i386/pc/vga.c (grub_vga_term): Declare as
17801 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
17802 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
17803 GRUB_TERM_CODE_TYPE_VGA.
17804 * term/i386/vga_common.c (map_char): Removed.
17805 (grub_console_putchar): Likewise.
17806 (grub_console_getcharwidth): Likewise.
17807 * term/ieee1275/ofconsole.c: Simplify using terminfo.
17808 (colors): Reordered to match terminfo.
17809 (grub_ofconsole_normal_color): Removed.
17810 (grub_ofconsole_writeesc): Likewise.
17811 (grub_ofconsole_highlight_color): Likewise.
17812 (grub_ofconsole_getcharwidth): Likewise.
17813 (grub_ofconsole_setcolorstate): Likewise.
17814 (grub_ofconsole_setcolor): Likewise.
17815 (grub_ofconsole_getcolor): Likewise.
17816 (grub_ofconsole_readkey): Renamed to ...
17817 (readkey): ... this. Remove escape sequence handling. Return -1 on no
17818 key.
17819 (grub_ofconsole_checkkey): Removed.
17820 (grub_ofconsole_getkey): Likewise.
17821 (grub_ofconsole_getxy): Likewise.
17822 (grub_ofconsole_gotoxy): Likewise.
17823 (grub_ofconsole_cls): Likewise.
17824 (grub_ofconsole_refresh): Likewise.
17825 (grub_ofconsole_terminfo_input): New struct.
17826 (grub_ofconsole_terminfo_output): Likewise.
17827 (grub_ofconsole_term_input): Use terminfo.
17828 (grub_ofconsole_term_output): Likewise.
17829 (grub_console_init): Split into ...
17830 (grub_console_init_early): ...this and ...
17831 (grub_console_init_lately): ...this. Use terminfo.
17832 (grub_ofconsole_putchar): Renamed to ...
17833 (put): ... this. Remove mapping.
17834 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
17835 * term/serial.c: Simplify using terminfo.
17836 (xpos): Removed.
17837 (ypos): Likewise.
17838 (keep_track): Likewise.
17839 (registered): Likewise.
17840 (input_buf): Likewise.
17841 (npending): Likewise.
17842 (serial_translate_key_sequence): Likewise.
17843 (fill_input_buf): Likewise.
17844 (grub_serial_checkkey): Likewise.
17845 (grub_serial_getkey): Likewise.
17846 (grub_serial_getxy): Likewise.
17847 (grub_serial_gotoxy): Likewise.
17848 (grub_serial_putchar): Likewise.
17849 (grub_serial_cls): Likewise.
17850 (grub_serial_setcolorstate): Likewise.
17851 (grub_serial_setcursor): Likewise.
17852 (serial_hw_init): Use serial_hw_fetch.
17853 (grub_serial_terminfo_input): New variable.
17854 (grub_serial_terminfo_output): Likewise.
17855 (grub_serial_term_input): Use terminfo.
17856 (grub_serial_term_output): Likewise.
17857 * term/terminfo.c (putstr): Use put.
17858 (grub_terminfo_all_free): New function
17859 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
17860 (grub_terminfo_output_register): New function.
17861 (grub_terminfo_output_unregister): Likewise.
17862 (grub_terminfo_getxy): Likewise.
17863 (grub_terminfo_readkey): Likewise.
17864 (grub_terminfo_checkkey): Likewise.
17865 (grub_terminfo_getkey): Likewise.
17866 (grub_terminfo_input_init): Likewise.
17867 (print_terminfo): Likewise.
17868 (grub_cmd_terminfo): Handle encoding.
17869 (grub_terminfo_gotoxy): Track position.
17870 (grub_terminfo_cls): Likewise.
17871 (grub_terminfo_putchar): Likewise.
17872 (grub_terminfo_setcolorstate): Handle colors
17873 (grub_terminfo_cursor_on): This ...
17874 (grub_terminfo_cursor_off): ... and this merged into ...
17875 (grub_terminfo_setcursor): ... this.
17876 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
17877 * unicode/ArabicShaping.txt: New file (imported from Unicode).
17878 * unicode/BidiMirroring.txt: Likewise.
17879 * unicode/UnicodeData.txt: Likewise.
17880 * unicode/COPYING: Likewise.
17881 * util/grub-editenv.c (grub_putchar): Removed.
17882 (grub_xputs_real): New function.
17883 (grub_xputs): New variable.
17884 * util/grub-fstest.c (grub_putchar): Removed.
17885 (grub_xputs_real): New function.
17886 (grub_xputs): New variable.
17887 * util/grub-mkdevicemap.c (grub_putchar): Removed.
17888 (grub_xputs_real): New function.
17889 (grub_xputs): New variable.
17890 * util/grub-probe.c (grub_putchar): Removed.
17891 (grub_xputs_real): New function.
17892 (grub_xputs): New variable.
17893 * util/grub-script-check.c (grub_putchar): Removed.
17894 (grub_xputs_real): New function.
17895 (grub_xputs): New variable.
17896 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
17897 (grub_xputs_real): New function.
17898 (grub_xputs): New variable.
17899 * util/import_unicode.py: New file.
17900 * util/grub-mkfont.c (ft_errmsgs): New array.
17901 (grub_glyph_info): Make bitmap a pointer.
17902 (file_formats): New type WIDTH_SPEC.
17903 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
17904 (options): Add width-spec.
17905 (help): Likewise.
17906 (add_char): Renamed to ...
17907 (add_glyph): ... this.
17908 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
17909 (glyph_replace): New type.
17910 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
17911 (add_char): New function.
17912 (add_subst): Likewise.
17913 (process_cursive): Likewise.
17914 (add_font): Handle GSUB.
17915 (write_font_width_spec): New function.
17916 (main): Sort glyphs.
17917 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
17918 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
17919 * kern/term.c (grub_cls): Moved from here...
17920 * normal/term.c (grub_cls): ... here.
17921
50f0bcda
CW
179222010-07-02 Colin Watson <cjwatson@ubuntu.com>
17923
17924 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
17925 suitable for using within the format argument of printf when
17926 converting grub_size_t.
17927 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
17928 "x" to convert grub_size_t arguments.
17929
40372103
VS
179302010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17931
17932 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
17933 too long captions.
17934 (list_get_minimal_size): Take selection box into account.
17935
942a10c7
VS
179362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17937
17938 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
17939 NULL font.
17940
2bdb2892
CW
179412010-07-02 Colin Watson <cjwatson@ubuntu.com>
17942
17943 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
17944 devices when iterating over /dev/disk/by-id; they will be handled
17945 later if appropriate, which they aren't always (e.g. LVM).
17946
e03ed6c1
CW
179472010-07-02 Colin Watson <cjwatson@ubuntu.com>
17948
17949 * include/grub/misc.h (grub_reboot): Declare as noreturn.
17950 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
17951 fails.
17952 (grub_halt): Likewise.
17953 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
17954 reset-all fails.
17955 (grub_halt): Don't return, even if all of shut-down, power-off, and
17956 poweroff fail.
17957
47695765
CW
179582010-07-02 Colin Watson <cjwatson@ubuntu.com>
17959
17960 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
17961 arguments, not three.
17962
507736c8
CW
179632010-07-02 Colin Watson <cjwatson@ubuntu.com>
17964
17965 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
17966 * util/grub.d/10_linux.in: Use it to check for LVM, so that
17967 LVM-on-RAID is handled correctly.
17968
e3c8cd37
CW
179692010-07-02 Colin Watson <cjwatson@ubuntu.com>
17970
17971 * docs/grub.texi (Changes from GRUB Legacy): New section.
17972 (Future): Fix typo.
17973
8d4a2fec
CW
179742010-07-02 Colin Watson <cjwatson@ubuntu.com>
17975
17976 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
17977 grub.d/README accidentally ends up executable for one reason or
17978 another. Ignore it.
17979
1c4827be
VS
179802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17981
17982 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
17983 (gpt_partition_map_iterate): Support non-512B sectors.
17984
d9a0c941
VS
179852010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 * kern/efi/init.c (grub_efi_init): Disable watchdog.
17988 Tested by: Seth Goldberg.
17989
48f27e87
VS
179902010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
17991
17992 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
17993 Properly align mbi.
17994 Reported by: Seth Goldberg.
17995
b0c4f956
VS
179962010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
17997
17998 * util/grub-mkrescue.in: Avoid module duplication.
17999
105a2e8c
SF
180002010-07-01 Sean Finney <seanius@seanius.net>
18001
18002 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18003
5944958c
SF
180042010-07-01 Sean Finney <seanius@seanius.net>
18005
18006 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18007
180082010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18009
18010 * disk/lvm.c (grub_lvm_checkvalue): New function.
18011 (grub_lvm_check_flag): Likewise.
18012
b79889ba
RM
180132010-07-01 Robert Millan <rmh@gnu.org>
18014
18015 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18016 Support 'p' as partition separator on kernel of FreeBSD (used
18017 with GPT labels).
18018 (grub_util_biosdisk_get_grub_dev): Likewise.
18019
ec1d04f1
VS
180202010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18021
18022 Yeeloong firmware port.
18023
18024 * boot/mips/yeeloong/fwstart.S: New file.
18025 * bus/cs5536.c (gpiodump): New const.
18026 (set_io_space): New function.
18027 (set_iod): Likewise.
18028 (set_p2d): Likewise.
18029 (grub_cs5536_init_geode): Likewise.
18030 * commands/mips/yeeloong/lsspd.c: New file.
18031 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18032 (serial_mod_SOURCES): New variable.
18033 (serial_mod_CFLAGS): Likewise.
18034 (serial_mod_LDFLAGS): Likewise.
18035 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18036 term/terminfo.c and term/tparm.c.
18037 (pkglib_IMAGES): Add fwstart.img.
18038 (fwstart_img_SOURCES): New variable.
18039 (fwstart_img_CFLAGS): Likewise.
18040 (fwstart_img_ASFLAGS): Likewise.
18041 (fwstart_img_LDFLAGS): Likewise.
18042 (fwstart_img_FORMAT): Likewise.
18043 (pkglib_MODULES): Add lsspd.mod.
18044 (lsspd_mod_SOURCES): New variable.
18045 (lsspd_mod_CFLAGS): Likewise.
18046 (lsspd_mod_LDFLAGS): Likewise.
18047 (pkglib_MODULES): Add halt.mod.
18048 (halt_mod_SOURCES): New variable.
18049 (halt_mod_CFLAGS): Likewise.
18050 (halt_mod_LDFLAGS): Likewise.
18051 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18052 (serial_mod_SOURCES): Removed.
18053 (serial_mod_CFLAGS): Likewise.
18054 (serial_mod_LDFLAGS): Likewise.
18055 * disk/ata.c (check_device): New function.
18056 (grub_ata_device_initialize): Use check_device.
18057 (grub_ata_iterate): Recheck devices.
18058 (grub_ata_open): Likewise.
18059 (grub_atapi_iterate): Likewise.
18060 (grub_atapi_open): Likewise.
18061 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18062 (GRUB_ATA_CH1_PORT1): Likewise.
18063 (GRUB_ATA_CH0_PORT2): Likewise.
18064 (GRUB_ATA_CH1_PORT2): Likewise.
18065 * include/grub/mips/loongson.h: New file.
18066 * include/grub/mips/yeeloong/ec.h: Likewise.
18067 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18068 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18069 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18070 * include/grub/misc.h (grub_halt): Declare as noreturn.
18071 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18072 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18073 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18074 (UART_ENABLE_DTRRTS): Likewise.
18075 (UART_ENABLE_MODEM): Removed.
18076 (UART_ENABLE_OUT2): New const.
18077 * include/grub/term.h (grub_term_register_input_active): New function.
18078 (grub_term_register_output_active): Likewise.
18079 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18080 argument.
18081 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18082 (init_pci): New function.
18083 (grub_machine_init): Execute platform init when firmware. Init serial.
18084 (grub_halt): Implement.
18085 (grub_exit): Likewise.
18086 (grub_reboot): Likewise.
18087 * term/serial.c (serial_hw_init): Update macros.
18088 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18089 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18090 (image_targets): New target mipsel-yeeloong-flash.
18091 (generate_image): Support IMAGE_YEELOONG_FLASH.
18092 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18093 (grub_video_sm712_setup): Init card.
18094 (grub_video_sm712_set_palette): Removed.
18095 * video/sm712_init.c: New file.
18096
ff4a70d2
CW
180972010-06-30 Colin Watson <cjwatson@ubuntu.com>
18098
18099 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18100 PATH when running help2man and then run it on the unadorned
18101 executable names, rather than passing $(builddir)/* paths to
18102 help2man. This avoids the build directory ending up in generated
18103 manual pages.
18104
1246efeb
CW
181052010-06-29 Colin Watson <cjwatson@ubuntu.com>
18106
18107 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18108 to avoid accidents when debugging with 'sh -x'.
18109 * util/grub-mkrescue.in: Likewise.
18110 * util/grub.d/00_header.in: Likewise.
18111 * util/grub.d/10_hurd.in: Likewise.
18112 * util/grub.d/10_kfreebsd.in: Likewise.
18113 * util/grub.d/10_linux.in: Likewise.
18114 * util/grub.d/10_netbsd.in: Likewise.
18115 * util/grub.d/10_windows.in: Likewise.
18116 * util/grub.d/20_linux_xen.in: Likewise.
18117 * util/grub.d/30_os-prober.in: Likewise.
18118 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18119
1ba9b889
CW
181202010-06-29 Colin Watson <cjwatson@ubuntu.com>
18121
18122 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18123 last character in the buffer.
18124 Reported by: Vladimir Serbinenko.
18125
dccaf99d
RM
181262010-06-29 Robert Millan <rmh@gnu.org>
18127
18128 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18129 (Command-line and menu entry commands): Document `badram' command.
18130
d500ed12
RM
181312010-06-28 Robert Millan <rmh@gnu.org>
18132
18133 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18134 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18135 command using ${GRUB_BADRAM} as parameter.
18136
20bc84a6
CW
181372010-06-28 Colin Watson <cjwatson@ubuntu.com>
18138
18139 * docs/grub.texi (Device map): New section.
18140 (Themes): New section (stub).
18141 * Makefile.in (docs/grub.info): The info documentation now builds
18142 without errors. Make sure it stays that way.
18143
4045dee1
VS
181442010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18145
18146 Use normal parser for menu entries.
18147 Reported by: Thomas Frauendorfer
18148
18149 * include/grub/parser.h (grub_parser_execute): Don't export.
18150 * normal/menu.c (grub_menu_execute_entry_real): New function.
18151 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18152
bca58c7b
CW
181532010-06-28 Colin Watson <cjwatson@ubuntu.com>
18154
18155 * docs/grub.texi (Embedded configuration): New section (replacing
18156 old "Preset Menu" stub).
18157 (Images): New section.
18158 (configfile): Note that any menu entries defined in `file' are shown
18159 immediately.
18160
dec53e63
JT
181612010-06-28 Josh Triplett <josh@joshtriplett.org>
18162
18163 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18164
c06e40f7
CW
181652010-06-28 Colin Watson <cjwatson@ubuntu.com>
18166
18167 * util/grub-install.in: Add --debug-image= option.
18168
cb88052b
CW
181692010-06-28 Colin Watson <cjwatson@ubuntu.com>
18170
18171 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18172 possible on Linux.
18173
18174 * util/deviceiter.c (check_device): Rename to ...
18175 (check_device_readable_unique): ... this. Update all callers.
18176 Maintain and check a list of which devices (by canonicalized name)
18177 have already been seen.
18178 (clear_seen_devices): New function.
18179 (compare_file_names) [__linux__]: New function.
18180 (grub_util_iterate_devices): Clear the list of seen devices on exit
18181 and (just in case) on entry.
18182 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18183 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18184 seen-devices list, superseded by general code in check_device.
18185
bbe34652
CW
181862010-06-28 Colin Watson <cjwatson@ubuntu.com>
18187
18188 * commands/cat.c (options): New variable.
18189 (grub_cmd_cat): Parse options. If the --dos option is given, print
18190 DOS-style "\r\n" line endings as simple newlines (Debian bug
18191 #586358).
18192 (GRUB_MOD_INIT): Use extcmd.
18193 (GRUB_MOD_FINI): Likewise.
18194 * docs/grub.texi (cat): Document --dos.
18195
412e09f3
VS
181962010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18197
18198 XEN with Linux grub-mkconfig support.
18199
18200 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18201 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18202 GRUB_CMDLINE_XEN_DEFAULT.
18203 * util/grub.d/20_linux_xen.in: New file.
18204
53f3ef38 182052010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
18206
18207 Initialise VGA video on qemu ourselves.
18208
18209 * boot/i386/qemu/boot.S: Don't call 0xc000.
18210 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18211 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18212 (kernel_img_HEADERS): Add pci.h.
18213 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18214 * configure.ac: Force unifont on qemu and yeeloong.
18215 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18216 (grub_vga_palette_write): Use correct register.
18217 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18218 Call grub_qemu_init_cirrus.
18219 * kern/i386/qemu/init.c: New file.
18220 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18221
18222 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18223
c75be4fb
PR
182242010-06-26 Pavel Roskin <proski@gnu.org>
18225
18226 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18227 13.
18228
d8034603
CW
182292010-06-26 Colin Watson <cjwatson@ubuntu.com>
18230
18231 * docs/grub.texi (Simple configuration): Explain that
18232 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18233 set to `true' to disable their respective recovery entries, not
18234 merely set.
18235
3fa06487
CW
182362010-06-26 Colin Watson <cjwatson@ubuntu.com>
18237
18238 Make the `source' command slightly faster.
18239
18240 * normal/main.c (grub_normal_execute): Don't re-read list files when
18241 nested.
18242
e9b29642
CW
182432010-06-23 Colin Watson <cjwatson@ubuntu.com>
18244
18245 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
18246 field position and mask size to red fields from mode_info, not
18247 green.
18248 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
18249 Remove redundant tag->common.framebuffer_type assignment.
18250 Reported by: Seth Goldberg.
18251
e726542f
CW
182522010-06-23 Colin Watson <cjwatson@ubuntu.com>
18253
18254 Sync up other versions of the Linux loader with Robert Millan's
18255 change of 2010-01-09, "Make loader output a bit more user-friendly".
18256
18257 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
18258 grub_dprintf().
18259 (grub_cmd_linux): Likewise.
18260 (grub_cmd_initrd): Likewise.
18261 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
18262 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18263
d6e98a17
CW
182642010-06-21 Colin Watson <cjwatson@ubuntu.com>
18265
18266 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
18267 larger than MEMORY_MAP_SIZE.
18268
14d3f08e
BC
182692010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
18270
18271 Fix parallel build.
18272
18273 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
18274 dependency.
18275 * script/parser.y: #include grub_script.tab.h header.
18276
4f9613a3
VS
182772010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18278
18279 Support >3GiB and <16MiB RAM in i386-qemu.
18280
18281 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
18282 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
18283 (grub_lower_mem): Removed.
18284 (grub_upper_mem): Likewise.
18285 (mem_size): Made static.
18286 (above_4g): New variable.
18287 (grub_machine_mmap_init): Detect small mem_size and above_4g.
18288 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
18289 support.
18290
05e51879
VS
182912010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18292
18293 Cirrus 5446 and Bochs video cards support.
18294
18295 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
18296 video_bochs.mod
18297 (video_cirrus_mod_SOURCES): New variable.
18298 (video_cirrus_mod_CFLAGS): Likewise.
18299 (video_cirrus_mod_LDFLAGS): Likewise.
18300 (video_bochs_mod_SOURCES): Likewise.
18301 (video_bochs_mod_CFLAGS): Likewise.
18302 (video_bochs_mod_LDFLAGS): Likewise.
18303 * include/grub/vga.h: New file.
18304 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
18305 (grub_video_fb_set_page_t): New type.
18306 (grub_video_fb_setup): New prototype.
18307 (grub_video_fb_swap_buffers): Likewise.
18308 (grub_video_fb_get_info_and_fini): Likewise.
18309 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
18310 (CRTC_DATA_PORT): Likewise.
18311 (CRTC_CURSOR): Likewise.
18312 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18313 (CRTC_CURSOR_ADDR_LOW): Likewise.
18314 (CRTC_CURSOR_DISABLE): Likewise.
18315 (update_cursor): Use grub_vga_cr_write.
18316 (grub_vga_text_setcursor): Likewise.
18317 * video/bochs.c: New file.
18318 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
18319 (palette): Likewise.
18320 (palette_size): Likewise.
18321 (framebuffer): New variable.
18322 (grub_video_fb_init): Use 'framebuffer'.
18323 (grub_video_fb_fini): Likewise.
18324 (grub_video_fb_get_info): Likewise.
18325 (grub_video_fb_get_palette): Likewise.
18326 (grub_video_fb_set_palette): Likewise.
18327 (grub_video_fb_set_viewport): Likewise.
18328 (grub_video_fb_get_viewport): Likewise.
18329 (grub_video_fb_map_color): Likewise.
18330 (grub_video_fb_map_rgb): Likewise.
18331 (grub_video_fb_map_rgba): Likewise.
18332 (grub_video_fb_unmap_color): Likewise.
18333 (grub_video_fb_unmap_color_int): Likewise.
18334 (grub_video_fb_fill_rect): Likewise.
18335 (grub_video_fb_blit_bitmap): Likewise.
18336 (grub_video_fb_blit_render_target): Likewise.
18337 (grub_video_fb_scroll): Likewise.
18338 (grub_video_fb_create_render_target): Likewise.
18339 (grub_video_fb_doublebuf_blit_init): Likewise.
18340 (grub_video_fb_set_active_render_target): Handle doublebuffering.
18341 (doublebuf_pageflipping_update_screen): New function.
18342 (doublebuf_pageflipping_init): Likewise.
18343 (grub_video_fb_setup): Likewise.
18344 (grub_video_fb_swap_buffers): Likewise.
18345 (grub_video_fb_get_info_and_fini): Likewise.
18346 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
18347 All users updated.
18348 (doublebuf_pageflipping_commit): Restructured into ...
18349 (doublebuf_pageflipping_set_page): ... this.
18350 (doublebuf_pageflipping_update_screen): Removed.
18351 (doublebuf_pageflipping_init): Likewise.
18352 (double_buffering_init): Likewise.
18353 (grub_video_vbe_setup): Use grub_video_fb_setup.
18354 (grub_video_vbe_swap_buffers): Removed.
18355 (grub_video_vbe_set_active_render_target): Likewise.
18356 (grub_video_vbe_get_active_render_target): Likewise.
18357 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
18358 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
18359 grub_video_fb_set_active_render_target and
18360 grub_video_fb_get_active_render_target.
18361 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
18362 (SEQUENCER_DATA_PORT): Likewise.
18363 (MAP_MASK_REGISTER): Likewise.
18364 (CRTC_ADDR_PORT): Likewise.
18365 (CRTC_DATA_PORT): Likewise.
18366 (START_ADDR_HIGH_REGISTER): Likewise.
18367 (START_ADDR_LOW_REGISTER): Likewise.
18368 (GRAPHICS_ADDR_PORT): Likewise.
18369 (GRAPHICS_DATA_PORT): Likewise.
18370 (READ_MAP_REGISTER): Likewise.
18371 (INPUT_STATUS1_REGISTER): Likewise.
18372 (INPUT_STATUS1_VERTR_BIT): Likewise.
18373 (get_map_mask): Use grub_vga_sr_read.
18374 (set_map_mask): Use grub_vga_sr_write.
18375 (set_read_map): Use grub_vga_gr_write.
18376 (set_start_address): Use grub_vga_cr_write.
18377 * video/sm712.c (framebuffer): Remove leftover fields.
18378
4321c64a
CW
183792010-06-20 Colin Watson <cjwatson@ubuntu.com>
18380
18381 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
18382 setting GRUB_VIDEO_BACKEND. Make it available as a user override
18383 instead. Replace the gfxterm backend check with a check that
18384 ${GRUB_PREFIX}/video.lst is non-empty.
18385 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
18386 again.
18387 (load_video): New generated function. Call it before loading
18388 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
18389 * util/grub.d/10_linux.in (linux_entry): Call load_video.
18390 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
18391 * docs/grub.texi (Simple configuration): Document
18392 GRUB_VIDEO_BACKEND.
18393
183942010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18395
18396 Use video functions in linux and xnu loaders.
18397
18398 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
18399 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
18400 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
18401 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
18402 loader/i386/pc/linux.c.
18403 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
18404 (find_line_len): Removed.
18405 (find_framebuf): Likewise.
18406 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
18407 * loader/i386/efi/xnu.c: Removed.
18408 * loader/i386/pc/xnu.c: Moved from here...
18409 * loader/i386/xnu.c: ...here.
18410
18411 Enable priorities in video drivers.
18412
18413 * include/grub/video.h (grub_video_adapter_prio_t): New type.
18414 (grub_video_adapter): New field prio.
18415 (grub_video_register): Respect prio when inserting.
18416 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
18417 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
18418 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
18419 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
18420 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
18421 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
18422 * video/sm712.c (grub_video_sm712_adapter): Likewise.
18423
18424 Fix SDL driver ID.
18425
18426 * include/grub/video.h (grub_video_driver_id_t): New value
18427 GRUB_VIDEO_DRIVER_SDL.
18428 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
18429
7d24e434
CW
184302010-06-17 Colin Watson <cjwatson@ubuntu.com>
18431
18432 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
18433 argument to printf.
18434 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18435
c88a83f6
CW
184362010-06-17 Colin Watson <cjwatson@ubuntu.com>
18437
18438 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
18439 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18440
094dfb69
CW
184412010-06-17 Colin Watson <cjwatson@ubuntu.com>
18442
18443 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
18444 directly, and recommend grub-install instead.
18445 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
18446
2164da6b
CW
184472010-06-17 Colin Watson <cjwatson@ubuntu.com>
18448
18449 Fix i386-pc prefix handling with nested partitions (Debian bug
18450 #585068). Note that the case where the core image is booted using
18451 multiboot and relocated from its original location still requires
18452 more work.
18453
18454 * kern/i386/pc/init.c (make_install_device): If the prefix starts
18455 with "(,", fill the boot drive in between those two characters, but
18456 expect that a full partition specification including partition map
18457 names will follow.
18458 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
18459 specified, write a prefix without the drive name but including a
18460 full partition specification.
18461
044e2e60
CW
184622010-06-16 Colin Watson <cjwatson@ubuntu.com>
18463
18464 * util/grub-mkconfig.in: Ignore non-option arguments, for
18465 compatibility with older versions (before 2010-06-12) which did the
18466 same. In particular, this makes it easier to ship an update-grub
18467 wrapper which is compatible with that used with GRUB Legacy (Debian
18468 bug #586056).
18469
5591324f
GS
184702010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18471
18472 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
18473 for manual page generation.
18474
662e24d5
GS
184752010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18476
18477 * po/POTFILES: Remove leftover commands/handler.c.
18478
8d70754e
CW
184792010-06-14 Colin Watson <cjwatson@ubuntu.com>
18480
18481 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
18482 left this script non-functional.
18483
41160e2e
CW
184842010-06-14 Colin Watson <cjwatson@ubuntu.com>
18485
18486 * docs/man/grub-emu.h2m: New file.
18487
b5309cc1
CW
184882010-06-13 Colin Watson <cjwatson@ubuntu.com>
18489
18490 * docs/grub.texi (Commands): Document reduced command set in rescue
18491 mode.
18492 (cpuid): New section.
18493
fcb2d090
GS
184942010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
18495
18496 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
18497 new partition naming style.
18498 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
18499
96e5c556
BC
185002010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
18501
18502 Add "-o grub.iso" like cmdline options support.
18503
18504 * util/grub-install.in: Improve cmdline option parsing.
18505 * util/grub-mkconfig.in: Likewise.
18506 * util/grub-mkrescue.in: Likewise.
18507 * util/grub-reboot.in: Likewise.
18508 * util/grub-set-default.in: Likewise.
18509 * util/i386/efi/grub-install.in: Likewise.
18510 * util/ieee1275/grub-install.in: Likewise.
18511 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18512
c16be99b
CW
185132010-06-12 Colin Watson <cjwatson@ubuntu.com>
18514
18515 * .bzrignore: Ignore 41_custom.
18516
ce08a9fb
TS
185172010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18518
18519 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
18520
7beac90c
CW
185212010-06-12 Colin Watson <cjwatson@ubuntu.com>
18522
18523 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
18524 prototype declarations.
18525
18526 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
18527 generating fs, partmap, and video lists.
18528 * include/grub/fs.h (grub_fs_register): Omit prototype if
18529 GRUB_LST_GENERATOR is defined.
18530 * include/grub/partition.h (grub_partition_map_register): Likewise.
18531 * include/grub/video.h (grub_video_register): Likewise.
18532
1c8f0f8d
JM
185332010-06-12 Javier Martín <lordhabbit@gmail.com>
18534
18535 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
18536
a6085973
TS
185372010-06-12 Thomas Schmitt <scdbackup@gmx.net>
18538
18539 * util/grub-mkrescue.in: Support --xorriso argument.
18540
25c56d29
VS
185412010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18542
18543 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
18544 Suggested by: Thomas Schmitt.
18545
e03e4b24
VS
185462010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18547
18548 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
18549 Suggested by: Thomas Schmitt.
18550
57711df6
VS
185512010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18552
18553 custom.cfg support.
18554
18555 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
18556 * util/grub.d/41_custom.in: New file.
18557
ee62c427
CW
185582010-06-12 Colin Watson <cjwatson@ubuntu.com>
18559
18560 * util/grub-mkrescue.in (make_image): Remove sh module, which has
18561 been merged back into normal.
18562
283af07a
CW
185632010-06-11 Colin Watson <cjwatson@ubuntu.com>
18564
18565 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
18566 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
18567
56a0d956
CW
185682010-06-11 Colin Watson <cjwatson@ubuntu.com>
18569
18570 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
18571 when generating manual pages.
18572 * docs/man/grub-bin2h.h2m: New file.
18573 * docs/man/grub-editenv.h2m: New file.
18574 * docs/man/grub-fstest.h2m: New file.
18575 * docs/man/grub-install.h2m: New file.
18576 * docs/man/grub-macho2img.h2m: New file.
18577 * docs/man/grub-mkconfig.h2m: New file.
18578 * docs/man/grub-mkdevicemap.h2m: New file.
18579 * docs/man/grub-mkfont.h2m: New file.
18580 * docs/man/grub-mkimage.h2m: New file.
18581 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
18582 * docs/man/grub-mkrelpath.h2m: New file.
18583 * docs/man/grub-mkrescue.h2m: New file.
18584 * docs/man/grub-ofpathname.h2m: New file.
18585 * docs/man/grub-pe2elf.h2m: New file.
18586 * docs/man/grub-probe.h2m: New file.
18587 * docs/man/grub-reboot.h2m: New file.
18588 * docs/man/grub-script-check.h2m: New file.
18589 * docs/man/grub-set-default.h2m: New file.
18590 * docs/man/grub-setup.h2m: New file.
18591
3a37e322
VS
185922010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
18593
18594 Use FOR_* macros instead of *_iterate whenever possible.
18595
18596 * commands/handler.c: Removed.
18597 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
18598 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
18599 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18600 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
18601 (grub_probe_SOURCES): Remove kern/parser.c.
18602 (util/grub-script-check.c_DEPENDENCIES): Removed.
18603 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
18604 and grub_script_check_init.c.
18605 (grub_script_check_init.lst): Removed.
18606 (grub_script_check_init.h): Likewise.
18607 (grub_script_check_init.c): Likewise.
18608 (pkglib_MODULES): Remove handler.mod and sh.mod.
18609 (handler_mod_SOURCES): Removed.
18610 (handler_mod_CFLAGS): Likewise.
18611 (handler_mod_LDFLAGS): Likewise.
18612 (normal_mod_SOURCES): Remove normal/handler.c.
18613 Add script/main.c, script/script.c, script/execute.c,
18614 script/function.c, script/lexer.c, grub_script.tab.c
18615 and grub_script.yy.c.
18616 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18617 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18618 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
18619 (grub_setup_SOURCES): Remove kern/parser.c.
18620 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18621 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
18622 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
18623 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18624 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18625 (grub_setup_SOURCES): Remove kern/parser.c.
18626 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
18627 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
18628 * include/grub/command.h (grub_command_iterate): Removed.
18629 (FOR_COMMANDS): New macro.
18630 * include/grub/dl.h (grub_dl): New member next.
18631 (grub_dl_iterate): Removed.
18632 (grub_dl_head): New variable declaration.
18633 (FOR_DL_MODULES): New macro.
18634 * include/grub/fs.h: Include list.h.
18635 (grub_fs): Make next first element.
18636 (grub_fs_list): New variable declaration.
18637 (grub_fs_register): Make inline.
18638 (grub_fs_unregister): Likewise.
18639 (grub_fs_iterate): Removed.
18640 (FOR_FILESYSTEMS): New macro.
18641 * include/grub/handler.h: Removed.
18642 * include/grub/list.h (grub_list_hook_t): Removed.
18643 (grub_list_test_t): Likewise.
18644 (grub_list_pop): Likewise.
18645 (grub_list_iterate): Likewise.
18646 (grub_list_insert): Likewise.
18647 (FOR_LIST_ELEMENTS): New macro.
18648 * include/grub/parser.h (grub_parser_class): Removed.
18649 (grub_parser_register): Likewise.
18650 (grub_parser_unregister): Likewise.
18651 (grub_parser_get_current): Likewise.
18652 (grub_parser_set_current): Likewise.
18653 (grub_register_rescue_parser): Likewise.
18654 (grub_rescue_parse_line): New function.
18655 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
18656 * include/grub/script_sh.h (grub_script_function_list): New variable
18657 declaration.
18658 (FOR_SCRIPT_FUNCTIONS): New macro.
18659 (grub_script_function_iterate): Removed.
18660 (grub_normal_parse_line): New prototype.
18661 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
18662 (FOR_DISABLED_TERM_INPUTS): Likewise.
18663 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18664 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18665 * include/grub/video.h (grub_video_adapter): Move 'next' to first
18666 element.
18667 (grub_video_register): Inline.
18668 (grub_video_unregister): Likewise.
18669 (grub_video_adapter_list): New variable declaration.
18670 (grub_video_iterate): Removed.
18671 (FOR_VIDEO_ADAPTERS): New macro.
18672 * kern/dl.c (grub_dl_list): Removed. All users updated.
18673 (grub_dl_iterate): Removed.
18674 * kern/fs.c (grub_fs_list): Make global.
18675 (grub_fs_register): Removed.
18676 (grub_fs_unregister): Likewise.
18677 (grub_fs_iterate): Likewise.
18678 * kern/handler.c: Removed.
18679 * kern/list.c (grub_list_pop): Removed.
18680 (grub_list_iterate): Likewise.
18681 (grub_list_insert): Likewise.
18682 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
18683 (grub_prio_list_insert): Don't use grub_list_insert.
18684 * kern/main.c (grub_register_rescue_parser): Don't call
18685 grub_register_rescue_parser.
18686 * kern/parser.c (grub_parser_class): Removed.
18687 (grub_parser_execute): Use grub_rescue_parse_line.
18688 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
18689 (grub_rescue_parser): Removed.
18690 (grub_register_rescue_parser): Likewise.
18691 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
18692 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
18693 (grub_auth_check_authentication): Likewise.
18694 * normal/completion.c (iterate_command): Removed.
18695 (grub_normal_do_completion): Use FOR_COMMANDS.
18696 * normal/handler.c: Removed.
18697 * normal/main.c (read_config_file): Remove parser changing.
18698 (grub_normal_execute): Don't call read_handler_list.
18699 (grub_normal_read_line_real): Statically allocate prompt.
18700 (grub_cmdline_run): Use grub_normal_parse_line.
18701 (GRUB_MOD_FINI): Don't call free_handler_list.
18702 * normal/menu_entry.c (run): Likewise.
18703 * script/function.c (grub_script_function_list): Make global.
18704 (grub_script_function_iterate): Removed.
18705 * script/main.c (grub_normal_parse_line): Make global.
18706 (grub_sh_parser): Removed.
18707 (GRUB_MOD_INIT): Likewise.
18708 (GRUB_MOD_FINI): Likewise.
18709 * tests/lib/functional_test.c (grub_functional_test): Use
18710 FOR_LIST_ELEMENTS.
18711 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
18712 (grub_test_run): Use FOR_LIST_ELEMENTS.
18713 * tests/lib/unit_test.c (main): Likewise.
18714 * util/deviceiter.c (grub_util_iterate_devices): Don't use
18715 grub_list_pop.
18716 * util/grub-fstest.c (grub_term_input_class): Removed.
18717 (grub_term_output_class): Likewise.
18718 * util/grub-probe.c: Likewise.
18719 * util/i386/pc/grub-setup.c: Likewise.
18720 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18721 * util/grub-script-check.c (main): Don't call grub_init_all and
18722 grub_fini_all.
18723 * video/video.c (grub_video_adapter_list): Make global.
18724 (grub_video_register): Removed.
18725 (grub_video_unregister): Likewise.
18726 (grub_video_iterate): Likewise.
18727
6289c3a7
VS
187282010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
18729
18730 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
18731 reported by Henrique Ferreiro.
18732
91460247
RM
187332010-06-09 Robert Millan <rmh@gnu.org>
18734
18735 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
18736 ones, when both are available.
18737
0ea7c4f9
GS
187382010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18739
18740 Make --version uniform and avoid hard-coded program name.
18741
18742 * util/grub-mkimage.c (main): Use `program_name' instead of
18743 hard-coded string.
18744 * util/i386/pc/grub-setup.c (main): Likewise.
18745 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
18746 * util/grub-install.in: Save the basename of $0 in $self, and use the
18747 latter in informational messages. Use the same format for --version
18748 as the binary programs.
18749 * util/grub-mkconfig.in: Likewise.
18750 * util/grub-mkrescue.in: Likewise.
18751 * util/grub-reboot.in: Likewise.
18752 * util/grub-set-default.in: Likewise.
18753 * util/i386/efi/grub-install.in: Likewise.
18754 * util/ieee1275/grub-install.in: Likewise.
18755 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18756
e8a6f3b6
GS
187572010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18758
18759 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
18760 embedding area. Use <= instead of == when checking for non-emptiness.
18761
f4d095d7
GS
187622010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
18763
18764 * configure.ac: Add `.' to the directories searched for unifont.
18765
50e532ca
CW
187662010-06-08 Colin Watson <cjwatson@ubuntu.com>
18767
18768 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
18769 grub_script.yy.h.
18770
d39f3dec
CW
187712010-06-08 Colin Watson <cjwatson@ubuntu.com>
18772
18773 * docs/grub.texi (History): Expand to cover GRUB 2.
18774 (Serial terminal): Refer to `terminal_input' and `terminal_output'
18775 commands, not `terminal'.
18776 (serial): Likewise.
18777 (terminal_input): New section.
18778 (terminal_output): New section.
18779 (uppermem): New section (stub).
18780 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
18781
6ef0ddb4
CW
187822010-06-08 Colin Watson <cjwatson@ubuntu.com>
18783
18784 * docs/grub.texi (Security): Menu entries are unrestricted by
18785 default, not restricted to superusers as I had previously thought.
18786 Reword to account for this.
18787
e0f4c438
CW
187882010-06-07 Colin Watson <cjwatson@ubuntu.com>
18789
18790 * kern/emu/misc.c (device_mapper_null_log): New function.
18791 (grub_device_mapper_supported): New function.
18792 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
18793 prototype.
18794 * kern/emu/hostdisk.c (find_partition_start): Check whether
18795 device-mapper is supported before trying to use it.
18796 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
18797
da908200
CW
187982010-06-07 Colin Watson <cjwatson@ubuntu.com>
18799
18800 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
18801 (File name syntax): Likewise.
18802 (help): --all is no longer supported in GRUB 2. Be more precise
18803 about pattern matching.
18804
fb55c3ac
CW
188052010-06-07 Colin Watson <cjwatson@ubuntu.com>
18806
18807 * normal/completion.c (grub_normal_do_completion): When completing
18808 arguments to "set" and the current word contains an equals sign,
18809 skip to after the equals sign before starting completion.
18810
258c2573
CW
188112010-06-07 Colin Watson <cjwatson@ubuntu.com>
18812
18813 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
18814
ee75515e
CW
188152010-06-07 Colin Watson <cjwatson@ubuntu.com>
18816
18817 * docs/grub.texi (Network): New section.
18818 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
18819 `(nd)' as in GRUB Legacy.
18820 (pxe_unload): New section.
18821
a6a700aa
CW
188222010-06-07 Colin Watson <cjwatson@ubuntu.com>
18823
18824 * docs/grub.texi (Troubleshooting): `echo' is not usually available
18825 in the rescue shell, so recommend using `set' instead. Thanks,
18826 Jordan Uggla.
18827
4003dd38
CW
188282010-06-07 Colin Watson <cjwatson@ubuntu.com>
18829
18830 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
18831 (password): New section.
18832 (password_pbkdf2): New section.
18833 (search): New section.
18834 (Security): New section.
18835 (Troubleshooting): New section, currently very incomplete.
18836 (Invoking grub-mkpasswd-pbkdf2): New section.
18837 (Internals): New section, currently very incomplete.
18838
e1cbcc40
CW
188392010-06-07 Colin Watson <cjwatson@ubuntu.com>
18840
18841 * util/grub.d/00_header.in: Add some more quoting (of
18842 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
18843 work again.
18844 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
18845
db8fa1ad
CW
188462010-06-07 Colin Watson <cjwatson@ubuntu.com>
18847
18848 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
18849 to `count', fixing variable shadowing that broke the -c option.
18850
188512010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
18852
18853 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
18854 in case they contain spaces.
18855
f28a9212
CW
188562010-06-04 Colin Watson <cjwatson@ubuntu.com>
18857
18858 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
18859 "part_" to partmap module names, in line with grub-install.
18860 Reported by: Jindřich Makovička (Debian bug #584426).
18861
9cdfe32f
CW
188622010-06-04 Colin Watson <cjwatson@ubuntu.com>
18863
18864 * util/grub-mkimage.c: Make target-related error messages slightly
18865 more helpful; -O talks about "format". Explicitly point to the use
18866 of -O if no target is specified.
18867 Reported by: Didier Raboud (Debian bug #584415).
18868
795b593a
CW
188692010-06-03 Colin Watson <cjwatson@ubuntu.com>
18870
18871 * INSTALL: Document several build requirements for optional features
18872 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
18873
9d9b5833
GS
188742010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
18875
18876 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
18877 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
18878 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
18879
0819fec8
CW
188802010-06-02 Colin Watson <cjwatson@ubuntu.com>
18881
18882 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
18883 Thanks to Jordan Uggla for spotting this.
18884
49396b4f
VS
188852010-06-02 Aleš Nesrsta <starous@volny.cz>
18886
18887 Finally make USB usable.
18888
18889 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
18890 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
18891 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
18892 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
18893 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
18894 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
18895 (GRUB_OHCI_FSMPS): Likewise.
18896 (GRUB_OHCI_PERIODIC_START): Likewise.
18897 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
18898 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
18899 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
18900 (GRUB_OHCI_SET_PORT_RESET): Likewise.
18901 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
18902 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
18903 (grub_ohci_transaction): Likewise.
18904 (grub_ohci_transfer): Improve condition detection algorithms.
18905 Handle toggle property. Program the transactions correctly.
18906 Improve error handling. Various important fixups.
18907 (grub_ohci_portstatus): Put register writes in right order.
18908 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
18909 (grub_uhci_transfer): Don't show "failed" message on success.
18910 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
18911 array.
18912 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
18913 determine its size.
18914 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
18915 before initialization is completed. Use IN direction for empty
18916 transfers. Use last_trans and compute toggle.
18917 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
18918 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
18919 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
18920 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
18921 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
18922 (grub_usb_device): Increase toggle to 256.
18923 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
18924 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
18925 GRUB_USBMS_SUBCLASS_SFF8070.
18926 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
18927 (grub_scsi_inquiry): New member page and alloc_length.
18928 (grub_scsi_request_sense): New structure.
18929 (grub_scsi_request_sense_data): Likewise.
18930 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
18931 control.
18932 * disk/scsi.c (grub_scsi_request_sense): New function.
18933 (grub_scsi_test_unit_ready): Likewise.
18934 (grub_scsi_inquiry): Fill new fields.
18935 (grub_scsi_read_capacity): Likewise.
18936 (grub_scsi_read10): Add request sense at the end.
18937 (grub_scsi_read12): Likewise.
18938 (grub_scsi_write10): Likewise.
18939 (grub_scsi_write12): Likewise.
18940 (grub_scsi_open): Add Test Unit Ready.
18941 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
18942 Support additional subclasses. Con't clear halt yet. Activate the
18943 proper config. Calculate LUNs correctly.
18944 (grub_usbms_transfer): Various important fixups.
18945
189462010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
18949 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
18950 (grub_ohci_fini_hw): New function.
18951 (grub_ohci_restore_hw): Likewise.
18952 (GRUB_MOD_INIT(ohci)): Register preboot hook.
18953 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
18954 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
18955
189562010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 Dedicated DMA allocations.
18959
18960 * bus/pci.c (grub_memalign_dma32): New function
18961 (grub_dma_free): Likewise.
18962 (grub_dma_get_virt): Likewise.
18963 (grub_dma_get_phys): Likewise.
18964 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
18965 (grub_ohci_pci_iter): Use dma32_alloc.
18966 (grub_ohci_transfer): Likewise.
18967 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18968 (grub_usb_bulk_readwrite): Likewise.
18969 * include/grub/pci.h: Add declarations.
18970
189712010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
18972
18973 CS5536 support.
18974
18975 * bus/cs5536.c: New file.
18976 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
18977 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
18978 (cs5536_mod_SOURCES): New variable.
18979 (cs5536_mod_CFLAGS): Likewise.
18980 (cs5536_mod_LDFLAGS): Likewise.
18981 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
18982 machine/pci.h.
18983 (kernel_img_SOURCES): Add bus/cs5536.c.
18984 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
18985 usb_keyboard.mod.
18986 (usb_mod_SOURCES): New variable.
18987 (usb_mod_CFLAGS): New variable.
18988 (usb_mod_LDFLAGS): New variable.
18989 (usbtest_mod_SOURCES): New variable.
18990 (usbtest_mod_CFLAGS): New variable.
18991 (usbtest_mod_LDFLAGS): New variable.
18992 (ohci_mod_SOURCES): New variable.
18993 (ohci_mod_CFLAGS): New variable.
18994 (ohci_mod_LDFLAGS): New variable.
18995 (usbms_mod_SOURCES): New variable.
18996 (usbms_mod_CFLAGS): New variable.
18997 (usbms_mod_LDFLAGS): New variable.
18998 (usb_keyboard_mod_SOURCES): New variable.
18999 (usb_keyboard_mod_CFLAGS): New variable.
19000 (usb_keyboard_mod_LDFLAGS): New variable.
19001 * include/grub/smbus.h: New file.
19002 * include/grub/cs5536.h: New file.
19003
0b35b2a9
CW
190042010-06-02 Colin Watson <cjwatson@ubuntu.com>
19005
19006 * util/grub.d/00_header.in: Add safety check to make sure that
19007 ${locale_dir} exists before trying to probe it.
19008
ca0afd5b
CW
190092010-06-02 Colin Watson <cjwatson@ubuntu.com>
19010
19011 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19012 per the GNU Coding Standards; this is now too obscure to be worth
19013 documenting.
19014 (QNX): Likewise.
19015 (chainloader): Remove cross-reference to `SCO UnixWare'.
19016
1c41aa78
CW
190172010-06-02 Colin Watson <cjwatson@ubuntu.com>
19018
19019 * docs/grub.texi (Chain-loading): New section.
19020 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19021 adjusted for GRUB 2.
19022 (SCO UnixWare): Likewise.
19023 (QNX): Likewise.
19024 (chainloader): Add reference to `Block list syntax'.
19025 (drivemap): New section.
19026 (parttool): New section.
19027
bb8ea0f5
CW
190282010-06-02 Colin Watson <cjwatson@ubuntu.com>
19029
19030 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19031 the grub shell'.
19032 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19033 (Installing GRUB using grub-install): Remove reference to the grub
19034 shell; mention `grub-mkimage' and `grub-setup' instead.
19035 (Invoking grub-install): Likewise.
19036 (Interface): Add reference to `Menu entry editor'.
19037 (serial): Remove `--device' option.
19038
288dd6ed
CW
190392010-06-02 Colin Watson <cjwatson@ubuntu.com>
19040
19041 * docs/grub.texi (Configuration): New section, documenting
19042 configuration file generation using grub-mkconfig. I've left a slot
19043 for documenting the full shell scripting format but have not yet
19044 started on writing that up.
19045 (Invoking grub-mkconfig): New section.
19046
34c9f0e9
CW
190472010-06-02 Colin Watson <cjwatson@ubuntu.com>
19048
19049 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19050 (GNU GRUB manual): Likewise.
19051 (General commands): Update description of `terminfo' for GRUB 2.
19052
9121567e
CW
190532010-06-02 Colin Watson <cjwatson@ubuntu.com>
19054
19055 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19056 (GRUB_MOD_INIT): Fix capitalisation.
19057 * docs/grub.texi (Command-line and menu entry commands): Document
19058 gettext and gptsync commands.
19059
ab631611
CW
190602010-06-02 Colin Watson <cjwatson@ubuntu.com>
19061
19062 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19063 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19064
bde4a9ac
CW
190652010-06-01 Colin Watson <cjwatson@ubuntu.com>
19066
19067 Add btrfs probing support, currently only in the single-device case.
19068
19069 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19070 function.
19071 (grub_guess_root_device): Call find_root_device_from_mountinfo
19072 before looking in /dev.
19073
b1d17e10
VS
190742010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19075
19076 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19077 GRUB_DISK_SIZE_UNKNOWN.
19078 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19079
dfbfe004
JS
190802010-05-31 Jiro SEKIBA <jir@unicus.jp>
19081
19082 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19083 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19084 corrupted or not synced properly.
19085
c2ffc8e9
VS
190862010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19089 Reported by: Seth Goldberg.
19090
56293166
VS
190912010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19094 addition of dest.
19095 Reported by: Seth Goldberg.
19096
7620e7de
VS
190972010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19098
19099 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19100 Reported by: Seth Goldberg.
19101
c837af3f
VS
191022010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19103
19104 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19105 64-bit address as signed on MIPS.
19106
c7c75cf4
CW
191072010-05-28 Colin Watson <cjwatson@ubuntu.com>
19108
19109 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19110 to the empty string.
19111
fa4b8490
BC
191122010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19113
19114 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19115
19116 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19117 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19118 * kern/misc.c (__enable_execute_stack): Disable on
19119 GRUB_MACHINE_EMU.
19120
a33075b9
CW
191212010-05-28 Colin Watson <cjwatson@ubuntu.com>
19122
19123 Make grub-probe work with symbolic links under /dev/mapper as well
19124 as with real block devices. The Linux world seems to be (at best)
19125 in transition here, and GRUB shouldn't get caught in the middle.
19126
19127 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19128 /dev/mapper.
19129
d8708134
CW
191302010-05-27 Colin Watson <cjwatson@ubuntu.com>
19131
19132 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19133 input files (in which case exit zero).
19134
db2102a0
CW
191352010-05-27 Colin Watson <cjwatson@ubuntu.com>
19136
19137 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19138 return NULL for various reasons even if it has a maximum-length
19139 buffer: for example, there might be a symlink loop, or the path
19140 might exceed PATH_MAX. If this happens, return NULL.
19141
5fdba519
RM
191422010-05-27 Robert Millan <rmh@gnu.org>
19143
19144 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19145 partmap module to handle cross-partmap setups.
19146 Reported by Orestes Mas. Gràcies!
19147
d1d368e4
CW
191482010-05-27 Colin Watson <cjwatson@ubuntu.com>
19149
19150 * util/grub-mkrescue.in: Initialise override_dir rather than
19151 assuming that it's unset or empty in the environment.
19152
95ac3c73
GS
191532010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19154
19155 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19156 variable index into p_index to suppress a warning with -Wshadow.
19157
7d8c0213
BC
191582010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19159
19160 * INSTALL: Added flex >= 2.5.35 requirement.
19161
db4d5813
VS
191622010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19163
19164 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19165
f24f4300
VS
191662010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19167
19168 cmostest support.
19169
19170 * commands/i386/cmostest.c: New file.
19171 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19172 (cmostest_mod_SOURCES): New variable.
19173 (cmostest_mod_CFLAGS): Likewise.
19174 (cmostest_mod_LDFLAGS): Likewise.
19175 * conf/i386-pc.rmk: Likewise.
19176 * docs/grub.texi (Vendor power-on keys): New section.
19177 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19178 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19179 and GRUB_BUTTON_CMOS_ADDRESS.
19180 * util/grub.d/00_header.in: Handle powering-on by separate button.
19181
ad603f61
VS
191822010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19183
19184 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19185 Removed drawing_scrollbar argument. All users updated
19186 Fixes #29792.
19187 Reported by Jo Shields
19188
3ecb080a
VS
191892010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19190
19191 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19192 buffer since gfxterm handles double repaint.
19193
5f2316c1
VS
191942010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19195
19196 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19197 * term/gfxterm.c (real_scroll): Likewise.
19198
9a25f885
VS
191992010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19200
19201 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19202 before calling BIOS.
19203
39fbb79a
VS
192042010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19205
19206 * include/grub/i18n.h: Always enable grub_gettext.
19207
228cfa97
VS
192082010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19209
19210 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19211 partition naming style.
19212
21717c8f
CW
192132010-05-21 Colin Watson <cjwatson@ubuntu.com>
19214
19215 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19216 not the first option.
19217
c0f48e65
CW
192182010-05-20 Colin Watson <cjwatson@ubuntu.com>
19219
19220 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19221
96779aec
CW
192222010-05-20 Colin Watson <cjwatson@ubuntu.com>
19223
19224 * util/misc.c: Move inclusion of <limits.h> to ...
19225 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19226
fa9d256e
GS
192272010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19228
19229 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19230 Fix merge error in NetBSD code.
19231 (find_partition_start) [__NetBSD__]: Likewise.
19232
123b7a85
BC
192332010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19234
19235 Fix grub-mkrescue usage unit testing.
19236
19237 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19238
74276c0d
CF
192392010-05-18 Christian Franke <franke@computer.org>
19240
19241 * util/grub.d/10_windows.in: Use path names instead of
19242 drive letters to prevent warning from Cygwin 1.7.
19243 Add drivemap command to menuentry if needed.
19244
c4f7b523
ST
192452010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
19246
19247 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
19248 gnumach and gnumach.gz.
19249
95b97950
VS
192502010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19251
19252 * include/grub/i18n.h (gettext): Inline instead of using #define.
19253 (grub_gettext): Likewise.
19254 (_): Likewise.
19255
01b8d2d7
VS
192562010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19257
19258 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
19259 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
19260 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
19261 (main): Add a slash after pkglibdirroot.
19262
654e1d1e
VS
192632010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 * util/grub-install.in: Add missing "in" keyword.
19266
26966aeb
VS
192672010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19268
19269 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
19270 Reported by: Seth Goldberg.
19271
75006747
VS
192722010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19273
19274 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
19275
74cbf5bd
CW
192762010-05-18 Colin Watson <cjwatson@ubuntu.com>
19277
19278 * configure.ac: Check for Linux device-mapper support.
19279
19280 * util/hostdisk.c (device_is_mapped): New function.
19281 (find_partition_start): New function, partly broken out from
19282 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
19283 device-mapper support added.
19284 (linux_find_partition): Use find_partition_start.
19285 (convert_system_partition_to_system_disk): Add `st' argument.
19286 Support Linux /dev/mapper/* devices if device-mapper support is
19287 available; only DM-RAID devices are understood at present.
19288 (find_system_device): Add `st' argument. Pass it to
19289 convert_system_partition_to_system_disk.
19290 (grub_util_biosdisk_get_grub_dev): Pass stat result to
19291 find_system_device and convert_system_partition_to_system_disk. Use
19292 find_partition_start.
19293
19294 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
19295 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
19296 * util/deviceiter.c [__linux__]: Define MINOR.
19297 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
19298 * util/mkdevicemap.c (grub_putchar): New function.
19299 (grub_getkey): New function.
19300 (grub_refresh): New function.
19301 (main): Set debug=all if -v -v is used.
19302
355b51e9
CW
193032010-05-18 Colin Watson <cjwatson@ubuntu.com>
19304
19305 Fix build with non-GNU libcs.
19306
19307 * util/misc.c (canonicalize_file_name): Move to ...
19308 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
19309 grub_make_system_path_relative_to_its_root.
19310
7fb5c25f
CW
193112010-05-18 Colin Watson <cjwatson@ubuntu.com>
19312
19313 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
19314 we handle finding grub-mkimage. Default to finding grub-mkimage in
19315 ${bindir} with program_transform_name applied, and provide a
19316 --grub-mkimage option to override this.
19317
1d3293d6
VS
193182010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19319
19320 Remove grub-mkisofs.
19321
19322 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
19323 (grub_mkisofs_SOURCES): Removed.
19324 (grub_mkisofs_CFLAGS): Removed.
19325 * util/mkisofs/defaults.h: Removed.
19326 * util/mkisofs/eltorito.c: Likewise.
19327 * util/mkisofs/exclude.h: Likewise.
19328 * util/mkisofs/hash.c: Likewise.
19329 * util/mkisofs/include/: Likewise.
19330 * util/mkisofs/include/fctldefs.h: Likewise.
19331 * util/mkisofs/include/mconfig.h: Likewise.
19332 * util/mkisofs/include/prototyp.h: Likewise.
19333 * util/mkisofs/include/statdefs.h: Likewise.
19334 * util/mkisofs/iso9660.h: Likewise.
19335 * util/mkisofs/joliet.c: Likewise.
19336 * util/mkisofs/match.c: Likewise.
19337 * util/mkisofs/match.h: Likewise.
19338 * util/mkisofs/mkisofs.c: Likewise.
19339 * util/mkisofs/mkisofs.h: Likewise.
19340 * util/mkisofs/msdos_partition.h: Likewise.
19341 * util/mkisofs/multi.c: Likewise.
19342 * util/mkisofs/name.c: Likewise.
19343 * util/mkisofs/rock.c: Likewise.
19344 * util/mkisofs/tree.c: Likewise.
19345 * util/mkisofs/write.c: Likewise.
19346
5dde9afe
VS
193472010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19348
19349 Unify grub-mkimage accross platforms.
19350
19351 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
19352 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
19353 (grub_mkelfimage_SOURCES): Removed.
19354 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
19355 (util/grub-mkimage.c_DEPENDENCIES): .. this.
19356 (bin_UTILITIES): Add grub-mkimage.
19357 (grub_mkimage_SOURCES): New variable.
19358 (kernel_img_HEADERS): Remove machine/kernel.h.
19359 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
19360 (pkglib_PROGRAMS): Add kernel.img.
19361 (kernel_img_HEADERS): Add machine/kernel.h.
19362 (kernel_img_FORMAT): Removed.
19363 (bin_UTILITIES): Remove grub-mkimage.
19364 (grub_mkimage_SOURCES): Removed.
19365 (grub_mkimage_CFLAGS): Likewise.
19366 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19367 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
19368 (pkglib_PROGRAMS): Add kernel.img.
19369 (bin_UTILITIES): Remove grub-mkimage.
19370 (grub_mkimage_SOURCES): Removed.
19371 (grub_mkimage_CFLAGS): Likewise.
19372 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19373 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
19374 (pkglib_PROGRAMS): Add kernel.img.
19375 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
19376 (pkglib_PROGRAMS): Add kernel.img.
19377 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
19378 (grub_mkimage_SOURCES): Removed.
19379 (grub_mkimage_CFLAGS): Likewise.
19380 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19381 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
19382 (pkglib_PROGRAMS): Add kernel.img.
19383 (bin_UTILITIES): Remove grub-mkimage.
19384 (grub_mkimage_SOURCES): Removed.
19385 (grub_mkimage_CFLAGS): Likewise.
19386 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19387 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
19388 (grub_mkimage_SOURCES): Removed.
19389 (grub_mkimage_CFLAGS): Likewise.
19390 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19391 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
19392 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
19393 (grub_pe32_optional_header): ... this.
19394 (grub_pe64_optional_header): ... and this. All users updated.
19395 (GRUB_PE32_PE32_MAGIC): Split into ..
19396 (GRUB_PE32_PE32_MAGIC): .. this.
19397 (GRUB_PE32_PE64_MAGIC): .. and this.
19398 (GRUB_PE32_SIGNATURE_SIZE): New definition.
19399 * include/grub/elf.h (PT_GNU_STACK): New definition.
19400 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
19401 * include/grub/i386/efi/kernel.h: Likewise.
19402 * include/grub/i386/kernel.h: Likewise.
19403 * include/grub/i386/pc/kernel.h: Likewise.
19404 * include/grub/i386/qemu/boot.h: Likewise.
19405 * include/grub/mips/kernel.h: Likewise.
19406 * include/grub/mips/qemu-mips/kernel.h: Likewise.
19407 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19408 * include/grub/powerpc/kernel.h: Likewise.
19409 * include/grub/sparc64/ieee1275/boot.h: Likewise.
19410 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19411 * include/grub/sparc64/kernel.h: Likewise.
19412 * include/grub/x86_64/efi/kernel.h: Likewise.
19413 * include/grub/x86_64/kernel.h: Likewise.
19414 * include/grub/offsets.h: New file.
19415 * include/grub/kernel.h (grub_module_info): Split into ...
19416 (grub_module_info32): ... this.
19417 (grub_module_info64): ... and this.
19418 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
19419 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
19420 (grub_boot_blocklist): Moved from here ...
19421 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
19422 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
19423 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
19424 * include/grub/types.h (grub_target_to_host16): Removed.
19425 (grub_target_to_host32): Likewise.
19426 (grub_target_to_host64): Likewise.
19427 (grub_host_to_target16): Likewise.
19428 (grub_host_to_target32): Likewise.
19429 (grub_host_to_target64): Likewise.
19430 (grub_host_to_target_addr): Likewise.
19431
19432 Support grub-mkrescue for efi, coreboot and qemu.
19433
19434 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
19435 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
19436 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
19437 * util/grub-mkrawimage.c: Moved from here ...
19438 * util/grub-mkimage.c: ... here. All users updated.
19439 (ALIGN_ADDR): Use image_target.
19440 (TARGET_NO_FIELD): New const.
19441 (image_target_desc): New type.
19442 (image_targets): New array.
19443 (grub_target_to_host64): Use image_target.
19444 (grub_target_to_host32): Likewise.
19445 (grub_target_to_host16): Likewise.
19446 (grub_host_to_target64): Likewise.
19447 (grub_host_to_target32): Likewise.
19448 (grub_host_to_target16): Likewise.
19449 (grub_host_to_target_addr): Likewise.
19450 (generate_image): Handle multiimage.
19451 (main): Require -O parameter. All users updated.
19452 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
19453 util/efi/grub-mkimage.c
19454 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
19455 New option --rom-directory.
19456 Use xorriso.
19457 * util/i386/efi/grub-mkimage.c: Removed.
19458 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
19459 (grub_target_to_host32): Likewise.
19460 (grub_target_to_host64): Likewise.
19461 (grub_host_to_target16): Likewise.
19462 (grub_host_to_target32): Likewise.
19463 (grub_host_to_target64): Likewise.
19464 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
19465 (grub_target_to_host32): Likewise.
19466 (grub_target_to_host64): Likewise.
19467 (grub_host_to_target16): Likewise.
19468 (grub_host_to_target32): Likewise.
19469 (grub_host_to_target64): Likewise.
19470
f4fc97d0
BC
194712010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
19472
19473 Source tree is reorganized for emu build.
19474
19475 * include/grub/util/console.h: Move from here...
19476 * include/grub/emu/console.h: ...to here.
19477 * include/grub/util/getroot.h: Move from here...
19478 * include/grub/emu/getroot.h: ...to here.
19479 * include/grub/util/hostdisk.h: Move from here...
19480 * include/grub/emu/hostdisk.h: ...to here.
19481 * util/console.c: Move from here...
19482 * kern/emu/console.c: ...to here.
19483 * util/getroot.c: Move from here...
19484 * kern/emu/getroot.c: ...to here.
19485 * util/grub-emu.c: Move from here...
19486 * kern/emu/main.c: ...to here.
19487 * util/hostdisk.c: Move from here...
19488 * kern/emu/hostdisk.c: ...to here.
19489 * util/hostfs.c: Move from here...
19490 * kern/emu/hostfs.c: ...to here.
19491 * util/mm.c: Move from here...
19492 * kern/emu/mm.c: ...to here.
19493 * util/pci.c: Move from here...
19494 * bus/emu/pci.c: ...to here.
19495 * util/sdl.c: Move from here...
19496 * video/emu/sdl.c: ...to here.
19497 * util/time.c: Move from here...
19498 * kern/emu/time.c: ...to here.
19499 * util/usb.c: Move from here...
19500 * bus/usb/emu/usb.c: ...to here.
19501
19502 * include/grub/emu/misc.h: New header for grub-emu functions.
19503 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
19504
19505 * conf/any-emu.rmk: Rule updates for above renames.
19506 * conf/common.rmk: Likewise.
19507 * conf/i386-pc.rmk: Likewise.
19508 * conf/i386-qemu.rmk: Likewise.
19509 * conf/mips.rmk: Likewise.
19510 * conf/sparc64-ieee1275.rmk: Likewise.
19511 * conf/x86-efi.rmk: Likewise.
19512
19513 * disk/lvm.h: #include updates for above renames.
19514 * util/grub-mkrelpath.c: Likewise.
19515 * util/grub-probe.c: Likewise.
19516 * util/i386/pc/grub-setup.c: Likewise.
19517 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19518 * kern/emu/console.c: Likewise.
19519 * kern/emu/getroot.c: Likewise.
19520 * kern/emu/hostdisk.c: Likewise.
19521 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
19522
19523 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
19524 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
19525 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
19526 * util/misc.c: Remove grub-emu functions.
19527
cced9145
VS
195282010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
19529
19530 Fix gfxmenu crash.
19531 Reported by: Thorsten Grützmacher.
19532
19533 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
19534 timeout hook.
19535 (circprog_set_property): Register and unregister timeout hook.
19536 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
19537 (label_destroy): Free template. and unregister hook.
19538 (label_set_state): New function.
19539 (label_set_property): Handle templates and hooks.
19540 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
19541 timeout hook.
19542 (progress_bar_set_property): Register and unregister timeout hook.
19543 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
19544 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
19545 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
19546 (update_timeout_visit): Removed.
19547 (update_timeouts): New function.
19548 (redraw_timeouts): Likewise.
19549 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
19550 (grub_gfxmenu_clear_timeout): Likewise.
19551 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
19552 (grub_gfxmenu_timeout_notify): Likewise.
19553 (grub_gfxmenu_timeout_notifications): New external variable.
19554 (grub_gfxmenu_timeout_register): New function.
19555 (grub_gfxmenu_timeout_unregister): Likewise.
19556
c6e5caab
VS
195572010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19558
19559 Transform (broken) vga terminal into (working) vga video driver.
19560
19561 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
19562 video/i386/pc/vga.c.
19563 * include/grub/video.h (grub_video_driver_id):
19564 Add GRUB_VIDEO_DRIVER_VGA.
19565 * term/i386/pc/vga.c: Renamed to ...
19566 * video/i386/pc/vga.c: ...this
19567 (DEBUG_VGA): Removed.
19568 (CHAR_WIDTH): Likewise.
19569 (CHAR_HEIGHT): Likewise.
19570 (TEXT_WIDTH): Likewise.
19571 (TEXT_HEIGHT): Likewise.
19572 (DEFAULT_FG_COLOR): Likewise.
19573 (DEFAULT_BG_COLOR): Likewise.
19574 (colored_char): Likewise.
19575 (xpos): Likewise.
19576 (ypos): Likewise.
19577 (cursor_state): Likewise.
19578 (fg_color): Likewise.
19579 (bg_color): Likewise.
19580 (text_buf): Likewise.
19581 (page): Likewise.
19582 (font): Likewise.
19583 (framebuffer): New variable.
19584 (set_read_map): Disabled.
19585 (setup): New variable.
19586 (is_target): Likewise.
19587 (grub_vga_mod_init): Likewise.
19588 (grub_vga_mod_fini): Likewise.
19589 (check_vga_mem): Likewise.
19590 (write_char): Likewise.
19591 (write_cursor): Likewise.
19592 (scroll_up): Likewise.
19593 (grub_vga_putchar): Likewise.
19594 (grub_vga_getcharwidth): Likewise.
19595 (grub_vga_getwh): Likewise.
19596 (grub_vga_getxy): Likewise.
19597 (grub_vga_gotoxy): Likewise.
19598 (grub_vga_cls): Likewise.
19599 (grub_vga_setcolorstate): Likewise.
19600 (grub_vga_setcursor): Likewise.
19601 (grub_video_vga_init): New function.
19602 (grub_video_vga_setup): Likewise.
19603 (grub_video_vga_fini): Likewise.
19604 (update_target): Likewise.
19605 (grub_video_vga_blit_bitmap): Likewise.
19606 (grub_video_vga_blit_render_target): Likewise.
19607 (grub_video_vga_set_active_render_target): Likewise.
19608 (grub_video_vga_get_active_render_target): Likewise.
19609 (grub_video_vga_swap_buffers): Likewise.
19610 (grub_video_vga_set_palette): Likewise.
19611 (grub_video_vga_get_info_and_fini): Likewise.
19612 (grub_vga_term): Removed.
19613 (grub_video_vga_adapter): New variable.
19614 (GRUB_MOD_INIT): Register a video driver instead of terminal.
19615 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
19616
2bf61a98
VS
196172010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19618
19619 * video/readers/jpeg.c: Indented.
19620
09ddcd11
VS
196212010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19622
19623 Various jpeg cleanups.
19624
19625 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
19626 (grub_jpeg_decode_quan_table): Use sizeof.
19627 (grub_jpeg_decode_du): Use ARRAY_SIZE.
19628
e5507505
PH
196292010-05-05 Peter Hurley <No e-mail available> (tiny change)
19630
19631 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
19632 tables. Ignore non-last ac bit.
19633 (grub_jpeg_decode_quan_table): Likewise.
19634
7e720a9b
VS
196352010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19636
19637 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
19638 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
19639 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19640 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
19641 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
19642 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
19643
a7fc080b
VS
196442010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19645
19646 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
19647 error.
19648
2bf6012d
VS
196492010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
19650
19651 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
19652
265d68cd
VS
196532010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
19654
19655 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
19656 condition.
19657
196582010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
19659
19660 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
19661 part.
19662
265d68cd 196632010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
19664
19665 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
19666 pointers.
19667
265d68cd 196682010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
19669
19670 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
19671
d1b61374
CF
196722010-05-01 Christian Franke <franke@computer.org>
19673
19674 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
19675 Remove broken Cygwin path conversion.
19676 * util/misc.c: [__CYGWIN__] Add include and define.
19677 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
19678 for Cygwin 1.7.
19679 (make_system_path_relative_to_its_root): Simplify loop, replace early
19680 return by break.
19681 [__CYGWIN__] Add conversion to win32 path.
19682 Include "/" case in trailing slash removal.
19683
3558c6e9
VS
196842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19685
19686 * kern/main.c (grub_load_config): Fix copy-pasted comment.
19687 Reported by: Seth Goldberg
19688
f5f3ff93
VS
196892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19690
19691 * commands/help.c (grub_cmd_help): Fix a typo.
19692 Reported by: Seth Goldberg
19693
d8b5cd40
VS
196942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19695
19696 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
19697 name and add N_.
19698 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
19699 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
19700 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
19701 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
19702 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
19703 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
19704 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19705 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19706 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19707 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19708 * normal/context.c (GRUB_MOD_INIT): Likewise.
19709 * normal/main.c (GRUB_MOD_INIT): Likewise.
19710 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19711 * term/serial.c (GRUB_MOD_INIT): Likewise.
19712 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19713
88c14915
VS
197142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19715
19716 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
19717 extra == 0.
19718
165134bc
VS
197192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19720
19721 * commands/iorw.c: New file.
19722 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
19723 (iorw_mod_SOURCES): New variable.
19724 (iorw_mod_CFLAGS): Likewise.
19725 (iorw_mod_LDFLAGS): Likewise.
19726
c5ac9b32
VS
197272010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19728
19729 Hotkey support
19730
19731 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
19732 * normal/main.c (hotkey_aliases): New variable.
19733 (grub_normal_add_menu_entry): Parse "--hotkey".
19734 * normal/menu_text.c (run_menu): Handle hotkeys.
19735
ce60689c
VS
197362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19737
19738 * kern/i386/coreboot/init.c (grub_machine_init): Call
19739 grub_machine_mmap_init on qemu.
19740
0359d006
VS
197412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19742
19743 * boot/i386/qemu/boot.S: Add a missing .code16.
19744
7819a456
VS
197452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19746
19747 Use LBIO on coreboot.
19748
19749 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
19750 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
19751 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
19752 New declaration.
19753 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
19754 grub_machine_mmap_init on coreboot.
19755 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
19756 GRUB_LINUXBIOS_MEMBER_LINK.
19757 (grub_machine_mmap_iterate): Fix declaration.
19758 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
19759
7210dca9
VS
197602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19761
19762 Split coreboot and multiboot ports.
19763
19764 * conf/i386-multiboot.rmk: New file.
19765 * configure.ac: Add multiboot port.
19766 * include/grub/i386/multiboot/boot.h: New file.
19767 * include/grub/i386/multiboot/console.h: Likewise.
19768 * include/grub/i386/multiboot/init.h: Likewise.
19769 * include/grub/i386/multiboot/kernel.h: Likewise.
19770 * include/grub/i386/multiboot/loader.h: Likewise.
19771 * include/grub/i386/multiboot/memory.h: Likewise.
19772 * include/grub/i386/multiboot/serial.h: Likewise.
19773 * include/grub/i386/multiboot/time.h: Likewise.
19774 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
19775 * loader/multiboot.c: Likewise.
19776 * loader/multiboot_mbi2.c: Likewise.
19777 * util/grub-mkrescue.in: Generate multiboot rescue.
19778
6f8aaf68
VS
197792010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19780
3080f7a7
VS
19781 * kern/parser.c (grub_parser_execute): Cope with read-only config.
19782
197832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
19784
19785 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
19786
19787 * commands/terminal.c (abstract_terminal): New struct.
19788 (handle_command): New function. Based on grub_cmd_terminal_input.
19789 (grub_cmd_terminal_input): Use handle_command.
19790 (grub_cmd_terminal_output): Use handle_command.
19791
a8ebb841
BC
197922010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
19793
19794 Fix comment handling.
19795
19796 * tests/grub_script_comments.in: New testcase.
19797 * conf/tests.rmk: Rules for new testcase.
19798 * script/yylex.l: Updated flex rules.
19799
bb06ba08
ST
198002010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
19801
19802 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
19803 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
19804 if argc is 1.
bb06ba08 19805
cc9d2425
VS
198062010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19807
19808 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
19809 autogen issues.
19810
460d8402
CF
198112010-04-26 Christian Franke <franke@computer.org>
19812
19813 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
19814 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
19815 (grub_get_prefix): Remove function.
19816 * util/grub-emu.c (main): Replace grub_get_prefix () call by
19817 make_system_path_relative_to_its_root ().
19818 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
19819
553c01f9
CF
198202010-04-24 Christian Franke <franke@computer.org>
19821
19822 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
19823 (kernel_img_LDFLAGS): Remove -static-libgcc.
19824
2aec1692
CF
198252010-04-24 Christian Franke <franke@computer.org>
19826
19827 * configure.ac: Do not CHECK_BSS_START_SYMBOL
19828 and CHECK_END_SYMBOL if grub-emu is built.
19829 Unset TARGET_OBJ2ELF if grub-emu is built
19830 without module support.
19831
f67dc308
JS
198322010-04-24 Jiro SEKIBA <jir@unicus.jp>
19833
19834 Nilfs2 support.
19835
19836 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
19837 (grub_fstest_SOURCES): Likewise.
19838 (pkglib_MODULES): Add nilfs2.mod.
19839 (nilfs2_mod_SOURCES): New variable.
19840 (nilfs2_mod_CFLAGS): Likewise.
19841 (nilfs2_mod_LDFLAGS): Likewise.
19842 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19843 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
19844 * fs/nilfs2.c: New file.
19845
4ba8d354
VS
198462010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
19847
19848 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
19849 is not supported.
19850
0d2c20c6
GS
198512010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
19852
19853 Add grub-mkconfig support for NetBSD.
19854
19855 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
19856 * util/grub-mkconfig.in: export new NetBSD specific variables.
19857 * po/POTFILES-shell: added 10_netbsd.in.
19858 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
19859
bc4a2d83
BC
198602010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
19861
19862 Fix emu build with grub-emu-pci and grub-emu-modules.
19863
19864 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
19865 functions.
19866 * include/grub/libpciaccess.h: New file.
19867 * conf/any-emu.rmk: Update kernel headers for emu build.
19868
f48c87aa
VS
198692010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19870
19871 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
19872
18959385
VS
198732010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
19874
19875 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
19876
0037de3f
VS
198772010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19878
19879 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
19880 Retrieve chosen/bootpath if bootpath isn't hardcoded.
19881 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
19882 util/ieee1275/ofpath.c.
19883 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
19884 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
19885 * include/grub/sparc64/ieee1275/boot.h
19886 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
19887 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
19888 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
19889 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
19890 const char *.
19891 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
19892 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
19893 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
19894 install.
19895
38e55e90
GS
198962010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
19897
19898 * util/grub-mkconfig.in: Corrected two == equality tests.
19899 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
19900 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
19901 expect a number appended to it.
19902 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
19903 expects a number appended to it.
19904
a9e6ff28
VS
199052010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19906
19907 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
19908
0b830b8f
VS
199092010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
19910
19911 * util/hostdisk.c (make_device_name): Change to new partition naming.
19912
0973daeb
VS
199132010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
19916
460d8402 199172010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
19918
19919 * Makefile.in: Add missing localedir setting.
19920
0b456309
CW
199212010-04-14 Colin Watson <cjwatson@ubuntu.com>
19922
19923 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
19924 mistake in r2156. Noticed by Anthony Fok.
19925
19926 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
19927 @localedir@.
19928 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19929
08f46d62
BC
199302010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
19931
19932 Fix a spurious, uninitialized variable warning.
19933
19934 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
19935 Initialize variable, shdr.
19936 (grub_freebsd_load_elfmodule): Likewise.
19937 (grub_freebsd_load_elf_meta): Likewise.
19938
8c4a72d4
BC
199392010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
19940
19941 Fix for escaped dollar in double quoted strings.
19942
19943 * script/yylex.l: Updated flex rules.
19944 * conf/tests.rmk: Rule for new testcase.
19945 * tests/grub_script_dollar.in: New testcase.
19946
ce44826e
CPE
199472010-04-13 Carles Pina i Estany <carles@pina.cat>
199482010-04-13 Colin Watson <cjwatson@ubuntu.com>
19949
19950 Enclose all translated strings in grub.cfg in single quotes, and
19951 escape them appropriately (Ubuntu bug #552921).
19952
19953 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
19954 * util/grub.d/10_hurd.in: Use it.
19955 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19956 * util/grub.d/10_linux.in (linux_entry): Likewise.
19957
4b0cd8f8
VS
199582010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19959
19960 Fix cygwin compilation.
19961
19962 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
19963 * include/grub/misc.h (__register_frame_info)
19964 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
19965 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19966 * kern/misc.c (__register_frame_info)
19967 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
19968 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
19969
01fcf061
VS
199702010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19971
19972 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
19973
5d04b11e
VS
199742010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
19975
19976 Unify libgcc processing.
19977
19978 * Makefile.in (kernel_img_LDFLAGS): New variable.
19979 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
19980 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
19981 overwriting.
19982 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
19983 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
19984 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
19985 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
19986 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
19987 overwriting. Remove -lgcc and -static-libgcc
19988 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
19989 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19990 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
19991 (kernel_img_LDFLAGS): Append instead of overwriting.
19992 Remove -lgcc and -static-libgcc
19993 * conf/sparc64-ieee1275.rmk: Likewise.
19994 * include/grub/powerpc/libgcc.h: Move to ...
19995 * include/grub/libgcc.h: .. this.
19996 * include/grub/libgcc.h: Don't export most of the function on x86.
19997 (__bswapsi2): New export.
19998 (__bswapdi2): Likewise.
19999 * include/grub/mips/libgcc.h: Removed.
20000 * include/grub/sparc64/libgcc.h: Likewise.
20001
b7f3ac29
VS
200022010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20003
20004 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20005 disk_info_msg (conflicts with gettexting into languages with cases).
20006
2c7031b1
GS
200072010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20008
20009 Add grub-probe support for NetBSD.
20010
20011 * util/getroot.c (find_root_device): Convert block device to
20012 character device on NetBSD.
20013 * util/probe.c (probe): Require character device on NetBSD.
20014 * util/hostdisk.c: NetBSD specific headers.
20015 (configure_device_driver): new function to tune device driver
20016 parameters (currently only for NetBSD floppy driver).
20017 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20018 via disklabel ioctl).
20019 (open_device): call configure_device_driver on NetBSD.
20020 (convert_system_partition_to_system_disk): NetBSD specific code.
20021 (device_is_wholedisk): Likewise.
20022 (grub_util_biosdisk_get_grub_dev): Likewise.
20023 (make_device_name): Fixed a typo in bsd_part_str.
20024 * configure.ac: check for opendisk() and getrawpartition() on
20025 NetBSD and set LIBUTIL.
20026 * Makefile.in: add LIBUTIL to LIBS.
20027
f516290c
BC
200282010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20029
20030 Documentation fix.
20031
20032 * util/grub-script-check.c: Better help message.
20033
d8dcc0df
BC
200342010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20035
20036 Fix FreeBSD build.
20037
20038 * configure.ac: Flex version check.
20039 * conf/common.rmk: Add -Wno-error to sh.mod.
20040 * script/yylex.l: Remove all #pragma.
20041
6734334a
VS
200422010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20043
20044 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20045 prototype.
20046 Reported by: Seth Goldberg.
20047
daea6abd
VS
200482010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20049
20050 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20051 Rename "module" to "module2".
20052 Reported by: Seth Goldberg.
20053
f2fd9d2b
VS
200542010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20055
20056 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20057 EXPORT_FUNC.
20058 Reported by: Seth Goldberg.
20059
be124579
VS
200602010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * lib/posix_wrap/locale.h: Add missing file.
20063 Reported by: Seth Goldberg.
20064
ef5da797
VS
200652010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20066
20067 grub-emu module load support.
20068
20069 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20070 NO_DYNAMIC_MODULES switched to this.
20071 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20072 (CFLAGS): Likewise.
20073 * conf/any-emu.rmk: Generate symlist.
20074 (kernel_img_HEADERS): Add util/datetime.h.
20075 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20076 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20077 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20078 kern/$(target_cpu)/cache.S.
20079 * configure.ac (grub-emu-modules): New option.
20080 * genmk.rb: Handle multiple source lists.
20081 * include/grub/sdl.h: New file.
20082 * include/grub/libusb.h: Likewise.
20083 * util/grub-emu.c (main): Hanle (host) root.
20084 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20085 GRUB_ERR_UNKNOWN_DEVICE.
20086 * util/misc.c: Move mm functions to ...
20087 * util/mm.c: ... here. All users updated.
20088
47822096
VS
200892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20090
20091 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20092 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20093 missing files.
20094 (maintainer-clean): Remove libgcrypt-grub.
20095
5d7e7445
VS
200962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20097
20098 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20099
25f4e252
EC
201002010-04-09 EFI Coder <eficoder@hotmail.com>
20101
20102 * normal/menu_text.c (print_message): Clean up the message and show
20103 the Fn information when on EFI
20104 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20105
027de555
VS
201062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20107
20108 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20109 All users updated.
20110 * normal/crypto.c (read_crypto_list): Likewise.
20111 * normal/dyncmd.c (read_command_list): Likewise.
20112 * normal/term.c (read_terminal_list): Likewise.
20113 * normal/main.c (read_lists): Use explicit prefix.
20114 (read_lists_hook): Use read_lists.
20115 (grub_normal_execute): Likewise.
20116
47779711
VS
201172010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20118
20119 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20120 Reported by: Thomas Schmitt.
20121 Add -no-emul-boot to grub-mkisofs parameters.
20122
1118c32e
VS
201232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20124
20125 * font/font.c: Indented.
20126
7d652447
BC
201272010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20128
20129 Elif support to GRUB script (by Deepak Vankadaru).
20130
20131 * tests/grub_script_if.in: New testcase.
20132 * conf/tests.rmk: Rule for new testcase.
20133 * script/parser.y: Grammar rules for elif.
20134
34bb22df
BC
201352010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20136
20137 While and until loops support to GRUB script.
20138
20139 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20140 (grub_script_create_cmdwhile): New function prototype.
20141 (grub_script_execute_cmdwhile): New function prototype.
20142 * script/execute.c (grub_script_execute_cmdwhile): New function.
20143 * script/parser.y (command): New commands.
20144 (whilecmd): New grammar rule.
20145 (untilcmd): New grammar rule.
20146 * script/script.c (grub_script_create_cmdwhile): New function.
20147 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20148 function.
20149
20150 * tests/grub_script_while1.in: New testcase.
20151 * conf/tests.rmk: Rule for new testcase.
20152
e215d8e0
VS
201532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20154
20155 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20156 as *.jpg.
20157
d7c43ba1
MV
201582010-04-09 Mario Vazquez <mariovazq@gmail.com>
20159
20160 GRUB_BACKGROUND support.
20161
20162 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20163 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20164
d64795c0
VS
201652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20166
20167 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 20168 Idea by: Mario Vazquez
d64795c0
VS
20169
20170 * util/grub.d/00_header.in: Load pf2 and image modules.
20171
f267f83a
VS
201722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20173
20174 grub-mkconfig multiple terminal support.
20175
20176 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20177 * util/grub.d/00_header.in: Likewise.
20178
b7841ceb
VS
201792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20180
20181 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20182 we use cd $(srcdir).
20183
df60998c
CW
201842010-04-08 Colin Watson <cjwatson@ubuntu.com>
20185
20186 * util/grub.d/10_linux.in: Only use the first word of
20187 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20188 spaces in GRUB_DISTRIBUTOR.
20189 * util/grub.d/10_kfreebsd.in: Likewise.
20190 * util/grub.d/10_hurd.in: Likewise.
20191
fa09c82e
BC
201922010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20193
14e18ae3 20194 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
20195
20196 * tests/util/grub-shell.in: Remove -serial stdio option.
20197
daf892b3
BC
201982010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20199
20200 POSIX header file wrappers.
20201
20202 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20203 equivalents.
20204 * lib/posix_wrap/ctype.h: Likewise.
20205 * lib/posix_wrap/errno.h: Likewise.
20206 * lib/posix_wrap/langinfo.h: Likewise.
20207 * lib/posix_wrap/limits.h: Likewise.
20208 * lib/posix_wrap/localcharset.h: Likewise.
20209 * lib/posix_wrap/stdint.h: Likewise.
20210 * lib/posix_wrap/stdio.h: Likewise.
20211 * lib/posix_wrap/stdlib.h: Likewise.
20212 * lib/posix_wrap/string.h: Likewise.
20213 * lib/posix_wrap/sys/types.h: Likewise.
20214 * lib/posix_wrap/unistd.h: Likewise.
20215 * lib/posix_wrap/wchar.h: Likewise.
20216 * lib/posix_wrap/wctype.h: Likewise.
20217 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20218 (grub_script.yy.h): Likewise.
20219 * script/yylex.l: Remove POSIX emulation #defines.
20220 * Makefile.in (POSIX_CFLAGS): New variable.
20221 (GNULIB_UTIL_CFLAGS): Likewise.
20222
20223 Regexp support.
20224
20225 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20226 (regexp_mod_SOURCES): New variable.
20227 (regexp_mod_CFLAGS): Likewise.
20228 (regexp_mod_LDFLAGS): Likewise.
20229 * commands/regexp.c: New file.
20230 * gnulib/regcomp.c: New file. Imported from gnulib.
20231 * gnulib/regex.c: Likewise.
20232 * gnulib/regex_internal.c: Likewise.
20233 * gnulib/regex_internal.h: Likewise.
20234 * gnulib/regexec.c: Likewise.
20235 * gnulib/regex.h: Likewise.
20236
974ac4f7
VS
202372010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20238
20239 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20240 unsupported video mode types.
20241
2622c3ff
VS
202422010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20243
20244 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
20245
064cb524
VS
202462010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20247
20248 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
20249 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
20250
a8c3b552
VS
202512010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20252
20253 Remove unused grub_vga_get_font.
20254
20255 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
20256 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
20257
187bbe3d
GS
202582010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20259
20260 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
20261 * include/grub/misc.h: Likewise.
20262
b9396631
GS
202632010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20264
20265 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
20266 for which failure is fatal.
20267
50479feb
GS
202682010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20269
20270 * util/grub-install.in: Use mkdir -p to create grub directory.
20271 * util/i386/efi/grub-install.in: Likewise.
20272 * util/ieee1275/grub-install.in: Likewise.
20273
b1654fdf
GS
202742010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20275
20276 * Makefile.in (LEX): new variable.
20277
bd5a6415
GS
202782010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20279
20280 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
20281 `=' and added double quotes on operands of this equality test.
20282
3db3a82b
VS
202832010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20284
20285 * Makefile.in (uninstall): Remove a leftover debug echo.
20286 Reported by: Grégoire Sutre
20287
38023412
VS
202882010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20289
20290 MIPS multiboot2 support.
20291
20292 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
20293 (multiboot2_mod_SOURCES): New variable.
20294 (multiboot2_mod_CFLAGS): Likewise.
20295 (multiboot2_mod_LDFLAGS): Likewise.
20296 (multiboot2_mod_ASFLAGS): Likewise.
20297 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
20298 definition.
20299 (MULTIBOOT_ENTRY_REGISTER): Likewise.
20300 (MULTIBOOT_MBI_REGISTER): Likewise.
20301 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
20302 (MULTIBOOT_ELF32_MACHINE): Likewise.
20303 (MULTIBOOT_ELF64_MACHINE): Likewise.
20304 * include/grub/mips/multiboot.h: New file.
20305 * include/grub/video.h (grub_video_driver_id): New type
20306 GRUB_VIDEO_DRIVER_SM712.
20307 (grub_video_get_info_and_fini): Export.
20308 (grub_video_get_palette): Likewise.
20309 (grub_video_get_driver_id): Likewise.
20310 * include/multiboot2.h: Resynced with spec.
20311 * loader/i386/multiboot.c: Moved from here ...
20312 * loader/multiboot.c: ... here. All users updated.
20313 (grub_multiboot_boot): Use platform-specific macros.
20314 * loader/i386/multiboot_elfxx.c: Moved from here ...
20315 * loader/multiboot_elfxx.c: ... here. All users updated.
20316 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
20317 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
20318 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
20319
47674667
VS
203202010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20321
20322 Import gnulib argp module.
20323
20324 * gnulib/argp-ba.c: New file.
20325 * gnulib/argp-eexst.c: Likewise.
20326 * gnulib/argp-fmtstream.c: Likewise.
20327 * gnulib/argp-fmtstream.h: Likewise.
20328 * gnulib/argp-fs-xinl.c: Likewise.
20329 * gnulib/argp-help.c: Likewise.
20330 * gnulib/argp-namefrob.h: Likewise.
20331 * gnulib/argp-parse.c: Likewise.
20332 * gnulib/argp-pin.c: Likewise.
20333 * gnulib/argp-pv.c: Likewise.
20334 * gnulib/argp-pvh.c: Likewise.
20335 * gnulib/argp-version-etc.c: Likewise.
20336 * gnulib/argp-version-etc.h: Likewise.
20337 * gnulib/argp-xinl.c: Likewise.
20338 * gnulib/argp.h: Likewise.
20339
495442ed
VS
203402010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20341
20342 * kern/device.c (grub_device_iterate): Clear errors after failed
20343 opening device.
20344
f9fd65df
VS
203452010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20346
20347 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
20348 returned by firmware.
20349
af09641e
VS
203502010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20351
20352 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
20353 compilation on coreboot and qemu
20354
016883a5
VS
203552010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20356
20357 * include/multiboot2.h: Resync with spec.
20358
f97e1f7d
VS
203592010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20360
20361 Multiboot2 tag support
20362
20363 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
20364 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
20365 Remove loader/multiboot_loader.c.
20366 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
20367 (grub_multiboot2_real_boot): Likewise.
20368 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
20369 (grub_get_multiboot_mmap_count): New proto.
20370 (grub_fill_multiboot_mmap): Likewise.
20371 (grub_multiboot_set_video_mode): Likewise.
20372 (grub_multiboot_set_console): Likewise.
20373 (grub_multiboot_load): Likewise.
20374 (grub_multiboot_load_elf): Likewise.
20375 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
20376 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
20377 * include/multiboot.h: Resynced with specification.
20378 * include/multiboot2.h: Resynced with specification.
20379 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
20380 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
20381 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
20382 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
20383 users updated.
20384 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
20385 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
20386 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
20387 Removed.
20388 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
20389 Moved from here...
20390 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
20391 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20392 Moved from here...
20393 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
20394 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
20395 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
20396 All users updated.
20397 * loader/i386/multiboot_mbi2.c: New file.
20398
3506b90b
VS
203992010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 Resync with gnulib.
20402
20403 * Makefile.in (GNULIB_CFLAGS): New variable.
20404 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
20405 (grub_script_check_CFLAGS): New variable.
20406 * gnulib/alloca.h: Resync with gnulib.
20407 * gnulib/error.c: Likewise.
20408 * gnulib/error.h: Likewise.
20409 * gnulib/fnmatch.c: Likewise.
20410 * gnulib/fnmatch_loop.c: Likewise.
20411 * gnulib/getdelim.c: Likewise.
20412 * gnulib/getline.c: Likewise.
20413 * gnulib/getopt.c: Likewise.
20414 * gnulib/getopt1.c: Likewise.
20415 * gnulib/getopt_int.h: Likewise.
20416 * gnulib/gettext.h: Likewise.
20417 * gnulib/progname.c: Likewise.
20418 * gnulib/progname.h: Likewise.
20419
394a3120
GS
204202010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
20421
20422 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
20423 which is the case with --disabled-nls.
20424
20425 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
20426 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
20427 * util/misc.c: Likewise.
20428 * util/mkisofs/mkisofs.c: Likewise.
20429 * util/mkisofs/mkisofs.h: Likewise.
20430
969d1c78
VS
204312010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
20432
20433 Simplify Apple CC support.
20434
20435 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
20436 Add 0 byte at the end not to have a symbol with empty target.
20437 * mmap/i386/pc/mmap_helper.S: Likewise.
20438 * genmk.rb: Ignore errors 2030 and 2050.
20439 * kern/i386/pc/startup.S: Use LOCAL when possible.
20440
8d2977bb
BC
204412010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
20442
20443 Testcase and the fix for final semicolon on cmdline.
20444
20445 * tests/grub_script_final_semicolon.in: New testcase.
20446 * conf/tests.rmk: Rules for the new testcase.
20447 * script/parser.y: Grammar fix.
20448
a7bd6915
BC
204492010-03-26 BVK Chaitanya <bvk@localhost>
20450
20451 Blank lines testcase for GRUB script.
20452
20453 * tests/grub_script_blanklines.in: New testcase.
20454 * conf/tests.rmk: Rules for the new testcase.
20455
e4ff6628
VS
204562010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 Don't use __FILE__.
20459
20460 * genmk.rb: Add -DGRUB_FILE to all C targets.
20461 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
20462 * include/grub/list.h: Likewise.
20463 * include/grub/misc.h: Likewise.
20464 * include/grub/mm.h: Likewise.
20465 * include/grub/test.h: Likewise.
20466 * kern/mm.c: Likewise.
20467 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20468
6a5cf6b6
VS
204692010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20470
20471 Sunpc partitions support.
20472
20473 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
20474 (grub_fstest_SOURCES): Likewise.
20475 (pkglib_MODULES): Add part_sunpc.mod.
20476 (part_sunpc_mod_SOURCES): New variable.
20477 (part_sunpc_mod_CFLAGS): Likewise.
20478 (part_sunpc_mod_LDFLAGS): Likewise.
20479 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
20480 * partmap/sunpc.c: New file.
20481
746d9045
BC
204822010-03-26 BVK Chaitanya <bvk@localhost>
20483
20484 For loop support to GRUB script.
20485
20486 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
20487 (grub_script_create_cmdfor): New function prototype.
20488 (grub_script_execute_cmdfor): New function prototype.
20489 * script/execute.c (grub_script_execute_cmdfor): New function.
20490 * script/parser.y (command): New for command.
20491 (forcmd): New grammar rule.
20492 * script/script.c (grub_script_create_cmdfor): New function.
20493 * util/grub-script-check.c (grub_script_execute_cmdfor): New
20494 function.
20495 * tests/grub_script_for1.in: New testcase.
20496 * conf/tests.rmk: Rules for new testcase.
20497
18486b18
VS
204982010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
20499
20500 Nested partitions
20501
20502 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
20503 'partition' is NULL, grub_partition_get_start already does that.
20504 * commands/loadenv.c (check_blocklists): Likewise.
20505 (write_blocklists): Likewise.
20506 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
20507 (grub_fstest_SOURCES): Likewise.
20508 (pkglib_MODULES): Add part_bsd.mod.
20509 (part_bsd_mod_SOURCES): New variable.
20510 (part_bsd_mod_CFLAGS): Likewise.
20511 (part_bsd_mod_LDFLAGS): Likewise.
20512 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
20513 (grub_emu_SOURCES): Likewise.
20514 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20515 * include/grub/bsdlabel.h: New file.
20516 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
20517 'get_name'.
20518 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
20519 (grub_partition_map_list): New variable.
20520 (grub_partition_map_register): Inline.
20521 (grub_partition_map_unregister): Likewise.
20522 (FOR_PARTITION_MAPS): New macro.
20523 (grub_partition_map_iterate): Removed.
20524 (grub_partition_get_start): Handle nested partitions.
20525 * include/grub/msdos_partition.h: Remove bsd-related entries.
20526 (grub_pc_partition): Remove.
20527 * kern/disk.c (grub_disk_close): Free partition data.
20528 (grub_disk_adjust_range): Handle nested partitions.
20529 * kern/partition.c (grub_partition_map_probe): New function.
20530 (grub_partition_probe): Parse name to number, handle subpartitions.
20531 (get_partmap): New function.
20532 (grub_partition_iterate): Handle subpartitions.
20533 (grub_partition_get_name): Likewise.
20534 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
20535 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
20536 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
20537 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
20538 Set 'number'.
20539 (acorn_partition_map_probe): Remove.
20540 (acorn_partition_map_get_name): Likewise.
20541 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
20542 Set 'number'.
20543 Set 'index' to 0 since there can be only one partition entry per sector.
20544 (amiga_partition_map_probe): Remove.
20545 (amiga_partition_map_get_name): Likewise.
20546 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
20547 Set 'number'.
20548 Set 'offset' and 'index' to real positions of partitions.
20549 (apple_partition_map_probe): Remove.
20550 (apple_partition_map_get_name): Likewise.
20551 * partmap/bsdlabel.c: New file.
20552 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
20553 Set 'number'.
20554 Allocate 'data' so it can be correctly freed.
20555 Set 'index' to offset inside sector.
20556 (gpt_partition_map_probe): Remove.
20557 (gpt_partition_map_get_name): Likewise.
20558 * partmap/msdos.c (grub_partition_parse): Remove.
20559 (pc_partition_map_iterate): Don't force raw access.
20560 Set 'number'.
20561 Make 'ext_offset' a local variable.
20562 (pc_partition_map_probe): Remove.
20563 (pc_partition_map_get_name): Remove.
20564 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
20565 Set 'number'.
20566 (sun_partition_map_probe): Remove.
20567 (sun_partition_map_get_name): Likewise.
20568 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
20569 (grub_pcpart_type): Likewise.
20570 * util/hostdisk.c (open_device): Handle new numbering scheme.
20571 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
20572 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
20573 * util/grub-probe.c (probe_partmap): Handle nested paritions.
20574 * util/grub-install.in: Insert all subpartition modules.
20575 * util/ieee1275/grub-install.in: Likewise.
20576
a3940f88
AG
205772010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
20578
20579 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
20580 grammar.
20581
21b99926 205822010-03-24 Colin Watson <cjwatson@ubuntu.com>
20583
20584 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
20585
bed1d352
CW
205862010-03-21 Colin Watson <cjwatson@ubuntu.com>
20587
20588 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
20589 match where 'make install' puts them.
20590 * util/i386/efi/grub-install.in: Likewise.
20591
c9f58427
CW
205922010-03-19 Colin Watson <cjwatson@ubuntu.com>
20593
20594 * .bzrignore: Add gentrigtables, grub-script-check,
20595 grub_script_check_init.c, grub_script_check_init.h, and
20596 trigtables.c.
20597
f84afb27
VS
205982010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
20599
20600 * kern/parser.c: Indented.
20601
ed0e3d30
VS
206022010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20603
20604 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
20605
0ea81d98
VS
206062010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
20607
20608 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
20609 alpha_mask_size == 0 case.
20610
0cdc2a09
BC
206112010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
20612
20613 GRUB shell lexer and parser improvements.
20614
20615 * conf/any-emu.rmk: Build rule updates.
20616 * conf/common.rmk: Likewise.
20617 * conf/i386-coreboot.rmk: Likewise.
20618 * conf/i386-efi.rmk: Likewise.
20619 * conf/i386-ieee1275.rmk: Likewise.
20620 * conf/i386-pc.rmk: Likewise.
20621 * conf/powerpc-ieee1275.rmk: Likewise.
20622 * conf/x86_64-efi.rmk: Likewise.
20623
20624 * configure.ac: Configure check for flex.
20625
20626 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
20627 types.
20628 (grub_lexer_param): Struct member updates.
20629 (grub_parser_param): Likewise.
20630 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
20631 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
20632 (grub_script_lexer_init): Prototype update.
20633 (grub_script_lexer_record_start): Likewise.
20634 (grub_script_lexer_record_stop): Likewise.
20635 (grub_script_lexer_yywrap): New function prototype.
20636 (grub_script_lexer_fini): Likewise.
20637 (grub_script_execute_argument_to_string): Removed by...
20638 (grub_script_execute_argument_to_argv): ...better version.
20639
20640 * script/execute.c (ROUND_UPTO): New macro.
20641 (grub_script_execute_cmdline): Out of memory fixes.
20642 (grub_script_execute_menuentry): Likewise.
20643 (grub_script_execute_argument_to_string): Removed. Update all
20644 users by...
20645 (grub_script_execute_argument_to_argv): ...better version.
20646 * script/function.c (grub_script_function_create): Use
20647 grub_script_execute_argument_to_argv instead of
20648 grub_script_execute_argument_to_string.
20649
20650 * script/lexer.c (check_varstate): Removed.
20651 (check_textstate): Removed.
20652 (grub_script_lexer_record_start): Likewise.
20653 (grub_script_lexer_record_stop): Likewise.
20654 (recordchar): Replaced with...
20655 (grub_script_lexer_record): ...new function.
20656 (nextchar): Removed.
20657 (grub_script_lexer_init): Rewritten.
20658 (grub_script_yylex): Rewritten.
20659 (append_newline): New function.
20660 (grub_script_lexer_yywrap): New function.
20661 (grub_script_lexer_fini): New function.
20662 (grub_script_yyerror): Sets error flag.
20663
20664 * script/yylex.l: New file.
20665 (grub_lexer_yyfree): Wrapper for flex yyffre.
20666 (grub_lexer_yyalloc): Likewise.
20667 (grub_lexer_yyrealloc): Likewise.
20668 * script/parser.y: Refactored.
20669
20670 * script/script.c (grub_script_arg_add): Out of memory fixes.
20671 (grub_script_add_arglist): Likewise.
20672 (grub_script_create_cmdline): Likewise.
20673 (grub_script_create_cmdmenu): Likewise.
20674 (grub_script_add_cmd): Likewise.
20675 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
20676 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
20677 unnecessary code.
20678
20679 * tests/grub_script_echo1.in: New testcase.
20680 * tests/grub_script_vars1.in: New testcase.
20681 * tests/grub_script_echo_keywords.in: New testcase.
20682
1d63a066
VS
206832010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20684
20685 Remove some redundancy in build system.
20686
20687 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
20688 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
20689 (TARGET_LDFLAGS): Add -nostdlib.
20690 (TARGET_IMG_LDFLAGS): Likewise.
20691 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
20692 anything since mmap isn't available.
20693 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
20694 Add util/time.c.
20695 (pkglib_MODULES): Remove reboot.mod.
20696 (reboot_mod_SOURCES): Removed.
20697 (reboot_mod_CFLAGS): Likewise.
20698 (reboot_mod_LDFLAGS): Likewise.
20699 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
20700 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
20701 (DEFSYMFILES): Add kernel_syms.lst.
20702 (kernel_img_HEADERS): Add common headers.
20703 (symlist.c): New target.
20704 (kernel_syms.lst): Likewise.
20705 (pkglib_MODULES): Add memdisk.mod.
20706 (memdisk_mod_SOURCES): New variable.
20707 (memdisk_mod_CFLAGS): Likewise.
20708 (memdisk_mod_LDFLAGS): Likewise.
20709 (pkglib_MODULES): Add reboot.mod.
20710 (reboot_mod_SOURCES): New variable.
20711 (reboot_mod_CFLAGS): Likewise.
20712 (reboot_mod_LDFLAGS): Likewise.
20713 (pkglib_MODULES): Add date.mod.
20714 (date_mod_SOURCES): New variable.
20715 (date_mod_CFLAGS): Likewise.
20716 (date_mod_LDFLAGS): Likewise.
20717 (pkglib_MODULES): Add datehook.mod.
20718 (datehook_mod_SOURCES): New variable.
20719 (datehook_mod_CFLAGS): Likewise.
20720 (datehook_mod_LDFLAGS): Likewise.
20721 (pkglib_MODULES): Add lsmmap.mod.
20722 (lsmmap_mod_SOURCES): New variable.
20723 (lsmmap_mod_CFLAGS): Likewise.
20724 (lsmmap_mod_LDFLAGS): Likewise.
20725 (pkglib_MODULES): Add boot.mod.
20726 (boot_mod_SOURCES): New variable.
20727 (boot_mod_CFLAGS): Likewise.
20728 (boot_mod_LDFLAGS): Likewise.
20729 * conf/i386-coreboot.rmk: Removed redundant parts.
20730 * conf/i386-ieee1275.rmk: Likewise.
20731 * conf/i386-pc.rmk: Likewise.
20732 * conf/mips-yeeloong.rmk: Likewise.
20733 * conf/mips.rmk: Likewise.
20734 * conf/powerpc-ieee1275.rmk: Likewise.
20735 * conf/sparc64-ieee1275.rmk: Likewise.
20736 * conf/x86_64-efi.rmk: Likewise.
20737 * conf/i386-coreboot.rmk: Moved qemu parts ..
20738 * conf/i386-qemu.rmk: ... here
20739 * conf/i386-efi.rmk: Moved common parts to...
20740 * conf/x86-efi.rmk: ... here.
20741 * conf/i386.rmk: Added modules common to all x86 variants.
20742 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
20743 * disk/memdisk.c: Remove grub/machine/kernel.h.
20744 * gensymlist.sh.in: Include symbol.h.
20745 * hook/datehook.c: Correct module name.
20746 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
20747 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
20748 * include/grub/i386/efi/serial.h: New file.
20749 * include/grub/x86_64/efi/serial.h: Likewise.
20750 * util/time.c: Likewise.
20751 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
20752
463ac55f
CK
207532010-03-14 Colin King <colin.king@ubuntu.com>
207542010-03-14 Colin Watson <cjwatson@ubuntu.com>
20755
20756 Shrink the pre-partition-table part of boot.img by eight bytes.
20757
20758 * boot/i386/pc/boot.S (ERR): New macro.
20759 (chs_mode): Use ERR.
20760 (geometry_error): Likewise.
20761 (hd_probe_error): Remove. This is only used once, so we wrwite
20762 it inline instead.
20763 (read_error): Instead of printing read_error_string, just set up
20764 %si and fall through to ...
20765 (error_message): ... this new function, also used by ERR.
20766
08e46ede
CW
207672010-03-14 Colin Watson <cjwatson@ubuntu.com>
20768
20769 Speed up consecutive hostdisk operations on the same device.
20770
20771 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
20772 (grub_util_biosdisk_open): Initialise disk->data.
20773 (struct linux_partition_cache): New structure.
20774 (linux_find_partition): Cache partition start positions; these are
20775 expensive to compute on every read and write.
20776 (open_device): Cache open file descriptor in disk->data, so that we
20777 don't have to reopen it and flush the buffer cache for consecutive
20778 operations on the same device.
20779 (grub_util_biosdisk_close): New function.
20780 (grub_util_biosdisk_dev): Set `close' member.
20781
20782 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
20783 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
20784 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20785 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20786 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
20787
4a6d2d06
VS
207882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20789
20790 Compile parts of grub-emu as modules.
20791
20792 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
20793 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
20794 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
20795 (all-local): Add $(GRUB_EMU).
20796 (install-local): Install $(GRUB_EMU).
20797 (uninstall): Uninstall $(GRUB_EMU).
20798 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
20799 * kern/dl.c: Likewise.
20800 * commands/sleep.c: Not include machine/time.h.
20801 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
20802 (COMMON_CFLAGS): Likewise.
20803 (sbin_UTILITIES): Remove grub-emu.
20804 (grub_emu_SOURCES): Removed.
20805 (kernel_img_RELOCATABLE): New variable.
20806 (pkglib_PROGRAMS): Add kernel.img.
20807 (kernel_img_SOURCES): New variable
20808 (kernel_img_CFLAGS): Likewise.
20809 (kernel_img_LDFLAGS): Likewise.
20810 (TARGET_NO_STRIP): Likewise.
20811 (TARGET_NO_DYNAMIC_MODULES): Likewise.
20812 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
20813 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
20814 (grub-emu): New target.
20815 (GRUB_EMU): New variable.
20816 * configure.ac: Whitelist -emu as possible x86_64 architecture.
20817 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
20818 * loader/xnu.c: Likewise.
20819 * include/grub/pci.h: Likewise.
20820 * genemuinit.sh: New file.
20821 * genemuinitheader.sh: Likewise.
20822 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
20823 Support TARGET_NO_DYNAMIC_MODULES.
20824 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
20825 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
20826 * disk/loopback.c: Likewise.
20827 * font/font_cmd.c: Likewise.
20828 * partmap/acorn.c: Likewise.
20829 * partmap/amiga.c: Likewise.
20830 * partmap/apple.c: Likewise.
20831 * partmap/gpt.c: Likewise.
20832 * partmap/msdos.c: Likewise.
20833 * partmap/sun.c: Likewise.
20834 * parttool/msdospart.c: Likewise.
20835 * term/gfxterm.c: Likewise.
20836 * video/bitmap.c: Likewise.
20837 * video/readers/jpeg.c: Likewise.
20838 * video/readers/png.c: Likewise.
20839 * video/readers/tga.c: Likewise.
20840 * video/video.c: Likewise.
20841 * util/grub-emu.c (read_command_list): Removed.
20842 (main): Don't call util_init_nls.
20843 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
20844 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
20845
91fdd2ed
VS
208462010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20847
20848 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
20849 date.mod, datehook.mod.
20850 (datetime_mod_SOURCES): New variable.
20851 (datetime_mod_CFLAGS): Likewise.
20852 (datetime_mod_LDFLAGS): Likewise.
20853 (date_mod_SOURCES): Likewise.
20854 (date_mod_CFLAGS): Likewise.
20855 (date_mod_LDFLAGS): Likewise.
20856 (datehook_mod_SOURCES): Likewise.
20857 (datehook_mod_CFLAGS): Likewise.
20858 (datehook_mod_LDFLAGS): Likewise.
20859 * conf/sparc64-ieee1275.rmk: Likewise.
20860 * lib/ieee1275/datetime.c: New file.
20861
873ccae6
VS
208622010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20863
20864 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
20865 (ieee1275_fb_mod_SOURCES): New variable.
20866 (ieee1275_fb_mod_CFLAGS): Likewise.
20867 (ieee1275_fb_mod_LDFLAGS): Likewise.
20868 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
20869 New proto.
20870 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
20871 (HEAP_MAX_ADDR): Likewise.
20872 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
20873 type.
20874 Correct stop condition.
20875 (grub_ieee1275_devices_iterate): New function.
20876 * video/ieee1275.c: New file.
20877
601c97c0
VS
208782010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
20879
20880 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
20881
20882 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
20883 as scratch.
20884 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
20885 SCRATCH_PAD_DISKBOOT as scratch.
20886 (bootit): Pass Openfirmware pointer in %o4.
20887 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
20888 of 0x200000.
20889 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
20890 with util/grub-mkrawimage.c.
20891 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
20892 * include/grub/aout.h (AOUT_MID_SUN): New definition.
20893 (grub_aout_get_type) [GRUB_UTIL]: Removed.
20894 (grub_aout_load) [GRUB_UTIL]: Likewise.
20895 * include/grub/kernel.h (grub_modules_get_end): New proto.
20896 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
20897 (SCRATCH_PAD_BOOT): New definition.
20898 (SCRATCH_PAD_DISKBOOT): Likewise.
20899 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
20900 * include/grub/sparc64/ieee1275/ieee1275.h
20901 (grub_ieee1275_original_stack): New variable
20902 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
20903 New definition
20904 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
20905 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
20906 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
20907 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
20908 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
20909 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
20910 (grub_platform_image_format_t): New type.
20911 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
20912 * kern/main.c (grub_modules_get_end)
20913 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
20914 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
20915 (codestart): Switch stacks.
20916 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
20917 variable.
20918 (grub_heap_init): Use grub_modules_get_end.
20919 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
20920 stack.
20921 * util/grub-mkrawimage.c (generate_image): Support sparc64.
20922 (main): Likewise.
20923 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
20924
d68b491e
TG
209252010-03-14 Thorsten Glaser <tg@mirbsd.org>
20926
20927 * util/grub-mkrescue.in: Base ISO UUID on UTC.
20928
4e02ed50
MK
209292010-03-08 Matt Kraai <kraai@ftbfs.org>
20930
20931 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
20932 bug #559005).
20933
1f15fc1e
VS
209342010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
20935
20936 * genmoddep.awk: Output all missing symbols and not only first.
20937
fce5d8ff
VS
209382010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20939
20940 * NEWS: Put the date of 1.98 release.
20941
d1e8a02f
VS
209422010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20943
20944 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
20945 ft2build.h.
20946
696fd607
VS
209472010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20948
20949 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
20950 completition in the middle of string.
20951
33e2e6f3
VS
209522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20953
20954 * util/grub-mkrescue.in: Use mktemp with explicit template.
20955
b1f6d291
VS
209562010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20957
20958 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
20959
2ac227c7
VS
209602010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
20961
20962 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
20963 right pointer.
20964
8f9a632b
VS
209652010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20966
20967 Fix FreeBSD compilation.
20968
20969 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
20970 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
20971
60b03859
VS
209722010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
20973
20974 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
20975
48a5a769
VS
209762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20977
20978 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
20979
3ab4bd77
VS
209802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20981
20982 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
20983
d116e0d8
RM
209842010-03-04 Robert Millan <rmh.grub@aybabtu.com>
20985
20986 Support relative image path in theme file.
20987
20988 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
20989 (image_set_property): Handle theme_dir and relative path.
20990
c7ef54aa
VS
209912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20992
20993 * configure.ac: Alias amd64 to x86_64.
20994
fcee14ed
VS
209952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
20996
20997 * NEWS: mention multiboot on EFI.
20998
d0780363
VS
209992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21000
21001 * kern/main.c (grub_load_modules): Handle errors from init functions of
21002 embeded modules.
21003
41168ea4
VS
210042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21005
21006 * normal/autofs.c (autoload_fs_module): Handle errors.
21007
b54d93ac
VS
210082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21009
21010 Disable linux.mod on qemu-mips since it's not functional and leads
21011 to compilation failure.
21012
21013 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21014 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21015 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21016 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21017 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21018 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21019 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21020 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21021 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21022 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21023 Reported by: BVK Chaitanya
21024
fc8345da
JU
210252010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21026
21027 * INSTALL: Add gettext as a dependency and add qemu to a new section
21028 "Prerequisites for make-check".
21029
4760f979
CF
210302010-03-04 Christian Franke <franke@computer.org>
21031
21032 * util/grub-pe2elf.c: Add missing include "progname.h".
21033
f209b5b2
VS
210342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21035
21036 * normal/crypto.c (read_crypto_list): Fix a typo.
21037 Reported by: Seth Goldberg.
21038
b4b7be98
VS
210392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21040
21041 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 21042 Reported by: Seth Goldberg.
b4b7be98 21043
c0ee0385
VS
210442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21045
21046 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21047 ascii.bitmaps.
21048
a8efbf64
VS
210492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21050
21051 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 21052 Reported by: Seth Goldberg.
a8efbf64 21053
08dcd913
VS
210542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21055
21056 * util/i386/efi/grub-install.in: Copy gettext files.
21057
c4d0b332
VS
210582010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21059
21060 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21061
c6f2fe52
VS
210622010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21063
21064 Wait for user entry basing on presence of output rather than on errors.
21065
21066 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21067 (grub_install_newline_hook): Likewise.
21068 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21069 * normal/menu.c (show_menu): Check line_counter to determine presence
21070 of output.
21071 * normal/term.c (grub_normal_line_counter): New variable.
21072 (grub_normal_get_line_counter): New function.
21073 (grub_install_newline_hook): Likewise.
21074
5382b1e4
VS
210752010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21076
21077 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21078
5519963b
VS
210792010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21080
21081 * configure.ac: Update version to 1.98.
21082
72b28631
VS
210832010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21084
21085 * util/grub.d/10_linux.in (linux_entry): Don't default to
21086 gfxpayload=keep if Linux doesn't support video handover.
21087
c140a180
VS
210882010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21089
21090 Don't compile video modules on yeeloong since video subsystem is part
21091 of kernel.
21092
21093 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21094 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21095 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21096 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21097 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21098 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21099 * include/grub/bitmap_scale.h: Likewise.
21100 * include/grub/bufio.h: Likewise.
21101 * include/grub/font.h: Likewise.
21102 * include/grub/gfxterm.h: Likewise.
21103 * include/grub/video.h: Likewise.
21104 * include/grub/vbe.h: Don't include video_fb.h.
21105 * video/i386/pc/vbe.c: Include video_fb.h.
21106 * commands/i386/pc/vbetest.c: Include video.h.
21107
a0ca21c2
CW
211082010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21109
21110 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21111 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21112 default entry if GRUB_SAVEDEFAULT=true. This allows using
21113 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21114 saving a new default on every boot.
21115
4a8a763c
VS
211162010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21117
21118 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21119 * normal/term.c (read_terminal_list): Likewise.
21120 * normal/main.c (grub_normal_init_page): Likewise.
21121 (grub_normal_read_line_real): Likewise.
21122
607ffde2
VS
211232010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21124
21125 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21126 memory leak.
21127 Reported by: Seth Goldberg.
21128
2b8fa975
CW
211292010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21130
21131 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21132 duplicate declaration of `start'.
21133
618307dd
VS
211342010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21135
21136 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21137 filename.
21138 Reported by: Georgy Buranov
21139
7dd05b96 211402010-02-20 Carles Pina i Estany <carles@pina.cat>
21141
21142 * util/grub-mkrawimage.c (usage): Change string formatting to
21143 improve gettext.
21144
d1484a42
MRA
211452010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21146
21147 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21148 backspace keys.
21149
42b1d186
VS
211502010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21151
21152 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21153 Reported by: Michael Suchanek.
21154
211552010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
21156
21157 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21158 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21159
d9f31a41
VS
211602010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21161
21162 Remove any reference to non-free fonts.
21163
21164 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21165 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21166 uses non-free components.
21167 * font/font.c (grub_font_get_name): Remove example name.
21168 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21169 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21170 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21171 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21172
2793c71e
GB
211732010-02-16 Georgy Buranov <gburanov@gmail.com>
21174
21175 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21176
402e3779
VS
211772010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21178
21179 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21180 Double divisor.
21181 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21182 features.
21183 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21184
0dd1e0dd
VS
211852010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21186
21187 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21188
6fa7cfce
ST
211892010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21190
21191 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21192 * docs/grub.texi (Command-line and menu entry commands): Document play
21193 command.
21194
37c8483b
ST
211952010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21196
21197 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21198 parse arguments as inline tempo and notes. Move code for playing notes
21199 to...
21200 (play): ... new function.
21201
14da0fb7
ST
212022010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21203
21204 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21205 grub_uint16_t instead of short.
21206 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21207 disk from little endian to cpu endianness.
21208
04459e70
ST
212092010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21210
21211 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21212 GRUB_TICKS_PER_SECOND instead of 120.
21213
a0876943
VS
212142010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21215
21216 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21217 escape sequence after \e.
21218
e29f95dc
VS
212192010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21220
21221 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21222 non-ASCII characters.
21223
d27859b2
VS
212242010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21225
21226 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21227 set root in single quotes to prevent \, from being unescaped.
21228
bc028f2f
VS
212292010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21230
21231 Prevent unknown commands from stopping menuentry execution.
21232
21233 * script/execute.c (grub_script_execute_cmdline): Print error after
21234 unknown command.
21235
095f5f82
VS
212362010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21237
21238 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21239 Reported by: Pavel Pisa.
21240
8c717950
VS
212412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21242
21243 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21244
904935c3
VS
212452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21246
21247 Merge grub_ieee1275_map_physical into grub_map and rename to
21248 grub_ieee1275_map
21249
21250 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
21251 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
21252 Remove.
21253 * kern/ieee1275/openfw.c (grub_map): Rename to ...
21254 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
21255 necessary.
21256 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
21257
5b59a4e3
VS
212582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21259
21260 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
21261 opening and not after.
21262
69e137e8
VS
212632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21264
21265 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
21266 constants.
21267
2c0fcc36
VS
212682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21269
21270 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
21271 (alloc_phys): Use ALIGN_UP instead of align_addr.
21272
8c6052ce
VS
212732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21274
21275 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
21276
17cec782
VS
212772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21278
21279 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
21280
e0128bbd
VS
212812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21282
21283 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
21284 verbose dprintf.
21285
ca62070b
VS
212862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21287
21288 Fix over-4GiB seek on sparc64.
21289
21290 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
21291 Replace pos_i and pos_lo with pos. All users updated.
21292 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21293 New constant.
21294 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21295 Likewise.
21296 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
21297 and pos_lo.
21298
bdca2607
VS
212992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21300
21301 * util/grub-mkrawimage.c (main): Call set_program_name.
21302
da278c4d
VS
213032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21304
21305 Properly align 64-bit targets.
21306
21307 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
21308 (generate_image): Use ALIGN_ADDR.
21309
b274d734
VS
213102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21311
21312 Properly create cross-endian images.
21313
21314 * include/grub/types.h (grub_host_to_target_addr): New macro
21315 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
21316
82da2062
VS
213172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21318
21319 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
21320
7cae4377
VS
213212010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
21324
21325 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
21326 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
21327 (grub_linux_boot): Divide by 64K when on VESA.
21328
65a533e7
VS
213292010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21330
21331 Support GRUB_GFXPAYLOAD_LINUX.
21332
21333 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
21334 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
21335
dd01d397
VS
213362010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21337
21338 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
21339 to show messages instead of discarding them.
21340 Process errors after executing command and not before. Keep old method
21341 too as precaution.
21342
660960d6
VS
213432010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
21344
21345 * configure.ac: Check for ft2build.h.
21346
62509f04
VS
213472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21348
21349 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
21350
473df63d
VS
213512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21352
21353 * genkernsyms.sh.in: Use TARGET_CC.
21354
c98d2a13
CW
213552010-02-07 Colin Watson <cjwatson@ubuntu.com>
21356
21357 * NEWS: Update.
21358
6e14234c
VS
213592010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
21362 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
21363 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 21364
b255e9cf
YB
213652010-02-07 Yves Blusseau <blusseau@zetam.org>
21366
6e14234c 21367 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 21368
98e6959d
VS
213692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21370
21371 Fix warnings in grub-emu when compiling with maximum warning options.
21372
21373 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
21374 (grub_arch_modules_addr): Return 0 and not NULL.
21375 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 21376 (xstrdup): Use newstr instead of dup.
f88d801b
VS
21377 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
21378 of disk to dsk to avoid shadowing.
74e4934e
VS
21379 (find_free_slot): Fix prototype.
21380 * util/getroot.c (grub_util_is_dmraid): Make static.
21381 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
21382 Add missing prototype.
21383 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 21384
74e31b5c
VS
213852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21386
21387 * loader/i386/linux.c (grub_linux_setup_video): Handle error
21388 appropriately.
21389
6b2ad14b
VS
213902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21391
21392 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
21393 code out.
21394
8f891adc
VS
213952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21396
21397 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
21398 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
21399 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
21400 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
21401 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
21402 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
21403
74b45184
VS
214042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21405
21406 * include/grub/err.h (grub_err_printf): Don't export.
21407
a4bced77
VS
214082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21409
21410 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
21411
007d0695
VS
214122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21413
21414 * include/grub/i18n.h (grub_gettext_dummy): Removed.
21415 * kern/misc.c (grub_gettext_dummy): Make static.
21416
b6c0d9c2
VS
214172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21418
21419 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
21420 by non-valid ones.
21421 * kern/term.c (grub_putchar): Likewise.
21422
f51a90d0
VS
214232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21424
21425 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
21426 buggy hook call and memory leak.
21427
6846cec5
VS
214282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21429
21430 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
21431
468d69fe
VS
214322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21433
21434 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
21435
51906b8c
VS
214362010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21437
21438 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
21439 modevar.
21440 Return grub_errno on allocation error.
21441
09706ce5
VS
214422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21443
21444 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
21445
911df80c
YB
214462010-02-06 Yves Blusseau <blusseau@zetam.org>
21447
21448 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
21449 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
21450
3746a6bc
VS
214512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21452
21453 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
21454 non-pxe disk.
21455 (grub_pxefs_open): Likewise.
21456
09706ce5
VS
214572010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21458
21459 * util/grub.d/10_hurd.in: Add --class information to menuentries.
21460 * util/grub.d/10_kfreebsd.in: Likewise.
21461 * util/grub.d/10_linux.in: Likewise.
21462
7cc192d9
VS
214632010-02-06 Colin D Bennett <colin@gibibit.com>
21464
21465 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
21466 (gfxmenu_mod_SOURCES): New variable.
21467 (gfxmenu_mod_CFLAGS): Likewise.
21468 (gfxmenu_mod_LDFLAGS): Likewise.
21469 * include/grub/term.h (grub_term_set_current_output): Declare
21470 argument as const.
21471 * docs/gfxmenu-theme-example.txt: New file.
21472 * gfxmenu/gfxmenu.c: Likewise.
21473 * gfxmenu/gui_box.c: Likewise.
21474 * gfxmenu/gui_canvas.c: Likewise.
21475 * gfxmenu/gui_circular_progress.c: Likewise.
21476 * gfxmenu/gui_image.c: Likewise.
21477 * gfxmenu/gui_label.c: Likewise.
21478 * gfxmenu/gui_list.c: Likewise.
21479 * gfxmenu/gui_progress_bar.c: Likewise.
21480 * gfxmenu/gui_string_util.c: Likewise.
21481 * gfxmenu/gui_util.c: Likewise.
21482 * gfxmenu/icon_manager.c: Likewise.
21483 * gfxmenu/model.c: Likewise.
21484 * gfxmenu/named_colors.c: Likewise.
21485 * gfxmenu/theme_loader.c: Likewise.
21486 * gfxmenu/view.c: Likewise.
21487 * gfxmenu/widget-box.c: Likewise.
21488 * include/grub/gfxmenu_model.h: Likewise.
21489 * include/grub/gfxmenu_view.h: Likewise.
21490 * include/grub/gfxwidgets.h: Likewise.
21491 * include/grub/gui.h: Likewise.
21492 * include/grub/gui_string_util.h: Likewise.
21493 * include/grub/icon_manager.h: Likewise.
21494
214952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21496
21497 Agglomerate scrolling in gfxterm.
21498
21499 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
21500 (grub_virtual_screen_setup): Initialise 'total_screen'.
21501 (write_char): Split to ...
21502 (paint_char): ... this ...
21503 (write_char): ... and this.
21504 (paint_char): Handle delayed scrolling.
21505 (draw_cursor): Likewise.
21506 (scroll_up): Split to ...
21507 (real_scroll): ... this ...
21508 (scroll_up): ... and this.
21509 (real_scroll): Handle multi-line scroll and draw below-the-bottom
21510 characters.
21511 (grub_gfxterm_refresh): Call real_scroll.
21512
215132010-02-06 Colin D Bennett <colin@gibibit.com>
21514
21515 * include/grub/misc.h (grub_iscntrl): New inline function.
21516 (grub_isalnum): Likewise.
21517 (grub_strtol): Likewise.
21518
215192010-02-06 Colin D Bennett <colin@gibibit.com>
21520
21521 * normal/menu_text.c (get_entry_number): Move from here ...
21522 * normal/menu.c (get_entry_number): ... moved here.
21523 * include/grub/menu.h (grub_menu_get_default_entry_index):
21524 New prototype.
21525 * normal/menu.c (grub_menu_get_default_entry_index): New function.
21526 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
21527 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
21528 (grub_menu_viewer_should_return): Likewise.
21529 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
21530 * normal/menu_text.c (run_menu): Enable menu switching.
21531 * normal/menu_viewer.c (should_return): New variable.
21532 (menu_viewer_changed): Likewise.
21533 (grub_menu_viewer_show_menu): Handle menu viewer changes.
21534 (grub_menu_viewer_should_return): New function.
21535 (menuviewer_write_hook): Likewise.
21536 (grub_menu_viewer_init): Likewise.
21537
215382010-02-06 Colin D Bennet <colin@gibibit.com>
215392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21540
21541 Support for gfxterm in a window.
21542
21543 * include/grub/gfxterm.h: New file.
21544 * include/grub/video.h (struct grub_video_rect): New declaration.
21545 (grub_video_rect_t): Likewise.
21546 * term/gfxterm.c (struct grub_gfxterm_window): New type.
21547 (refcount): New variable.
21548 (render_target): Likewise.
21549 (window): Likewise.
21550 (repaint_callback): Likewise.
21551 (grub_virtual_screen_setup): Use 'render_target'.
21552 (init_window): New function.
21553 (grub_gfxterm_init_window): Likewise.
21554 (grub_gfxterm_init): Check reference counter.
21555 Use init_window.
21556 (destroy_window): New function.
21557 (grub_gfxterm_destroy_window): Likewise.
21558 (grub_gfxterm_fini): Check reference counter.
21559 Use destroy_window.
21560 (redraw_screen_rect): Restore viewport.
21561 Use 'render_target' and 'window'.
21562 Call 'repaint_callback'.
21563 (write_char): Use 'render_target'.
21564 (draw_cursor): Likewise.
21565 (scroll_up): Restore viewport.
21566 Use 'render_target' and 'window'.
21567 Call 'repaint_callback'.
21568 (grub_gfxterm_cls): Likewise.
21569 (grub_gfxterm_refresh): Use 'window'.
21570 (grub_gfxterm_set_repaint_callback): New function.
21571 (grub_gfxterm_background_image_cmd): Use 'window'.
21572 (grub_gfxterm_get_term): New function.
21573 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
21574
215752010-02-06 Colin D Bennett <colin@gibibit.com>
21576
21577 Bitmap scaling support.
21578
21579 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
21580 (bitmap_scale_mod_SOURCES): New variable.
21581 (bitmap_scale_mod_CFLAGS): Likewise.
21582 (bitmap_scale_mod_LDFLAGS): Likewise.
21583 * include/grub/bitmap_scale.h: New file.
21584 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
21585 (background_image_cmd_options): New variable.
21586 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
21587 (cmd): Rename and change type to ...
21588 (background_image_cmd_handle): ... this. All users updated.
21589 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
21590 * video/bitmap_scale.c: New file.
21591
215922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21593
21594 SDL support.
21595
21596 * Makefile.in (LIBSDL): New variable.
21597 (enable_grub_emu_sdl): Likewise.
21598 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
21599 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
21600 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
21601 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
21602 * util/sdl.c: New file.
21603
216042010-02-06 Colin D Bennett <colin@gibibit.com>
216052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21606
21607 Double buffering support.
21608
21609 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
21610 * include/grub/video.h: Update comment.
21611 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
21612 New type.
21613 (grub_video_fb_doublebuf_blit_init): New prototype.
21614 * term/gfxterm.c (scroll_up): Support double buffering.
21615 (grub_gfxterm_refresh): Likewise.
21616 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
21617 (grub_video_fb_doublebuf_blit_init): Likewise.
21618 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
21619 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
21620 'displayed_page', 'render_page' and 'update_screen'.
21621 (grub_video_vbe_fini): Free offscreen buffer.
21622 (doublebuf_pageflipping_commit): New function.
21623 (doublebuf_pageflipping_update_screen): Likewise.
21624 (doublebuf_pageflipping_init): Likewise.
21625 (double_buffering_init): Likewise.
21626 (grub_video_vbe_setup): Enable doublebuffering.
21627 (grub_video_vbe_swap_buffers): Implement.
21628 (grub_video_vbe_set_active_render_target): Handle double buffering.
21629 (grub_video_vbe_get_active_render_target): Likewise.
21630 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
21631 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
21632 (grub_video_vbe_enable_double_buffering): Likewise.
21633 (grub_video_vbe_swap_buffers): Use update_screen.
21634 (grub_video_set_mode): Use double buffering.
21635
216362010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21637
21638 * maintainance/gentrigtables.py: Remove.
21639 * lib/trig.c: Likewise.
21640
21641 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
21642
21643 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
21644 `trigtables.c'.
21645 (trigtables.c): New rule.
21646 (gentrigtables): Likewise.
21647 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
21648
216492010-02-06 Robert Millan <rmh.grub@aybabtu.com>
21650
21651 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
21652 integer constants.
21653
216542010-02-06 Colin D Bennet <colin@gibibit.com>
21655
21656 Trigonometry support.
21657
21658 * include/grub/trig.h: New file.
21659 * lib/trig.c: Likewise.
21660 * maintainance/gentrigtables.py: Likewise.
21661 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
21662 (trig_mod_SOURCES): New variable.
21663 (trig_mod_CFLAGS): Likewise.
21664 (trig_mod_LDFLAGS): Likewise.
21665
5562834e
VS
216662010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21667
21668 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
21669 disk devices.
21670
4f8528fc
VS
216712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
21672
21673 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
21674 error.
21675
2b4068e9
VS
216762010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21677
21678 * util/hostdisk.c (open_device): Don't use partition device when reading
21679 before the partition.
21680 (grub_util_biosdisk_read): Don't read from partition and before the
21681 partition in single operation.
21682 (grub_util_biosdisk_write): Don't write to partition and before the
21683 partition in single operation.
21684
399f6e4d
TL
216852010-02-03 Torsten Landschoff <torsten@debian.org>
21686
21687 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21688 last sectors.
21689
996649b0
VS
216902010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
21691
21692 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
21693 CDROM reads.
21694 (grub_biosdisk_write): Refuse to write to CDROM.
21695
3b205d4d
VS
216962010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21697
21698 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
21699
61e89d9d
VS
217002010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
21701
21702 * font/font.c (find_glyph): Check that bmp_idx is available before
21703 using it.
21704 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
21705 with (font == NULL).
21706
bf7fcba2
CS
217072010-01-28 Christian Schmitt <chris@ilovelinux.de>
21708
21709 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
21710
f45d2663
BC
217112010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
21712
21713 * include/grub/script_sh.h (sourcecode): Add const qualifier.
21714 * util/grub-script-check.c (getline): Fix empty lines case.
21715
ec1444e6
RM
217162010-01-28 Robert Millan <rmh.grub@aybabtu.com>
21717
21718 * Makefile.in (check): Exit with fail status when one of the tests
21719 fails.
21720 * tests/example_functional_test.c (example_test): Fix reversed assert.
21721 * tests/example_unit_test.c (example_test): Likewise.
21722
2e1cb9bb
CW
217232010-01-28 Colin Watson <cjwatson@ubuntu.com>
21724
21725 * util/grub.d/10_linux.in: This script does not use any of the
21726 contents of gettext.sh, only the external command `gettext', so stop
21727 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
21728 the same prefix as GRUB.)
21729 * util/grub.d/10_kfreebsd.in: Likewise.
21730
63533ab0
VS
217312010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21732
21733 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
21734 of the line.
21735
989e1f93
VS
217362010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21737
21738 * kern/disk.c (grub_disk_read): Fix offset computation when reading
21739 last sectors.
21740
e709ebe2
VS
217412010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
21742
21743 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
21744 having a 4KiB and not 32KiB buffer size.
21745
27dea7ed
RM
217462010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21747
21748 * util/hostfs.c: Include `<errno.h>'.
21749 (grub_hostfs_read): Handle errors from fseeko() and fread().
21750
67667b9c
RM
217512010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21752
21753 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
21754 loop when using read hooks on files whose size isn't sector-aligned.
21755
c294d9d8
RM
217562010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21757
21758 Remove unused parameter.
21759
21760 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
21761 (grub_iso9660_open): Remove initialization of `data->length'.
21762
af75a9f1
RM
217632010-01-27 Robert Millan <rmh.grub@aybabtu.com>
21764
21765 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
21766 memleak conditions.
21767
254e2ce5 217682010-01-27 Carles Pina i Estany <carles@pina.cat>
21769
21770 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
21771 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
21772
b510928c 217732010-01-26 Carles Pina i Estany <carles@pina.cat>
21774
21775 * util/bin2h.c (usage): Fix warning (space after backslash).
21776
aa2f9dd2 217772010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 21778
21779 * font/font.c: Include `grub/fontformat.h.
21780 Remove font file format constants.
21781 (grub_font_load): Use the new macros.
21782 * include/grub/fontformat.h: New file.
21783 * util/grub-mkfont.c: Include `grub/fontformat.c'.
21784 (write_font_pf2): Use the new macros.
21785
94e7e712
RM
217862010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21787
21788 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
21789 does.
21790
3973a59a
RM
217912010-01-26 Robert Millan <rmh.grub@aybabtu.com>
21792
21793 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
21794
21795 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
21796 (_start): Macroify `0x7F'.
21797
21798 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
21799 (make_install_device): Use "(pxe)" as fallback prefix when booting
21800 via PXE.
21801
42e0cba3
GS
218022010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
21803
21804 * configure.ac: Reset LIBS after check for libgcc symbols.
21805
847effd8
CW
218062010-01-25 Colin Watson <cjwatson@ubuntu.com>
21807
21808 * util/hostdisk.c (open_device): Add trailing newline to debug
21809 message.
21810
ea4a7e35
GS
218112010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
21812
21813 * configure.ac: Check for `limits.h'.
21814 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
21815
67951a53
RM
218162010-01-24 Robert Millan <rmh.grub@aybabtu.com>
21817
21818 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
21819 capitalize error strings.
21820
c273d4ce
ST
218212010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
21822
21823 * util/grub.d/10_hurd.in: Add a recovery mode.
21824
69be5b74
VS
218252010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 * configure.ac: Check for libgcc symbols with -nostdlib.
21828
fc9e5810
BC
218292010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
21830
21831 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
21832
4b358c0a
VS
218332010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21834
21835 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
21836 stack since heap may be unavailable at that point.
21837 (grub_ofconsole_gotoxy): Likewise.
21838
454fcd1c
VS
218392010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21840
21841 * configure.ac: Check for _restgpr_14_x.
21842 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
21843 and _savegpr_* prototypes.
21844
566863ca
RM
218452010-01-22 Robert Millan <rmh.grub@aybabtu.com>
21846
21847 Use generic grub_reboot() for i386-efi.
21848
21849 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
21850 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
21851 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
21852
bf86e59a
VS
218532010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
21856 presence of "prefix" variable as it breaks when normal.mod is
21857 embedded.
21858
d645e0f8
VS
218592010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21860
21861 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
21862 stack since heap is unavailable at that point.
21863
f9ab2e25
VS
218642010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21865
21866 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
21867 (grub_freebsd_bootinfo): Rewritten.
21868 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
21869
01fc7054
VS
218702010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
21871
21872 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
21873
caab4fd6
RM
218742010-01-21 Robert Millan <rmh.grub@aybabtu.com>
21875
21876 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
21877 domain now.
21878
67eb1427
FZ
218792010-01-20 Felix Zielcke <fzielcke@z-51.de>
21880
21881 * util/misc.c (make_system_path_relative_to_its_root): Change the work
21882 around for handling "/" to the correct fix. Fix a memory leak. Use
21883 xstrdup instead of strdup.
21884
a9ed4ff3
VS
218852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21886
21887 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
21888
218892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
21890
21891 Optimise glyph lookup by Basic Multilingual Plane lookup array.
21892
21893 * font/font.c (struct grub_font): New member 'bmp_idx'.
21894 (font_init): Initialise 'bmp_idx'.
21895 (load_font_index): Fill 'bmp_idx'.
21896 (find_glyph): Make inline. Use bmp_idx for BMP characters.
21897
48209f4f
VS
218982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21899
21900 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
21901 unnecessary calls.
21902
9f0a4bb7
VS
219032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21904
21905 Move context handling out of the kernel.
21906
21907 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
21908 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
21909 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
21910 * conf/i386-efi.rmk: Likewise.
21911 * conf/i386-ieee1275.rmk: Likewise.
21912 * conf/i386-pc.rmk: Likewise.
21913 * conf/powerpc-ieee1275.rmk: Likewise.
21914 * conf/sparc64-ieee1275.rmk: Likewise.
21915 * conf/x86_64-efi.rmk: Likewise.
21916 * include/grub/env.h: Include grub/menu.h.
21917 (grub_env_var_type): Removed.
21918 (grub_env_var): Replaced field 'type' with 'global'.
21919 (grub_env_find): New prototype.
21920 (grub_env_context_open): Remove EXPORT_FUNC.
21921 (grub_env_context_close): Likewise.
21922 (grub_env_export): Likewise.
21923 (grub_env_set_data_slot): Removed.
21924 (grub_env_get_data_slot): Likewise.
21925 (grub_env_unset_data_slot): Likewise.
21926 (grub_env_unset_menu): New prototype.
21927 (grub_env_set_menu): Likewise.
21928 (grub_env_get_menu): Likewise.
21929 * include/grub/env_private.h: New file.
21930 * include/grub/normal.h (grub_context_init): New prototype.
21931 (grub_context_fini): Likewise.
21932 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
21933 * normal/context.c (grub_cmd_export): ... to here.
21934 * kern/env.c: Include env_private.h.
21935 (HASHSZ): Moved to include/grub/env_private.h.
21936 (grub_env_context): Likewise.
21937 (grub_env_sorted_var): Likewise.
21938 (current_context): Renamed from this ...
21939 (grub_current_context): ...to this. 'static' removed. All users updated.
21940 (grub_env_find): Removed 'static'.
21941 (grub_env_context_open): Moved to normal/context.c.
21942 (grub_env_context_close): Likewise.
21943 (grub_env_export): Likewise.
21944 (mangle_data_slot_name): Removed.
21945 (grub_env_set_data_slot): Likewise.
21946 (grub_env_get_data_slot): Likewise.
21947 (grub_env_unset_data_slot): Likewise.
21948 * kern/main.c (grub_set_root_dev): Don't export root.
21949 It will be done later.
21950 (grub_main): Don't export prefix.
21951 It will be done later.
21952 * normal/context.c: New file.
21953 * normal/main.c (free_menu): Use grub_env_unset_menu.
21954 (grub_normal_add_menu_entry): Use grub_env_get_menu.
21955 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
21956 (GRUB_MOD_INIT(normal)): Call grub_context_init.
21957 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
21958
8dd35b8c
VS
219592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21960
21961 setpci support.
21962
21963 * commands/setpci.c: New file.
21964 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
21965 (setpci_mod_SOURCES): New variable.
21966 (setpci_mod_CFLAGS): Likewise.
21967 (setpci_mod_LDFLAGS): Likewise.
21968
449193d5
VS
219692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
21970
21971 Byte-addressable PCI configuration space.
21972
21973 * bus/pci.c (grub_pci_make_address): Use byte address instead of
21974 dword address.
21975 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
21976 GRUB_PCI_REG_CACHELINE.
21977 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
21978 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
21979 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
21980 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
21981 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
21982 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
21983 grub_pci_make_address.
21984 (lock_rom_area): Likewise.
21985 * commands/lspci.c (grub_lspci_iter): Use macroses
21986 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
21987 of grub_pci_make_address.
21988 * disk/ata.c (grub_ata_pciinit): Likewise.
21989 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
21990 (GRUB_PCI_REG_VENDOR): Likewise.
21991 (GRUB_PCI_REG_DEVICE): Likewise.
21992 (GRUB_PCI_REG_COMMAND): Likewise.
21993 (GRUB_PCI_REG_STATUS): Likewise.
21994 (GRUB_PCI_REG_REVISION): Likewise.
21995 (GRUB_PCI_REG_CLASS): Likewise.
21996 (GRUB_PCI_REG_CACHELINE): Likewise.
21997 (GRUB_PCI_REG_LAT_TIMER): Likewise.
21998 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
21999 (GRUB_PCI_REG_BIST): Likewise.
22000 (GRUB_PCI_REG_ADDRESSES): Likewise.
22001 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22002 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22003 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22004 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22005 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22006 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22007 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22008 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22009 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22010 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22011 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22012 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22013 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22014 (GRUB_PCI_REG_MIN_GNT): Likewise.
22015 (GRUB_PCI_REG_MAX_LAT): Likewise.
22016 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22017 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22018 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 22019 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
22020 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22021 space.
22022
96d73208
RM
220232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22024
22025 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22026 can be reliably determined to be supported.
22027
d4484482
RM
220282010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22029
22030 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22031 that VESA is supported.
22032 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22033 supported.
22034
00308ecf
VS
220352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22036
22037 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22038
f66924a4
RM
220392010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22040
22041 * util/misc.c (make_system_path_relative_to_its_root): Work around
22042 special-casing of "/", as previous incarnation of this routine did.
22043
cbca0ada
VS
220442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22045
22046 Fix any-emu compilation.
22047
22048 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22049 * grub_bin2h_SOURCES: New variable.
22050
34a66d99
RM
220512010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22052
22053 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22054
94fabf58
RM
220552010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22056
22057 * util/grub.d/00_header.in: Fix handling of locale_dir.
22058
02cf98ca
VS
220592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22060
22061 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22062 as possible unifont location (Gentoo).
22063 Reported by: Alexander Brüning
22064
327dbcd7
VS
220652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22066
22067 Don't try to generate lists for kernel.img.
22068
22069 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22070 (pkglib_MODULES): Remove kernel.img.
22071 (kernel_img_EXPORTS): Removed.
22072 (kernel_img_RELOCATABLE): New variable.
22073 * conf/x86_64-efi.rmk: Likewise.
22074 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22075
ca467290
VS
220762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22077
22078 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22079 grub_xasprintf or grub_snprintf.
22080 (grub_vsprintf): Likewise.
22081 (grub_snprintf): New proto.
22082 (grub_vsnprintf): Likewise.
22083 (grub_xasprintf): Likewise.
22084 (grub_xvasprintf): Likewise.
22085 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22086 (grub_sprintf): Removed.
22087 (grub_vsnprintf): New function.
22088 (grub_snprintf): Likewise.
22089 (grub_xvasprintf): Likewise.
22090 (grub_xasprintf): Likewise.
22091 (grub_vsprintf): Renamed to ...
22092 (grub_vsnprintf_real): ...this. New argument max_len.
22093
aca655fd
BC
220942010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22095
22096 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22097 fix grub-script-check warning.
22098
7ee92c32
VS
220992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22100
22101 * include/grub/font.h (grub_font_load): Fix prototype.
22102
f80927ca
VS
221032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22104
22105 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22106
119c50ea
VS
221072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22108
22109 * include/grub/x86_64/at_keyboard.h: New file.
22110
47d5f3c1
VS
221112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22112
22113 * loader/mips/linux.c: Include missing grub/i18n.h.
22114
55ff5266
RM
221152009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22116
22117 * normal/menu.c (notify_execution_failure): Clarify error message.
22118
c893cc87
RM
221192009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22120
22121 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22122 return value (and revert all return statements). Update users.
22123
917dd370
CW
221242010-01-20 Dan Merillat <debian@dan.merillat.org>
22125
22126 * kern/device.c (grub_device_iterate): Allocate new part_ent
22127 structure based on sizeof (*p) rather than sizeof (p->next), to
22128 account for structure padding.
22129
22130 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22131 disk is NULL, which might happen for LVM physical volumes with no
22132 LVM signature.
22133
d4a4ee57
RM
221342009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22135
22136 * loader/mips/linux.c (grub_cmd_initrd)
22137 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22138
221392009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22140
22141 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22142 (grub_video_video_init, grub_video_bitmap_init)
22143 (grub_font_manager_init, grub_term_gfxterm_init)
22144 (grub_at_keyboard_init): New extern declarations.
22145 (grub_machine_init): Initialize gfxterm and at_keyboard.
22146
22147 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22148
22149 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22150 `gfxterm.mod' into core image.
22151
22152 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22153 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22154 (kernel_img_FORMAT): Copy to ...
22155
22156 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22157 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22158 (kernel_img_FORMAT): ... here, and ...
22159
22160 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22161 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22162 (kernel_img_FORMAT): ... here.
22163
22164 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22165 and input (at_keyboard) terminals in kernel.
22166 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22167
22168 (pkglib_MODULES): Remove `pci.mod'.
22169 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22170 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22171 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22172 (at_keyboard_mod_LDFLAGS): Remove variables.
22173
221742010-01-11 Felix Zielcke <fzielcke@z-51.de>
22175
22176 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22177
221782009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22179
22180 * include/grub/mips/libgcc.h: Only export symbols for functions
22181 that libgcc provides.
22182
221832009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22184
22185 MIPS support.
22186
22187 * bus/bonito.c: New file.
22188 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22189 GRUB_PCI_NUM_DEVICES.
22190 * term/i386/pc/serial.c: Move to ...
22191 * term/serial.c: ... here. All users updated.
22192 * util/i386/pc/grub-mkimage.c: Move to ...
22193 * util/grub-mkrawimage.c: ... here. All users updated.
22194 * term/i386/pc/at_keyboard.c: Move to ...
22195 * term/at_keyboard.c: ... here. All users updated.
22196 * conf/mips-qemu-mips.rmk: New file.
22197 * conf/mips-yeeloong.rmk: Likewise.
22198 * conf/mips.rmk: Likewise.
22199 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22200 mipsel-qemu-mips.
22201 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22202 to port addresses.
22203 (grub_ata_pciinit): Support CS5536.
22204 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22205 * font/font_cmd.c (loadfont_command): Open file before passing it to
22206 grub_font_load.
22207 (pseudo_file_read): New function.
22208 (pseudo_file_close): Likewise.
22209 (pseudo_fs): New structure.
22210 (load_font_module): New function.
22211 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22212 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22213 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22214 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22215 * include/grub/i386/at_keyboard.h: Split into ...
22216 * include/grub/at_keyboard.h: ... this ...
22217 * include/grub/i386/at_keyboard.h: ... and this.
22218 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22219 New prototype.
22220 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22221 updated.
22222 (grub_elf64_size): Likewise.
22223 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22224 filename.
22225 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22226 * include/grub/i386/coreboot/serial.h: Rewritten.
22227 * include/grub/i386/ieee1275/serial.h: Include
22228 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22229 * include/grub/i386/pc/serial.h: Moved from here ...
22230 * include/grub/serial.h: ... to here. All users updated.
22231 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22232 (GRUB_PCI_NUM_BUS): Likewise.
22233 (GRUB_PCI_NUM_DEVICES): Likewise.
22234 (grub_pci_device_map_range): Add missing volatile keyword.
22235 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22236 * include/grub/mips/at_keyboard.h: New file.
22237 * include/grub/mips/cache.h: Likewise.
22238 * include/grub/mips/io.h: Likewise.
22239 * include/grub/mips/kernel.h: Likewise.
22240 * include/grub/mips/libgcc.h: Likewise.
22241 * include/grub/mips/pci.h: Likewise.
22242 * include/grub/mips/qemu-mips/boot.h: Likewise.
22243 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22244 * include/grub/mips/qemu-mips/loader.h: Likewise.
22245 * include/grub/mips/qemu-mips/memory.h: Likewise.
22246 * include/grub/mips/qemu-mips/serial.h: Likewise.
22247 * include/grub/mips/qemu-mips/time.h: Likewise.
22248 * include/grub/mips/relocator.h: Likewise.
22249 * include/grub/mips/time.h: Likewise.
22250 * include/grub/mips/types.h: Likewise.
22251 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
22252 * include/grub/mips/yeeloong/boot.h: Likewise.
22253 * include/grub/mips/yeeloong/kernel.h: Likewise.
22254 * include/grub/mips/yeeloong/loader.h: Likewise.
22255 * include/grub/mips/yeeloong/memory.h: Likewise.
22256 * include/grub/mips/yeeloong/pci.h: Likewise.
22257 * include/grub/mips/yeeloong/serial.h: Likewise.
22258 * include/grub/mips/yeeloong/time.h: Likewise.
22259 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
22260 * kern/elf.c (grub_elf32_size): New parameter. All users
22261 updated.
22262 (grub_elf64_size): Likewise.
22263 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
22264 Load modules before saying "Welcome to GRUB!".
22265 Call grub_refresh after saying "Welcome to GRUB!".
22266 * kern/mips/cache.S: New file.
22267 * kern/mips/cache_flush.S: Likewise.
22268 * kern/mips/dl.c: Likewise.
22269 * kern/mips/init.c: Likewise.
22270 * kern/mips/qemu-mips/init.c: Likewise.
22271 * kern/mips/startup.S: Likewise.
22272 * kern/mips/yeeloong/init.c: Likewise.
22273 * kern/term.c (grub_putcode): Handle NULL terminal.
22274 (grub_getcharwidth): Likewise.
22275 (grub_getkey): Likewise.
22276 (grub_checkkey): Likewise.
22277 (grub_getkeystatus): Likewise.
22278 (grub_getxy): Likewise.
22279 (grub_getwh): Likewise.
22280 (grub_gotoxy): Likewise.
22281 (grub_cls): Likewise.
22282 (grub_setcolorstate): Likewise.
22283 (grub_setcolor): Likewise.
22284 (grub_getcolor): Likewise.
22285 (grub_refresh): Likewise.
22286 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
22287 (write_jump): Add hatch nop.
22288 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
22289 * lib/mips/setjmp.S: New file.
22290 * loader/mips/linux.c: Likewise.
22291 * term/i386/pc/at_keyboard.c: Move from here ...
22292 * term/at_keyboard.c: ... to here.
22293 * term/i386/pc/serial.c: Moved from here ...
22294 * term/serial.c: ... to here. All users updated.
22295 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
22296 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
22297 (serial_translate_key_sequence): Avoid deadlock.
22298 (grub_serial_getkey): Handle backspace.
22299 (grub_serial_putchar): Fix newline handling.
22300 * util/i386/pc/grub-mkimage.c: Move from here ...
22301 * util/grub-mkrawimage.c: ... to here. All users updated.
22302 (generate_image): New parameters 'font_path' and 'format'.
22303 Support embedding font.
22304 Use grub_host_to_target* instead of grub_cpu_to_le*.
22305 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
22306 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
22307 (options): New option "--font".
22308 (usage): Likewise.
22309 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
22310 (main): Handle "--font".
22311 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
22312 (grub_virtual_screen_setup): Set bg_color_display.
22313 (redraw_screen_rect): Use bg_color_display instead of incorrect
22314 bg_color.
22315 (grub_gfxterm_cls): Likewise.
22316 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
22317 Support embedding config file.
22318 (add_segments): Likewise.
22319 (options): New option "--config".
22320 (main): Handle "--config".
22321 * video/sm712.c: New file.
22322
25c2b5b3
RM
223232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22324
22325 Fix parallel builds.
22326
22327 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
22328 font.c depend on ascii.h).
22329
223302010-01-12 Carles Pina i Estany <carles@pina.cat>
22331
22332 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
22333
223342010-01-11 Carles Pina i Estany <carles@pina.cat>
22335
22336 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
22337 By default: disabled.
22338 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
22339 parameter.
22340
223412010-01-10 Carles Pina i Estany <carles@pina.cat>
22342
22343 * font/font.c: Update copyright years.
22344 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
22345
223462010-01-10 Carles Pina i Estany <carles@pina.cat>
22347
22348 * font/font.c: Include `ascii.h'.
22349 (ASCII_BITMAP_SIZE): New macro.
22350 (ascii_font_glyph): Define.
22351 (ascii_glyph_lookup): New function.
22352 (grub_font_get_string_width): Change comment. If glyph not found, use
22353 ascii_glyph_lookup.
22354 (grub_font_get_glyph_with_fallback): If glyph not available returns
22355 ascii_glyph_lookup.
22356 * util/grub-mkfont.c (file_formats): New enum.
22357 (options): Add `ascii-bitmaps' new option.
22358 (usage): Add `asii-bitmaps' new option.
22359 (write_font_ascii_bitmap): New function.
22360 (write_font): Rename to ...
22361 (write_font_p2): ... this. Remove print_glyphs call.
22362 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
22363 used. Call print_glyphs.
22364 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
22365
223662010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22367
22368 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
22369 (grub_bin2h_SOURCES): New variable.
22370 * util/bin2h.c: New file.
22371
915fc1b8
VS
223722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22373
22374 * include/multiboot.h: Resynced with spec.
22375 * include/multiboot2.h: Likewise.
22376 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
22377 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
22378
9444b678
RM
223792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22380
22381 * include/grub/term.h (grub_term_register_input,
22382 grub_term_register_output): Check return of terminal init()
22383 routines, and abort if errors are raised.
22384
22385 * commands/terminal.c: Update copyright year.
22386
cba98e8d
RM
223872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22388
22389 * commands/terminal.c (grub_cmd_terminal_input)
22390 (grub_cmd_terminal_output): Check return of terminal init()
22391 routines, and abort if errors are raised.
22392
6f7db5d6
VS
223932010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22394
22395 * include/grub/i386/bsd.h: Fix include pathes.
22396
262bff8d
VS
223972010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
22398
22399 Add missing *BSD copyright headers.
22400
22401 * include/grub/aout.h: Add BSD licence.
22402 * include/grub/i386/bsd.h: Parts under different licences moved to ...
22403 * include/grub/i386/freebsd_linker.h: ... here,
22404 * include/grub/i386/freebsd_reboot.h: ... here,
22405 * include/grub/i386/netbsd_bootinfo.h: ... here,
22406 * include/grub/i386/netbsd_reboot.h: ... here,
22407 * include/grub/i386/openbsd_bootarg.h: ... here,
22408 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
22409 licence to each file.
22410
b2cab848
RM
224112010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22412
22413 * acinclude.m4: Remove `nop' assembly instruction; it's not
22414 implemented by all architectures.
22415
2cb6be4b
RM
224162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22417
22418 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
22419 ELILO. This is no longer necessary.
22420
a2eaee15
BC
224212010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
22422
22423 Added new tool, grub-scrit-check to verify grub.cfg syntax.
22424
22425 * util/grub-script-check.c: grub-script-check tool.
22426 * conf/common.rmk: Make rules for grub-script-check.
22427
88d17012
RM
224282010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22429
22430 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
22431 spotting it back in 2008. Shame on me for forgetting he did.
22432
22433 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
22434
8040619d
RM
224352010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22436
22437 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
22438 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
22439 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
22440 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
22441 (GRUB_VIDEO_TYPE_EFI): Rename to ...
22442 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
22443
a0c2a0f6
RM
224442010-01-17 Robert Millan <rmh.grub@aybabtu.com>
22445
22446 * include/grub/test.h: Add license header.
22447 * tests/example_functional_test.c: Likewise.
22448 * tests/example_unit_test.c: Likewise.
22449 * tests/lib/functional_test.c: Likewise.
22450 * tests/lib/test.c: Likewise.
22451 * tests/lib/unit_test.c: Likewise.
22452
b0b13907
VS
224532010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
22454
22455 Use flag-based instead of hook-based video mode selection and "auto"
22456 keyword.
22457
22458 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
22459 (grub_video_set_mode): Changed prototype. All users updated.
22460 (grub_video_check_mode_flag): New inline function.
22461 * video/video.c (parse_modespec): New function.
22462 (grub_video_set_mode): Parse flags and keywords.
22463
ea379330 224642010-01-17 Carles Pina i Estany <carles@pina.cat>
22465
22466 * util/misc.c (grub_util_info): Fix the order of the parameters in a
22467 fprintf call.
22468
e15c215e
FZ
224692010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
22470
22471 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
22472
409ae1c9 224732010-01-16 Carles Pina i Estany <carles@pina.cat>
22474
22475 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
22476 string.
22477 * util/grub-emu.c (usage): Likewise.
22478 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
22479 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22480 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22481 * util/i386/pc/grub-setup.c (usage): Likewise.
22482
70a14d3d 224832010-01-16 Carles Pina i Estany <carles@pina.cat>
22484
22485 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
22486 the message.
22487 (grub_util_info): Likewise.
22488 (grub_util_error): Likewise.
22489 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
22490 and/or new lines in `grub_util_warna', `grub_util_info',
22491 `grub_util_error' calls.
22492 * util/getroot.c: Likewise.
22493 * util/grub-editenv.c: Likewise.
22494 * util/grub-emu.c: Likewise.
22495 * util/grub-fstest.c: Likewise.
22496 * util/grub-mkdevicemap.c: Likewise.
22497 * util/grub-mkfont.c: Likewise.
22498 * util/grub-mkpasswd-pbkdf2.c: Likewise.
22499 * util/grub-mkrelpath.c: Likewise.
22500 * util/grub-pe2elf.c: Likewise.
22501 * util/grub-probe.c: Likewise.
22502 * util/hostdisk.c: Likewise.
22503 * util/i386/efi/grub-mkimage.c: Likewise.
22504 * util/i386/pc/grub-mkimage.c: Likewise.
22505 * util/i386/pc/grub-setup.c: Likewise.
22506 * util/ieee1275/ofpath.c: Likewise.
22507 * util/mkisofs/eltorito.c: Likewise.
22508 * util/mkisofs/rock.c: Likewise.
22509 * util/mkisofs/write.c: Likewise.
22510 * util/raid.c: Likewise.
22511 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22512 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22513
a0b766fc
VS
225142010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22515
22516 Enable multiboot on non-pc.
22517
22518 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
22519 multiboot.mod and multiboot2.mod to ...
22520 * conf/i386.rmk (pkglib_MODULES): ... here.
22521 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
22522 Moved to ...
22523 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
22524 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
22525 Moved to ...
22526 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
22527 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
22528 Moved to ...
22529 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
22530 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
22531 Moved to ...
22532 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
22533 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
22534 relocator.mod.
22535 (ata_mod_SOURCES): Removed.
22536 (ata_mod_CFLAGS): Likewise.
22537 (ata_mod_LDFLAGS): Likewise.
22538 (relocator_mod_SOURCES): Removed.
22539 (relocator_mod_CFLAGS): Likewise.
22540 (relocator_mod_ASFLAGS): Likewise.
22541 (relocator_mod_LDFLAGS): Likewise.
22542 Include i386.mk.
22543 * include/grub/x86_64/multiboot.h: New file.
22544 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
22545 Terminate EFI.
22546
884ade56
VS
225472010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22548
22549 Video multiboot support.
22550
22551 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
22552 New prototype.
22553 * include/multiboot.h: Resynced with multiboot specification.
22554 * include/multiboot2.h: Likewise.
22555 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
22556 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
22557 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
22558 (HAS_VGA_TEXT): Likewise.
22559 (accepts_video): New variable.
22560 (grub_multiboot_set_accepts_video): New function.
22561 (grub_multiboot_get_mbi_size): Account for video structures.
22562 (set_video_mode): New function.
22563 (retrieve_video_parameters): Likewise.
22564 (grub_multiboot_make_mbi): Fill video fields.
22565
0d90e8a6
VS
225662010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
22567
22568 Video driver ids.
22569
22570 * include/grub/video.h (grub_video_driver_id): New type.
22571 (grub_video_adapter): New member 'id'. All users updated.
22572 (grub_video_get_driver_id): New proto.
22573 * video/video.c (grub_video_get_driver_id): New function.
22574
5c71db1b 225752010-01-14 Carles Pina i Estany <carles@pina.cat>
22576
22577 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
22578 `var=val'.
22579
cca15b52 225802010-01-14 Carles Pina i Estany <carles@pina.cat>
22581
22582 * normal/cmdline.c (print_completion): Gettextizze.
22583
c586fbb2 225842001-01-14 Carles Pina i Estany <carles@pina.cat>
22585
22586 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
22587
ba2f6848 225882010-01-14 Carles Pina i Estany <carles@pina.cat>
22589
22590 * gettext/gettext.c (grub_gettext_translate): Push and pop
22591 grub_errno.
22592 (grub_gettext_delete_list): Change comment style.
22593 * kern/err.c (grub_error): Gettextizze.
22594 (grub_fatal): Gettextizze.
22595
0a46429a
RM
225962010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22597
22598 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
22599 (grub_linux16_real_boot): ... this.
22600 * kern/i386/loader.S: Likewise.
22601 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
22602 (grub_linux16_boot): New function. Switches to text mode and calls
22603 grub_linux16_real_boot().
22604
22605 * loader/i386/bsd.c: Include `<grub/video.h>'.
22606 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
22607 text mode before calling grub_unix_real_boot().
22608
22609 * loader/i386/multiboot.c: Include `<grub/video.h>'.
22610 (grub_multiboot_boot): Switch to text mode before calling
22611 grub_relocator32_boot().
22612
22613 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
22614 (grub_chainloader_boot): Switch to text mode before calling
22615 grub_chainloader_real_boot().
22616
d6f93a66
RM
226172010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
226182010-01-05 Colin Watson <cjwatson@ubuntu.com>
22619
22620 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
22621 non-empty value.
22622
226232010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
226242010-01-05 Colin Watson <cjwatson@ubuntu.com>
22625
22626 * util/grub.d/00_header.in: Define a "savedefault" function for use
22627 in menu entries.
22628 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
22629
226302010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
226312010-01-05 Colin Watson <cjwatson@ubuntu.com>
22632
22633 * util/grub-mkconfig_lib.in (save_default_entry): Only set
22634 saved_entry if boot_once is unset.
22635 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
22636 previous saved entry (i.e. grub-reboot).
22637
226382009-12-08 Colin Watson <cjwatson@ubuntu.com>
22639
22640 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
22641
226422009-12-08 Colin Watson <cjwatson@ubuntu.com>
22643
22644 * util/grub.d/00_header.in: Use `set var=val' rather than plain
22645 `var=val'.
22646 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
22647
226482009-12-08 Colin Watson <cjwatson@ubuntu.com>
22649
22650 * util/grub-reboot.in: Fix --version output.
22651 * util/grub-set-default.in: Likewise.
22652
226532009-12-08 Colin Watson <cjwatson@ubuntu.com>
22654
22655 * util/grub.d/00_header.in: Silently ignore zero-sized environment
22656 blocks.
22657
226582009-12-08 Colin Watson <cjwatson@ubuntu.com>
22659
22660 * util/grub.d/00_header.in: Quote the value assigned to `default',
22661 in case it contains spaces.
22662
226632009-12-08 Colin Watson <cjwatson@ubuntu.com>
22664
22665 * util/grub.d/30_os-prober.in: Fix merge error that moved a
22666 `save_default_entry' call from the macosx case to the linux case.
22667
226682009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
226692009-10-25 Colin Watson <cjwatson@ubuntu.com>
22670
22671 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
22672 in `chosen' environment variable.
22673 * normal/menu_text.c (get_entry_number): Check if the variable
22674 matches the title of a menu entry.
22675 (run_menu): Pass menu to get_entry_number.
22676
22677 * util/grub-reboot.in: New file.
22678 * util/grub-set-default.in: New file.
22679 * conf/common.rmk (grub-reboot): New utility.
22680 (grub-set-default): New utility.
22681
22682 * util/grub-mkconfig_lib.in (save_default_entry): New function.
22683 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
22684 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
22685 move it to `saved_entry' for the next boot. Load environment on
22686 initialisation.
22687 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
22688 * util/grub.d/10_hurd.in: Likewise.
22689 * util/grub.d/10_linux.in (linux_entry): Likewise.
22690 * util/grub.d/10_windows.in: Likewise.
22691 * util/grub.d/30_os-prober.in: Likewise.
22692
22693 * util/grub-install.in: Create environment block.
22694 * util/i386/efi/grub-install.in: Likewise.
22695 * util/ieee1275/grub-install.in: Likewise.
22696 * util/sparc64/ieee1275/grub-install.in: Likewise.
22697
0934d184
BC
226982010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
22699
22700 Unit testing framework for GRUB.
22701
22702 * Makefile.in: Test framework build rules for 'make check'.
22703 * conf/tests.rmk: Build rules for individual tests and framework.
22704
22705 * include/grub/test.h: Header file for whitebox tests.
22706 * tests/lib/functional_test.c: Framework support for whitebox
22707 functional tests.
22708 * tests/lib/test.c: Common whitebox testing code for unit and
22709 functional tests.
22710 * tests/lib/unit_test.c: Framework support for whitebox unit
22711 tests.
22712
22713 * tests/util/grub-shell-tester.in: Support utility for grub-script
22714 tests.
22715 * tests/util/grub-shell.in: Utility to execute grub-script
22716 commands in a Qemu instance.
22717
22718 * tests/example_functional_test.c: Example whitebox functional
22719 test.
22720 * tests/example_grub_script_test.in: Example grub-script test.
22721 * tests/example_scripted_test.in: Example scripted test.
22722 * tests/example_unit_test.c: Example whitebox unit test.
22723
9c4ffeeb
VS
227242010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
22725
22726 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
22727 Add loader/i386/multiboot_mbi.c.
22728 (multiboot2_mod_SOURCES): Likewise.
22729 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
22730 (multiboot2_mod_SOURCES): Likewise.
22731 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
22732 (grub_multiboot_make_mbi): Likewise.
22733 (grub_multiboot_free_mbi): Likewise.
22734 (grub_multiboot_init_mbi): Likewise.
22735 (grub_multiboot_add_module): Likewise.
22736 (grub_multiboot_set_bootdev): Likewise.
22737 * loader/i386/multiboot.c (mbi): Removed.
22738 (mbi_dest): Likewise.
22739 (alloc_mbi): New variable.
22740 (grub_multiboot_payload_size): Removed. All users updated.
22741 (grub_multiboot_pure_size): New variable.
22742 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
22743 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
22744 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
22745 (grub_fill_multiboot_mmap): Likewise.
22746 (grub_multiboot_get_bootdev): Likewise.
22747 (grub_multiboot): Use multiboot_mbi functions.
22748 * loader/i386/multiboot_mbi.c: New file.
22749
17383dfe
VS
227502010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22751
22752 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
22753 it would result in module crash.
22754
c1f28820
VS
227552010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
22756
22757 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
22758 (grub_ofconsole_getwh): Split to ...
22759 (grub_ofconsole_getwh): ... this.
22760 (grub_ofconsole_dimensions): ...and this.
22761 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
22762
58655a16
RM
227632010-01-13 Robert Millan <rmh.grub@aybabtu.com>
22764
22765 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
22766
10891398
VS
227672010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22768
22769 * loader/i386/pc/multiboot2.c: Removed stalled file.
22770
0b8a223c
VS
227712010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
22772
22773 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
22774 Reported by: Grégoire Sutre
22775
92ab12b0
RM
227762010-01-11 Robert Millan <rmh.grub@aybabtu.com>
22777
22778 * util/misc.c (canonicalize_file_name): New function.
22779 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
22780 instead of realpath().
22781
a788afb6
CW
227822010-01-11 Colin Watson <cjwatson@ubuntu.com>
22783
22784 * util/grub-install.in (usage): Clarify meaning of --root-directory,
22785 and make it clearer that it's optional. Based on confusion
22786 witnessed on IRC.
22787
ffa8e3d2
VS
227882010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22789
22790 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
22791 in premature implicit newline.
22792
e9060a9d
VS
227932010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
22794
22795 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
22796 which resulted in garbled command line at the end of screen.
22797
f0d0c0b7
RM
227982010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22799
22800 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
22801 initialization with similar approach as with other Linux loaders.
22802
0e60bae7
RM
228032010-01-10 Robert Millan <rmh.grub@aybabtu.com>
22804
22805 Fix i386-ieee1275 build.
22806
22807 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
22808 and grub_term_height() for video_{width,height} initialization.
22809
228102010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
22811
22812 Fix grub-emu build.
22813
22814 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
22815
cdb3f378
RM
228162010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
228172010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22818
22819 Support for multiple terminals.
22820
22821 * Makefile.in (pkglib_DATA): terminal.lst.
22822 (terminal.lst): New target.
22823 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
22824 (GRUB_MOD_INIT(handler)): Likewise.
22825 (GRUB_MOD_FINI(handler)): Likewise.
22826 * commands/help.c (grub_cmd_help): Handle multiple terminals.
22827 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
22828 * commands/sleep.c (do_print): Use grub_term_restore_pos.
22829 (grub_cmd_sleep): Use grub_term_save_pos.
22830 * commands/terminal.c: New file.
22831 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
22832 commands/terminal.c and lib/charset.c.
22833 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
22834 (pkglib_MODULES): Add terminal.mod.
22835 (terminal_mod_SOURCES): New variable.
22836 (terminal_mod_CFLAGS): Likewise.
22837 (terminal_mod_LDFLAGS): Likewise.
22838 * genhandlerlist.sh: Don't handle terminals.
22839 * genmk.rb: Generate terminal-*.lst.
22840 * genterminallist.sh: New file.
22841 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
22842 (grub_is_valid_utf8): Likewise.
22843 (grub_utf8_to_ucs4_alloc): Likewise.
22844 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
22845 (grub_menu_register_viewer): Changed argument.
22846 (grub_menu_try_text): New proto.
22847 (grub_gfxmenu_try_hook): New declaration.
22848 * include/grub/normal.h (grub_normal_exit_level): New declaration.
22849 (grub_menu_init_page): Additional argument term.
22850 (grub_normal_init_page): Likewise.
22851 (grub_cmdline_get): Arguments simplified.
22852 (grub_utf8_to_ucs4_alloc): Removed.
22853 (grub_print_ucs4): Additional argument term.
22854 (grub_getstringwidth): Likewise.
22855 (grub_print_message_indented): Likewise.
22856 (grub_menu_text_register_instances): New proto.
22857 (grub_show_menu): Likewise.
22858 (read_terminal_list): Likewise.
22859 (grub_set_more): Likewise.
22860 * include/grub/parser.h: Include handler.h.
22861 * include/grub/reader.h: Rewritten.
22862 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
22863 (GRUB_TERM_WIDTH): Changed to function.
22864 (GRUB_TERM_HEIGHT): Likewise.
22865 (GRUB_TERM_BORDER_WIDTH): Likewise.
22866 (GRUB_TERM_BORDER_HEIGHT): Likewise.
22867 (GRUB_TERM_NUM_ENTRIES): Likewise.
22868 (GRUB_TERM_ENTRY_WIDTH): Likewise.
22869 (GRUB_TERM_CURSOR_X): Likewise.
22870 (grub_term_input_class): Likewise.
22871 (grub_term_output_class): Likewise.
22872 (grub_term_outputs_disabled): New declaration.
22873 (grub_term_inputs_disabled): Likewise.
22874 (grub_term_outputs): Likewise.
22875 (grub_term_inputs): Likewise.
22876 (grub_term_register_input): Rewritten.
22877 (grub_term_register_output): Likewise.
22878 (grub_term_unregister_input): Likewise.
22879 (grub_term_unregister_output): Likewise.
22880 (FOR_ACTIVE_TERM_INPUTS): New macro.
22881 (FOR_DISABLED_TERM_INPUTS): Likewise.
22882 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
22883 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
22884 * include/grub/terminfo.h: Add oterm argument to all protypes.
22885 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
22886 Use grub_rescue_run.
22887 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
22888 All users updated.
22889 * kern/reader.c: Removed. All users updated.
22890 * kern/rescue_reader.c (grub_rescue_init): Removed.
22891 (grub_rescue_reader): Likewise.
22892 (grub_register_rescue_reader): Likewise.
22893 (grub_rescue_run): New function based on kern/reader.c.
22894 * kern/term.c: Adapted for multiterm.
22895 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
22896 (grub_is_valid_utf8): Likewise.
22897 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
22898 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
22899 right terminal.
22900 * loader/i386/linux.c (grub_linux_boot): Likewise.
22901 * normal/auth.c (grub_username_get): New function.
22902 (grub_auth_check_authentication): Use grub_username_get.
22903 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
22904 * normal/color.c: Adapt for multiterm.
22905 * normal/main.c (read_config_file): Don't use grub_reader_loop.
22906 (grub_normal_init_page): Additional argument term.
22907 (read_lists): Call read_terminal_lists.
22908 (grub_enter_normal_mode): Call grub_cmdline_run.
22909 Handle grub_normal_exit_level.
22910 (grub_cmd_normal): Make reentrant.
22911 (grub_cmd_normal_exit): New function.
22912 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
22913 * normal/menu.c: Adapt for multiterm.
22914 * normal/menu_entry.c: Likewise.
22915 * normal/menu_text.c: Likewise.
22916 * normal/menu_viewer.c: Removed. All users updated.
22917 * normal/term.c: New file.
22918 * util/console.c: Change order of includes to workaround a bug in
22919 ncurses headers.
22920 * term/terminfo.c: New argument oterm on all exported functions.
22921 All users updated.
22922 * util/grub-editenv.c (grub_term_input_class): Removed.
22923 (grub_term_output_class): Likewise.
22924
1a064917
RM
229252010-01-09 Robert Millan <rmh.grub@aybabtu.com>
22926
22927 Make loader output a bit more user-friendly.
22928
22929 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
22930 is being loaded. Likewise for the Hurd.
22931
22932 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
22933 that kernel of FreeBSD ${version} is being loaded.
22934
22935 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
22936 grub_dprintf().
22937 (grub_cmd_initrd): Likewise.
22938 * util/grub.d/10_linux.in (linux_entry): Print message indicating
22939 that Linux ${version} is being loaded. Likewise for initrd.
22940
5ce0a83a 229412010-01-09 Carles Pina i Estany <carles@pina.cat>
22942
22943 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
22944
809bbfeb 229452010-01-08 Carles Pina i Estany <carles@pina.cat>
22946
22947 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
22948 (GRUB_MOD_INIT): Gettextizze.
22949 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
22950 (GRUB_MOD_INIT): Gettextizze.
22951 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
22952 (grub_cmd_linux): Capitalise Linux.
22953 (GRUB_MOD_INIT): Gettextizze.
22954 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
22955 (grub_cmd_linux): Capitalise Linux.
22956 (GRUB_MOD_INIT): Gettextizze.
22957 * loader/i386/linux.c: Include `<grub/i18n.h>'.
22958 (grub_cmd_linux): Capitalise Linux.
22959 (GRUB_MOD_INIT): Gettextizze.
22960 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
22961 (GRUB_MOD_INIT): Gettextizze.
22962 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
22963 (grub_cmd_linux): Capitalise Linux.
22964 (GRUB_MOD_INIT): Gettextizze.
22965 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
22966 (grub_cpu_xnu_init): Gettextizze.
22967 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
22968 (GRUB_MOD_INIT): Gettextizze.
22969 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
22970 (GRUB_MOD_INIT): Gettextizze.
22971 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
22972 (grub_linux_load64): Capitalise Linux.
22973 (GRUB_MOD_INIT): Gettextizze.
22974 * loader/xnu.c: Include `<grub/i18n.h>'.
22975 (GRUB_MOD_INIT): Gettextizze.
22976 * po/POTFILES: Add `loader/efi/appleloader.c',
22977 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
22978 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
22979 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
22980 `loader/i386/xnu.c', `loader/multiboot_loader.c',
22981 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
22982 and `loader/xnu.c'.
22983
b394b2ca
RM
229842010-01-08 Robert Millan <rmh.grub@aybabtu.com>
22985
22986 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
22987
229882010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
22989
22990 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
22991 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
22992 * util/mkisofs/mkisofs.c (main): Readjust --version output.
22993
bc8b32b3
RM
229942010-01-07 Robert Millan <rmh.grub@aybabtu.com>
22995
22996 Reset Multiboot 2 support. New loader implements the draft in
22997 /branches/multiboot2 and shares as much code as possible with the
22998 production Multiboot 1 implementation.
22999
23000 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23001 * loader/multiboot2.c: Likewise.
23002 * loader/i386/multiboot_helper.S: Likewise.
23003 * include/multiboot2.h: Replace with latest version from the draft
23004 in /branches/multiboot2.
23005
23006 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23007 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23008 and `loader/multiboot2.c'.
23009 (pkglib_MODULES): Add `multiboot2.mod'.
23010 (multiboot2_mod_SOURCES): New variable.
23011 (multiboot2_mod_LDFLAGS): Likewise.
23012 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23013
23014 * conf/i386-pc.rmk: Likewise.
23015
23016 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23017 (multiboot_mod_SOURCES): Remove variable.
23018 (multiboot_mod_LDFLAGS): Likewise.
23019 (multiboot_mod_CFLAGS): Likewise.
23020
23021 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23022 `<multiboot2.h>' instead of `<multiboot.h>'.
23023 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23024 (MULTIBOOT_HEADER_MAGIC): New macros.
23025
23026 * loader/multiboot_loader.c (module_version_status): Remove variable.
23027 (find_multi_boot2_header): Remove function.
23028 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23029 logic. Always check for the Multiboot version we're compiling for.
23030 (grub_cmd_module_loader): Likewise.
23031 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23032 command instead of `multiboot'.
23033
5d2c52b8
RM
230342010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23035
23036 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23037 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23038 all users.
23039
53108d92
RM
230402010-01-07 Robert Millan <rmh.grub@aybabtu.com>
230412010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23042
23043 Fix breakage introduced with previous commit.
23044
23045 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23046 commands.
23047 * normal/handler.c (read_handler_list): Revert part of previous commit
23048 affecting this file.
23049 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23050 (grub_normal_execute): ... here.
23051
e2e936b2
RM
230522010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23053
23054 Merge prefix-redefinition-fix branch.
23055
23056 * normal/autofs.c (read_fs_list): Make function capable of being
23057 run multiple times, gracefuly replacing the previous data
23058 structures.
23059 * normal/dyncmd.c (read_command_list): Likewise.
23060 * normal/handler.c (read_handler_list): Likewise.
23061 * normal/main.c (read_lists): New function. Calls all the
23062 list reading functions.
23063 (grub_normal_execute): Use read_lists() instead of calling all
23064 list reading functions explicitly. Register read_lists() as a
23065 variable hook attached to ${prefix}.
23066
607a3701
VS
230672010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23068
23069 Merge crypto branch.
23070
23071 * Makefile.in (pkglib_DATA): Add crypto.lst.
23072 (crypto.lst): New target.
23073 * commands/hashsum.c: New file.
23074 * commands/password.c (check_password): Use grub_crypto_memcmp.
23075 * commands/password_pbkdf2.c: New file.
23076 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23077 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23078 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23079 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23080 -I$(srcdir)/lib/libgcrypt_wrap.
23081 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23082 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23083 password_pbkdf2.mod.
23084 (crypto_mod_SOURCES): New variable.
23085 (crypto_mod_CFLAGS): Likewise.
23086 (crypto_mod_LDFLAGS): Likewise.
23087 (hashsum_mod_SOURCES): New variable.
23088 (hashsum_mod_CFLAGS): Likewise.
23089 (hashsum_mod_LDFLAGS): Likewise.
23090 (pbkdf2_mod_SOURCES): New variable.
23091 (pbkdf2_mod_CFLAGS): Likewise.
23092 (pbkdf2_mod_LDFLAGS): Likewise.
23093 (password_pbkdf2_mod_SOURCES): New variable.
23094 (password_pbkdf2_mod_CFLAGS): Likewise.
23095 (password_pbkdf2_mod_LDFLAGS): Likewise.
23096 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23097 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23098 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23099 Include conf/gcry.rmk.
23100 * include/grub/auth.h: Rewritten.
23101 * include/grub/crypto.h: New file.
23102 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23103 * include/grub/normal.h (read_crypto_list): New prototype.
23104 * lib/crypto.c: New file.
23105 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23106 * lib/pbkdf2.c: Likewise.
23107 * normal/auth.c (grub_auth_strcmp): Removed.
23108 (grub_iswordseparator): Likewise.
23109 (grub_auth_strword): Likewise.
23110 (is_authenticated): Use grub_strword.
23111 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23112 and grub_strword. Pass entered password to authentication callback.
23113 * normal/crypto.c: New file.
23114 * normal/main.c: Call read_crypto_list.
23115 * util/grub-mkpasswd-pbkdf2.c: New file.
23116 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23117
42841caa
VS
231182010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23119
23120 Fix descent and ascent calculation.
23121
23122 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23123 (options): New option "asce".
23124 (usage): Likewise.
23125 (add_char): Ignore invalid glyphs for descent calculation.
23126 Calculate ascent from actual content.
23127 (print_glyphs): Use 'asce'.
23128 (write_font): Likewise. Allow ascent override.
23129 (main): Handle "asce" option.
23130
e7730de7 231312010-01-06 Carles Pina i Estany <carles@pina.cat>
23132
23133 * kern/err.c: Include `<grub/i18n.h>'.
23134 (grub_print_error): Add full stop. Gettextizze.
23135 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23136 (grub_bsd_load_elf): Capitalise ELF.
23137 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23138 (grub_cmd_freebsd_module): Likewise.
23139 (grub_cmd_freebsd_module_elf): Likewise.
23140 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23141
40e3a41f 231422010-01-06 Carles Pina i Estany <carles@pina.cat>
23143
23144 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23145 * commands/search_file.c (HELP_MESSAGE): New macro.
23146 * commands/search_label.c (HELP_MESSAGE): Likewise.
23147 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23148 * po/POTFILES: Add `commands/search_file.c',
23149 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23150 `commands/search.c'.
23151
83507e68
RM
231522010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23153
23154 * config.rpath: Update from Gnulib.
23155
465c787b
YB
231562010-01-05 Yves Blusseau <blusseau@zetam.org>
23157
23158 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23159
6581dd3a
YB
231602010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23161
23162 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23163
3bff18c5
CW
231642010-01-05 Colin Watson <cjwatson@ubuntu.com>
23165
23166 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23167 arguments to fread so that we get a return value in bytes, rather
23168 than something that will normally be rounded down to 0.
23169 Adjust error handling to avoid producing garbage when size_t is not
23170 the same size as long long.
23171
a1368118
CW
231722010-01-05 Colin Watson <cjwatson@ubuntu.com>
23173
23174 * util/mkisofs/write.c (padblock_write): Check return value of
23175 fread.
23176
7c302978
RM
231772010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23178
23179 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23180 floppy images now.
23181
23182 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23183
e33ace06
RM
231842010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23185
23186 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23187 instead of manual alignment.
23188 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23189 verbose). Avoid attempts to read past end of the device
23190 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23191 but GRUB_DISK_CACHE_SIZE may exceed that).
23192
4b856776
RM
231932010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23194
23195 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23196 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23197 it to upper layer.
23198
52c2d97f
VS
231992010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23200
23201 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23202 New constant.
23203 (grub_efi_piwg_device_path): New structure
23204 (grub_efi_piwg_device_path_t): New type.
23205 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23206 (devpath_1): Transform to a structure. All users updated.
23207 (devpath_2): Likewise.
23208 (devpath_3): Likewise.
23209 (devpath_4): Likewise.
23210 (devpath_5): Likewise.
23211
98ff6a54
VS
232122010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23213
23214 * loader/efi/appleloader.c: Restored. Update all users.
23215
3a73dcb6
RM
232162010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23217
23218 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23219
23220 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23221 (struct boot_blocklist): Move from here ...
23222 * include/grub/i386/pc/boot.h [ASM_FILE]
23223 (struct grub_boot_blocklist): ... to here. Update all users.
23224 (setup): Only initialize `start' member of `first_block'
23225 structure. Add assert() calls to verify the other members.
23226
23227 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23228 (generate_image): Fix broken blocklist length initialization.
23229 Add assert() call to verify blocklist `segment' field.
23230
ab0eeb0c
RM
232312010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23232
23233 * loader/efi/appleloader.c: Remove. Update all users.
23234
58bc8bd5
RM
232352010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23236
23237 * boot/i386/pc/boot.S: Update copyright year.
23238 * boot/i386/pc/cdboot.S: Likewise.
23239 * boot/i386/pc/diskboot.S: Likewise.
23240 * boot/i386/pc/lnxboot.S: Likewise.
23241 * boot/i386/pc/pxeboot.S: Likewise.
23242 * bus/pci.c: Likewise.
23243 * commands/cmp.c: Likewise.
23244 * commands/help.c: Likewise.
23245 * commands/hexdump.c: Likewise.
23246 * commands/i386/pc/halt.c: Likewise.
23247 * commands/i386/pc/play.c: Likewise.
23248 * commands/i386/pc/vbeinfo.c: Likewise.
23249 * commands/ls.c: Likewise.
23250 * commands/test.c: Likewise.
23251 * disk/dmraid_nvidia.c: Likewise.
23252 * disk/i386/pc/biosdisk.c: Likewise.
23253 * disk/ieee1275/nand.c: Likewise.
23254 * disk/ieee1275/ofdisk.c: Likewise.
23255 * disk/lvm.c: Likewise.
23256 * disk/raid.c: Likewise.
23257 * disk/raid6_recover.c: Likewise.
23258 * disk/scsi.c: Likewise.
23259 * fs/affs.c: Likewise.
23260 * fs/cpio.c: Likewise.
23261 * fs/ext2.c: Likewise.
23262 * fs/hfs.c: Likewise.
23263 * fs/iso9660.c: Likewise.
23264 * fs/ntfs.c: Likewise.
23265 * fs/sfs.c: Likewise.
23266 * fs/udf.c: Likewise.
23267 * fs/ufs.c: Likewise.
23268 * fs/xfs.c: Likewise.
23269 * gencmdlist.sh: Likewise.
23270 * genmk.rb: Likewise.
23271 * include/grub/disk.h: Likewise.
23272 * include/grub/efi/api.h: Likewise.
23273 * include/grub/efi/efi.h: Likewise.
23274 * include/grub/efi/pe32.h: Likewise.
23275 * include/grub/elf.h: Likewise.
23276 * include/grub/fs.h: Likewise.
23277 * include/grub/i386/at_keyboard.h: Likewise.
23278 * include/grub/i386/pc/memory.h: Likewise.
23279 * include/grub/i386/pc/vbe.h: Likewise.
23280 * include/grub/i386/pci.h: Likewise.
23281 * include/grub/i386/tsc.h: Likewise.
23282 * include/grub/ieee1275/ieee1275.h: Likewise.
23283 * include/grub/ntfs.h: Likewise.
23284 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23285 * include/grub/sparc64/libgcc.h: Likewise.
23286 * include/grub/symbol.h: Likewise.
23287 * include/grub/types.h: Likewise.
23288 * include/multiboot2.h: Likewise.
23289 * io/gzio.c: Likewise.
23290 * kern/device.c: Likewise.
23291 * kern/disk.c: Likewise.
23292 * kern/efi/efi.c: Likewise.
23293 * kern/efi/mm.c: Likewise.
23294 * kern/elf.c: Likewise.
23295 * kern/file.c: Likewise.
23296 * kern/i386/dl.c: Likewise.
23297 * kern/i386/pc/init.c: Likewise.
23298 * kern/i386/pc/startup.S: Likewise.
23299 * kern/ieee1275/ieee1275.c: Likewise.
23300 * kern/ieee1275/init.c: Likewise.
23301 * kern/main.c: Likewise.
23302 * kern/mm.c: Likewise.
23303 * kern/powerpc/dl.c: Likewise.
23304 * kern/sparc64/dl.c: Likewise.
23305 * kern/x86_64/dl.c: Likewise.
23306 * lib/hexdump.c: Likewise.
23307 * loader/efi/appleloader.c: Likewise.
23308 * loader/i386/ieee1275/linux.c: Likewise.
23309 * loader/i386/pc/chainloader.c: Likewise.
23310 * loader/i386/pc/linux.c: Likewise.
23311 * loader/i386/pc/multiboot2.c: Likewise.
23312 * loader/ieee1275/multiboot2.c: Likewise.
23313 * loader/multiboot2.c: Likewise.
23314 * loader/multiboot_loader.c: Likewise.
23315 * loader/powerpc/ieee1275/linux.c: Likewise.
23316 * normal/completion.c: Likewise.
23317 * normal/menu_entry.c: Likewise.
23318 * partmap/apple.c: Likewise.
23319 * util/grub.d/10_hurd.in: Likewise.
23320 * util/hostfs.c: Likewise.
23321 * video/readers/png.c: Likewise.
23322
e2d70b5c
CW
233232010-01-03 Colin Watson <cjwatson@ubuntu.com>
23324
23325 * include/grub/misc.h (GNUC_PREREQ): New macro.
23326 (ATTRIBUTE_ERROR): New macro.
23327 * include/grub/list.h (grub_bad_type_cast_real): Use
23328 ATTRIBUTE_ERROR.
23329
a173283f 233302010-01-03 Carles Pina i Estany <carles@pina.cat>
23331
23332 * normal/menu_text.c (print_message): Change messages.
23333
7fa7ff74 233342010-01-03 Carles Pina i Estany <carles@pina.cat>
23335
23336 * normal/menu_entry.c (store_completion): Gettextizze.
23337
136d24f6 233382010-01-03 Carles Pina i Estany <carles@pina.cat>
23339
23340 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
23341
f936862e 233422010-01-03 Carles Pina i Estany <carles@pina.cat>
23343
23344 * po/POTFILES: Sort correctly.
23345
29c44ad1 233462010-01-03 Carles Pina i Estany <carles@pina.cat>
23347
23348 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
23349 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
23350 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
23351 full stop.
23352 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
23353 summary. Gettextizze the strings.
23354 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
23355 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
23356 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
23357 full stop.
23358 (GRUB_MOD_INIT): Remove command name from summary.
23359 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
23360 summary.
23361 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
23362 * term/i386/pc/serial.c (options): Add full stops.
23363 (GRUB_MOD_INIT): Remove command name from the summary.
23364
77a79592 233652010-01-03 Carles Pina i Estany <carles@pina.cat>
23366
23367 * commands/acpi.c: Gettextizze help strings and/or options. Include
23368 `grub/i18n.h' if needed.
23369 * commands/blocklist.c: Likewise.
23370 * commands/boot.c: Likewise.
23371 * commands/cat.c: Likewise.
23372 * commands/cmp.c: Likewise.
23373 * commands/configfile.c: Likewise.
23374 * commands/crc.c: Likewise.
23375 * commands/date.c: Likewise.
23376 * commands/echo.c: Likewise.
23377 * commands/efi/fixvideo.c: Likewise.
23378 * commands/efi/loadbios.c: Likewise.
23379 * commands/gptsync.c: Likewise.
23380 * commands/halt.c: Likewise.
23381 * commands/handler.c: Likewise.
23382 * commands/hdparm.c: Likewise.
23383 * commands/hexdump.c: Likewise.
23384 * commands/i386/cpuid.c: Likewise.
23385 * commands/i386/pc/drivemap.c: Likewise.
23386 * commands/i386/pc/halt.c: Likewise.
23387 * commands/i386/pc/pxecmd.c: Likewise.
23388 * commands/i386/pc/vbeinfo.c: Likewise.
23389 * commands/i386/pc/vbetest.c: Likewise.
23390 * commands/ieee1275/suspend.c: Likewise.
23391 * commands/keystatus.c: Likewise.
23392 * commands/loadenv.c: Likewise.
23393 * commands/ls.c: Likewise.
23394 * commands/lsmmap.c: Likewise.
23395 * commands/lspci.c: Likewise.
23396 * commands/memrw.c: Likewise.
23397 * commands/minicmd.c: Likewise.
23398 * commands/parttool.c: Likewise.
23399 * commands/password.c: Likewise.
23400 * commands/probe.c: Likewise.
23401 * commands/read.c: Likewise.
23402 * commands/reboot.c: Likewise.
23403 * commands/search.c: Likewise.
23404 * commands/sleep.c: Likewise.
23405 * commands/test.c: Likewise.
23406 * commands/true.c: Likewise.
23407 * commands/usbtest.c: Likewise.
23408 * commands/videotest.c: Likewise.
23409 * commands/xnu_uuid.c: Likewise.
23410 * disk/loopback.c: Likewise.
23411 * hello/hello.c: Likewise.
23412 * loader/i386/bsd.c: Likewise.
23413 * term/i386/pc/serial.c: Likewise.
23414 * po/POTFILES: Add new files.
23415
da8d5c53
CW
234162010-01-02 Colin Watson <cjwatson@ubuntu.com>
23417
23418 * term/i386/pc/at_keyboard.c
23419 (keyboard_controller_wait_untill_ready): Rename to ...
23420 (keyboard_controller_wait_until_ready): ... this. Update all users.
23421
33937904 234222010-01-01 Carles Pina i Estany <carles@pina.cat>
23423
23424 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
23425 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
23426 string using string width.
23427 * normal/menu_text.c (grub_print_message_indented): Use
23428 grub_print_spaces and not print_spaces.
23429 (print_timeout): Likewise.
23430 (print_spaces): Move to...
23431 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
23432
3fd3b8d8
RM
234332010-01-01 Robert Millan <rmh.grub@aybabtu.com>
23434
23435 Import from Gnulib.
23436
23437 * gnulib/getdelim.c: New file.
23438 * gnulib/getline.c: Likewise.
23439
33433555
VS
234402009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
23441
23442 * include/grub/list.h (grub_assert_fail): Removed.
23443 (grub_bad_type_cast_real): New function.
23444 (grub_bad_type_cast): New macro.
23445 (GRUB_AS_LIST): Use grub_bad_type_cast.
23446 (GRUB_AS_LIST_P): Likewise.
e44721e8 23447 (GRUB_AS_NAMED_LIST): Likewise.
33433555 23448 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 23449 (GRUB_AS_PRIO_LIST): Likewise.
33433555 23450 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 23451 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 23452
f5a51306
VS
234532009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
23454
23455 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
23456 Fix syntax error.
23457
90d1e879
RM
234582009-12-29 Robert Millan <rmh.grub@aybabtu.com>
23459
23460 * configure.ac: Check for TARGET_CFLAGS initialization before we
23461 initialize it ourselves (sigh).
23462 Move a few modifications to TARGET_CFLAGS to be unconditional
23463 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
23464 eh_frame)
23465
23466 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
23467 * term/i386/pc/at_keyboard.c
23468 (keyboard_controller_wait_untill_ready): Likewise.
23469 (keyboard_controller_led): Rename `led_status' paramter to avoid
23470 name conflict.
23471
465b5a81 234722009-12-28 Carles Pina i Estany <carles@pina.cat>
23473
23474 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
23475 quotes.
23476
c181849b
VS
234772009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23478
23479 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
23480
9c8739a4
VS
234812009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23482
23483 * normal/menu_text.c (grub_print_message_indented): Prevent
23484 past-the-end-of-array dereference.
23485
3e74249c
VS
234862009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
23487
23488 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
23489 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
23490
64fd18ed 234912009-12-27 Carles Pina i Estany <carles@pina.cat>
23492
23493 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
23494 * normal/main.c (grub_normal_read_line): Remove a space from the
23495 default prompt.
23496
714af9b9 234972009-12-27 Carles Pina i Estany <carles@pina.cat>
23498
23499 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
23500 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23501 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23502 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23503 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23504 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23505 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23506
82f3e412 235072009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 23508
23509 * video/readers/jpeg.c (cmd): Declare.
23510 (grub_cmd_jpegtest): Use `grub_command_t' type.
23511 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23512 Assign to `cmd'.
23513 (GRUB_MOD_FINI): Use `cmd' to unregister.
23514 * video/readers/png.c (cmd): Declare.
23515 (grub_cmd_pngtest): Use `grub_command_t' type.
23516 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23517 Assign to `cmd'.
23518 (GRUB_MOD_FINI): Use `cmd' to unregister.
23519 * video/readers/tga.c (cmd): Declare.
23520 (grub_cmd_tgatest): Use `grub_command_t' type.
23521 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
23522 Assign to `cmd'.
23523 (GRUB_MOD_FINI): Use `cmd' to unregister.
23524
82f3e412 235252009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 23526
23527 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
23528 stops.
23529 * kern/corecmd.c (grub_register_core_commands): Likewise.
23530 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
23531 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23532 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
23533 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23534 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
23535 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
23536 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
23537 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
23538 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23539 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
23540 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23541 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23542 * normal/handler.c (insert_handler): Likewise.
23543 * normal/main.c (GRUB_MOD_INIT): Likewise.
23544 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
23545
fdcdbb66 235462009-12-26 Carles Pina i Estany <carles@pina.cat>
23547
23548 * commands/help.c (grub_cmd_help): Print the command name before the
23549 summary.
23550 (GRUB_MOD_INIT): Remove command name from the summary.
23551 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 23552 string as summary.
fdcdbb66 23553 * lib/arg.c (find_long): Print the command name before the summary.
23554 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
23555 summary.
23556 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
23557 * commands/cat.c (GRUB_MOD_INIT): Likewise.
23558 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
23559 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23560 * commands/crc.c (GRUB_MOD_INIT): Likewise.
23561 * commands/date.c (GRUB_MOD_INIT): Likewise.
23562 * commands/echo.c (GRUB_MOD_INIT): Likewise.
23563 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
23564 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
23565 * commands/handler.c (GRUB_MOD_INIT): Likewise.
23566 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
23567 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
23568 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
23569 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
23570 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
23571 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
23572 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
23573 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
23574 * commands/ls.c (GRUB_MOD_INIT): Likewise.
23575 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
23576 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
23577 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
23578 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
23579 * commands/password.c (GRUB_MOD_INIT): Likewise.
23580 * commands/probe.c (GRUB_MOD_INIT): Likewise.
23581 * commands/read.c (GRUB_MOD_INIT): Likewise.
23582 * commands/search.c (GRUB_MOD_INIT): Likewise.
23583 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
23584 * commands/test.c (GRUB_MOD_INIT): Likewise.
23585 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
23586 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
23587 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
23588 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
23589 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
23590 * lib/arg.c (GRUB_MOD_INIT): Likewise.
23591 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
23592 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
23593 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
23594 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
23595 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
23596 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
23597 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
23598 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
23599
9c288be2
VS
236002009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23601
23602 Use search command for preliminar UUID search.
23603
23604 * commands/search.c: Split into ...
23605 * commands/search_wrap.c: ...this
23606 * commands/search.c: ...and this.
23607 * commands/search_file.c: New file.
23608 * commands/search_label.c: New file.
23609 * commands/search_uuid.c: New file.
23610 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
23611 Add commands/search_wrap.c, commands/search_file.c,
23612 commands/search_label.c and commands/search_uuid.c.
23613 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
23614 (search_mod_SOURCES): Set to commands/search_wrap.c.
23615 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
23616 search_label.mod.
23617 (search_fs_file_mod_SOURCES): New variable.
23618 (search_fs_file_mod_CFLAGS): Likewise.
23619 (search_fs_file_mod_LDFLAGS): Likewise.
23620 (search_label_mod_SOURCES): Likewise.
23621 (search_label_mod_CFLAGS): Likewise.
23622 (search_label_mod_LDFLAGS): Likewise.
23623 (search_fs_uuid_mod_SOURCES): New variable.
23624 (search_fs_uuid_mod_CFLAGS): Likewise.
23625 (search_fs_uuid_mod_LDFLAGS): Likewise.
23626 (fs_file_mod_SOURCES): Removed.
23627 (fs_file_mod_CFLAGS): Likewise.
23628 (fs_file_mod_LDFLAGS): Likewise.
23629 (fs_uuid_mod_SOURCES): Removed.
23630 (fs_uuid_mod_CFLAGS): Likewise.
23631 (fs_uuid_mod_LDFLAGS): Likewise.
23632 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
23633 Set to util/grub-install.in.
23634 * disk/fs_file.c: Removed.
23635 * disk/fs_uuid.c: Likewise.
23636 * include/grub/search.h: New file.
23637 * util/grub-install.in: Handle sparc64.
23638 Create and use load.cfg.
23639 * util/sparc64/ieee1275/grub-install.in: Removed.
23640
db943399
VS
236412009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23642
23643 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
23644 Ignore return status if CF is cleared.
23645 (grub_biosdisk_get_diskinfo_standard): Likewise.
23646
3fdae612
RM
236472009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23648
23649 * term/i386/pc/at_keyboard.c
23650 (keyboard_controller_wait_untill_ready): New function.
23651 (grub_keyboard_controller_write, grub_keyboard_controller_read)
23652 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
23653 for keyboard polling, rather than duplicate the same loop. This
23654 saves a few bytes in code size.
23655
7ebaa2b4
VS
236562009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
23657
23658 Support for (pxe[:server[:gateway]]) syntax and
23659 use environment variable for PXE.
23660
23661 * commands/i386/pc/pxecmd.c (options): Removed.
23662 (print_ip): Removed.
23663 (grub_cmd_pxe): Removed
23664 (grub_cmd_pxe_unload): New function.
23665 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
23666 (grub_pxe_your_ip): Made static.
23667 (grub_pxe_default_server_ip): Likewise.
23668 (grub_pxe_default_gateway_ip): Likewise.
23669 (grub_pxe_blksize): Likewise.
23670 (parse_ip): New function.
23671 (grub_pxe_open): Support server and gateway specification.
23672 (grub_pxe_close): Free disk->data.
23673 (grub_pxefs_open): Use disk->data.
23674 (grub_pxefs_read): Likewise.
23675 (grub_env_write_readonly): New function.
23676 (set_mac_env): Likewise.
23677 (set_env_limn_ro): Likewise.
23678 (parse_dhcp_vendor): Likewise.
23679 (grub_pxe_detect): Set the environment variables.
23680 (set_ip_env): New function.
23681 (write_ip_env): Likewise.
23682 (grub_env_write_pxe_default_server): Likewise.
23683 (grub_env_write_pxe_default_gateway): Likewise.
23684 (grub_env_write_pxe_blocksize): Likewise.
23685 (GRUB_MOD_INIT(pxe)): Set environment variables.
23686 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
23687 (grub_pxe_mac_addr_t): ... this. All users updated.
23688 (grub_pxe_your_ip): Removed.
23689 (grub_pxe_server_ip): Likewise.
23690 (grub_pxe_gateway_ip): Likewise.
23691 (grub_pxe_blksize): Likewise.
23692
ec5f98ab 236932009-12-25 Carles Pina i Estany <carles@pina.cat>
23694
23695 * commands/help.c: Include `<grub/i18n.h>'.
23696 (grub_cmd_help): Gettextizze.
23697 (GRUB_MOD_INIT): Likewise.
23698 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
23699 (GRUB_MOD_INIT): Gettextizze.
23700 * commands/search.c: Include `<grub/i18n.h>'.
23701 (options): Gettextizze.
23702 (GRUB_MOD_INIT): Gettextizze.
23703 * lib/arg.c: Include `<grub/i18n.h>'.
23704 (help_options): Gettextizze.
23705 (find_long): Likewise.
23706 (grub_arg_show_help): Likewise.
23707 * normal/dyncmd.c: Include `<grub/i18n.h>'.
23708 (read_command_list): Gettextizze.
23709 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 23710 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 23711
22815526
RM
237122009-12-25 Robert Millan <rmh.grub@aybabtu.com>
23713
23714 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
23715 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
23716 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
23717 (led_status): New variable.
23718 (keyboard_controller_led): New function.
23719 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
23720 update led status for caps lock, num lock and scroll lock.
23721
0ad46fd7
FZ
237222009-12-25 Felix Zielcke <fzielcke@z-51.de>
23723
23724 * util/hostdisk.c (open_device): Fix a comment.
23725
d0e158c2
RM
237262009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23727
23728 * util/grub-install.in (host_os): New variable.
23729 * util/i386/efi/grub-install.in (host_os): Likewise.
23730
401c0ad6
RM
237312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23732
23733 * util/mkisofs/write.c (padblock_write): Abort when given an
23734 excedingly large embed image, instead of silently truncating it.
23735
d14d3370
RM
237362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23737
23738 * include/multiboot.h: Indentation fixes.
23739
eeed10b4
RM
237402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23741
23742 * include/multiboot.h (struct multiboot_aout_symbol_table)
23743 (struct multiboot_elf_section_header_table): New structure
23744 declarations (stolen from GRUB Legacy).
23745 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
23746 table information.
23747
23748 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
23749 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
23750 type aliases.
23751
681c70ab
RM
237522009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23753
23754 * include/multiboot.h: Make comments src2texi-friendly.
23755
e4d47d8d
RM
237562009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23757
23758 For consistency with [multiboot]/docs/boot.S.
23759
23760 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
23761 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
23762 (MULTIBOOT_MAGIC2): Rename from this ...
23763 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
23764
a0b70bda
RM
237652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
23766
23767 * include/multiboot.h: Remove `<grub/types.h>'.
23768 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
23769 types. Update all users.
23770
61ba42be 237712009-12-25 Carles Pina i Estany <carles@pina.cat>
23772
23773 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
23774 `couldn't' and `can not' by `cannot'.
23775 * commands/i386/pc/drivemap.c: Likewise.
23776 * disk/ata.c: Likewise.
23777 * disk/ieee1275/nand.c: Likewise.
23778 * fs/affs.c: Likewise.
23779 * fs/fat.c: Likewise.
23780 * fs/hfs.c: Likewise.
23781 * fs/hfsplus.c: Likewise.
23782 * fs/iso9660.c: Likewise.
23783 * fs/jfs.c: Likewise.
23784 * fs/minix.c: Likewise.
23785 * fs/reiserfs.c: Likewise.
23786 * fs/sfs.c: Likewise.
23787 * fs/udf.c: Likewise.
23788 * fs/ufs.c: Likewise.
23789 * fs/xfs.c: Likewise.
23790 * loader/powerpc/ieee1275/linux.c: Likewise.
23791 * loader/sparc64/ieee1275/linux.c: Likewise.
23792 * util/grub-probe.c: Likewise.
23793 * util/misc.c: Likewise.
23794
7fd0baee 237952009-12-24 Carles Pina i Estany <carles@pina.cat>
23796
23797 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
23798 grub_errno calls.
23799 * commands/acpi.c: Likewise.
23800 * commands/blocklist.c: Likewise.
23801 * commands/efi/loadbios.c: Likewise.
23802 * commands/i386/pc/drivemap.c: Likewise.
23803 * commands/loadenv.c: Likewise.
23804 * commands/memrw.c: Likewise.
23805 * commands/password.c: Likewise.
23806 * commands/videotest.c: Likewise.
23807 * disk/ata.c: Likewise.
23808 * disk/ata_pthru.c: Likewise.
23809 * disk/dmraid_nvidia.c: Likewise.
23810 * disk/ieee1275/nand.c: Likewise.
23811 * disk/ieee1275/ofdisk.c: Likewise.
23812 * disk/loopback.c: Likewise.
23813 * disk/lvm.c: Likewise.
23814 * disk/mdraid_linux.c: Likewise.
23815 * disk/raid.c: Likewise.
23816 * disk/raid6_recover.c: Likewise.
23817 * disk/scsi.c: Likewise.
23818 * efiemu/main.c: Likewise.
23819 * efiemu/mm.c: Likewise.
23820 * efiemu/pnvram.c: Likewise.
23821 * efiemu/symbols.c: Likewise.
23822 * font/font.c: Likewise.
23823 * fs/cpio.c: Likewise.
23824 * fs/hfsplus.c: Likewise.
23825 * fs/iso9660.c: Likewise.
23826 * fs/jfs.c: Likewise.
23827 * fs/minix.c: Likewise.
23828 * fs/ntfs.c: Likewise.
23829 * fs/ntfscomp.c: Likewise.
23830 * fs/reiserfs.c: Likewise.
23831 * fs/ufs.c: Likewise.
23832 * fs/xfs.c: Likewise.
23833 * gettext/gettext.c: Likewise.
23834 * include/grub/auth.h: Likewise.
23835 * kern/elf.c: Likewise.
23836 * kern/file.c: Likewise.
23837 * kern/ieee1275/init.c: Likewise.
23838 * kern/ieee1275/mmap.c: Likewise.
23839 * kern/ieee1275/openfw.c: Likewise.
23840 * kern/powerpc/dl.c: Likewise.
23841 * kern/sparc64/dl.c: Likewise.
23842 * lib/arg.c: Likewise.
23843 * loader/i386/bsd.c: Likewise.
23844 * loader/i386/bsdXX.c: Likewise.
23845 * loader/i386/efi/linux.c: Likewise.
23846 * loader/i386/efi/xnu.c: Likewise.
23847 * loader/i386/ieee1275/linux.c: Likewise.
23848 * loader/i386/linux.c: Likewise.
23849 * loader/i386/multiboot.c: Likewise.
23850 * loader/i386/pc/linux.c: Likewise.
23851 * loader/i386/pc/multiboot2.c: Likewise.
23852 * loader/i386/xnu.c: Likewise.
23853 * loader/ieee1275/multiboot2.c: Likewise.
23854 * loader/macho.c: Likewise.
23855 * loader/machoXX.c: Likewise.
23856 * loader/multiboot2.c: Likewise.
23857 * loader/multiboot_loader.c: Likewise.
23858 * loader/powerpc/ieee1275/linux.c: Likewise.
23859 * loader/sparc64/ieee1275/linux.c: Likewise.
23860 * loader/xnu.c: Likewise.
23861 * loader/xnu_resume.c: Likewise.
23862 * mmap/i386/pc/mmap.c: Likewise.
23863 * normal/menu_viewer.c: Likewise.
23864 * partmap/acorn.c: Likewise.
23865 * partmap/amiga.c: Likewise.
23866 * partmap/apple.c: Likewise.
23867 * script/lexer.c: Likewise.
23868 * term/gfxterm.c: Likewise.
23869 * term/i386/pc/serial.c: Likewise.
23870 * term/i386/pc/vga.c: Likewise.
23871 * term/ieee1275/ofconsole.c: Likewise.
23872 * term/terminfo.c: Likewise.
23873 * video/bitmap.c: Likewise.
23874 * video/efi_gop.c: Likewise.
23875 * video/efi_uga.c: Likewise.
23876 * video/fb/video_fb.c: Likewise.
23877 * video/i386/pc/vbe.c: Likewise.
23878 * video/readers/tga.c: Likewise.
23879 * video/video.c: Likewise.
23880
0ad46fd7 238812009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
23882
23883 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
23884 * commands/lspci.c: Likewise.
23885 * commands/probe.c: Likewise.
23886 * commands/xnu_uuid.c: Likewise.
23887 * conf/i386-coreboot.rmk: Likewise.
23888 * conf/i386-efi.rmk: Likewise.
23889 * conf/i386-ieee1275.rmk: Likewise.
23890 * conf/i386-pc.rmk: Likewise.
23891 * conf/powerpc-ieee1275.rmk: Likewise.
23892 * conf/sparc64-ieee1275.rmk: Likewise.
23893 * conf/x86_64-efi.rmk: Likewise.
23894 * fs/i386/pc/pxe.c: Likewise.
23895 * gettext/gettext.c: Likewise.
23896 * include/grub/efi/graphics_output.h: Likewise.
23897 * include/grub/i386/pc/memory.h: Likewise.
23898 * kern/env.c: Likewise.
23899 * kern/i386/qemu/startup.S: Likewise.
23900 * lib/i386/pc/biosnum.c: Likewise.
23901 * lib/i386/relocator.c: Likewise.
23902 * lib/i386/relocator_asm.S: Likewise.
23903 * lib/relocator.c: Likewise.
23904 * loader/i386/bsd.c: Likewise.
23905 * loader/i386/multiboot.c: Likewise.
23906 * loader/i386/pc/chainloader.c: Likewise.
23907 * loader/i386/xnu.c: Likewise.
23908 * loader/xnu.c: Likewise.
23909 * normal/main.c: Likewise.
23910 * normal/menu_text.c: Likewise.
23911 * util/getroot.c: Likewise.
23912 * util/grub-mkconfig_lib.in: Likewise.
23913 * util/grub.d/00_header.in: Likewise.
23914 * util/i386/pc/grub-mkimage.c: Likewise.
23915 * util/mkisofs/eltorito.c: Likewise.
23916 * util/mkisofs/exclude.h: Likewise.
23917 * util/mkisofs/hash.c: Likewise.
23918 * util/mkisofs/iso9660.h: Likewise.
23919 * util/mkisofs/joliet.c: Likewise.
23920 * util/mkisofs/mkisofs.c: Likewise.
23921 * util/mkisofs/mkisofs.h: Likewise.
23922 * util/mkisofs/multi.c: Likewise.
23923 * util/mkisofs/name.c: Likewise.
23924 * util/mkisofs/rock.c: Likewise.
23925 * util/mkisofs/tree.c: Likewise.
23926 * util/mkisofs/write.c: Likewise.
23927 * video/efi_gop.c: Likewise.
23928
009ec743
VS
239292009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
23930
23931 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
23932 size counting.
23933
0ad46fd7 239342009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
23935
23936 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
23937 * genmk.rb (class SCRIPT): Modify the target file instead of source.
23938
d3d30ea0
VS
239392009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23940
23941 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
23942 (GRUB_MOD_INIT(memrw)): Update help line.
23943
a34f5c70
VS
239442009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23945
23946 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
23947 Use grub_extcmd_t. All users updated.
23948 (options): New variable.
23949 (grub_cmd_read): Restructure for readability. Support "-v" option.
23950 (grub_cmd_write): Restructure for readability.
23951
0ad46fd7 239522009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
23953
23954 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
23955
0ad46fd7 239562009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
23957
23958 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
23959 with the actual contents of the correspondending make variable.
23960 * util/grub-mkrescue.in (pkglib_DATA): New variable.
23961 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
23962 specifying `*.lst' and `efiemu??.o'
23963
0ad46fd7 239642009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
23965
23966 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
23967 after function name.
23968 Noticed by Rene Engelhard <rene@debian.org>.
23969
dc77a799
VS
239702009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23971
23972 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
23973 (options): New variable.
23974 (iospace): Likewise.
23975 (grub_lspci_iter): List IO spaces if "-i" was given.
23976 (grub_cmd_lspci): Parse options.
23977 (GRUB_MOD_INIT(lspci)): Use extcmd.
23978 (GRUB_MOD_FINI(lspci)): Likewise.
23979
0ad46fd7 239802009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
23981
23982 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
23983 `function' keyword.
23984 Patch by Tony Mancill <tmancill@debian.org>.
23985
b5d5993b
VS
239862009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
23987
23988 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
23989 (grub_uhci_portstatus): Likewise.
23990 (grub_uhci_portstatus): Add necessary delay.
11d18281 23991 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 23992
941903f2 239932009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 23994
941903f2 23995 * commands/acpi.c (options): Fix capitalizations and/or full stops.
23996 (GRUB_MOD_INIT): Likewise.
23997 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 23998 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
23999 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 24000 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24001 (enable_rom_area): Likewise.
24002 (GRUB_MOD_INIT): Likewise.
24003 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24004 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24005 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24006 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24007 * commands/hexdump.c (options): Likewise.
24008 * commands/i386/cpuid.c (options): Likewise.
24009 (GRUB_MOD_INIT): Likewise.
24010 * commands/i386/pc/drivemap.c (options): Likewise.
24011 (GRUB_MOD_INIT): Likewise.
24012 * commands/i386/pc/halt (options): Likewise.
24013 (GRUB_MOD_INIT): Likewise.
24014 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24015 * commands/i386/pc/pxecmd.c (options): Likewise.
24016 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24017 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24018 * commands/keystatus.c (options): Likewise.
24019 (GRUB_MOD_INIT): Likewise.
24020 * commands/loadenv.c (options): Likewise.
24021 * commands/ls.c (options): Likewise.
24022 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24023 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24024 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24025 * commands/parttool.c (helpmsg): Likewise.
24026 * commands/probe.c (options): Likewise.
24027 * commands/read.c (GRUB_MOD_INIT): Likewise.
24028 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24029 * commands/search.c (options): Likewise.
24030 * commands/sleep.c (options): Likewise.
24031 * commands/test.c (GRUB_MOD_INIT): Likewise.
24032 * commands/true.c (GRUB_MOD_INIT): Likewise.
24033 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24034 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24035 * lib/arg.c (help_options): Likewise.
e9bbb4e7 24036 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24037 `$(XGETTEXT)'.
98a50553 24038 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 24039
0ad46fd7 240402009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 24041
ef3c2c3a 24042 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
24043 instead of specifying them explicit.
24044
7922f68b
RM
240452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24046
24047 * NEWS: Add grub-probe support for GNU/Hurd.
24048
537ce47f
RM
240492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24050
24051 * NEWS: gettext was added after 1.97.
24052
9b214e3a
RM
240532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24054
24055 * util/mkisofs/msdos_partition.h: New file (based on
24056 include/grub/msdos_partition.h).
24057 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24058 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24059 (ld_options, main): Recognize --protective-msdos-label.
24060 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24061 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24062 (padblock_write): If `use_protective_msdos_label' is set, patch a
24063 protective DOS-style label in the output image.
24064
24065 * util/grub-mkrescue.in: Use --protective-msdos-label.
24066
e9309813
RM
240672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24068
24069 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24070 boot.
24071
0ae56929
RM
240722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24073
24074 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24075 variables.
24076 (ld_options, main): Recognize `--embedded-boot'.
24077 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24078 declarations.
24079 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24080 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24081 (padblock_write): Likewise. Rewrite to support embedded boot image.
24082
24083 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24084 for BIOS-based disk boot instead of only ElTorito.
24085
b15937b1
RM
240862009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24087
24088 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24089 build (not needed for bootstrap).
24090
52cc3ce0
RM
240912009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24092
24093 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24094 from i386-pc build (not needed for bootstrap).
24095 Rewrite a pair of strings.
24096
36f5ff04
RM
240972009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24098
24099 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24100
973c6c85 241012009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
24102
24103 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24104
05d21547
AB
241052009-12-21 Andreas Born <futur.andy@googlemail.com>
24106
24107 * kern/env.c (grub_env_context_open): Mark exported variable for
24108 reexport.
24109
0175d51f
AB
241102009-12-21 Andreas Born <futur.andy@googlemail.com>
24111
24112 * kern/env.c (grub_env_export): Create nonexistent variables before
24113 exporting.
24114
7f39d92f 241152009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 24116
7f39d92f 24117 * include/grub/auth.h: Include `<grub/i18n.h>'.
24118 (GRUB_GET_PASSWORD): Gettextizze string.
24119 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24120 menu_text.c.
24121 (grub_utf8_to_ucs4_alloc): Fix indentation.
24122 (grub_print_ucs4): Likewise.
24123 (grub_getstringwidth): Likewise.
24124 (print_message_indented): New declaration.
24125 * normal/auth.c: Include `<grub/i18n.h>'.
24126 (grub_auth_check_authentication): Gettexttize string.
24127 * normal/cmdline.c: Include `<grub/i18n.h>'.
24128 (grub_cmdline_get): Gettextizze.
24129 * normal/color.c: Include `<grub/i18n.h>'.
24130 (grub_parse_color_name_pair): Gettexttize strings.
24131 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24132 string (use `print_message_indented').
24133 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24134 `include/grub/normal.h'.
24135 (print_message_indented): Renamed to ...
24136 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24137 used in normal/main.c).
24138 (print_message): Use `grub_print_message_indented' instead of
24139 `print_message_indented'.
24140 (print_timeout): Likewise.
24141 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24142 (grub_normal_print_device_info): Gettexttize strings.
24143 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24144
3041d898
VS
241452009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24146
24147 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24148 of arguments. Return number of tokens and not arguments. All users
24149 updated.
24150
de15bf8e
VS
241512009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24152
24153 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24154 non-MSDOS paritions.
24155
e0a6ca52
VS
241562009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24157
24158 * include/grub/types.h (UNUSED): Removed since it conflicts with
24159 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24160 Reported by Grégoire Sutre.
24161
b99518d1 241622009-12-19 Carles Pina i Estany <carles@pina.cat>
24163
24164 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24165 (grub_print_ucs4_alloc): Likewise.
24166 (grub_getstringwidth): Likewise.
24167 * normal/main.c (grub_normal_init_page): Gettextize version string.
24168 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24169 (getstringwidth): Renamed to ...
24170 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24171 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24172 (grub_print_ucs4): Remove `static' qualifer (now used in
24173 normal/main.c).
24174 * po/POTFILES: Add normal/main.c.
24175
bfd5e52b 241762009-12-19 Carles Pina i Estany <carles@pina.cat>
24177
24178 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24179 (print_message_indented): Add `margin_left' and `margin_right'
24180 parameters.
24181 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24182 strings.
24183 (print_timeout): Use `print_message_indented' to print the message.
24184 Deletes `second_stage' parameter.
24185 (run_menu): Update `print_timeout' calls.
24186
5a1ad2b9
VS
241872009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24188
24189 Fix console palette on OpenFirmware.
24190
24191 * term/ieee1275/ofconsole.c (MAX): Removed.
24192 (colors): Redone based on VGA palette.
24193 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24194 colors are supported.
24195 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24196
b045f00a
VS
241972009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24198
24199 Fix potential EfiEmu double prepare.
24200
24201 * efiemu/main.c (prepared): New variable
24202 (grub_efiemu_unload): Set prepare to '0'.
24203 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24204
24205 set_virtual_address_map support.
24206
24207 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24208 prototype.
24209 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24210 prototype.
24211 (grub_efiemu_crc32): Likewise.
24212 (grub_efiemu_crc64): Likewise.
24213 (grub_efiemu_set_virtual_address_map): Likewise.
24214 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24215 New definition.
24216 (grub_autoefi_set_virtual_address_map): Likewise.
24217 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24218 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24219 Restructure flow to accomodate it.
24220 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24221 (grub_efiemu_crc): Recompute CRC32.
24222 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24223 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24224 * efiemu/symbols.c (relocated_handle): New variable.
24225 (grub_efiemu_free_syms): Free relocated_handle.
24226 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24227 (grub_efiemu_write_sym_markers): New function.
24228 (grub_efiemu_set_virtual_address_map): Likewise.
24229
24230 Newer XNU parameters.
24231
24232 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24233 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24234 (grub_xnu_fill_devicetree): New prototype.
24235 (grub_xnu_heap_real_start): New variable.
24236 * loader/xnu.c (get_name_ptr): New function.
24237 (grub_xnu_load_driver): Fill namelen and name.
24238
24239 64-bit xnu support.
24240
24241 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
24242 and 'loader/macho64.c'.
24243 * conf/i386-pc.rmk: Likewise.
24244 * conf/x86_64-efi.rmk: Likewise.
24245 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
24246 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
24247 * include/grub/macho.h (grub_macho_segment64): New structure.
24248 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
24249 (grub_macho_size32): ... to this.
24250 (grub_macho32_get_entry_point): Renamed from ...
24251 (grub_macho_get_entry_point32): ... to this.
24252 (grub_macho_contains_macho64): New prototype.
24253 (grub_macho_size64): Likewise.
24254 (grub_macho_get_entry_point64): Likewise.
24255 (grub_macho32_load): Renamed from ...
24256 (grub_macho_load32): ... to this.
24257 (grub_macho32_filesize): Renamed from ...
24258 (grub_macho_filesize32): ... to this.
24259 (grub_macho32_readfile): Renamed from ...
24260 (grub_macho_readfile32): ... to this.
24261 (grub_macho_filesize64): New prototype.
24262 (grub_macho_readfile64): Likewise.
24263 (grub_macho_parse32): Likewise.
24264 (grub_macho_parse64): Likewise.
24265 * loader/macho.c: Split into ...
24266 * loader/machoXX.c: ... and this. Replace 32 with XX.
24267 * loader/macho32.c: New file.
24268 * loader/macho64.c: Likewise.
24269 * loader/xnu.c (grub_xnu_is_64bit): New variable.
24270 (grub_cmd_xnu_kernel): Make 32-bit only.
24271 (grub_cmd_xnu_kernel64): New function.
24272 (grub_xnu_load_driver): Support Mach-O 64.
24273 (grub_cmd_xnu_mkext): Likewise.
24274 * util/grub.d/30_os-prober.in (osx_entry): New function.
24275 Generate entries for 64-bit boot too.
24276
24277 Eliminate ad-hoc tree format in XNU and EfiEmu.
24278
24279 * efiemu/main.c (grub_efiemu_prepare): Update comment.
24280 * efiemu/pnvram.c: Rewritten to use environment variables.
24281 All users updated.
24282
24283 Inline utf16_to_utf8.
24284
24285 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
24286 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
24287 All users updated.
24288 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
24289
24290 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
24291 * commands/usbtest.c (grub_usb_get_string): ... move here.
24292 (usb_print_str): Fix error handling.
24293 * include/grub/usb.h (grub_usb_get_string): Remove.
24294
24295 UTF-8 to UTF-16 transformation.
24296
24297 * conf/common.rmk (pkglib_MODULES): Add charset.mod
24298 (charset_mod_SOURCES): New variable.
24299 (charset_mod_CFLAGS): Likewise.
24300 (charset_mod_LDFLAGS): Likewise.
24301 * include/grub/utf.h: New file.
24302 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
24303
24304 Support for device properties.
24305
24306 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
24307 (grub_xnu_devprop_device_header): Likewise.
24308 (grub_xnu_devprop_device_descriptor): Likewise.
24309 (grub_xnu_devprop_add_device): New prototype.
24310 (grub_xnu_devprop_remove_device): Likewise.
24311 (grub_xnu_devprop_remove_property): Likewise.
24312 (grub_xnu_devprop_add_property_utf8): Likewise.
24313 (grub_xnu_devprop_add_property_utf16): Likewise.
24314 (grub_cpu_xnu_init): Likewise.
24315 (grub_cpu_xnu_fini): Likewise.
24316 (grub_cpu_xnu_unload): Likewise.
24317 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
24318 (property_descriptor): Likewise.
24319 (devices): New variable.
24320 (grub_xnu_devprop_remove_property): New function.
24321 (grub_xnu_devprop_add_device): Likewise.
24322 (grub_xnu_devprop_remove_device): Likewise.
24323 (grub_xnu_devprop_add_property): Likewise.
24324 (grub_xnu_devprop_add_property_utf8): Likewise.
24325 (grub_xnu_devprop_add_property_utf16): Likewise.
24326 (hextoval): Likewise.
24327 (grub_cpu_xnu_fill_devprop): Likewise.
24328 (grub_cmd_devprop_load): Likewise.
24329 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
24330 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
24331 (cmd_devprop_load): New variable.
24332 (grub_cpu_xnu_init): New function.
24333 (grub_cpu_xnu_fini): Likewise.
24334 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
24335 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
24336 (grub_cmd_xnu_devtree): Likewise.
24337 (hextoval): New function.
24338 (unescape): Likewise.
24339 (grub_xnu_fill_devicetree): Likewise.
24340
24341 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
24342 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
24343
0945f181
VS
243442009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24345
24346 Workaround for broken ATI VBE.
24347
24348 * video/i386/pc/vbe.c (last_set_mode): New variable.
24349 (grub_vbe_set_video_mode): Set 'last_set_mode'.
24350 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
24351 (grub_video_vbe_setup): Don't check for reserved flag.
24352
0ad46fd7 243532009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
24354
24355 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
24356 the `find' command.
24357
c179ebe4
VS
243582009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
24359
24360 UUID support for HFS.
24361
24362 * fs/hfs.c (grub_hfs_uuid): New function.
24363 (grub_hfs_fs): New value .uuid.
24364 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
24365
0ad46fd7 243662009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
24367
24368 Fix a segfault with parsing unknown long options.
24369
24370 * util/grub-mkrelpath.c (options): Zero terminate it.
24371
c4a3e41a
CPE
243722009-12-13 Carles Pina i Estany <carles@pina.cat>
24373
24374 * include/grub/misc.h (grub_puts): New declaration.
24375 (grub_puts_): Likewise.
a22008a6 24376 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
24377 (grub_puts_): Likewise.
24378
2e8a7602
RM
243792009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24380
24381 * util/grub-probe.c (probe): Improve error message.
24382
b50b77b9
RM
243832009-12-13 Robert Millan <rmh.grub@aybabtu.com>
24384
24385 * loader/i386/multiboot_elfxx.c
24386 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
24387 initialization.
24388
243892009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24390
24391 Relocator framework
24392
24393 * loader/i386/xnu_helper.S: Removed. All users updated.
24394 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
24395 (relocator_mod_SOURCES): New variable.
24396 (relocator_mod_CFLAGS): Likewise.
24397 (relocator_mod_LDFLAGS): Likewise.
24398 (relocator_mod_ASFLAGS): Likewise.
24399 * conf/x86_64.rmk: Likewise.
24400 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
24401 (grub_multiboot_payload_entry_offset): Likewise.
24402 (grub_multiboot_forward_relocator): Likewise.
24403 (grub_multiboot_forward_relocator_end): Likewise.
24404 (grub_multiboot_backward_relocator): Likewise.
24405 (grub_multiboot_backward_relocator_end): Likewise.
24406 (grub_multiboot_payload_eip): New variable.
24407 (grub_multiboot_payload_orig): Likewise.
24408 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
24409 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
24410 * include/grub/i386/memory.h
24411 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
24412 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
24413 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
24414 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
24415 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
24416 * include/grub/i386/relocator.h: New file.
24417 * include/grub/x86_64/relocator.h: Likewise.
24418 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
24419 (XNU_RELOCATOR): New macro.
24420 (grub_xnu_launcher_start): Remove.
24421 (grub_xnu_launcher_end): Likewise.
24422 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
24423 (grub_xnu_heap_real_start): Remove.
24424 (grub_xnu_heap_start): Change to void *. All users updated.
24425 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
24426 * lib/i386/relocator.c: New file.
24427 * lib/i386/relocator_asm.S: Likewise.
24428 * lib/i386/relocator_backward.S: Likewise.
24429 * lib/mips/relocator.c: Likewise.
24430 * lib/mips/relocator_asm.S: Likewise.
24431 * lib/relocator.c: Likewise.
24432 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
24433 (entry): Removed.
24434 (playground): Likewise.
24435 (grub_multiboot_payload_orig): New variable.
24436 (grub_multiboot_payload_dest): Likewise.
24437 (grub_multiboot_payload_size): Likewise.
24438 (grub_multiboot_payload_eip): Likewise.
24439 (grub_multiboot_payload_esp): Likewise.
24440 (grub_multiboot_boot): Use grub_relocator32_boot.
24441 (grub_multiboot_unload): Free relocators.
24442 (grub_multiboot): Setup stack. Use relocators.
24443 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
24444 (grub_multiboot_load_elfXX): Use relocators.
24445 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
24446 (grub_multiboot_payload_size): Likewise.
24447 (grub_multiboot_payload_dest): Likewise.
24448 (grub_multiboot_payload_entry_offset): Likewise.
24449 (grub_multiboot_forward_relocator): Likewise.
24450 (grub_multiboot_backward_relocator): Likewise.
24451 (grub_multiboot_real_boot): Likewise.
24452 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
24453 (grub_xnu_entry_point): Likewise.
24454 (grub_xnu_arg1): Likewise.
24455 (grub_xnu_stack): Likewise.
24456 (grub_xnu_launch): Removed.
24457 (grub_xnu_boot_resume): New function.
24458 (grub_xnu_boot): Use relocators.
24459 * loader/i386/xnu_helper.S: Removed.
24460 * loader/xnu.c (grub_xnu_heap_start): New variable.
24461 (grub_xnu_heap_size): Likewise.
24462 (grub_xnu_heap_malloc): Use relocators.
24463 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
24464
29eb90c6
VS
244652009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
24466
24467 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
24468 anything.
24469
31027430
CPE
244702009-12-13 Carles Pina i Estany <carles@pina.cat>
24471
24472 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
24473 GRUB_ERR_NONE before calling grub_env_set.
24474
dc0c71d9
RM
244752009-12-12 Robert Millan <rmh@aybabtu.com>
24476
24477 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
24478 * genmk.rb (video): New variable.
24479 (CLEANFILES, VIDEOFILES): Add #{video}.
24480 (#{video}): New target rule.
24481 * genvideolist.sh: New file.
24482 * Makefile.in (pkglib_DATA): Add video.lst.
24483 (video.lst): New target rule.
24484 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
24485 `video.lst'.
24486 * util/grub.d/30_os-prober.in: Replace `vbe' with
24487 ${GRUB_VIDEO_BACKEND}.
24488
2a4bfcf0
RM
244892009-12-11 Robert Millan <rmh.grub@aybabtu.com>
24490
24491 * THANKS: Add David Miller.
24492
2a3aa4d5
RM
244932009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
24494
24495 libpciaccess support.
24496
24497 * Makefile.in (LIBPCIACCESS): New variable.
24498 (enable_grub_emu_pci): Likewise.
24499 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
24500 util/pci.c and commands/lspci.c.
24501 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
24502 * configure.ac (grub-emu-pci): New option.
24503 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
24504 (grub_pci_device_unmap_range): Likewise.
24505 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
24506 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
24507 (grub_pci_address_t) [!GRUB_UTIL]: New type.
24508 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
24509 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
24510 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
24511 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
24512 * include/grub/pciutils.h: New file.
24513 * util/pci.c: Likewise.
24514
0ad46fd7 245152009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
24516
24517 * util/misc.c: Don't include <errno.h> twice.
24518
0ad46fd7 245192009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
24520
24521 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
24522 name in an error message.
24523 (grub_biosdisk_rw): Likewise.
24524
2e59983c
VS
245252009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24526
24527 Eliminate NTFS 4Gib barrier.
24528
24529 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
24530 (read_run_data): Likewise.
24531 (grub_ntfs_read_run_list): Likewise.
24532 (grub_ntfs_read_block): Likewise.
24533 (grub_ntfs_iterate_dir): Likewise.
24534 (read_mft): Likewise.
24535 (read_data): Likewise.
24536 Use COM_LOG_LEN.
24537 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
24538 to avoid 64-bit division
24539 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
24540 (grub_ntfs_rlst): Use grub_disk_addr_t.
24541
71ee178a
VS
245422009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24543
24544 Eliminate grub-fstest 4Gib barrier.
24545
24546 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
24547 (read_file): Fix error reporting.
24548
2520d4b8
VS
245492009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24550
24551 Eliminate hexdump 4Gib barrier.
24552
24553 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
24554 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
24555
e1f27065
VS
245562009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
24557
24558 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
24559 Fixes amarsh bug.
24560
1a0f7f45
RM
245612009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
24562
24563 Remove miscellaneous files in distclean target.
24564
24565 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
24566
c631d9fb
CW
245672009-12-09 Colin Watson <cjwatson@ubuntu.com>
24568
24569 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
24570 if they're already set. This resolves the conflict between my
24571 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
24572 fixing the --grub-probe option again.
24573 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
24574 change on 2009-10-06, so that we now once again source
24575 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
24576
7c7b6106
RM
245772009-12-08 Robert Millan <rmh.grub@aybabtu.com>
24578
24579 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
24580 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
24581 `util/devicemap.c'.
24582
e3069ec1
CPE
245832009-12-08 Carles Pina i Estany <carles@pina.cat>
24584
24585 * include/grub/misc.h (grub_printf_): New declaration.
24586 * kern/misc.c (grub_printf_): New definition.
24587 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
24588 instead of `grub_printf' and `_'.
24589 * normal/menu_entry.c (store_completion): Likewise.
24590 (run): Likewise.
24591 (grub_menu_entry_run): Likewise.
24592 * normal/menu_text.c (grub_wait_after_message): Likewise.
24593 (notify_booting): Likewise.
24594 (notify_fallback): Likewise.
24595 (notify_execution_failure): Likewise.
24596
d6ceebf1
CW
245972009-12-07 Colin Watson <cjwatson@ubuntu.com>
24598
24599 * configure.ac: Check for vasprintf.
24600 * util/misc.c (asprintf): Move allocation from here ...
24601 (vasprintf): ... to here. New function.
24602 (xasprintf): New function.
24603 * include/grub/util/misc.h (vasprintf, xasprintf): Add
24604 prototypes.
24605 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24606 * util/grub-mkfont.c (write_font): Likewise.
24607 * util/grub-probe.c (probe): Likewise.
24608 * util/hostdisk.c (make_device_name): Likewise.
24609
de6daa8b
DM
246102009-12-06 David S. Miller <davem@sunset.davemloft.net>
24611
24612 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
24613 anything even prefixed with 'cdrom' as a cdrom.
24614
0ad46fd7 246152009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
24616
24617 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
24618 mount points.
24619
98d3dc02
CPE
246202009-12-05 Carles Pina i Estany <carles@pina.cat>
24621
24622 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
24623 grub_gettext_msg_list.
24624 (grub_gettext_gettranslation_from_position): Return const char *
24625 and not char *.
a2c1332b 24626 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
24627 returns from the list if existing there.
24628 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
24629 (grub_gettext_delete_list): Delete the list.
24630 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
24631 lang environment variable is changed.
24632 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
24633
b283f108
VS
246342009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24635
24636 Rename kernel.mod to kernel.img.
24637
24638 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
24639 (kernel_mod_EXPORTS): Rename to ...
24640 (kernel_img_EXPORTS): ... this.
24641 (kernel_mod_SOURCES): Rename to ...
24642 (kernel_img_SOURCES): ... this.
24643 (kernel_mod_HEADERS): Rename to ...
24644 (kernel_img_HEADERS): ... this. All users updated.
24645 (kernel_mod_CFLAGS): Rename to ...
24646 (kernel_img_CFLAGS): ... this.
24647 (kernel_mod_ASFLAGS): Rename to ...
24648 (kernel_img_ASFLAGS): ... this.
24649 (kernel_mod_LDFLAGS): Rename to ...
24650 (kernel_img_LDFLAGS): ... this.
24651 * conf/x86_64-efi.rmk: Likewise.
24652 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
24653 (read_kernel_image): ... this. All users updated.
24654 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
24655
69055f8a
CPE
246562009-12-05 Carles Pina i Estany <carles@pina.cat>
24657
24658 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
24659 (print_spaces): New function.
24660 (grub_print_ucs4): New function.
24661 (getstringwidth): New function.
24662 (print_message_indented): New function.
24663 (print_message): Gettexttize strings using print_message_indented.
24664 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
24665 width.
24666 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 24667 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
24668 Gettextize.
24669 * normal/menu_entry.c (store_completion): Cleanup the gettextized
24670 string.
24671 (run): Likewise.
24672 (grub_menu_entry_run): Likewise.
24673 * PO/POTFILES: Add normal/menu_entry.c.
24674
f616f51c
VS
246752009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
24676
24677 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
24678
57bbe3be
CPE
246792009-12-05 Carles Pina i Estany <carles@pina.cat>
24680
24681 * util/grub-install.in: Install gettext .mo files.
24682 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
24683
013d67a1
CPE
246842009-12-05 Carles Pina i Estany <carles@pina.cat>
24685
24686 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
24687 grub_dprintf.
24688
fb954db0
RM
246892009-12-05 Robert Millan <rmh.grub@aybabtu.com>
24690
24691 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
24692 non-firmware-dependant one in realmode.S takes precedence.
24693
6b8474f8
RM
246942009-12-04 Robert Millan <rmh.grub@aybabtu.com>
24695
24696 * commands/halt.c: Replace misc arch-specific headers with
24697 `<grub/misc.h>'.
24698 * commands/reboot.c: Likewise.
24699 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
24700 `<grub/misc.h>'.
24701 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
24702 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
24703 (kernel_img_SOURCES): ... to here.
24704
24705 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
24706 * include/grub/i386/pc/init.h: Likewise.
24707 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
24708 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24709
24710 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
24711
24712 * include/grub/i386/halt.h: Remove.
24713 * include/grub/i386/reboot.h: Likewise.
24714
24715 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
24716
4b2e6ca2
DM
247172009-12-03 David S. Miller <davem@sunset.davemloft.net>
24718
24719 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
24720 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
24721 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
24722 "progname.h"
24723 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24724 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24725 (usage): Add missing comma in printf.
24726
5239348f
RM
247272009-12-02 Robert Millan <rmh.grub@aybabtu.com>
24728
24729 Use the same reboot approach on i386 coreboot and qemu as we do on
24730 BIOS.
24731
24732 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
24733 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
24734 * kern/i386/reboot.c: Remove.
24735 * include/grub/i386/reboot.h (grub_reboot): Export function.
24736 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
24737 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
24738 0xf000:0xfff0 instead of 0xffff:0x0000.
24739 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
24740 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
24741
ef34cbd4
RM
247422009-11-30 Robert Millan <rmh.grub@aybabtu.com>
24743
24744 Fix $srcdir != $objdir build.
24745
24746 * Makefile.in (po/%.po): Rewrite as ...
24747 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
24748
dc9837ea
ST
247492009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
24750
24751 Fix GNU/Hurd grub-install crash.
24752 * util/grub-probe.c (probe): Try to access `path' only when it is not
24753 NULL.
24754
2f857f98
VS
247552009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24756
24757 Correct module naming.
24758
24759 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24760 (GRUB_MOD_INIT(efi_uga)): ... to this
24761 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24762 (GRUB_MOD_FINI(efi_uga)): ... to this
24763 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
24764 (GRUB_MOD_INIT(efi_gop)): ... to this
24765 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
24766 (GRUB_MOD_FINI(efi_gop)): ... to this
24767
c5448046
RM
247682009-11-28 Robert Millan <rmh.grub@aybabtu.com>
24769
24770 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
24771 translatable.
24772 (usage): Translate `arg' strings using gettext().
24773 Thanks to Jordi Mallach for the suggestion.
24774
c85184ad
VS
247752009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24776
24777 GOP support. Based on patch from Bean
24778 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
24779
24780 * video/efi_gop.c: New file.
24781 * include/grub/efi/graphics_output.h: Likewise.
24782 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
24783 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
24784 variables.
24785 * conf/x86_64-efi.rmk: Likewise.
24786
8a4c48d8
VS
247872009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
24788
24789 Rename efi_fb to efi_uga.
24790
24791 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24792 'efi_uga.mod'.
24793 (efi_fb_mod_SOURCES): Rename this ...
24794 (efi_uga_mod_SOURCES): ... to this.
24795 (efi_fb_mod_CFLAGS): Rename this ...
24796 (efi_uga_mod_CFLAGS): ... to this.
24797 (efi_fb_mod_LDFLAGS): Rename this ...
24798 (efi_uga_mod_LDFLAGS): ... to this.
24799 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
24800 'efi_uga.mod'.
24801 (efi_fb_mod_SOURCES): Rename this ...
24802 (efi_uga_mod_SOURCES): ... to this.
24803 (efi_fb_mod_CFLAGS): Rename this ...
24804 (efi_uga_mod_CFLAGS): ... to this.
24805 (efi_fb_mod_LDFLAGS): Rename this ...
24806 (efi_uga_mod_LDFLAGS): ... to this.
24807 * video/efi_fb.c: Move this ...
24808 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
24809
fb6c1a7b
RM
248102009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24811
24812 * po/README: New file. Explain our PO file workflow.
24813
3bc7896c
RM
248142009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24815
24816 * po/ChangeLog: Remove. Move relevant entries back to ...
24817 * ChangeLog: ... here.
24818 * po/ca.po: Remove (now handled by TLP).
24819 * po/id.po: Likewise.
24820 * po/zh_CN.po: Likewise.
24821 * Makefile.in (LINGUAS): Initialize in a way that supports
24822 empty set.
24823
9ed4841d
RM
248242009-11-27 Robert Millan <rmh.grub@aybabtu.com>
24825
24826 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
24827 reliing on po/LINGUAS.
24828 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
24829 (po/%.po): ... this.
24830
0ad46fd7 248312009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
24832
24833 * util/i386/efi/grub-mkimage.c: Include "progname.h".
24834 (main): Use `program_name' instead of nonexistent `progname'.
24835
e30dd392
FZ
248362009-11-26 Felix Zielcke <fzielcke@z-51.de>
24837
24838 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24839 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
24840
7656de4f
RM
248412009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24842
24843 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
24844 commit.
24845 * conf/i386-efi.rmk: Likewise.
24846 * conf/i386-ieee1275.rmk: Likewise.
24847 * conf/powerpc-ieee1275.rmk: Likewise.
24848 * conf/sparc64-ieee1275.rmk: Likewise.
24849 * conf/x86_64-efi.rmk: Likewise.
24850
db77c4d4
FZ
248512009-11-26 Felix Zielcke <fzielcke@z-51.de>
24852
24853 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
24854
a755bb04
FZ
248552009-11-26 Felix Zielcke <fzielcke@z-51.de>
24856
24857 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
24858
8a4c07fd
RM
248592009-11-26 Robert Millan <rmh.grub@aybabtu.com>
24860
24861 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
24862 (grub_mkdevicemap_SOURCES): New variable.
24863 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
24864 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
24865 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
24866 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
24867 (grub_mkdevicemap_SOURCES): Remove.
24868 * conf/i386-efi.rmk: Likewise.
24869 * conf/i386-ieee1275.rmk: Likewise.
24870 * conf/i386-pc.rmk: Likewise.
24871 * conf/powerpc-ieee1275.rmk: Likewise.
24872 * conf/sparc64-ieee1275.rmk: Likewise.
24873 * conf/x86_64-efi.rmk: Likewise.
24874 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
24875 (usage): Fix strings to use `program_name'.
24876 (main): Initialize gettext.
24877 * util/grub-editenv.c: Likewise.
24878 * util/grub-emu.c: Likewise.
24879 * util/grub-fstest.c: Likewise.
24880 * util/grub-mkdevicemap.c: Likewise.
24881 * util/grub-mkfont.c: Likewise.
24882 * util/grub-mkrelpath.c: Likewise.
24883 * util/grub-pe2elf.c: Likewise.
24884 * util/grub-probe.c: Likewise.
24885 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
24886 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
24887 * util/sparc64/ieee1275/grub-setup.c: Likewise.
24888
24889 * util/misc.c: Include `"progname.h"'.
24890 (progname): Remove variable.
24891 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
24892
6f61ed55
FZ
248932009-11-25 Felix Zielcke <fzielcke@z-51.de>
24894
24895 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
24896 printf and print a newline after the menuentry header line.
24897 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
24898
f022876b
FZ
248992009-11-25 Felix Zielcke <fzielcke@z-51.de>
24900
24901 autoconf >= 2.60 support $(localedir).
24902
24903 * INSTALL: Note that autoconf 2.60 is required.
24904 * configure.ac (AC_PREREQ): Bump to 2.60.
24905 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
24906 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
24907
6717926e
YB
249082009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
24909
24910 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
24911 aclocal is run.
24912
08806a54
RM
249132009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24914
24915 * normal/main.c (grub_normal_read_line): Fix off-by-one
24916 buffer overflow.
24917
13b33fba
RM
249182009-11-25 Robert Millan <rmh.grub@aybabtu.com>
24919
24920 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
24921 "parser.grub" in grub_command_execute() call.
24922
4a8572e9
CPE
249232009-11-24 Carles Pina i Estany <carles@pina.cat>
24924
24925 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
24926 * conf/i386-efi.rmk: Likewise.
24927 * conf/i386-ieee1275.rmk: Likewise.
24928 * conf/i386-pc.rmk: Likewise.
24929 * conf/powerpc-ieee1275.rmk: Likewise.
24930 * conf/sparc64-ieee1275.rmk: Likewise.
24931 * conf/x86_64-efi.rmk: Likewise.
24932 * gettext/gettex.c: Include <grub/i18n.h>.
24933 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
24934 here ...
24935 * include/grub/i18n.h: ... to here
24936 * include/grub/i18n.h: ... to here.
24937 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 24938 (grub_gettext_dummy): Move above user.
4a8572e9 24939
bee48093
FZ
249402009-11-24 Felix Zielcke <fzielcke@z-51.de>
24941
24942 * util/Makefile.in (install-local): Convert a `for' into a normal
24943 shell expansion.
24944
a031e91c
RM
249452009-11-24 Robert Millan <rmh.grub@aybabtu.com>
24946
24947 * autogen.sh: Add automake call.
24948 * config.guess: Remove.
24949 * config.sub: Likewise.
24950 * install-sh: Likewise.
24951
26bec39d
FZ
249522009-11-24 Felix Zielcke <fzielcke@z-51.de>
24953
24954 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
24955
8e2532fd
FZ
249562009-11-24 Felix Zielcke <fzielcke@z-51.de>
24957
24958 * util/Makefile.in (install-local): Convert a make `$(foreach)'
24959 function to a normal shell `for'.
24960
fefa1b7d
FZ
249612009-11-24 Felix Zielcke <fzielcke@z-51.de>
24962
24963 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
24964
4501250b
FZ
249652009-11-24 Felix Zielcke <fzielcke@z-51.de>
24966
24967 * util/grub-mkrelpath.c: New file.
24968 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
24969 (grub_mkrelpath_SOURCES): New variable.
24970 * include/grub/util/misc.h: New function prototype.
24971 * util/misc.c (make_system_path_relative_to_its_root): New function.
24972
24973 * util/grub-mkconfig_lib.in (bindir): New variable.
24974 (grub_mkrelpath): Likewise.
24975 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
24976
24977 * util/probe.c (probe): Make the file path relative to its root.
24978 Change a info message to use the GRUB path. Enable again the
24979 check if we can read the file with GRUB facilities.
24980
24981 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
24982 to its root.
24983
11d9778b
FZ
249842009-11-24 Felix Zielcke <fzielcke@z-51.de>
24985
24986 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
24987 platform.
24988
4465287d
FZ
249892009-11-24 Felix Zielcke <fzielcke@z-51.de>
24990
24991 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
24992 strncmp().
24993
62b47f22
FZ
249942009-11-24 Felix Zielcke <fzielcke@z-51.de>
24995
24996 * util/getroot.c (grub_util_is_dmraid): New function.
24997 (grub_util_get_dev_abstraction): Treat dmraid and multipath
24998 devices as normal ones, not as LVM.
24999
1eafb9b9 250002009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
25001
25002 * conf/common.rmk: Add grub-gettext_lib target and updates
25003 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25004 LDFLAGS.
25005 * gettext/gettext.c: New file. (Reads mo files).
25006 * include/grub/file.h (grub_file_pread): New prototype.
25007 * include/grub/i18n.h (_): New prototype.
25008 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25009 prototypes.
25010 * kern/misc.c (grub_gettext_dummy): New function.
25011 * normal/menu_text.c: Include <grub/i18n.h>.
25012 * normal/menu_text.c (print_timeout): Gettexttize string.
25013 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
25014 * po/POTFILES: Add `normal/menu_text.c'.
25015 * po/ca.po: Add new translations.
c3ea6bd4
CPE
25016 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25017 gettext module and defines locale_dir and lang in grub.cfg.
25018 * NEWS: Add gettext support.
25019
0fdb2568
RM
250202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25021
25022 * util/hostdisk.c: Include `<grub/i18n.h>'.
25023 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25024 (make_device_name): Rewrite using asprintf.
25025 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25026 (find_system_device): If a device is not found, generate one just
25027 by reusing the OS path name.
25028 (read_device_map): Make it permissible for device.map not to exist.
25029
f515aa62
RM
250302009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25031
25032 * script/sh/execute.c: Move from here ...
25033 * script/execute.c: ... to here. Update all users.
25034 * script/sh/function.c: Move from here ...
25035 * script/function.c: ... to here. Update all users.
25036 * script/sh/lexer.c: Move from here ...
25037 * script/lexer.c: ... to here. Update all users.
25038 * script/sh/main.c: Move from here ...
25039 * script/main.c: ... to here. Update all users.
25040 * script/sh/parser.y: Move from here ...
25041 * script/parser.y: ... to here. Update all users.
25042 * script/sh/script.c: Move from here ...
25043 * script/script.c: ... to here. Update all users.
25044
f84b481b
RM
250452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25046
25047 * configure.ac: Detect all `emu' platforms. Define
25048 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25049 --enable-grub-emu logic. Disable include/grub/machine
25050 symlink on `emu' platforms.
25051
25052 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25053 * gensymlist.sh.in: Likewise.
25054
25055 * include/grub/i386/coreboot/machine.h: Remove file.
25056 * include/grub/i386/efi/machine.h: Likewise.
25057 * include/grub/i386/ieee1275/machine.h: Likewise.
25058 * include/grub/i386/pc/machine.h: Likewise.
25059 * include/grub/i386/qemu/machine.h: Likewise.
25060 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25061 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25062 * include/grub/x86_64/efi/machine.h: Likewise.
25063
25064 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25065 * commands/halt.c: Likewise.
25066 * commands/reboot.c: Likewise.
25067 * include/grub/autoefi.h: Likewise.
25068 * include/grub/i386/at_keyboard.h: Likewise.
25069 * include/grub/i386/kernel.h: Likewise.
25070 * include/grub/i386/loader.h: Likewise.
25071 * include/grub/i386/pc/memory.h: Likewise.
25072 * kern/dl.c: Likewise.
25073 * kern/i386/coreboot/init.c: Likewise.
25074 * loader/i386/bsd.c: Likewise.
25075 * loader/i386/linux.c: Likewise.
25076 * loader/multiboot_loader.c: Likewise.
25077 * term/i386/pc/serial.c: Likewise.
25078 * term/usb_keyboard.c: Likewise.
25079
25080 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25081 `<grub/machine/machine.h>'
25082 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25083 * util/misc.c: Remove `<grub/machine/machine.h>' and
25084 `<grub/machine/time.h>'.
25085
25086 * Makefile.in (enable_grub_emu): Remove variable.
25087 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25088
25089 * conf/any-emu.rmk: New file.
25090 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25091 (grub_emu_init.c): Move from here ...
25092 * conf/any-emu.rmk: ... to here.
25093
25094 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25095 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25096 * conf/any-emu.rmk: ... to here.
25097
4efeab03
RM
250982009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25099
25100 * include/grub/parser.h (grub_parser_register): Document need
25101 of `name' parameter.
25102 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25103 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25104 "sh" to "grub".
25105
ea1dd8bf
RM
251062009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25107
25108 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25109 `$(XGETTEXT)'.
25110 * include/grub/i18n.h (N_): New macro.
25111 * util/mkisofs/mkisofs.h: Likewise.
25112 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25113 around N_().
25114 (usage): Use gettext() to translate help strings when printing them.
25115
0c140626
RM
251162009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25117
25118 Based on patch from Bean
25119 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25120
25121 * video/efi_fb.c: New file.
25122 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25123 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25124 variables.
25125 * conf/x86_64-efi.rmk: Likewise.
25126
87d58298
RM
251272009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25128
25129 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25130 * util/i386/pc/grub-setup.c: Likewise.
25131
994cc3a3
ST
251322009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25133
25134 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25135 <hurd/fs.h>
25136 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25137 file_get_storage_info to implement grub_guess_root_device.
25138
26a61d6a
FZ
251392009-11-21 Felix Zielcke <fzielcke@z-51.de>
25140
25141 * Makefile.in (target): Use make's builtin $(shell) function
25142 instead of calling directly $(SHELL) to create the locale directories,
25143 inside the $(foreach) function.
25144
74ff1dd5
FZ
251452009-11-21 Felix Zielcke <fzielcke@z-51.de>
25146
25147 * util/grub-mkrescue.in: Print an error and usage if output option
25148 has not been given.
25149
0b787d0e
FZ
251502009-11-21 Felix Zielcke <fzielcke@z-51.de>
25151
25152 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25153 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25154 root and /boot are on different devices.
25155
1164b270
RM
251562009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25157
25158 Fix build for srcdir != objdir.
25159
25160 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25161 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25162 $(srcdir).
25163 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25164 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25165 reference for input.
25166
13774a2f
RM
251672009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25168
25169 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25170 or hardlinking it). Remove -J option, Joliet is not compatible with
25171 multiple source directories.
25172
efda854e
RM
251732009-11-21 Carles Pina i Estany <carles@pina.cat>
251742009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25175
25176 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25177 (process_input_dir): New function. Process an arbitrary input
25178 directory.
25179 Misc adjustments to support both "override mode" and system-wide mode.
25180
6c09890c
FZ
251812009-11-20 Felix Zielcke <fzielcke@z-51.de>
25182
25183 * configure.ac (UNIFONT_BDF): Rename to ...
25184 (FONT_SOURCE): ... this. Update all users.
25185
a797824f
FZ
251862009-11-20 Felix Zielcke <fzielcke@z-51.de>
25187
25188 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25189 to the list of unifont files to look for.
25190
cd4f42b0
RM
251912009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25192
25193 Patch from Joe Auricchio <jauricchio@gmail.com>
25194 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25195 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25196 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25197
393c783d
FZ
251982009-11-19 Felix Zielcke <fzielcke@z-51.de>
25199
25200 * Makefile.in (install-local): Add a missing backslash.
25201
b2f1e327
FZ
252022009-11-19 Felix Zielcke <fzielcke@z-51.de>
25203
25204 * include/grub/x86_64/io.h: New file.
25205
f577f7a0
RM
252062009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25207
25208 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25209 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25210 Include `"progname.h"'.
25211 (main): Initialize gettext.
25212 * util/i386/pc/grub-setup.c: Gettexttize.
25213 * util/i386/pc/grub-mkimage.c: Likewise.
25214
25215 * Makefile.in (po/*.po): Redefine as ...
25216 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25217
3bc7896c
RM
25218 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25219
c37943b6
RM
252202009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25221
25222 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25223 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25224 (program_name): Remove.
25225 (main): Initialize gettext support.
6323f705
RM
25226 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25227 Include `<libintl.h>'.
25228 (_): New macro.
c37943b6
RM
25229
25230 * util/mkisofs/eltorito.c: Gettexttize.
25231 * util/mkisofs/joliet.c: Likewise.
25232 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
25233 * util/mkisofs/multi.c: Likewise.
25234 * util/mkisofs/rock.c: Likewise.
25235 * util/mkisofs/tree.c: Likewise.
25236 * util/mkisofs/write.c: Likewise.
25237
3bc7896c
RM
25238 * po/POTFILES: Update with new files.
25239
5ce77c6e
RM
252402009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25241
25242 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
25243 * util/mkisofs/iso9660.h: Likewise.
25244 * util/mkisofs/joliet.c: Likewise.
25245 * util/mkisofs/mkisofs.c: Likewise.
25246 * util/mkisofs/mkisofs.h: Likewise.
25247 * util/mkisofs/rock.c: Likewise.
25248 * util/mkisofs/tree.c: Likewise.
25249 * util/mkisofs/write.c: Likewise.
25250
25251 * util/mkisofs/eltorito.c (rcsid): Remove.
25252 * util/mkisofs/hash.c: Likewise.
25253 * util/mkisofs/joliet.c: Likewise.
25254 * util/mkisofs/name.c: Likewise.
25255 * util/mkisofs/rock.c: Likewise.
25256 * util/mkisofs/tree.c: Likewise.
25257 * util/mkisofs/write.c: Likewise.
25258
1dabbc77
RM
252592009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25260
25261 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
25262 instead of static allocation.
25263 * util/mkisofs/match.h: Likewise.
25264
633877cb
RM
252652009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25266
3bc7896c
RM
25267 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
25268 and `util/grub.d/10_linux.in'.
633877cb
RM
25269 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
25270 translatable Shell files.
25271
af1c0c85
RM
252722009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25273
25274 * Makefile.in ($(srcdir)/aclocal.m4): New target.
25275
769ae37b
RM
252762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25277
25278 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 25279 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
25280 * util/grub.d/10_kfreebsd.in (bindir): New variable.
25281 Add gettext initialization.
25282 (kfreebsd_entry): Make menuentry output translatable.
25283
252842009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25285
25286 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
25287 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
25288 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
25289 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
25290 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 25291 * po/LINGUAS: New file.
769ae37b
RM
25292
252932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25294
25295 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
25296 other things).
25297 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
25298 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
25299 bindtextdomain() calls for gettext initialization.
25300
253012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25302
25303 * gnulib/progname.c: New file (imported from Gnulib).
25304 * gnulib/progname.h: Likewise.
25305 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25306 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
25307 (usage): Replace `progname' with `program_name'.
25308 (main): Use set_program_name() for program name initialization.
25309
253102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25311
25312 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
25313 from here ...
25314 * Makefile.in (CPPFLAGS): ... to here.
25315
253162009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25317
25318 * aclocal.m4: Move from here ...
25319 * acinclude.m4: ... to here.
25320 * autogen.sh: Add call to `aclocal'.
25321 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
25322
253232009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25324
25325 * Makefile.in (CLEANFILES): Add `po/*.mo'.
25326 (LINGUAS): New variable.
25327 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
25328 (install-local): Install MO files.
25329 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
25330 * include/grub/i18n.h: New file.
3bc7896c
RM
25331 * po/POTFILES: New file.
25332 * po/ca.po: New file.
769ae37b
RM
25333 * util/grub.d/10_linux.in (bindir): New variable.
25334 Add gettext initialization.
25335 (linux_entry): Make menuentry output translatable.
25336 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
25337 (usage): Make --help output translatable.
25338 (main): Initialize gettext.
25339
02c0a6ad
RM
253402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25341
25342 * import_gcry.py: New file (written by Vladimir with minor
25343 adjustments).
25344 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
25345 ciphers.
25346 * INSTALL: Document that Python is required for bootstrap.
25347
253482009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25349
25350 Import ciphers from libgcrypt 1.4.4.
25351
25352 * lib/libgcrypt/cipher/ChangeLog
25353 * lib/libgcrypt/cipher/ac.c
25354 * lib/libgcrypt/cipher/arcfour.c
25355 * lib/libgcrypt/cipher/bithelp.h
25356 * lib/libgcrypt/cipher/blowfish.c
25357 * lib/libgcrypt/cipher/camellia-glue.c
25358 * lib/libgcrypt/cipher/camellia.c
25359 * lib/libgcrypt/cipher/camellia.h
25360 * lib/libgcrypt/cipher/cast5.c
25361 * lib/libgcrypt/cipher/cipher.c
25362 * lib/libgcrypt/cipher/crc.c
25363 * lib/libgcrypt/cipher/des.c
25364 * lib/libgcrypt/cipher/dsa.c
25365 * lib/libgcrypt/cipher/ecc.c
25366 * lib/libgcrypt/cipher/elgamal.c
25367 * lib/libgcrypt/cipher/hash-common.c
25368 * lib/libgcrypt/cipher/hash-common.h
25369 * lib/libgcrypt/cipher/hmac-tests.c
25370 * lib/libgcrypt/cipher/md.c
25371 * lib/libgcrypt/cipher/md4.c
25372 * lib/libgcrypt/cipher/md5.c
25373 * lib/libgcrypt/cipher/primegen.c
25374 * lib/libgcrypt/cipher/pubkey.c
25375 * lib/libgcrypt/cipher/rfc2268.c
25376 * lib/libgcrypt/cipher/rijndael-tables.h
25377 * lib/libgcrypt/cipher/rijndael.c
25378 * lib/libgcrypt/cipher/rmd.h
25379 * lib/libgcrypt/cipher/rmd160.c
25380 * lib/libgcrypt/cipher/rsa.c
25381 * lib/libgcrypt/cipher/seed.c
25382 * lib/libgcrypt/cipher/serpent.c
25383 * lib/libgcrypt/cipher/sha1.c
25384 * lib/libgcrypt/cipher/sha256.c
25385 * lib/libgcrypt/cipher/sha512.c
25386 * lib/libgcrypt/cipher/tiger.c
25387 * lib/libgcrypt/cipher/twofish.c
25388 * lib/libgcrypt/cipher/whirlpool.c
25389
af2f93ac
RM
253902009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25391
25392 Fix build for systems without error().
25393
25394 * gnulib/error.c: New file (imported from Gnulib).
25395 * gnulib/error.h: Likewise.
25396 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
25397 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
25398 (this variable is now used by error()).
25399
73fb3dd5
FZ
254002009-11-16 Felix Zielcke <fzielcke@z-51.de>
25401
814f5e96
FZ
25402 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
25403 instead of relying that char is signed.
73fb3dd5 25404
a691ca33
VS
254052009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
25406
25407 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
25408 blocksize different from specified.
25409 (grub_pxefs_read): Likewise.
25410
2af8f0f4
FZ
254112009-11-16 Felix Zielcke <fzielcke@z-51.de>
25412
25413 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
25414
25415 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
25416 (grub_ata_readwrite): Likewise. Update 2 format strings.
25417 (grub_atapi_read): Likewise.
25418
25419 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
25420 * conf/i386.rmk (pkglib_MODULES): ... to here ...
25421 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
25422 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
25423 (ata_mod_LDFLAGS): Move from here ...
25424 * conf/i386.rmk: ... to here ...
25425 * conf/x86_64-efi.rmk: ... and here.
25426 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
25427 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
25428
83bdecaf
RM
254292009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25430
25431 Relicense multiboot.h, with RMS' blessing.
25432
25433 * include/multiboot.h: Change to X11 license.
25434
fd6fd3d7
RM
254352009-11-15 Robert Millan <rmh.grub@aybabtu.com>
25436
25437 Support --version in grub-mkisofs.
25438
25439 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
25440 (OPTION_VERSION): New macro.
25441 (ld_options): Recognize --version.
25442 (usage): Move `program_name' from here ...
25443 (program_name): ... to here. Add `static' qualifier.
25444 (main): Recognize `OPTION_VERSION'.
25445
16a88c49
FZ
254462009-11-15 Felix Zielcke <fzielcke@z-51.de>
25447
25448 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
25449 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
25450
a4158476
RM
254512009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25452
25453 Fix help2man generation for mkisofs.
25454
25455 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
25456 (usage): Send output to stdout (rather than stderr).
25457
fc2208b0
RM
254582009-11-14 Robert Millan <rmh.grub@aybabtu.com>
25459
25460 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
25461 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25462 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
25463 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
25464 (bin_SCRIPTS): Add `grub-mkfloppy'.
25465 (grub_mkfloppy_SOURCES): New variable.
25466
25467 * util/grub-mkrescue.in: New file.
25468 * util/i386/pc/grub-mkfloppy.in: New file.
25469
25470 * util/i386/coreboot/grub-mkrescue.in: Remove.
25471 * util/i386/pc/grub-mkrescue.in: Remove.
25472
8d0edf4a
RM
254732009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25474
25475 * include/grub/multiboot.h (struct grub_multiboot_header): Move
25476 from here ...
25477 * include/multiboot.h (struct multiboot_header): ... to here. Update
25478 all users.
25479 * include/grub/multiboot.h (struct grub_multiboot_info): Move
25480 from here ...
25481 * include/multiboot.h (struct multiboot_info): ... to here. Update
25482 all users.
25483 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
25484 from here ...
25485 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
25486 Update all users.
25487 * include/grub/multiboot.h (struct grub_mod_list): Move
25488 from here ...
25489 * include/multiboot.h (struct multiboot_mod_list): ... to here.
25490 Update all users.
25491
a73f5969
RM
254922009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25493
25494 * include/multiboot2.h (multiboot_word): Rename from this ...
25495 (multiboot2_word): ... to this. Update all users.
25496 (multiboot_header): Rename from this ...
25497 (multiboot2_header): ... to this. Update all users.
25498 (multiboot_tag_header): Rename from this ...
25499 (multiboot2_tag_header): ... to this. Update all users.
25500 (multiboot_tag_start): Rename from this ...
25501 (multiboot2_tag_start): ... to this. Update all users.
25502 (multiboot_tag_name): Rename from this ...
25503 (multiboot2_tag_name): ... to this. Update all users.
25504 (multiboot_tag_module): Rename from this ...
25505 (multiboot2_tag_module): ... to this. Update all users.
25506 (multiboot_tag_memory): Rename from this ...
25507 (multiboot2_tag_memory): ... to this. Update all users.
25508 (multiboot_tag_unused): Rename from this ...
25509 (multiboot2_tag_unused): ... to this. Update all users.
25510 (multiboot_tag_end): Rename from this ...
25511 (multiboot2_tag_end): ... to this. Update all users.
25512
1c8927f0
RM
255132009-11-13 Robert Millan <rmh.grub@aybabtu.com>
25514
25515 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
25516 this platform we should support Multiboot1 first.
25517
25518 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25519 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
25520 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
25521
6e1e0d89
RM
255222009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25523
25524 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
25525 of write calls (converting them to fwrite() if they aren't already).
25526 (get_torito_desc): Likewise.
25527 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
25528
7f2b34d8
RM
255292009-11-12 Robert Millan <rmh.grub@aybabtu.com>
25530
25531 * util/i386/pc/grub-install.in: Move from here ...
25532 * util/grub-install.in: ... to here. Update all users.
25533
c0ef3311
CW
255342009-11-11 Colin Watson <cjwatson@ubuntu.com>
25535
25536 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
25537
e1f240ff
RM
255382009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25539
25540 Support for El Torito without floppy emulation.
25541
25542 * util/mkisofs/eltorito.c: Include `<errno.h>'.
25543 (init_boot_catalog): Improve error handling.
25544 (get_torito_desc): Don't use floppy emulation unless requested by
25545 user. Patch boot information table when requested via
25546 `-boot-info-table'.
25547 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
25548 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
25549 (use_boot_info_table): New variables.
25550 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
25551 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
25552 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
25553 `--eltorito-emul-floppy'.
25554 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
25555 and `OPTION_ELTORITO_EMUL_FLOPPY'.
25556 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
25557 (use_boot_info_table, get_731): New prototypes.
25558 * util/mkisofs/write.c (get_731): New function.
25559
af7d4de5
FZ
255602009-11-11 Felix Zielcke <fzielcke@z-51.de>
25561
25562 Fix the generation of the man page.
25563
25564 * util/pc/i386/grub-install.in: Source
25565 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25566
2c55dbc0
RM
255672009-11-11 Robert Millan <rmh.grub@aybabtu.com>
25568
25569 Large file support for grub-mkisofs.
25570
25571 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
25572 * util/mkisofs/mkisofs.c (next_extent, last_extent)
25573 (session_start): Upgrade type to `uint64_t'. Update all users.
25574 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
25575 (struct directory_entry): Upgrade type of `starting_block' and
25576 `size' to `uint64_t'. Update all users.
25577 (struct deferred): Remove unused structure.
25578 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
25579 Update all users.
25580 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
25581 file is larger than `UINT32_MAX'.
25582 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
25583 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
25584 return value.
25585 (struct deferred_write): Upgrade type of `extent' and `size' to
25586 `uint64_t'. Update all users.
25587 (last_extent_written): Upgrade type to `uint64_t'. Update all
25588 users.
25589 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
25590 Update all users. Upgrade type of `remain' to `int64_t' and
25591 `use' to `size_t'. Use error() to handle fread() errors.
25592 (write_files): Rely on write_one_file() rather than calling
25593 xfwrite() directly.
25594
6a9cead5
FZ
255952009-11-09 Felix Zielcke <fzielcke@z-51.de>
25596
25597 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
25598
4825d790
RM
255992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25600
25601 * util/mkisofs/fnmatch.c: Remove.
25602 * util/mkisofs/getopt1.c: Likewise.
25603 * util/mkisofs/getopt.c: Likewise.
25604 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
25605 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
25606 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
25607 `gnulib/getopt1.c' and `gnulib/getopt.c'.
25608 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
25609
25610 * configure.ac: Detect `mingw32msvc' host_os.
25611 Check for lstat(), getuid() and getgid().
25612
25613 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
25614 instances of `u_char' with `uint8_t'.
25615
25616 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
25617 [!HAVE_GETUID] (getuid): New function (stub).
25618 [!HAVE_GETGID] (getgid): Likewise.
25619 [!HAVE_LSTAT] (lstat): Likewise.
25620 [!S_IROTH] (S_IROTH): New macro (dummy).
25621 [!S_IRGRP] (S_IRGRP): Likewise.
25622
84b860d8
RM
256232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25624
25625 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
25626 conditional expression).
25627
66e9b712
RM
256282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25629
25630 Import from Gnulib.
25631
25632 * gnulib/fnmatch.c: New file.
25633 * gnulib/fnmatch.h: Likewise.
25634 * gnulib/fnmatch_loop.c: Likewise.
25635 * gnulib/getopt.c: Likewise.
25636 * gnulib/getopt.h: Likewise.
25637 * gnulib/getopt1.c: Likewise.
25638 * gnulib/getopt_int.h: Likewise.
25639 * gnulib/gettext.h: Likewise.
25640
34f4a5b0
RM
256412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25642
25643 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
25644 * normal/handler.c (read_handler_list): Likewise.
25645
ac451143
RM
256462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25647
25648 Misc cleanup.
25649
25650 * kern/command.c (grub_register_command_prio): Use
25651 grub_zalloc() instead of explicitly zeroing data.
25652 * kern/list.c: Include `<grub/mm.h>'.
25653 (grub_named_list_find): Replace `0' with `NULL'.
25654 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
25655 (fs_module_list): Change type to `grub_named_list_t'. Update all
25656 users.
25657 * normal/dyncmd.c (read_command_list): Add space between function
25658 call and parenthesis.
25659 * normal/handler.c (read_handler_list): Likewise.
25660
4089b167
RM
256612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25662
25663 * normal/auth.c (punishment_delay): Moved from here ...
25664 (grub_auth_strcmp): ... to here (inside function).
25665
325f5037
RM
256662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25667
25668 * include/grub/list.h (struct grub_named_list): Remove `const'
25669 qualifier from `name'.
25670 (struct grub_prio_list): Likewise.
25671
7aea29a3
RM
256722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25673
25674 * normal/auth.c: Include `<grub/time.h>'.
25675 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
25676
3fd6f044
RM
256772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25678
25679 * normal/auth.c (punishment_delay): New variable.
25680 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
25681 (grub_auth_check_authentication): Punish failed login attempts with
25682 an incremental (2^N) delay.
25683
a4cd68e4
RM
256842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25685
25686 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
25687 path with $(srcdir).
25688
7ad12f43
VS
256892009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25690
25691 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
25692
c1129f03
RM
256932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
25694
25695 * util/i386/coreboot/grub-mkrescue.in: New file.
25696 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
25697 variables.
25698
25699 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
25700 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
25701 * configure.ac: Add header and function checks to satisfy grub-mkisofs
25702 requirements.
25703 * util/mkisofs/defaults.h: New file.
25704 * util/mkisofs/eltorito.c: Likewise.
25705 * util/mkisofs/exclude.h: Likewise.
25706 * util/mkisofs/fnmatch.c: Likewise.
25707 * util/mkisofs/getopt.c: Likewise.
25708 * util/mkisofs/getopt1.c: Likewise.
25709 * util/mkisofs/hash.c: Likewise.
25710 * util/mkisofs/include/fctldefs.h: Likewise.
25711 * util/mkisofs/include/mconfig.h: Likewise.
25712 * util/mkisofs/include/prototyp.h: Likewise.
25713 * util/mkisofs/include/statdefs.h: Likewise.
25714 * util/mkisofs/iso9660.h: Likewise.
25715 * util/mkisofs/joliet.c: Likewise.
25716 * util/mkisofs/match.c: Likewise.
25717 * util/mkisofs/match.h: Likewise.
25718 * util/mkisofs/mkisofs.c: Likewise.
25719 * util/mkisofs/mkisofs.h: Likewise.
25720 * util/mkisofs/multi.c: Likewise.
25721 * util/mkisofs/name.c: Likewise.
25722 * util/mkisofs/rock.c: Likewise.
25723 * util/mkisofs/tree.c: Likewise.
25724 * util/mkisofs/write.c: Likewise.
25725
ec8bb77d
VS
257262009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
25727
25728 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
25729 being insecure.
25730
3716b12c
RM
257312009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25732
25733 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
25734 `grub-mkimage' (and use $0 when possible).
25735
b97b7b91
RM
257362009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25737
25738 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
25739 error message for excessively large memory map.
25740
04114812
RM
257412009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25742
25743 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
25744 executable bit.
25745
e4eb2373
RM
257462009-11-08 Robert Millan <rmh.grub@aybabtu.com>
25747
25748 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
25749 message for coreboot users.
25750
c926e1d5 257512009-11-07 Robert Millan <rmh.grub@aybabtu.com>
25752
25753 Fix build with GNU gold.
25754
25755 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
25756 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
25757 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
25758 link addresses.
25759 * aclocal.m4: Likewise.
25760
86e5b1db 257612009-11-04 Felix Zielcke <fzielcke@z-51.de>
25762
25763 * configure.ac (AC_PREREQ): Bump to 2.59d.
25764 * INSTALL: Make it more clear when Autoconf and Ruby are
25765 needed and when to run `./autogen.sh'.
25766
246cd78f 257672009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
25768
25769 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
25770 OSes.
25771
4f9dfb37 257722009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25773
25774 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
25775
b82bd5e1 257762009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25777
25778 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
25779 giving it to GNU Mach.
25780
ff1a9bca 257812009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25782
25783 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
25784 GNU partition number to get internal GRUB partition number.
25785
61697d9c 257862009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
25787
25788 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
25789 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
25790
a50569e1 257912009-11-01 Robert Millan <rmh.grub@aybabtu.com>
25792
25793 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
25794 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
25795 case.
25796
5b153867 257972009-11-01 Felix Zielcke <fzielcke@z-51.de>
25798
25799 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
25800
d9e2cd70 258012009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25802
25803 Fix build problem.
25804
25805 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
25806 `-isystem=$(srcdir)/include'.
25807
805111a4 258082009-10-30 Robert Millan <rmh.grub@aybabtu.com>
25809
25810 * util/i386/pc/grub-install.in: Remove hint that device.map should be
25811 checked (grub-install doesn't currently rely on it).
25812
fa6e945f 258132009-10-29 Robert Millan <rmh.grub@aybabtu.com>
25814
25815 Revert SVN r2660.
25816
25817 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
25818 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25819 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
25820 * conf/i386-ieee1275.rmk: Likewise.
25821 * conf/i386-pc.rmk: Likewise.
25822 * conf/powerpc-ieee1275.rmk: Likewise.
25823 * conf/sparc64-ieee1275.rmk: Likewise.
25824 * conf/x86_64-efi.rmk: Likewise.
25825
cee15086 258262009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25827
25828 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
25829
95b9239e 258302009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25831
25832 * include/grub/misc.h: Stop checking for APPLE_CC.
25833
2ed19dfd 258342009-10-28 Robert Millan <rmh.grub@aybabtu.com>
25835
25836 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
25837 doesn't cause an infinite call loop.
25838
fdcdde19 258392009-10-28 Felix Zielcke <fzielcke@z-51.de>
25840
25841 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
25842 strings.
25843
cefabfe1 258442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25845
25846 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
25847 variable.
25848 * Makefile.in: Likewise.
25849
ed96ab6d 258502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25851
25852 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
25853
0579b753 258542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25855
25856 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
25857
478df409 258582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25859
25860 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
25861
083d1679 258622009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25863
25864 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
25865 from here ...
25866 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
25867
5947ae32 258682009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25869
25870 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
25871 in $(MAKEINFO) invocation. This makes it clear in output that
25872 errors are being ignored.
25873
94180ff6 258742009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25875
25876 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
25877 from here ...
25878 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
25879 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
25880 * conf/i386-ieee1275.rmk: Likewise.
25881 * conf/i386-pc.rmk: Likewise.
25882 * conf/powerpc-ieee1275.rmk: Likewise.
25883 * conf/sparc64-ieee1275.rmk: Likewise.
25884 * conf/x86_64-efi.rmk: Likewise.
25885
9031b03a 258862009-10-26 Colin Watson <cjwatson@ubuntu.com>
25887
25888 * util/grub-editenv.c (main): If only a command is given, use
25889 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
25890 (usage): FILENAME is now optional and has a default.
25891
e4f6809b 258922009-10-26 Colin Watson <cjwatson@ubuntu.com>
25893
25894 Improve grub-mkconfig performance when there are several menu
25895 entries on a single filesystem.
25896
25897 * util/grub.d/10_linux.in (linux_entry): Cache the output of
25898 prepare_grub_to_access_device.
25899 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25900 * util/grub.d/30_os-prober.in: Likewise.
25901
67937d4d 259022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25903
25904 * util/grub.d/10_freebsd.in: Remove.
25905 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
25906 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
25907
ee3756cc 259082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
25909
5c35048e 25910 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 25911
4dea1c6f 259122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25913
25914 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
25915 grub_util_error() call.
25916
042484d7 259172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25918
25919 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
25920 `reserved_first_sector' member.
25921 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
25922 `reserved_first_sector' to 1.
25923 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
25924 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
25925 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
25926 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
25927 filesystems which begin at first sector.
25928 (options): New option --skip-fs-probe.
25929 (main): Handle --skip-fs-probe and pass it to setup().
25930
d64448a7 259312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25932
25933 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
25934 (memset): Fix function prototype.
25935
508d42ec 259362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
259372009-10-25 Vasily Averin <vvs@parallels.com>
25938
25939 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
25940 `dirent.direntlen == 0'.
25941
b240e30c 259422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25943
25944 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
25945 `cpio'.
25946 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
25947
346e7fbe 259482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25949
25950 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
25951 `__trampoline_setup' and `__ucmpdi2'.
25952 * include/grub/powerpc/libgcc.h: Only export symbols for functions
25953 that libgcc provides.
25954
cdb308b0 259552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25956
25957 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
25958 * include/grub/sparc64/libgcc.h (memset): Likewise.
25959 * include/grub/misc.h (memset, memcmp): New function prototypes.
25960
fb26abc2 259612009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25962
25963 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
25964 `cpio'.
25965 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
25966
f6693890 259672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
25968
25969 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
25970 * docs/grub.cfg: Compensate for recent change in multiboot
25971 loader (since 2009-08-14 it won't pass filename to payload).
25972 * util/grub.d/10_hurd.in: Likewise.
25973
0933cdc0 259742009-10-21 Felix Zielcke <fzielcke@z-51.de>
25975
25976 * config.guess: Update to latest version from config git
25977 repository.
25978 * config.sub: Likewise.
25979
3b2fe8c2 259802009-10-20 Robert Millan <rmh.grub@aybabtu.com>
25981
25982 Fix build on sparc64.
25983
25984 * configure.ac: Perform checks for libgcc symbols before
25985 adding `-nostdlib' to LDFLAGS.
25986
46695a62 259872009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
25988
25989 Let user specify OpenBSD root device.
25990
25991 * loader/i386/bsd.c (openbsd_root): New variable.
25992 (openbsd_opts): New option 'root'.
25993 (OPENBSD_ROOT_ARG): New macro.
25994 (grub_openbsd_boot): Use 'openbsd_root'.
25995 (grub_cmd_openbsd): Fill 'openbsd_root'.
25996
d2b6b7fc 259972009-10-16 Robert Millan <rmh.grub@aybabtu.com>
25998
25999 * NEWS: Misc adjustments.
26000
421bd7ac 260012009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26002
26003 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26004
f1d29d87 260052009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26006
26007 * configure.ac: Bump version to 1.97.
26008
6f3cd880 260092009-10-16 Colin Watson <cjwatson@ubuntu.com>
26010
26011 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26012 -mno-3dnow on x86 architectures. Some toolchains enable these
26013 features by default, but they rely on registers that aren't enabled
26014 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26015
035f7122 260162009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26017
26018 Make entry text a bit more readable.
26019
26020 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26021
44998e58 260222009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26023
26024 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26025
cd2851b3 260262009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26027
26028 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26029 operations.
26030
c6f3b249 260312009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26032
26033 * configure.ac: Add missing dollar.
26034
6b5886ba 260352009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26036
26037 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26038
26039 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26040 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26041 exports.
26042 * include/grub/sparc64/libgcc.h: Likewise. Use
26043 preprocessor conditionals.
26044
e9d66f6d 260452009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26046
26047 * conf/common.rmk (grub-dumpbios): Remove rule.
26048 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26049 * util/grub-dumpbios.in: Remove file.
26050
9155bc17 260512009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26052
26053 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26054 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26055
26056 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26057 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26058 users.
26059
26060 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26061 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26062 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26063 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26064 users.
26065
bf7f7a18 260662009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26067
26068 * term/tparm.c: Switch to GPLv3.
26069
86564c26 260702009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26071
26072 * include/grub/i386/cpuid.h: Add header protection.
26073
5c936493 260742009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26075
26076 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26077
26078 * include/grub/i386/cpuid.h: New file.
26079 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26080 (has_longmode): Rename to ...
26081 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26082 `static' attribute.
26083 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26084 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26085 on a CPU that doesn't implement AMD64 instruction set.
26086
186e7cf2 260872009-10-06 Colin Watson <cjwatson@ubuntu.com>
26088
26089 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26090 that version.texi is rebuilt on version number changes.
26091
83b65c4a 260922009-10-06 Colin Watson <cjwatson@ubuntu.com>
26093
26094 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26095 Fixes bug #27602.
26096
d244281c 260972009-10-06 Colin Watson <cjwatson@ubuntu.com>
26098
26099 * util/i386/pc/grub-install.in: Source
26100 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26101 that the --grub-probe option will work.
26102 * util/sparc64/ieee1275/grub-install.in: Likewise.
26103
da25306d 261042009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26105
26106 * configure.ac: Bump version to 1.97~beta4.
26107
e8ee83c0 261082009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26109
26110 Resync grub-mkdevicemap in x86_64-efi.
26111
26112 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26113 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26114 `util/devicemap.c'.
26115
50dcabcf 261162009-10-01 Colin Watson <cjwatson@ubuntu.com>
26117
26118 * util/grub-editenv.c (create_envblk_file): Write new block with a
26119 .new suffix and then rename it into place, to ensure atomic
26120 creation.
26121
0e51c3a7 261222009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26123
26124 Do not automatically install headers.
26125
26126 * Makefile.in (include_DATA): Remove. Update all users.
26127
31299a95 261282009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26129
26130 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26131 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26132
26133 * util/osdetect.lua: Remove.
26134 * script/lua/lauxlib.c: Likewise.
26135 * script/lua/ldebug.c: Likewise.
26136 * script/lua/grub_main.c: Likewise.
26137 * script/lua/lauxlib.h: Likewise.
26138 * script/lua/ldebug.h: Likewise.
26139 * script/lua/ltablib.c: Likewise.
26140 * script/lua/liolib.c: Likewise.
26141 * script/lua/lstrlib.c: Likewise.
26142 * script/lua/lualib.h: Likewise.
26143 * script/lua/ldo.c: Likewise.
26144 * script/lua/ldump.c: Likewise.
26145 * script/lua/ldo.h: Likewise.
26146 * script/lua/loslib.c: Likewise.
26147 * script/lua/lundump.c: Likewise.
26148 * script/lua/grub_lib.c: Likewise.
26149 * script/lua/ldblib.c: Likewise.
26150 * script/lua/lundump.h: Likewise.
26151 * script/lua/lmem.c: Likewise.
26152 * script/lua/grub_lib.h: Likewise.
26153 * script/lua/lmathlib.c: Likewise.
26154 * script/lua/lstate.c: Likewise.
26155 * script/lua/ltm.c: Likewise.
26156 * script/lua/lvm.c: Likewise.
26157 * script/lua/lmem.h: Likewise.
26158 * script/lua/lstate.h: Likewise.
26159 * script/lua/ltm.h: Likewise.
26160 * script/lua/ltable.c: Likewise.
26161 * script/lua/lvm.h: Likewise.
26162 * script/lua/llex.c: Likewise.
26163 * script/lua/lgc.c: Likewise.
26164 * script/lua/grub_lua.h: Likewise.
26165 * script/lua/loadlib.c: Likewise.
26166 * script/lua/lfunc.c: Likewise.
26167 * script/lua/lopcodes.c: Likewise.
26168 * script/lua/lparser.c: Likewise.
26169 * script/lua/ltable.h: Likewise.
26170 * script/lua/llex.h: Likewise.
26171 * script/lua/lgc.h: Likewise.
26172 * script/lua/lfunc.h: Likewise.
26173 * script/lua/lbaselib.c: Likewise.
26174 * script/lua/lopcodes.h: Likewise.
26175 * script/lua/lparser.h: Likewise.
26176 * script/lua/lzio.c: Likewise.
26177 * script/lua/linit.c: Likewise.
26178 * script/lua/lobject.c: Likewise.
26179 * script/lua/llimits.h: Likewise.
26180 * script/lua/lstring.c: Likewise.
26181 * script/lua/lzio.h: Likewise.
26182 * script/lua/lapi.c: Likewise.
26183 * script/lua/lcode.c: Likewise.
26184 * script/lua/lua.h: Likewise.
26185 * script/lua/lobject.h: Likewise.
26186 * script/lua/lstring.h: Likewise.
26187 * script/lua/lapi.h: Likewise.
26188 * script/lua/lcode.h: Likewise.
26189 * script/lua/luaconf.h: Likewise.
26190
cb8a2c38 261912009-09-26 Colin Watson <cjwatson@ubuntu.com>
26192
26193 * docs/grub.texi (Command-line and menu entry commands): Document
26194 date and echo commands.
26195
6b9b6276 261962009-09-24 Pavel Roskin <proski@gnu.org>
26197
26198 * include/grub/kernel.h (struct grub_module_header): Remove
26199 `grub_module_header_types'. Make `type' unsigned. Make `size'
26200 32-bit on all platforms.
26201 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26202 8-bit field. Use grub_host_to_target32() for `size'.
26203 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26204 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26205 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26206
4e5a02a7 262072009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26208
26209 Fix "lost keypress" bug in at_keyboard.
26210
26211 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26212 Checks for readyness of input buffer (without flushing it).
26213 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26214 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26215
c6dcedf6 262162009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26217
26218 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26219 size check within GRUB_MACHINE_PCBIOS section.
26220
74c958b1 262212009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26222
26223 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26224 return value.
26225 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26226 KEYBOARD_ISREADY check.
26227 (grub_at_keyboard_checkkey): Rename to ...
26228 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26229 Remove gratuitous cast.
26230
ff420223 262312009-09-23 Colin Watson <cjwatson@ubuntu.com>
26232
26233 * configure.ac: Call AC_PROG_MKDIR_P.
26234 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26235 version.texi in $(builddir) rather than $(srcdir).
26236 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26237 to makeinfo's @include search path.
26238
d96875df 262392009-09-23 Felix Zielcke <fzielcke@z-51.de>
26240
26241 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
26242
9b3f8365 262432009-09-23 Felix Zielcke <fzielcke@z-51.de>
26244
26245 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
26246 for `*.dpkg-new'.
26247
c44c90db 262482009-09-21 Colin Watson <cjwatson@ubuntu.com>
26249
26250 Build info documentation. Some code borrowed from Automake.
26251
26252 * configure.ac: Check for makeinfo.
26253 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
26254 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
26255 docs/version.texi.
26256 (MOSTLYCLEANFILES): Add vti.tmp.
26257 (docs/version.texi, docs/stamp-vti): Update automatically.
26258 (docs/grub.info): Build info documentation. Use --force and ignore
26259 errors for now.
26260 (all-local): Add $(INFOS).
26261 (install-local): Install info files.
26262 (uninstall): Uninstall info files.
26263 * docs/version.texi: Remove from revision control. This file is
26264 automatically generated on build now.
26265 * gendistlist.sh: Add `*.info'.
26266
e0b37bb5 262672009-09-21 Felix Zielcke <fzielcke@z-51.de>
26268
26269 * kern/term.c: Fix indentation.
26270
5a78865b 262712009-09-21 Felix Zielcke <fzielcke@z-51.de>
26272
26273 * util/hostdisk.c: Fix a comment.
26274
dace7e8a 262752009-09-20 Robert Millan <rmh.grub@aybabtu.com>
26276
26277 Fix regression introduced in r2539.
26278
26279 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
26280 to 0xA1.
26281
a83d079b 262822009-09-19 Colin Watson <cjwatson@ubuntu.com>
26283
26284 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 26285 os-prober. Under normal operation, it does not print anything to
26286 stderr; if it does, we need to debug it, and throwing away stderr
26287 makes that excessively difficult.
a83d079b 26288
be94a509 262892009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
26290
26291 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
26292
63f745e8 262932009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26294
26295 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
26296 AC_LANG_PROGRAM from autoconf.
26297 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
26298 prototypes (fixes warning).
26299
26300 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
26301 `--disable-werror' was used.
26302
bbb2a70f 263032009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26304
26305 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
26306 uninitialized `lastaddr'.
26307
77c24f1d 263082009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
26309
0f0b8c87 26310 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 26311
07197f23 263122009-09-14 Colin Watson <cjwatson@ubuntu.com>
26313
26314 * commands/test.c (get_fileinfo): Return immediately if
26315 grub_fs_probe fails.
26316
dabf1798 263172009-09-14 José Martínez <xosemp@gmail.com>
26318
26319 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
26320
d52109a7 263212009-09-14 Colin Watson <cjwatson@ubuntu.com>
26322
26323 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
26324 output.
26325
56532179 263262009-09-13 Robert Millan <rmh.grub@aybabtu.com>
26327
26328 * configure.ac: Remove --enable-grub-pe2elf. Only build
26329 grub-pe2elf when needed by the build system itself.
26330 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
26331
8ef070f5 263322009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26333
26334 * configure.ac: Bump version to 1.97~beta3.
26335 * docs/version.texi: Likewise.
26336
61229557 263372009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26338
26339 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
26340 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
26341 from here ...
26342 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
26343 (grub_linux_setup_video): ... to here (with some adjustments).
26344
5c9f8d84 263452009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26346
26347 Fix memory corruption issue (spotted by Colin Watson).
26348
26349 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
26350 causing returned size to be stored in an incorrect memory location.
26351 Fix use of uninitialized value when storing the returned size.
26352
e8f5d6e9 263532009-09-12 Yves Blusseau <blusseau@zetam.org>
26354
26355 Change clean rules to properly remove files
26356
26357 * genmk.rb: add new clean rules
26358 * Makefile.in (clean): add the new targets
26359 (mostlyclean): likewise
26360
cda2a409 263612009-09-11 Colin Watson <cjwatson@ubuntu.com>
26362
26363 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
26364 to grub_uint64_t.
26365 * fs/ntfs.c (init_file): Understand 64-bit sizes for
26366 non-resident files.
26367
86695375 263682009-09-11 Colin Watson <cjwatson@ubuntu.com>
26369
26370 * configure.ac: Don't look for help2man when cross-compiling. Fixes
26371 part of bug #27349.
26372
8aa1541a 263732009-09-10 Felix Zielcke <fzielcke@z-51.de>
26374
26375 * util/grub-mkconfig.in: Make the created config mode 400 and
26376 print a warning if it fails.
26377
48d9bb0a 263782009-09-10 Robert Millan <rmh.grub@aybabtu.com>
26379
26380 * util/grub.d/40_custom.in: Ask user to type custom entries below
26381 comment, rather than below 'exec tail' line.
26382
3b0521be 263832009-09-10 Colin Watson <cjwatson@ubuntu.com>
26384
26385 * util/grub.d/40_custom.in: Make sure that the explanatory text is
26386 visible in grub.cfg.
26387
50051d55 263882009-09-10 Colin Watson <cjwatson@ubuntu.com>
26389
26390 * util/grub.d/40_custom.in: Make it a little clearer how to use this
26391 file.
26392
c0d34387 263932009-09-10 Felix Zielcke <fzielcke@z-51.de>
26394
26395 * docs/grub.cfg: Add an example menu entry for memtest86+.
26396
80a608f3 263972009-09-09 Felix Zielcke <fzielcke@z-51.de>
26398
a2094832 26399 * config.guess: Update to latest version from config git.
80a608f3 26400 * config.sub: Likewise.
26401
99423078 264022009-09-08 Colin Watson <cjwatson@ubuntu.com>
26403
26404 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
26405 unknown-command case. Fixes bug #27320.
26406
44454e4c 264072009-09-08 Felix Zielcke <fzielcke@z-51.de>
26408
26409 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
26410 `help' if the command exists.
26411
e30d87ad 264122009-09-06 Robert Millan <rmh.grub@aybabtu.com>
26413
26414 * INSTALL: Require GCC 4.1.3 or later.
26415
9a86f1ec 264162009-09-06 Yves Blusseau <blusseau@zetam.org>
26417
26418 * Makefile.in (RMKFILES): add i386-qemu.rmk
26419 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
26420 $(srcdir)/stamp-h.in
26421
7f26d466 264222009-09-05 Robert Millan <rmh.grub@aybabtu.com>
26423
26424 * util/grub-probe.c (probe): Comment out buggy codepath, which
26425 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
26426 should be re-enabled after 1.97.
26427
3a613259 264282009-09-05 Felix Zielcke <fzielcke@z-51.de>
26429
26430 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
26431 find searches for.
26432
197f76c7 264332009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
26434
26435 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
26436 unnecessary calls to grub_error.
26437
70ba68ce 264382009-09-04 Colin Watson <cjwatson@ubuntu.com>
26439
26440 * NEWS: Mention `keystatus' and Unicode fonts.
26441
4ff0d7a4 264422009-09-04 Robert Millan <rmh.grub@aybabtu.com>
26443
26444 * configure.ac: Bump version to 1.97~beta2.
26445 * docs/version.texi: Likewise.
26446
77c55a87 264472009-09-03 Colin Watson <cjwatson@ubuntu.com>
26448
26449 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
26450 containing unwind information in some cases where it previously did
26451 not. Use -fno-dwarf2-cfi-asm if available to restore the old
26452 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
26453 discussion.
26454
f79572cd 264552009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
26456
26457 Embedding loadenv module into grub-emu
26458
26459 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
26460 commands/loadenv.c
26461 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
26462 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
26463 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
26464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
26465 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
26466 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
26467
93a81088 264682009-09-03 Magnus Granberg <zorry@ume.nu>
26469
26470 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
26471 include -fPIE in the default specs.
26472 * configure.ac: Check if pie_possible is yes and add -fno-PIE
26473 to TARGET_CFLAGS.
26474
160034b2 264752009-09-03 Felix Zielcke <fzielcke@z-51.de>
26476
26477 * INSTALL: Note that GNU Bison 2.3 or later is required.
26478
087c07c4 264792009-09-03 Colin Watson <cjwatson@ubuntu.com>
26480
26481 * kern/i386/pc/startup.S: Fix typo.
26482
cbf978c0 264832009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
26484
26485 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
26486 according to GCS.
26487
264882009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 26489
26490 * docs/grub.texi (Naming convention): Describe one-based partition
26491 numbering.
26492 (Device syntax): Likewise.
26493 (File name syntax): Likewise.
26494 (Block list syntax): Likewise.
26495 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
26496 menu.lst.
26497 (File name syntax): Likewise.
26498 (Command-line and menu entry commands): Document acpi, blocklist,
26499 crc, export, insmod, keystatus, ls, set, and unset commands.
26500
f3e8cdfd 265012009-09-02 Colin Watson <cjwatson@ubuntu.com>
26502
26503 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
26504 to avoid implying that only one of --shift, --ctrl, or --alt may be
26505 used.
26506
c0bc232b 265072009-09-02 Colin Watson <cjwatson@ubuntu.com>
26508
26509 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
26510 rather than comparing against S_IFREG, which will almost never work.
26511
aa0f752d 265122009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
26513
26514 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
26515 (write_blocklists): Likewise.
26516
ecb3166a 265172009-09-01 Colin Watson <cjwatson@ubuntu.com>
26518
26519 * script/lua/grub_lua.h (fputs): Supply a format string as the first
26520 argument to grub_printf.
26521
c403a125 265222009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 26523
26524 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 26525 non GNU test.
31aba781 26526
b5e7312c 265272009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26528
26529 * kern/file.c (grub_file_read): Spelling fix
26530
fe00f472 265312009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
26532
26533 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
26534 loading of headers in some cases.
26535
cc55302e 265362009-08-30 Robert Millan <rmh.grub@aybabtu.com>
26537
26538 * configure.ac: Bump version to 1.97~beta1.
26539 * docs/version.texi: Likewise.
26540
5c90cdd2 265412009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 26542
26543 * include/grub/i386/xnu.h: Add license header.
26544 include grub/err.h explicitly.
26545
c90edae4 265462009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26547
26548 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
26549 to `ufs' in the vfs.root.mountfrom kernel parameter.
26550
d8888b5c 265512009-08-29 Robert Millan <rmh.grub@aybabtu.com>
26552
26553 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
26554
26555 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
26556 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
26557
26558 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
26559 `ARRAY_SIZE' macro.
26560
6f07b921 265612009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26562
26563 * kern/file.c (grub_file_read): Check offset.
26564 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
26565 * fs/jfs.c (grub_jfs_read_file): Likewise.
26566 * fs/ntfs.c (grub_ntfs_read): Likewise.
26567 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
26568 * fs/minix.c (grub_minix_read_file): Correct offset check.
26569 * fs/ufs.c (grub_ufs_read_file): Likewise.
26570
b4f34077 265712009-08-28 Colin Watson <cjwatson@ubuntu.com>
26572
26573 * term/i386/pc/console.c (bios_data_area): Cast
26574 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
26575
e7c69859 265762009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26577
26578 1-bit optimised blitters.
26579
26580 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
26581 prototype.
26582 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26583 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26584 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26585 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26586 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26587 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26588 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
26589 function.
26590 (grub_video_fbblit_replace_24bit_1bit): Likewise.
26591 (grub_video_fbblit_replace_16bit_1bit): Likewise.
26592 (grub_video_fbblit_replace_8bit_1bit): Likewise.
26593 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
26594 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
26595 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
26596 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
26597 when possible.
26598 * video/video.c (grub_video_get_blit_format): Return
26599 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
26600
a57da43f 266012009-08-28 Colin Watson <cjwatson@ubuntu.com>
26602
26603 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
26604 the first argument to grub_printf.
26605
4cbe67e5 266062009-08-28 Colin Watson <cjwatson@ubuntu.com>
266072009-08-28 Robert Millan <rmh.grub@aybabtu.com>
26608
26609 Add `getkeystatus' terminal method. Add a new `keystatus' command
26610 to query it.
26611
26612 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
26613 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
26614 modifier key bitmasks.
26615 (struct grub_term_input): Add `getkeystatus' member.
26616 (grub_getkeystatus): Add prototype.
26617 * kern/term.c (grub_getkeystatus): New function.
26618
26619 * include/grub/i386/pc/memory.h
26620 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
26621 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
26622 Data Area layout.
26623 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
26624 (grub_console_term_input): Set `getkeystatus' member.
26625 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
26626 constants.
26627 (grub_usb_keyboard_getreport): Likewise.
26628 (grub_usb_keyboard_checkkey): Likewise.
26629 (grub_usb_keyboard_getkeystatus): New function.
26630 (grub_usb_keyboard_term): Set `getkeystatus' member.
26631
26632 * commands/keystatus.c: New file.
26633 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
26634 (keystatus_mod_SOURCES): New variable.
26635 (keystatus_mod_CFLAGS): Likewise.
26636 (keystatus_mod_LDFLAGS): Likewise.
26637 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
26638 commands/keystatus.c.
26639 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26640 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26641 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26643 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26644 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 26645
6e2a9085 266462009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
26647
26648 Split befs.mod and afs.mod into *_be.mod and *.mod
26649
26650 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
26651 (grub_fstest_SOURCES): Likewise.
26652 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
26653 (afs_be_mod_SOURCES): New variable.
26654 (afs_be_mod_CFLAGS): Likewise.
26655 (afs_be_mod_LDFLAGS): Likewise.
26656 (befs_be_mod_SOURCES): Likewise.
26657 (befs_be_mod_CFLAGS): Likewise.
26658 (befs_be_mod_LDFLAGS): Likewise.
26659 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
26660 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26661 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26662 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26663 (grub_emu_SOURCES): Likewise.
26664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26665 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26666 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26667 * fs/afs_be.c: New file.
26668 * fs/befs_be.c: New file.
26669 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
26670 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
26671 (U16): Replaced with ...
26672 (grub_afs_to_cpu16): ...this. All users updated.
26673 (U32): Replaced with ...
26674 (grub_afs_to_cpu32): ...this. All users updated.
26675 (U64): Replaced with ...
26676 (grub_afs_to_cpu64): ...this. All users updated.
26677 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
26678 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 26679 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 26680 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26681 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26682 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26683 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26684 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
26685 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
26686 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
26687 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
26688
32a71655 266892009-08-26 Bean <bean123ch@gmail.com>
26690
26691 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
26692 64-bit number.
26693 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
26694 (grub_xfs_inode_block): Change return type to grub_uint64_t.
26695 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
26696
552bf6c5 266972009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26698
26699 NetBSD memory map support.
26700
26701 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
26702 (grub_netbsd_btinfo_mmap_header): New structure.
26703 (grub_netbsd_btinfo_mmap_entry): Likewise.
26704 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
26705
1ae2078c 267062009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26707
26708 Enable bsd.mod on coreboot.
26709
26710 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
26711 (bsd_mod_SOURCES): New variable.
26712 (bsd_mod_CFLAGS): Likewise.
26713 (bsd_mod_LDFLAGS): Likewise.
26714 (bsd_mod_ASFLAGS): Likewise.
26715 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
26716 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
26717
beefc598 267182009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26719
26720 Cleanup NetBSD root support.
26721
26722 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
26723 grub_bsd_get_device.
26724 Fix typo.
26725
3b76e68b 267262009-08-25 Felix Zielcke <fzielcke@z-51.de>
26727
26728 * util/grub.d/00_header.in: Move check for the video backend of
26729 gfxterm from here ...
26730 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
26731 a suitable video backend.
26732
aea664ea 267332009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26734
26735 Fix breakage in grub-setup.
26736
26737 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
26738 "msdos_partition_map".
26739
ff747d50 267402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26741
26742 Fix breakage in normal/auth.c.
26743
26744 * normal/auth.c (grub_iswordseparator): New function.
26745
e7e1f93f 267462009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
26747
26748 Authentication support.
26749
26750 * commands/password.c: New file.
26751 * conf/common.rmk (pkglib_MODULES): Add password.mod.
26752 (password_mod_SOURCES): New variable.
26753 (password_mod_CFLAGS): Likewise.
26754 (password_mod_LDFLAGS): Likewise.
26755 (normal_mod_SOURCES): Add normal/auth.c.
26756 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
26757 normal/auth.c.
26758 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26759 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26760 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26762 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26763 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26764 * include/grub/auth.h: New file.
26765 * include/grub/err.h (grub_err_t): New enum value
26766 GRUB_ERR_ACCESS_DENIED.
26767 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
26768 'users'.
26769 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
26770 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
26771 users updated.
26772 * normal/auth.c: New file.
26773 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
26774 (grub_cmdline_run): Don't allow to go to command line without
26775 authentication.
26776 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
26777 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
26778 menuentry without superuser rights.
26779 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
26780 user isn't a superuser.
26781
70f1161d 267822009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26783
26784 Save space by inlining misc.c functions.
26785
26786 * kern/misc.c (grub_iswordseparator): Made static.
26787 * kern/misc.c (grub_strcat): Moved from here ...
26788 * include/grub/misc.h (grub_strcat): ... here. Inlined.
26789 * kern/misc.c (grub_strncat): Moved from here ...
26790 * include/grub/misc.h (grub_strncat): ... here. Inlined.
26791 * kern/misc.c (grub_strcasecmp): Moved from here ...
26792 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
26793 * kern/misc.c (grub_strncasecmp): Moved from here ...
26794 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
26795 * kern/misc.c (grub_isalpha): Moved from here ...
26796 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
26797 * kern/misc.c (grub_isdigit): Moved from here ...
26798 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
26799 * kern/misc.c (grub_isgraph): Moved from here ...
26800 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
26801 * kern/misc.c (grub_tolower): Moved from here ...
26802 * include/grub/misc.h (grub_tolower): ... here. Inlined.
26803
48e40bff 268042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26805
26806 * script/sh/function.c (grub_script_function_find): Cut error message
26807 not to flood terminal.
26808 * script/sh/lexer.c (grub_script_yylex): Remove command line length
26809 limit.
26810 * script/sh/script.c (grub_script_arg_add): Duplicate string.
26811
c385bfc3 268122009-08-24 Colin Watson <cjwatson@ubuntu.com>
26813
26814 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
26815 `report' grub_uint8_t *.
26816 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
26817 Use a 50-millisecond timeout rather than just repeating
26818 grub_usb_keyboard_getreport 50 times.
26819 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
26820
2d21e3e8 268212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26822
26823 Rename *_partition_map to part_*
26824
26825 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
26826 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
26827 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
26828 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
26829 All users updated.
26830 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
26831 All users updated.
26832 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
26833 * util/grub-probe.c (probe_partmap): Don't transform partition name
26834 to get module name.
26835
dd103c4e 268362009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26837
26838 Fix OpenBSD and NetBSD support.
26839
26840 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
26841 memory address conflict.
26842 (OPENBSD_MMAP_ACPI): New definition.
26843 (OPENBSD_MMAP_NVS): Likewise.
26844 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
26845 and OPENBSD_MMAP_NVS.
26846 Add memory map terminator
26847 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 26848 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 26849
16c84d74 268502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26851
26852 Let user specify NetBSD root device.
26853
26854 * loader/i386/bsd.c (netbsd_root): New variable.
26855 (netbsd_opts): New option 'root'.
26856 (NETBSD_ROOT_ARG): New macro.
26857 (grub_netbsd_boot): Use 'netbsd_root'.
26858 (grub_bsd_unload): Free 'netbsd_root'.
26859 (grub_cmd_netbsd): Fill 'netbsd_root'.
26860
adb29902 268612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26862
26863 Support for 64-bit NetBSD.
26864
26865 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
26866 point when booting non-FreeBSD.
26867
f5ae9f74 268682009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
26869
26870 Support --no-smp and --no-acpi for NetBSD.
26871
26872 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
26873 (NETBSD_AB_NOACPI): Likewise.
26874 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
26875 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
26876
de74f136 268772009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26878
26879 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
26880 errors.
26881 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
26882 errors. Call grub_error when needed.
26883
e9a925da 268842009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26885
26886 * commands/search.c (search_fs): Try searching without autoload first.
26887 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
26888 filesystem module explicitly for faster booting.
26889
5174302b 268902009-08-23 Colin Watson <cjwatson@ubuntu.com>
26891
26892 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
26893
c8c80635 268942009-08-23 Colin Watson <cjwatson@ubuntu.com>
26895
26896 * util/grub.d/30_os-prober.in: Disable os-prober if
26897 `GRUB_DISABLE_OS_PROBER' was set to true.
26898
71acf5e5 268992009-08-23 Robert Millan <rmh.grub@aybabtu.com>
26900
26901 * partmap/pc.c: Rename to ...
26902 * partmap/msdos.c: ... this. Update all users.
26903 (grub_pc_partition_map): Rename to ...
26904 (grub_msdos_partition_map): ... this. Update all users.
26905
26906 * parttool/pcpart.c: Rename to ...
26907 * parttool/msdospart.c: ... this. Update all users.
26908
26909 * include/grub/pc_partition.h: Rename to ...
26910 * include/grub/msdos_partition.h: ... this. Update all users.
26911 (grub_pc_partition_bsd_entry): Rename to ...
26912 (grub_msdos_partition_bsd_entry): ... this. Update all users.
26913 (grub_pc_partition_disk_label): Rename to ...
26914 (grub_msdos_partition_disk_label): ... this. Update all users.
26915 (grub_pc_partition_entry): Rename to ...
26916 (grub_msdos_partition_entry): ... this. Update all users.
26917 (grub_pc_partition_mbr): Rename to ...
26918 (grub_msdos_partition_mbr): ... this. Update all users.
26919 (grub_pc_partition): Rename to ...
26920 (grub_msdos_partition): ... this. Update all users.
26921 (grub_pc_partition_is_empty): Rename to ...
26922 (grub_msdos_partition_is_empty): ... this. Update all users.
26923 (grub_pc_partition_is_extended): Rename to ...
26924 (grub_msdos_partition_is_extended): ... this. Update all users.
26925 (grub_pc_partition_is_bsd): Rename to ...
26926 (grub_msdos_partition_is_bsd): ... this. Update all users.
26927
26928 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
26929 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
26930 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
26931 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
26932 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
26933 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
26934 (gpt_mod_LDFLAGS): Rename to ...
26935 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
26936 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
26937 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
26938 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
26939 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
26940 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
26941 (part_gpt_mod_LDFLAGS): ... this.
26942 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
26943 `pcpart.mod' to `msdospart.mod'.
26944 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
26945 to ...
26946 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
26947 (msdospart_mod_LDFLAGS): ... this.
26948
c11fded5 269492009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
26950
26951 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
26952 (openbsd_opts): Likewise.
26953 (netbsd_opts): Likewise.
26954 (freebsd_flags): Added 0 terminator.
26955 (openbsd_flags): Likewise.
26956 (netbsd_flags): Likewise.
26957 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
26958 (grub_cmd_freebsd): Transformed into extended command.
26959 (grub_cmd_openbsd): Likewise.
26960 (grub_cmd_netbsd): Likewise.
26961 (cmd_freebsd): Changed type to grub_extcmd_t.
26962 (cmd_openbsd): Likewise.
26963 (cmd_netbsd): Likewise.
26964 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
26965 grub_cmd_openbsd as extended commands.
26966 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
26967 cmd_netbsd and cmd_openbsd
26968
11d1c769 269692009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
26970
26971 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
26972
7a9094e5 269732009-08-21 Pavel Roskin <proski@gnu.org>
26974
5496c37e 26975 * Makefile.in (install-local): When checking if a file is in the
26976 build directory, use "test -e" to detect symlinks.
26977
7a9094e5 26978 * Makefile.in (install-local): Remove all files in
26979 $(DESTDIR)$(pkglibdir) before installing new files there.
26980
e53cea11 269812009-08-18 Felix Zielcke <fzielcke@z-51.de>
26982
26983 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
26984 grub-mkelfimage.
26985
9aced544 269862009-08-18 Felix Zielcke <fzielcke@z-51.de>
26987
26988 * util/grub-mkconfig.in: Don't use gfxterm by default if not
26989 explicitly specified by the user.
26990
b7da6bab 269912009-08-18 Pavel Roskin <proski@gnu.org>
26992
26993 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
26994 grub_uint8_t pointer for data.
26995 * include/grub/fbutil.h (struct grub_video_fbblit_info):
26996 Likewise.
26997 * video/fb/fbutil.c: Remove unnecessary casts.
26998
19f1b335 269992009-08-17 Michal Suchanek <hramrach@centrum.cz>
27000
27001 VBE cleanup.
27002
27003 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27004 (grub_vbe_set_video_mode): Save active mode info
27005 only after setting the mode.
27006 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27007 second argument.
27008
2f467aa9 270092009-08-17 Michal Suchanek <hramrach@centrum.cz>
27010
27011 Rename variables for clarity.
27012
27013 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27014 (active_vbe_mode_info): ... this. All users updated.
27015 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27016 All users updated.
27017 (initial_mode): Rename to ...
27018 (initial_vbe_mode): ... this. All users updated.
27019 (mode_in_use): Rename to ..
27020 (vbe_mode_in_use): ... this. All users updated.
27021 (mode_list): Rename to ..
27022 (vbe_mode_list): ... this. All users updated.
27023 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27024 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27025 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27026 'mode_list_size' to 'vbe_mode_list_size'.
27027 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27028 'best_mode_info' to 'best_vbe_mode_info' and
27029 'best_mode' to 'best_vbe_mode'
27030
6025fcd7 270312009-08-17 Michal Suchanek <hramrach@centrum.cz>
27032
27033 Remove duplicate grub_video_fb_get_video_ptr.
27034
27035 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27036 (grub_video_fb_get_video_ptr): ... this.
27037 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27038 * video/fb/fbutil.c: Add comment about addressing.
27039 (get_data_ptr): Rename to ...
27040 (grub_video_fb_get_video_ptr): ... this. All users updated.
27041 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27042
cc8c6faf 270432009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27044
27045 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27046 grub_dprintf() that was just added.
27047
08aa61f0 270482009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27049
27050 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27051 (DEFAULT_VIDEO_MODE): Remove macros.
27052 (grub_linux_boot): Remove assumption that Linux has FB support,
27053 and use "text" as default video mode.
27054
7cef4f75 270552009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27056
27057 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27058 grub_dprintf.
27059 * fs/fat.c (grub_fat_read_data): Likewise.
27060
e1f39873 270612009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27062
27063 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27064 payload.
27065 (grub_module): Likewise.
27066
c166d79e 270672009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27068
27069 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27070 mbi->cmdline but free playground.
27071
c60cee8e 270722009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27073
27074 Handle group offset on UFS1.
27075
27076 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27077 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27078
c0d8b5d4 270792009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27080
27081 Split ufs.mod into ufs1.mod and ufs2.mod.
27082
27083 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27084 (grub_fstest_SOURCES): Likewise.
27085 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27086 (ufs_mod_SOURCES): Remove.
27087 (ufs_mod_CFLAGS): Likewise.
27088 (ufs_mod_LDFLAGS): Likewise.
27089 (ufs1_mod_SOURCES): New variable.
27090 (ufs1_mod_CFLAGS): Likewise.
27091 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 27092 (ufs2_mod_SOURCES): New variable.
27093 (ufs2_mod_CFLAGS): Likewise.
27094 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 27095 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27096 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27097 Likewise.
27098 (grub_emu_SOURCES): Likewise.
27099 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27100 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27101 (grub_setup_SOURCES): Likewise.
27102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27103 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27104 (grub_setup_SOURCES): Likewise.
27105 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27106 Likewise.
27107 * fs/ufs2.c: New file.
27108 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27109
d3539132 271102009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27111
27112 Framebuffer split.
27113
27114 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27115 subsystem at the end.
27116 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27117 (video_fb_mod_SOURCES): New variable.
27118 (video_fb_mod_CFLAGS): Likewise.
27119 (video_fb_mod_LDFLAGS): Likewise.
27120 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27121 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27122 * video/i386/pc/vbeblit.c: Moved from here ...
27123 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27124 * video/i386/pc/vbefill.c: Moved from here ...
27125 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27126 * video/i386/pc/vbeutil.c: Moved from here ...
27127 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27128 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27129 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27130 * include/grub/i386/pc/vbefill.h: Moved from here ...
27131 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27132 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27133 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27134 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27135 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27136 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27137 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27138 (grub_video_adapter): Added 'get_info_and_fini'.
27139 (grub_video_get_info_and_fini): New prototype.
27140 (grub_video_set_mode): make modestring const char *.
27141 * loader/i386/linux.c (grub_linux_setup_video): Use
27142 grub_video_get_info_and_fini.
27143 (grub_linux_boot): Move modesetting just before booting.
27144 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27145 grub_video_get_info_and_fini.
27146 * video/i386/pc/vbe.c: Moved framebuffer part ...
27147 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27148 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27149 grub_video_fbstd_colors and grub_video_fb_set_palette.
27150 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27151 grub_video_fb_init.
27152 (grub_video_vbe_fini): Use grub_video_fb_fini.
27153 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27154 render_target and use grub_video_fb_set_active_render_target and
27155 grub_video_fb_set_palette.
27156 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27157 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27158 (grub_video_vbe_adapter): Use framebuffer.
27159 * video/video.c (grub_video_get_info_and_fini): New function.
27160 (grub_video_set_mode): Make modestring const char *.
27161 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27162 values are already initialised.
27163
d404ee56 271642009-08-14 Pavel Roskin <proski@gnu.org>
27165
27166 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27167 ABS and APPLE_CC.
27168 * boot/i386/pc/diskboot.S: Likewise.
27169 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27170 sectors allow compilation on MacOSX.
27171 * conf/i386-pc.rmk: Enable unconditional compilation of
27172 lnxboot.img.
27173
9a10df16 271742009-08-13 Colin Watson <cjwatson@ubuntu.com>
27175
27176 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27177 * util/grub.d/00_header.in: Enter interruptible sleep if
27178 GRUB_HIDDEN_TIMEOUT is set.
27179
be3c9ca7 271802009-08-13 Yves Blusseau <blusseau@zetam.org>
27181
27182 * include/grub/symbol.h: Add the LOCAL macro.
27183 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27184 starting with "L_".
27185
1f9e557e 271862009-08-13 Pavel Roskin <proski@gnu.org>
27187
9ca62843 27188 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27189 any modern compilers we support.
27190
1f9e557e 27191 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27192 Use local labels starting with "L_" so that Apple assembler
27193 knows they are local.
27194
81623db6 271952009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27196
27197 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27198 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27199 (bsd_kernel_types): ... this enum.
27200
27201 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27202 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27203 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27204
27205 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27206 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27207 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27208 messages.
27209
f5d35e7a 272102009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27211
27212 * util/grub-dumpdevtree: Moved from here ...
27213 * util/i386/efi/grub-dumpdevtree: ... to here.
27214 (hexify): New function. Converts a string to its hex version.
27215 Generate hex versions of "efi" and "device-properties" by calling
27216 hexify() on the ASCII strings rather than by hardcoding numbers.
27217
d1e1d527 272182009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27219
27220 * fs/jfs.c: Update copyright year.
27221
1ebbe064 272222009-08-08 Felix Zielcke <fzielcke@z-51.de>
27223
27224 * util/grub.d/00_header.in: Fix a comment.
27225 * util/grub.d/10_linux.in: Likewise.
27226 * util/grub.d/10_windows.in: Likewise.
27227 * util/grub.d/10_hurd.in: Likewise.
27228
a78c8d24 272292009-08-08 Felix Zielcke <fzielcke@z-51.de>
27230
27231 * util/grub-mkconfig.in: Allow the user to specify the used font
27232 with GRUB_FONT.
27233
29a6b9e8 272342009-08-08 Pavel Roskin <proski@gnu.org>
27235
b5f16cc4 27236 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27237 available, xfs.mod needs it now.
27238
2f5cb827 27239 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27240 the "g" modifier in sed when the intention is to strip something
27241 once. This fixes comparison of kernels with multiple dashes.
27242
29a6b9e8 27243 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
27244 on it. Add missing space before closing bracket. Fix
27245 misleading formatting.
27246
892a3d98 272472009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27248
27249 * docs/grub.texi: Major overhaul. Remove all sections that are
27250 specific to GRUB Legacy, or mostly composed of Legacy-specific
27251 information.
27252
ed94253f 272532009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27254
27255 * docs/version.texi: New file. Provides version information for
27256 grub.texi.
27257
126d6628 272582009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27259
27260 * docs/grub.texi: Update CVS information to SVN.
27261 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
27262
998b5aa9 272632009-08-07 Felix Zielcke <fzielcke@z-51.de>
27264
27265 * util/grub-mkconfig.in: Remove a wrong `fi'.
27266
818e094a 272672009-08-07 Felix Zielcke <fzielcke@z-51.de>
27268
27269 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
27270 (grub_jfs_uuid): New function.
27271 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
27272
b969c52f 272732009-08-07 Felix Zielcke <fzielcke@z-51.de>
27274
27275 * util/grub-mkconfig_lib.in (font_path): Move the functionality
27276 of it to ...
27277 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
27278 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
27279
7a4894cc 272802009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27281
27282 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
27283 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
27284 Update all users.
27285
27286 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
27287 not just "vmlinu[zx]".
27288 Moved from here ...
27289 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
27290 all users.
27291
27292 * util/grub.d/10_linux.in (find_latest): Moved from here ...
27293 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
27294 all users.
27295
4e2171f8 272962009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27297
27298 * util/grub.d/10_freebsd.in: Use an absolute device path for
27299 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
27300
6dcfcb32 273012009-08-06 Felix Zielcke <fzielcke@z-51.de>
27302
27303 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
27304 handling of multiple abstraction modules.
27305
f56a8756 273062009-08-04 Robert Millan <rmh.grub@aybabtu.com>
27307
27308 Fix a bug resulting in black screen when loading Linux using a
27309 packed video mode.
27310
27311 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
27312 function.
27313
27314 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
27315 (grub_vbe_bios_getset_dac_palette_width): New function.
27316 (grub_vbe_bios_get_dac_palette_width)
27317 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
27318 grub_vbe_bios_getset_dac_palette_width()).
27319
27320 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
27321 check for return status.
27322 (grub_vbe_get_video_mode_info): When getting information for a packed
27323 mode (<= 8 bpp), obtain DAC palette width using
27324 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
27325 {red,green,blue}_mark_size.
27326
222671b2 273272009-08-04 Felix Zielcke <fzielcke@z-51.de>
27328
ecb1a6d9 27329 * commands/search.c (options): Fix help output to match actual code.
222671b2 27330
f84114f5 273312009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
27332
27333 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
27334 of homegrown code.
27335
bd288a20 273362009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 27337
27338 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
27339 on XFS or ReiserFS.
27340
8aab5e25 273412009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27342
27343 Support Apple partition map with sector size different from 512 bytes.
27344
27345 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
27346 (apple_partition_map_iterate): Respect 'aheader.blocksize'
27347 and 'apart.partmap_size'.
27348
6ad6258a 273492009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
273502009-08-01 Robert Millan <rmh.grub@aybabtu.com>
27351
27352 Fix cpuid command.
27353
27354 * commands/i386/cpuid.c (options): New variable.
27355 (grub_cmd_cpuid): Return real error.
27356 (GRUB_MOD_INIT(cpuid)): Declare options.
27357
67459bc6 273582009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
27359
27360 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
27361 valid.
27362
fbc6ab54 273632009-07-31 Bean <bean123ch@gmail.com>
27364
27365 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
27366 log2_inode.
27367 (grub_fshelp_node): Move inode field to the end.
27368 (grub_xfs_data): Remove inode field.
27369 (grub_xfs_inode_block): Calculate inode size using sblock.
27370 (grub_xfs_inode_offset): Likewise.
27371 (grub_xfs_read_inode): Calculate inode size using sblock.
27372 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
27373 (grub_xfs_iterate_dir): Calculate inode size using sblock.
27374 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
27375 to match inode size.
27376 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
27377 not accessible when data is null.
27378 (grub_xfs_open): Likewise.
27379
f45d6cfc 273802009-07-31 Bean <bean123ch@gmail.com>
27381
27382 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
27383 Don't change pv->disk if it's already set.
27384
27385 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
27386 (grub_raid_register): ... here.
27387 (grub_raid_rescan): Removed.
27388
27389 * include/grub/raid.h (grub_raid_rescan): Removed.
27390
27391 * util/grub-fstest.c: Remove include file <grub/raid.h>.
27392 (fstest): Replace grub_raid_rescan with module fini function followed
27393 by init function.
27394
27395 * util/grub-probe.c: Add include file <grub/raid.h>.
27396 (probe_raid_level): New function.
27397 (probe): Detect abstraction by walking the disk device, support two
27398 level of abstraction (LVM on RAID) when detecting partition map.
27399
24443b5a 274002009-07-31 Pavel Roskin <proski@gnu.org>
27401
27402 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
27403 to grub_zalloc(), it was erroneous.
27404 Reported by Bean <bean123ch@gmail.com>
27405
a275d9e7 274062009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
27407
27408 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 27409 embedding zone, not only the first one.
a275d9e7 27410
56c5a47f 274112009-07-29 Joe Auricchio <jauricchio@gmail.com>
27412
27413 * term/gfxterm.c (clear_char): New function.
27414 (grub_virtual_screen_setup): Use clear_char.
27415 (scroll_up): Likewise.
27416 (grub_virtual_screen_cls): Likewise.
27417
67bb323a 274182009-07-29 Felix Zielcke <fzielcke@z-51.de>
27419
27420 * util/deviceiter.c (get_acceleraid_disk_name): New static
27421 function.
27422 (grub_util_iterate_devices): Handle Accelraid devices.
27423 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
27424
388a7c75 274252009-07-28 Robert Millan <rmh.grub@aybabtu.com>
27426
27427 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
27428 separator for the suggested gfxpayload string (';' collides with the
27429 parser and needs escaping).
27430
3bb7abcf 274312009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
27432
27433 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
27434 Clear direction flag before jumping to OS.
27435 (grub_multiboot2_real_boot): Likewise.
27436
2ddd36d7 274372009-07-28 Felix Zielcke <fzielcke@z-51.de>
27438
27439 * util/i386/pc/grub-install: Fix parsing of --disk-module
27440 option.
27441
c521b62b 274422009-07-28 Felix Zielcke <fzielcke@z-51.de>
27443
27444 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
27445 when embedding.
27446
880e0a0c 274472009-07-26 Felix Zielcke <fzielcke@z-51.de>
27448
27449 * util/grub-mkconfig.in (package_version): New variable.
27450 Use it do display the version.
27451
2366e356 274522009-07-25 Felix Zielcke <fzielcke@z-51.de>
27453
27454 * kern/file.c (grub_file_open): Revert to previous check with
27455 grub_errno.
27456
7ad8c80e 274572009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27458
27459 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
27460 from help line. It's out of sync with code.
27461
72b9658b 274622009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
27463
27464 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
27465 entries on failed boot.
27466
77435277 274672009-07-25 Felix Zielcke <fzielcke@z-51.de>
27468
27469 * kern/file.c (grub_file_open): Fix an error check.
27470
fcaa8b21 274712009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
27472
35d16c74 27473 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
27474 partition map couldn't be identified.
fcaa8b21 27475
48904cd1 274762009-07-23 Pavel Roskin <proski@gnu.org>
27477
ef3c317f 27478 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
27479 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
27480 case of little endian words becomes just an optimization.
27481 Respect const modifier.
ad8ea1f4 27482 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 27483
48904cd1 27484 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
27485 to avoid loss of upper bits if align is unsigned and shorter
27486 than addr.
27487
260c9a89 274882009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27489
27490 UUID support for UFS
27491
27492 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
27493 (grub_ufs_uuid): New function.
27494 (grub_ufs_fs): add .uuid
27495
f76ce889 274962009-07-21 Pavel Roskin <proski@gnu.org>
27497
27498 * kern/dl.c (grub_dl_check_header): Make static.
27499
6a6cbcaf 275002009-07-21 Felix Zielcke <fzielcke@z-51.de>
27501
27502 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
27503 add drivemap for Vista. It breaks Windows 7.
27504
cffcddb2 275052009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
27506
27507 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
27508 128 bytes
27509
1ef44b80 275102009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27511
27512 Add BFS support
27513
27514 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
27515 (grub_fstest_SOURCES): Likewise.
27516 (pkglib_MODULES): Add befs.mod.
27517 (befs_mod_SOURCES): New variable.
27518 (befs_mod_CFLAGS): Likewise.
27519 (befs_mod_LDFLAGS): Likewise.
27520 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27521 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27522 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27523 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27524 (grub_setup_SOURCES): Likewise.
27525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27526 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27527 (grub_setup_SOURCES): Likewise.
27528 * fs/befs.c: New file.
27529 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
27530 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
27531 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
27532 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
27533 (B_KEY_INDEX_ALIGN): New declaration.
27534 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
27535 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
27536 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
27537 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
27538 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
27539 (grub_afs_mount) [MODE_BFS]: Likewise.
27540 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
27541 (grub_afs_fs): Use GRUB_AFS_FSNAME
27542 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
27543 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
27544 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
27545 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
27546
4f253044 275472009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
27548
27549 * util/getroot.c (find_root_device): Add support for MacOSX.
27550 * util/hostdisk.c: Likewise.
27551
57a55913 275522009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27553
27554 * font/font.c (find_glyph): Check whether a font is present to avoid
27555 segmentation fault.
75421ca9 27556
275572009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 27558
27559 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
27560
e98cd0c2 275612009-07-20 Pavel Roskin <proski@gnu.org>
27562
27563 * configure.ac: Trim excessively wordy excuses.
27564
1d2d169a 275652009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27566
27567 Add symlink, mtime and label support to AtheFS.
27568
27569 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
27570 (grub_afs_iterate_dir): Handle symlinks.
27571 (grub_afs_open): Use grub_afs_read_symlink.
27572 (grub_afs_dir): Likewise.
27573 Pass mtime.
27574 (grub_afs_label): New function.
27575 (grub_afs_fs): Add grub_afs_label.
27576 (grub_afs_read_symlink): New function.
27577
186f3189 275782009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
27579
27580 Fix AtheFS support.
27581
27582 * fs/afs.c: Fix comments style.
27583 (grub_afs_blockrun): Declare as packed.
27584 (grub_afs_datastream): Likewise.
27585 (grub_afs_bnode): Likewise.
27586 (grub_afs_btree): Likewise.
27587 (grub_afs_sblock): Likewise.
27588 Declare `name' as char.
27589 (grub_afs_inode): Declare as packed.
27590 Change void *vnode to grub_uint32_t unused.
27591 (grub_afs_iterate_dir): Check that key_size is positive.
27592 (grub_afs_mount): Don't read superblock twice.
75421ca9 27593 (grub_afs_dir): Don't free node in case of error,
186f3189 27594 grub_fshelp_find_file already handles this.
27595 (grub_afs_open): Likewise.
27596
5680109e 275972009-07-19 Pavel Roskin <proski@gnu.org>
27598
27599 * Makefile.in: Remove LIBLZO and enable_lzo.
27600 * conf/i386-pc.rmk: Remove lzo support.
27601 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
27602 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
27603 support.
27604 * kern/i386/pc/lzo1x.S: Remove.
27605 * kern/i386/pc/startup.S: Remove lzo support.
27606 * util/i386/pc/grub-mkimage.c: Likewise.
27607
ac70fa32 276082009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
27609
27610 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
27611 * fs/xfs.c (grub_xfs_dir): Likewise.
27612 * fs/afs.c (grub_afs_dir): Likewise.
27613 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
27614 (grub_iso9660_open): Likewise.
27615 * fs/jfs.c (grub_jfs_open): Likewise.
27616 * fs/ext2.c (grub_ext2_dir): Likewise.
27617 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
27618 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 27619
eab58da2 276202009-07-16 Pavel Roskin <proski@gnu.org>
27621
d2838156 27622 * configure.ac: Never add "-c" to CFLAGS.
27623
55c70904 27624 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
27625
43e6200c 27626 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
27627 grub_cv_cc_efiemu should be used.
27628
ce7a733d 27629 * configure.ac: Typo fixes.
27630
eab58da2 27631 * kern/mm.c (grub_zalloc): New function.
27632 (grub_debug_zalloc): Likewise.
27633 * include/grub/mm.h: Declare grub_zalloc() and
27634 grub_debug_zalloc().
27635 * util/misc.c (grub_zalloc): New function.
27636 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
27637 instead of grub_malloc(), remove unneeded initializations.
27638 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
27639 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
27640 * commands/parttool.c (grub_cmd_parttool): Likewise.
27641 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
27642 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
27643 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
27644 * disk/usbms.c (grub_usbms_finddevs): Likewise.
27645 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
27646 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
27647 (grub_cmd_efiemu_pnvram): Likewise.
27648 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
27649 * fs/iso9660.c (grub_iso9660_mount): Likewise.
27650 (grub_iso9660_iterate_dir): Likewise.
27651 * fs/jfs.c (grub_jfs_opendir): Likewise.
27652 * fs/ntfs.c (list_file): Likewise.
27653 (grub_ntfs_mount): Likewise.
27654 * kern/disk.c (grub_disk_open): Likewise.
27655 * kern/dl.c (grub_dl_load_core): Likewise.
27656 * kern/elf.c (grub_elf_file): Likewise.
27657 * kern/env.c (grub_env_context_open): Likewise.
27658 (grub_env_set): Likewise.
27659 (grub_env_set_data_slot): Likewise.
27660 * kern/file.c (grub_file_open): Likewise.
27661 * kern/fs.c (grub_fs_blocklist_open): Likewise.
27662 * loader/i386/multiboot.c (grub_module): Likewise.
27663 * loader/xnu.c (grub_xnu_create_key): Likewise.
27664 (grub_xnu_create_value): Likewise.
27665 * normal/main.c (grub_normal_add_menu_entry): Likewise.
27666 (read_config_file): Likewise.
27667 * normal/menu_entry.c (make_screen): Likewise.
27668 * partmap/sun.c (sun_partition_map_iterate): Likewise.
27669 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
27670 * script/sh/script.c (grub_script_parse): Likewise.
27671 * video/bitmap.c (grub_video_bitmap_create): Likewise.
27672 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
27673 * video/readers/png.c (grub_png_output_byte): Likewise.
27674 (grub_video_reader_png): Likewise.
27675
830afef7 276762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 27677
27678 Enable all targets that can be built by default
27679
830afef7 27680 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 27681 grub-mkfont and grub-fstest if they can be built
27682
ee293aee 276832009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27684
27685 Fix hang and segmentation fault in grub-emu-usb
27686
27687 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
27688 * util/usb.c (grub_libusb_devices): likewise
27689 (grub_libusb_init): rename to ...
27690 (GRUB_MOD_INIT (libusb)):...this
27691 (grub_libusb_fini): rename to ..
27692 (GRUB_MOD_FINI (libusb)):...this
27693 * disk/usbms.c (grub_usbms_transfer): fix retry logic
27694 * include/grub/disk.h (grub_raid_init): removed, it's useless
27695 (grub_raid_fini): likewise
27696 (grub_lvm_init): likewise
27697 (grub_lvm_fini): likewise
27698 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
27699 by grub_init_all
27700
94414221 277012009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27702
27703 Fix libusb
27704
27705 * Makefile.in (LIBUSB): new macro
27706 * genmk.rb (Utility/print_tail): new method
27707 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
27708 (top level): call util.print_tail at the end.
27709
59ade63d 277102009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27711
27712 Make FreeBSD accept zpool.cache
27713
27714 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
27715 type is /boot/zfs/zpool.cache
27716
a58da8c7 277172009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
27718
27719 Fix 64-bit efiemu
27720
27721 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
27722 correct wrong typedef
27723 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
27724
20591577 277252009-07-15 Pavel Roskin <proski@gnu.org>
27726
560ca572 27727 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
27728 * kern/disk.c (struct grub_disk_cache): Likewise.
27729
e8e8e4fd 27730 * commands/probe.c (options): Typo fix.
27731
fde24e10 27732 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
27733 Increase to 0x5a to accommodate FAT32. Adjust other offsets
27734 accordingly.
27735 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
27736
379c54c1 27737 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
27738 the end of "Error" to make the message more readable.
27739
7bd8f5bf 27740 * boot/i386/pc/boot.S (kernel_segment): Remove.
27741 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
27742 for destination.
27743
40b132c5 27744 * boot/i386/pc/boot.S (boot_version): Remove.
27745 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
27746 Remove.
27747
20591577 27748 * include/grub/i386/pc/boot.h: Sort all offsets.
27749 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
27750 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
27751 * boot/i386/pc/boot.S: Assert location of every offset listed in
27752 include/grub/i386/pc/boot.h.
27753
2df32b2c 277542009-07-13 Pavel Roskin <proski@gnu.org>
27755
44b5d879 27756 * include/grub/i386/coreboot/machine.h: Rename
27757 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
27758 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
27759 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
27760
17dc3751 27761 * kern/dl.c: Force native word size to suppress warnings when
27762 compiling grub-emu.
27763
2df32b2c 27764 * kern/device.c (grub_device_iterate): Change struct part_ent to
27765 hold the name, not a pointer to it. Use one grub_malloc() per
27766 partition, not two. Free partition_name if grub_malloc() fails.
27767 Set ents to NULL only before grub_partition_iterate() is called.
27768
75c59f59 277692009-07-11 Bean <bean123ch@gmail.com>
27770
27771 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
27772 childname.
27773
0ae1bf88 277742009-07-10 Bean <bean123ch@gmail.com>
277752009-07-10 Robert Millan <rmh.grub@aybabtu.com>
27776
27777 * kern/ieee1275/openfw.c (grub_children_iterate)
27778 (grub_devalias_iterate): Fix size evaluation for property or path
27779 strings, which was broken since r2132.
27780
8279cade 277812009-07-07 Pavel Roskin <proski@gnu.org>
27782
7d8a52d3 27783 * commands/search.c (search_file): Merge into ...
27784 (search_fs): ... this. Accept search type as argument.
27785 (grub_cmd_search): Pass search type to search_fs().
27786
25f9a05a 27787 * include/grub/util/console.h: New file.
27788 * util/console.c: Use it instead of grub/machine/console.h.
27789 * util/grub-emu.c: Likewise.
27790
8279cade 27791 * lib/arg.c (find_long_option): Remove.
27792 (find_long): Add `len' argument, make `s' const char *.
27793 (grub_arg_parse): Parse long options in place, not in a
27794 temporary buffer.
27795
4a11b60f 277962009-07-06 Pavel Roskin <proski@gnu.org>
27797
99f68041 27798 * commands/search.c (search_fs): Fix potential NULL pointer
27799 dereference.
27800
4a11b60f 27801 * commands/search.c (search_fs): Replace QUID macro with quid_fn
27802 function pointer.
27803
e110f4de 278042009-07-06 Daniel Mierswa <impulze@impulze.org>
27805
27806 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
27807 comparison.
27808
46eeb6a2 278092009-07-05 Pavel Roskin <proski@gnu.org>
27810
bab74958 27811 * include/grub/i386/linux.h (struct linux_kernel_params):
27812 Restore padding3, it's still needed.
27813
46eeb6a2 27814 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
27815 FreeBSD.
27816 * util/osdetect.lua: Likewise.
27817
b4a1dc79 278182009-07-05 Bean <bean123ch@gmail.com>
27819
27820 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
27821
27822 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
27823 (grub_lua_getenv): Likewise.
27824 (grub_lua_setenv): Likewise.
27825 (save_errno): New function.
27826 (push_result): Likewise.
27827 (grub_lua_enum_device): Likewise.
27828 (grub_lua_enum_file): Likewise.
27829 (grub_lua_file_open): Likewise.
27830 (grub_lua_file_close): Likewise.
27831 (grub_lua_file_seek): Likewise.
27832 (grub_lua_file_read): Likewise.
27833 (grub_lua_file_getline): Likewise.
27834 (grub_lua_file_getsize): Likewise.
27835 (grub_lua_file_getpos): Likewise.
27836 (grub_lua_file_eof): Likewise.
27837 (grub_lua_file_exist): Likewise.
27838 (grub_lua_add_menu): Likewise.
27839
27840 * script/lua/grub_lua.h (isupper): New inline function.
27841 (islower): Likewise.
27842 (ispunct): Likewise.
27843 (isxdigit): Likewise.
27844 (strcspn): Change to normal function.
27845 (strpbkr): New function declaration.
27846 (memchr): Likewise.
27847
27848 * script/lua/grub_main.c (scan_str): New function.
27849 (strcspn): Likewise.
27850 (strpbrk): Likewise.
27851 (memchr): Likewise.
27852
27853 * script/lua/linit.c (lualibs): Enable the string library.
27854
27855 * util/osdetect.lua: New file.
27856
2da92295 278572009-07-04 Robert Millan <rmh.grub@aybabtu.com>
27858
27859 * include/grub/i386/linux.h (struct linux_kernel_params): Add
27860 `capabilities' member.
27861
b2582ec9 278622009-07-02 Pavel Roskin <proski@gnu.org>
27863
27864 * genparttoollist.sh: Add missing newline at the end.
27865
32622956 278662009-07-01 Pavel Roskin <proski@gnu.org>
27867
87a7339e 27868 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
27869
d23af54e 27870 * util/hostdisk.c (open_device): Remove `const' from
27871 `sysctl_size', as sysctlbyname() can change it (in this case it
27872 doesn't actually happen).
27873
c94b18a9 27874 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
27875 using signed long int constants.
27876
c6cd3ef0 27877 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
27878 constant to avoid a warning on FreeBSD.
27879
0df63420 27880 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
27881 where it's needed.
27882
999577f1 27883 * Makefile.in: Install include/grub/machine symlink.
27884
6f41557f 27885 * Makefile.in: When installing symlinks, use "cp -fR", which
27886 works on FreeBSD and MacOSX.
27887 From Yves Blusseau <cl7m42e02@sneakemail.com>
27888
c8d22988 27889 * kern/dl.c (grub_dl_resolve_symbol): Make static.
27890 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
27891
1b96e952 27892 * util/misc.c: Move grub_reboot() and grub_halt() ...
27893 * util/grub-emu.c: ... here. Make main_env static.
27894 * include/grub/util/misc.h: Remove main_env.
27895
2ef0084d 27896 * kern/mm.c: Use correct format to print size_t.
27897
32622956 27898 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
27899 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
27900 * kern/powerpc/dl.c: Likewise.
27901 * kern/sparc64/dl.c: Likewise.
27902 * kern/x86_64/dl.c: Likewise.
27903
3f7f0cd0 279042009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27905
27906 Fix grub-emu build on sparc64-ieee1275.
27907
75421ca9 27908 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 27909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
27910
211d06b5 279112009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27912
27913 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
27914 (grub_reboot, grub_halt): New functions.
27915
27916 * util/i386/pc/misc.c: Delete. Update all users.
27917 * util/sparc64/ieee1275/misc.c: Likewise.
27918 * util/powerpc/ieee1275/misc.c: Likewise.
27919
aaf53e3c 279202009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27921
27922 * conf/i386.rmk (setjmp_mod_SOURCES)
27923 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
27924 * conf/common.rmk (setjmp_mod_SOURCES)
27925 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
27926 to use $(target_cpu).
27927 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
27928 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
27929 * conf/powerpc-ieee1275.rmk: Likewise.
27930 * conf/sparc64-ieee1275.rmk: Likewise.
27931
27932 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
27933 $(target_cpu) for kern/$(target_cpu)/dl.c.
27934 * conf/i386-efi.rmk: Likewise.
27935 * conf/i386-ieee1275.rmk: Likewise.
27936 * conf/x86_64-efi.rmk: Likewise.
27937 * conf/i386-coreboot.rmk: Likewise.
27938 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
27939 $(target_cpu) for kern/$(target_cpu)/dl.c and for
27940 kern/$(target_cpu)/cache.S.
27941 * conf/sparc64-ieee1275.rmk: Likewise.
27942
a337130b 279432009-07-01 Robert Millan <rmh.grub@aybabtu.com>
27944
27945 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
27946 type to `grub_uint8_t', and adjust `padding9' accordingly.
27947
c6fe4d53 279482009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27949
b09db61d 27950 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
27951
c6fe4d53 27952 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
27953 assembly in final jump, using register constraints.
27954
b09db61d 27955 (grub_linux_boot): For text mode, initialize `have_vga' using
27956 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
27957
27958 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
27959 right before the final jump.
27960
27961 Set `video_mode' to 0x3.
27962
27963 Document initialization of `video_page', `video_mode' and
27964 `video_ega_bx'.
27965
28333ad0 279662009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27967
27968 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
27969 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 27970 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 27971
02164e1b 279722009-06-29 Robert Millan <rmh.grub@aybabtu.com>
27973
27974 Fix build on Debian / sparc.
27975
27976 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
27977
18b6c557 279782009-06-28 Pavel Roskin <proski@gnu.org>
27979
85f2aab6 27980 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
27981 fix a warning.
27982
18b6c557 27983 * util/grub.d/10_linux.in: Match SUSE style initrd names.
27984
ad760f81 279852009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27986
27987 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
27988 `err'.
27989
87a4623b 279902009-06-27 Robert Millan <rmh.grub@aybabtu.com>
27991
27992 Revert r2338.
27993
27994 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
27995 file can't be opened. grub_file_open() is already supposed to set
75421ca9 27996 grub_errno / grub_errmsg appropriately.
87a4623b 27997 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
27998
8231fb77 279992009-06-27 Pavel Roskin <proski@gnu.org>
280002009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28001
28002 * include/grub/dl.h: Include grub/elf.h.
28003 (struct grub_dl): Add symtab field.
28004 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28005 GRUB_MODULES_MACHINE_READONLY.
28006 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28007 of the header for read-only modules.
28008 (grub_dl_unload): Free mod->symtab for read-only modules.
28009 * kern/i386/dl.c: Use mod->symtab.
28010 * kern/powerpc/dl.c: Likewise.
28011 * kern/sparc64/dl.c: Likewise.
28012 * kern/x86_64/dl.c: Likewise.
28013
28014 * conf/i386-qemu.rmk: New file.
28015 * kern/i386/qemu/startup.S: Likewise.
28016 * kern/i386/qemu/mmap.c: Likewise.
28017 * boot/i386/qemu/boot.S: Likewise.
28018 * include/grub/i386/qemu/time.h: Likewise.
28019 * include/grub/i386/qemu/serial.h: Likewise.
28020 * include/grub/i386/qemu/kernel.h: Likewise.
28021 * include/grub/i386/qemu/console.h: Likewise.
28022 * include/grub/i386/qemu/boot.h: Likewise.
28023 * include/grub/i386/qemu/init.h: Likewise.
28024 * include/grub/i386/qemu/machine.h: Likewise.
28025 * include/grub/i386/qemu/loader.h: Likewise.
28026 * include/grub/i386/qemu/memory.h: Likewise.
28027
28028 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28029 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28030 [qemu] (pkglib_IMAGES): Add `boot.img'.
28031 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28032 [qemu] (boot_img_FORMAT): New variables.
28033 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28034 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28035 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28036 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28037 [qemu] (kernel_img_FORMAT): New variables.
28038
28039 * configure.ac: Recognise `i386-qemu'.
28040
28041 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28042 (for no compression).
28043 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28044 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28045 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28046 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28047 ifdefs).
28048
97fe384e 280492009-06-27 Pavel Roskin <proski@gnu.org>
28050
28051 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28052 read.
28053 * efiemu/prepare32.c: Likewise.
28054 * efiemu/prepare64.c: Likewise.
28055
c402ab17 280562009-06-26 Pavel Roskin <proski@gnu.org>
28057
28058 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28059 * include/grub/elf.h: Define symbols without "32" or "64" based
28060 on GRUB_TARGET_WORDSIZE.
28061 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28062 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28063 ELF definitions.
28064 * efiemu/loadcore64.c: Likewise.
28065 * loader/i386/bsd32.c: Likewise.
28066 * loader/i386/bsd64.c: Likewise.
28067 * kern/dl.c: Remove own ELF definitions.
28068 * util/i386/efi/grub-mkimage.c: Likewise.
28069
9bbdfd4d 280702009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28071
28072 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28073 segment 0x0 unconditionally, because the reference generated by
28074 GAS is an absolute address.
28075
a42ce6e9 280762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28077
28078 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28079 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28080
c952cf92 280812009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28082
28083 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28084 indexes. Check for -f explicitly.
cc3752ad 28085 (search_file): Improve error message.
28086 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 28087
132a0a59 280882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28089
28090 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28091 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28092
387a140c 280932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28094
28095 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28096 * conf/i386-ieee1275.rmk: Likewise.
28097 * conf/i386-coreboot.rmk: Likewise.
28098
28099 * kern/i386/pc/startup.S (grub_stop): Remove function.
28100 * kern/i386/ieee1275/startup.S: Likewise.
28101 * kern/i386/coreboot/startup.S: Likewise.
28102 * kern/i386/misc.S (grub_stop): New function.
28103
41da9665 281042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28105
28106 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28107 * kern/i386/realmode.S (real_to_prot): ... to here.
28108
bf337234 281092009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28110
28111 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28112 with `kernel.img'.
28113 (kernel_elf_SOURCES): Rename to ...
28114 (kernel_img_SOURCES): ... this.
28115 (kernel_elf_HEADERS): Rename to ...
28116 (kernel_img_HEADERS): ... this. Update all users.
28117 (kernel_elf_ASFLAGS): Rename to ...
28118 (kernel_img_ASFLAGS): ... this.
28119 (kernel_elf_CFLAGS): Rename to ...
28120 (kernel_img_CFLAGS): ... this.
28121 (kernel_elf_LDFLAGS): Rename to ...
28122 (kernel_img_LDFLAGS): ... this.
28123 * conf/i386-coreboot.rmk: Likewise.
28124 * conf/powerpc-ieee1275.rmk: Likewise.
28125
28126 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28127 with "kernel.img".
28128
f52196ff 281292009-06-21 Pavel Roskin <proski@gnu.org>
28130
c3cee413 28131 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28132 to match nested functions.
28133 * loader/sparc64/ieee1275/linux.c: Likewise.
28134
f52196ff 28135 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28136
58750afc 281372009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28138
28139 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28140 all i386 platforms.
28141
15355c7d 281422009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28143
28144 Fix asm file handling on ELF, and remove workarounds.
28145
28146 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 28147 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 28148 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28149 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28150
3f3ec72b 281512009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28152
28153 Load BSD ELF modules
28154
28155 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28156 and loader/i386/bsd64.c
28157 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28158 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28159 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28160 (grub_freebsd_load_elfmodule32): New declaration
28161 (grub_freebsd_load_elfmoduleobj64): Likewise
28162 (grub_freebsd_load_elf_meta32): Likewise
28163 (grub_freebsd_load_elf_meta64): Likewise
28164 (grub_freebsd_add_meta): Likewise
28165 (grub_freebsd_add_meta_module): Likewise
28166 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28167 (grub_freebsd_add_meta_module): Likewise and move module-specific
28168 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28169 (grub_cmd_freebsd): Add elf-kernel specific parts
28170 based on grub_freebsd_add_meta_module
28171 (grub_cmd_freebsd_module): Add type parsing moved from
28172 grub_freebsd_add_meta_module
28173 (grub_cmd_freebsd_module_elf): New function
28174 (cmd_freebsd_module_elf): New variable
28175 (GRUB_MOD_INIT): Register freebsd_module_elf
28176 * loader/i386/bsd32.c: New file
28177 * loader/i386/bsd64.c: Likewise
28178 * loader/i386/bsdXX.c: Likewise
28179 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28180 (grub_elf64_load): Likewise
28181 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28182 All users updated
28183 (grub_elf64_load_hook_t): Likewise
28184
0db15301 281852009-06-21 Colin Watson <cjwatson@ubuntu.com>
28186
28187 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28188 variable.
28189 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28190 don't write a menu entry for recovery mode.
28191
546796c1 281922009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28193
28194 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28195 after it's no longer needed.
28196
cd7310d5 281972009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28198
28199 * include/grub/i386/loader.h (grub_linux_prot_size)
28200 (grub_linux_tmp_addr, grub_linux_real_addr)
28201 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28202 GRUB_MACHINE_PCBIOS.
28203 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28204 common grub_util_info() call to ...
28205 (generate_image): ... here.
28206 Fix use of uninitialized memory, comparison of signed with
28207 unsigned integers and memory leak.
28208 Remove bogus module address message.
28209
ab32d3b5 282102009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28211
28212 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28213 grub_raid_register
28214 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28215
024ef597 282162009-06-19 Pavel Roskin <proski@gnu.org>
28217
28218 * configure.ac: Remove stray AC_MSG_CHECKING.
28219
3ac72b51 282202009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28221
28222 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 28223
e14cd814 282242009-06-18 Pavel Roskin <proski@gnu.org>
28225
28226 * conf/common.rmk: Add fs_file.mod.
28227 * disk/fs_file.c: New file.
28228 * include/grub/disk.h (enum grub_disk_dev_id): Add
28229 GRUB_DISK_DEVICE_FILE_ID.
28230
26586d98 282312009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28232
28233 Fix build with Apple's toolchain. Part 2
28234
28235 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28236 a fake start
28237
26de2bcd 282382009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28239
28240 Fix build with Apple's toolchain. Part 1
28241
28242 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
28243 for long calls
28244 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 28245 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 28246 Apple's toolchain
28247
09b3490b 282482009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28249
28250 Fix warnings
28251
28252 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
28253 (decomp_block): initialize ch
28254 use grub_memcpy instead of memcpy
28255
c22a006a 282562009-06-17 Pavel Roskin <proski@gnu.org>
28257
d3638678 28258 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
28259 version, use declarations needed to use vga_text as the startup
28260 console.
28261
c22a006a 28262 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
28263 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
28264 the kernel.
28265 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
28266 and grub_at_keyboard_fini(), it's done on module load and
28267 unload.
28268
05b129e0 282692009-06-17 Felix Zielcke <fzielcke@z-51.de>
28270
28271 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
28272 file can't be found.
28273 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28274
cf24ed9e 282752009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28276
28277 Fix newline handling
28278
28279 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 28280 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 28281 (grub_script_yylex): don't segfault on unterminated script
28282 newline terminates command and variable
28283
74aa8e4b 282842009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28285
28286 avoid double grub_adjust_range call. Bug reported by David Simner
28287
28288 * kern/disk.c (grub_disk_write): change to raw disk access before
28289 calling disk_read
28290
1bd265f3 282912009-06-17 Colin Watson <cjwatson@ubuntu.com>
28292
28293 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
28294 spaces, for the benefit of help2man.
28295 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28296
a2d08c06 282972009-06-16 Pavel Roskin <proski@gnu.org>
28298
28299 * kern/i386/halt.c: Include grub/machine/init.h.
28300 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
28301
b97bcb19 283022009-06-16 Felix Zielcke <fzielcke@z-51.de>
28303
28304 * util/grub.d/30_os-prober.in: Use ${root} in the generated
28305 drivemap menuentry.
28306
0644f96c 283072009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
28308
28309 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
28310 `echo' command.
28311
3ef17a2e 283122009-06-16 Pavel Roskin <proski@gnu.org>
28313
28314 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
28315 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
28316 save %dx, we only need %dl and we never change it.
28317 * boot/i386/pc/cdboot.S: Don't set the root drive.
28318 * boot/i386/pc/pxeboot.S: Likewise.
28319 * include/grub/i386/pc/boot.h: Remove
28320 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
28321 GRUB_BOOT_MACHINE_DRIVE_CHECK.
28322 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
28323 * kern/i386/pc/init.c (make_install_device): Remove references
28324 to grub_root_drive.
28325 * kern/i386/pc/startup.S: Likewise.
28326 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
28327
693fe637 283282009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28329
28330 xnu_uuid command
28331
28332 * commands/xnu_uuid.c: new file
28333 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
28334 (xnu_uuid_mod_SOURCES): new variable
28335 (xnu_uuid_mod_CFLAGS): likewise
28336 (xnu_uuid_mod_LDFLAGS): likewise
28337 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28338 * conf/i386-ieee1275.rmk: likewise
28339 * conf/i386-pc.rmk: likewise
28340 * conf/powerpc-ieee1275.rmk: likewise
28341 * conf/sparc64-ieee1275.rmk: likewise
28342 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
28343
c9da87d0 283442009-06-16 Pavel Roskin <proski@gnu.org>
28345
28346 * configure.ac: Avoid '==' in test command, it's not portable.
28347
9c6f4596 283482009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28349
28350 Probe command
28351
28352 * commands/probe.c: new file
28353 * conf/common.rmk (pkglib_MODULES): add probe.mod
28354 (probe_mod_SOURCES): new variable
28355 (probe_mod_CFLAGS): likewise
28356 (probe_mod_LDFLAGS): likewise
28357 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28358 * conf/i386-ieee1275.rmk: likewise
28359 * conf/i386-pc.rmk: likewise
28360 * conf/powerpc-ieee1275.rmk: likewise
28361 * conf/sparc64-ieee1275.rmk: likewise
28362
70b7f9fd 283632009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
28364
28365 Fix handling of string like \"hello\" and "a
28366 b"
28367
28368 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
28369 (grub_script_yylex): fix parsing of quoting, escaping and newline
28370
71c79a6b 283712009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
28372
dd74360c 28373 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 28374 handling
dd74360c 28375
0644f96c 283762009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 28377
28378 * util/grub-mkconfig.in: Fix parsing of --output option.
28379
e40893c3 283802009-06-12 Pavel Roskin <proski@gnu.org>
28381
28382 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
28383 genmk.rb don't need to be generated or installed.
28384
3a1acfe2 283852009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
28386
28387 * commands/i386/pc/drivemap_int13h.S: add more comments
28388
3a4575d4 283892009-06-11 Pavel Roskin <proski@gnu.org>
28390
0658e928 28391 * Makefile.in (uninstall): Uninstall manuals.
28392
ca0388f0 28393 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
28394 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
28395 and update-grub_lib in two places.
28396 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
28397
e3b27c39 28398 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
28399 a compiler warning.
28400
3a4575d4 28401 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
28402 `entry_lo' to fix variable shadowing.
28403
af1f4f55 284042009-06-11 Christian Franke <franke@computer.org>
28405
28406 * kern/misc.c (__enable_execute_stack): Add missing return type
28407 to prevent gcc warning.
28408
5225e649 284092009-06-11 Felix Zielcke <fzielcke@z-51.de>
28410
28411 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
28412
7d83bd47 284132009-06-11 Pavel Roskin <proski@gnu.org>
28414
c1cb63ba 28415 * Makefile.in: Don't rely on any scripts being executable.
28416 Always use $(SHELL) to run shell scripts.
28417
7d83bd47 28418 * configure.ac: Always define ___main if using -nostdlib. This
28419 fixes tests on Cygwin.
28420
948f48e7 284212009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
28422
28423 UDF fix
28424
7d83bd47 28425 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 28426 is in bytes and not in blocks
7d83bd47 28427
8ada9bc1 284282009-06-11 Pavel Roskin <proski@gnu.org>
28429
28430 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
28431 warning.
28432
25ad2323 284332009-06-11 Felix Zielcke <fzielcke@z-51.de>
28434
28435 * util/grub.d/30_os-prober.in: Fix a comment. Source
28436 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
28437 to set the root device. Place drivemap command in the generated
28438 chain entry.
28439
e65acb0c 284402009-06-11 Pavel Roskin <proski@gnu.org>
28441
28442 * configure.ac: Remove host_m32. Issues with 64-bit utilities
28443 have long been resolved.
28444
f285fe2d 284452009-06-11 Colin Watson <cjwatson@ubuntu.com>
28446
bd47b0b5 28447 * util/grub.d/10_linux.in: Capitalise "Linux".
28448
f285fe2d 28449 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
28450
a0c62e4e 284512009-06-11 Pavel Roskin <proski@gnu.org>
28452
b6783cb2 28453 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
28454 fix a gcc warning and ensure that the function won't ever exit.
28455
dde032e8 28456 * kern/i386/ieee1275/init.c: Add missing prototype for
28457 grub_stop_floppy().
28458
22cd079d 28459 * loader/ieee1275/multiboot2.c [__i386__]: Include
28460 grub/cpu/multiboot.h.
28461
a0c62e4e 28462 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
28463 casts to short - they are not portable and cause warnings. Fix
28464 use of uninitialized values in input_buf. Use ARRAY_SIZE.
28465
63963d17 284662009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
28467
28468 Drivemap fixes
28469
28470 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
28471 new function
28472 (grub_get_root_biosnumber_saved): new variable
28473 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
28474 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 28475 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 28476 %dx after the call if necessary
28477 * conf/common.rmk (pkglib_MODULES): remove boot.mod
28478 (boot_mod_SOURCES): remove
28479 (boot_mod_CFLAGS): remove
28480 (boot_mod_LDFLAGS): remove
28481 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
28482 (boot_mod_SOURCES): new variable
28483 (boot_mod_CFLAGS): likewise
28484 (boot_mod_LDFLAGS): likewise
28485 * conf/i386-efi.rmk: likewise
28486 * conf/i386-ieee1275.rmk: likewise
28487 * conf/i386-pc.rmk: likewise
28488 * conf/powerpc-ieee1275.rmk: likewise
28489 * conf/sparc64-ieee1275.rmk: likewise
28490 * conf/x86_64-efi.rmk: likewise
28491 * include/grub/i386/pc/biosnum.h: new file
28492 * lib/i386/pc/biosnum.c: likewise
28493 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
28494 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
28495 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 28496
33abf7ae 284972009-06-10 Pavel Roskin <proski@gnu.org>
28498
5ac35b35 28499 * io/gzio.c (test_header): Don't reuse one buffer for all data.
28500 Use separate variables. Read only the file size at the end, but
28501 not the checksum that we don't use.
28502
5c5215d5 28503 * kern/file.c (grub_file_read): Use void pointer for the buffer.
28504 Adjust all callers.
28505
27d5fef7 28506 * kern/ieee1275/openfw.c: Remove libc includes.
28507 * kern/ieee1275/cmain.c: Likewise.
28508 * include/grub/ieee1275/ieee1275.h: Likewise.
28509
33abf7ae 28510 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
28511 compiler warnings.
28512
19d50c2b 285132009-06-10 Felix Zielcke <fzielcke@z-51.de>
28514
28515 * Makefile.in: Remove all trailing whitespace.
28516 * conf/i386-pc.rmk: Likewise.
28517 * conf/powerpc-ieee1275.rmk: Likewise.
28518 * conf/sparc64-ieee1275.rmk: Likewise.
28519 * docs/grub.texi: Likewise.
28520 * docs/texinfo.tex: Likewise.
28521 * disk/fs_uuid.c: Likewise.
28522 * disk/lvm.c: Likewise.
28523 * disk/scsi.c: Likewise.
28524 * disk/ata.c: Likewise.
28525 * disk/ieee1275/ofdisk.c: Likewise.
28526 * disk/i386/pc/biosdisk.c: Likewise.
28527 * disk/host.c: Likewise.
28528 * disk/raid.c: Likewise.
28529 * disk/efi/efidisk.c: Likewise.
28530 * disk/usbms.c: Likewise.
28531 * disk/memdisk.c: Likewise.
28532 * disk/loopback.c: Likewise.
28533 * kern/powerpc/dl.c: Likewise.
28534 * kern/device.c: Likewise.
28535 * kern/dl.c: Likewise.
28536 * kern/sparc64/dl.c: Likewise.
28537 * kern/ieee1275/ieee1275.c: Likewise.
28538 * kern/term.c: Likewise.
28539 * kern/fs.c: Likewise.
28540 * kern/i386/dl.c: Likewise.
28541 * kern/i386/pc/startup.S: Likewise.
28542 * kern/i386/pc/init.c: Likewise.
28543 * kern/i386/pc/mmap.c: Likewise.
28544 * kern/i386/pc/lzo1x.S: Likewise.
28545 * kern/i386/ieee1275/init.c: Likewise.
28546 * kern/i386/realmode.S: Likewise.
28547 * kern/i386/tsc.c: Likewise.
28548 * kern/partition.c: Likewise.
28549 * kern/corecmd.c: Likewise.
28550 * kern/file.c: Likewise.
28551 * kern/efi/efi.c: Likewise.
28552 * kern/efi/init.c: Likewise.
28553 * kern/efi/mm.c: Likewise.
28554 * kern/main.c: Likewise.
28555 * kern/err.c: Likewise.
28556 * kern/env.c: Likewise.
28557 * kern/disk.c: Likewise.
28558 * kern/generic/millisleep.c: Likewise.
28559 * kern/generic/rtc_get_time_ms.c: Likewise.
28560 * kern/misc.c: Likewise.
28561 * kern/parser.c: Likewise.
28562 * genmk.rb: Likewise.
28563 * configure.ac: Likewise.
28564 * boot/i386/pc/diskboot.S: Likewise.
28565 * boot/i386/pc/pxeboot.S: Likewise.
28566 * boot/i386/pc/boot.S: Likewise.
28567 * boot/i386/pc/lnxboot.S: Likewise.
28568 * boot/i386/pc/cdboot.S: Likewise.
28569 * parttool/pcpart.c: Likewise.
28570 * video/readers/tga.c: Likewise.
28571 * video/video.c: Likewise.
28572 * video/bitmap.c: Likewise.
28573 * lib/envblk.c: Likewise.
28574 * lib/i386/setjmp.S: Likewise.
28575 * fs/xfs.c: Likewise.
28576 * fs/afs.c: Likewise.
28577 * fs/fat.c: Likewise.
28578 * fs/ntfs.c: Likewise.
28579 * fs/udf.c: Likewise.
28580 * fs/affs.c: Likewise.
28581 * fs/iso9660.c: Likewise.
28582 * fs/hfs.c: Likewise.
28583 * fs/fshelp.c: Likewise.
28584 * fs/ext2.c: Likewise.
28585 * fs/jfs.c: Likewise.
28586 * fs/reiserfs.c: Likewise.
28587 * fs/hfsplus.c: Likewise.
28588 * fs/minix.c: Likewise.
28589 * fs/cpio.c: Likewise.
28590 * fs/sfs.c: Likewise.
28591 * fs/ufs.c: Likewise.
28592 * efiemu/prepare.c: Likewise.
28593 * efiemu/loadcore_common.c: Likewise.
28594 * efiemu/runtime/efiemu.sh: Likewise.
28595 * efiemu/runtime/efiemu.S: Likewise.
28596 * efiemu/runtime/efiemu.c: Likewise.
28597 * efiemu/pnvram.c: Likewise.
28598 * efiemu/main.c: Likewise.
28599 * efiemu/i386/pc/cfgtables.c: Likewise.
28600 * efiemu/i386/loadcore64.c: Likewise.
28601 * efiemu/i386/loadcore32.c: Likewise.
28602 * efiemu/loadcore.c: Likewise.
28603 * efiemu/symbols.c: Likewise.
28604 * efiemu/mm.c: Likewise.
28605 * include/grub/autoefi.h: Likewise.
28606 * include/grub/datetime.h: Likewise.
28607 * include/grub/term.h: Likewise.
28608 * include/grub/hfs.h: Likewise.
28609 * include/grub/lvm.h: Likewise.
28610 * include/grub/i386/tsc.h: Likewise.
28611 * include/grub/i386/linux.h: Likewise.
28612 * include/grub/i386/xnu.h: Likewise.
28613 * include/grub/i386/efiemu.h: Likewise.
28614 * include/grub/i386/pc/biosdisk.h: Likewise.
28615 * include/grub/i386/pc/memory.h: Likewise.
28616 * include/grub/i386/pc/vbe.h: Likewise.
28617 * include/grub/parttool.h: Likewise.
28618 * include/grub/video.h: Likewise.
28619 * include/grub/memory.h: Likewise.
28620 * include/grub/fs.h: Likewise.
28621 * include/grub/partition.h: Likewise.
28622 * include/grub/xnu.h: Likewise.
28623 * include/grub/efi/api.h: Likewise.
28624 * include/grub/efi/pe32.h: Likewise.
28625 * include/grub/efi/memory.h: Likewise.
28626 * include/grub/multiboot.h: Likewise.
28627 * include/grub/usbdesc.h: Likewise.
28628 * include/grub/multiboot2.h: Likewise.
28629 * include/grub/acpi.h: Likewise.
28630 * include/grub/efiemu/efiemu.h: Likewise.
28631 * include/grub/disk.h: Likewise.
28632 * include/grub/ieee1275/ieee1275.h: Likewise.
28633 * include/grub/net.h: Likewise.
28634 * include/grub/machoload.h: Likewise.
28635 * include/grub/macho.h: Likewise.
28636 * include/multiboot.h: Likewise.
28637 * genmoddep.awk: Likewise.
28638 * normal/main.c: Likewise.
28639 * normal/menu_entry.c: Likewise.
28640 * normal/menu_viewer.c: Likewise.
28641 * normal/completion.c: Likewise.
28642 * normal/cmdline.c: Likewise.
28643 * normal/misc.c: Likewise.
28644 * normal/datetime.c: Likewise.
28645 * bus/usb/usbtrans.c: Likewise.
28646 * bus/usb/ohci.c: Likewise.
28647 * bus/usb/uhci.c: Likewise.
28648 * bus/usb/usb.c: Likewise.
28649 * mmap/efi/mmap.c: Likewise.
28650 * mmap/i386/pc/mmap_helper.S: Likewise.
28651 * mmap/i386/pc/mmap.c: Likewise.
28652 * mmap/i386/mmap.c: Likewise.
28653 * mmap/i386/uppermem.c: Likewise.
28654 * mmap/mmap.c: Likewise.
28655 * commands/acpi.c: Likewise.
28656 * commands/echo.c: Likewise.
28657 * commands/blocklist.c: Likewise.
28658 * commands/loadenv.c: Likewise.
28659 * commands/usbtest.c: Likewise.
28660 * commands/boot.c: Likewise.
28661 * commands/parttool.c: Likewise.
28662 * commands/search.c: Likewise.
28663 * commands/cat.c: Likewise.
28664 * commands/i386/pc/play.c: Likewise.
28665 * commands/i386/pc/drivemap.c: Likewise.
28666 * commands/i386/pc/vbeinfo.c: Likewise.
28667 * commands/i386/pc/acpi.c: Likewise.
28668 * commands/i386/pc/vbetest.c: Likewise.
28669 * commands/ls.c: Likewise.
28670 * commands/cmp.c: Likewise.
28671 * commands/test.c: Likewise.
28672 * commands/efi/acpi.c: Likewise.
28673 * commands/gptsync.c: Likewise.
28674 * commands/help.c: Likewise.
28675 * partmap/amiga.c: Likewise.
28676 * partmap/apple.c: Likewise.
28677 * partmap/acorn.c: Likewise.
28678 * partmap/pc.c: Likewise.
28679 * partmap/sun.c: Likewise.
28680 * partmap/gpt.c: Likewise.
28681 * script/sh/lexer.c: Likewise.
28682 * script/sh/function.c: Likewise.
28683 * font/font.c: Likewise.
28684 * font/font_cmd.c: Likewise.
28685 * loader/powerpc/ieee1275/linux.c: Likewise.
28686 * loader/efi/chainloader.c: Likewise.
28687 * loader/multiboot_loader.c: Likewise.
28688 * loader/macho.c: Likewise.
28689 * loader/i386/multiboot.c: Likewise.
28690 * loader/i386/linux.c: Likewise.
28691 * loader/i386/pc/linux.c: Likewise.
28692 * loader/i386/pc/multiboot2.c: Likewise.
28693 * loader/i386/pc/chainloader.c: Likewise.
28694 * loader/i386/pc/xnu.c: Likewise.
28695 * loader/i386/bsd_trampoline.S: Likewise.
28696 * loader/i386/efi/linux.c: Likewise.
28697 * loader/i386/multiboot_elfxx.c: Likewise.
28698 * loader/i386/bsd_helper.S: Likewise.
28699 * loader/i386/bsd.c: Likewise.
28700 * loader/i386/linux_trampoline.S: Likewise.
28701 * loader/i386/xnu_helper.S: Likewise.
28702 * loader/i386/xnu.c: Likewise.
28703 * loader/i386/bsd_pagetable.c: Likewise.
28704 * loader/i386/multiboot_helper.S: Likewise.
28705 * loader/xnu.c: Likewise.
28706 * loader/xnu_resume.c: Likewise.
28707 * io/gzio.c: Likewise.
28708 * term/efi/console.c: Likewise.
28709 * term/terminfo.c: Likewise.
28710 * term/ieee1275/ofconsole.c: Likewise.
28711 * term/i386/pc/serial.c: Likewise.
28712 * term/i386/pc/vesafb.c: Likewise.
28713 * term/i386/pc/vga.c: Likewise.
28714 * term/usb_keyboard.c: Likewise.
28715 * term/gfxterm.c: Likewise.
28716 * aclocal.m4: Likewise.
28717 * util/lvm.c: Likewise.
28718 * util/grub.d/30_os-prober.in: Likewise.
28719 * util/grub.d/10_hurd.in: Likewise.
28720 * util/console.c: Likewise.
28721 * util/grub-macho2img.c: Likewise.
28722 * util/grub-probe.c: Likewise.
28723 * util/hostfs.c: Likewise.
28724 * util/i386/pc/grub-mkimage.c: Likewise.
28725 * util/i386/pc/grub-setup.c: Likewise.
28726 * util/i386/efi/grub-mkimage.c: Likewise.
28727 * util/grub-mkconfig.in: Likewise.
28728 * util/raid.c: Likewise.
28729 * util/resolve.c: Likewise.
28730 * util/grub-mkdevicemap.c: Likewise.
28731 * util/grub-emu.c: Likewise.
28732 * util/getroot.c: Likewise.
28733 * util/hostdisk.c: Likewise.
28734 * util/usb.c: Likewise.
28735 * util/grub-editenv.c: Likewise.
28736 * util/misc.c: Likewise.
28737
d2d49665 287382009-06-10 Felix Zielcke <fzielcke@z-51.de>
28739
28740 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
28741 `genparttoollist.sh'.
28742 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
28743 Add `*.sh' to the list find searches for and change `mdate.sh'
28744 to `mdate-sh'.
28745
fe052e37 287462009-06-10 Pavel Roskin <proski@gnu.org>
28747
2763ac18 28748 * include/grub/multiboot2.h: Provide compatibility defines for
28749 multiboot2.h.
28750 * include/multiboot2.h: Include stdint.h only if needed, using
28751 angle brackets.
28752 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
28753 grub/multiboot2.h.
28754 * loader/ieee1275/multiboot2.c: Likewise.
28755 * loader/multiboot2.c: Likewise.
28756 * loader/multiboot_loader.c: Likewise.
28757
437e6adc 28758 * configure.ac: Use -nostdlib when probing for the target. It
28759 should not be required to have libc for the target.
28760
06a6836c 28761 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
28762 they fail without libc headers for the target.
28763 * include/grub/powerpc/libgcc.h: Use weak attribute for all
28764 exports.
28765 * include/grub/sparc64/libgcc.h: Likewise. Don't use
28766 preprocessor conditionals.
28767
fe052e37 28768 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
28769 build system doesn't need to be aware of the tar.c internals.
28770
afd22553 287712009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 28772
afd22553 28773 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 28774
6b787c4f 287752009-06-09 Robert Millan <rmh.grub@aybabtu.com>
28776
28777 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
28778 disk limit to 26 for IDE, Virtio, Xen and SCSI.
28779
287802009-06-09 Felix Zielcke <fzielcke@z-51.de>
28781
28782 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 28783 aren't available if ata.mod gets used.
6b787c4f 28784
473d1e45 287852009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 28786
473d1e45 28787 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 28788 initialising controller.
473d1e45 28789 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 28790
255a27d4 287912009-06-08 Felix Zielcke <fzielcke@z-51.de>
28792
28793 * util/i386/pc/grub-install.in: Add a parameter --disk-module
28794 to choose between ata and biosdisk module on i386-pc.
28795
473d1e45 287962009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 28797
d55842d8 28798 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
28799 Subclass and Programming Interface fields in terms of the 3 byte
28800 Class Code register.
28801 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28802
fa5db0b1 28803 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
28804 interface is OHCI. Add grub_dprintf for symmetry with
28805 bus/usb/uhci.c.
28806 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
28807 interface is UHCI. Add interf variable for programming
28808 interface. Print interface with class/subclass.
28809
c0947beb 28810 * bus/usb/ohci.c: Set interf with correct field.
28811
69da8877 28812 * bus/usb/uhci.c: Remove unneeded doubled lines.
28813 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
28814 Remove whitespace inside comment.
28815
9e172e30 288162009-06-08 Robert Millan <rmh.grub@aybabtu.com>
28817
28818 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
28819 as fallback an equivalent option without depth.
28820
de65ee2b 288212009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28822
28823 Not fail if unable to retrieve C/H/S on LBA disks
28824
473d1e45 28825 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 28826 if unable to retrieve C/H/S on LBA disks
28827
b57ea2c9 288282009-06-08 Pavel Roskin <proski@gnu.org>
28829
28830 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
28831 about aliasing.
28832
af361263 288332009-06-08 Felix Zielcke <fzielcke@z-51.de>
28834
28835 * Makefile.in (uninstall): Remove all $lib_DATA files.
28836
4c9ec6b3 288372009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
28838
28839 Bugfix: install on partitionless device
28840
28841 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
28842 is a whole disk
28843
e76fc924 288442009-06-08 Felix Zielcke <fzielcke@z-51.de>
28845
28846 * Makefile.in (uninstall): Remove all $include_DATA files.
28847
ba5a0d05 288482009-06-08 Felix Zielcke <fzielcke@z-51.de>
28849
28850 * commands/true.c: New file. Implement the true and false commands.
28851 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
28852 (true_mod_SOURCES): New variable.
28853 (true_mod_CFLAGS): Likewise.
28854 (true_mod_LDFLAGS): Likewise.
28855
c8048e32 288562009-06-05 Colin D Bennett <colin@gibibit.com>
28857
28858 Optimized font character lookup using binary search instead of linear
28859 search. Fonts now are required to have the character index ordered by
28860 code point.
28861
28862 * font/font.c (load_font_index): Verify that fonts have ordered
28863 character indices.
28864 (find_glyph): Use binary search instead of linear search to find a
28865 character in a font.
28866
408305be 288672009-06-05 Michael Scherer <misc@mandriva.org>
28868
28869 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
28870 uses case sensitive btree.
28871 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
28872 only for case insensitive filesystems.
28873
8ee1e0d9 288742009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
28875
28876 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
28877 * conf/common.rmk (search_mod_CFLAGS): likewise
28878
a9966eb1 288792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28880
473d1e45 28881 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 28882 compensate a compiler bug
28883
9e7100fb 288842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28885
473d1e45 28886 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 28887 instead of '\b'
473d1e45 28888
ede21d71 288892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28890
28891 Definitions for creating asm symbols with Apple's CC
28892
28893 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
28894 [APPLE_CC] (VARIABLE): likewise
28895
9dbf7653 288962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28897
28898 Disable lnxboot.img when compiled
28899 with Apple's CC
28900
28901 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
28902 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
28903 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
28904 [! APPLE_CC] (CODE_LENG): skip
28905 [! APPLE_CC] (setup_sects): likewise
28906 [! APPLE_CC]: skip filling
473d1e45 28907
e93cdc3d 289082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28909
28910 Address in trampolines based on 32-bit registers when compiled
28911 with Apple's CC
28912
473d1e45 28913 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 28914 for addresses
28915 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
28916
6c688477 289172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28918
28919 Avoid aliases when compiling with Apple's CC for PCBIOS machine
28920
28921 * kern/misc.c [APPLE_CC] (memcpy): new function
28922 [APPLE_CC] (memmove): likewise
28923 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 28924 (memcpy): define alias conditionally on !APPLE_CC
6c688477 28925 (memset): likewise
28926 (abort): likewise
28927 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
28928 APPLE_CC are defined
28929 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
28930 (grub_assert_fail): make prototype conditional
28931
e37ffc5c 289322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28933
28934 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
28935
473d1e45 28936 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
28937 grub-macho2img
e37ffc5c 28938 (CLEANFILES): add grub-macho2img
28939 (grub_macho2img_SOURCES): new variable
28940 * kern/i386/pc/startup.S (bss_start): new variable
28941 (bss_end): likewise
28942 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
28943 * util/grub-macho2img.c: new file
28944
cf00df31 289452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28946
28947 Use objconv when compiling with Apple's CC
28948
28949 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
28950 (efiemu64.o): likewise
28951 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
28952 when compiling with Apple's CC
28953 (efiemu64_s.o): likewise
28954 * configure.ac: check for objconv when compiling with Apple's CC
28955 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 28956
d119a20c 289572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28958
28959 Define segment as well as section when compiling with
28960 Apple's CC
28961
28962 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
28963 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
28964 (efiemu_convert_pointer): likewise
28965 (efiemu_set_virtual_address_map): likewise
28966 (efiemu_convert_pointer): likewise
28967 (efiemu_getcrc32): likewise
28968 (init_crc32_table): likewise
28969 (reflect): likewise
28970 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
28971 (GRUB_MOD_DEP): likewise
473d1e45 28972
c8600122 289732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28974
28975 Allow a compilation without -mcmodel=large
28976
28977 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
28978 when compiled without -mcmodel=large
473d1e45 28979 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 28980 without -mcmodel=large
473d1e45 28981 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 28982 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 28983
e8df1d4e 289842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28985
28986 Remove nested functions in efiemu core
28987
28988 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 28989
cc6c3ac1 289902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
28991
28992 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
28993
28994 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
28995 temporary storage
473d1e45 28996 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
28997 using Apple's CC
cc6c3ac1 28998 (grub_cpu_is_tsc_supported): likewise
28999 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 29000
3e325901 290012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29002
29003 Absolute addressing through constant with Apple's cc
29004
29005 * kern/i386/pc/startup.S: Define necessary constants
29006 and address through it when using ABS with Apple's CC
29007 * boot/i386/pc/diskboot.S: likewise
29008 * boot/i386/pc/boot.S: likewise
29009 * boot/i386/pc/lnxboot.S: likewise
29010 * boot/i386/pc/cdboot.S: likewise
29011 * mmap/i386/pc/mmap_helper.S: likewise
29012 * commands/i386/pc/drivemap_int13h.S: likewise
29013
2b167a72 290142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29015
29016 Check if compiler is apple cc
29017
29018 * Makefile.in (ASFLAGS): new variable
29019 (TARGET_ASFLAGS): likewise
29020 (TARGET_MODULE_FORMAT): likewise
29021 (TARGET_APPLE_CC): likewise
29022 (OBJCONV): likewise
29023 (TARGET_IMG_CFLAGS): likewise
29024 (TARGET_CPPFLAGS): add includedir
29025 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29026 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29027 Check for linker script only if compiler isn't Apple's CC
29028 (TARGET_MODULE_FORMAT): set
29029 (TARGET_APPLE_CC): likewise
29030 (TARGET_ASFLAGS): likewise
29031 (ASFLAGS): likewise
29032 Check for objcopy only if compiler isn't Apple's CC
29033 Check for BSS symbol only if compiler isn't Apple's CC
29034 * genmk.rb: adapt nm options if we use Apple's utils
29035 * aclocal.m4 (grub_apple_cc): new test
29036 (grub_apple_target_cc): likewise
473d1e45 29037
fb14123e 290382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29039
29040 Simplify sed expressions and improve awk
29041
29042 * Makefile.in (install-local): simplify sed expression
29043 * gencmdlist.sh: likewise
29044 * genmoddep.awk: avoid adding module as a dependency of itself
29045
5b889789 290462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29047
29048 Add missing start symbols
29049
29050 * boot/i386/pc/boot.S: add start
fb14123e 29051 * boot/i386/pc/pxeboot.S: likewise
473d1e45 29052
fd2bf2e3 290532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29054
29055 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 29056
29057 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 29058 (relocate_addresses): consider both r_addend and value at offset
29059 (make_mods_section): zerofill modinfo and header
29060 (convert_elf): write prefix here
473d1e45 29061
5389763d 290622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29063
29064 Use .asciz instead of .string
29065
29066 * i386/pc/diskboot.S: use .asciz instead of .string
29067 * i386/pc/boot.S: likewise
29068 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29069 (GRUB_MOD_NAME): likewise
473d1e45 29070
3eb5ed4e 290712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29072
29073 gfxpayload support
29074
29075 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29076 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29077 (grub_video_setup): remove
29078 (grub_video_set_mode): new prototype
29079 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29080 (vid_mode): remove
29081 (linux_vesafb_res): compile only on PCBIOS
29082 (grub_linux_boot): support gfxpayload
29083 * loader/i386/pc/xnu.c (video_hook): new function
29084 (grub_xnu_set_video): support gfxpayload
29085 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29086 (DEFAULT_VIDEO_HEIGHT): likewise
29087 (DEFAULT_VIDEO_FLAGS): likewise
29088 (DEFAULT_VIDEO_MODE): new definition
29089 (video_hook): new function
29090 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 29091 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 29092 loading xnu
29093 * video/video.c (grub_video_setup): removed
473d1e45 29094 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 29095 grub_video_setup
29096
4b0e1143 290972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29098
29099 Avoid calling biosdisk in drivemap
29100
29101 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29102 (revparse_biosdisk): likewise
29103 (list_mappings): derive name from id directly
29104 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 29105
fda6cb98 291062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29107
29108 Script fixes
29109
29110 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29111 (grub_lexer_param): add tokenonhold
29112 (grub_script_create_cmdline): remove cmdline. All callers updated
29113 (grub_script_function_create): make functionname
29114 grub_script_arg. All callers updated
29115 (grub_script_execute_argument_to_string): new prototype
29116 * kern/parser.c (state_transitions): reorder
29117 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 29118 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 29119 make global
29120 (grub_script_execute_cmdline): use new format
29121 * script/sh/function.c (grub_script_function_create): make functionname
29122 grub_script_arg. All callers updated
473d1e45 29123 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 29124 (grub_script_yylex): remove
29125 (grub_script_yylex2): renamed to ...
29126 (grub_script_yylex): ...renamed
29127 parse the expressions like a${b}c
29128 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29129 (GRUB_PARSER_TOKEN_VAR): remove
29130 (GRUB_PARSER_TOKEN_NAME): likewise
29131 ("if"): declare as typeless
29132 ("while"): likewise
29133 ("function"): likewise
29134 ("else"): likewise
29135 ("then"): likewise
29136 ("fi"): likewise
29137 (text): remove
29138 (argument): likewise
29139 (script): accept empty scripts and make exit on error
29140 (arguments): use GRUB_PARSER_TOKEN_ARG
29141 (function): likewise
29142 (command): move error handling to script
29143 (menuentry): move grub_script_lexer_ref before
473d1e45 29144 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 29145 argument. All callers updated
29146
f4448a07 291472009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29148
29149 Prevent GRUB from probing floppies during boot.
29150
29151 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29152 * commands/search.c (options): Add --no-floppy.
29153 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29154 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29155 --no-floppy when searching for UUIDs.
29156
2bf5885a 291572009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29158
29159 Simplify the code duplication in commands/search.c.
29160
29161 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29162 (search_fs): ... this. Update all users.
29163
f6fd460a 291642009-06-03 Felix Zielcke <fzielcke@z-51.de>
29165
29166 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29167
cbb3c83e 291682009-05-28 Pavel Roskin <proski@gnu.org>
29169
57788cfd 29170 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29171 Remove the original symlink explicitly.
29172
cbb3c83e 29173 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29174 just one slash. That's how grub_fshelp_find_file() does it.
29175
cd0d5e30 291762009-05-26 Pavel Roskin <proski@gnu.org>
29177
f0f8bbe2 29178 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29179 to `str'.
29180
cd0d5e30 29181 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29182 possibly unused.
29183
8c2cab51 291842009-05-25 Christian Franke <franke@computer.org>
29185
29186 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29187 register.
29188 (grub_atapi_identify): Add wait after drive select.
29189 (grub_ata_identify): Do more strict status register check before
29190 calling grub_atapi_identify (). Suppress error message if status
29191 register is 0x00 after command failure. Add status register
29192 check after PIO read to avoid bogus identify due to stuck DRQ.
29193 Thanks to Pavel Roskin for testing.
29194 (grub_device_initialize): Remove unsafe status register check.
29195 Thanks to 'phcoder' for problem report and patch.
29196 Prevent sign extension in debug message.
29197
230c0ad6 291982009-05-23 Colin D Bennett <colin@gibibit.com>
29199
29200 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29201 definition file, and functions defined in `normal/menu.c' have had
29202 their prototypes moved to `include/grub/menu.h' for consistency.
29203
29204 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29205 from normal.h.
29206 (grub_menu_get_entry): Likewise.
29207 (grub_menu_get_timeout): Likewise.
29208 (grub_menu_set_timeout): Likewise.
29209 (grub_menu_execute_entry): Likewise.
29210 (grub_menu_execute_with_fallback): Likewise.
29211 (grub_menu_entry_run): Likewise.
29212
29213 * include/grub/normal.h: Re-ordered and grouped function
29214 prototypes by file that the function is defined in.
29215 (grub_menu_execute_callback): Removed; moved to menu.h.
29216 (grub_menu_get_entry): Likewise.
29217 (grub_menu_get_timeout): Likewise.
29218 (grub_menu_set_timeout): Likewise.
29219 (grub_menu_execute_entry): Likewise.
29220 (grub_menu_execute_with_fallback): Likewise.
29221 (grub_menu_entry_run): Likewise.
29222 (grub_menu_addentry): Renamed from this ...
29223 (grub_normal_add_menu_entry): ... to this.
29224
29225 * normal/main.c (grub_menu_addentry): Renamed from this ...
29226 (grub_normal_add_menu_entry): ... to this.
29227
29228 * script/sh/execute.c (grub_script_execute_menuentry): Update
29229 reference to renamed grub_menu_addentry function.
29230
861f03a5 292312009-05-23 Felix Zielcke <fzielcke@z-51.de>
29232
29233 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29234
96b1619a 292352009-05-22 Pavel Roskin <proski@gnu.org>
29236
bf6a5fb2 29237 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29238 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29239 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29240 compiling for the i386 targets, but not for the utilities.
29241
96b1619a 29242 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
29243 to grub_uint8_t.
29244 (grub_root_drive): Likewise.
29245 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
29246 remove alignment.
29247 (grub_root_drive): Change size to byte.
29248 (grub_start_addr): Remove.
29249 (grub_end_addr): Likewise.
29250 (grub_apm_bios_info): Likewise.
29251
b729776b 292522009-05-21 Felix Zielcke <fzielcke@z-51.de>
29253
29254 * normal/i386: Remove.
29255 * normal/powerpc: Likewise.
29256 * normal/sparc64: Likewise.
29257 * normal/x86_64: Likewise.
29258
0a15ce80 292592009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
29260
29261 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 29262 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 29263 * loader/i386/xnu_helper.S: Likewise
d6da58e6 29264
33db9015 292652009-05-18 Colin D Bennett <colin@gibibit.com>
29266
d6da58e6 29267 Display error messages when parsing a Lua statement fails.
29268 Previously, executing a syntactically invalid statement like
29269 ")foo" or "bar;" would silently fail.
33db9015 29270
29271 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 29272 (grub_lua_parse_line): Improved reporting of Lua parser and
29273 execution errors.
33db9015 29274
46422c89 292752009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29276
29277 Remove -Werror which causes build to fail on some systems
29278
29279 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
29280 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
29281 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 29282
22f53a96 292832009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29284
29285 trampoline for linux on 64-bit platform
29286
18f547ad 29287 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
29288 loader/i386/efi/linux_trampoline.S
29289 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 29290 declaration
d6da58e6 29291 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
29292 here
22f53a96 29293 * loader/i386/linux_trampoline.S: moved here
d6da58e6 29294 * loader/i386/efi/linux.c (allocate_pages): reserve space for
29295 trampoline
22f53a96 29296 (jumpvector): removed
29297 (grub_linux_trampoline_start): new declaration
29298 (grub_linux_trampoline_end): likewise
29299 (grub_linux_boot): use trampoline when on 64-bit platform
29300 * loader/i386/linux.c: likewise
29301
cb5a0f40 293022009-05-16 Pavel Roskin <proski@gnu.org>
29303
29304 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
29305 const to avoid a warning.
29306 (grub_lua_setenv): Likewise.
29307 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
29308 lmsg to fix a warning.
29309
334f2c28 293102009-05-16 Felix Zielcke <fzielcke@z-51.de>
29311
29312 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 29313 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29314 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
29315 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29316 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29317 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29318 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29319 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 29320
59e5d3ec 293212009-05-16 Felix Zielcke <fzielcke@z-51.de>
29322
29323 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
29324
9d87a1ba 293252009-05-16 Bean <bean123ch@gmail.com>
29326
29327 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
29328 (lua_mod_SOURCES): New variable.
29329 (lua_mod_CFLAGS): Likewise.
29330 (lua_mod_LDFLAGS): Likewise.
29331
29332 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
29333 (setjmp_mod_SOURCES): New variable.
29334 (setjmp_mod_CFLAGS): Likewise.
29335 (setjmp_LDFLAGS): Likewise.
29336
29337 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
29338 (setjmp_mod_SOURCES): New variable.
29339 (setjmp_mod_CFLAGS): Likewise.
29340 (setjmp_LDFLAGS): Likewise.
29341
29342 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29343 (setjmp_mod_SOURCES): New variable.
29344 (setjmp_mod_CFLAGS): Likewise.
29345 (setjmp_LDFLAGS): Likewise.
29346
29347 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29348 (setjmp_mod_SOURCES): New variable.
29349 (setjmp_mod_CFLAGS): Likewise.
29350 (setjmp_LDFLAGS): Likewise.
29351
29352 * normal/i386/setjmp.S: Moved from here ...
29353 * lib/i386/setjmp.S: ... Moved here
29354 * normal/x86_64/setjmp.S: Moved from here ...
29355 * lib/x86_64/setjmp.S: ... Moved here
29356 * normal/powerpc/setjmp.S: Moved from here ...
29357 * lib/powerpc/setjmp.S: ... Moved here
29358 * normal/sparc64/setjmp.S: Moved from here ...
29359 * lib/sparc64/setjmp.S: ... Moved here
29360
29361 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
29362 returns_twice in mingw.
29363
29364 * script/lua/grub_lib.c: New file.
29365 * script/lua/grub_lib.h: Likewise.
29366 * script/lua/grub_lua.h: Likewise.
29367 * script/lua/grub_main.c: Likewise.
29368 * script/lua/lapi.c: Likewise.
29369 * script/lua/lapi.h: Likewise.
29370 * script/lua/lauxlib.c: Likewise.
29371 * script/lua/lauxlib.h: Likewise.
29372 * script/lua/lbaselib.c: Likewise.
29373 * script/lua/lcode.c: Likewise.
29374 * script/lua/lcode.h: Likewise.
29375 * script/lua/ldblib.c: Likewise.
29376 * script/lua/ldebug.c: Likewise.
29377 * script/lua/ldebug.h: Likewise.
29378 * script/lua/ldo.c: Likewise.
29379 * script/lua/ldo.h: Likewise.
29380 * script/lua/ldump.c: Likewise.
29381 * script/lua/lfunc.c: Likewise.
29382 * script/lua/lfunc.h: Likewise.
29383 * script/lua/lgc.c: Likewise.
29384 * script/lua/lgc.h: Likewise.
29385 * script/lua/linit.c: Likewise.
29386 * script/lua/liolib.c: Likewise.
29387 * script/lua/llex.c: Likewise.
29388 * script/lua/llex.h: Likewise.
29389 * script/lua/llimits.h: Likewise.
29390 * script/lua/lmathlib.c: Likewise.
29391 * script/lua/lmem.c: Likewise.
29392 * script/lua/lmem.h: Likewise.
29393 * script/lua/loadlib.c: Likewise.
29394 * script/lua/lobject.c: Likewise.
29395 * script/lua/lobject.h: Likewise.
29396 * script/lua/lopcodes.c: Likewise.
29397 * script/lua/lopcodes.h: Likewise.
29398 * script/lua/loslib.c: Likewise.
29399 * script/lua/lparser.c: Likewise.
29400 * script/lua/lparser.h: Likewise.
29401 * script/lua/lstate.c: Likewise.
29402 * script/lua/lstate.h: Likewise.
29403 * script/lua/lstring.c: Likewise.
29404 * script/lua/lstring.h: Likewise.
29405 * script/lua/lstrlib.c: Likewise.
29406 * script/lua/ltable.c: Likewise.
29407 * script/lua/ltable.h: Likewise.
29408 * script/lua/ltablib.c: Likewise.
29409 * script/lua/ltm.c: Likewise.
29410 * script/lua/ltm.h: Likewise.
29411 * script/lua/lua.h: Likewise.
29412 * script/lua/luaconf.h: Likewise.
29413 * script/lua/lualib.h: Likewise.
29414 * script/lua/lundump.c: Likewise.
29415 * script/lua/lundump.h: Likewise.
29416 * script/lua/lvm.c: Likewise.
29417 * script/lua/lvm.h: Likewise.
29418 * script/lua/lzio.c: Likewise.
29419 * script/lua/lzio.h: Likewise.
29420
5e898c9d 294212009-05-16 Bean <bean123ch@gmail.com>
29422
29423 * include/grub/kernel.h (grub_module_header_types): Add type
29424 OBJ_TYPE_CONFIG.
29425
29426 * kern/main.c (grub_load_config): New function.
29427 (grub_main): Call grub_load_config to read boot config.
29428
29429 * grub-mkimage (generate_image): New parameter config_path.
29430 (options): New option --config.
29431 (main): Parse --config option, and pass it to generate_image.
29432
cf353a47 294332009-05-14 Christian Franke <franke@computer.org>
29434
29435 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
29436 This fixes build on Cygwin.
29437
3834887f 294382009-05-14 Pavel Roskin <proski@gnu.org>
29439
29440 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
29441 jump. This saves two bytes, so the typical case of 2 swapped
29442 drives would fit 32 bytes.
29443
8090fc01 294442009-05-13 Pavel Roskin <proski@gnu.org>
29445
ac963883 29446 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
29447 grub_uint32_t to avoid a warning.
29448
8090fc01 29449 * loader/i386/linux.c (allocate_pages): When assigning
29450 real_mode_mem, cast through grub_size_t to fix a warning. The
29451 code already makes sure that the value would fit a pointer.
29452 (grub_linux_setup_video): Cast render_target->data to
29453 grub_size_t to fix a warning.
29454
18f547ad 294552009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 29456
29457 * commands/i386/pc/drivemap.c: New file - implement drivemap
29458 command.
29459 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
29460 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
29461
6f6a8b28 294622009-05-13 Pavel Roskin <proski@gnu.org>
29463
29464 * util/i386/pc/grub-setup.c (setup): Remove unused variable
29465 embedding_area_exists.
29466
15fbf4c4 294672009-05-13 Robert Millan <rmh.grub@aybabtu.com>
29468
29469 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
29470 it easier to understand / work with.
59978c8a 29471 Improve warning messages for cases where there's no embedding area,
29472 or when it is too small (or core.img too large).
15fbf4c4 29473
238e871f 294742009-05-13 Pavel Roskin <proski@gnu.org>
29475
0ab3a9a4 29476 * loader/i386/pc/multiboot2.c: Add necessary includes for
29477 grub_multiboot2_real_boot().
29478
a2c8c5f8 29479 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
29480 PX record is always little-endian. We only need the lower 2
29481 bytes of the mode.
29482
faec96af 29483 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
29484 facilitate code reuse.
29485 (grub_cpio_mount): Use "struct head", not a char buffer. This
29486 fixes a warning reported by gcc 4.4.
29487
238e871f 29488 * kernel/disk.c (grub_disk_read): Use void pointer for the
29489 buffer.
29490 (grub_disk_write): Use const void pointer for the buffer.
29491 Adjust all callers. Remove unnecessary casts.
29492
901d2f0c 294932009-05-10 Robert Millan <rmh.grub@aybabtu.com>
29494
29495 * util/i386/pc/grub-install.in: Update copyright year.
29496
18f547ad 294972009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 29498
29499 gptsync
29500
29501 * commands/gptsync.c: new file
29502 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
29503 (gptsync_mod_SOURCES): new variable
29504 (gptsync_mod_CFLAGS): likewise
29505 (gptsync_mod_LDFLAGS): likewise
18f547ad 29506 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 29507 new definition
29508 (GRUB_PC_PARTITION_TYPE_HFS): likewise
29509 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
29510 * conf/i386-ieee1275.rmk: likewise
29511 * conf/i386-pc.rmk: likewise
29512 * conf/powerpc-ieee1275.rmk: likewise
29513
b4ba690a 295142009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
29515
29516 Fixed grub-emu
29517
29518 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
29519 (grub_dl_ref): likewise
29520
317e1a44 295212009-05-08 Robert Millan <rmh.grub@aybabtu.com>
29522
29523 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
29524 split in two functions (one for msdos and one for gpt).
29525
041b8094 295262009-05-08 Pavel Roskin <proski@gnu.org>
29527
752473c2 29528 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
29529 not modified.
29530
041b8094 29531 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
29532 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
29533 Initialize them with -1. Add sanity check for bad1. Eliminate
29534 nerr variable.
29535
172800ce 295362009-05-08 David S. Miller <davem@davemloft.net>
29537
29538 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
29539
29aa5e81 295402009-05-06 Robert Millan <rmh.grub@aybabtu.com>
29541
29542 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 29543 existence.
29aa5e81 29544
96613b62 295452009-05-05 Felix Zielcke <fzielcke@z-51.de>
29546
29547 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 29548 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 29549
eef73c8a 295502009-05-05 David S. Miller <davem@davemloft.net>
29551
29552 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
29553
119494b5 295542009-05-05 Pavel Roskin <proski@gnu.org>
29555
29556 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
29557 of grub_dl_ref() and grub_dl_unref().
29558 * commands/parttool.c: Remove preprocessor conditionals around
29559 grub_dl_ref() and grub_dl_unref().
29560 * fs/affs.c: Likewise.
29561 * fs/afs.c: Likewise.
29562 * fs/cpio.c: Likewise.
29563 * fs/ext2.c: Likewise.
29564 * fs/fat.c: Likewise.
29565 * fs/hfs.c: Likewise.
29566 * fs/hfsplus.c: Likewise.
29567 * fs/iso9660.c: Likewise.
29568 * fs/jfs.c: Likewise.
29569 * fs/minix.c: Likewise.
29570 * fs/ntfs.c: Likewise.
29571 * fs/reiserfs.c: Likewise.
29572 * fs/sfs.c: Likewise.
29573 * fs/udf.c: Likewise.
29574 * fs/ufs.c: Likewise.
29575 * fs/xfs.c: Likewise.
29576 * include/grub/dl.h: Likewise.
29577 * loader/xnu.c: Likewise.
29578
de5fd76e 295792009-05-04 Pavel Roskin <proski@gnu.org>
29580
29581 * commands/acpi.c: Remove unused variable my_mod.
29582 * partmap/amiga.c: Likewise.
29583 * partmap/apple.c: Likewise.
29584 * partmap/gpt.c: Likewise.
29585 * partmap/pc.c: Likewise.
29586 * partmap/sun.c: Likewise.
29587 * term/gfxterm.c: Likewise.
29588 * term/i386/pc/vesafb.c: Likewise.
29589 * term/i386/pc/vga.c: Likewise.
29590
983598ad 295912009-05-04 David S. Miller <davem@davemloft.net>
29592
29593 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
29594 pointer args to grub_ieee1275_get_property().
29595
8aadec43 29596 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
29597
9554b15e 29598 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
29599 devices, and do not traverse down under controller nodes.
29600
67e23c90 29601 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
29602 (grub_ofdisk_open): Use it to un-escape "," characters.
29603 * kern/disk.c (find_part_sep): New.
29604 (grub_disk_open): Use it to find the first non-escaped ','
29605 character in the disk name.
29606 * util/ieee1275/devicemap.c (escape_of_path): New.
29607 (grub_util_emit_devicemap_entry): Use it.
29608 * util/sparc64/ieee1275/grub-install.in: Update script to
29609 strip partition specifiers properly by not triggering on
29610 '\' escaped ',' characters.
29611
74bfdd2f 296122009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29613
29614 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
29615 to 0x300.
29616 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
29617 resolutions.
29618 (linux_vesafb_modes): Add a lot of additional modes to the list (based
29619 on documentation from Wikipedia).
29620
4241d2b1 296212009-05-04 Pavel Roskin <proski@gnu.org>
29622
29623 * disk/ata.c: Spelling fixes.
29624 * disk/raid.c: Likewise.
29625 * disk/usbms.c: Likewise.
29626 * disk/dmraid_nvidia.c: Likewise.
29627 * kern/ieee1275/openfw.c: Likewise.
29628 * kern/ieee1275/init.c: Likewise.
29629 * kern/ieee1275/cmain.c: Likewise.
29630 * boot/i386/pc/cdboot.S: Likewise.
29631 * video/readers/png.c: Likewise.
29632 * video/i386/pc/vbe.c: Likewise.
29633 * fs/udf.c: Likewise.
29634 * fs/hfs.c: Likewise.
29635 * fs/reiserfs.c: Likewise.
29636 * efiemu/runtime/efiemu.c: Likewise.
29637 * efiemu/main.c: Likewise.
29638 * efiemu/mm.c: Likewise.
29639 * include/grub/elf.h: Likewise.
29640 * include/grub/xnu.h: Likewise.
29641 * include/grub/usbdesc.h: Likewise.
29642 * include/grub/usb.h: Likewise.
29643 * include/grub/script_sh.h: Likewise.
29644 * include/grub/lib/LzmaEnc.h: Likewise.
29645 * include/grub/efiemu/efiemu.h: Likewise.
29646 * include/grub/command.h: Likewise.
29647 * normal/menu.c: Likewise.
29648 * normal/main.c: Likewise.
29649 * normal/datetime.c: Likewise.
29650 * bus/usb/uhci.c: Likewise.
29651 * mmap/i386/uppermem.c: Likewise.
29652 * mmap/mmap.c: Likewise.
29653 * commands/acpi.c: Likewise.
29654 * commands/test.c: Likewise.
29655 * partmap/apple.c: Likewise.
29656 * font/font.c: Likewise.
29657 * loader/sparc64/ieee1275/linux.c: Likewise.
29658 * loader/macho.c: Likewise.
29659 * loader/i386/bsd_trampoline.S: Likewise.
29660 * loader/i386/bsd.c: Likewise.
29661 * loader/xnu.c: Likewise.
29662 * term/i386/pc/vesafb.c: Likewise.
29663 * term/usb_keyboard.c: Likewise.
29664 * util/resolve.c: Likewise.
29665 * util/getroot.c: Likewise.
29666
0cfc0083 296672009-05-04 Felix Zielcke <fzielcke@z-51.de>
29668
29669 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
29670
7c1d00cd 296712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29672
29673 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
29674 build error.
29675
b01f0548 296762009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29677
29678 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
29679 parameter only available on BIOS.
29680
ecc3eb22 296812009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29682
29683 Removed wrong semicolon in declaration
29684
29685 * grub/misc.h (grub_dprintf): remove semicolon
29686
112972a9 296872009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29688
29689 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
29690 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
29691 is done by grub_cmd_linux() now).
29692 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
29693 restore video to text mode.
29694 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
29695 indicates lack of "vga=" parameter. "vga=0" is mapped to
29696 `GRUB_LINUX_VID_MODE_NORMAL'.
29697
afd5c115 296982009-05-04 Felix Zielcke <fzielcke@z-51.de>
29699
29700 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
29701 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
29702 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 29703 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 29704 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
29705 `grub_script.tab.c'.
29706
29707 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29708 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29710 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29711 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29712
faa517ce 29713 * Makefile.in: Remove duplicated 2008 in Copyright line.
29714
ae0c0bdc 297152009-05-04 Robert Millan <rmh.grub@aybabtu.com>
29716
473d1e45 29717 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 29718 unconditionally.
29719 * include/grub/util/misc.h (grub_util_warn): New declaration.
29720
29721 * util/i386/pc/grub-install.in: Understand --force and pass it down
29722 to grub-setup.
29723
29724 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
29725 down to setup().
29726 (setup): Improve error messages and add warnings when requested to
29727 install in odd layouts. Refuse to install using blocklists unless
29728 --force was set.
29729
18f547ad 297302009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 29731
29732 * disk/raid.c (grub_raid_scan_device): Improve debug message.
29733
6d260daa 297342009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29735
29736 Updated copyright year
29737
29738 * fs/hfsplus.c: updated copyright year
18f547ad 29739
69f853f8 297402009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
29741
29742 HFS+ UUID
29743
18f547ad 29744 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 29745 in the space previously used by unused3
29746 (grub_hfsplus_uuid): new function
29747 (grub_hfsplus_fs): added uuid field
29748
4c402e73 297492009-05-03 Pavel Roskin <proski@gnu.org>
29750
29751 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
29752 suppress warnings. It's no longer needed.
29753 * disk/host.c: Likewise.
29754 * disk/ata_pthru.c: Likewise.
29755 * disk/loopback.c: Likewise.
29756 * hook/datehook.c: Likewise.
29757 * parttool/pcpart.c: Likewise.
29758 * fs/i386/pc/pxe.c: Likewise.
29759 * fs/ntfscomp.c: Likewise.
29760 * efiemu/main.c: Likewise.
29761 * mmap/mmap.c: Likewise.
29762 * commands/crc.c: Likewise.
29763 * commands/hexdump.c: Likewise.
29764 * commands/hdparm.c: Likewise.
29765 * commands/acpi.c: Likewise.
29766 * commands/echo.c: Likewise.
29767 * commands/minicmd.c: Likewise.
29768 * commands/blocklist.c: Likewise.
29769 * commands/memrw.c: Likewise.
29770 * commands/loadenv.c: Likewise.
29771 * commands/usbtest.c: Likewise.
29772 * commands/lsmmap.c: Likewise.
29773 * commands/boot.c: Likewise.
29774 * commands/parttool.c: Likewise.
29775 * commands/configfile.c: Likewise.
29776 * commands/search.c: Likewise.
29777 * commands/ieee1275/suspend.c: Likewise.
29778 * commands/cat.c: Likewise.
29779 * commands/i386/pc/pxecmd.c: Likewise.
29780 * commands/i386/pc/play.c: Likewise.
29781 * commands/i386/pc/halt.c: Likewise.
29782 * commands/i386/pc/vbeinfo.c: Likewise.
29783 * commands/i386/pc/vbetest.c: Likewise.
29784 * commands/lspci.c: Likewise.
29785 * commands/date.c: Likewise.
29786 * commands/handler.c: Likewise.
29787 * commands/ls.c: Likewise.
29788 * commands/test.c: Likewise.
29789 * commands/cmp.c: Likewise.
29790 * commands/efi/loadbios.c: Likewise.
29791 * commands/efi/fixvideo.c: Likewise.
29792 * commands/halt.c: Likewise.
29793 * commands/help.c: Likewise.
29794 * commands/reboot.c: Likewise.
29795 * hello/hello.c: Likewise.
29796 * script/sh/main.c: Likewise.
29797 * loader/xnu.c: Likewise.
29798 * term/terminfo.c: Likewise.
29799 * term/i386/pc/serial.c: Likewise.
29800 * term/usb_keyboard.c: Likewise.
29801
515b5079 298022009-05-03 David S. Miller <davem@davemloft.net>
29803
29804 * normal/menu.c: Include grub/parser.h
29805
dfc31a22 298062009-05-03 Pavel Roskin <proski@gnu.org>
29807
2fee74f1 29808 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
29809 not char*.
29810 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
29811 Suggested by Javier Martín <lordhabbit@gmail.com>
29812
dfc31a22 29813 * util/i386/pc/grub-mkrescue.in: Allow for the case when
29814 efiemu??.o doesn't exist.
29815 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
29816 copying.
29817
18f547ad 298182009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 29819
29820 FreeBSD 64-bit support
29821
18f547ad 29822 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 29823 and loader/i386/bsd_trampoline.S
29824 (bsd_mod_ASFLAGS): new variable
29825 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
29826 (FREEBSD_MODTYPE_KERNEL64): likewise
29827 (grub_bsd64_trampoline_start): likewise
29828 (grub_bsd64_trampoline_end): likewise
29829 (grub_bsd64_trampoline_selfjump): likewise
29830 (grub_bsd64_trampoline_gdt): likewise
29831 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
29832 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
29833 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
29834 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 29835 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 29836 of "attrib" member
29837 * loader/i386/bsd_pagetable.c: new file
29838 * loader/i386/bsd_trampoline.S: likewise
29839 * loader/i386/bsd.c (ALIGN_QWORD): new macro
29840 (ALIGN_VAR): likewise
29841 (entry_hi): new variable
29842 (kern_end_mdofs): likewise
29843 (is_64bit): likewise
29844 (grub_freebsd_add_meta): use ALIGN_VAR
29845 (grub_e820_mmap): new declaration
29846 (grub_freebsd_add_mmap): new function
29847 (grub_freebsd_add_meta_module): support 64 bit kernels
29848 (grub_freebsd_list_modules): use ALIGN_VAR
29849 (gdt_descriptor): new declaration
29850 (grub_freebsd_boot): support 64 bit kernels
29851 (grub_bsd_elf64_hook): new function
29852 (grub_bsd_load_elf): support elf64
29853
038c5720 298542009-05-03 Bean <bean123ch@gmail.com>
29855
29856 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
29857 after we get the result of if statement.
29858
fc45fb58 298592009-05-03 Bean <bean123ch@gmail.com>
29860
29861 * Makefile.in (enable_efiemu): New variable.
29862
29863 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
29864 set.
29865 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
29866 path.
29867 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
29868 path, add -mno-red-zone option.
29869 (efiemu64_s.o): Likewise.
29870 (efiemu64.o): Use macro $^ for source file.
29871
29872 * configure.ac (--enable-efiemu): New option.
29873
bbee0f2b 298742009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
29875
29876 xnu support
29877
29878 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
29879 (pkglib_MODULES): add xnu.mod
29880 (xnu_mod_SOURCES): new variable
29881 (xnu_mod_CFLAGS): likewise
29882 (xnu_mod_LDFLAGS): likewise
29883 (xnu_mod_ASFLAGS): likewise
29884 * conf/i386-pc.rmk: likewise
29885 * conf/x86_64-efi.rmk: likewise
7dd4a573 29886 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 29887 new declaration
29888 * include/grub/i386/macho.h: new file
29889 * include/grub/i386/xnu.h: likewise
29890 * include/grub/macho.h: likewise
29891 * include/grub/machoload.h: likewise
29892 * include/grub/x86_64/macho.h: likewise
29893 * include/grub/x86_64/xnu.h: likewise
29894 * include/grub/xnu.h: likewise
29895 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
29896 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
29897 * loader/i386/efi/xnu.c: new file
29898 * loader/i386/pc/xnu.c: likewise
29899 * loader/i386/xnu.c: likewise
29900 * loader/i386/xnu_helper.S: likewise
29901 * loader/macho.c: likewise
29902 * loader/xnu.c: likewise
29903 * loader/xnu_resume.c: likewise
29904 * util/grub-dumpdevtree: likewise
29905 * include/grub/i386/pit.h: include grub/err.h
29906 (grub_pit_wait): export
29907 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 29908
5caf964d 299092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
29910
29911 Efiemu
7dd4a573 29912
5caf964d 29913 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 29914 _linux_efi, linux_efi.
29915 new files in grub-emu
5caf964d 29916 new targets efiemu32.o and efiemu64.o
29917 * loader/linux_normal_efiemu.c: likewise
29918 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 29919 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 29920 files to copy
29921 * include/grub/autoefi.h: new file
7dd4a573 29922 * include/grub/i386/efiemu.h: likewise
5caf964d 29923 * include/grub/i386/pc/efiemu.h: likewise
29924 * include/grub/efi/api.h: add LL suffix when necessary
29925 new definitions relating to tables
29926 * include/grub/efiemu/efiemu.h: new file
29927 * include/grub/efiemu/runtime.h: likewise
29928 * efiemu/prepare.c: likewise
29929 * efiemu/loadcore_common.c: likewise
29930 * efiemu/loadcore64.c: likewise
29931 * efiemu/runtime/efiemu.sh: likewise
29932 * efiemu/runtime/efiemu.S: likewise
29933 * efiemu/runtime/efiemu.c: likewise
29934 * efiemu/runtime/config.h: likewise
29935 * efiemu/prepare32.c: likewise
29936 * efiemu/main.c: likewise
29937 * efiemu/modules/pnvram.c: likewise
29938 * efiemu/modules/i386: likewise
29939 * efiemu/modules/i386/pc: likewise
29940 * efiemu/modules/acpi.c: likewise
29941 * efiemu/i386/pc/cfgtables.c: likewise
29942 * efiemu/i386/loadcore64.c: likewise
29943 * efiemu/i386/loadcore32.c: likewise
29944 * efiemu/prepare64.c: likewise
29945 * efiemu/loadcore.c: likewise
29946 * efiemu/symbols.c: likewise
29947 * efiemu/mm.c: likewise
29948 * efiemu/loadcore32.c: likewise
7dd4a573 29949
299502009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 29951
29952 ACPI spoofing
29953
29954 * commands/acpi.c: new file
29955 * commands/i386/pc/acpi.c: likewise
29956 * commands/efi/acpi.c: likewise
29957 * include/grub/acpi.h: likewise
29958 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
29959 (acpi_mod_SOURCES): new variable
29960 (acpi_mod_CFLAGS): likewise
29961 (acpi_mod_LDFLAGS): likewise
29962 * conf/i386-efi.rmk: likewise
29963 * conf/x86_64-efi.rmk: likewise
29964
7dd4a573 299652009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 29966
29967 Missing part from mmap patch
29968
29969 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
29970 (grub_mmap_unregister)
29971 (grub_mmap_free_and_unregister): use grub_mmap_register
29972
7dd4a573 299732009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 29974
29975 Mmap services
29976
29977 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
29978 * loader/i386/linux.c (find_mmap_size): likewise
29979 (allocate_pages): likewise
29980 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
29981 (grub_fill_multiboot_mmap): likewise
29982 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
29983 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
29984 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
29985 (OPENBSD_MMAP_RESERVED): likewise
29986 * include/grub/i386/pc/memory.h: include grub/memory.h
29987 (grub_lower_mem): removed
29988 (grub_upper_mem): likewise
29989 (GRUB_MACHINE_MEMORY_ACPI): new definition
29990 (GRUB_MACHINE_MEMORY_NVS): likewise
29991 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
29992 (GRUB_MACHINE_MEMORY_HOLE): likewise
29993 (grub_machine_mmap_register): likewise
29994 (grub_machine_mmap_unregister): likewise
29995 (grub_machine_get_upper): likewise
29996 (grub_machine_get_lower): likewise
29997 (grub_machine_get_post64): likewise
29998 * include/grub/i386/efi/memory.h: new file
29999 * include/grub/x86_64/efi/memory.h: likewise
30000 * include/grub/efi/memory.h: likewise
30001 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30002 (mmap_mod_SOURCES): new variable
30003 (mmap_mod_LDFLAGS): likewise
30004 (mmap_mod_ASFLAGS): likewise
30005 * conf/i386-coreboot.rmk: likewise
30006 * conf/i386-ieee1275.rmk: likewise
30007 * conf/i386-efi.rmk: likewise
30008 * conf/x86_64-efi.rmk: likewise
30009 * include/grub/types.h (UINT_TO_PTR): new macro
30010 (PTR_TO_UINT32): likewise
30011 (PTR_TO_UINT64): likewise
30012 * include/grub/memory.h: new file
30013 * mmap/i386/pc/mmap.c: likewise
30014 * mmap/i386/pc/mmap_helper.S: likewise
30015 * mmap/i386/uppermem.c: likewise
30016 * mmap/mmap.c: likewise
30017 * mmap/efi/mmap.c: likewise
7dd4a573 30018 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 30019 grub_upper_mem
30020 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30021 (grub_upper_mem): likewise
30022 (grub_machine_init): don't use grub_upper_mem,
30023 make grub_lower_mem local
30024 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30025 grub_mmap_iterate and grub_mmap_get_upper
30026 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30027
d558e6b5 300282009-05-02 Bean <bean123ch@gmail.com>
30029
30030 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30031 script/sh/parser.y.
30032 (pkglib_MODULES): Add normal.mod and sh.mod.
30033 (normal_SOURCES): New variable.
30034 (normal_mod_CFLAGS): Likewise.
30035 (normal_mod_LDFLAGS): Likewise.
30036 (sh_mod_SOURCES): Likewise.
30037 (sh_mod_CFLAGS): Likewise.
30038 (sh_mod_LDFLAGS): Likewise.
30039
30040 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30041 script/sh/lexer.c_DEPENDENCIES.
30042 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30043 kern/rescue_reader.c and kern/rescue_parser.c.
30044 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30045 (grub_emu_SOURCES): Change source files.
30046 (pkglib_MODULES): Remove normal.mod.
30047 (normal_SOURCES): Removed.
30048 (normal_mod_CFLAGS): Likewise.
30049 (normal_mod_LDFLAGS): Likewise.
30050 * conf/i386-coreboot.rmk: Likewise.
30051 * conf/i386-efi.rmk: Likewise.
30052 * conf/i386-ieee1276.rmk: Likewise.
30053 * conf/powerpc-ieee1275.rmk: Likewise.
30054 * conf/sparc64-ieee1275.rmk: Likewise.
30055 * conf/x86_64-efi.rmk: Likewise.
30056
30057 * include/grub/command.h (grub_command_execute): New inline function.
30058
30059 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30060
30061 * include/grub/normal.h: Remove <grub/setjmp.h>.
30062 (grub_fs_module_list): Moved to normal/autofs.c.
30063 (grub_exit_env): Removed.
30064 (grub_command_execute): Likewise.
30065 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30066 parameter script.
30067 (read_command_list): New function declaration.
30068 (read_fs_list): Likewise.
30069
30070 * include/parser.h: Include <grub/reader.h>.
30071 (grub_parser_split_cmdline): Change type of getline parameter.
30072 (grub_parser): New structure.
30073 (grub_parser_class): New variable.
30074 (grub_parser_execute): New function declaration.
30075 (grub_register_rescue_parser): Likewise.
30076 (grub_parser_register): New inline function.
30077 (grub_parser_unregister): Likewise.
30078 (grub_parser_get_current): Likewise.
30079 (grub_parser_set_current): Likewise.
30080
30081 * include/grub/reader.h: New file.
30082 * kern/reader.c: Likewise.
30083 * kern/rescue_parser.c: Likewise.
30084 * kern/rescue_reader.c: Likewise.
30085 * normal/autofs.c: Likewise.
30086 * normal/dyncmd.c: Likewise.
30087
30088 * include/grub/rescue.h: Removed.
30089 * normal/command.h: Likewise.
30090
30091 * include/grub/script.h: Moved to ...
30092 * include/grub/script_sh.h: ... Moved here.
30093 * normal/execute.c: Moved to ...
30094 * script/sh/execute.c: ... Moved here.
30095 * normal/function.c: Moved to ...
30096 * script/sh/function.c: ... Moved here.
30097 * normal/lexer.c: Moved to ...
30098 * script/sh/lexer.c: ... Moved here.
30099 * normal/parser.y: Moved to ...
30100 * script/sh/parser.y: ... Moved here.
30101 * normal/script.c: Moved to ...
30102 * script/sh/script.c: ... Moved here.
30103
30104 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30105 <grub/reader.h>.
30106 (grub_exit_env): Removed.
30107 (fs_module_list): Moved to normal/autofs.c.
30108 (grub_file_getline): Don't handle comment here.
30109 (free_menu): Skip removed field entry->commands.
30110 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30111 script parameter.
30112 (read_config_file): Removed nested parameter, change getline function.
30113 (grub_enter_normal_mode): Removed.
30114 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30115 (read_command_list): Likewise.
30116 (autoload_fs_module): Moved to normal/autofs.c.
30117 (read_fs_list): Likewise.
30118 (reader_nested): New variable.
30119 (grub_normal_execute): Run parser.sh to switch to sh parser.
30120 (grub_cmd_rescue): Removed.
30121 (cmd_normal): Removed.
30122 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30123 rescue command.
30124 (grub_cmdline_run): New function.
30125 (grub_normal_reader_init): Likewise.
30126 (grub_normal_read_line): Likewise.
30127 (grub_env_write_pager): Likewise.
30128 (cmdline): New variable.
30129 (grub_normal_reader): Likewise.
30130 (GRUB_MOD_INIT): Register normal reader and set as current, register
30131 pager hook, register normal command with grub_register_command_prio,
30132 so that it won't show up in command.lst.
30133 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30134 grub_fs_autoload_hook.
30135
30136 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30137 (grub_menu_execute_entry): Replace grub_script_execute with
30138 grub_parser_execute, change parameter to grub_command_execute.
30139
30140 * normal/menu_text.c: Remove <grub/script.h>.
30141
30142 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30143 and <grub/parser.h>.
30144 (run): Change editor_getline to use new parser interface. Change
30145 parameter to grub_command_execute.
30146
30147 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30148 <grub/reader.h> and <grub/parser.h>.
30149 (grub_load_normal_mode): Execute normal command.
30150 (grub_main): Call grub_register_core_commands,
30151 grub_register_rescue_parser and grub_register_rescue_reader, use
30152 grub_reader_loop to enter input loop.
30153
7dd4a573 30154 * kern/parser.c (grub_parser_split_cmdline): Change type of
30155 getline parameter.
d558e6b5 30156 (grub_parser_class): New variable.
30157 (grub_parser_execute): New function.
30158
30159 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30160 * loader/multiboot2.c: Likewise.
30161 * loader/sparc64/ieee1275/linux.c: Likewise.
30162
30163 * util/grub-emu.c (read_command_list): New dummy function.
30164
18db813d 301652009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30166
30167 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30168 count to 16 for CCISS and IDA.
30169
6c67de15 301702009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30171
30172 * normal/menu_text.c (grub_wait_after_message): Print a newline
30173 after waiting for user input.
30174
30175 * loader/i386/linux.c: Include `<grub/normal.h>'.
30176 (grub_cmd_linux): Improve the error message about `ask' mode, by
30177 waiting for user input so it's not missed (we can do this, since
30178 user requested interaction).
30179
d9dc87b0 301802009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30181
30182 Added missing lst to grub-mkrescue
30183
30184 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30185 and ${input_dir}/parttool.lst
30186
ac8a2baa 301872009-04-30 David S. Miller <davem@davemloft.net>
30188
ad22a610 30189 * util/hostdisk.c (device_is_wholedisk): New function.
30190 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30191 zero only if device_is_wholedisk() returns true.
30192
6966215d 30193 * util/hostdisk.c (convert_system_partition_to_system_disk):
30194 Handle virtual disk devices named /dev/vdiskX as found on sparc
30195 and powerpc.
30196
ac8a2baa 30197 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30198 lettered partition specifier is found, convert to numbered.
30199
979b4fb4 302002009-04-29 David S. Miller <davem@davemloft.net>
30201
e2bf39b2 30202 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30203 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30204
3c64e104 30205 * normal/command.c: Add missing newline at end of file.
30206
979b4fb4 30207 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30208 warnings.
30209 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30210 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30211 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30212 ihandles have a 32-bit type but need to be stored in a "void *".
30213
136d9f82 302142009-04-28 Pavel Roskin <proski@gnu.org>
30215
9459c306 30216 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30217 not disk. Adjust all dependencies.
2e08a26a 30218 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 30219 grub_disk_close().
30220
136d9f82 30221 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30222 parent's partition, don't copy it by reference, as it gets freed
30223 on close.
30224
7dd4a573 302252009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 30226
30227 Preboot hooks support
30228
30229 * commands/boot.c (struct grub_preboot_t): new declaration
30230 (preboots_head): new variable
30231 (preboots_tail): likewise
30232 (grub_loader_register_preboot_hook): new function
30233 (grub_loader_unregister_preboot_hook): likewise
30234 (grub_loader_set): launch preboot hooks
30235 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30236 (grub_loader_register_preboot_hook): new declaration
30237 (grub_loader_unregister_preboot_hook): likewise
30238
5af922b5 302392009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30240
30241 Warning fix
30242
7dd4a573 30243 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 30244 calling grub_dprintf
30245
a5562c30 302462009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
30247
30248 Bug and warning fixes
30249
7dd4a573 30250 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 30251 declaration
30252 * commands/test.c (test_parse): fixed bug with file tests and corrected
30253 declaration of find_file
30254
4006f85c 302552009-04-26 Pavel Roskin <proski@gnu.org>
30256
30257 * Makefile.in: Don't install empty manual pages if help2man is
30258 missing. Use help2man option for output, not shell redirection.
30259
5c77c3de 302602009-04-26 David S. Miller <davem@davemloft.net>
30261
30262 * util/grub-mkdevicemap.c (make_device_map): Add missing
30263 NESTED_FUNC_ATTR to process_device().
30264
033b10a8 302652009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30266
30267 Test command
30268
30269 * commands/test.c: rewritten to use bash-like test
30270
e4343593 302712009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30272
30273 Parttool autoloading and improvements
30274
7dd4a573 30275 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 30276 (parttool.lst): new target
30277 * genmk.rb: generate parttool-*
30278 (CLEANFILES): add #{parttool}
30279 (PARTTOOLFILES): new variable
30280 * genparttoollist.sh: new file
7dd4a573 30281 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 30282 (grub_pcpart_type): likewise
30283 * commands/parttool.c (helpmsg): new variable
30284 (grub_cmd_parttool): output help if not enough arguments are supplied
30285 autoload modules
30286 (GRUB_MOD_INIT(parttool)): use helpmsg
30287
0d312500 302882009-04-24 David S. Miller <davem@davemloft.net>
30289
7dd4a573 30290 Avoiding opening same device multiple times in device iterator.
0d312500 30291
30292 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 30293 and use it to build a list of partitions in iterate_disk() and
0d312500 30294 iterate_partition().
30295
ac20caff 30296 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
30297 on disk->data.
30298
0dcf7495 30299 * disk/ieee1275/nand.c (grub_nand_iterate): Return
30300 grub_devalias_iterate() result instead of unconditional 0.
30301 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
30302 Also, capture hook return value, either directly or via
30303 grub_children_iterate(), and propagate to caller.
30304 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
30305 grub_children_iterate): Return value is now 'int' instead of
30306 'grub_err_t'.
30307 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
30308 like a proper iterator, stopping when hooks return non-zero.
30309 (grub_devalias_iterate): Likewise.
30310
c8c08833 303112009-04-23 David S. Miller <davem@davemloft.net>
30312
30313 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
30314
f01005a8 303152009-04-22 David S. Miller <davem@davemloft.net>
30316
30317 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
30318 is larger than address_cells, use that value for address_cells too.
30319
4e8269da 30320 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
30321 IEEE1275_MAX_PATH_LEN): Define.
30322 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
30323 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
30324 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
30325 'devtype'. Explicitly NULL terminate devalias expansion.
30326
a1447506 30327 * util/sparc64/ieee1275/misc.c: New file.
30328 * util/sparc64/ieee1275/grub-setup.c: New file.
30329 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
30330 * util/sparc64/ieee1275/grub-mkimage.c: New file.
30331 * util/sparc64/ieee1275/grub-install.in: New file.
30332 * util/ieee1275/ofpath.c: New file.
30333 * util/ieee1275/devicemap.c: New file.
30334 * util/devicemap.c: New file.
30335 * util/deviceiter.c: New file.
30336 * kern/sparc64/ieee1275/init.c: New file.
30337 * include/grub/util/ofpath.h: New file.
30338 * include/grub/util/deviceiter.h: New file.
30339 * util/grub-mkdevicemap.c: Include deviceiter.h.
30340 Implement using grub_util_emit_devicemap_entry and
30341 grub_util_iterate_devices.
30342 * conf/i386-corebook.rmk: Build util/deviceiter.c and
30343 util/devicemap.c into grub-mkdevicemap
30344 * conf/i386-efi.rmk: Likewise.
30345 * conf/i386-ieee1275.rmk: Likewise.
30346 * conf/i386-pc.rmk: Likewise.
30347 * conf/powerpc-ieee1275.rmk: Likewise.
30348 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
30349 images and installation utilities. Build kernel as image
30350 instead of as elf binary. Use common rules as much as possible.
30351
7dd4a573 303522009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 30353
30354 Correct GPT definition
30355
7dd4a573 30356 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 30357 of "attrib" member
30358
c6c5219f 303592009-04-19 Felix Zielcke <fzielcke@z-51.de>
30360
30361 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
30362
0552ff9f 303632009-04-19 David S. Miller <davem@davemloft.net>
30364
30365 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
30366 (grub_rescue_cmd_linux): Rename to...
30367 (grub_cmd_linux): and fix prototype.
30368 (grub_rescue_cmd_initrd): Rename to...
30369 (grub_cmd_initrd): and fix prototype.
30370 (cmd_linux, cmd_initrd): New.
30371 (GRUB_MOD_INIT(linux)): Use grub_register_command().
30372 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
30373
d1a282fc 303742009-04-17 Pavel Roskin <proski@gnu.org>
30375
07c5039f 30376 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
30377 format.
30378 (grub_ohci_transfer): Likewise.
30379
b012002d 30380 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
30381
1bc09c35 30382 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
30383 return without a value. Fix inconsistent indentation.
30384
e0ff9126 30385 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
30386 match struct grub_fs.
30387
d1a282fc 30388 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
30389 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
30390 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
30391 * commands/lspci.c (grub_lspci_iter): Likewise.
30392
a96df3f2 303932009-04-16 Bean <bean123ch@gmail.com>
30394
30395 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
30396 value.
30397
41bb0fe9 303982009-04-15 Pavel Roskin <proski@gnu.org>
30399
30400 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
30401 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
30402 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
30403 definitions.
30404
596c6970 304052009-04-15 Felix Zielcke <fzielcke@z-51.de>
30406
30407 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 30408 that no multiple data or metadata areas are supported and `Unknown
596c6970 30409 metadata header'.
30410
7dd4a573 304112009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 30412
30413 Move loader out of the kernel
30414
30415 * kern/loader.c: moved to ...
30416 * commands/boot.c: ... moved here
30417 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
30418 * commands/boot.c (grub_cmd_boot): moved here. All users updated
30419 * include/grub/kernel.h (grub_machine_fini): export
30420 * include/grub/loader.h (grub_loader_is_loaded): update declaration
30421 (grub_loader_set): likewise
30422 (grub_loader_unset): likewise
30423 (grub_loader_boot): likewise
30424 * conf/common.rmk: new module boot.mod
30425 (pkglib_MODULES): add boot.mod
30426 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
30427 (grub_emu_SOURCES): likewise
30428 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
30429 (grub_emu_SOURCES): likewise
30430 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
30431 (grub_emu_SOURCES): likewise
30432 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
30433 (grub_emu_SOURCES): likewise
30434 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
30435 (grub_emu_SOURCES): likewise
7dd4a573 30436 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
30437 (grub_emu_SOURCES): likewise
0d5d5653 30438 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 30439 (grub_emu_SOURCES): likewise
0d5d5653 30440
7dd4a573 304412009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 30442
30443 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 30444
5999d619 30445 * kern/misc.c (grub_itoa): Removed function
30446 (grub_ltoa): likewise
30447 (grub_vsprintf): use grub_lltoa
30448
7dd4a573 304492009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 30450
30451 Restore grub-emu
30452
30453 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
30454 * conf/i386-coreboot.rmk: likewise
30455 * conf/i386-ieee1275.rmk: likewise
30456 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 30457
20318222 304582009-04-15 Felix Zielcke <fzielcke@z-51.de>
30459
30460 * INSTALL: Add that `./autogen.sh' needs to be run before
30461 `./configure.'.
30462
d05f0df3 304632009-04-14 Bean <bean123ch@gmail.com>
30464
30465 * Makefile.in (pkglib_DATA): Add handler.lst.
30466 (handler.lst): New rule.
30467
30468 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
30469 * conf/i386-coreboot.rmk: Likewise.
30470 * conf/i386-ieee1275.rmk: Likewise.
30471 * conf/i386-efi.rmk: Likewise.
30472 * conf/x86_64-efi.rmk: Likewise.
30473 * conf/powerpc-ieee1275.rmk: Likewise.
30474 * conf/sparc64-ieee1275.rmk: Likewise.
30475
30476 * genhandlerlist.sh: New file.
30477
30478 * genmk.rb: Add rules to generate handler.lst.
30479
30480 * include/grub/normal.h (grub_file_getline): New function definition.
30481 (read_handler_list): Likewise.
30482 (free_handler_list): Likewise.
30483
30484 * include/grub/term.h (grub_term_register_input): Add name parameter
30485 for auto generation of handler.lst.
30486 (grub_term_register_output): Likewise.
30487
30488 * normal/handler.c: New file.
30489
30490 * normal/main.c (get_line): Renamed to grub_file_getline.
30491 (read_config_file): Use the newly renamed grub_file_getline.
30492 (read_command_list): Likewise.
30493 (read_fs_list): Likewise.
30494 (grub_normal_execute): Call read_handler_list to parse handler.lst.
30495 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
30496
30497 * term/efi/console.c (grub_console_init): Add name parameter for auto
30498 generation of handler.lst.
30499 * term/gfxterm.c: Likewise.
30500 * term/i386/pc/at_keyboard.c: Likewise.
30501 * term/i386/pc/console.c: Likewise.
30502 * term/i386/pc/serial.c: Likewise.
30503 * term/i386/pc/vesafb.c: Likewise.
30504 * term/i386/pc/vga.c: Likewise.
30505 * term/i386/pc/vga_text.c: Likewise.
30506 * term/ieee1275/ofconsole.c: Likewise.
30507 * term/usb_keyboard.c: Likewise.
30508
33c846be 305092009-04-14 Bean <bean123ch@gmail.com>
30510
30511 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
30512 properly with null character.
30513
4484e01e 305142009-04-14 Felix Zielcke <fzielcke@z-51.de>
30515
30516 * configure: Remove.
30517 * config.h.in: Likewise.
f93d668e 30518 * stamp-h.in: Likewise.
4484e01e 30519 * DISTLIST: Likewise.
30520 * conf/common.mk: Likewise.
30521 * conf/i386-coreboot.mk: Likewise.
30522 * conf/i386-efi.mk: Likewise.
30523 * conf/i386-ieee1275.mk: Likewise.
30524 * conf/i386.mk: Likewise.
30525 * conf/i386-pc.mk: Likewise.
30526 * conf/powerpc-ieee1275.mk: Likewise.
30527 * conf/sparc64-ieee1275.mk: Likewise.
30528 * conf/x86_64-efi.mk: Likewise.
30529
30530 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
30531 develop on GRUB.
30532
7dd4a573 305332009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 30534 David S. Miller <davem@davemloft.net>
30535
30536 * util/hostdisk.c (make_device_name): Fix buffer length
30537 calculations.
30538
e25b5a8c 305392009-04-14 Felix Zielcke <fzielcke@z-51.de>
30540
30541 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
30542 <sys/param.h> and <sys/sysctl.h>.
30543 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
30544 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
30545 opening the device and reset them afterwards.
30546
1f1f580c 305472009-04-13 Pavel Roskin <proski@gnu.org>
30548
30549 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
30550 Reported by John Stanley <jpsinthemix@verizon.net>
30551
7ebc2d6b 305522009-04-13 Robert Millan <rmh@aybabtu.com>
30553
30554 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 30555 that name for menuentries when appropriate.
7ebc2d6b 30556
d8ba3667 305572009-04-13 Felix Zielcke <fzielcke@z-51.de>
30558
30559 * util/grub.d/10_freebsd.in: Add a missing `fi'.
30560
cba416eb 305612009-04-13 Robert Millan <rmh@aybabtu.com>
30562
30563 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
30564 to Linux, simply abort telling the user it's no longer supported.
30565
a547a745 305662009-04-13 Felix Zielcke <fzielcke@z-51.de>
30567
30568 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 30569 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 30570 `freebsd_loadenv' only when devices.hints exist.
30571
232a769c 305722009-04-13 Pavel Roskin <proski@gnu.org>
30573
30574 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
30575
c3012039 305762009-04-13 Felix Zielcke <fzielcke@z-51.de>
30577
30578 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
30579 partition number.
30580 (grub_drive): Likewise.
30581
234022fe 305822009-04-13 David S. Miller <davem@davemloft.net>
30583
30584 * kern/sparc64/ieee1275/ieee1275.c: New file.
30585 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
30586 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
30587 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
30588 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
30589 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
30590 grub_ieee1275_alloc_physmem): Declare new exported functions.
30591
d8e1836c 30592 * include/grub/sparc64/ieee1275/loader.h: New file.
30593 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30594 * include/grub/sparc64/kernel.h: Likewise.
30595 * loader/sparc64/ieee1275/linux.c: Likewise.
30596
96bd81ec 30597 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
30598 (grub_fstest_SOURCES): Likewise.
30599
6a4737e5 30600 * util/hostdisk.c (make_device_name): Do not make any assumptions
30601 about the length of drive names.
30602
1d7a72fd 30603 * kern/dl.c (grub_dl_load_file): Close file immediately when
30604 we are done using it.
30605
56bc2471 306062009-04-12 David S. Miller <davem@davemloft.net>
30607
30608 * kern/misc.c (grub_ltoa): Fix cast when handling negative
30609 values. Noticed by Pavel Roskin.
30610
df38d0bb 30611 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
30612 target compiler.
7dd4a573 30613
e382e93a 30614 * genmk.rb: Add more flexible image type specification, also
30615 pass --strip-unneeded to objcopy.
30616 * conf/i386-pc.rmk: Use *_FORMAT.
30617 * conf/i386-pc.mk: Rebuilt.
30618
f5dbbca9 30619 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
30620 (OFDISK_HASH_SZ): Define.
30621 (ofdisk_hash): New hash table.
30622 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
30623 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
30624 instead of device phandle which is not unique.
30625
91c88b12 30626 * kern/sparc64/ieee1275/init.c: Delete, replace with...
30627 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
30628 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
30629 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
30630 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
30631 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
30632 GRUB_KERNEL_MACHINE_DATA_END): Define.
30633 (grub_kernel_image_size, grub_total_module_size): Declare.
30634
5b5d4aa5 306352009-04-12 Pavel Roskin <proski@gnu.org>
30636
7dd4a573 30637 * configure.ac: Change the logic when we check for target tools.
30638 Do it when the target is specified and it's different from the
30639 specified value of the host.
5b5d4aa5 30640
c91e1793 306412009-04-11 Felix Zielcke <fzielcke@z-51.de>
30642
30643 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
30644 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
30645 GNU/kFreeBSD. Check if a device is a character device. Use
30646 DIOCGMEDIASIZE to get the size.
30647 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
30648 support for GNU/kFreeBSD.
30649 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
30650 is a character device instead of a block device. Add support for
30651 FreeBSD device names.
30652
30653 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
30654 is a character device instead of a block device.
30655
30656 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
30657 is a character device instead of a block device.
30658
b1ac8644 306592009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
30660
30661 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
30662 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
30663 FreeBSD. Check if a device is a character device. Use
30664 DIOCGMEDIASIZE to get the size.
30665 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
30666 support for FreeBSD.
30667 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
30668 is a character device instead of a block device. Add support for
30669 FreeBSD device names.
30670
30671 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
30672 a character device instead of a block device.
30673 (grub_util_check_char_device): New function.
30674
30675 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
30676 a character device instead of a block device.
30677
30678 * include/grub/util/getroot.h (grub_util_check_char_device): New
30679 prototype.
30680
a3f7515a 306812009-04-11 David S. Miller <davem@davemloft.net>
30682
30683 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
30684 static libgcc.
30685 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
30686 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
30687 function, if present.
30688 (__bswapdi2): Likewise.
30689
0d44993d 30690 * include/grub/sparc64/ieee1275/boot.h: New file.
30691 * boot/sparc64/ieee1275/boot.S: Likewise.
30692 * boot/sparc64/ieee1275/diskboot.S: Likewise.
30693
ed3d2bc2 30694 * kern/misc.c (grub_ltoa): New function.
30695 (grub_vsprintf): Use it to format 'long' integers.
30696
d3bfb59c 306972009-04-10 David S. Miller <davem@davemloft.net>
30698
30699 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
30700 slots are of type grub_ieee1275_cell_t.
30701 (grub_nand_read): Likewise.
30702 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
30703 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
30704 macros are used to compare values in arg/ret block of the call.
30705 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
30706 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
30707 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
30708 grub_ieee1275_instance_to_path, grub_ieee1275_write,
30709 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
30710 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
30711 grub_ieee1275_close, grub_ieee1275_set_property,
30712 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
30713 grub_ieee1275_cell_t.
30714 * kern/ieee1275/openfw.c (grub_map): Likewise.
30715 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
30716 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
30717
450e2238 30718 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
30719 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
30720 (grub_devalias_iterate): Likewise.
30721
7dd4a573 307222009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 30723
30724 UFS improvements
30725
30726 * fs/ufs.c (INODE_NBLOCKS): new definition
30727 (struct grub_ufs_dirent): added fields for non-BSD dirents
30728 (grub_ufs_get_file_block): fixed double indirect handling
30729 (grub_ufs_lookup_symlink): use more robust way to determine whether
30730 symlink is inline
30731 (grub_ufs_find_file): support for non-BSD dirents
30732 (grub_ufs_dir): support for non-BSD dirents
30733
e7e6862a 307342009-04-10 Bean <bean123ch@gnail.com>
30735
30736 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
30737 attribute, otherwise the size would be wrong for i386 platform.
30738
30739 * include/grub/pci.h (grub_pci_read_word): New inline function.
30740 (grub_pci_read_byte): Likewise.
30741 (grub_pci_write): Likewise.
30742 (grub_pci_write_word): Likewise.
30743 (grub_pci_write_byte): Likewise.
30744
30745 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
30746
30747 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
30748 (find_framebuf): Scan pci to locate the frame buffer address.
30749
30750 * commands/efi/fixvideo.c: New file.
30751
30752 * commands/efi/loadbios.c: Likewise.
30753
30754 * commands/memrw.c: Likewise.
30755
30756 * util/grub-dumpbios.in: Likewise.
30757
30758 * conf/common.rmk (grub-dumpbios): New utility.
30759 (pkglib_MODULES): New module memrw.mod.
30760 (memrw_mod_SOURCE): New macro.
30761 (memrw_mod_CFLAGS): Likewise.
30762 (memrw_mod_LDFLAGS): Likewise.
30763
7dd4a573 30764 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30765 fixvideo.mod.
30766 (loadbios_mod_SOURCE): New macro.
30767 (loadbios_mod_CFLAGS): Likewise.
30768 (loadbios_mod_LDFLAGS): Likewise.
30769 (fixvideo_mod_SOURCE): Likewise.
30770 (fixvideo_mod_CFLAGS): Likewise.
30771 (fixvideo_mod_LDFLAGS): Likewise.
30772
7dd4a573 30773 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 30774 fixvideo.mod.
30775 (loadbios_mod_SOURCE): New macro.
30776 (loadbios_mod_CFLAGS): Likewise.
30777 (loadbios_mod_LDFLAGS): Likewise.
30778 (fixvideo_mod_SOURCE): Likewise.
30779 (fixvideo_mod_CFLAGS): Likewise.
30780 (fixvideo_mod_LDFLAGS): Likewise.
30781
af63ada2 307822009-04-08 Felix Zielcke <fzielcke@z-51.de>
30783
30784 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
30785
c2cdde70 307862009-04-07 David S. Miller <davem@davemloft.net>
30787
30788 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
30789 support for R_SPARC_OLO10 relocations. Fix compile warning for
30790 R_SPARC_WDISP30 case.
ea3f72cf 30791 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 30792
761319cf 307932009-04-06 Pavel Roskin <proski@gnu.org>
30794
1007d1f5 30795 * include/grub/misc.h (ARRAY_SIZE): New macro.
30796 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
30797 New macro.
30798 * loader/i386/linux.c (allocate_pages): Use free_pages().
30799 (grub_linux_unload): Don't use free_pages().
30800 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
30801 wrong index. Treat all other modes as text modes.
30802 (grub_cmd_linux): Initialize vid_mode unconditionally to
30803 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
30804
761319cf 30805 * commands/help.c (print_command_help): Use cmd->prio, not
30806 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
30807
ea761d40 308082009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 30809
ea761d40 30810 Parttool
30811
30812 * parttool/pcpart.c: new file
30813 * commands/parttool.c: likewise
30814 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
30815 (parttool_mod_SOURCES): new variable
30816 (parttool_mod_CFLAGS): likewise
30817 (parttool_mod_LDFLAGS): likewise
30818 (pcpart_mod_SOURCES): likewise
30819 (pcpart_mod_CFLAGS): likewise
30820 (pcpart_mod_LDFLAGS): likewise
7dd4a573 30821 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 30822 and parttool/pcpart.c
30823 * conf/i386-efi.rmk: likewise
30824 * conf/i386-ieee1275.rmk: likewise
30825 * conf/i386-pc.rmk: likewise
30826 * conf/powerpc-ieee1275.rmk: likewise
30827 * conf/sparc64-ieee1275.rmk: likewise
30828 * conf/x86_64-ieee1275.rmk: likewise
30829
05aaebfb 308302009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30831
30832 Support for mtime and further expandability of dir command
30833
30834 * include/grub/lib/datetime.h: moved to ...
7dd4a573 30835 * include/grub/datetime.h: ... moved here and added
05aaebfb 30836 declaration of grub_unixtime2datetime. All users updated
7dd4a573 30837 * include/grub/fs.h: new syntax for dir and mtime functions in
30838 struct grub_fs
05aaebfb 30839 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
30840 and GRUB_FSHELP_FLAGS_MASK
30841 * commands/ls.c (grub_ls_list_files): Write mtime in long format
30842 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
30843 (grub_ext2_mtime): new function
30844 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
30845 (grub_hfsplus_mtime): new function
30846 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
30847 (GRUB_UFS_ATTR_FILE): likewise
30848 (GRUB_UFS_ATTR_LNK): likewise
30849 (struct grub_ufs_sblock): new fields mtime
30850 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
30851 all users updated
30852 (grub_ufs_dir): mtime support
30853 (grub_ufs_mtime): new function
30854 * fs/affs.c (grub_affs_dir): use new dir syntax
30855 * fs/afs.c (grub_afs_dir): likewise
30856 * fs/cpio.c (grub_cpio_dir): likewise
30857 * fs/fat.c (grub_fat_find_dir): likewise
30858 * fs/hfs.c (grub_hfs_dir): likewise
30859 * fs/iso9660.c (grub_iso9660_dir): likewise
30860 * fs/jfs.c (grub_jfs_dir): likewise
30861 * fs/minix.c (grub_minix_dir): likewise
30862 * fs/ntfs.c (grub_ntfs_dir): likewise
30863 * fs/reiserfs.c (grub_reiserfs_dir): likewise
30864 * fs/sfs.c (grub_sfs_dir): likewise
30865 * fs/xfs.c (grub_xfs_dir): likewise
30866 * util/hostfs.c (grub_hostfs_dir): likewise
30867 * lib/datetime.c: moved to ...
30868 * normal/datetime.c: ... moved here
30869 (grub_unixtime2datetime): new function
30870 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 30871 * normal/completion.c (iterate_dir): use new dir syntax
30872 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 30873 last modification time of a volume
7dd4a573 30874 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 30875 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 30876 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 30877 (normal_mod_SOURCES): likewise
30878 (datetime_mod_SOURCES): Removed lib/datetime.c
30879 * conf/i386-efi.rmk: likewise
7dd4a573 30880 * conf/i386-ieee1275.rmk: likewise
05aaebfb 30881 * conf/i386-pc.rmk: likewise
30882 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 30883 * conf/sparc64-ieee1275.rmk: likewise
30884 * conf/x86_64-efi.rmk: likewise
05aaebfb 30885
8a7e1a14 308862009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
30887
30888 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 30889
30890 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 30891 on grub_fat_find_dir
30892 (grub_fat_find_dir): use grub_fat_iterate_dir
30893 (grub_fat_label): likewise
30894
04186a9c 308952009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
30896
7dd4a573 30897 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 30898 and command.h
30899 remove extraneous kernel_elf_HEADERS
30900
da4c0bb6 309012009-04-04 Bean <bean123ch@gnail.com>
30902
30903 * include/grub/util/misc.h: Add dummy function fsync for mingw.
30904
30905 * util/misc.c: Likewise.
30906
54ad9555 309072009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
30908
30909 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
30910 instead of grub_printf.
30911
7a6bf9f2 309122009-04-03 Robert Millan <rmh@aybabtu.com>
30913
30914 * loader/i386/linux.c (grub_linux_setup_video): Fill
30915 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
30916 values from `mode info' structure instead of hardcoded
30917 values.
30918
3fcc2083 309192009-04-01 Pavel Roskin <proski@gnu.org>
30920
30921 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
30922 unused now.
30923 * genmk.rb: Likewise.
30924 * configure.ac: Likewise.
30925
5ec9740b 309262009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
30927
30928 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
30929 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
30930
5270cec8 309312009-04-01 David S. Miller <davem@davemloft.net>
30932
30933 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 30934 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 30935 (grub_setjmp): Mark with 'returns_twice' attribute.
30936 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
30937 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
30938 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
30939
9c3dd854 309402009-04-01 Robert Millan <rmh@aybabtu.com>
30941
30942 Reapply fix from 2008-07-28 which was accidentally reverted; also
30943 perform the same fix to a similar check in same function.
30944
30945 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30946 with the same number are found, just use issue a warning with
30947 grub_dprintf(), as this error has been reported to be non-fatal.
30948
0d818b7e 309492009-03-31 Pavel Roskin <proski@gnu.org>
30950
30951 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
30952 for cross-compilation.
30953
95646d92 309542009-03-30 Robert Millan <rmh@aybabtu.com>
30955
30956 Fix i386-ieee1275 build.
30957
30958 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
30959 Remove declaration.
30960
6a003ed1 309612009-03-30 Pavel Roskin <proski@gnu.org>
30962
30963 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
30964 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
30965 zero-terminated, rely only on the strlen value. Fix comparison
30966 of strings differing in length.
30967
92f33540 309682009-03-30 Robert Millan <rmh@aybabtu.com>
30969
30970 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
30971 checking for abi version. Improve error messages on BIOS to notify
30972 user about `linux16' command.
30973
a8c48fd5 309742009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
30975
f968172e 30976 Leak fixes
a8c48fd5 30977
f968172e 30978 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
30979 in case of collision
30980 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 30981
9c323f09 309822009-03-29 Robert Millan <rmh@aybabtu.com>
30983
30984 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
30985 set `vid_mode' accordingly.
30986 (grub_linux_boot): Process `vid_mode' and set video mode.
30987
ae68f423 309882009-03-29 Robert Millan <rmh@aybabtu.com>
30989
30990 * util/grub.d/10_linux.in (linux_entry): New function.
30991 Factorize generation of Linux boot entries.
30992
5709cfc4 309932009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
30994
30995 Make the format of Environment Block plain text. The boot loader
30996 part is not tested well yet.
7dd4a573 30997
5709cfc4 30998 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
30999 (buffer): Removed.
31000 (envblk): Likewise.
31001 (usage): Remove "info" and "clear". Add "unset". Update the
31002 description of "set", as this does not delete variables any
31003 longer.
31004 (create_envblk_file): Complete rewrite.
31005 (open_envblk_file): Likewise.
31006 (cmd_info): Removed.
31007 (cmd_list): Likewise.
31008 (cmd_set): Likewise.
31009 (cmd_clear): Likewise.
31010 (list_variables): New function.
31011 (write_envblk): Likewise.
31012 (set_variables): Likewise.
31013 (unset_variables): Likewise.
31014 (main): Complete rewrite.
31015
31016 * commands/loadenv.c (buffer): Removed.
31017 (envblk): Likewise.
31018 (open_envblk_file): New function.
31019 (read_envblk_file): Complete rewrite.
31020 (grub_cmd_load_env): Likewise.
31021 (grub_cmd_list_env): Likewise.
31022 (struct blocklist): New struct.
31023 (free_blocklists): New function.
31024 (check_blocklists): Likewise.
31025 (write_blocklists): Likewise.
31026 (grub_cmd_save_env): Complete rewrite.
31027
31028 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31029 a plain text signature.
31030 (GRUB_ENVBLK_MAXLEN): Removed.
31031 (struct grub_envblk): Complete rewrite.
31032 (grub_envblk_find): Removed.
31033 (grub_envblk_insert): Likewise.
31034 (grub_envblk_open): New prototype.
31035 (grub_envblk_set): Likewise.
31036 (grub_envblk_delete): Put const to VALUE.
31037 (grub_envblk_iterate): Put const to NAME and VALUE.
31038 (grub_envblk_close): New prototype.
31039 (grub_envblk_buffer): New inline function.
31040 (grub_envblk_size): Likewise.
31041
31042 * lib/envblk.c: Include grub/mm.h.
31043 (grub_env_find): Removed.
31044 (grub_envblk_open): New function.
31045 (grub_envblk_close): Likewise.
31046 (escaped_value_len): Likewise.
31047 (find_next_line): Likewise.
31048 (grub_envblk_insert): Removed.
31049 (grub_envblk_set): New function.
31050 (grub_envblk_delete): Complete rewrite.
31051 (grub_envblk_iterate): Likewise.
31052
a9368fd3 310532009-03-28 Robert Millan <rmh@aybabtu.com>
31054
31055 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31056 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31057 variables. Use 16-bit loader.
31058 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31059 loader.
31060 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31061 (grub_linux16_boot): ... this. Update all users.
31062 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31063 (grub_linux_boot): ... this. Update all users.
31064
31065 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31066 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31067 commands to `linux16' and `initrd16'.
31068 (GRUB_MOD_FINI(linux)): Rename to ...
31069 (GRUB_MOD_FINI(linux16)): ... this.
31070
e4dd5a7e 310712009-03-24 Pavel Roskin <proski@gnu.org>
31072
31073 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31074 not just for compilation.
31075
c04d6e05 310762009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31077
31078 Move multiboot helper out of kernel
31079
31080 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31081 `loader/i386/multiboot_helper.S'.
31082 * conf/i386-coreboot.rmk: Likewise
31083 * conf/i386-ieee1275.rmk: Likewise
31084
31085 * kern/i386/loader.S: Move multiboot helpers from here...
31086 * loader/i386/multiboot_helper.S: ...moved here
31087 * include/grub/i386/loader.h: Move declarations of multiboot
31088 helpers from here...
31089 * include/grub/i386/multiboot.h: ...moved here
31090 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31091
42a5b3fc 310922009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31093
31094 * kern/env.c (grub_env_context_open): Added an argument to specify
31095 whether a new context inherits exported variables from current
31096 one. This is useful when making a sandbox to interpret a config
31097 file.
31098 All callers updated.
31099
31100 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31101
b28bbc4e 311022009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31103
31104 * kern/env.c (grub_env_context_close): Fix memory leaks.
31105
f04f02e4 311062009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31107
31108 * normal/main.c (grub_normal_execute): Added an argument
31109 BATCH to specify if an interactive interface should be provided
31110 after reading a config file.
31111 All callers updated.
31112 (read_command_list): Prevent being executed twice.
31113 (read_fs_list): Likewise.
31114
42a5b3fc 31115 * include/grub/normal.h (grub_normal_execute): Updated the
31116 prototype.
f04f02e4 31117
41473ac2 311182009-03-22 Pavel Roskin <proski@gno.org>
31119
fbc00b0c 31120 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31121 _start.
31122 * kern/i386/pc/startup.S: Likewise.
31123 * kern/i386/efi/startup.S: Likewise.
31124 * kern/i386/ieee1275/startup.S: Likewise.
31125 * kern/i386/coreboot/startup.S: Likewise.
31126 * kern/x86_64/efi/startup.S: Likewise.
31127
41473ac2 31128 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31129 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31130 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31131
2274cc8f 311322009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31133
31134 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31135
31136 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31137 limit detection.
31138 Use vaddr of correct segment for entry_point.
31139
b1b797cb 311402009-03-21 Bean <bean123ch@gmail.com>
31141
31142 * commands/blocklist.c: Add include file <grub/command.h>, remove
31143 <grub/normal.h> and <grub/arg.h>.
31144 (grub_cmd_blocklist): Use the new command interface.
31145 (GRUB_MOD_INIT): Likewise.
31146 (GRUB_MOD_FINI): Likewise.
31147 * commands/boot.c: Likewise.
31148 * commands/cat.c: Likewise.
31149 * commands/cmp.c: Likewise.
31150 * commands/configfile.c: Likewise.
31151 * commands/crc.c: Likewise.
31152 * commands/echo.c: Likewise.
31153 * commands/halt.c: Likewise.
31154 * commands/handler.c: Likewise.
31155 * commands/hdparm.c: Likewise.
31156 * commands/help.c: Likewise.
31157 * commands/hexdump.c: Likewise.
31158 * commands/loadenv.c: Likewise.
31159 * commands/ls.c: Likewise.
31160 * commands/lsmmap.c: Likewise.
31161 * commands/lspci.c: Likewise.
31162 * commands/loadenv.c: Likewise.
31163 * commands/read.c: Likewise.
31164 * commands/reboot.c: Likewise.
31165 * commands/search.c: Likewise.
31166 * commands/sleep.c: Likewise.
31167 * commands/test.c: Likewise.
31168 * commands/usbtest.c: Likewise.
31169 * commands/videotest.c: Likewise.
31170 * commands/i386/cpuid.c: Likewise.
31171 * commands/i386/pc/halt.c: Likewise.
31172 * commands/i386/pc/play.c: Likewise.
31173 * commands/i386/pc/pxecmd.c: Likewise.
31174 * commands/i386/pc/vbeinfo.c: Likewise.
31175 * commands/i386/pc/vbetest.c: Likewise.
31176 * commands/ieee1275/suspend.c: Likewise.
31177 * disk/loopback.c: Likewise.
31178 * font/font_cmd.c: Likewise.
31179 * hello/hello.c: Likewise.
31180 * loader/efi/appleloader.c: Likewise.
31181 * loader/efi/chainloader.c: Likewise.
31182 * loader/i386/bsd.c: Likewise.
31183 * loader/i386/efi/linux.c: Likewise.
31184 * loader/i386/ieee1275/linux.c: Likewise.
31185 * loader/i386/linux.c: Likewise.
31186 * loader/i386/pc/chainloader.c: Likewise.
31187 * loader/i386/pc/linux.c: Likewise.
31188 * loader/powerpc/ieee1275/linux.c: Likewise.
31189 * loader/multiboot_loader.c: Likewise.
31190 * term/gfxterm.c: Likewise.
31191 * term/i386/pc/serial.c: Likewise.
31192 * term/terminfo.c: Likewise.
31193
31194 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31195 * term/i386/pc/vga.c: Likewise.
31196 * video/readers/jpeg.c: Likewise.
31197 * video/readers/png.c: Likewise.
31198 * video/readers/tga.c: Likewise.
31199
31200 * util/grub-fstest (cmd_loopback): Removed.
31201 (cmd_blocklist): Likewise.
31202 (cmd_ls): Likewise.
31203 (grub_register_command): Likewise.
31204 (grub_unregister_command): Likewise.
31205 (execute_command): Use grub_command_find to locate command and execute
31206 it.
31207
31208 * include/grub/efi/chainloader.h: Removed.
31209 * loader/efi/chainloader_normal.c: Likewise.
31210 * loader/i386/bsd_normal.c: Likewise.
31211 * loader/i386/pc/chainloader_normal.c: Likewise.
31212 * loader/i386/pc/multiboot_normal.c: Likewise.
31213 * loader/linux_normal.c: Likewise.
31214 * loader/multiboot_loader_normal.c: Likewise.
31215 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31216
31217 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31218 and grub_register_command_p1.
31219
31220 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31221 kern/command.c, lib/arg.c and commands/extcmd.c.
31222 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31223 (minicmd_mod_SOURCES): New variable.
31224 (minicmd_mod_CFLAGS): Likewise.
31225 (minicmd_mod_LDFLAGS): Likewise.
31226 (extcmd_mod_SOURCES): Likewise.
31227 (extcmd_mod_CFLAGS): Likewise.
31228 (extcmd_mod_LDFLAGS): Likewise.
31229 (boot_mod_SOURCES): Removed.
31230 (boot_mod_CFLAGS): Likewise.
31231 (boot_mod_LDFLAGS): Likewise.
31232
31233 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31234 kern/corecmd.c.
31235 (kernel_img_HEADERS): Add command.h.
31236 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31237 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31238 and lib/arg.c.
31239 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31240 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31241 remove the corresponding normal mode command.
31242 (normal_mod_SOURCES): Remove normal/arg.c.
31243 * conf/i386-coreboot.rmk: Likewise.
31244 * conf/i386-efi.rmk: Likewise.
31245 * conf/i386-ieee1275.rmk: Likewise.
31246 * conf/powerpc-ieee1275.rmk: Likewise.
31247 * conf/x86_64-efi.rmk: Likewise.
31248
31249 * include/grub/arg.h: Move from here ...
31250 * include/grub/lib/arg.h: ... to here.
31251
31252 * normal/arg.c: Move from here ...
31253 * lib/arg.c: ... to here.
31254
31255 * commands/extcmd.c: New file.
31256 * commands/minicmd.c: Likewise.
31257 * include/grub/command.h: Likewise.
31258 * include/grub/extcmd.h: Likewise.
31259 * kern/command.c: Likewise.
31260 * kern/corecmd.c: Likewise.
31261
31262 * kern/list.c (grub_list_iterate): Return int instead of void.
31263 (grub_list_insert): New function.
31264 (grub_prio_list_insert): Likewise.
31265
31266 * kern/rescue.c (grub_rescue_command): Removed.
31267 (grub_rescue_command_list): Likewise.
31268 (grub_rescue_register_command): Likewise.
31269 (grub_rescue_unregister_command): Likewise.
31270 (grub_rescue_cmd_boot): Move to minicmd.c
31271 (grub_rescue_cmd_help): Likewise.
31272 (grub_rescue_cmd_info): Likewise.
31273 (grub_rescue_cmd_boot): Likewise.
31274 (grub_rescue_cmd_testload): Likewise.
31275 (grub_rescue_cmd_dump): Likewise.
31276 (grub_rescue_cmd_rmmod): Likewise.
31277 (grub_rescue_cmd_lsmod): Likewise.
31278 (grub_rescue_cmd_exit): Likewise.
31279 (grub_rescue_print_devices): Moved to corecmd.c.
31280 (grub_rescue_print_files): Likewise.
31281 (grub_rescue_cmd_ls): Likewise.
31282 (grub_rescue_cmd_insmod): Likewise.
31283 (grub_rescue_cmd_set): Likewise.
31284 (grub_rescue_cmd_unset): Likewise.
7d074e3c 31285 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 31286 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 31287 commands, remove grub_rescue_register_command calls.
b1b797cb 31288
7d074e3c 31289 * normal/command.c (grub_register_command): Removed.
b1b797cb 31290 (grub_unregister_command): Likewise.
31291 (grub_command_find): Likewise.
31292 (grub_iterate_commands): Likewise.
31293 (rescue_command): Likewise.
31294 (export_command): Moved to corecmd.c.
31295 (set_command): Removed.
31296 (unset_command): Likewise.
31297 (insmod_command): Likewise.
31298 (rmmod_command): Likewise.
31299 (lsmod_command): Likewise.
31300 (grub_command_init): Likewise.
31301
31302 * normal/completion.c (iterate_command): Use cmd->prio to check for
31303 active command.
31304 (complete_arguments): Use grub_extcmd_t structure to find options.
31305 (grub_normal_do_completion): Change function grub_iterate_commands to
31306 grub_command_iterate.
31307
31308 * normal/execute.c (grub_script_execute_cmd): No need to parse
31309 argument here.
31310
31311 * normal/main.c (grub_dyncmd_dispatcher): New function.
31312 (read_command_list): Register unload commands as dyncmd.
31313 (grub_cmd_normal): Use new command interface, register rescue,
31314 unregister normal at entry, register normal, unregister rescue at exit.
31315
31316 * include/grub/list.h (grub_list_test_t): New type.
31317 (grub_list_iterate): Return int instead of void.
31318 (grub_list_insert): New function.
31319 (GRUB_AS_NAMED_LIST_P): New macro.
31320 (GRUB_AS_PRIO_LIST): Likewise.
31321 (GRUB_AS_PRIO_LIST_P): Likewise.
31322 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
31323 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
31324 (grub_prio_list): New structure.
31325 (grub_prio_list_insert): New function.
31326 (grub_prio_list_remove): New inline function.
31327
31328 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
31329 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
31330 (GRUB_COMMAND_FLAG_MENU): Likewise.
31331 (GRUB_COMMAND_FLAG_BOTH): Likewise.
31332 (GRUB_COMMAND_FLAG_TITLE): Likewise.
31333 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
31334 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
31335 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
31336 (grub_command): Likewise.
31337 (grub_register_command): Likewise.
31338 (grub_command_find): Likewise.
31339 (grub_iterate_commands): Likewise.
31340 (grub_command_init): Likewise.
31341 (grub_arg_parse): Likewise.
31342 (grub_arg_show_help): Likewise.
31343
31344 * include/grub/rescue.h (grub_rescue_register_command): Removed.
31345 (grub_rescue_unregister_command): Likewise.
31346
31347 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
31348 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
31349 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
31350
31351 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
31352 grub_rescue_cmd_initrd.
31353 * include/grub/i386/loader.h: Likewise.
31354 * include/grub/x86_64/loader.h: Likewise.
31355
31356 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
31357
1f4147aa 313582009-03-21 Bean <bean123ch@gmail.com>
31359
31360 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
31361 instead of stat in mingw environment.
31362
31363 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
31364
31365 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
31366
31367 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
31368 AC_CONFIG_LINKS.
31369
2156d5ba 313702009-03-21 Bean <bean123ch@gmail.com>
31371
31372 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
31373 out of range error.
31374
177b82ca 313752009-03-18 Michel Dänzer <michel@daenzer.net>
31376
31377 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
31378 checking inode flags for EXT4_EXTENTS_FLAG.
31379
14aad807 313802009-03-18 Robert Millan <rmh@aybabtu.com>
31381
31382 * loader/i386/linux.c: Include `<grub/video.h>' and
31383 `<grub/i386/pc/vbe.h>'..
31384 (grub_linux_setup_video): New function. Loosely based on the EFI one.
31385 (grub_linux32_boot): Attempt to configure video settings with
31386 grub_linux_setup_video().
31387 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
31388 to avoid grub_console_fini() which would step out of graphical mode
31389 unconditionally.
31390
8cf83a27 313912009-03-14 Robert Millan <rmh@aybabtu.com>
31392
31393 Fix build on powerpc.
31394 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
31395
40164e75 313962009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
31397
31398 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
31399 background image command.
31400
c58bc32a 314012009-03-12 Colin D Bennett <colin@gibibit.com>
31402
31403 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
31404 (grub_gfxterm_putchar): Extract pairs of identical calls to
31405 draw_cursor out of conditional blocks.
31406
5415144a 314072009-03-11 Pavel Roskin <proski@gnu.org>
31408
31409 * fs/hfs.c (grub_hfs_strncasecmp): New function.
31410 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
31411
6394042e 314122009-03-11 Robert Millan <rmh@aybabtu.com>
31413
31414 * loader/i386/multiboot_elfxx.c
31415 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
31416
b7b50e5f 314172009-03-11 Felix Zielcke <fzielcke@z-51.de>
31418
31419 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
31420 `kern/handler.c'.
31421
1ca7fc96 314222009-03-11 Robert Millan <rmh@aybabtu.com>
31423
31424 * loader/i386/multiboot.c (code_size): New variable.
31425 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 31426 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 31427 4-byte alignment to MBI and others by increasing
7d074e3c 31428 `boot_loader_name_length' appropriately.
1ca7fc96 31429
31430 * loader/i386/multiboot_elfxx.c
31431 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
31432
a83ea1d2 314332009-03-09 Felix Zielcke <fzielcke@z-51.de>
31434
31435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
31436 `fs/ext2.c'.
31437
aa9f3bff 314382009-03-08 Robert Millan <rmh@aybabtu.com>
31439
31440 Make loader/i386/linux.c usable on i386-pc again.
31441
31442 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
31443 memory to heap.
31444 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
31445 `#error' stanza.
31446
d8b3b60e 314472009-03-07 Bean <bean123ch@gmail.com>
31448
31449 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
31450 allocation.
31451
b362c9e9 314522009-03-06 Robert Millan <rmh@aybabtu.com>
31453
31454 Fix display issue on terminals with screen size other than 80x25
31455 (e.g. gfxterm with resolution higher than 640x480).
31456
31457 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 31458 position relative to the center of the terminal instead of relying
b362c9e9 31459 on a hardcoded offset.
31460
9304eef1 314612009-03-04 Robert Millan <rmh@aybabtu.com>
31462
31463 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
31464 installed.
31465
31466 * Makefile.in (host_kernel): New variable.
31467 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
31468 scripts instead of just the windows one.
31469 * configure.ac: Initialize and AC_SUBST `host_kernel'.
31470
eabc95fb 314712009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 31472
31473 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
31474 `kern/handler.c'.
31475 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31476 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31477 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31479 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31480 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31481
ceb1223c 314822009-03-04 Felix Zielcke <fzielcke@z-51.de>
31483
31484 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
31485 or if there's no space for the disk label and print the partition number on a
31486 invalid magic.
31487
4910684a 314882009-03-04 Felix Zielcke <fzielcke@z-51.de>
31489
31490 * util/misc.c: Include <time.h>.
31491 (grub_millisleep): New function.
31492
7e9ca17a 314932009-03-04 Bean <bean123ch@gmail.com>
31494
31495 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
31496 another option -mno-red-zone.
31497
31498 * commands/handler.c: Change module description.
31499
31500 * kern/handler.c: Add missing space at the end of description line.
31501
31502 * kern/list.c: Likewise.
31503
f501677c 315042009-03-03 Robert Millan <rmh@aybabtu.com>
31505
31506 Move more components to the relocation area, and fix mbi pointer
31507 handling to use the destination rather than the origin (thanks to
31508 Vladimir Serbinenko for spotting).
31509
31510 * loader/i386/multiboot.c (mbi_dest): New variable.
31511 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
31512 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
31513 relocation area.
31514
9902d047 315152009-03-01 Bean <bean123ch@gmail.com>
31516
50fb7002 31517 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 31518 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
31519 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
31520 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
31521
31522 * loader/i386/efi/linux.c (acpi_guid): New variable.
31523 (acpi_guid): Likewise.
31524 (EBDA_SEG_ADDR): New constant.
31525 (LOW_MEM_ADDR): Likewise.
31526 (FAKE_EBDA_SEG): Likewise.
31527 (fake_bios_data): New function.
31528 (grub_linux_boot): Call fake_bios_data.
31529
71b9f361 315302009-03-01 Bean <bean123ch@gmail.com>
31531
31532 * commands/terminal.c: Removed.
31533
31534 * commands/handler.c: New file.
31535
31536 * include/grub/list.h: Likewise.
31537
31538 * include/grub/handler.h: Likewise.
31539
31540 * kern/list.c: Likewise.
31541
31542 * kern/handler.c: Likewise.
31543
31544 * kern/term.h: Include header file <grub/handler.h>.
31545 (grub_term_input): Move next field to the beginning.
31546 (grub_term_output): Likewise.
31547 (grub_term_input_class): New variable.
31548 (grub_term_output_class): Likewise.
31549 (grub_term_register_input): Changed to inline function.
31550 (grub_term_register_output): Likewise.
31551 (grub_term_unregister_input): Likewise.
31552 (grub_term_unregister_output): Likewise.
31553 (grub_term_set_current_input): Likewise.
31554 (grub_term_set_current_output): Likewise.
31555 (grub_term_get_current_input): Likewise.
31556 (grub_term_get_current_output): Likewise.
31557 (grub_term_iterate_input): Removed.
31558 (grub_term_iterate_output): Likewise.
31559
31560 * kern/term.c (grub_term_list_input): Removed.
31561 (grub_term_list_output): Likewise.
31562 (grub_term_input_class): New variable.
31563 (grub_term_output_class): Likewise.
50fb7002 31564 (grub_cur_term_input): Change variable as macro.
71b9f361 31565 (grub_cur_term_output): Likewise.
31566 (grub_term_register_input): Removed.
31567 (grub_term_register_output): Likewise.
31568 (grub_term_unregister_input): Likewise.
31569 (grub_term_unregister_output): Likewise.
31570 (grub_term_set_current_input): Likewise.
31571 (grub_term_set_current_output): Likewise.
31572 (grub_term_iterate_input): Likewise.
31573 (grub_term_iterate_output): Likewise.
31574 (grub_term_get_current_input): Likewise.
31575 (grub_term_get_current_output): Likewise.
31576
31577 * util/grub-editenv.c: Include header file <grub/handler.h>.
31578 (grub_term_get_current_input): Removed.
31579 (grub_term_get_current_output): Likewise.
31580 (grub_term_input_class): New variable.
50fb7002 31581 (grub_term_output_class): Likewise.
71b9f361 31582
31583 * util/grub-fstest.c (grub_term_get_current_input): Removed.
31584 (grub_term_get_current_output): Likewise.
31585 (grub_term_input_class): New variable.
50fb7002 31586 (grub_term_output_class): Likewise.
71b9f361 31587
31588 * util/grub-probe.c (grub_term_get_current_input): Removed.
31589 (grub_term_get_current_output): Likewise.
31590 (grub_term_input_class): New variable.
50fb7002 31591 (grub_term_output_class): Likewise.
71b9f361 31592
31593 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
31594 (grub_term_get_current_output): Likewise.
31595 (grub_term_input_class): New variable.
50fb7002 31596 (grub_term_output_class): Likewise.
71b9f361 31597
31598 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
31599 (terminal_mod_SOURCES): Likewise.
31600 (terminal_mod_CFLAGS): Likewise.
31601 (terminal_mod_LDFLAGS): Likewise.
31602
31603 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
31604 handler.c.
31605 (kernel_img_SOURCES): Add list.c and handler.c.
31606 (kernel_img_HEADERS): Add list.h and handler.h.
31607
31608 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31609 handler.c.
31610 (kernel_mod_SOURCES): Add list.c and handler.c.
31611 (kernel_mod_HEADERS): Add list.h and handler.h.
31612
31613 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
31614 handler.c.
31615 (kernel_elf_SOURCES): Add list.c and handler.c.
31616 (kernel_elf_HEADERS): Add list.h and handler.h.
31617
31618 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31619 handler.c.
31620 (kernel_elf_SOURCES): Add list.c and handler.c.
31621 (kernel_elf_HEADERS): Add list.h and handler.h.
31622
31623 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
31624 handler.c.
31625 (kernel_mod_SOURCES): Add list.c and handler.c.
31626 (kernel_mod_HEADERS): Add list.h and handler.h.
31627
31628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
31629 handler.c.
31630 (kernel_elf_SOURCES): Add list.c and handler.c.
31631 (kernel_elf_HEADERS): Add list.h and handler.h.
31632
8a31787f 316332009-02-27 Robert Millan <rmh@aybabtu.com>
31634
31635 Factorize elf32 / elf64 code in Multiboot loader. This will
31636 prevent it from getting out of sync again.
31637
31638 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
31639 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
31640 grub_multiboot_load_elf64): Move from here ...
31641 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
31642 grub_multiboot_load_elf): ... to here (new file).
31643
51cd3dfc 316442009-02-27 Robert Millan <rmh@aybabtu.com>
31645
31646 * util/grub.d/10_linux.in: Rename "single-user mode" to
31647 "recovery mode".
31648
6e8c9c3a 316492009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
31650
31651 Don't leak in SCSI code.
31652 * disk/scsi.c (grub_scsi_close): free `scsi'.
31653
4b6bf4f9 316542009-02-27 Robert Millan <rmh@aybabtu.com>
31655
31656 * loader/i386/pc/multiboot.c: Move from here ...
31657 * loader/i386/multiboot.c: ... to here. Update all users.
31658
b9413424 316592009-02-27 Robert Millan <rmh@aybabtu.com>
31660
31661 Patch from Alexandre Bique <bique.alexandre@gmail.com>
31662 * util/i386/pc/grub-setup.c (setup): Fix directory path.
31663
50fb7002 316642009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 31665
31666 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
31667 b-tree.
31668
8cc50345 316692009-02-27 Robert Millan <rmh@aybabtu.com>
31670
31671 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
31672 `0x' qualifier as 0 when base is specified as parameter).
31673
6e09b8b7 316742009-02-24 Bean <bean123ch@gmail.com>
31675
31676 * configure.ac: Check for -mcmodel=large in x86_64 target.
31677
31678 * include/grub/efi/api.h (efi_call_10): New macro.
31679 (efi_wrap_10): New function.
31680
31681 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
31682 (GRUB_PE32_REL_BASED_HIGH): Likewise.
31683 (GRUB_PE32_REL_BASED_LOW): Likewise.
31684 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
31685 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
31686 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
31687 (GRUB_PE32_REL_BASED_SECTION): Likewise.
31688 (GRUB_PE32_REL_BASED_REL): Likewise.
31689 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
31690 (GRUB_PE32_REL_BASED_DIR64): Likewise.
31691 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
31692
31693 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
31694 issue.
31695
31696 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
31697 (efi_wrap_10): New function.
31698
31699 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
31700
31701 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
31702 MB/MBP model (NV chipset).
31703 (devdata_devs): Add devpath_5 to the list.
31704
31705 * load/i386/efi/linux.c (video_base): Remove variable.
31706 (RGB_MASK): New macro.
31707 (RGB_MAGIC): Likewise.
31708 (LINE_MIN): Likewise.
31709 (LINE_MAX): Likewise.
31710 (FBTEST_STEP): Likewise.
31711 (FBTEST_COUNT): Likewise.
31712 (fb_list): New variable.
31713 (grub_find_video_card): Remove function.
31714 (find_framebuf): New function.
31715 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
31716 line length.
31717
31718 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
31719 problem for x86_64.
31720
74b21bee 317212009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
31722
31723 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
31724
31725 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
31726 coding tool name.
31727
a455f472 317282009-02-22 Robert Millan <rmh@aybabtu.com>
31729
31730 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
31731 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
31732 in our relocation, instead of using it directly from heap. Also
31733 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
31734
6374daf3 317352009-02-21 Robert Millan <rmh@aybabtu.com>
31736
31737 Implement USB keyboard support (based on patch by Marco Gerards)
31738
31739 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
31740 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
31741 (usb_keyboard_mod_LDFLAGS): New variables.
31742
31743 * term/usb_keyboard.c: New file.
31744
8fa4ea70 317452009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
31746
31747 Corrected wrong declaration
31748
31749 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
31750
353976ac 317512009-02-14 Christian Franke <franke@computer.org>
31752
31753 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
31754 (grub_lspci_iter): Print class code and programming interface byte.
31755
6aa1169b 317562009-02-14 Christian Franke <franke@computer.org>
31757
31758 * gendistlist.sh: Ignore `.svn' directories.
31759
265372ca 317602009-02-14 Felix Zielcke <fzielcke@z-51.de>
31761
31762 * fs/fat.c: Add 2009 to Copyright line.
31763
9ff516f3 317642009-02-14 Christian Franke <franke@computer.org>
31765
31766 * commands/hdparm.c: New file. Provides `hdparm' command
31767 which sends ATA commands via grub_disk_ata_pass_through ().
31768
31769 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
31770
31771 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
31772 and <grub/cpu/io.h> to include/grub/ata.h.
31773 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
31774 (GRUB_CDROM_SECTOR_SIZE): Remove.
31775 (GRUB_ATA_*): Move to include/grub/ata.h.
31776 (GRUB_ATAPI_*): Likewise.
31777 (enum grub_ata_commands): Likewise.
31778 (enum grub_ata_timeout_milliseconds): Likewise.
31779 (struct grub_ata_device): Likewise.
31780 (grub_ata_regset): Likewise.
31781 (grub_ata_regget): Likewise.
31782 (grub_ata_regset2): Likewise.
31783 (grub_ata_regget2): Likewise.
31784 (grub_ata_check_ready): Likewise.
31785 (grub_ata_wait_not_busy): Remove static, exported in
31786 include/grub/ata.h.
31787 (grub_ata_wait_drq): Likewise.
31788 (grub_ata_pio_read): Likewise.
31789
31790 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
31791 function for hdparm.mod.
31792
31793 * include/grub/ata.h: New file, contains declarations from
31794 disk/ata.c.
31795 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
31796
31797 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
31798 (grub_disk_ata_pass_through): New exported variable.
31799
31800 * kern/disk.c (grub_disk_ata_pass_through): New variable.
31801
772e23da 318022009-02-13 Colin D Bennett <colin@gibibit.com>
31803
31804 Support multiple fallback entries, and provide an API to support
31805 executing default+fallback menu entries. Renamed the `terminal' menu
31806 viewer to `text'.
31807
31808 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
31809 variable declaration.
31810 (grub_menu_execute_callback): New structure declaration.
31811 (grub_menu_execute_callback_t): New typedef.
31812 (grub_menu_execute_with_fallback): New function declaration.
31813 (grub_menu_get_entry): Likewise.
31814 (grub_menu_get_timeout): Likewise.
31815 (grub_menu_set_timeout): Likewise.
31816
31817 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
31818
31819 * normal/menu.c (grub_wait_after_message): Moved to
31820 `normal/menu_text.c'.
31821 (draw_border): Likewise.
31822 (print_message): Likewise.
31823 (print_entry): Likewise.
31824 (print_entries): Likewise.
31825 (grub_menu_init_page): Likewise.
31826 (get_entry_number): Likewise.
31827 (print_timeout): Likewise.
31828 (run_menu): Likewise.
31829 (grub_menu_execute_entry): Likewise.
31830 (show_text_menu): Likewise.
31831 (get_and_remove_first_entry_number): New function.
31832 (grub_menu_execute_with_fallback): Likewise.
31833 (get_entry): Renamed to ...
31834 (grub_menu_get_entry): .. this and made it global.
31835 (get_timeout): Renamed to ...
31836 (grub_menu_get_timeout): ... this and made it global.
31837 (set_timeout): Renamed to ...
31838 (grub_menu_set_timeout): ... this and made it global.
31839 (grub_normal_terminal_menu_viewer): Renamed to ...
31840 (grub_normal_text_menu_viewer): ... this.
31841
31842 * normal/menu_text.c: New file. Extracted text-menu-specific code
31843 from normal/menu.c.
31844
31845 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
31846 (normal_mod_SOURCES): Likewise.
31847
31848 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31849 (normal_mod_SOURCES): Likewise.
31850
31851 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31852 (normal_mod_SOURCES): Likewise.
31853
31854 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
31855 (normal_mod_SOURCES): Likewise.
31856
31857 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31858 (normal_mod_SOURCES): Likewise.
31859
31860 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31861 (normal_mod_SOURCES): Likewise.
31862
31863 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31864 (normal_mod_SOURCES): Likewise.
31865
16ac430e 318662009-02-11 Robert Millan <rmh@aybabtu.com>
31867
31868 * util/grub.d/00_header.in: Update old reference to `font' command.
31869
06ff20fc 318702009-02-10 Felix Zielcke <fzielcke@z-51.de>
31871
31872 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
31873
31874 Based on patch from Javier Martín.
31875
96da9407 318762009-02-09 Felix Zielcke <fzielcke@z-51.de>
31877
31878 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 31879 to avoid false positives with FAT.
96da9407 31880 (grub_fstest_SOURCES): Likewise.
31881 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31882 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31883 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31884 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
31885 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31886 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31887
6dca6fe4 318882009-02-09 Felix Zielcke <fzielcke@z-51.de>
31889
06ff20fc 31890 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 31891 bpb.version_specific.fat12_or_fat16.fstype and
31892 bpb.version_specific.fat32.fstype.
31893
2550c62f 318942009-02-08 Robert Millan <rmh@aybabtu.com>
31895
be110b30 31896 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 31897
56978920 318982009-02-08 Robert Millan <rmh@aybabtu.com>
31899
31900 * Makefile.in (host_os, host_cpu): New variables.
31901 (target_os): Remove. Update all users.
31902
d64399b5 319032009-02-08 Marco Gerards <marco@gnu.org>
31904
31905 * Makefile.in (enable_grub_emu_usb): New variable.
31906 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
31907 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
31908 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
31909 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
31910 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
31911 `usbtest.mod' and `usbms.mod'.
31912 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
31913 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
31914 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
31915 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
31916 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
31917 variables.
31918
31919 * disk/usbms.c: New file.
31920
31921 * include/grub/usb.h: Likewise.
31922
31923 * include/grub/usbtrans.h: Likewise.
31924
31925 * include/grub/usbdesc.h: Likewise.
31926
31927 * bus/usb/usbtrans.c: Likewise.
31928
31929 * bus/usb/ohci.c: Likewise.
31930
31931 * bus/usb/uhci.c: Likewise.
31932
31933 * bus/usb/usbhub.c: Likewise.
31934
31935 * bus/usb/usb.c: Likewise.
31936
31937 * commands/usbtest.c: Likewise.
31938
31939 * util/usb.c: Likewise.
50fb7002 31940
d64399b5 31941 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
31942
31943 * configure.ac: Test for libusb presence.
50fb7002 31944
d64399b5 31945 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
31946
2b40d6bb 319472009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
31948
31949 * kern/mm.c: Add more comments.
31950
73a4ce81 319512009-02-08 Robert Millan <rmh@aybabtu.com>
31952
31953 Patch from Javier Martín.
31954 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
31955 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
31956
f821ce59 319572009-02-08 Robert Millan <rmh@aybabtu.com>
31958
31959 * fs/cpio.c: Split tar functionality to ...
31960 * fs/tar.c: ... here (new file). Update all users.
31961
aebfc4b0 319622009-02-07 Robert Millan <rmh@aybabtu.com>
31963
31964 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
31965 backward-incompatible features.
31966
31967 Based on patch from Javier Martín, with some adjustments.
31968
50fb7002 319692009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 31970
31971 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
31972
0bb5115e 319732009-02-07 Robert Millan <rmh@aybabtu.com>
31974
31975 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
31976 position of `disk/lvm.c' to ensure grub_init_all() always picks it
31977 after the RAID stuff.
31978
38a0f8e7 319792009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
31980
50fb7002 31981 Fixes problem when running vbetest command as reported by
38a0f8e7 31982 Vladimir Serbinenko <phcoder@gmail.com>.
31983
31984 * (grub_vbe_set_video_mode): Fixed problem with text modes.
31985
3143cc1c 319862009-02-04 Felix Zielcke <fzielcke@z-51.de>
31987
31988 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
31989 /dev/md/NpN style mdraid devices.
31990
9cba6fce 319912009-02-03 Felix Zielcke <fzielcke@z-51.de>
31992
31993 * util/unifont2pff.rb: Remove.
31994
e507a2c1 319952009-02-03 Felix Zielcke <fzielcke@z-51.de>
31996
31997 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
31998 `#'.
31999
d2c2b4cd 320002009-02-03 Felix Zielcke <fzielcke@z-51.de>
32001
32002 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32003 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32004 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32005 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32006 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32007 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32008 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32009
b4315fb0 320102009-02-02 Christian Franke <franke@computer.org>
32011
32012 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32013
de3aa260 320142009-02-01 Felix Zielcke <fzielcke@z-51.de>
32015
7c3ff286 32016 * INSTALL: Note that we now require at least autoconf 2.59 and
32017 that LZO is optional.
de3aa260 32018
825a182b 320192009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32020
32021 Base on patch on bug #24154 created by Tomas Tintera
32022 <trosos@seznam.cz>.
32023
32024 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32025
a69ef770 320262009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32027
7c3ff286 32028 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 32029 <bero@arklinux.org>.
32030
32031 * normal/parser.y (script_init): Add missing semicolon.
32032
6fa42fa6 320332009-01-31 Colin D Bennett <colin@gibibit.com>
32034
7c3ff286 32035 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 32036 (free_menu_entry_classes): Added.
32037 (grub_normal_menu_addentry): Added class property handling.
32038 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32039 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32040
32041 * normal/menu_viewer.c: New file.
32042
32043 * normal/menu.c (run_menu_entry): Renamed to ...
32044 (grub_menu_execute_entry): ... this and made it as global.
32045 (grub_menu_run): Renamed to ...
32046 (show_text_menu): ... this and made it local.
32047 (show_text_menu): Adapt to new function names.
32048 (grub_normal_terminal_menu_viewer): New global variable.
32049
32050 * include/grub/menu.h: New file.
32051
32052 * include/grub/menu_viewer.h: New file.
32053
32054 * include/grub/normal.h: Added include to grub/menu.h.
32055 (grub_menu_entry): Moved to include/grub/menu.h.
32056 (grub_menu_entry_t): Likewise.
32057 (grub_menu): Likewise.
32058 (grub_menu_t): Likewise.
32059 (grub_normal_terminal_menu_viewer): Added.
32060 (grub_menu_execute_entry): Likewise.
32061 (grub_menu_run): Removed.
32062
32063 * DISTLIST: Added include/grub/menu.h.
32064 Added include/grub/menu_viewer.h.
32065 Added normal/menu_viewer.c.
32066
320672009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32068
32069 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32070 arglist for menutitle arguments.
32071
32072 * normal/main.c (grub_normal_menu_addentry): Likewise.
32073
32074 * normal/parser.y (menuentry): Likewise.
32075
32076 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32077
32078 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32079 (grub_script_create_cmdmenu): Likewise.
32080
32081 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32082
32083 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32084 changes.
32085
32086 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32087
32088 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32089
32090 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32091
32092 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32093
32094 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32095
32096 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32097
56192c23 320982009-01-30 Christian Franke <franke@computer.org>
32099
32100 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32101 in option help text.
32102
d72521b3 321032009-01-27 Pavel Roskin <proski@gnu.org>
32104
32105 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32106
994b5e84 321072009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32108
32109 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32110
32111 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32112
32113 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32114 unregister function.
32115
6a7eab2c 321162009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32117
32118 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32119
32120 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32121
32122 * util/grub-mkfont.c (usage): Fix typo.
32123
32124 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32125
1806b56e 321262009-01-26 Daniel Mierswa <impulze@impulze.org>
32127
3fb18f09 32128 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32129
336e1fb9 32130 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32131
1806b56e 32132 * kern/misc.c (grub_strcasecmp): New function.
32133 (grub_strcasecmp): Use grub_size_t instead of int for length.
32134 Fix return value.
32135 * include/grub/misc.h: Update function prototypes.
32136
580b2a0f 321372009-01-26 Robert Millan <rmh@aybabtu.com>
32138
32139 * configure.ac: Fix cross-compilation check.
ef257b36 32140
d31c24f1 321412009-01-22 Christian Franke <franke@computer.org>
32142
32143 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32144 (precision) digit string. Allow `.format2' without `format1' (width).
32145 Limit input chars for `%s' output to `format2' if specified. This is
32146 compatible with standard printf ().
32147
3138b44c 321482009-01-22 Christian Franke <franke@computer.org>
32149
32150 * disk/ata.c (grub_ata_wait_status): Replace by ...
32151 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32152 other status bits may be invalid while BSY is asserted.
32153 (grub_ata_check_ready): New function.
32154 (grub_ata_cmd): Removed.
32155 (grub_ata_wait_drq): New function.
32156 (grub_ata_strncpy): Remove inline.
32157 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32158 and error check now done by grub_ata_wait_drq ().
32159 (grub_ata_pio_write): Likewise.
32160 (grub_atapi_identify): Set DEV before check for !BSY. Use
32161 grub_ata_wait_drq () to wait for data.
32162 (grub_ata_device_initialize): Add status register check to
32163 detect missing SATA slave devices. Add debug messages.
32164 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32165 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32166 transfer loop by grub_ata_pio_write ().
32167 (grub_ata_identify): Set DEV before check for !BSY. Use
32168 grub_ata_wait_drq () to wait for data.
ef257b36 32169 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 32170 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32171 read/write in one loop. Fix invalid command on write. Fix incomplete
32172 command on (size % batch) == 0. Add missing error check after write of
32173 last block. Add debug messages.
32174 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32175
59a64ef6 321762009-01-19 Christian Franke <franke@computer.org>
32177
32178 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32179 (GRUB_ATAPI_IREASON_*): Likewise.
32180 (grub_ata_pio_write): Fix timeout error return.
32181 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32182 (grub_atapi_wait_drq): New function.
32183 (grub_atapi_packet): New parameter `size'.
32184 Use grub_atapi_wait_drq () and direct write instead of
32185 grub_ata_pio_write ().
32186 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32187 reads the number of bytes requested by the device for each DRQ
32188 assertion.
32189 (grub_atapi_write): Remove old implementation, return not
32190 implemented instead.
32191
1cfe20b3 321922009-01-19 Christian Franke <franke@computer.org>
32193
32194 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32195 of 512 to calculate data size.
32196 (grub_scsi_read12): Likewise.
32197 (grub_scsi_write10): Likewise.
32198 (grub_scsi_write12): Likewise.
32199 (grub_scsi_read): Adjust size according to blocksize.
32200 Add checks for invalid blocksize and unaligned transfer.
32201
bee5fe5d 322022009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32203
32204 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32205
ef257b36 32206 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 32207 width glyphs.
32208
3e643f8c 322092009-01-19 Robert Millan <rmh@aybabtu.com>
32210
32211 * config.guess: Update to latest version from config git.
32212 * config.sub: Likewise.
32213
4fa80998 322142009-01-17 Felix Zielcke <fzielcke@z-51.de>
32215
32216 * Makefile.in: Change font compilation to use new grub-mkfont instead
32217 of java version.
32218
32219 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32220 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32221 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32222 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32223 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32224 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32225 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32226 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32227 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32228
7086085b 322292009-01-16 Christian Franke <franke@computer.org>
32230
32231 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32232 (enum grub_ata_timeout_milliseconds): New enum.
32233 (grub_ata_wait_status): Add parameter milliseconds.
32234 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32235 recovery from timed-out commands.
32236 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32237 return grub_errno instead of REG_ERROR.
32238 (grub_ata_pio_write): Add parameter milliseconds.
32239 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32240 Pass milliseconds to grub_ata_wait_status () and
32241 grub_ata_pio_read ().
32242 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
32243 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
32244 grub_ata_wait_status (). Fix IDENTIFY timeout check.
32245 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
32246 It is not suitable for device detection, because DEV bit is ignored,
32247 the command may run too long, and not all devices set the signature
32248 properly.
32249 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
32250 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
32251 Fix device selection, DEV bit must be set first to address the registers
32252 of the correct device.
32253 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
32254 grub_ata_pio_read/write ().
32255 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
32256 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
32257
4a412913 322582009-01-13 Carles Pina i Estany <carles@pina.cat>
32259
32260 * util/grub-editenv.c (main): Use fseeko(), not fseek().
32261
7795c55e 322622009-01-13 Bean <bean123ch@gmail.com>
d913988c 32263
32264 * util/grub-mkfont.c (write_font): forget to remove some debug code.
32265
7795c55e 322662009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 32267
32268 * Makefile.in: (enable_grub_mkfont): New variable.
32269 (freetype_cflags): Likewise.
32270 (freetype_libs): Likewise.
32271
32272 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
32273 (grub_mkfont_SOURCES): New variable.
32274 (grub_mkfont_CFLAGS): Likewise.
32275 (grub_mkfont_LDFLAGS): Likewise.
32276
32277 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
32278 library if `--enable-grub-mkfont' is requested.
32279 (enable_grub_mkfont): New variable.
32280 (freetype_cflags): Likewise.
32281 (freetype_libs): Likewise.
32282
32283 * util/grub-mkfont.c: New file.
32284
093af1fe 322852009-01-12 Christian Franke <franke@computer.org>
32286
32287 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
32288 mode check. Fix setting of compat_use[].
32289
f36cc108 322902009-01-10 Robert Millan <rmh@aybabtu.com>
32291
32292 Update a few copyright years which we forgot to do in 2008 (only for
32293 files whose changes made in 2008 were copyright-significant)
32294
32295 * Makefile.in: Add 2008 to Copyright line.
32296 * disk/ieee1275/ofdisk.c: Likewise.
32297 * disk/efi/efidisk.c: Likewise.
32298 * kern/dl.c: Likewise.
32299 * kern/sparc64/ieee1275/init.c: Likewise.
32300 * kern/mm.c: Likewise.
32301 * kern/efi/mm.c: Likewise.
32302 * boot/i386/pc/boot.S: Likewise.
32303 * genfslist.sh: Likewise.
32304 * fs/iso9660.c: Likewise.
32305 * fs/hfs.c: Likewise.
32306 * fs/jfs.c: Likewise.
32307 * fs/minix.c: Likewise.
32308 * fs/ufs.c: Likewise.
32309 * gensymlist.sh.in: Likewise.
32310 * genkernsyms.sh.in: Likewise.
32311 * include/grub/misc.h: Likewise.
32312 * include/grub/types.h: Likewise.
32313 * include/grub/symbol.h: Likewise.
32314 * include/grub/elf.h: Likewise.
32315 * include/grub/kernel.h: Likewise.
32316 * include/grub/disk.h: Likewise.
32317 * include/grub/dl.h: Likewise.
32318 * include/grub/i386/linux.h: Likewise.
32319 * include/grub/i386/pc/biosdisk.h: Likewise.
32320 * include/grub/efi/api.h: Likewise.
32321 * include/grub/efi/pe32.h: Likewise.
32322 * include/grub/util/misc.h: Likewise.
32323 * normal/execute.c: Likewise.
32324 * normal/arg.c: Likewise.
32325 * normal/completion.c: Likewise.
32326 * normal/lexer.c: Likewise.
32327 * normal/parser.y: Likewise.
32328 * normal/misc.c: Likewise.
32329 * commands/i386/pc/vbeinfo.c: Likewise.
32330 * commands/hexdump.c: Likewise.
32331 * commands/terminal.c: Likewise.
32332 * commands/ls.c: Likewise.
32333 * commands/help.c: Likewise.
32334 * partmap/pc.c: Likewise.
32335 * loader/efi/chainloader.c: Likewise.
32336 * loader/multiboot_loader.c: Likewise.
32337 * loader/i386/pc/multiboot2.c: Likewise.
32338 * term/efi/console.c: Likewise.
32339 * term/i386/pc/serial.c: Likewise.
32340 * util/lvm.c: Likewise.
32341 * util/console.c: Likewise.
32342 * util/i386/efi/grub-mkimage.c: Likewise.
32343 * util/raid.c: Likewise.
32344
7f02114b 323452009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
32346
32347 * commands/videotest.c: Removed include to grub/machine/memory.h.
32348
32349 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
32350 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
32351 (video_mod_SOURCES): Removed.
32352 (video_mod_CFLAGS): Likewise.
32353 (video_mod_LDFLAGS): Likewise.
32354 (gfxterm_mod_SOURCES): Likewise.
32355 (gfxterm_mod_CFLAGS): Likewise.
32356 (gfxterm_mod_LDFLAGS): Likewise.
32357 (videotest_mod_SOURCES): Likewise.
32358 (videotest_mod_CFLAGS): Likewise.
32359 (videotest_mod_LDFLAGS): Likewise.
32360 (bitmap_mod_SOURCES): Likewise.
32361 (bitmap_mod_CFLAGS): Likewise.
32362 (bitmap_mod_LDFLAGS): Likewise.
32363 (tga_mod_SOURCES): Likewise.
32364 (tga_mod_CFLAGS): Likewise.
32365 (tga_mod_LDFLAGS): Likewise.
32366 (jpeg_mod_SOURCES): Likewise.
32367 (jpeg_mod_CFLAGS): Likewise.
32368 (jpeg_mod_LDFLAGS): Likewise.
32369 (png_mod_SOURCES): Likewise.
32370 (png_mod_CFLAGS): Likewise.
32371 (png_mod_LDFLAGS): Likewise.
32372
32373 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
32374 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
32375 (video_mod_SOURCES): Added.
32376 (video_mod_CFLAGS): Likewise.
32377 (video_mod_LDFLAGS): Likewise.
32378 (videotest_mod_SOURCES): Likewise.
32379 (videotest_mod_CFLAGS): Likewise.
32380 (videotest_mod_LDFLAGS): Likewise.
32381 (bitmap_mod_SOURCES): Likewise.
32382 (bitmap_mod_CFLAGS): Likewise.
32383 (bitmap_mod_LDFLAGS): Likewise.
32384 (tga_mod_SOURCES): Likewise.
32385 (tga_mod_CFLAGS): Likewise.
32386 (tga_mod_LDFLAGS): Likewise.
32387 (jpeg_mod_SOURCES): Likewise.
32388 (jpeg_mod_CFLAGS): Likewise.
32389 (jpeg_mod_LDFLAGS): Likewise.
32390 (png_mod_SOURCES): Likewise.
32391 (png_mod_CFLAGS): Likewise.
32392 (png_mod_LDFLAGS): Likewise.
32393 (gfxterm_mod_SOURCES): Likewise.
32394 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 32395 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 32396
32397 * term/gfxterm.c: Removed include to grub/machine/memory.h,
32398 grub/machine/console.h.
32399
644fff97 324002009-01-04 Jerone Young <jerone@gmail.com>
32401
32402 Make on screen instructions clearer
32403
32404 Based on patch created by Jidanni <jidanni@jidanni.org>
32405
32406 * normal/menu.c: print clearer instructions on the screen
32407
1e901a75 324082009-01-02 Colin D Bennett <colin@gibibit.com>
32409
32410 New font engine.
34c44600 32411
1e901a75 32412 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
32413 build system and fixed gfxterm.c to work with different sized fonts.
32414
32415 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 32416
1e901a75 32417 * configure: Re-generated.
34c44600 32418
1e901a75 32419 * DISTLIST: Removed font/manager.c.
32420 Added font/font.c.
32421 Added font/font_cmd.c.
34c44600 32422
1e901a75 32423 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
32424 compilation.
34c44600 32425
1e901a75 32426 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 32427
32428 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 32429
32430 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 32431
1e901a75 32432 * normal/menu.c: Likewise.
34c44600 32433
1e901a75 32434 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
32435 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 32436
1e901a75 32437 * include/grub/font.h: Replaced with new file.
34c44600 32438
1e901a75 32439 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
32440 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
32441 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
32442 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
32443 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 32444 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 32445 fg_red, fg_green, fg_blue, fg_alpha.
32446 (grub_video_adapter): Removed blit_glyph.
34c44600 32447 (grub_video_blit_glyph): Removed.
32448
1e901a75 32449 * font/manager.c: Removed file.
34c44600 32450
32451 * font/font.c: New file.
32452
1e901a75 32453 * font/font_cmd.c: Likewise.
34c44600 32454
1e901a75 32455 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 32456
1e901a75 32457 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
32458 (grub_video_vbe_map_rgba): Likewise.
32459 (grub_video_vbe_unmap_color_int): Likewise.
32460 (grub_video_vbe_blit_glyph): Removed.
32461 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 32462
1e901a75 32463 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
32464 (get_pixel): Likewise.
34c44600 32465 (set_pixel): Likewise.
32466
1e901a75 32467 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 32468
1e901a75 32469 * term/gfxterm.c: Adapted to new font engine.
34c44600 32470
1e901a75 32471 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 32472
1e901a75 32473 * term/i386/pc/vga.c: Likewise.
34c44600 32474
1e901a75 32475 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 32476
1e901a75 32477 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 32478
1e901a75 32479 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 32480
1e901a75 32481 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 32482
1e901a75 32483 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 32484
1e901a75 32485 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 32486
1e901a75 32487 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 32488
1e901a75 32489 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 32490
1e901a75 32491 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32492
32493 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 32494
1e901a75 32495 * util/grub-mkconfig_lib.in: Changed font extension.
32496
278922e8 324972008-12-28 Felix Zielcke <fzielcke@z-51.de>
32498
32499 * util/getroot.c (grub_util_get_grub_dev): Add support for
32500 /dev/md/dNNpNN style partitionable mdraid devices.
32501
3ced05cf 325022008-12-12 Alex Smith <alex@alex-smith.me.uk>
32503
32504 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
32505 at a time limit of the PXE TFTP API correctly.
32506 (grub_pxefs_close): Likewise.
32507
7fd0ee30 325082008-11-29 Robert Millan <rmh@aybabtu.com>
32509
34c44600 32510 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 32511 grub_ata_device_initialize() calls.
32512
34c44600 325132008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 32514
32515 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
32516 iteration failed.
32517 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
32518
89313780 325192008-11-28 Robert Millan <rmh@aybabtu.com>
32520
32521 Fix build on powerpc-ieee1275. Based on patch created by
32522 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
32523 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32524 `kern/ieee1275/mmap.c'.
32525 * include/grub/powerpc/ieee1275/memory.h: New file.
32526
15257703 32527 Provide grub-install on coreboot.
32528 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
32529 (grub_install_SOURCES): New variable.
32530 * util/i386/pc/grub-install.in: Add a few condition checks to make it
32531 usable on coreboot.
32532
9fc5388a 325332008-11-25 Felix Zielcke <fzielcke@z-51.de>
32534
32535 * util/grub-fstest.c (grub_term_get_current_input): Change return type
32536 to `grub_term_input_t'.
32537 (grub_term_get_current_output): Change return type to
32538 `grub_term_output_t'.
32539
bc3a2f31 325402008-11-22 Robert Millan <rmh@aybabtu.com>
32541
34c44600 32542 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 32543 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
32544 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
32545 grub_vga_text_cls().
32546
80fc88f2 32547 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 32548 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 32549
cbf36fd3 32550 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
32551 to 0x200000 (avoids trouble with some OFW implementations, and matches
32552 with the one in Yaboot).
32553 Reported by Manoel Abranches
32554
73e8e268 325552008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 32556
32557 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
32558 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
32559
73e8e268 32560 * util/grub-mkconfig_lib.in (grub_warn): New function.
32561 (convert_system_path_to_grub_path): Use grub_warn() when issuing
32562 warnings, to obtain consistent formatting.
32563 * util/grub.d/00_header.in: Likewise.
32564 * util/update-grub_lib.in: Likewise.
32565
e94045a1 32566 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 32567 Move comment text to `#error' stanza.
e94045a1 32568
79d29fd7 32569 Harmonize ieee1275's grub_available_iterate() with the generic
32570 grub_machine_mmap_iterate() interface (fixes a recently-introduced
32571 build problem on i386-ieee1275):
32572 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
32573 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
32574 parameter `type'. Update all users of this function.
32575 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32576 `kern/ieee1275/mmap.c'.
32577 * kern/ieee1275/init.c
32578 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
32579 with ...
32580 (grub_machine_mmap_iterate): ... this.
32581 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
32582 return type to `grub_err_t'. Update all implementations of this
32583 function prototype.
32584 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
32585 Likewise.
32586
60d6b16e 32587 Add `lsmmap' command (lists firmware-provided memory map):
32588 * commands/lsmmap.c: New file.
32589 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
32590 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
32591 variables.
32592 * conf/powerpc-ieee1275.rmk: Likewise.
32593 * conf/i386-coreboot.rmk: Likewise.
32594 * conf/i386-ieee1275.rmk: Likewise.
32595
ebaaf49b 325962008-11-19 Robert Millan <rmh@aybabtu.com>
32597
32598 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 32599 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
32600 constraints to initrd allocation (based on code from
32601 loader/i386/pc/linux.c). Without them, initrd was allocated too high
32602 for Linux to find it.
ebaaf49b 32603
dfab719f 326042008-11-14 Robert Millan <rmh@aybabtu.com>
32605
32606 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
32607 order to cope with duplicate slashes.
32608
10fc3eb9 326092008-11-14 Robert Millan <rmh@aybabtu.com>
32610
32611 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
32612 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
32613 don't want to mess with lower memory, because it is used in the Linux
32614 loader.
32615
32616 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 32617 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 32618 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
32619 is in our heap (probably as a result of it being corrupted during
2f2a3442 32620 decompression). Add #error instance with comment to explain why this
32621 loader isn't currently usable on PC/BIOS.
10fc3eb9 32622
e2e07847 326232008-11-14 Robert Millan <rmh@aybabtu.com>
32624
32625 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 32626 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 32627
fe8e8d69 326282008-11-12 Robert Millan <rmh@aybabtu.com>
32629
32630 Make loader/i386/linux.c buildable on i386-pc (although disabled).
32631
32632 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
32633 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
32634 from here ...
32635 * include/grub/i386/pc/memory.h: ... to here.
32636
976b07d0 326372008-11-12 Robert Millan <rmh@aybabtu.com>
32638
32639 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
32640 split).
32641
32642 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
32643 (grub_console_cur_color, grub_console_real_putchar)
32644 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32645 (grub_console_setcolorstate, grub_console_setcolor)
32646 (grub_console_getcolor): Move from here ...
32647 * include/grub/i386/vga_common.h: ... to here (new file).
32648
32649 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
32650 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
32651 `<grub/i386/io.h>'.
32652 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
32653 `<grub/i386/vga_common.h>'.
32654
76679cd3 326552008-11-12 Robert Millan <rmh@aybabtu.com>
32656
32657 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
32658 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
32659 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
32660 variables.
32661 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32662 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
32663
32664 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
32665 grub_console_init() with call to grub_vga_text_init().
32666 (grub_machine_fini): Replace call to
32667 grub_console_fini() with call to grub_vga_text_fini() and
32668 grub_at_keyboard_fini().
32669
32670 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
32671 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
32672 (grub_console_setcolorstate, grub_console_setcolor)
32673 (grub_console_getcolor): New function prototypes.
32674
32675 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
32676 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
32677 (grub_vga_text_setcursor): Static-ize.
32678 (grub_vga_text_term): New structure.
32679 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
32680
32681 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
32682 (grub_console_cur_color, grub_console_standard_color)
32683 (grub_console_normal_color, grub_console_highlight_color)
32684 (map_char, grub_console_putchar, grub_console_getcharwidth)
32685 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
32686 (grub_console_getcolor): Move from here ...
32687 * term/i386/vga_common.c: ... to here (same function names).
32688
95b841d3 326892008-11-12 Robert Millan <rmh@aybabtu.com>
32690
32691 Use newly-added Multiboot support in coreboot.
32692
32693 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
32694 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
32695
32696 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
32697 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
32698 (codestart): Store the MBI in `startup_multiboot_info' when we're
32699 being loaded using Multiboot.
32700
32701 * kern/i386/coreboot/init.c (grub_machine_init): Move
32702 grub_at_keyboard_init() call to beginning of function (useful for
32703 debugging). Call grub_machine_mmap_init() before attempting to use
32704 grub_machine_mmap_iterate().
32705 (grub_lower_mem, grub_upper_mem): Move from here ...
32706 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
32707 here (new file).
32708
32709 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
32710 function prototype.
32711
761ca975 327122008-11-12 Robert Millan <rmh@aybabtu.com>
32713
32714 Fix a regression introduced by the at_keyboard.mod split. Because
32715 some terminals are default on some platforms and non-default on
32716 others, the first terminal being registered determines which is
32717 going to be default.
32718
32719 * kern/term.c (grub_term_register_input): If this is the first
32720 terminal being registered, set it as the current one.
32721 (grub_term_register_output): Likewise.
32722
32723 * term/efi/console.c (grub_console_init): Do not call
32724 grub_term_set_current_output() or grub_term_set_current_input().
32725 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
32726 * term/i386/pc/console.c (grub_console_init): Likewise.
32727 (grub_console_fini): Do not call grub_term_set_current_input()
32728 (but leave grub_term_set_current_output() to restore text mode).
32729
6c529df7 327302008-11-10 Robert Millan <rmh@aybabtu.com>
32731
32732 * util/grub.d/00_header.in: Add backward compatibility check for
32733 versions of terminal.mod that don't understand `terminal_input' or
32734 `terminal_output'.
32735
132e4113 327362008-11-09 Robert Millan <rmh@aybabtu.com>
32737
32738 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
32739 `terminal_input' / `terminal_output', not `terminal'.
32740
ac293d50 327412008-11-08 Robert Millan <rmh@aybabtu.com>
32742
32743 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 32744 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 32745
0025933a 327462008-11-08 Robert Millan <rmh@aybabtu.com>
32747
32748 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 32749 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 32750 members. Update all users.
32751 * util/console.c (grub_ncurses_term): Split in ...
32752 (grub_ncurses_term_input): ... this, and ...
32753 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 32754 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 32755
37c86336 327562008-11-08 Robert Millan <rmh@aybabtu.com>
32757
32758 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
32759 (PKGDATA): Add $(pkgdata_SRCDIR).
32760 (pkglib_BUILDDIR): New variable.
32761 (pkgdata_SRCDIR): New variable.
32762 (build_env.mk): New target.
32763 (include_DATA): New variable.
32764 (install-local): Install $(include_DATA) files in $(includedir).
32765
b6c15a2d 327662008-11-07 Pavel Roskin <proski@gnu.org>
32767
d99d46f1 32768 * gendistlist.sh: Use C locale for sorting to ensure consistent
32769 output on all systems.
32770
b6c15a2d 32771 * util/grub.d/00_header.in: Remove incorrect space before
32772 "serial".
32773
c32ee8c9 327742008-11-07 Robert Millan <rmh@aybabtu.com>
32775
32776 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
32777 per specification.
32778 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
32779 * loader/multiboot_loader.c (find_multi_boot2_header): New function
32780 (based on find_multi_boot1_header).
32781 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
32782 using find_multi_boot2_header(), and abort if neither Multiboot or
32783 Multiboot headers were found.
32784
651c29b7 327852008-11-07 Robert Millan <rmh@aybabtu.com>
32786
32787 Modularize at_keyboard.mod:
32788
32789 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
32790 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
32791 (at_keyboard_mod_LDFLAGS): New variables.
32792
32793 Actual terminal split:
32794
32795 * include/grub/term.h (struct grub_term): Split in ...
32796 (struct grub_term_input): ... this, and ...
32797 (struct grub_term_output): ... this. Update all users.
32798 (grub_term_set_current): Split in ...
32799 (grub_term_set_current_input): ... this, and ...
32800 (grub_term_set_current_output): ... this.
32801 (grub_term_get_current): Split in ...
32802 (grub_term_get_current_input): ... this, and ...
32803 (grub_term_get_current_output): ... this.
32804 (grub_term_register): Split in ...
32805 (grub_term_register_input): ... this, and ...
32806 (grub_term_register_output): ... this.
32807 (grub_term_unregister): Split in ...
32808 (grub_term_unregister_input): ... this, and ...
32809 (grub_term_unregister_output): ... this.
32810 (grub_term_iterate): Split in ...
32811 (grub_term_iterate_input): ... this, and ...
32812 (grub_term_iterate_output): ... this.
32813
32814 * kern/term.c (grub_term_list): Split in ...
32815 (grub_term_list_input): ... this, and ...
32816 (grub_term_list_output): ... this. Update all users.
32817 (grub_cur_term): Split in ...
32818 (grub_cur_term_input): ... this, and ...
32819 (grub_cur_term_output): ... this. Update all users.
32820 (grub_term_set_current): Split in ...
32821 (grub_term_set_current_input): ... this, and ...
32822 (grub_term_set_current_output): ... this.
32823 (grub_term_get_current): Split in ...
32824 (grub_term_get_current_input): ... this, and ...
32825 (grub_term_get_current_output): ... this.
32826 (grub_term_register): Split in ...
32827 (grub_term_register_input): ... this, and ...
32828 (grub_term_register_output): ... this.
32829 (grub_term_unregister): Split in ...
32830 (grub_term_unregister_input): ... this, and ...
32831 (grub_term_unregister_output): ... this.
32832 (grub_term_iterate): Split in ...
32833 (grub_term_iterate_input): ... this, and ...
32834 (grub_term_iterate_output): ... this.
32835
32836 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
32837 a check for input and one for output (and only attempt to get keys
32838 from user when input works).
32839
32840 * util/grub-probe.c (grub_term_get_current): Split in ...
32841 (grub_term_get_current_input): ... this, and ...
32842 (grub_term_get_current_output): ... this.
32843 * util/grub-fstest.c: Likewise.
32844 * util/i386/pc/grub-setup.c: Likewise.
32845 * util/grub-editenv.c: Likewise.
32846
32847 Portability adjustments:
32848
32849 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
32850 `term/i386/pc/at_keyboard.c'.
32851 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
32852 grub_keyboard_controller_init() (now handled by terminal .init).
32853 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
32854 grub_at_keyboard_init().
32855 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
32856 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
32857 at_keyboard.mod via input terminal interface).
32858 * include/grub/i386/coreboot/console.h: Convert into a stub for
32859 `<grub/i386/pc/console.h>'.
32860
32861 Migrate full terminals to new API:
32862
32863 * term/efi/console.c (grub_console_term): Split into ...
32864 (grub_console_term_input): ... this, and ...
32865 (grub_console_term_output): ... this. Update all users.
32866 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
32867 (grub_ofconsole_init): Split into ...
32868 (grub_ofconsole_init_input): ... this, and ...
32869 (grub_ofconsole_init_output): ... this.
32870 (grub_ofconsole_term): Split into ...
32871 (grub_ofconsole_term_input): ... this, and ...
32872 (grub_ofconsole_term_output): ... this. Update all users.
32873 * term/i386/pc/serial.c (grub_serial_term): Split into ...
32874 (grub_serial_term_input): ... this, and ...
32875 (grub_serial_term_output): ... this. Update all users.
32876 * term/i386/pc/console.c (grub_console_term): Split into ...
32877 (grub_console_term_input): ... this, and ...
32878 (grub_console_term_output): ... this. Update all users.
32879 (grub_console_term_input): Only enable it on PC/BIOS platform.
32880 (grub_console_init): Remove grub_keyboard_controller_init() call.
32881
32882 Migrate input terminals to new API:
32883
32884 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
32885 `i386' and `i386/pc' to enable build on x86_64 (this driver is
32886 i386-specific anyway).
32887 (grub_console_checkkey): Rename to ...
32888 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
32889 users.
32890 (grub_keyboard_controller_orig): New variable.
32891 (grub_console_getkey): Rename to ...
32892 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
32893 users.
32894 (grub_keyboard_controller_init): Static-ize. Save original
32895 controller value so that it can be restored ...
32896 (grub_keyboard_controller_fini): ... here (new function).
32897 (grub_at_keyboard_term): New structure.
32898 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
32899 functions.
32900
32901 Migrate output terminals to new API:
32902
32903 * term/i386/pc/vga.c (grub_vga_term): Change type to
32904 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32905 members. Update all users.
32906 * term/gfxterm.c (grub_video_term): Change type to
32907 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
32908 members. Update all users.
32909 * include/grub/i386/pc/console.h (grub_console_checkkey)
32910 (grub_console_getkey): Do not export (no longer needed by gfxterm,
32911 etc).
32912
32913 Migrate `terminal' command and userland tools to new API:
32914
32915 * commands/terminal.c (grub_cmd_terminal): Split into ...
32916 (grub_cmd_terminal_input): ... this, and ...
32917 (grub_cmd_terminal_output): ... this.
32918 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
32919 `terminal_input' and `terminal_output'.
32920 * util/grub.d/00_header.in: Adjust `terminal' calls to new
32921 `terminal_input' / `terminal_output' API.
32922 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
32923 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
32924 provided ${GRUB_TERMINAL}, convert it).
32925
96e5d876 329262008-11-04 Robert Millan <rmh@aybabtu.com>
32927
32928 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
32929 for FreeBSD.
32930 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
32931
556f3775 329322008-11-03 Bean <bean123ch@gmail.com>
32933
32934 * kern/elf.c (grub_elf32_load): Revert to previous code.
32935 (grub_elf64_load): Likewise.
32936
32937 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
32938
926b9823 329392008-11-01 Robert Millan <rmh@aybabtu.com>
32940
32941 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
32942 (TARGET_CPPFLAGS): Likewise.
32943 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
32944
1432e958 329452008-11-01 Carles Pina i Estany <carles@pina.cat>
32946
32947 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
32948
dba3f844 329492008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 32950
32951 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
32952 addition of objects until the code is not going to be able to fail.
32953
dba3f844 329542008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 32955
32956 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
32957 (add a missing NULL check, and correct them by moving the pointer
32958 operations after the actual check).
32959
7ab28c21 329602008-10-29 Robert Millan <rmh@aybabtu.com>
32961
32962 * util/i386/pc/grub-install.in: Handle empty string as output from
32963 make_system_path_relative_to_its_root().
32964
1b7748eb 329652008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
32966
32967 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
32968 circular metadata worst case scenario. If the metadata is circular
32969 then copy the wrap in place.
32970 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
32971 project lib/format_text/layout.h
32972 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
32973
c9618ab2 329742008-10-03 Felix Zielcke <fzielcke@z-51.de>
32975
7a36edca 32976 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 32977
bf981c62 329782008-10-03 Felix Zielcke <fzielcke@z-51.de>
32979
32980 * util/update-grub_lib.in: Mention filename in warning message.
32981
6d994591 329822008-09-29 Felix Zielcke <fzielcke@z-51.de>
32983
32984 * NEWS: Update for rename of update-grub to grub-mkconfig.
32985
18ade780 329862008-09-29 Felix Zielcke <fzielcke@z-51.de>
32987
32988 * util/update-grub_lib.in: Copy to ...
32989 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 32990 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 32991 * util/update-grub.in: Rename to ...
32992 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
32993 option. Add `--output' option to allow users to specify the generated
32994 configuration file. Default to stdout.
32995 (update_grub_dir): Rename to ...
32996 (grub_mkconfig_dir): ... this.
32997 (grub_cfg): Default to an empty string.
32998 * conf/common.rmk (update-grub): Rename to ...
32999 (grub-mkconfig): ... this.
33000 (update-grub_lib): Copy to ...
33001 (grub-mkconfig_lib): ... this.
33002 (update-grub_SCRIPTS): Copy to ...
33003 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33004 (update-grub_DATA): Rename to ...
33005 (grub-mkconfig_DATA): ... this.
33006
556ce6ac 330072008-09-28 Robert Millan <rmh@aybabtu.com>
33008
33009 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33010 to `modified'. Add the real `created' field.
33011 (grub_iso9660_uuid): Use `modified' rather than `created' for
33012 constructing the UUID.
33013
330142008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 33015
33016 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33017 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33018
92274e85 330192008-09-28 Bean <bean123ch@gmail.com>
33020
33021 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33022 Thanks to Christian Franke for finding this bug.
33023
add6f17a 330242008-09-25 Robert Millan <rmh@aybabtu.com>
33025
33026 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33027 instances of grub_util_get_disk_name() (see previous commit).
33028
d2a367b8 330292008-09-25 Robert Millan <rmh@aybabtu.com>
33030
33031 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33032 `util/i386/get_disk_name.c'.
33033 * conf/i386-efi.rmk: Likewise.
33034 * conf/x86_64-efi.rmk: Likewise.
33035 * conf/i386-coreboot.rmk: Likewise.
33036 * conf/i386-ieee1275.rmk: Likewise.
33037 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33038 `util/ieee1275/get_disk_name.c'.
33039 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33040 * util/ieee1275/get_disk_name.c: Remove file.
33041 * util/i386/get_disk_name.c: Remove file.
33042 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33043 "hd%d" for device.map entries, rather than using
33044 grub_util_get_disk_name().
33045
81a06771 330462008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 33047
33048 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33049 warning.
33050 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33051
5a004279 330522008-09-24 Carles Pina i Estany <carles@pina.cat>
33053
33054 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33055 Changed to 0x5100.
33056 (GRUB_TERM_PPAGE): Changed to 0x4900.
33057
397093d3 330582008-09-24 Robert Millan <rmh@aybabtu.com>
33059
33060 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33061 macros (they were i386-pc specific).
33062 * include/grub/sparc64/ieee1275/console.h: Likewise.
33063 * include/grub/efi/console.h: Likewise.
33064
a91b6c7c 330652008-09-22 Bean <bean123ch@gmail.com>
33066
33067 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33068 resident and in attribute list.
33069
33070 * include/grub/ntfs.h (BMP_LEN): Removed.
33071
c40fd116 330722008-09-22 Bean <bean123ch@gmail.com>
33073
81a06771 33074 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 33075 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33076
33077 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33078 error occurs, as grub_disk_open will call grub_disk_close, which will
33079 call p->close (scsi).
33080
81a06771 330812008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 33082
33083 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33084 (AC_PREREQ): Bumped to 2.59.
33085 (AC_TRY_COMPILE): Replace obsolete macro with ...
33086 (AC_COMPILE_IFELSE): ... this.
33087 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33088 (AC_LINK_IFELSE): ... this.
33089
5dc43410 330902008-09-21 Felix Zielcke <fzielcke@z-51.de>
33091
33092 * autogen.sh: Add a call to `gendistlist.sh'.
33093
9035dce4 330942008-09-19 Christian Franke <franke@computer.org>
33095
33096 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33097 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33098 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33099 Export __enable_execute_stack() to modules.
33100 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33101 New function.
33102
7fd75377 331032008-09-09 Felix Zielcke <fzielcke@z-51.de>
33104
040030b3 33105 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33106 Sort the list.
33107
331082008-09-09 Felix Zielcke <fzielcke@z-51.de>
33109
33110 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 33111 #include <grub/util/hostdisk.h>.
33112
89d5ffcf 331132008-09-08 Robert Millan <rmh@aybabtu.com>
33114
33115 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33116 segments when their filesz is zero (grub_file_read() interprets
81a06771 33117 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 33118 Use `lowest_segment' rather than 0 for calculating the current
33119 segment load address.
33120
40da438f 331212008-09-08 Robert Millan <rmh@aybabtu.com>
33122
33123 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33124 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33125 clobbered useful information.
33126
ddbf5556 331272008-09-08 Robert Millan <rmh@aybabtu.com>
33128
33129 * include/grub/util/biosdisk.h: Move to ...
33130 * include/grub/util/hostdisk.h: ... here. Update all users.
33131 * util/biosdisk.c: Move to ...
33132 * util/hostdisk.c: ... here. Update all users.
33133
783d0f48 331342008-09-07 Robert Millan <rmh@aybabtu.com>
33135
33136 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33137 variables.
33138 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33139 and length can be stored directly in the `mbi->mmap_addr' and
33140 `mbi->mmap_length' struct fields.
33141
548e2ea5 331422008-09-07 Robert Millan <rmh@aybabtu.com>
33143
33144 * conf/i386.rmk: New file. Provides declaration for building
33145 `cpuid.mod'.
33146 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33147 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33148 variables.
33149 Include `conf/i386.mk'.
33150 * conf/i386-efi.rmk: Likewise.
33151 * conf/x86_64-efi.rmk: Likewise.
33152 * conf/i386-coreboot.rmk: Likewise.
33153 * conf/i386-ieee1275.rmk: Likewise.
33154
0ea85a37 331552008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33156
33157 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33158 Adds optimization support for BGR based modes.
33159
33160 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33161 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33162 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33163 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33164 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33165 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33166 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33167 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33168 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33169 (grub_video_i386_vbeblit_index_index): Likewise.
33170 (grub_video_i386_vbeblit_replace_directN): Added.
33171 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33172 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33173 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33174 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33175 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33176 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 33177 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 33178 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33179 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33180 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33181 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33182 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33183 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33184
33185 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33186 (grub_video_i386_vbefill_R8G8B8): Likewise.
33187 (grub_video_i386_vbefill_index): Likewise.
33188 (grub_video_i386_vbefill_direct32): Added.
33189 (grub_video_i386_vbefill_direct24): Likewise.
33190 (grub_video_i386_vbefill_direct16): Likewise.
33191 (grub_video_i386_vbefill_direct8): Likewise.
33192
81a06771 33193 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 33194 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33195 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33196 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33197 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33198 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 33199
0ea85a37 33200 * video/video.c (grub_video_get_blit_format): Updated to use new
33201 blit formats. Added handling for 16 bit color modes.
81a06771 33202
33203 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 33204 fillers.
33205 (common_blitter): Updated to use new blitters.
33206
33207 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33208 Removed.
33209 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33210 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33211 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33212 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33213 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33214 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33215 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33216 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33217 (grub_video_i386_vbeblit_index_index): Likewise.
33218 (grub_video_i386_vbeblit_replace_directN): Added.
33219 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33220 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33221 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33222 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33223 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33224 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33225 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33226 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33227 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33228 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33229 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33230 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33231 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 33232
0ea85a37 33233 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33234 (grub_video_i386_vbefill_R8G8B8): Likewise.
33235 (grub_video_i386_vbefill_index): Likewise.
33236 (grub_video_i386_vbefill_direct32): Added.
33237 (grub_video_i386_vbefill_direct24): Likewise.
33238 (grub_video_i386_vbefill_direct16): Likewise.
33239 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 33240
0ea85a37 33241 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
33242 types.
81a06771 33243
0ea85a37 33244 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
33245 types.
81a06771 33246
0ea85a37 33247 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
33248 blitter types.
81a06771 33249
0ea85a37 33250 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
33251 types.
33252
e8a83df6 332532008-09-06 Felix Zielcke <fzielcke@z-51.de>
33254
33255 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
33256 RAID level 1.
33257
6bcd8ee5 332582008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 33259
6bcd8ee5 33260 * fs/iso9660.c (grub_iso9660_date): New structure.
33261 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
33262 (grub_iso9660_uuid): New function.
c375ae58 33263
59261157 332642008-09-05 Bean <bean123ch@gmail.com>
33265
33266 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
33267
33268 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
33269 insensitive bit for names in Win32 and Win32 & DOS namespace.
33270
33271 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
33272
33273 * include/grub/types.h (LONG_MAX): Likewise.
33274
58b6645a 332752008-09-04 Felix Zielcke <fzielcke@z-51.de>
33276
4ee55921 33277 * util/getroot.c: Include <config.h>.
33278 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
33279 add support for /dev/md/N devices and handle LVM double dash escaping.
33280
332812008-09-04 Felix Zielcke <fzielcke@z-51.de>
33282
33283 * config.guess: Update to latest version from config git.
33284 * config.sub: Likewise.
58b6645a 33285
9124f65d 332862008-09-03 Robert Millan <rmh@aybabtu.com>
33287
33288 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
33289 `disk->total_sectors'.
33290
81a06771 332912008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 33292
33293 * include/grub/normal.h: Fixed incorrect comment for
33294 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
33295
81a06771 332962008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 33297
33298 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
33299 values with defines.
33300
33301 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
33302 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
33303 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
33304 (GRUB_VBE_MODEATTR_COLOR): Likewise.
33305 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
33306 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
33307 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
33308 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
33309 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
33310 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
33311 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
33312 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
33313 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
33314 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
33315 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
33316 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
33317 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
33318 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
33319 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
33320
93d5cbf8 333212008-08-31 Robert Millan <rmh@aybabtu.com>
33322
33323 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
33324 declaration.
33325 (grub_multiboot): Fix a few warnings.
33326
21751d50 333272008-08-31 Robert Millan <rmh@aybabtu.com>
33328
33329 * loader/i386/pc/multiboot.c: Update comment not to say that
33330 boot_device support is unimplemented.
33331
e27a75c5 333322008-08-31 Robert Millan <rmh@aybabtu.com>
33333
33334 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
33335 or memory map support are unimplemented.
33336
81a06771 333372008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 33338
33339 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
33340
81a06771 333412008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 33342
33343 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
33344 total video memory in 'vbeinfo' output; show color format details for
33345 each video mode.
33346
7c5d8d95 333472008-08-30 Pavel Roskin <proski@gnu.org>
33348
33349 * util/genmoddep.c: Remove for real this time.
33350 * DISTLIST: Remove util/genmoddep.c.
33351
4cebd25a 333522008-08-30 Robert Millan <rmh@aybabtu.com>
33353
33354 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
33355 as required by Multiboot spec (it was already 4-byte aligned, but
33356 only by chance).
33357
b497a269 333582008-08-29 Pavel Roskin <proski@gnu.org>
33359
e3925185 33360 * kern/powerpc/ieee1275/crt0.S: Rename to ...
33361 * kern/powerpc/ieee1275/startup.S: ... this.
33362 * conf/powerpc-ieee1275.rmk: Adjust for the above.
33363 * DISTLIST: Likewise.
33364
b497a269 33365 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
33366 grub/cpu/kernel.h. Add start label for consistency with other
33367 platforms. Add grub_prefix immediately after start. Add jump
33368 to the code after grub_prefix.
33369 * include/grub/powerpc/kernel.h: Provide valid values for
33370 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
33371
6e5a42fe 333722008-08-29 Bean <bean123ch@gmail.com>
33373
33374 * configure.ac: Change host_os to cygwin for mingw.
33375 (asprintf): New check for function.
33376
33377 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
33378 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
33379
33380 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 33381 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 33382 sync, sleep and grub_util_get_disk_size for mingw.
33383
33384 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
33385 to get size in mingw.
33386 (open_device): Use flag O_BINARY if it's defined.
33387 (find_root_device): Add dummy code for mingw.
33388
33389 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
33390 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
33391 (get_scsi_disk_name): Return 0 for mingw.
33392
33393 * util/hostfs.c: #include <grub/util/misc.h>.
33394 (grub_hostfs_open): Use "rb" flag to open file, use
33395 grub_util_get_disk_size to get disk size for mingw.
33396
33397 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
33398 (asprintf): New function if HAVE_ASPRINTF is not set.
33399 (sync): New function for mingw.
33400 (sleep): Likewise.
33401 (grub_util_get_disk_size): Likewise.
33402
ab3f2673 334032008-08-28 Pavel Roskin <proski@gnu.org>
33404
33405 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33406 kern/time.c.
33407
1c282483 334082008-08-28 Robert Millan <rmh@aybabtu.com>
33409
33410 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
33411
678e849c 334122008-08-28 Robert Millan <rmh@aybabtu.com>
33413
33414 Change find_grub_drive() syntax so it doesn't prevent it from
33415 detecting NULL names as errors.
33416
33417 * util/biosdisk.c (find_grub_drive): Move free slot search code
33418 from here ...
33419 (find_free_slot): ... to here.
33420 (read_device_map): Use find_free_slot() to search for free slots.
33421
965c75ca 334222008-08-27 Marco Gerards <marco@gnu.org>
33423
33424 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
33425 (scsi_mod_SOURCES): New variable.
33426 (scsi_mod_CFLAGS): Likewise
33427 (scsi_mod_LDFLAGS): Likewise.
33428
33429 * disk/scsi.c: New file.
33430
33431 * include/grub/scsi.h: Likewise.
33432
33433 * include/grub/scsicmd.h: Likewise.
33434
33435 * disk/ata.c: Include <grub/scsi.h>.
33436 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
33437 instead.
33438 (grub_ata_iterate): Skip ATAPI devices.
33439 (grub_ata_open): Only handle ATAPI devices.
33440 (struct grub_atapi_read): Removed.
33441 (grub_atapi_readsector): Likewise.
33442 (grub_ata_read): No longer handle ATAPI devices.
33443 (grub_ata_write): Likewise.
33444 (grub_atapi_iterate): New function.
33445 (grub_atapi_read): Likewise.
33446 (grub_atapi_write): Likewise.
33447 (grub_atapi_open): Likewise.
33448 (grub_atapi_close): Likewise.
33449 (grub_atapi_dev): New variable.
33450 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
33451 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
33452
33453 * include/grub/disk.h (enum grub_disk_dev_id): Add
33454 `GRUB_DISK_DEVICE_SCSI_ID'.
33455
c07ae501 334562008-08-26 Robert Millan <rmh@aybabtu.com>
33457
33458 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
33459 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
33460 descriptive.
33461
5ed20adc 334622008-08-23 Bean <bean123ch@gmail.com>
33463
33464 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
33465 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33466 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
33467 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
33468 dm_nv.mod.
33469 (raid5rec_mod_SOURCES): New macro.
33470 (raid5rec_mod_CFLAGS): Likewise.
33471 (raid5rec_mod_LDFLAGS): Likewise.
33472 (raid6rec_mod_SOURCES): Likewise.
33473 (raid6rec_mod_CFLAGS): Likewise.
33474 (raid6rec_mod_LDFLAGS): Likewise.
33475 (mdraid_mod_SOURCES): Likewise.
33476 (mdraid_mod_CFLAGS): Likewise.
33477 (mdraid_mod_LDFLAGS): Likewise.
33478 (dm_nv_mod_SOURCES): Likewise.
33479 (dm_nv_mod_CFLAGS): Likewise.
33480 (dm_nv_mod_LDFLAGS): Likewise.
33481
33482 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
33483 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
33484 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33485
33486 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
33487 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
33488
33489 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33490
33491 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33492
33493 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33494
33495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33496
33497 * disk/raid5_recover.c: New file.
33498
33499 * disk/raid6_recover.c: Likewise.
33500
33501 * disk/mdraid_linux.c: Likewise.
33502
33503 * disk/dmraid_nvidia.c: Likewise.
33504
33505 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
33506 ULONG_MAX.
33507
33508 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
33509 calculate the size of raid device.
33510 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
33511 different layout of raid5.
33512 (grub_raid_scan_device): Remove code specific to mdraid.
33513 (grub_raid_list): New variable.
33514 (free_array): New function.
33515 (grub_raid_register): Likewise.
33516 (grub_raid_unregister): Likewise.
33517 (grub_raid_rescan): Likewise.
33518 (GRUB_MOD_INIT): Don't iterate device here.
33519 (GRUB_MOD_FINI): Use free_array to release resource.
33520
33521 * include/grub/raid.h: Remove macro and structure specific to mdraid.
33522 (grub_raid5_recover_func_t): New function variable type.
33523 (grub_raid6_recover_func_t): Likewise.
33524 (grub_raid5_recover_func): New variable.
33525 (grub_raid6_recover_func): Likewise.
33526 (grub_raid_register): New function.
33527 (grub_raid_unregister): Likewise.
33528 (grub_raid_rescan): Likewise.
33529 (grub_raid_block_xor): Likewise.
33530
33531 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
33532 (CMD_CRC): New macro.
33533 (part): Removed.
33534 (read_file): Handle device as well as file.
33535 (cmd_crc): New function.
33536 (fstest): Handle multiple disks.
33537 (options): Remove part, raw and long, add root and diskcount.
33538 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 33539 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 33540 add handling for the new options, support multiple disks.
33541
33542 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
33543
29c18915 335442008-08-23 Bean <bean123ch@gmail.com>
33545
33546 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
33547
33548 * genfslist.sh: Ignore kernel.mod.
33549
33550 * genpartmaplist.sh: Likewise.
33551
8415f261 335522008-08-23 Robert Millan <rmh@aybabtu.com>
33553
33554 * util/getroot.c (find_root_device): Skip anything that starts with
33555 a dot, not just directories. This avoids things like /dev/.tmp.md0.
33556
d5a7dc5b 335572008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 33558
d5a7dc5b 33559 * util/update-grub.in (GRUB_GFXMODE): Export variable.
33560 * util/grub.d/00_header.in: Allow the administrator to change default
33561 gfxmode via ${GRUB_GFXMODE}.
33562
380cfbb4 335632008-08-21 Felix Zielcke <fzielcke@z-51.de>
33564
33565 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
33566
c9baafe7 335672008-08-21 Robert Millan <rmh@aybabtu.com>
33568
33569 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
33570 loader.
33571 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
33572 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
33573
e290bef2 335742008-08-20 Carles Pina i Estany <carles@pina.cat>
33575
33576 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
33577 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
33578
f9dbfc96 335792008-08-19 Robert Millan <rmh@aybabtu.com>
33580
33581 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
33582 (struct grub_virtual_screen): Remove `cursor_color'.
33583 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
33584 initialization.
33585 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
33586
dd6bd6ab 335872008-08-18 Robert Millan <rmh@aybabtu.com>
33588
33589 Unify (identical) linux_normal.c files.
33590 * loader/i386/efi/linux_normal.c: Move from here ...
33591 * loader/linux_normal.c: ... to here. Update all users.
33592 * loader/i386/pc/linux_normal.c: Delete. Update all users.
33593 * loader/i386/ieee1275/linux_normal.c: Likewise.
33594
7f42f83e 335952008-08-18 Robert Millan <rmh@aybabtu.com>
33596
33597 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
33598 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
33599 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
33600 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
33601 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
33602 New macros.
33603 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
33604 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
33605 (GRUB_LINUX_CL_END_OFFSET): ... to here.
33606 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
33607 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
33608 (GRUB_EFI_CL_END_OFFSET): Rename to ...
33609 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
33610 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
33611 Initialize `params->video_cursor_x' and `params->video_cursor_y'
33612 portably using grub_getxy().
33613 Replace `-EFI' with `-bzImage' in boot message.
33614
38487ddb 336152008-08-17 Robert Millan <rmh@aybabtu.com>
33616
33617 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
33618
deceb3ec 336192008-08-17 Robert Millan <rmh@aybabtu.com>
33620
33621 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
33622
33623 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
33624 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
33625 (grub_machine_mmap_iterate): New function declaration.
33626 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
33627 structure.
33628 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
33629 macros.
33630
33631 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
33632 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
33633 Move e820 parsing from here ...
33634 * kern/i386/pc/mmap.c: New file.
33635 (grub_machine_mmap_iterate): ... to here.
33636
33637 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
33638 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
33639 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
33640 (grub_available_iterate): Redeclare to return `void', and redeclare
33641 its hook to use grub_uint64_t as addr and size parameters, and rename
33642 to ...
33643 (grub_machine_mmap_iterate): ... this. Update all users.
33644
33645 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
33646 to make it more readable. Rename to ...
33647 (grub_machine_mmap_iterate): ... this.
33648
33649 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
33650 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
33651 (grub_multiboot): Allocate an extra region after the payload, and fill
33652 it with a Multiboot memory map. Adjust a.out loader to calculate size
33653 with the extra space.
33654 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
33655 with the extra space.
33656
f8aa0f43 336572008-08-17 Carles Pina i Estany <carles@pina.cat>
33658
9807deb9 33659 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 33660
605f5bb6 336612008-08-17 Felix Zielcke <fzielcke@z-51.de>
33662
33663 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
33664 mdate-sh to the list `find' searches for.
33665 * DISTLIST: Regenerated.
33666
210db6c6 336672008-08-16 Felix Zielcke <fzielcke@z-51.de>
33668
33669 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
33670 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 33671 genmoddep.awk, gensymlist.sh.in.
33672 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 33673 * DISTLIST: Regenerated.
48cdbfd4 33674 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 33675
1082b929 336762008-08-16 Robert Millan <rmh@aybabtu.com>
33677
33678 * disk/raid.c (grub_raid_init): Handle/report errors set by
33679 grub_device_iterate().
33680 * disk/lvm.c (grub_lvm_init): Likewise.
33681
42ce5170 336822008-08-15 Bean <bean123ch@gmail.com>
33683
33684 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33685 and datehook.mod.
33686 (datetime_mod_SOURCES): New macro.
33687 (datetime_mod_CFLAGS): Likewise.
33688 (datetime_mod_LDFLAGS): Likewise.
33689 (date_mod_SOURCES): Likewise.
33690 (date_mod_CFLAGS): Likewise.
33691 (date_mod_LDFLAGS): Likewise.
33692 (datehook_mod_SOURCES): Likewise.
33693 (datehook_mod_CFLAGS): Likewise.
33694 (datehook_mod_LDFLAGS): Likewise.
33695
33696 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33697 and datehook.mod.
33698 (datetime_mod_SOURCES): New macro.
33699 (datetime_mod_CFLAGS): Likewise.
33700 (datetime_mod_LDFLAGS): Likewise.
33701 (date_mod_SOURCES): Likewise.
33702 (date_mod_CFLAGS): Likewise.
33703 (date_mod_LDFLAGS): Likewise.
33704 (datehook_mod_SOURCES): Likewise.
33705 (datehook_mod_CFLAGS): Likewise.
33706 (datehook_mod_LDFLAGS): Likewise.
33707
33708 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33709 and datehook.mod.
33710 (datetime_mod_SOURCES): New macro.
33711 (datetime_mod_CFLAGS): Likewise.
33712 (datetime_mod_LDFLAGS): Likewise.
33713 (date_mod_SOURCES): Likewise.
33714 (date_mod_CFLAGS): Likewise.
33715 (date_mod_LDFLAGS): Likewise.
33716 (datehook_mod_SOURCES): Likewise.
33717 (datehook_mod_CFLAGS): Likewise.
33718 (datehook_mod_LDFLAGS): Likewise.
33719
33720 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33721 and datehook.mod.
33722 (datetime_mod_SOURCES): New macro.
33723 (datetime_mod_CFLAGS): Likewise.
33724 (datetime_mod_LDFLAGS): Likewise.
33725 (date_mod_SOURCES): Likewise.
33726 (date_mod_CFLAGS): Likewise.
33727 (date_mod_LDFLAGS): Likewise.
33728 (datehook_mod_SOURCES): Likewise.
33729 (datehook_mod_CFLAGS): Likewise.
33730 (datehook_mod_LDFLAGS): Likewise.
33731
33732 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
33733 and datehook.mod.
33734 (datetime_mod_SOURCES): New macro.
33735 (datetime_mod_CFLAGS): Likewise.
33736 (datetime_mod_LDFLAGS): Likewise.
33737 (date_mod_SOURCES): Likewise.
33738 (date_mod_CFLAGS): Likewise.
33739 (date_mod_LDFLAGS): Likewise.
33740 (datehook_mod_SOURCES): Likewise.
33741 (datehook_mod_CFLAGS): Likewise.
33742 (datehook_mod_LDFLAGS): Likewise.
33743
33744 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
33745
33746 * commands/date.c: New file.
33747
33748 * hook/datehook.c: Likewise.
33749
33750 * include/grub/lib/datetime.h: Likewise.
33751
33752 * include/grub/i386/cmos.h: Likewise.
33753
33754 * lib/datetime.c: Likewise.
33755
33756 * lib/i386/datetime.c: Likewise.
33757
33758 * lib/efi/datetime.c: Likewise.
33759
0e9242da 337602008-08-14 Robert Millan <rmh@aybabtu.com>
33761
33762 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
33763 (grub_mkelfimage_SOURCES): New variable.
33764 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
33765
33766 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
33767 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
33768 * conf/powerpc-ieee1275.rmk: Likewise.
33769 * conf/i386-ieee1275.rmk: Likewise.
33770
33771 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
33772 * kern/i386/coreboot/init.c: Likewise.
33773
33774 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
33775 with `<grub/cpu/kernel.h>'.
33776 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
33777 to ...
33778 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
33779 * kern/i386/coreboot/startup.S: Likewise.
33780
33781 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
33782 (GRUB_MOD_GAP): Remove.
33783 * include/grub/powerpc/kernel.h: New file.
33784 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
33785 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33786 * include/grub/i386/kernel.h: New file.
33787 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
33788 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
33789 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
33790
33791 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
33792 `grub-mkelfimage'.
33793 Use --directory when invoking grub_mkimage.
33794
33795 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
33796 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
33797 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
33798 and GRUB_KERNEL_CPU_PREFIX.
33799
b86408f8 338002008-08-14 Felix Zielcke <fzielcke@z-51.de>
33801
d5e619ca 33802 * include/grub/err.h (grub_err_printf): New function prototype.
33803 * util/misc.c (grub_err_printf): New function.
33804 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
33805 grub_printf.
33806 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 33807
7161f0e0 338082008-08-13 Robert Millan <rmh@aybabtu.com>
33809
33810 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
33811
a1967522 338122008-08-13 Robert Millan <rmh@aybabtu.com>
33813
33814 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
33815 boot entry.
33816
371458b5 338172008-08-12 Robert Millan <rmh@aybabtu.com>
33818
33819 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
33820 of the relocation code from here ...
33821 (grub_multiboot): ... to here.
33822 (forward_relocator, backward_relocator): Move from here ...
33823 * kern/i386/loader.S (grub_multiboot_forward_relocator)
33824 (grub_multiboot_backward_relocator): ... to here.
33825 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
33826 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
33827 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
33828 (grub_multiboot_forward_relocator_end)
33829 (grub_multiboot_backward_relocator)
33830 (grub_multiboot_backward_relocator_end): New variables.
33831
05f9452b 338322008-08-12 Bean <bean123ch@gmail.com>
33833
33834 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
33835
20024ab0 338362008-08-11 Robert Millan <rmh@aybabtu.com>
33837
33838 * kern/i386/linuxbios/startup.S: Move from here ...
33839 * kern/i386/coreboot/startup.S: ... to here.
33840
33841 * kern/i386/linuxbios/init.c: Move from here ...
33842 * kern/i386/coreboot/init.c: ... to here.
33843
33844 * kern/i386/linuxbios/table.c: Move from here ...
33845 * kern/i386/coreboot/mmap.c: ... to here.
33846
33847 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
33848
e352e9cd 338492008-08-11 Robert Millan <rmh@aybabtu.com>
33850
33851 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
33852 errors. Leave it to the upper layer to handle them.
33853
2d05bc6a 338542008-08-09 Christian Franke <franke@computer.org>
33855
33856 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
33857 * conf/common.rmk: Install `grub-pe2elf' only if requested.
33858 Install `grub.d/10_windows' only on Cygwin.
33859 * configure.ac: Add subst of `target_os'.
33860 Check `target_os' also before setting TARGET_OBJ2ELF.
33861 Add `--enable-grub-pe2elf'.
33862
042bd419 338632008-08-08 Robert Millan <rmh@aybabtu.com>
33864
33865 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33866 (grub_last_time): Change type to grub_uint64_t.
33867 (grub_disk_open): Migrate code from to using grub_get_time_ms().
33868 (grub_disk_close): Likewise.
33869
33870 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
33871 (run_menu): Migrate code from to using grub_get_time_ms().
33872
33873 * util/misc.c (grub_get_time_ms): New function.
33874
7f280db5 338752008-08-08 Marco Gerards <marco@gnu.org>
33876
33877 * disk/ata.c (grub_ata_regget): Change return type to
33878 `grub_uint8_t'.
33879 (grub_ata_regget2): Likewise.
33880 (grub_ata_wait_status): New function.
33881 (grub_ata_wait_busy): Removed function, updated all users to use
33882 `grub_ata_wait_status'.
33883 (grub_ata_wait_drq): Likewise.
33884 (grub_ata_cmd): New function.
33885 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
33886 error handling.
33887 (grub_ata_pio_write): Add error handling.
33888 (grub_atapi_identify): Likewise.
33889 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
33890 handling.
33891 (grub_ata_identify): Use `grub_ata_cmd' and improve error
33892 handling. Actually use the detected registers. Reorder the
33893 detection logic such that it is easier to read.
33894 (grub_ata_pciinit): Do not assign the same ID to each controller.
33895 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
33896 handling.
33897 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
33898
33899 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
33900
1fbc5e66 339012008-08-08 Marco Gerards <marco@gnu.org>
33902
33903 * NEWS: Update.
33904
819ce6c0 339052008-08-07 Bean <bean123ch@gmail.com>
33906
33907 * include/grub/x86_64/pci.h: New file.
33908
5c41d44d 339092008-08-07 Christian Franke <franke@computer.org>
33910
33911 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
33912 (TIMER2_GATE): Likewise.
33913 (grub_pit_wait): Add enable/disable of the timer2 gate
33914 bit of port 0x61. This fixes a possible infinite loop.
33915
5ebc275d 339162008-08-07 Bean <bean123ch@gmail.com>
33917
33918 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
33919 kern/i386/tsc.c and kern/i386/pit.c.
33920
33921 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
33922 x86_64 platform.
33923
33924 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
33925 <grub/i386/tsc.h>.
33926
33927 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
33928
e383b3d0 339292008-08-07 Bean <bean123ch@gmail.com>
33930
33931 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
33932
33933 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
33934
33935 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
33936 multiple inclusion. Add #include <grub/types.h>.
33937
1cbb58ac 339382008-08-06 Christian Franke <franke@computer.org>
33939
33940 * conf/common.rmk: Build and install `10_windows'.
33941 * util/grub.d/10_windows.in: New script.
33942
337f5a1e 339432008-08-06 Pavel Roskin <proski@gnu.org>
33944
33945 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
33946
057bc4ac 339472008-08-06 Robert Millan <rmh@aybabtu.com>
33948
33949 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
33950 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
33951
2b99f123 339522008-08-06 Bean <bean123ch@gmail.com>
33953
33954 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
33955 (grub_pxefs_fs_int): Remove dummy definition.
33956 (grub_pxefs_open): Use data->block_size to store the current block
33957 size setting.
33958 (grub_pxefs_read): Use block size stored in data->block_size. As the
33959 value of grub_pxe_blksize can be changed after the file is opened.
33960
9f0234cb 339612008-08-06 Bean <bean123ch@gmail.com>
33962
33963 * fs/i386/pc/pxe.c (curr_file): new variable.
33964 (grub_pxefs_open): Simply the handling of pxe file system. Don't
33965 require the dummy internal file system anymore.
33966 (grub_pxefs_read): Removed.
33967 (grub_pxefs_close): Likewise.
33968 (grub_pxefs_fs_int): Likewise.
33969 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
33970 connection when we switch file.
33971 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
33972
a55d42e0 339732008-08-06 Robert Millan <rmh@aybabtu.com>
33974
33975 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
33976 `halt.mod'.
33977 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
33978 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
33979
33980 * kern/i386/halt.c: New file.
33981 * kern/i386/reboot.c: Likewise.
33982 * include/grub/i386/reboot.h: Likewise.
33983 * include/grub/i386/halt.h: Likewise.
33984
33985 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
33986 Include `<grub/cpu/halt.h>'.
33987 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
33988 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
33989
33990 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
33991 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
33992 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
33993 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
33994 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
33995 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
33996 from here ...
33997 * include/grub/i386/at_keyboard.h: ... to here.
33998
24371d26 339992008-08-05 Robert Millan <rmh@aybabtu.com>
34000
34001 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34002 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34003 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34004 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34005 `kern/generic/millisleep.c'.
34006
34007 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34008 instead of grub_get_rtc().
34009 (grub_tsc_init): Initialize `tsc_boot_time'.
34010
34011 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34012 (grub_machine_init): Use grub_tsc_init() rather than
34013 installing an RTC-based handler via grub_install_get_time_ms().
34014
34015 * kern/i386/pit.c: New file.
34016 * include/grub/i386/pit.h: Likewise.
34017
9e7007b3 340182008-08-05 Bean <bean123ch@gmail.com>
34019
34020 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34021
34022 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34023 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34024 (pxe_mod_SOURCES): New macro.
34025 (pxe_mod_CFLAGS): Likewise.
34026 (pxe_mod_LDFLAGS): Likewise.
34027 (pxecmd_mod_SOURCES): Likewise.
34028 (pxecmd_mod_CFLAGS): Likewise.
34029 (pxecmd_mod_LDFLAGS): Likewise.
34030
34031 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34032 (grub_pxe_call): Likewise.
34033
34034 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34035
34036 * commands/i386/pc/pxecmd.c: New file.
34037
9f0234cb 34038 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 34039
34040 * include/grub/i386/pc/pxe.h: Likewise.
34041
6977d49f 340422008-08-05 Bean <bean123ch@gmail.com>
34043
34044 * util/console.c (grub_console_cur_color): New variable.
34045 (grub_console_standard_color): Likewise.
34046 (grub_console_normal_color): Likewise.
34047 (grub_console_highlight_color): Likewise.
34048 (color_map): Likewise.
34049 (use_color): Likewise.
34050 (NUM_COLORS): New macro.
34051 (grub_ncurses_setcolorstate): Handle color properly.
34052 (grub_ncurses_setcolor): Don't change color here, just remember the
34053 settings, color will be set in grub_ncurses_setcolorstate.
34054 (grub_ncurses_getcolor): New function.
34055 (grub_ncurses_init): Initialize color pairs.
34056 (grub_ncurses_term): New member grub_ncurses_getcolor.
34057
9c2ff3ee 340582008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 34059
9c2ff3ee 34060 High resolution timer support. Implemented for x86 CPUs using TSC.
34061 Extracted generic grub_millisleep() so it's linked in only as needed.
34062 This requires a Pentium compatible CPU; if the RDTSC instruction is
34063 not supported, then it falls back on the generic grub_get_time_ms()
34064 implementation that uses the machine's RTC.
34065
34066 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34067 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34068 `kern/generic/millisleep.c'.
34069
34070 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34071 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34072
34073 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34074 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34075
34076 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34077
34078 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34079 `kern/generic/millisleep.c'.
34080
34081 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34082
34083 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34084
34085 * kern/generic/rtc_get_time_ms.c: New file.
34086
34087 * kern/generic/millisleep.c: New file.
337f5a1e 34088
9c2ff3ee 34089 * kern/misc.c: Don't include
34090 <kern/time.h> anymore.
34091 (grub_millisleep_generic): Removed.
34092
34093 * commands/sleep.c (grub_interruptible_millisleep): Uses
34094 grub_get_time_ms() instead of grub_get_rtc().
34095
34096 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34097 function.
34098 (grub_cpu_is_cpuid_supported): New inline function.
34099 (grub_cpu_is_tsc_supported): New inline function.
34100 (grub_tsc_init): New function prototype.
34101 (grub_tsc_get_time_ms): New function prototype.
34102
34103 * kern/i386/tsc.c (grub_get_time_ms): New file.
34104
34105 * include/grub/time.h: Include <grub/types.h.
34106 (grub_millisleep_generic): Removed.
34107 (grub_get_time_ms): New prototype.
34108 (grub_install_get_time_ms): New prototype.
34109 (grub_rtc_get_time_ms): New prototype.
34110
34111 * kern/time.c (grub_get_time_ms): New function.
34112 (grub_install_get_time_ms): New function.
34113
34114 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34115 <grub/time.h> anymore.
34116 (grub_millisleep): Removed.
34117 (grub_machine_init): Call grub_tsc_init.
34118
34119 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34120 get_time_ms() implementation.
34121
34122 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34123 (ieee1275_get_time_ms): New function.
34124 (grub_machine_init): Install get_time_ms() implementation.
34125
34126 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34127 (grub_machine_init): Call grub_tsc_init().
34128 (grub_millisleep): Removed.
bf06a93f 34129
9c2ff3ee 34130 * kern/ieee1275/init.c (grub_millisleep): Removed.
34131 (grub_machine_init): Install ieee1275_get_time_ms()
34132 implementation.
34133 (ieee1275_get_time_ms): New function.
34134 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34135 real work.
34136
9ec92aaf 341372008-08-05 Marco Gerards <marco@gnu.org>
34138
34139 * disk/ata.c: Include <grub/pci.h>.
34140 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34141 (grub_ata_initialize): Rewritten.
34142 (grub_ata_device_initialize): New function.
34143
8d23f507 341442008-08-04 Pavel Roskin <proski@gnu.org>
34145
34146 * kern/main.c: Include grub/mm.h.
34147
5e15ee3d 341482008-08-04 Robert Millan <rmh@aybabtu.com>
34149
34150 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34151 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34152 corruption problem).
34153
a9053f8f 341542008-08-04 Robert Millan <rmh@aybabtu.com>
34155
34156 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34157 warnings introduced in my last commit.
34158
dd19c7d7 341592008-08-03 Robert Millan <rmh@aybabtu.com>
34160
34161 Make PCI available on all i386 architectures.
34162
34163 * include/grub/i386/pc/pci.h: Move from here ...
34164 * include/grub/i386/pci.h: ... to here.
34165
34166 * include/grub/i386/pc/pci.h: Remove.
34167 * include/grub/i386/efi/pci.h: Remove.
34168 * include/grub/x86_64/efi/pci.h: Remove.
34169
34170 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34171 `<grub/cpu/pci.h>'.
34172
34173 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34174 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34175 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34176
34177 * conf/i386-ieee1275.rmk: Likewise.
34178
e14a6184 341792008-08-03 Robert Millan <rmh@aybabtu.com>
34180
34181 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34182 (grub_console_setcursor): Make it possible to set cursor off.
34183
52768e37 341842008-08-03 Robert Millan <rmh@aybabtu.com>
34185
34186 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34187 of modules instead of assuming which platform provides what.
34188 * util/update-grub.in: Likewise.
34189
2d52f57f 341902008-08-03 Robert Millan <rmh@aybabtu.com>
34191
34192 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34193 instead of `grub_install_dos_part' to determine whether a drive needs
34194 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 34195 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 34196
2a5cd121 341972008-08-02 Robert Millan <rmh@aybabtu.com>
34198
34199 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34200
93808428 342012008-08-02 Robert Millan <rmh@aybabtu.com>
34202
34203 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34204 of informational grub_dprintf() calls.
34205
3bd0a12a 342062008-08-02 Robert Millan <rmh@aybabtu.com>
34207
34208 * disk/memdisk.c (memdisk_size): Don't initialize.
34209 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34210
34211 * include/grub/i386/pc/kernel.h
34212 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34213 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34214 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34215 (grub_arch_memdisk_size): Remove.
34216
34217 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34218 field (was only used to transfer a constant). Add `type' field to
34219 support multiple module types.
34220 (grub_module_iterate): New function.
34221
34222 * kern/device.c (grub_device_open): Do not hide error messages
34223 when grub_disk_open() fails. Use grub_print_error() instead.
34224
34225 * kern/i386/pc/init.c (grub_arch_modules_addr)
34226 (grub_arch_memdisk_size): Remove functions.
34227 (grub_arch_modules_addr): Return the module address in high memory
34228 (now that it isn't copied anymore).
34229
34230 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34231 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34232 decompression routine (grub_total_module_size already includes that
34233 now). Don't copy modules back to low memory.
34234
34235 * kern/main.c: Include `<grub/mm.h>'.
34236 (grub_load_modules): Split out (and use) ...
34237 (grub_module_iterate): ... this function, which iterates through
34238 module objects and runs a hook.
34239 Comment out grub_mm_init_region() call, as it would cause non-ELF
34240 modules to be overwritten.
34241
34242 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
34243 the memdisk image in its own region, make it part of the module list.
34244 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
34245 (main): Parse --memdisk|-m option, and pass user-provided path as
34246 parameter to generate_image().
34247 (add_segments): Pass `memdisk_path' down to load_modules().
34248 (load_modules): Embed memdisk image in module section when requested.
34249 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
34250 `header.type' instead of `header.offset'.
34251
34252 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
34253 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
34254 (memdisk_mod_LDFLAGS): New variables.
34255 * conf/i386-coreboot.rmk: Likewise.
34256 * conf/i386-ieee1275.rmk: Likewise.
34257
a927cc73 342582008-08-02 Robert Millan <rmh@aybabtu.com>
34259
34260 * loader/i386/pc/multiboot.c (playground, forward_relocator)
34261 (backward_relocator): New variables. Used to allocate and relocate
34262 the payload, respectively.
34263 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 34264 address, install the appropriate relocator code in each bound of
a927cc73 34265 the payload, and set the entry point such that
34266 grub_multiboot_real_boot() will jump to one of them.
34267
34268 * kern/i386/loader.S (grub_multiboot_payload_size)
34269 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34270 (grub_multiboot_payload_entry_offset): New variables.
34271 (grub_multiboot_real_boot): Set cpu context to what the relocator
34272 expects, and jump to the relocator instead of the payload.
34273
34274 * include/grub/i386/loader.h (grub_multiboot_payload_size)
34275 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34276 (grub_multiboot_payload_entry_offset): Export.
34277
b15d8a0c 342782008-08-01 Bean <bean123ch@gmail.com>
34279
34280 * normal/menu_entry.c (editor_getline): Don't return the original
34281 string as result, as it will be released by lexer once it has done
34282 using it.
34283
cdfb3d22 342842008-08-01 Robert Millan <rmh@aybabtu.com>
34285
34286 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
34287 within menuentries, not before them.
34288 util/grub.d/10_hurd.in: Likewise.
34289
9175e93d 342902008-08-01 Bean <bean123ch@gmail.com>
34291
34292 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
34293 (bufio_mod_SOURCES): New macro.
34294 (bufio_mod_CFLAGS): Likewise.
34295 (bufio_mod_LDFLAGS): Likewise.
34296
34297 * include/grub/bufio.h: New file.
34298
34299 * io/bufio.c: Likewise.
34300
34301 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
34302 (grub_video_reader_png): Use grub_buffile_open to open file.
34303
34304 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
34305 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
34306
34307 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
34308 (grub_video_reader_tga): Use grub_buffile_open to open file.
34309
34310 * font/manager.c: Include <grub/bufio.h>.
34311 (add_font): Use grub_buffile_open to open file.
34312
3d8383e7 343132008-07-31 Robert Millan <rmh@aybabtu.com>
34314
34315 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
34316 ELF segments, use a macro for arbitrarily accessing any of them instead
34317 of preparing a pointer that allows access to one at a time.
34318 (grub_multiboot_load_elf64): Likewise.
34319
16e641b6 343202008-07-31 Bean <bean123ch@gmail.com>
34321
34322 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
34323 GRUB_KERNEL_MACHINE_DATA_END.
34324
59198b72 343252008-07-30 Robert Millan <rmh@aybabtu.com>
34326
34327 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
34328 Increase from 0x50 to 0x60.
34329 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
34330 use UUIDs to identify the root drive for them. If that's not
34331 possible, abort.
34332 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
34333 check, for cross-disk installs.
34334
ae88bca3 343352008-07-30 Robert Millan <rmh@aybabtu.com>
34336
34337 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
34338 is non-empty, use it to set the `prefix' environment variable instead
34339 of the usual approach.
34340 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
34341 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
34342 environment variable instead of dummy make_install_device().
34343
34344 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
34345 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 34346 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 34347
34348 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
34349 New variable reference.
34350 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
34351 New macro. Defines offset of `grub_prefix' within startup.S (relative
34352 to `start').
34353 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
34354 section within startup.S (relative to `start').
34355 * include/grub/i386/coreboot/kernel.h: Likewise.
34356
34357 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
34358 Overwrite grub_prefix with its contents, at the beginning of the
34359 first segment.
34360 (main): Understand -p|--prefix.
34361
14f41dd1 343622008-07-30 Robert Millan <rmh@aybabtu.com>
34363
34364 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
34365
4ca049a3 343662008-07-30 Robert Millan <rmh@aybabtu.com>
34367
34368 * term/i386/pc/vga_text.c (grub_console_cls): Use
34369 grub_console_gotoxy() to go back to beginning of the screen.
34370 Found by Patrick Georgi <patrick.georgi@coresystems.de>
34371
2921d337 343722008-07-29 Christian Franke <franke@computer.org>
34373
34374 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34375 Add conversion of emulated mount points on Cygwin.
34376
b609876d 343772008-07-29 Christian Franke <franke@computer.org>
34378
34379 * util/update-grub.in: Add a check for admin
34380 group on Cygwin.
34381 Remove old `grub.cfg.new' before creation.
34382 Add `-f' to `mv' to handle the different filesystem
34383 semantics of Windows.
34384
e93e4679 343852008-07-29 Bean <bean123ch@gmail.com>
34386
34387 * normal/main.c (get_line): Fix buffer overflow bug.
34388
41694fd0 343892008-07-28 Robert Millan <rmh@aybabtu.com>
34390
34391 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
34392 (struct grub_apple_header): New struct. Describes the layout of
34393 the partmap header.
34394 (apple_partition_map_iterate): Check the header magic as well as the
34395 partition magic (which was already being checked).
34396
cfd0b4e6 343972008-07-28 Pavel Roskin <proski@gnu.org>
34398
34399 * genmk.rb: Add a warning to the beginning of the output that
34400 it's a generated file and should not be edited.
34401
93cce016 344022008-07-28 Robert Millan <rmh@aybabtu.com>
34403
34404 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
34405 with the same number are found, just use issue a warning with
34406 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 34407
cd1df915 344082008-07-27 Robert Millan <rmh@aybabtu.com>
34409
34410 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
34411 information.
34412
b70a8427 344132008-07-27 Bean <bean123ch@gmail.com>
34414
34415 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
34416 (grub_fat_find_dir): Ignore case when comparing filename.
34417
8f5e379f 344182008-07-27 Bean <bean123ch@gmail.com>
34419
34420 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
34421 smallino, as it's more descriptive, and i8count can be confused with
34422 the other field count.
34423 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
34424 inode type.
34425
a85cd5a0 344262008-07-27 Bean <bean123ch@gmail.com>
34427
34428 * commands/crc.c: New file.
34429
34430 * lib/crc.c: Likewise.
34431
34432 * include/grub/lib/crc.h: Likewise.
34433
34434 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
34435
34436 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
34437 (hexdump): Move this function to ...
34438
34439 * lib/hexdump.c: ... here.
34440
34441 * include/grub/hexdump.h: Renamed to ...
34442
34443 * include/grub/lib/hexdump.h: ... this.
34444
34445 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
34446
34447 * util/grub-editenv.c: Likewise.
34448
34449 * include/envblk.h: Renamed to ...
34450
34451 * include/lib/envblk.h: ... this.
34452
34453 * util/envblk.c: Renamed to ...
34454
34455 * lib/envblk.c: ... this.
34456
34457 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
34458 lib/hexdump.c.
34459 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
34460 (pkglib_MODULES): Add crc.mod.
34461 (hexdump_mod_SOURCES): Add lib/hexdump.c.
34462 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
34463 (crc_mod_SOURCES): New macro.
34464 (crc_mod_CFLAGS): Likewise.
34465 (crc_mod_LDFLAGS): Likewise.
34466
34467 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
34468
34469 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34470
34471 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34472
34473 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34474
34475 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34476
c298def0 344772008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 34478
34479 * commands/help.c: Include <grub/term.h>.
34480 (TERM_WIDTH): Removed. Updated all users.
34481
cc349fb3 344822008-07-27 Pavel Roskin <proski@gnu.org>
34483
34484 * util/getroot.c (find_root_device): Rephrase a comment to avoid
34485 spurious warnings about a comment within a comment.
34486
9051607e 344872008-07-25 Robert Millan <rmh@aybabtu.com>
34488
34489 * util/getroot.c (find_root_device): Skip devices that match
34490 /dev/dm-[0-9]. This lets the real device be found for any type of
34491 abstraction (LVM, EVMS, RAID..).
34492 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
34493 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
34494 device is found first, find_root_device() will now skip it.
34495
01453bfc 344962008-07-24 Pavel Roskin <proski@gnu.org>
34497
34498 * include/grub/types.h: Use __builtin_bswap32() and
34499 __builtin_bswap64() with gcc 4.3 and newer.
34500
6af9849f 345012008-07-24 Christian Franke <franke@computer.org>
34502
3a0fa256 34503 * util/i386/pc/grub-install.in: If `--debug' is specified,
34504 pass `--verbose' to grub-setup.
34505 Abort script if make_system_path_relative_to_its_root() fails.
34506
7810e747 345072008-07-24 Bean <bean123ch@gmail.com>
34508
34509 * configure.ac: Fixed a bug caused by the previous cygwin patch,
34510 variable `target_platform' should be `platform'.
34511
42290e17 345122008-07-24 Bean <bean123ch@gmail.com>
34513
51cc5193 34514 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 34515 (grub_png_init_fixed_block): New function.
34516 (grub_png_decode_image_data): Handle fixed huffman code compression.
34517
2a8a80e4 345182008-07-24 Bean <bean123ch@gmail.com>
34519
34520 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
34521 (grub_pe2elf_SOURCES): New macro.
34522 (CLEANFILES): Add grub-pe2elf.
34523
34524 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
34525 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
34526 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
34527 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
34528 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
34529 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
34530 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
34531 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
34532 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
34533 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
34534 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
34535 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
34536 (GRUB_PE32_DT_FUNCTION): Likewise.
34537 (GRUB_PE32_REL_I386_DIR32): Likewise.
34538 (GRUB_PE32_REL_I386_REL32): Likewise.
34539 (grub_pe32_symbol): New structure.
34540 (grub_pe32_reloc): Likewise.
34541
34542 * util/grub-pe2elf.c: New file.
34543
34544 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
34545 start symbol in non pc platform.
34546
34547 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
34548
34549 The following patches are from Christian Franke.
34550
34551 * include/grub/dl.h: Remove .previous, gas supports this only
34552 for ELF format.
34553
34554 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
34555 Remove .type, gas supports this only for ELF format.
34556
34557 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
34558 nullbytes in symbol table. This fixes an infinite loop if table is
34559 zero filled.
34560
34561 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
34562 TARGET_IMG_LDFLAGS and EXEEXT.
34563
34564 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
34565 TARGET_IMG_LDFLAGS_AC.
34566 (grub_CHECK_STACK_ARG_PROBE): New function.
34567
34568 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
34569
34570 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
34571
34572 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
34573 to set TARGET_IMG_LD* accordingly.
34574 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
34575 Add call to grub_CHECK_STACK_ARG_PROBE.
34576 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
34577
34578 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
34579
34580 * genmk.rb: Add EXEEXT to CLEANFILES.
34581
12ccdb75 345822008-07-23 Robert Millan <rmh@aybabtu.com>
34583
34584 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
34585 define the codes for arrows and lines used for the menu).
34586 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
34587 as well.
34588
34589 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
34590 fonts, because the latter are too slow.
34591
18eeaf04 345922008-07-21 Bean <bean123ch@gmail.com>
34593
34594 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
34595 a20. Run keyboard test last, as it will cause macbook to halt.
34596
b095e2ad 345972008-07-18 Pavel Roskin <proski@gnu.org>
34598
34599 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
34600 load foreign architecture modules correctly anyway. Keep
34601 support for loading host architecture modules, whether we
34602 compile them or not.
34603
737feb35 346042008-07-17 Pavel Roskin <proski@gnu.org>
34605
3f4ce737 34606 * configure.ac: Use -m32 or -m64 regardless of whether we had to
34607 change target_cpu. The compiler default can mismatch target_cpu
34608 in any case.
34609
4ad2d049 34610 * disk/efi/efidisk.c: Fix format warnings on x86_64.
34611 * kern/efi/efi.c: Likewise.
34612
f6130a12 34613 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
34614 target compiler is functional.
34615 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
34616 are set up.
34617
58393a2d 34618 * configure.ac: Default to efi platform for x86_64-apple. Allow
34619 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
34620 adjustments from the rest, only do them if target is not
34621 explicitly given. Merge other adjustments with the final sanity
34622 check. Remove an extraneous check for supported CPU. Be
34623 specific which CPU and which platform is not supported.
34624
737feb35 34625 * configure.ac: Default to pc platform for x86_64.
34626
546f966a 346272008-07-17 Robert Millan <rmh@aybabtu.com>
34628
34629 Partial LinuxBIOS -> Coreboot rename.
34630
34631 * conf/i386-linuxbios.rmk: Renamed to ...
34632 * conf/i386-coreboot.rmk: ... this.
34633 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
34634 * configure.ac: Accept "coreboot" as input platform (but maintain
34635 compatibility with "linuxbios").
34636 * include/grub/i386/linuxbios: Renamed to ...
34637 * include/grub/i386/coreboot: ... this.
34638
20011694 346392008-07-17 Bean <bean123ch@gmail.com>
34640
34641 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 34642 (appleldr_mod_SOURCE): New variable.
20011694 34643 (appleldr_mod_CFLAGS): Likewise.
34644 (appleldr_mod_LDFLAGS): Likewise.
34645 (pci_mod_SOURCES): Likewise.
34646 (pci_mod_CFLAGS): Likewise.
34647 (pci_mod_LDFLAGS): Likewise.
34648 (lspci_mod_SOURCES): Likewise.
34649 (lspci_mod_CFLAGS): Likewise.
34650 (lspci_mod_LDFLAGS): Likewise.
34651
34652 * conf/x86_64-efi.rmk: New file.
34653
34654 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
34655 macro.
34656 (grub_efidisk_write): Likewise.
34657
34658 * include/efi/api.h (efi_call_0): New macro.
34659 (efi_call_1): Likewise.
34660 (efi_call_2): Likewise.
34661 (efi_call_3): Likewise.
34662 (efi_call_4): Likewise.
34663 (efi_call_5): Likewise.
34664 (efi_call_6): Likewise.
34665
34666 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
34667 grub_rescue_cmd_chainloader.
34668
34669 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
34670 (grub_pe32_optional_header): Change some fields based on i386 or
34671 x86_64 platform.
34672 (GRUB_PE32_PE32_MAGIC): Likewise.
34673
34674 * include/grub/efi/uga_draw.h: New file.
34675
34676 * include/grub/elf.h (STN_ABS): New constant.
34677 (R_X86_64_NONE): Relocation constant for x86_64.
34678 (R_X86_64_64): Likewise.
34679 (R_X86_64_PC32): Likewise.
34680 (R_X86_64_GOT32): Likewise.
34681 (R_X86_64_PLT32): Likewise.
34682 (R_X86_64_COPY): Likewise.
34683 (R_X86_64_GLOB_DAT): Likewise.
34684 (R_X86_64_JUMP_SLOT): Likewise.
34685 (R_X86_64_RELATIVE): Likewise.
34686 (R_X86_64_GOTPCREL): Likewise.
34687 (R_X86_64_32): Likewise.
34688 (R_X86_64_32S): Likewise.
34689 (R_X86_64_16): Likewise.
34690 (R_X86_64_PC16): Likewise.
34691 (R_X86_64_8): Likewise.
34692 (R_X86_64_PC8): Likewise.
34693
34694 * include/grub/i386/efi/pci.h: New file.
34695
34696 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
34697 Change it value based on platform.
34698 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
34699 (GRUB_E820_RAM): Likewise.
34700 (GRUB_E820_RESERVED): Likewise.
34701 (GRUB_E820_ACPI): Likewise.
34702 (GRUB_E820_NVS): Likewise.
34703 (GRUB_E820_EXEC_CODE): Likewise.
34704 (GRUB_E820_MAX_ENTRY): Likewise.
34705 (grub_e820_mmap): New structure.
34706 (linux_kernel_header): Change the efi field according to different
34707 kernel version, also field from linux_kernel_header.
34708
34709 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
34710
34711 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
34712 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
34713 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
34714 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
34715 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
34716 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
34717 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
34718 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
34719 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
34720 (GRUB_PCI_ADDR_IO_MASK): Likewise.
34721
34722 * include/grub/x86_64/efi/kernel.h: New file.
34723
34724 * include/grub/x86_64/efi/loader.h: Likewise.
34725
34726 * include/grub/x86_64/efi/machine.h: Likewise.
34727
34728 * include/grub/x86_64/efi/pci.h: Likewise.
34729
34730 * include/grub/x86_64/efi/time.h: Likewise.
34731
34732 * include/grub/x86_64/linux.h: Likewise.
34733
34734 * include/grub/x86_64/setjmp.h: Likewise.
34735
34736 * include/grub/x86_64/time.h: Likewise.
34737
34738 * include/grub/x86_64/types.h: Likewise.
34739
34740 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
34741 GRUB_TARGET_SIZEOF_VOID_P.
34742
34743 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
34744 (grub_efi_locate_handle): Likewise.
34745 (grub_efi_open_protocol): Likewise.
34746 (grub_efi_set_text_mode): Likewise.
34747 (grub_efi_stall): Likewise.
34748 (grub_exit): Likewise.
34749 (grub_reboot): Likewise.
34750 (grub_halt): Likewise.
34751 (grub_efi_exit_boot_services): Likewise.
34752 (grub_get_rtc): Likewise.
34753
34754 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
34755 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
34756 (grub_efi_allocate_pages): Wrap efi calls.
34757 (grub_efi_free_pages): Wrap efi calls.
34758 (grub_efi_get_memory_map): Wrap efi calls.
34759
34760 * kern/x86_64/dl.c: New file.
34761
34762 * kern/x86_64/efi/callwrap.S: Likewise.
34763
34764 * kern/x86_64/efi/startup.S: Likewise.
34765
34766 * loader/efi/appleloader.c: Likewise.
34767
34768 * loader/efi/chainloader.c (cmdline): New variable.
34769 (grub_chainloader_unload): Wrap efi calls.
34770 (grub_chainloader_boot): Likewise.
34771 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
34772 command line.
34773
34774 * loader/efi/chainloader_normal.c (chainloader_command):
34775 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
34776 command line.
34777
34778 * loader/i386/efi/linux.c (allocate_pages): Change allocation
34779 method.
34780 (grub_e820_add_region): New function.
34781 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
34782 booting.
34783 (grub_find_video_card): New function.
34784 (grub_linux_setup_video): New function.
34785 (grub_rescue_cmd_linux): Probe for video information.
34786
34787 * normal/x86_64/setjmp.S: New file.
34788
34789 * term/efi/console.c (map_char): New function.
34790 (grub_console_putchar): Map unicode char.
34791 (grub_console_checkkey): Wrap efi calls.
34792 (grub_console_getkey): Likewise.
34793 (grub_console_getwh): Likewise.
34794 (grub_console_gotoxy): Likewise.
34795 (grub_console_cls): Likewise.
34796 (grub_console_setcolorstate): Likewise.
34797 (grub_console_setcursor): Likewise.
34798
34799 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
34800
59652a20 348012008-07-16 Pavel Roskin <proski@gnu.org>
34802
ef294055 34803 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
34804 format strings.
34805
59652a20 34806 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
34807 pointer, not an integer. This fixes a warning and prevents
34808 precision loss on 64-bit systems.
34809 (relocate_addresses): Remove unneeded cast.
34810
afc3b5d7 348112008-07-15 Pavel Roskin <proski@gnu.org>
34812
506b2b3e 34813 * kern/i386/ieee1275/init.c: Include grub/cache.h.
34814
62ead89c 34815 * term/ieee1275/ofconsole.c: Disable code unused on i386.
34816
c4cd51d7 34817 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
34818 Fix comparison between signed and unsigned.
34819
0d3d8f28 34820 * include/grub/i386/ieee1275/console.h: Declare
34821 grub_console_init() and grub_console_fini().
34822
8804b286 34823 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
34824 It's empty and unused.
34825
ee01cf35 34826 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
34827 beginning to avoid warnings with some compilers.
34828
afc3b5d7 34829 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
34830 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
34831
e4e8eaa5 348322008-07-14 Pavel Roskin <proski@gnu.org>
34833
407aceb4 34834 * kern/env.c (grub_register_variable_hook): Don't copy empty
34835 string, it leaks memory. Pass "" to grub_env_set(), it should
34836 handle constant strings.
34837
e4e8eaa5 34838 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
34839 * commands/cmp.c (grub_cmd_cmp): Likewise.
34840 * kern/dl.c (grub_dl_flush_cache): Likewise.
34841 (grub_dl_load_core): Likewise.
34842 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
34843 (grub_elf64_load_phdrs): Likewise.
34844
d4e2dad3 348452008-07-13 Pavel Roskin <proski@gnu.org>
34846
34847 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
34848 between signed and unsigned.
34849 (LzmaEnc_Finish): Fix warning about an unused parameter.
34850
aa24b516 348512008-07-13 Bean <bean123ch@gmail.com>
34852
34853 * Makefile.in (enable_lzo): New rule.
34854
34855 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
34856
34857 * configure.ac (ENABLE_LZO): New option --enable-lzo.
34858
34859 * boot/i386/pc/lnxboot.S: #include <config.h>.
34860
34861 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 34862 its value according to the compression algorithm used, lzo or lzma.
aa24b516 34863
34864 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
34865 compression algorithm according to configure macro.
34866
34867 * kern/i386/pc/startup.S (codestart): Likewise.
34868
34869 * kern/i386/pc/lzma_decode.S: New file.
34870
34871 * include/grub/lib/LzFind.h: Likewise.
34872
34873 * include/grub/lib/LzHash.h: Likewise.
34874
34875 * include/grub/lib/LzmaDec.h: Likewise.
34876
34877 * include/grub/lib/LzmaEnc.h: Likewise.
34878
34879 * include/grub/lib/LzmaTypes.h: Likewise.
34880
34881 * lib/LzFind.c: Likewise.
34882
34883 * lib/LzmaDec.c: Likewise.
34884
34885 * lib/LzmaEnc.c: Likewise.
34886
4ae821ac 348872008-07-13 Bean <bean123ch@gmail.com>
34888
34889 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
34890 (grub_ext4_extent_header): New structure.
34891 (grub_ext4_extent): Likewise.
34892 (grub_ext4_extent_idx): Likewise.
34893 (grub_ext4_find_leaf): New function.
34894 (grub_ext2_read_block): Handle extents.
34895
9a745147 348962008-07-12 Robert Millan <rmh@aybabtu.com>
34897
34898 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
34899
d49a4cf6 349002008-07-11 Robert Millan <rmh@aybabtu.com>
34901
34902 * util/grub.d/40_custom.in: New file. Example on how to add custom
34903 entries to /etc/grub.d.
34904 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
34905 40_custom (implicitly, by merging all the grub.d rules).
34906
947414b4 349072008-07-11 Pavel Roskin <proski@gnu.org>
34908
0059cf6f 34909 * commands/read.c (grub_getline): Fix invalid memory access.
34910 Don't add newline to the variable value.
34911
947414b4 34912 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
34913 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
34914 (serial_hw_get_port): Check validity of the port number.
34915 (grub_cmd_serial): Check return value of serial_hw_get_port().
34916
62a02d00 349172008-07-07 Pavel Roskin <proski@gnu.org>
34918
34919 * boot/i386/pc/diskboot.S (notification_string): Replace
34920 "Loading kernel" with just "loading". This is shorter, less
34921 confusing and saves a few bytes for possible future changes.
34922
3e5581b0 349232008-07-05 Pavel Roskin <proski@gnu.org>
34924
ea387a48 34925 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
34926 size for ATAPI devices, they are undefined. Output sector
34927 number in decimal form.
34928
3e5581b0 34929 * disk/ata.c: Use named constants for status bits.
34930
fdecb8fd 349312008-07-04 Pavel Roskin <proski@gnu.org>
34932
bcd35b90 34933 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
34934 grub_addr_t before casting it to the void pointer to fix a
34935 warning. Non-addressable regions are discarded earlier.
34936 (grub_arch_modules_addr): Cast _end to grub_addr_t.
34937 * kern/i386/linuxbios/table.c: Include grub/misc.h.
34938 (check_signature): Don't shadow table_header.
34939 (grub_linuxbios_table_iterate): Cast numeric constants to
34940 grub_linuxbios_table_header_t.
34941 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
34942 grub_stop().
34943
af58ab3d 34944 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
34945 prevent warnings.
34946
1759aa57 34947 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
34948 pointer, which can cause warnings. Support 64-bit addresses.
34949
fdecb8fd 34950 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
34951 of sizeof(long). This fixes PowerPC image generation on x86_64.
34952
8516d2a8 349532008-07-04 Robert Millan <rmh@aybabtu.com>
34954
34955 This fixes a performance issue when pc & gpt partmap iterators
34956 didn't abort iteration even after our hook found what it was
fe987087 34957 looking for (often causing expensive probes of non-existent drives).
8516d2a8 34958
34959 Some callers relied on previous buggy behaviour, since they would
34c44600 34960 raise an error when their own hooks caused early abortion of its
8516d2a8 34961 iteration.
34962
34963 * kern/device.c (grub_device_open): Improve error message.
34964 * disk/lvm.c (grub_lvm_open): Likewise.
34965 * disk/raid.c (grub_raid_open): Likewise.
34966
34967 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
34968 when hook requests it, independently of grub_errno.
34969 (pc_partition_map_probe): Do not fail when find_func() caused
34970 early abortion of pc_partition_map_iterate().
34971
34972 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
34973 when hook requests it, independently of grub_errno.
34974 (gpt_partition_map_probe): Do not fail when find_func() caused
34975 early abortion of gpt_partition_map_iterate().
34976
34977 * kern/partition.c (grub_partition_iterate): Abort parent iteration
34978 when hook requests it, independently of grub_errno. Do not fail when
34979 part_map_iterate_hook() caused early abortion of p->iterate().
34980
34981 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
34982 when grub_partition_iterate() returned with non-zero.
34983
277d0de9 349842008-07-03 Pavel Roskin <proski@gnu.org>
34985
34986 * disk/ata.c (grub_ata_pio_write): Check status before writing,
34987 like we do in grub_ata_pio_read().
34988 (grub_ata_readwrite): Always write individual sectors. Fix the
34989 sector count for the remainder.
34990 (grub_ata_write): Enable writing to ATA devices. Correctly
34991 report error for ATAPI devices.
34992
d4c9b428 349932008-07-02 Pavel Roskin <proski@gnu.org>
34994
e43fc690 34995 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
34996 warning.
34997
f707af42 34998 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
34999 for every read sector, we already increment it for the whole
35000 batch. This fixes reading more than 256 sectors at once.
35001
11e16b15 35002 * util/grub-editenv.c (cmd_info): Cast argument to long
35003 explicitly. ptrdiff_t reduces to int on i386.
35004
cbabfdd4 35005 * util/grub-editenv.c (main): Be specific which parameter is
35006 missing.
35007
b8fbce0a 35008 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35009 (memdisk): Make memdisk_orig_addr a pointer.
35010
c9c8e606 35011 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35012 for file offsets, use grub_off_t instead. Fix printf format
35013 warnings.
35014
ca62e598 35015 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35016 there. Real unexpected warnings should not drown in the noise
35017 about known problems.
35018
ce8d1766 35019 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35020 grub_disk_addr_t for memory addresses.
35021
00c7a56a 35022 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35023 explicitly to fix a warning.
35024
08d3ef09 35025 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35026
cb71ba20 35027 * Makefile.in (MODULE_LDFLAGS): New variable.
35028 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35029 the linker accepts --build-id=none.
35030 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35031 MODULE_LDFLAGS.
35032 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35033
d4c9b428 35034 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35035 those in Linux XFS code. Provide a way to access 64-bit parent
35036 inode.
35037 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35038 the end of struct grub_xfs_dir_header.
35039
d4156eee 350402008-07-02 Bean <bean123ch@gmail.com>
35041
35042 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35043 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35044 and GRUB_IEEE1275_FLAG_NO_ANSI.
35045
35046 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35047 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35048 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35049
35050 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35051 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35052
35053 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35054 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35055
35056 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35057 esc sequence on non ANSI terminal.
35058 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35059
35060 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35061 beginning of file.
35062
2270f77b 350632008-07-02 Bean <bean123ch@gmail.com>
35064
35065 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35066 (grub_editenv_SOURCES): New variable.
35067 (pkglib_MODULES): Add loadenv.mod.
35068 (loadenv_mod_SOURCES): New variable.
35069 (loadenv_mod_CFLAGS): Likewise.
35070 (loadenv_mod_LDFLAGS): Likewise.
35071
35072 * include/grub/envblk.h: New file.
35073
35074 * util/envblk.c: New file.
35075
35076 * util/grub-editenv.c: New file.
35077
35078 * commands/loadenv.c: New file.
35079
0e9e51ec 350802008-07-01 Pavel Roskin <proski@gnu.org>
35081
d89b7634 35082 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35083 not unsigned char. This fixes warnings and is consistent with
35084 other tags.
35085
bf1835b1 35086 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35087
8222a04b 35088 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35089
6a42d99d 35090 * term/tparm.c (analyze): Always set *popcount.
35091
10b159d1 35092 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35093 cast to fix a warning.
35094
b8789f6c 35095 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35096 cast to suppress a warning.
35097
29d7e38a 35098 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35099 grub_fshelp_read_file() expects.
35100
f341f669 35101 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35102 write uuid as a 32-bit value in CPU byte order, so declare and
35103 use it as such.
35104
0e9e51ec 35105 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35106 long if the format specifier expects it.
35107 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35108 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35109 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35110 long to fix a warning.
35111 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35112 grub_dprintf() arguments to fix warnings.
35113
3aefa857 351142008-06-30 Pavel Roskin <proski@gnu.org>
35115
56c7668b 35116 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35117 install_bsd_part immediately before core.img is embedded or
35118 modified on disk. This fixes core.img verification if core.img
35119 cannot be embedded.
35120
3aefa857 35121 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35122 core_path to calculate the blocklist.
35123 Patch from Javier Martín <lordhabbit@gmail.com>
35124
5444088d 351252008-06-29 Robert Millan <rmh@aybabtu.com>
35126
35127 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35128 block to disk block.
35129 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35130 Patch from Niels Böhm <bitbucket@arcor.de>
35131
674835c8 351322008-06-29 Robert Millan <rmh@aybabtu.com>
35133
35134 * util/update-grub_lib.in (font_path): Search for fonts in
35135 /boot/grub first, which is more likely to be readable (we aren't
35136 deciding where fonts live, just looking for them).
35137
f527dbc8 351382008-06-26 Pavel Roskin <proski@gnu.org>
35139
6c2d8df6 35140 * util/biosdisk.c (read_device_map): Don't leave dead map
35141 entries for devices failing stat() check.
35142
f527dbc8 35143 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35144 core_path_dev for the core.img path on the target device.
35145
aebe3d13 351462008-06-26 Robert Millan <rmh@aybabtu.com>
35147
35148 * disk/fs_uuid.c: New file.
35149 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35150 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35151 (fs_uuid_mod_LDFLAGS): New variables.
35152 * include/grub/disk.h (grub_disk_dev_id): Add
35153 `GRUB_DISK_DEVICE_UUID_ID'.
35154 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35155 implement iterate().
35156
37aaf354 351572008-06-26 Robert Millan <rmh@aybabtu.com>
35158
35159 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35160 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35161 Linux image includes no initrd.
35162
25ff262a 351632008-06-21 Javier Martín <lordhabbit@gmail.com>
35164
35165 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35166 call to resolve the core image location that effectively appended the
35167 name twice.
35168
76a2bd44 351692008-06-21 Robert Millan <rmh@aybabtu.com>
35170
35171 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35172 call from here ...
35173
35174 * util/grub.d/10_hurd.in: ... to here ...
35175 * util/grub.d/10_linux.in: ... and here.
35176
650e1c79 351772008-06-19 Robert Millan <rmh@aybabtu.com>
35178
fe987087 35179 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 35180 after it has been set by grub_machine_set_prefix().
35181
6ce63911 351822008-06-19 Robert Millan <rmh@aybabtu.com>
35183
35184 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35185 search result when not saving to variable, not the other way around.
35186 When saving to variable, abort iteration as soon as a match is found.
35187
73940cec 351882008-06-19 Robert Millan <rmh@aybabtu.com>
35189
35190 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35191 check for partition that provides /boot/grub. Its logic is flawed,
35192 as it prevents prepare_grub_to_access_device() from being called
35193 multiple times.
35194
3c62a39d 351952008-06-19 Robert Millan <rmh@aybabtu.com>
35196
35197 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35198 "insmod" command directly when abstraction modules are needed,
fe987087 35199 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 35200 since it had already been processed).
35201
47395a42 352022008-06-19 Pavel Roskin <proski@gnu.org>
35203
35204 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35205 changed. This is needed in case GRUB_LIBDIR changes.
35206 * conf/i386-ieee1275.rmk: Likewise.
35207 * conf/i386-linuxbios.rmk: Likewise.
35208 * conf/i386-pc.rmk: Likewise.
35209 * conf/powerpc-ieee1275.rmk: Likewise.
35210
a145ac2d 352112008-06-18 Pavel Roskin <proski@gnu.org>
35212
35213 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35214 kernel_elf_symlist.c to symlist.c for consistency with other
35215 architectures. Update all users.
35216 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35217
7847c51e 352182008-06-18 Robert Millan <rmh@aybabtu.com>
35219
35220 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35221 it in prefix.
35222
35223 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35224 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35225 a RAID device, run setup() for all members independently on whether
35226 LVM abstraction is being used.
35227 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35228 If grub-mkimage has set `*install_dos_part == -2', don't override this
35229 value.
35230 Perform *install_dos_part adjustments independently on whether
35231 we're embedding or not.
35232 Clarify error message when image is too big for embedding.
35233 Remove duplicate *install_dos_part stanza.
35234
b23e5644 352352008-06-17 Robert Millan <rmh@aybabtu.com>
35236
35237 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35238 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35239 variables.
35240 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35241 values in grub_ofconsole_normal_color and
35242 grub_ofconsole_highlight_color (they're not directly related to
35243 background and foreground).
35244 (grub_ofconsole_setcolorstate): Extract background and foreground
35245 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
35246
0aac2f79 352472008-06-17 Robert Millan <rmh@aybabtu.com>
35248
35249 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
35250 /boot/grub for the check in last commit, not /boot (they could be
35251 different partitions).
35252
3cca7ef3 352532008-06-16 Robert Millan <rmh@aybabtu.com>
35254
35255 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
35256 asked to setup access for the same partition that provides /boot,
35257 don't bother using UUIDs since our root already has the value we
35258 want.
35259
347396d8 352602008-06-16 Robert Millan <rmh@aybabtu.com>
35261
35262 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
35263 I2O devices.
35264 Patch from Sven Mueller <sven@debian.org>.
35265
991477f8 352662008-06-16 Robert Millan <rmh@aybabtu.com>
35267
35268 * util/update-grub.in: Check for $EUID instead of $UID.
35269 Reported by Vincent Zweije.
35270
d31a32a1 352712008-06-16 Bean <bean123ch@gmail.com>
35272
fe987087 35273 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 35274 (grub_ext2_read_block): Likewise.
35275 (grub_ext2_read_inode): Likewise.
35276 (grub_ext2_mount): Likewise.
35277 (grub_ext2_close): Likewise.
35278 (grub_ext3_get_journal): Removed.
35279
fe987087 35280 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 35281 (grub_reiserfs_read_symlink): Likewise.
35282 (grub_reiserfs_mount): Likewise.
35283 (grub_reiserfs_open): Likewise.
35284 (grub_reiserfs_read): Likewise.
35285 (grub_reiserfs_close): Likewise.
35286 (grub_reiserfs_get_journal): Removed.
35287
35288 * fs/fshelp.c (grub_fshelp_read): Removed.
35289 (grub_fshelp_map_block): Likewise.
35290
35291 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
35292 (grub_fshelp_journal): Likewise.
35293 (grub_fshelp_read): Likewise.
35294 (grub_fshelp_map_block): Likewise.
35295
3540a760 352962008-06-16 Pavel Roskin <proski@gnu.org>
35297
35298 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
35299 floating point anymore.
35300 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
35301
95614c84 353022008-06-15 Pavel Roskin <proski@gnu.org>
35303
35304 * commands/ls.c (grub_ls_list_files): Use integer calculations
35305 for human readable format, avoid floating point use.
35306 * kern/misc.c (grub_ftoa): Remove.
35307 (grub_vsprintf): Remove floating point support.
35308
50465dd6 353092008-06-15 Robert Millan <rmh@aybabtu.com>
35310
fe6b695a 35311 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 35312 devices.
35313 Reported by Max Vozeler.
35314
a9207284 353152008-06-15 Robert Millan <rmh@aybabtu.com>
35316
35317 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
35318 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
35319 skipped later.
35320 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
35321 the beginning of the prefix.
35322
35323 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
35324 It is assumed that if we have a memdisk, grub-mkimage has set
35325 grub_prefix to include the "(memdisk)" drive in it.
35326
a7cbd45a 353272008-06-15 Robert Millan <rmh@aybabtu.com>
35328
35329 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
35330 Initialize keyboard controller after registering the terminal, so that
35331 grub_printf() can be called from grub_keyboard_controller_init().
35332
21cf716a 353332008-06-15 Robert Millan <rmh@aybabtu.com>
35334
35335 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
35336 extent-btree which is written as big endian on disk.
35337 Reported by Alain Greppin <al@chilibi.org>.
35338
23a64d8e 353392008-06-14 Robert Millan <rmh@aybabtu.com>
35340
35341 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
35342 * util/i386/pc/grub-install.in (modules): Likewise.
35343
d687651c 353442008-06-13 Pavel Roskin <proski@gnu.org>
35345
35346 * commands/ls.c (grub_ls_list_files): Fix format warnings.
35347
dfe9ddd4 353482008-06-13 Bean <bean123ch@gmail.com>
35349
35350 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
35351
35352 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
35353
35354 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
35355 to indicate sparse block.
35356
16ae7781 353572008-06-12 Pavel Roskin <proski@gnu.org>
35358
e6d1a308 35359 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
35360 number, grub_fshelp_read() does it for us.
35361
16ae7781 35362 * fs/fshelp.c (grub_fshelp_read): New function. Implement
35363 linear disk read with journal translation.
35364 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
35365 * include/grub/fshelp.h: Declare grub_fshelp_read().
35366
40fd3a2b 353672008-06-09 Pavel Roskin <proski@gnu.org>
35368
35369 * fs/minix.c (grub_minix_mount): Handle error reading
35370 superblock.
35371
f5679726 353722008-06-08 Robert Millan <rmh@aybabtu.com>
35373
35374 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
35375 don't append the RAID prefix afterwards.
35376 Reported by Clint Adams.
35377
ce525529 353782008-06-08 Robert Millan <rmh@aybabtu.com>
35379
35380 Based on description from Pavel:
35381 * kern/disk.c (grub_disk_check_range): Rename to ...
35382 (grub_disk_adjust_range): ... this. Add a comment explaining the
35383 tasks performed by this function.
35384
ad4936a0 353852008-06-08 Robert Millan <rmh@aybabtu.com>
35386
35387 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
35388 `num_serial' (for consistency with other variables).
35389 (struct grub_ntfs_data): Add `uuid' member.
35390 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
35391 (grub_ntfs_uuid): New function.
35392 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
35393
dc20b0f9 353942008-06-07 Pavel Roskin <proski@gnu.org>
35395
35396 * util/biosdisk.c (open_device): Revert last change to the
35397 function, it broke installation. The sector needs to be
35398 different dependent on which device is opened.
35399
c5e3cfba 354002008-06-06 Robert Millan <rmh@aybabtu.com>
35401
35402 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
35403 rest of GRUB, and breakage doesn't happen if its value were modified.
35404
35405 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35406 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
35407 a constant (same value).
35408 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
35409 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
35410
26a1f8c4 354112008-06-06 Robert Millan <rmh@aybabtu.com>
35412
35413 * util/biosdisk.c (open_device): Do not modify sector offset when
35414 accessing a partition. kern/disk.c already handles this for us.
35415
25d6b327 354162008-06-06 Robert Millan <rmh@aybabtu.com>
35417
35418 * util/grub-emu.c (grub_machine_init): Move code in this function from
35419 here ...
35420 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
35421 segfault in case grub_printf() is called).
35422
35423 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
35424 grub_probe. Update all users not to explicitly add it again.
35425 (grub_device): New variable; contains corresponding device for grubdir.
35426 (fs_module, partmap_module, devabstraction_module): Pass
35427 `--device ${grub_device}' to grub_probe to avoid traversing /dev
35428 every time.
35429
9ece62fb 354302008-06-05 Robert Millan <rmh@aybabtu.com>
35431
35432 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
35433 is found, print it (same layout as with labels).
35434
1ad36d37 354352008-06-04 Robert Millan <rmh@aybabtu.com>
35436
35437 * util/biosdisk.c (get_drive): Rename to ...
35438 (find_grub_drive): ... this. Update all users.
35439
35440 (get_os_disk): Rename to ...
35441 (convert_system_partition_to_system_disk): ... this. Update all users.
35442
35443 (find_drive): Rename to ...
35444 (find_system_device): ... this. Update all users.
35445
e6a30859 354462008-06-04 Robert Millan <rmh@aybabtu.com>
35447
35448 * util/biosdisk.c (get_os_disk): Handle IDA devices.
35449 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35450 (make_device_map): Likewise.
35451
00c108a4 354522008-06-01 Robert Millan <rmh@aybabtu.com>
35453
35454 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
35455 before dereferencing it.
35456
35457 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
35458 union with fat12/fat16-specific ones. Add some new fields, including
35459 `num_serial' for both versions.
35460 (struct grub_fat_data): Add `uuid' member.
35461 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
35462 names. Initialize `data->uuid' using `num_serial'.
35463 (grub_fat_uuid): New function.
35464 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
35465
35466 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
35467 (grub_reiserfs_uuid): New function.
35468 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
35469 member.
35470
35471 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
35472 (grub_xfs_uuid): New function.
35473 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
35474
1385c5bb 354752008-06-01 Robert Millan <rmh@aybabtu.com>
35476
35477 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
35478 code that is backward compatible with pre-uuid search command.
35479
c682dfd7 354802008-05-31 Robert Millan <rmh@aybabtu.com>
35481
35482 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
35483 floppies after everything else, to ensure floppy drive isn't accessed
35484 unnecessarily (patch from Bean).
35485
b7db5d47 354862008-05-31 Robert Millan <rmh@aybabtu.com>
35487
35488 * commands/search.c (search_label, search_fs_uuid, search_file): Do
35489 not print device names when we were asked to set a variable.
35490
6e037aa9 354912008-05-31 Robert Millan <rmh@aybabtu.com>
35492
35493 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
35494 using "cursor-on" and "cursor-off" commands (understood at least by
35495 the Open Firmware flavour on OLPC).
35496
41305bc8 354972008-05-31 Michael Gorven <michael@gorven.za.net>
35498
35499 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
35500 on and off sequences.
35501
69ba137e 355022008-05-31 Robert Millan <rmh@aybabtu.com>
35503
35504 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
35505 * util/update-grub.in: Likewise.
35506
520ae21b 355072008-05-30 Pavel Roskin <proski@gnu.org>
35508
35509 * util/biosdisk.c (linux_find_partition): Simplify logic and
35510 make the code more universal. Keep special processing for
35511 devfs, but use a simple rule for all other devices. If the
35512 device ends with a number, append 'p' and the partition number.
35513 Otherwise, append only the partition number.
35514
5786569b 355152008-05-30 Robert Millan <rmh@aybabtu.com>
35516
35517 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
35518 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
35519 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
35520 the `root' parameter to Linux.
35521
51500452 355222008-05-30 Robert Millan <rmh@aybabtu.com>
35523
35524 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
35525 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
35526 --fs_uuid with --fs-uuid.
35527 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
35528 all filesystems support them).
35529
811d3878 355302008-05-30 Robert Millan <rmh@aybabtu.com>
35531
35532 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 35533 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 35534
cab63c95 355352008-05-30 Robert Millan <rmh@aybabtu.com>
35536
35537 * util/grub.d/00_header.in: Remove obsolete comment referencing
35538 convert_system_path_to_grub_path().
35539 * util/update-grub.in: Likewise.
35540 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
35541 (convert_system_path_to_grub_path): Add a warning message explaining
35542 that this function is deprecated. Rely on is_path_readable_by_grub()
35543 for the readability checks.
35544 (font_path): Use is_path_readable_by_grub() for the readability
35545 check rather than convert_system_path_to_grub_path().
35546
972e2f7a 355472008-05-30 Robert Millan <rmh@aybabtu.com>
35548
35549 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
35550 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
35551 converting it first.
35552 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
35553 grub.cfg for access to font file, and afterwards call it again to set
35554 the root device.
35555
62191274 355562008-05-30 Robert Millan <rmh@aybabtu.com>
35557
35558 * commands/search.c (options): Add --fs_uuid option.
35559 (search_fs_uuid): New function.
35560 (grub_cmd_search): Fix --set argument passing.
35561 Use search_fs_uuid() when requested via --fs_uuid.
35562 (grub_search_init): Update help message.
35563 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
35564 and redeclare it as an array of 16-bit words.
35565 (grub_ext2_uuid): New function.
35566 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
35567 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
35568 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
35569 (GRUB_DEVICE_BOOT_UUID): New variables.
35570 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
35571 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
35572 whenever possible.
35573 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
35574 just assume `root' variable has the right value.
35575 * util/grub.d/10_linux.in: Likewise.
35576 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
35577 via PRINT_FS_UUID.
35578 (main): Recognise `-t fs_uuid' argument.
35579
01b73ec8 355802008-05-30 Robert Millan <rmh@aybabtu.com>
35581
35582 * util/biosdisk.c (map): Redefine structure to hold information
35583 about GRUB drive name.
fe6b695a 35584 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 35585 drive names.
35586 (call_hook): Remove.
35587 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
35588 member. Assume drive has partitions.
35589 (grub_util_biosdisk_open): Access device names via `.device' struct
35590 member.
35591 (open_device): Likewise.
35592 (find_drive): Likewise.
35593 (read_device_map): Adjust map[] usage to match the new struct
35594 definition. Don't check for duplicates (still possible, but not cheap
35595 anymore).
35596 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
35597 (make_device_name): Remove assumption of BIOS-like drive names.
35598
22f16596 355992008-05-30 Pavel Roskin <proski@gnu.org>
35600
35601 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
35602 compiling execute.c doesn't need grub_script.tab.h anymore.
35603 (normal/command.c_DEPENDENCIES): Likewise.
35604 (normal/function.c_DEPENDENCIES): Likewise.
35605 * conf/i386-ieee1275.rmk: Likewise.
35606 * conf/i386-linuxbios.rmk: Likewise.
35607 * conf/i386-pc.rmk: Likewise.
35608 * conf/powerpc-ieee1275.rmk: Likewise.
35609 * conf/sparc64-ieee1275.rmk: Likewise.
35610
528ad8f2 356112008-05-29 Pavel Roskin <proski@gnu.org>
35612
d1dff95d 35613 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
35614 when scanning metadata for volume group name.
35615
528ad8f2 35616 * include/grub/script.h: Don't include grub_script.tab.h. It's
35617 a generated file, which may only be included from the files with
35618 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
35619 use union YYSTYPE, as the later allows forward declaration.
35620 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
35621
47248e08 356222008-05-29 Robert Millan <rmh@aybabtu.com>
35623
35624 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
35625 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
35626 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
35627 (grub_console_checkkey): Add grub_dprintf() call to report unknown
35628 scan codes.
35629
ee632529 356302008-05-29 Robert Millan <rmh@aybabtu.com>
35631
35632 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
35633 control key combinations.
35634
eee96e08 356352008-05-29 Robert Millan <rmh@aybabtu.com>
35636
35637 * util/powerpc/ieee1275/grub-install.in: Move from here ...
35638 * util/ieee1275/grub-install.in: ... to here.
35639 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
35640 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
35641 (grub_install_SOURCES): Likewise.
35642
da9a6a94 356432008-05-29 Robert Millan <rmh@aybabtu.com>
35644
35645 * fs/affs.c: Update copyright year.
35646 * fs/ext2.c: Likewise.
35647 * fs/fshelp.c: Likewise.
35648 * fs/hfsplus.c: Likewise.
35649 * fs/ntfs.c: Likewise.
35650 * fs/xfs.c: Likewise.
35651 * include/grub/fshelp.h: Likewise.
35652 * util/grub-mkdevicemap.c: Likewise.
35653
12e65f3a 356542008-05-28 Robert Millan <rmh@aybabtu.com>
35655
35656 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
35657 might need to be fatfs to support some firmware implementations
35658 (e.g. OFW or EFI).
35659
23023641 356602008-05-28 Robert Millan <rmh@aybabtu.com>
35661
35662 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
35663 devices.
35664 * util/grub-mkdevicemap.c (get_mmc_disk_name)
35665 (make_device_map): Likewise.
35666
887d2619 356672008-05-20 Bean <bean123ch@gmail.com>
35668
35669 * fs/fshelp.c (grub_fshelp_map_block): New function.
35670 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
35671 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
35672
35673 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
35674 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
35675 (grub_fshelp_journal): New structure.
35676 (grub_fshelp_map_block): New function prototype.
35677 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
35678 (grub_fshelp_map_block): Likewise.
35679
35680 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
35681 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
35682 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
35683 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
35684 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
35685 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
35686 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
35687 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
35688 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
35689 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
35690 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
35691 (grub_ext2_sblock): New members for journal support.
35692 (grub_ext3_journal_header): New structure.
35693 (grub_ext3_journal_revoke_header): Likewise.
35694 (grub_ext3_journal_block_tag): Likewise.
35695 (grub_ext3_journal_sblock): Likewise.
35696 (grub_fshelp_node): New members logfile and journal.
35697 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
35698 grub_fshelp_map_block to get real block number.
35699 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
35700 number.
35701 (grub_ext2_read_inode): Likewise.
35702 (grub_ext3_get_journal): New function.
35703 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
35704 (grub_ext2_close): Release memory used by journal.
35705
35706 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
35707 (REISERFS_MAGIC_DESC_BLOCK): New macro.
35708 (grub_reiserfs_transaction_header): Renamed to
35709 grub_reiserfs_description_block, replace field data with real_blocks.
35710 (grub_reiserfs_commit_block): New structure.
35711 (grub_reiserfs_data): New member journal.
35712 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
35713 number.
35714 (grub_reiserfs_read_symlink): Likewise.
35715 (grub_reiserfs_iterate_dir): Likewise.
35716 (grub_reiserfs_open): Likewise.
35717 (grub_reiserfs_read): Likewise.
35718 (grub_reiserfs_get_journal): New function.
35719 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
35720 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
35721 using grub_reiserfs_get_journal.
35722 (grub_reiserfs_close): Release memory used by journal.
35723
35724 * fs/affs.c (grub_affs_read_block): Change block type to
35725 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
35726
35727 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
35728
35729 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
35730
35731 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
35732
35733 * fs/udf.c (grub_udf_read_block): Change block type to
35734 grub_disk_addr_t. Use type cast to avoid warning.
35735
35736 * fs/xfs.c (grub_xfs_read_block): Likewise.
35737
b7c6bed5 357382008-05-16 Christian Franke <franke@computer.org>
35739
35740 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
35741 to ensure that break with ESC will always work.
35742 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
35743 Remove ESC from keyboard queue.
35744
eedf167f 357452008-05-16 Christian Franke <franke@computer.org>
35746
35747 * util/biosdisk.c: [__CYGWIN__] Add includes.
35748 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
35749 (get_os_disk): Move variable declarations to OS specific
35750 parts to avoid warning.
35751 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
35752 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
35753 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
35754 Cygwin.
35755 * util/getroot.c: [__CYGWIN__] Add includes.
35756 (strip_extra_slashes): Fix "/" case.
35757 [__CYGWIN__] (get_win32_path): New function.
35758 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
35759 [__CYGWIN__] (find_root_device): Disable.
35760 [__CYGWIN__] (get_bootsec_serial): New function.
35761 [__CYGWIN__] (find_cygwin_root_device): Likewise.
35762 [__linux__] (grub_guess_root_device): Add early returns to simplify
35763 structure.
35764 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
35765 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
35766 check for Linux only.
35767
a079699e 357682008-05-15 Bean <bean123ch@gmail.com>
35769
35770 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
35771 keyboard hang problem in apple's intel mac.
35772
1cf4059a 357732008-05-09 Robert Millan <rmh@aybabtu.com>
35774
35775 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
35776 devices.
35777 * util/grub-mkdevicemap.c (get_virtio_disk_name)
35778 (make_device_map): Likewise.
35779 Reported by Aurelien Jarno <aurel32@debian.org>
35780
ed759390 357812008-05-07 Ian Campbell <ijc@hellion.org.uk>
35782
35783 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
35784 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
35785 (make_device_map): Output entries for xvd type disks.
35786
b56c4eaa 357872008-05-07 Robert Millan <rmh@aybabtu.com>
35788
35789 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
35790 devices.
35791 * util/grub-mkdevicemap.c (get_cciss_disk_name)
35792 (make_device_map): Likewise.
35793 Reported by Roland Dreier <rdreier@cisco.com>
35794
7f8866ed 357952008-05-07 Robert Millan <rmh@aybabtu.com>
35796
35797 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
35798 grub_strstr() call. Correct a few mistakes in failure path handling.
35799
b0346e0f 358002008-05-06 Robert Millan <rmh@aybabtu.com>
35801
35802 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35803 Do not print a trailing slash (therefore, the root directory is an
35804 empty string).
35805 (convert_system_path_to_grub_path): Do not remove trailing slash
35806 from make_system_path_relative_to_its_root() output.
35807
35808 * util/i386/pc/grub-install.in: Add trailing slash to output from
35809 make_system_path_relative_to_its_root().
35810
6cf12cbd 358112008-05-06 Robert Millan <rmh@aybabtu.com>
35812
35813 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
35814 ensures that output lines aren't intermangled with those sent to
35815 stderr (via grub_util_info()).
35816 * util/grub-probe.c (grub_refresh): Likewise.
35817 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
35818
0fbb3117 358192008-05-05 Christian Franke <franke@computer.org>
35820
35821 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
35822 Add Cygwin device names.
35823 (get_ide_disk_name) [__CYGWIN__]: Likewise.
35824 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
35825 (check_device): Return error instead of success on empty name.
35826 (make_device_map): Move label inside linux specific code to
35827 prevent compiler warning.
35828
8124cdb7 358292008-04-30 Robert Millan <rmh@aybabtu.com>
35830
35831 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
35832 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
35833 first boot option.
35834 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
35835
094c01d0 358362008-04-29 Robert Millan <rmh@aybabtu.com>
35837
35838 * docs/grub.cfg: New file (example GRUB configuration).
35839
f4b1fc02 358402008-04-26 Robert Millan <rmh@aybabtu.com>
35841
329ce2a5 35842 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
35843 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
35844 and `disk/ieee1275/nand.c'.
f4b1fc02 35845
25f16ec1 358462008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 35847
25f16ec1 35848 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
35849 i386-linuxbios.
35850
35851 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
35852 change the buffer size to 4096 for cdrom device.
35853
35854 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
35855 and nand.mod.
35856 (_linux_mod_SOURCES): New variable.
35857 (_linux_mod_CFLAGS): Likewise.
35858 (_linux_mod_LDFLAGS): Likewise.
35859 (linux_mod_SOURCES): Likewise.
35860 (linux_mod_CFLAGS): Likewise.
35861 (linux_mod_LDFLAGS): Likewise.
35862 (nand_mod_SOURCES): Likewise.
35863 (nand_mod_CFLAGS): Likewise.
35864 (nand_mod_LDFLAGS): Likewise.
35865
35866 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
35867 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
35868 type property. (nand device in olpc don't have this property)
35869
35870 * include/grub/disk.h (grub_disk_dev_id): New macro
35871 GRUB_DISK_DEVICE_NAND_ID.
35872
35873 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
35874 function prototype.
35875 (grub_rescue_cmd_initrd): Likewise.
35876
35877 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
35878 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
35879 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 35880
25f16ec1 35881 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
35882 GRUB_MACHINE_IEEE1275 is defined.
35883
35884 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
35885 Use NESTED_FUNC_ATTR attribute on the hook parameter.
35886
35887 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
35888 on nested function heap_init.
35889 (grub_upper_mem): New variable for i386-ieee1275.
35890 (grub_get_extended_memory): New function for i386-ieee1275.
35891 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
35892
35893 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
35894 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
35895 property.
f19dbdb7 35896
25f16ec1 35897 * loader/i386/ieee1275/linux.c: New file.
35898
35899 * loader/i386/ieee1275/linux_normal.c: New file.
35900
35901 * disk/ieee1275/nand.c: New file.
35902
e89d61e9 359032008-04-18 Thomas Schwinge <tschwinge@gnu.org>
35904
35905 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
35906 value.
35907 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
35908
602566f6 359092008-04-18 Robert Millan <rmh@aybabtu.com>
35910
35911 Restructures early code path on ieee1275 to unify grub_main() as
35912 the first C function that is executed in every platform.
35913
35914 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
35915 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
35916 cmain().
35917 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
35918 * kern/ieee1275/cmain.c (cmain): Rename to ...
35919 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
35920 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
35921 at the beginning.
35922
57490c2b 359232008-04-18 Robert Millan <rmh@aybabtu.com>
35924
35925 * util/update-grub.in: Fix syntax error when setting
35926 `GRUB_PRELOAD_MODULES'.
35927 Reported by Stephane Chazelas <stephane@artesyncp.com>
35928
1977517d 359292008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
35930
35931 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
35932 section into account, newer toolchains generate unique build ids
35933 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 35934 we want build ids to be preserved
1977517d 35935 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
35936 far from other sections don't cause the raw binary images grow
35937 size
35938
bfb1f1a2 359392008-04-15 Robert Millan <rmh@aybabtu.com>
35940
35941 * disk/lvm.c: Update copyright year.
35942 * kern/misc.c: Likewise.
35943
01979850 359442008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
35945
35946 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 35947 there is no memory left for physical volume name.
01979850 35948
0a1150e2 359492008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
35950
35951 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
35952 volume name mapping to support bigger than 9 character names properly.
35953
82ead3fe 359542008-04-13 Robert Millan <rmh@aybabtu.com>
35955
35956 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
35957 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
35958
e54a72f5 359592008-04-13 Christian Franke <franke@computer.org>
35960
35961 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
35962 to create a floppy emulation boot CD when non emulation mode
35963 does not work.
35964 Enable Joliet CD filesystem extension.
35965
9fe86034 359662008-04-13 Robert Millan <rmh@aybabtu.com>
35967
35968 * kern/misc.c (grub_strncat): Fix off-by-one error.
35969 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
35970
35971 * kern/env.c (grub_env_context_close): Clear current context, not
35972 previous one.
35973 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
35974
35975 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
35976
7ceeee39 359772008-04-13 Robert Millan <rmh@aybabtu.com>
35978
35979 Improve robustness when handling LVM.
35980
35981 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 35982 (and leave `*p' unmodified).
7ceeee39 35983 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
35984 through it.
35985 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
35986 iterating through it.
35987 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
35988 through it.
fe6b695a 35989 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 35990 when due) on each grub_lvm_getvalue() or grub_strstr() call.
35991 Don't assume `vg->pvs != NULL' when iterating through it.
35992
58cd3d85 359932008-04-13 Robert Millan <rmh@aybabtu.com>
35994
35995 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
35996 * genmk.rb (partmap): New variable.
35997 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
35998 (#{partmap}): New target rule.
35999 * genpartmaplist.sh: New file.
36000 * Makefile.in (pkglib_DATA): Add partmap.lst.
36001 (partmap.lst): New target rule.
36002 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36003 modules (including all partition maps), instead of preloading them.
36004
78b51059 360052007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36006
36007 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36008 `linux-boot-prober' (if installed) to detect other operating
36009 systems which are installed on the computer and add them to
36010 the boot menu.
36011 * conf/common.rmk: Build and install 30_os-prober.
36012
a91627b4 360132008-04-12 Robert Millan <rmh@aybabtu.com>
36014
36015 * kern/powerpc/ieee1275/init.c: Move from here ...
36016 * kern/ieee1275/init.c: ... to here. Update all users.
36017
36018 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36019 * kern/ieee1275/cmain.c: ... to here. Update all users.
36020
36021 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36022 * kern/ieee1275/openfw.c: ... to here. Update all users.
36023
36024 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36025 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36026
322562ea 360272008-04-10 Pavel Roskin <proski@gnu.org>
36028
36029 * configure.ac: Always use "_cv_" in cache variables for
36030 compatibility with Autoconf 2.62.
36031
a02a73c5 360322008-04-07 Robert Millan <rmh@aybabtu.com>
36033
36034 Revert grub/machine/init.h addition by Pavel (since it breaks on
36035 i386-ieee1275 and others):
36036 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36037 * util/powerpc/ieee1275/misc.c: Likewise.
36038
25c024b1 360392008-04-07 Robert Millan <rmh@aybabtu.com>
36040
36041 * util/grub-probe.c (probe): Improve error message.
36042
3cbd2f98 360432008-04-07 Robert Millan <rmh@aybabtu.com>
36044
36045 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36046 (this prevents the presence of a bogus entry from ruining the whole
36047 thing).
36048
87a297bf 360492008-04-06 Pavel Roskin <proski@gnu.org>
36050
36747a62 36051 * util/biosdisk.c: Include grub/util/biosdisk.h.
36052 * util/grub-fstest.c (execute_command): Make static.
36053 * util/grub-mkdevicemap.c (check_device): Likewise.
36054 * util/i386/pc/misc.c: Include grub/machine/init.h.
36055 * util/powerpc/ieee1275/misc.c: Likewise.
36056 * util/lvm.c: Include grub/util/lvm.h.
36057 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36058 grub/cache.h.
36059 * util/raid.c: Include grub/util/raid.h.
36060 (grub_util_getdiskname): Make static.
36061
87a297bf 36062 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36063 grub_hostfs_fini(), as they are called from grub_init_all() and
36064 grub_fini_all() respectively. This fixes an infinite loop in
36065 grub-fstest due to double registration of hostfs.
36066 Reported by Christian Franke <Christian.Franke@t-online.de>
36067
f6ce7629 360682008-04-05 Pavel Roskin <proski@gnu.org>
36069
36070 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36071 all 8 functions. Otherwise, probe function 0 only.
36072
070e49e4 360732008-04-04 Pavel Roskin <proski@gnu.org>
36074
8b088a4c 36075 * commands/lspci.c (grub_lspci_iter): Print the bus number
36076 correctly.
36077
4f657021 36078 * commands/lspci.c (grub_pci_classes): Fix typos.
36079 (grub_lspci_iter): Don't print func twice. Print vendor ID
36080 before device ID, as it's normally done.
36081
070e49e4 36082 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36083 Fix signedness warnings.
36084 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36085 Likewise.
36086 * util/ieee1275/get_disk_name.c: Include config.h so that
36087 _GNU_SOURCE is defined and getline() is declared. Mark an
36088 unused argument as such. Fix a signedness warning.
36089
ba7328dc 360902008-04-02 Pavel Roskin <proski@gnu.org>
36091
26887f22 36092 * genkernsyms.sh.in: Use more robust assignments for CC and
36093 srcdir. Quote srcdir.
36094 * gensymlist.sh.in: Likewise. Assert at the compile time that
36095 the symbol table is not empty.
36096
ba7328dc 36097 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36098 * fs/cpio.c (grub_cpio_read): Likewise.
36099
0f582c6b 361002008-04-01 Pavel Roskin <proski@gnu.org>
36101
4b6e1995 36102 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36103 * disk/host.c (grub_host_open): Likewise.
36104 * disk/loopback.c (grub_loopback_open): Likewise.
36105 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36106 disk->id as in disk/host.c, not a multi-character constant.
36107
828a2768 36108 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36109 later is obsolete, potentially dangerous and sets a bad example.
36110 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36111 * util/misc.c (grub_util_get_image_size): Likewise.
36112
2bb4fb47 36113 * disk/loopback.c (options): Improve help for "--partitions".
36114
0f582c6b 36115 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36116 options to align them with the short options, e.g. "echo -e".
36117
a33224e0 361182008-03-31 Bean <bean123ch@gmail.com>
36119
36120 * video/reader/png.c (grub_png_data): New member is_16bit and
36121 image_data.
36122 (grub_png_decode_image_header): Detect 16 bit png image.
36123 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36124 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36125 (grub_video_reader_png): Release memory occupied by image_data.
36126
36127 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36128 4096 bytes.
36129 (grub_nfs_mount): Skip the test for sector per cluster.
36130
36131 * include/grub/ntfs.h (MAX_SPC): Removed.
36132
86cb4f54 361332008-03-31 Bean <bean123ch@gmail.com>
36134
36135 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36136 (grub_probe_SOURCES): Add fs/afs.c.
36137 (grub_fstest_SOURCES): Likewise.
36138 (afs_mod_SOURCES): New variable.
36139 (afs_mod_CFLAGS): Likewise.
36140 (afs_mod_LDFLAGS): Likewise.
36141
36142 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36143 (grub_emu_SOURCES): Likewise.
36144
36145 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36146
36147 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36148
36149 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36150
36151 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36152
36153 * fs/afs.c: New file.
36154
17c74c21 361552008-03-30 Pavel Roskin <proski@gnu.org>
36156
4cb68e89 36157 * disk/host.c: Include grub/misc.h to fix a warning.
36158 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36159 warnings about implicit declarations.
36160
8790bb04 36161 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36162 variable.
36163 * include/grub/i386/loader.h: Change declaration of
36164 grub_linux_boot() to match what grub_loader_set() expects.
36165 * util/getroot.c (grub_guess_root_device): Return const char* to
36166 fix a warning.
36167 * util/grub-probe.c (probe): Fix a warning about uninitialized
36168 abstraction_name variable.
36169 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36170 second argument as unused to fix a warning.
36171
9a3f3296 36172 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36173 missing grub_error() call.
36174
0ecef90d 36175 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36176 2.60 and newer uses it to define datadir.
36177
0bf6d401 36178 * commands/sleep.c: Fix warning about implicit declaration.
36179 * disk/memdisk.c: Likewise.
36180 * loader/aout.c: Likewise.
36181 * loader/i386/bsd_normal.c: Likewise.
36182 * util/grub-probe.c: Likewise.
36183
7cdacf97 36184 * commands/i386/cpuid.c (has_longmode): Make static.
36185 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36186 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36187
17c74c21 36188 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36189 GDT. This is more robust, as %ds can change.
36190 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36191 calling real_to_prot().
36192 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36193
80a3e68b 361942008-03-28 Pavel Roskin <proski@gnu.org>
36195
36196 * kern/i386/pc/startup.S: Assert that uncompressed functions
36197 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36198 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36199 code, as they push parts of the code (error handlers) beyond
36200 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36201 code as correctness and size.
36202
77bcd272 362032008-03-28 Pavel Roskin <proski@gnu.org>
36204
36205 * kern/i386/pc/startup.S
36206 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36207 data block address to the real mode, keep offset minimal. This
36208 works around a bug in AWARD BIOS on old Athlon systems, which
36209 makes CD detection hang.
36210
c5dfd43b 362112008-03-26 Pavel Roskin <proski@gnu.org>
36212
36213 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36214 const.
36215 * include/grub/normal.h: Add grub_parse_color_name_pair()
36216 declaration.
36217
bf962df2 362182008-03-24 Bean <bean123ch@gmail.com>
36219
36220 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36221 (cd_count): Removed.
36222 (cd_drive): New variable.
36223 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36224 (grub_biosdisk_call_hook): Likewise.
36225 (grub_biosdisk_iterate): Change cdrom detection method.
36226 (grub_biosdisk_open): Replace cd_start with cd_drive.
36227 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36228 detect cdrom device.
36229
36230 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36231 Removed.
36232 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36233 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36234 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36235 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36236 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36237 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36238 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36239 (grub_biosdisk_cdrp): New structure.
36240 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36241
36242 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
36243
36244 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
36245 device.
36246
36247 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
36248 New function.
36249
68e7fc7a 362502008-03-20 Robert Millan <rmh@aybabtu.com>
36251
36252 Remove 2 TiB limit in ata.mod.
36253 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
36254 (grub_ata_dumpinfo): Print sector count with 0x%llx.
36255 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
36256 grub_uint64_t instead of grub_uint32_t.
36257
38ad2cf5 362582008-03-05 Bean <bean123ch@gmail.com>
36259
36260 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
36261 (grub_multiboot): Set boot device.
36262
36263 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
36264
2b89344e 362652008-03-02 Bean <bean123ch@gmail.com>
36266
36267 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
36268 symlink_buffer.
36269
87a95d1f 362702008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
36271
36272 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
36273 texinfo.tex.
36274
36275 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
36276 modified.
36277
36278 * docs/fdl.texi: New file.
f19dbdb7 36279
87a95d1f 36280 * docs/mdate-sh: New file. Copied from gnulib.
36281 * docs/texinfo.tex: Likewise.
36282
36283 * config.guess: Updated from gnulib.
36284 * install-sh: Likewise.
36285
7dc15d8e 362862008-02-28 Robert Millan <rmh@aybabtu.com>
36287
36288 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
36289 (aout_mod_SOURCES): New variable.
36290 (aout_mod_CFLAGS): Likewise.
36291 (aout_mod_LDFLAGS): Likewise.
36292
36293 * conf/i386-ieee1275.rmk: Likewise.
36294
b00ab696 362952008-02-28 Robert Millan <rmh@aybabtu.com>
36296
36297 * util/update-grub.in: Reorganise terminal validity check. Accept
36298 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
36299 Based on suggestion by Franklin PIAT.
36300
79ca2d78 363012008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
36302
36303 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
36304 function.
36305 * util/getroot.c (grub_util_check_block_device): New function that
36306 returns the given argument if it is a block device and returns NULL else.
36307 * util/grub-probe.c (argument_is_device): New variable.
36308 (probe): Promote device_name from a variable to an argument. Receive
36309 device_name from grub_util_check_block_device() if path is NULL and from
36310 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 36311 (options): Introduce new parameter '-d, --device'.
79ca2d78 36312 (main): Add description of the new parameter to the help screen.
36313 Rename path variable to argument. Set argument_is_device if the '-d'
36314 option is given. Pass argument to probe() depending on
36315 argument_is_device.
36316
0d16e571 363172008-02-24 Bean <bean123ch@gmail.com>
36318
36319 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
36320 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
36321 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
36322 (GRUB_ISO9660_VOLDESC_PART): Likewise.
36323 (GRUB_ISO9660_VOLDESC_END): Likewise.
36324 (grub_iso9660_primary_voldesc): New member escape.
36325 (grub_iso9660_data): New member joliet.
36326 (grub_iso9660_convert_string): New function.
36327 (grub_iso9660_mount): Detect joliet extension.
36328 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
36329 (grub_iso9660_iso9660_label): Likewise.
36330
36331 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
36332 (grub_setup_SOURCES): Add fs/udf.c.
36333 (grub_fstest_SOURCES): Likewise.
36334 (udf_mod_SOURCES): New variable.
36335 (udf_mod_CFLAGS): Likewise.
36336 (udf_mod_LDFLAGS): Likewise.
36337
36338 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
36339 (grub_emu_SOURCES): Likewise.
36340
36341 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36342
36343 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36344
36345 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36346
36347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36348
36349 * fs/udf.c: New file.
36350
8a594a17 363512008-02-24 Robert Millan <rmh@aybabtu.com>
36352
36353 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
36354 (normal/lexer.c_DEPENDENCIES): New variables.
36355 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36356 (normal/lexer.c_DEPENDENCIES): Likewise.
36357 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
36358 (normal/lexer.c_DEPENDENCIES): Likewise.
36359 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
36360 (normal/lexer.c_DEPENDENCIES): Likewise.
36361 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36362 (normal/lexer.c_DEPENDENCIES): Likewise.
36363 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36364 (normal/lexer.c_DEPENDENCIES): Likewise.
36365
2dc33c03 363662008-02-23 Robert Millan <rmh@aybabtu.com>
36367
36368 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
36369 since they were intended to be in hex. This didn't break previously
36370 because of a bug in gpt_partition_map_iterate() (see below).
36371
36372 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
36373 when checking the validity of GPT header.
36374 Remove `partno', since it always provides the same information as `i'.
36375
f6f4cfb0 363762008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
36377
36378 * include/grub/efi/time.h: Fix a wrong comment.
36379
79ff665f 363802008-02-19 Pavel Roskin <proski@gnu.org>
36381
36382 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
36383 message.
36384
d38e24c2 363852008-02-19 Bean <bean123ch@gmail.com>
36386
36387 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
36388 (aout_mod_SOURCES): New variable.
36389 (aout_mod_CFLAGS): Likewise.
36390 (aout_mod_LDFLAGS): Likewise.
36391 (_bsd_mod_SOURCES): New variable.
36392 (_bsd_mod_CFLAGS): Likewise.
36393 (_bsd_mod_LDFLAGS): Likewise.
36394 (bsd_mod_SOURCES): New variable.
36395 (bsd_mod_CFLAGS): Likewise.
36396 (bsd_mod_LDFLAGS): Likewise.
36397
36398 * include/grub/aout.h: New file.
36399
36400 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
36401
36402 * include/grub/i386/bsd.h: New file.
36403
36404 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
36405 to make it public.
36406
36407 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
36408 function is called, so that it's possible to change it inside the hook.
36409 (grub_elf64_load): Likewise.
36410 (grub_elf_file): Don't close the file if elf header is not found.
36411 (grub_elf_close): Close the file if grub_elf_file fails (The new
36412 grub_elf_file won't close it).
36413 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
36414 (grub_elf64_size): Likewise.
36415
36416 * kern/i386/loader.S (grub_unix_real_boot): New function.
36417
36418 * loader/aout.c: New file.
36419
36420 * loader/i386/bsd.c: New file.
36421
36422 * loader/i386/bsd_normal.c: New file.
36423
36424 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
36425
36426 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 36427 can test other formats.
d38e24c2 36428
b93bdb0f 364292008-02-19 Robert Millan <rmh@aybabtu.com>
36430
36431 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
36432 (grub_gpt_partition_type_empty): Redefine with macro from
36433 `<grub/gpt_partition.h>'.
36434 (gpt_partition_map_iterate): Adjust partition type comparison.
36435
36436 Export `entry' as partmap-specific `part.data' struct.
36437 (grub_gpt_header, grub_gpt_partentry): Move from here ...
36438
36439 * include/grub/gpt_partition.h (grub_gpt_header)
36440 (grub_gpt_partentry): ... to here (new file).
36441
36442 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
36443
36444 (grub_gpt_partition_type_bios_boot): New const variable, defined
36445 with macro from `<grub/gpt_partition.h>'.
36446
36447 (setup): Replace `first_start' with `embed_region', which keeps
36448 track of the embed region (and is partmap-agnostic).
36449
36450 Replace find_first_partition_start() with find_usable_region(),
36451 which finds a usable region for embedding using partmap-specific
36452 knowledge (supports PC/MSDOS and GPT).
36453
36454 Fix all assumptions that the embed region start at sector 1, using
36455 `embed_region.start' from now on. Similarly, use `embed_region.end'
36456 rather than `first_start' to calculate available size.
36457
36458 In grub_util_info() message, replace "into after the MBR" with an
36459 indication of the specific sector our embed region starts at.
36460
66cb40f6 364612008-02-19 Robert Millan <rmh@aybabtu.com>
36462
36463 * DISTLIST: Replace `commands/ieee1275/halt.c' and
36464 `commands/ieee1275/reboot.c' with `commands/halt.c' and
36465 `commands/reboot.c'.
36466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36467 (halt_mod_SOURCES): Likewise.
36468 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
36469 (halt_mod_SOURCES): Likewise.
36470
b7202015 364712008-02-17 Christian Franke <franke@computer.org>
36472
36473 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
36474
32b0fc49 364752008-02-17 Robert Millan <rmh@aybabtu.com>
36476
36477 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36478 set `first_start' to 0 for non-PC/MSDOS partition maps.
36479
aca63502 364802008-02-16 Robert Millan <rmh@aybabtu.com>
36481
36482 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
36483 do not assume partition map is PC/MSDOS before performing checks that
36484 are specific to that layout.
36485
0de8be86 364862008-02-13 Robert Millan <rmh@aybabtu.com>
36487
36488 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
36489 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
36490 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
36491
c3db8364 364922008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
36493
36494 * configure.ac: Only a cosmetic change on the handling of
36495 -fno-stack-protector.
36496
f714229e 364972008-02-12 Alexandre Boeglin <alex@boeglin.org>
36498
c3db8364 36499 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
36500 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
36501 reboot.c.
f714229e 36502 (grub_install_SOURCES): Add halt.mod and reboot.mod.
36503 (halt_mod_SOURCES): New variable.
36504 (halt_mod_CFLAGS): Likewise.
36505 (halt_mod_LDFLAGS): Likewise.
36506 (reboot_mod_SOURCES): Likewise.
36507 (reboot_mod_CFLAGS): Likewise.
36508 (reboot_mod_LDFLAGS): Likewise.
36509
c3db8364 36510 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
36511 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
36512 reboot.c.
f714229e 36513 (halt_mod_SOURCES): Likewise.
36514 (reboot_mod_SOURCES): Likewise.
36515
c3db8364 36516 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
36517 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 36518 (reboot_mod_SOURCES): Likewise.
36519
36520 * commands/i386/pc/reboot.c: merge this file ...
36521
36522 * commands/ieee1275/reboot.c: ... and this file ...
36523
36524 * commands/reboot.c: ... to this file.
c3db8364 36525 Add some precompiler directive to include the correct header for
36526 each machine.
f714229e 36527
36528 * commands/ieee1275/halt.c: move this file ...
36529
36530 * commands/halt.c: ... to here.
c3db8364 36531 Add some precompiler directive to include the correct header for
36532 each machine.
f714229e 36533
36534 * include/grub/efi/efi.h (grub_reboot): New function declaration.
36535 (grub_halt): Likewise.
36536
36537 * kern/efi/efi.c (grub_reboot): New function.
36538 (grub_halt): Likewise.
36539
c74493e0 365402008-02-12 Robert Millan <rmh@aybabtu.com>
36541
36542 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
36543 /dev (like it is done for /dev/mapper). This doesn't provide support
36544 for EVMS, but at least it is now easy to identify the problem when it
36545 arises.
36546
d0db4b04 365472008-02-11 Robert Millan <rmh@aybabtu.com>
36548
36549 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
36550 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
36551 comparing it with -1, not 0.
36552
bf748642 365532008-02-10 Robert Millan <rmh@aybabtu.com>
36554
36555 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
36556 `disk/lvm.c'.
36557 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36558 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
36559
36560 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
36561 `disk/lvm.c' to the end of the list.
36562 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36563 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36564
b5db202a 365652008-02-10 Robert Millan <rmh@aybabtu.com>
36566
36567 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
36568 grub_print_error() instead. This will let user know why we're entering
36569 rescue mode.
36570 Based on suggestions from Sam Morris.
36571
83abee31 365722008-02-10 Alexandre Boeglin <alex@boeglin.org>
36573
36574 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
36575 on remaining N args, instead of "--" arg N times.
36576
78d5a08b 365772008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
36578
36579 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
36580 (fill_with_default_glyph): Changed to use unknown_glyph for fill
36581 pattern for unknown glyphs.
36582
68807e5f 365832008-02-09 Robert Millan <rmh@aybabtu.com>
36584
36585 * configure.ac: Probe for `help2man'.
36586 * Makefile.in (builddir): New variable.
36587 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
36588 or otherwise add a few flags/options to it.
36589 (install-local): For every executable utility or script that is
36590 installed, invoke $(HELP2MAN) to install a manpage based on --help
36591 output.
36592
36593 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
36594 that it doesn't prevent --help from working in build tree.
36595
36596 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
36597 with `bug-grub@gnu.org'.
36598 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
36599 * util/update-grub.in (usage): New function.
36600 Implement proper argument check, with support for --help and --version
36601 (as well as existing -y).
36602
366032008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 36604
36605 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
36606 avoid overwriting previous output.
36607 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
36608
c1962162 366092008-02-09 Robert Millan <rmh@aybabtu.com>
36610
36611 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
36612 drawing the menu.
36613
3dac2e3f 366142008-02-09 Robert Millan <rmh@aybabtu.com>
36615
36616 * commands/sleep.c: New file.
36617 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
36618 (sleep_mod_SOURCES): New variable.
36619 (sleep_mod_CFLAGS): Likewise.
36620 (sleep_mod_LDFLAGS): Likewise.
36621
7a634e08 366222008-02-09 Robert Millan <rmh@aybabtu.com>
36623
36624 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
36625 situations in which we can deduce the RAID size and the superblock
36626 doesn't match it.
36627
b92f0c18 366282008-02-09 Robert Millan <rmh@aybabtu.com>
36629
36630 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
36631 and return a grub_diskmemberlist_t composed of LVM physical volumes.
36632 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
36633
36634 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
36635 and return a grub_diskmemberlist_t composed of physical array members.
36636 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
36637
36638 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
36639 prototype.
36640 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
36641 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
36642 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
36643
36644 * util/grub-probe.c (probe): Move partmap probing code from here ...
36645 (probe_partmap): ... to here.
36646 (probe): Use probe_partmap() once for the disk we're probing, and
36647 additionally, when such disk contains a memberlist() struct member,
36648 once for each disk that is contained in the structure returned by
36649 memberlist().
36650
91a4bf68 366512008-02-09 Robert Millan <rmh@aybabtu.com>
36652
36653 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
36654 environment variable to 'all' in order to obtain debug output from
36655 non-util/ code.
36656 * util/i386/pc/grub-setup.c (main): Likewise.
36657
a96f9caa 366582008-02-08 Robert Millan <rmh@aybabtu.com>
36659
36660 * disk/raid.c (grub_raid_scan_device): Check for
36661 `array->device[sb.this_disk.number]' rather than for
36662 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 36663 guaranteed to be accessible.
a96f9caa 36664
b37a9222 366652008-02-08 Robert Millan <rmh@aybabtu.com>
36666
36667 * disk/raid.c: Update copyright.
36668 * fs/cpio.c: Likewise.
36669 * include/grub/raid.h: Likewise.
36670 * loader/i386/pc/multiboot.c: Likewise.
36671 * util/hostfs.c: Likewise.
36672
5626aee1 366732008-02-08 Robert Millan <rmh@aybabtu.com>
36674
36675 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
36676 to a grub_disk_t array.
36677 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
36678 `device[x]'.
36679 (grub_raid_scan_device): Replace `device[x].name' accesses with
36680 `device[x]->name'. Simplify initialization of `array->device[x]'.
36681
554f0187 366822008-02-08 Robert Millan <rmh@aybabtu.com>
36683
36684 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
36685 grub_dprintf() calls.
36686 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
36687 error message.
36688
1ec8425d 366892008-02-07 Christian Franke <franke@computer.org>
36690
36691 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
36692 instead of fseek and ftell to support large files.
36693 (grub_hostfs_read): Likewise.
36694
f2156fda 366952008-02-07 Robert Millan <rmh@aybabtu.com>
36696
36697 Patch from Jeroen Dekkers.
36698 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 36699 failure, since successfully reading all array members might not be
f2156fda 36700 required.
36701
9216e0e7 367022008-02-06 Robert Millan <rmh@aybabtu.com>
36703
36704 * util/grub-probe.c (probe): Simplify partmap probing (with the
36705 assumption that the first word up to the underscore equals to
36706 the module name).
36707
b0dfd29a 367082008-02-06 Christian Franke <franke@computer.org>
36709
36710 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
36711 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
36712 last block of a cpio or tar stream.
36713 Check for "TRAILER!!!" instead of any empty data
36714 block to detect last block of a cpio stream.
36715 (grub_cpio_dir): Fix constness of variable np.
36716 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
36717 cpio or tar trailer is detected. This fixes a crash
36718 on open of a non existing file.
36719
c32865bf 367202008-02-05 Bean <bean123ch@gmail.com>
36721
36722 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
36723 address of entry.
36724 (grub_multiboot_load_elf64): Likewise.
36725 (grub_multiboot): Initialize mbi structure.
36726
36727 * util/grub-fstest.c: Don't include unused header file script.h.
36728
fe6b695a 36729 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 36730 of file.
36731 (grub_fstest_SOURCES): Likewise.
36732
409480b7 367332008-02-05 Robert Millan <rmh@aybabtu.com>
36734
36735 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
36736 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
36737 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
36738 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
36739
36740 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
36741 (translation_table): Replace hardcoded values with macros
36742 provided by `<grub/term.h>'.
36743
36744 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
36745 (keyboard_map): Correct/add a few values, with macros provided
36746 by `<grub/term.h>'.
36747 (keyboard_map_shift): Zero values that don't differ from their
36748 `keyboard_map' equivalents.
36749 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
36750 Discard the second scan code that is always sent by Caps lock.
36751 Only use `keyboard_map_shift' when it provides a non-zero value,
36752 otherwise fallback to `keyboard_map'.
36753
99fadbaa 367542008-02-04 Bean <bean123ch@gmail.com>
36755
36756 * Makefile.in (enable_grub_fstest): New variable.
36757
36758 * conf/common.rmk (grub_fstest_init.lst): New rule.
36759 (grub_fstest_init.h): Likewise.
36760 (grub_fstest_init.c): Likewise.
36761 (util/grub-fstest.c_DEPENDENCIES): New variable.
36762 (grub_fstest_SOURCES): Likewise.
36763
36764 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
36765
36766 * util/grub-fstest.c: New file.
36767
bf567c50 367682008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36769
36770 Make grub-setup handle a separate root device.
f19dbdb7 36771
bf567c50 36772 * util/i386/pc/grub-setup.c (setup): Always open the root device,
36773 so that the root device can be compared with the destination
36774 device.
36775 When embedding the core image, if the root and destination devices
36776 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
36777 0xFF.
36778 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 36779
9be6b98b 367802008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36781
36782 Add support for having a grub directory in a different drive. This
36783 is still only the data handling part.
f19dbdb7 36784
9be6b98b 36785 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
36786 (codestart): Save %dh in GRUB_ROOT_DRIVE.
36787 (grub_root_drive): New variable.
36788
36789 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
36790 instead of GRUB_BOOT_DRIVE to construct a device name. Set
36791 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
36792 as it was.
36793
36794 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
36795
36796 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
36797 macro.
36798 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
36799
36800 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
36801 is bogus, because PXE booting does not specify any drive
36802 correctly.
36803
36804 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
36805 am not sure if this is really correct.
36806
36807 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
36808 is always identical to the boot drive when booting from a CD.
36809
36810 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
36811 longer.
36812 (root_drive): New variable.
36813 (real_start): Unconditionally set %dh to ROOT_DRIVE.
36814 (setup_sectors): Push %dx right after popping it, because %dh will
36815 be modified later.
36816 (copy_buffer): Restore %dx.
36817
e0ca0677 368182008-02-03 Robert Millan <rmh@aybabtu.com>
36819
36820 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
36821 use `cdboot.img' for cdrom images.
36822
3b3f6629 368232008-02-03 Robert Millan <rmh@aybabtu.com>
36824
36825 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
36826 only setup gfxterm when `font' command has succeeded.
36827
d42b3672 368282008-02-03 Robert Millan <rmh@aybabtu.com>
36829
36830 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
36831 (grub_rescue_cmd_multiboot_loader)
36832 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
36833
fa370ea6 368342008-02-03 Pavel Roskin <proski@gnu.org>
36835
e0c5dacb 36836 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 36837 %edx and %esi from stack only after grub_gate_a20() is called.
36838 grub_gate_a20() clobbers %edx.
36839
f2a76e1d 368402008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
36841
36842 * configure.ac (AC_INIT): Bumped to 1.96.
36843
36844 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
36845 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
36846 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
36847 video/readers/png.c.
36848
90fd32d1 368492008-02-03 Bean <bean123ch@gmail.com>
9be665dd 36850
36851 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
36852 (cdboot_img_SOURCES): New variable.
36853 (cdboot_img_ASFLAGS): New variable.
36854 (cdboot_img_LDFLAGS): New variable.
36855
36856 * boot/i386/pc/cdboot.S: New file.
36857
36858 * disk/i386/pc/biosdisk.c (cd_start): New variable.
36859 (cd_count): Likewise.
36860 (grub_biosdisk_get_drive): Add support for cd device.
36861 (grub_biosdisk_call_hook): Likewise.
36862 (grub_biosdisk_iterate): Likewise.
36863 (grub_biosdisk_open): Likewise.
36864 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
36865 (grub_biosdisk_rw): Support reading from cd device.
36866 (GRUB_MOD_INIT): Iterate cd devices.
36867
36868 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
36869 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
36870 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
36871
36872 * kern/i386/pc/init.c (make_install_device): Check for cd device.
36873
4020aa53 368742008-02-02 Robert Millan <rmh@aybabtu.com>
36875
36876 * commands/read.c: New file.
36877 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
36878 (read_mod_SOURCES): New variable.
36879 (read_mod_CFLAGS): Likewise.
36880 (read_mod_LDFLAGS): Likewise.
36881
e03a1132 368822008-02-02 Robert Millan <rmh@aybabtu.com>
36883
36884 * normal/main.c (grub_normal_execute): Check for `menu->size' when
36885 determining whether menu has to be displayed.
36886
58c69220 368872008-02-02 Marco Gerards <marco@gnu.org>
36888
36889 * bus/pci.c: New file.
36890
36891 * include/grub/pci.h: Likewise.
36892
36893 * include/grub/i386/pc/pci.h: Likewise.
36894
36895 * commands/lspci.c: Likewise.
36896
36897 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
36898 `lspci.mod'.
36899 (pci_mod_SOURCES): New variable.
36900 (pci_mod_CFLAGS): Likewise.
36901 (pci_mod_LDFLAGS): Likewise.
36902 (lspci_mod_SOURCES): Likewise.
36903 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 36904 (lspci_mod_LDFLAGS): Likewise.
58c69220 36905
c004e1b4 369062008-02-02 Bean <bean123ch@gmail.com>
36907
36908 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
36909 (grub_ufs_get_file_block): Fix indirect block calculation problem.
36910
36911 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
36912 (grub_xfs_btree_node): New structure.
36913 (grub_xfs_btree_root): New structure.
36914 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
36915 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
36916 (GRUB_XFS_EXTENT_BLOCK): Likewise.
36917 (GRUB_XFS_EXTENT_SIZE): Likewise.
36918 (grub_xfs_read_block): Support btree format type.
36919 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
36920 Use directory block as basic unit.
36921
36922 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
36923
36924 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
36925 __attribute__ ((__regparm__ (1))).
36926
f95562bf 369272008-02-01 Robert Millan <rmh@aybabtu.com>
36928
36929 Correct a mistake in previous commit.
36930
36931 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
36932 top.
36933 (normal/command.c_DEPENDENCIES): New variable.
36934
7d31f41f 369352008-02-01 Robert Millan <rmh@aybabtu.com>
36936
36937 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
36938 top.
36939 (normal/command.c_DEPENDENCIES): New variable.
36940 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
36941 * conf/i386-ieee1275.rmk: Likewise.
36942 * conf/i386-linuxbios.rmk: Likewise.
36943 * conf/i386-pc.rmk: Likewise.
36944 * conf/sparc64-ieee1275.rmk: Likewise.
36945 * conf/powerpc-ieee1275.rmk: Likewise.
36946 (grub_emu_SOURCES): Add `fs/fshelp.c'.
36947
36948 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
36949
60b6be74 369502008-02-01 Robert Millan <rmh@aybabtu.com>
36951
36952 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
36953 call at beginning of function.
36954
078522ab 369552008-01-31 Pavel Roskin <proski@gnu.org>
36956
36957 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 36958 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
36959 (grub_mkrescue_SOURCES): Likewise.
078522ab 36960 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
36961
ccaa8a5f 369622008-01-30 Robert Millan <rmh@aybabtu.com>
36963
36964 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
36965 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
36966 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
36967 (grub_probe_SOURCES): ... to here.
36968
36969 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
36970 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
36971 * conf/i386-ieee1275.rmk: Likewise.
36972 * conf/i386-linuxbios.rmk: Likewise.
36973 * conf/powerpc-ieee1275.rmk: Likewise.
36974
ae5a9cd7 369752008-01-30 Tristan Gingold <gingold@free.fr>
36976
36977 * kern/rescue.c: Silently accept empty lines.
36978
70bc2ef2 369792008-01-29 Bean <bean123ch@gmail.com>
36980
36981 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
36982 (real_code_2): Code cleanup and change comment style.
36983 (move_memory): Avoid using 32-bit address mode.
36984
6a4d50ea 369852008-01-29 Bean <bean123ch@gmail.com>
36986
36987 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
36988 (png_mod_SOURCES): New variable.
36989 (png_mod_CFLAGS): Likewise.
36990 (png_mod_LDFLAGS): Likewise.
36991
36992 * video/readers/png.c: New file.
36993
11cc30ac 369942008-01-28 Robert Millan <rmh@aybabtu.com>
36995
36996 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
36997 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
36998 `ifndef GRUB_MOD_GAP' hack.
36999 * util/elf/grub-mkimage.c (add_segments): Likewise.
37000
3abc589f 370012008-01-27 Robert Millan <rmh@aybabtu.com>
37002
37003 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37004 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 37005 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 37006
e1907778 370072008-01-27 Robert Millan <rmh@aybabtu.com>
37008
37009 Get grub-emu to build again (including parallel builds).
37010
37011 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37012 Split into ...
37013 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37014 (normal/execute.c_DEPENDENCIES): ... this, ...
37015 (grub-emu_DEPENDENCIES): ... and this.
37016
37017 * conf/i386-efi.rmk: Likewise.
37018 * conf/i386-linuxbios.rmk: Likewise.
37019 * conf/i386-ieee1275.rmk: Likewise.
37020 * conf/powerpc-ieee1275.rmk: Likewise.
37021 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37022
2216b101 370232008-01-27 Robert Millan <rmh@aybabtu.com>
37024
37025 * NEWS: Add a few items.
37026
f75172d9 370272008-01-27 Robert Millan <rmh@aybabtu.com>
37028
37029 Fix parallel builds with grub-emu. Based on earlier commit for
37030 grub-probe and grub-setup.
37031
37032 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37033 (util/grub-emu.c_DEPENDENCIES): ... this.
37034 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37035 (util/grub-emu.c_DEPENDENCIES): ... this.
37036 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37037 (util/grub-emu.c_DEPENDENCIES): ... this.
37038 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37039 (util/grub-emu.c_DEPENDENCIES): ... this.
37040 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37041 (util/grub-emu.c_DEPENDENCIES): ... this.
37042
3f51de77 370432008-01-27 Pavel Roskin <proski@gnu.org>
37044
37045 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37046 to create a gap between _end and the modules added to the image
37047 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37048 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37049 * util/elf/grub-mkimage.c (add_segments): Likewise.
37050
2033f53e 370512008-01-26 Pavel Roskin <proski@gnu.org>
37052
37053 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37054 just return an error.
37055
22da1f6f 370562008-01-26 Bean <bean123ch@gmail.com>
37057
37058 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37059 (grub_reiserfs_get_item): Save offset of the next item.
37060 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37061
2a9525e6 370622008-01-25 Robert Millan <rmh@aybabtu.com>
37063
37064 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37065 make all filesystem sources appear together (possibly fixing omissions
37066 while at it).
37067 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37068 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37069 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37070 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37071
37072 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37073 add `kern/file.c'.
37074 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37075 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37076 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37077 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37078
37079 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37080 (probe): Add a sanity check to make sure of our ability to read
37081 requested files when probing for filesystem type.
37082
37083 * genmk.rb: Update copyright year (2007).
37084
37085 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37086 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37087 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37088 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37089 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37090 : Remove function prototypes.
37091
b95f71b5 370922008-01-25 Robert Millan <rmh@aybabtu.com>
37093
37094 Revert my previous commits (based on wrong assumption of how grub_errno
37095 works).
37096
fe6b695a 37097 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 37098 * kern/file.c (grub_file_open): Likewise.
37099
d08bbb49 371002008-01-24 Pavel Roskin <proski@gnu.org>
37101
37102 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37103 that hang if GRUB tries to setup colors.
37104 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37105 colors for firmwares that don't support it.
37106 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37107 Recognize Open Hack'Ware, set flags to work around its
37108 limitations.
37109
605e36ed 371102008-01-24 Robert Millan <rmh@aybabtu.com>
37111
37112 * kern/file.c (grub_file_open): Do not account previous failures of
37113 unrelated functions when grub_errno is checked for.
37114 Reported by Oleg Strikov.
37115
bac332a1 371162008-01-24 Bean <bean123ch@gmail.com>
37117
37118 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37119 (grub_ufs_sblock): New member volume name.
37120 (grub_ufs_find_file): Fix string copy bug.
37121 (grub_ufs_label): Implement this function properly.
37122
37123 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37124 (grub_hfs_iterate_records): Use the correct file number for extents
37125 and catalog file. Fix problem in next index calculation.
37126 (grub_hfs_find_node): Replace recursive function call with loop.
37127 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37128
15c80c09 371292008-01-23 Robert Millan <rmh@aybabtu.com>
37130
37131 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37132 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37133 (grub_multiboot2_real_boot): New function prototype.
37134
37135 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37136 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37137
37138 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37139 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37140
305338fd 371412008-01-23 Robert Millan <rmh@aybabtu.com>
37142
37143 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37144 #ifdef'ed out grub_printf().
37145
3ea52685 371462008-01-23 Robert Millan <rmh@aybabtu.com>
37147
37148 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37149 grub_dprintf calls, since they make "debug=all" mode unusable.
37150 (grub_console_checkkey): Likewise.
37151
5882ae4b 371522008-01-23 Robert Millan <rmh@aybabtu.com>
37153
37154 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37155 `term/i386/pc/at_keyboard.c'.
37156 (pkglib_MODULES): Add `serial.mod'.
37157 (serial_mod_SOURCES): New variable.
37158 (serial_mod_CFLAGS): Likewise.
37159 (serial_mod_LDFLAGS): Likewise.
37160
37161 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37162 `<grub/powerpc/ieee1275/console.h>'.
37163 (grub_keyboard_controller_init): New function prototype.
37164 (grub_console_checkkey): Likewise.
37165 (grub_console_getkey): Likewise.
37166
37167 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37168 keyboard on i386.
37169
37170 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37171 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37172
06ab5303 371732008-01-23 Robert Millan <rmh@aybabtu.com>
37174
37175 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37176 present, "(memdisk)/boot/grub" becomes the default prefix.
37177
37178 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37179 a memdisk tarball with all the modules. Add --overlay=DIR option that
37180 allows users to overlay additional files into the image.
37181
dbb475a4 371822008-01-23 Robert Millan <rmh@aybabtu.com>
37183
37184 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37185 and `machine/memory.h'.
37186 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37187 (_multiboot_mod_SOURCES): New variable.
37188 (_multiboot_mod_CFLAGS): Likewise.
37189 (_multiboot_mod_LDFLAGS): Likewise.
37190 (multiboot_mod_SOURCES): Likewise.
37191 (multiboot_mod_CFLAGS): Likewise.
37192 (multiboot_mod_LDFLAGS): Likewise.
37193
37194 * include/grub/i386/ieee1275/loader.h: New file.
37195
37196 * include/grub/i386/ieee1275/machine.h: Likewise.
37197
37198 * include/grub/i386/ieee1275/memory.h: Likewise.
37199
37200 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37201 variable declaration.
37202 (grub_os_area_size): Likewise.
37203
37204 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37205 (grub_lower_mem, grub_upper_mem): New variables.
37206 (grub_stop_floppy): New function (just to make
37207 grub_multiboot2_real_boot() happy).
37208
37209 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37210 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37211 (grub_stop): New function.
37212 Include `"../realmode.S"' and `"../loader.S"'.
37213
37214 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37215 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37216
37217 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37218 rely on grub_multiboot2_real_boot() for final boot.
37219
25638629 372202008-01-22 Robert Millan <rmh@aybabtu.com>
37221
37222 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37223 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37224 device that doesn't look like an SD card.
37225 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37226 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37227 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37228 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37229 found.
37230
9dad816d 372312008-01-22 Robert Millan <rmh@aybabtu.com>
37232
37233 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37234 avoid claiming over our own code.
37235
34842f2d 372362008-01-22 Bean <bean123ch@gmail.com>
37237
37238 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37239 (jpeg_mod_SOURCES): New variable.
37240 (jpeg_mod_CFLAGS): Likewise.
37241 (jpeg_mod_LDFLAGS): Likewise.
37242
37243 * video/readers/jpeg.c : New file.
37244
44023a28 372452008-01-22 Bean <bean123ch@gmail.com>
37246
37247 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
37248 there are no more items.
37249
bc2d8ac6 372502008-01-21 Robert Millan <rmh@aybabtu.com>
37251
37252 * kern/mm.c (grub_mm_init_region): Improve debug message.
37253
261bd4bc 372542008-01-21 Robert Millan <rmh@aybabtu.com>
37255
37256 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
37257 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
37258 address.
37259 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
37260 a C macro.
37261 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
37262 Indicates start of upper memory.
37263 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
37264 (generate_image): Abort when image size is big enough to corrupt
37265 upper memory.
37266
37267 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
37268 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
37269 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37270 instead of hardcoding 0xA0000.
37271 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
37272 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37273 instead of hardcoding 0xA0000.
37274
f970b55e 372752008-01-21 Robert Millan <rmh@aybabtu.com>
37276
37277 * disk/memdisk.c (memdisk_size): New variable.
37278 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
37279 `memdisk_size'.
37280 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
37281 image to dynamic memory.
37282 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
37283 `memdisk_size'. Free memdisk block.
37284
1a8b0526 372852008-01-21 Robert Millan <rmh@aybabtu.com>
37286
37287 Fix detection of very small filesystems (like tar).
37288
37289 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
37290 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
37291 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
37292 a problem with this disk).
37293
6e9b4aab 372942008-01-21 Robert Millan <rmh@aybabtu.com>
37295
37296 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
37297 on grub_biosdisk_rw_standard() error.
37298
0d8837b2 372992008-01-21 Robert Millan <rmh@aybabtu.com>
37300
37301 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
37302 recent changes.
37303 * kern/elf.c: Likewise.
37304 * kern/ieee1275/ieee1275.c: Likewise.
37305 * kern/powerpc/ieee1275/openfw.c: Likewise.
37306 * term/ieee1275/ofconsole.c: Likewise.
37307
ffd36e34 373082008-01-21 Robert Millan <rmh@aybabtu.com>
37309
37310 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
37311
3f0093d0 37312 * include/grub/kernel.h (grub_arch_memdisk_addr)
37313 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 37314
3f0093d0 37315 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
37316 (grub_arch_memdisk_size): ... to here.
ffd36e34 37317
6c391b21 373182008-01-21 Robert Millan <rmh@aybabtu.com>
37319
37320 Mostly based on bugfix from Bean.
37321
37322 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
37323 attribute with hook() parameter.
37324 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
37325 declaration.
37326 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
37327 attribute with hook() parameter.
37328 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
37329 declaration.
37330
55a581dc 373312008-01-21 Robert Millan <rmh@aybabtu.com>
37332
37333 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
37334 (pkglib_MODULES): Add `memdisk.mod'.
37335 (memdisk_mod_SOURCES): New variable.
37336 (memdisk_mod_CFLAGS): Likewise.
37337 (memdisk_mod_LDFLAGS): Likewise.
37338
37339 * disk/memdisk.c: New file.
37340
37341 * include/grub/disk.h (grub_disk_dev_id): Add
37342 `GRUB_DISK_DEVICE_MEMDISK_ID'.
37343
37344 * include/grub/i386/pc/kernel.h
37345 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
37346 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
37347 (grub_kernel_image_size): New variable declaration.
37348 (grub_total_module_size): Likewise.
37349 (grub_memdisk_image_size): Likewise.
37350
37351 * include/grub/i386/pc/memory.h
37352 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
37353
37354 * include/grub/kernel.h: Include `<grub/symbol.h>'.
37355 (grub_arch_memdisk_addr): New variable declaration.
37356 (grub_arch_memdisk_size): Likewise.
37357
37358 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
37359 (grub_arch_memdisk_size): Likewise.
37360
37361 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
37362 (codestart): Replace hardcoded `0x100000' with
37363 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
37364
37365 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
37366 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
37367 not NULL, append the contents of the file it refers to, at the end of
37368 the compressed kernel image. Initialize `grub_memdisk_image_size'
37369 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
37370 (options): Add "memdisk"|'m' option.
37371 (main): Parse --memdisk|-m option, and pass user-provided path as
37372 parameter to generate_image().
37373
3d7f54c9 373742008-01-20 Robert Millan <rmh@aybabtu.com>
37375
37376 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
37377 grub_dprintf() calls from here ...
37378 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
37379
0bf74728 373802008-01-20 Robert Millan <rmh@aybabtu.com>
37381
37382 Fix detection of "real mode" when /options/real-mode? doesn't exist.
37383
37384 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
37385 declaration.
37386 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
37387 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
37388 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 37389 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 37390 property).
37391 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
37392 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
37393
33bf70a7 373942008-01-19 Robert Millan <rmh@aybabtu.com>
37395
fe6b695a 37396 Get rid of confusing function (superseded by
33bf70a7 37397 `grub_ieee1275_get_integer_property')
37398 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
37399 prototype.
37400 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
37401 function.
37402 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
37403 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 37404 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 37405
e2da7d26 374062008-01-19 Robert Millan <rmh@aybabtu.com>
37407
37408 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
37409 command after "shut-down", since implementations differ on which
37410 the command for halt is.
37411
59f1fd8d 374122008-01-19 Robert Millan <rmh@aybabtu.com>
37413
37414 * include/grub/i386/linuxbios/console.h: Add header protection.
37415 (grub_keyboard_controller_init): New function prototype.
37416 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
37417 (KEYBOARD_COMMAND_READ): Likewise.
37418 (KEYBOARD_COMMAND_WRITE): Likewise.
37419 (KEYBOARD_SCANCODE_SET1): Likewise.
37420 (grub_keyboard_controller_write): New function.
37421 (grub_keyboard_controller_read): Likewise.
37422 (grub_keyboard_controller_init): Likewise.
37423
37424 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
37425 (grub_console_init): On coreboot/LinuxBIOS, call
37426 grub_keyboard_controller_init().
37427
5f5a7c15 374282008-01-19 Robert Millan <rmh@aybabtu.com>
37429
37430 PowerPC changes provided by Pavel Roskin.
37431
37432 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
37433 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
37434 don't rely on cmain() doing it.
37435 * kern/i386/ieee1275/startup.S (_start): Store %eax in
37436 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
37437
1210e168 374382008-01-16 Robert Millan <rmh@aybabtu.com>
37439
37440 * include/grub/i386/linuxbios/memory.h
37441 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
37442 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
37443 receive `table_header' as argument. Instead, probe for it in the
37444 known memory ranges where it can be present.
37445 (grub_available_iterate): Do not pass a fixed `table_header' address
37446 to grub_linuxbios_table_iterate().
37447
3d04eab8 374482008-01-15 Robert Millan <rmh@aybabtu.com>
37449
37450 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
37451 * conf/i386-ieee1275.rmk: New file.
37452 * include/grub/i386/ieee1275/console.h: Likewise.
37453 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
37454 * include/grub/i386/ieee1275/kernel.h: Likewise.
37455 * include/grub/i386/ieee1275/time.h: Likewise.
37456 * kern/i386/ieee1275/init.c: Likewise.
37457 * kern/i386/ieee1275/startup.S: Likewise.
37458
d1bc1b73 374592008-01-15 Robert Millan <rmh@aybabtu.com>
37460
37461 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
37462 when pointers are 32-bit (but still do set it to one when they are
37463 64-bit).
37464
66a65807 374652008-01-15 Robert Millan <rmh@aybabtu.com>
37466
37467 * include/grub/ieee1275/ieee1275.h
37468 (grub_ieee1275_get_integer_property): New function prototype.
37469
37470 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
37471 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 37472 grub_ieee1275_get_property() to handle endianness.
66a65807 37473
37474 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
37475 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 37476 where appropriate.
66a65807 37477 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
37478 (grub_map): Likewise.
37479 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
37480
a83ccafd 374812008-01-15 Bean <bean123ch@gmail.com>
37482
37483 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
37484 (grub_script_execute_cmdline): Reset grub_errno.
37485
37486 * normal/main.c (read_config_file): Reset grub_errno.
37487
37488 * normal/parse.y (script_init): New.
37489 (script): Move function and menuentry here.
37490 (delimiter): New.
37491 (command): Add delimiter at the end of command.
37492 (commands): Adjust to match the new command.
37493 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 37494 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 37495 (if): Use the new commands.
37496
37497 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
37498
df6ecfc6 374992008-01-15 Robert Millan <rmh@aybabtu.com>
37500
37501 * normal/menu.c (run_menu): Move timeout message from here ...
37502 (print_timeout): ... to here.
37503 (run_menu): Use print_timeout() once during initial draw to print
37504 the whole message, and again in every clock tick to update only
37505 the number of seconds.
37506
87ae25eb 375072008-01-15 Robert Millan <rmh@aybabtu.com>
37508
37509 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
37510 actual size of `available' from grub_ieee1275_get_property(), and
37511 restrict parsing to that bound.
37512
47bf09a4 375132008-01-15 Christian Franke <franke@computer.org>
37514
37515 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
37516 (argp_program_version): Remove variable.
37517 (argp_program_bug_address): Likewise.
37518 (options): Convert from struct argp_option to struct option.
37519 (struct arguments): Remove.
37520 (parse_opt): Remove.
37521 (usage): New function.
37522 (main): Replace struct args members by simple variables.
37523 Replace argp_parse() by getopt_long().
37524 Add switch to evaluate options.
37525 Add missing "(...)" around root_dev in prefix string.
37526
c86f1469 375272008-01-14 Robert Millan <rmh@aybabtu.com>
37528
37529 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
37530 for grub_ieee1275_exit(), in order to improve portability.
37531
e622c559 375322008-01-14 Robert Millan <rmh@aybabtu.com>
37533
37534 * util/grub.d/10_linux.in (prefix): Define.
37535 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
37536
44cb1ec8 375372008-01-13 Pavel Roskin <proski@gnu.org>
37538
37539 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
37540 grub_errno if no errors have been detected.
37541
1eb8c802 375422008-01-12 Robert Millan <rmh@aybabtu.com>
37543
37544 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
37545 (grub_util_get_dev_abstraction): New function prototype.
37546
37547 * util/getroot.c: Include `<grub/util/getroot.h>'
37548 (grub_util_get_grub_dev): Move detection of abstraction type to ...
37549 (grub_util_get_dev_abstraction): ... here (new function).
37550
37551 * util/grub-probe.c: Convert PRINT_* to an enum. Add
37552 `PRINT_ABSTRACTION'.
37553 (probe): Probe for abstraction type when requested.
37554 (main): Understand `--target=abstraction'.
37555
37556 * util/i386/efi/grub-install.in: Add abstraction module to core
37557 image when it is found to be necessary.
37558 * util/i386/pc/grub-install.in: Likewise.
37559 * util/powerpc/ieee1275/grub-install.in: Likewise.
37560
37561 * util/update-grub_lib.in (font_path): Return system path without
37562 converting to GRUB path.
37563 * util/update-grub.in: Convert system path returned by font_path()
37564 to a GRUB path. Use `grub-probe -t abstraction' to determine what
37565 abstraction module is needed for loading fonts (if any). Export
37566 that as `GRUB_PRELOAD_MODULES'.
37567 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
37568 insmod commands).
37569
52bd3de9 375702008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
37571
37572 Remove some unused code from reiserfs.
f19dbdb7 37573
52bd3de9 37574 * fs/reiserfs.c (struct grub_reiserfs_key)
37575 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
37576 (struct grub_reiserfs_node_body): Removed.
37577 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37578 Likewise.
37579 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37580 Likewise.
37581 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37582 Likewise.
37583 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
37584 Likewise.
37585 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
37586 Likewise.
37587 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
37588 Likewise.
37589 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37590 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37591 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
37592
2f80039d 375932008-01-10 Robert Millan <rmh@aybabtu.com>
37594
37595 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
37596 Determines if a file is garbage left by packaging systems, etc.
37597 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
37598 for processing /etc/grub.d scripts.
37599 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
37600 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
37601 as a condition for processing Linux images.
37602
87888032 376032008-01-10 Pavel Roskin <proski@gnu.org>
37604
37605 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
37606 to compile reiserfs.c on PowerPC.
37607
7e54fced 376082008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 37609
37610 * kern/device.c (grub_device_iterate): Do not abort device iteration
37611 when one of the devices cannot be opened.
37612 * kern/disk.c (grub_disk_open): Do not account previous failures of
37613 unrelated functions when grub_errno is checked for.
37614
5aa541e6 376152008-01-08 Robert Millan <rmh@aybabtu.com>
37616
37617 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
37618 `! grub_linux_is_bzimage', change order of address comparison to make
37619 it more intuitive, and improve "too big zImage" error message.
37620
7076340d 376212008-01-08 Robert Millan <rmh@aybabtu.com>
37622
37623 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
37624 `$(update-grub_DATA)'.
37625 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
37626 targets.
37627
9ca70333 376282008-01-07 Robert Millan <rmh@aybabtu.com>
37629
37630 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
37631 which instruction is modified by grub-setup during installation
37632 (since it wasn't obvious by only looking at this file).
37633
38ccf575 376342008-01-07 Robert Millan <rmh@aybabtu.com>
37635
37636 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
37637 listing actual TODO items.
37638
f5db4291 376392008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37640
868967cf 37641 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
37642 correctly.
37643 (grub_reiserfs_get_key_offset): Likewise.
37644 (grub_reiserfs_set_key_offset): Likewise.
37645 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 37646 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 37647
37648 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
37649 better to remove the bitfield version completely.
f19dbdb7 37650
868967cf 376512008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 37652
f5db4291 37653 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
37654 allocated from the heap, due to the fshelp implementation.
37655 (grub_reiserfs_dir): Free NODE, due to the same reason.
37656
492e6d9d 376572008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37658
37659 Mostly from Vincent Pelletier:
f19dbdb7 37660
492e6d9d 37661 * fs/reiserfs.c: New file.
f19dbdb7 37662
492e6d9d 37663 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
37664 (reiserfs_mod_SOURCES): New variable.
37665 (reiserfs_mod_CFLAGS): Likewise.
37666 (reiserfs_mod_LDFLAGS): Likewise.
37667
37668 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
37669 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
37670 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
37671 normal/color.c.
37672
9ce3e7c1 376732008-01-06 Robert Millan <rmh@aybabtu.com>
37674
37675 * normal/color.c: Remove `<grub/env.h>'.
37676
f3b58148 376772008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
37678
37679 * include/grub/normal.h: Include <grub/env.h>.
37680
7ac3bcfa 376812008-01-05 Robert Millan <rmh@aybabtu.com>
37682
37683 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
37684 usage example with `(hd0,1)'.
fb358190 37685 Reported by Samuel Thibault.
7ac3bcfa 37686
c8ee99d7 376872008-01-05 Robert Millan <rmh@aybabtu.com>
37688
37689 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
37690 (grub_linux_boot_zimage): Rename to ...
37691 (grub_linux_boot): ... this.
37692 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
37693 (grub_linux_boot_zimage): Conditionalize zImage copy.
37694
37695 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
37696 (grub_linux_boot_bzimage): Remove prototype.
37697 (grub_linux_boot_zimage): Rename to ...
37698 (grub_linux_boot): ... this.
37699
37700 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
37701 (grub_linux_boot): Remove function.
37702
0ece25b1 377032008-01-05 Robert Millan <rmh@aybabtu.com>
37704
37705 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
37706 (grub_env_write_color_highlight): Likewise.
37707 (grub_wait_after_message): Likewise.
37708
37709 * normal/color.c: New file.
37710
37711 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37712 (normal_mod_DEPENDENCIES): Likewise.
37713
37714 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37715 (normal_mod_DEPENDENCIES): Likewise.
37716
37717 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37718 (normal_mod_DEPENDENCIES): Likewise.
37719
37720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
37721 (normal_mod_DEPENDENCIES): Likewise.
37722
37723 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
37724 for waiting after a message is printed.
37725 * normal/main.c (read_config_file): Likewise.
37726 (grub_normal_init): Register grub_env_write_color_normal() and
37727 grub_env_write_color_highlight() hooks. Mark `color_normal' and
37728 `color_highlight' variables as global.
37729
37730 * normal/menu.c (grub_wait_after_message): New function.
37731 (grub_color_menu_normal): New variable. Replaces ...
37732 (GRUB_COLOR_MENU_NORMAL): ... this macro.
37733 (grub_color_menu_highlight): New variable. Replaces ...
37734 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
37735 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
37736 `GRUB_TERM_COLOR_STANDARD'.
37737 (print_message): Use `grub_setcolorstate' to reload colors. Rename
37738 `normal_code' and `highlight_code' to `old_color_normal' and
37739 `old_color_highlight', respectively.
37740 (grub_menu_init_page): Update colors when drawing the menu, based on
37741 `menu_color_normal' and `menu_color_highlight' variables.
37742 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
37743 a message is printed.
37744
182dd4e5 377452008-01-05 Robert Millan <rmh@aybabtu.com>
37746
37747 * kern/env.c (grub_env_context_open): Propagate hooks for global
37748 variables to new context.
37749
37750 * kern/main.c (grub_set_root_dev): Export `root' variable.
37751
ddf8f6ad 377522008-01-05 Robert Millan <rmh@aybabtu.com>
37753
37754 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 37755 discs unconditionally, since udev and others have options to provide
ddf8f6ad 37756 them.
37757
d8b43d9b 377582008-01-05 Robert Millan <rmh@aybabtu.com>
37759
37760 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
37761
2bff2de3 377622008-01-04 Christian Franke <franke@computer.org>
37763
37764 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
37765 of eisa_mmap.
37766
97eab917 377672008-01-03 Pavel Roskin <proski@gnu.org>
37768
37769 * kern/i386/linuxbios/init.c: Put "void" to all function
37770 declarations with no arguments.
37771 * kern/powerpc/ieee1275/init.c: Likewise.
37772 * term/i386/pc/at_keyboard.c: Likewise.
37773 * term/i386/pc/vga_text.c: Likewise.
37774 * util/grub-mkdevicemap.c: Likewise.
37775
b9416d00 377762008-01-02 Robert Millan <rmh@aybabtu.com>
37777
37778 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
37779 message when loaded image is out of bounds.
37780 (grub_multiboot_load_elf64): Likewise.
37781
92695df9 377822008-01-02 Pavel Roskin <proski@gnu.org>
37783
37784 * util/grub.d/10_linux.in: Try version without ".old" when
37785 looking for initrd. It's better to use initrd from the newer
37786 kernel of the same version than no initrd at all.
37787
d98d9cad 377882008-01-01 Robert Millan <rmh@aybabtu.com>
37789
37790 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
37791
dbfdce36 377922008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
37793
f19dbdb7 37794 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 37795 grub_video_get_active_render_target.
37796 (grub_video_adapter): Added unmap_color and get_active_render_target.
37797
f19dbdb7 37798 * video/video.c: Added grub_video_unmap_color and
dbfdce36 37799 grub_video_get_active_render_target.
37800 (grub_video_get_info): Changed method to accept NULL pointer as an
37801 argument to allow detection of active video adapter.
37802
37803 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
37804 grub_video_vbe_unmap_color_int.
37805 Added grub_video_vbe_unmap_color and
37806 grub_video_vbe_get_active_render_target.
37807 (grub_video_vbe_adapter): Added unmap_color and
37808 get_active_render_target.
37809
f19dbdb7 37810 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 37811 with grub_video_vbe_unmap_color_int.
37812
37813 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
37814 (DEFAULT_NORMAL_COLOR): Likewise.
37815 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
37816 (DEFAULT_FG_COLOR): Removed.
37817 (DEFAULT_BG_COLOR): Likewise.
37818 (DEFAULT_CURSOR_COLOR): Changed value.
37819 (grub_virtual_screen): Added standard_color_setting,
37820 normal_color_setting, highlight_color_setting and term_color.
37821 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
37822 (bitmap_width): Added.
37823 (bitmap_height): Likewise.
37824 (bitmap): Likewise.
37825 (set_term_color): Likewise.
37826 (grub_virtual_screen_setup): Changed to use new terminal coloring
37827 settings.
37828 (grub_gfxterm_init): Added init for bitmap.
37829 (grub_gfxterm_fini): Added destroy for bitmap.
37830 (redraw_screen_rect): Updated to use background bitmap and new
37831 terminal coloring.
37832 (scroll_up): Added optimization for case when there is no bitmap.
37833 (grub_gfxterm_cls): Fixed to use correct background color.
37834 (grub_virtual_screen_setcolorstate): Changed to use new terminal
37835 coloring.
37836 (grub_virtual_screen_setcolor): Likewise.
37837 (grub_virtual_screen_getcolor): Added.
37838 (grub_gfxterm_background_image_cmd): Likewise.
37839 (grub_video_term): Added setcolor and getcolor.
37840 (MOD_INIT): Added registration of background_image command.
37841 (MOD_TERM): Added unregistration for background_image command.
37842
c3c20931 378432007-12-30 Pavel Roskin <proski@gnu.org>
37844
37845 * loader/multiboot_loader.c: Fix multiboot command
37846 unregistration. Fix all typos in the word "multiboot".
37847
df266716 378482007-12-29 Pavel Roskin <proski@gnu.org>
94239199 37849
37850 * util/grub.d/10_linux.in: Refactor search for initrd. Add
37851 support for initrd names used in Fedora.
37852
fc6e896c 378532007-12-26 Bean <bean123ch@gmail.com>
37854
37855 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
37856 (cpio_mod_SOURCES): New variable.
37857 (cpio_mod_CFLAGS): Likewise.
37858 (cpio_mod_LDFLAGS): Likewise.
37859
37860 * fs/cpio.c: New file.
37861
37862 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
37863
37864 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37865
37866 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37867
37868 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37869
533110ad 378702007-12-25 Robert Millan <rmh@aybabtu.com>
37871
37872 * include/grub/term.h (struct grub_term): Add `getcolor' function.
37873 (grub_getcolor): New function.
37874
37875 * kern/term.c (grub_getcolor): New function.
37876 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
37877 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
37878 (print_entry): Set normal and highlight colors to
37879 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
37880 respectively, before printing and restore them to old
37881 values afterwards.
37882 (grub_menu_init_page): Likewise. Fill an additional colored space
37883 that would otherwise be left blank.
37884
37885 * term/efi/console.c (grub_console_getcolor): New function.
37886 (struct grub_console_term.getcolor): New variable.
37887 * term/i386/pc/console.c (grub_console_getcolor): New function.
37888 (struct grub_console_term.getcolor): New variable.
37889 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
37890 (struct grub_console_term.getcolor): New variable.
37891
37892 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
37893 (struct grub_console_term.setcolor): Remove variable.
37894 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
37895 (struct grub_console_term.setcolor): Remove variable.
37896 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
37897 (struct grub_console_term.setcolor): Remove variable.
37898 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
37899 (struct grub_console_term.setcolor): Remove variable.
37900
4931827f 379012007-12-25 Robert Millan <rmh@aybabtu.com>
37902
37903 * configure.ac: Search for possible unifont.hex locations, and
37904 define UNIFONT_HEX if found.
37905
37906 * Makefile.in (UNIFONT_HEX): Define variable.
37907 (DATA): Rename to ...
37908 (PKGLIB): ... this. Update all users.
37909 (PKGDATA): New variable.
37910 (pkgdata_IMAGES): Rename to ...
37911 (pkglib_IMAGES): ... this. Update all users.
37912 (pkgdata_MODULES): Rename to ...
37913 (pkglib_MODULES): ... this. Update all users.
37914 (pkgdata_PROGRAMS): Rename to ...
37915 (pkglib_PROGRAMS): ... this. Update all users.
37916 (pkgdata_DATA): Rename to ...
37917 (pkglib_DATA): ... this. Update all users.
37918 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
37919 (unicode.pff, ascii.pff): New rules.
37920 (all-local): Add `$(PKGDATA)' dependency.
37921 (install-local): Process `$(PKGDATA)'.
37922
37923 * util/update-grub_lib.in (font_path): Search for *.pff files in
37924 a few more locations, including `${pkgdata}'.
37925
57e57e31 379262007-12-23 Robert Millan <rmh@aybabtu.com>
37927
37928 Patch from Bean <bean123ch@gmail.com>:
37929 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
37930 `size'.
37931
4bc72aa9 379322007-12-21 Bean <bean123ch@gmail.com>
37933
37934 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
37935 (ntfscomp_mod_SOURCES): New variable.
37936 (ntfscomp_mod_CFLAGS): Likewise.
37937 (ntfscomp_mod_LDFLAGS): Likewise.
37938
37939 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
37940 (grub_probe_SOURCES): Likewise.
37941 (grub_emu_SOURCES): Likewise.
37942
37943 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37944 (grub_emu_SOURCES): Likewise.
37945
37946 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37947 (grub_emu_SOURCES): Likewise.
37948
37949 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
37950 (grub_emu_SOURCES): Likewise.
37951
37952 * fs/ntfs.c (grub_ntfscomp_func): New variable.
37953 (read_run_list): Renamed to grub_ntfs_read_run_list.
37954 (decomp_nextvcn): Moved to ntfscomp.c.
37955 (decomp_getch): Likewise.
37956 (decomp_get16): Likewise.
37957 (decomp_block): Likewise.
37958 (read_block): Likewise.
37959 (read_data): Partially moved to ntfscomp.c.
37960 (fixup): Change unsigned to grub_uint16_t.
37961 (read_mft): Change unsigned long to grub_uint32_t.
37962 (read_attr): Likewise.
37963 (read_data): Likewise.
37964 (read_run_data): Likewise.
37965 (read_run_list): Likewise.
37966 (read_mft): Likewise.
37967
37968 * fs/ntfscomp.c: New file.
37969
37970 * include/grub/ntfs.h: New file.
37971
af680a87 379722007-12-16 Robert Millan <rmh@aybabtu.com>
37973
37974 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
37975 IDE disk check, since Linux is known to support 20 IDE disks.
37976 Reported by Colin Watson.
37977
84be7599 379782007-12-15 Bean <bean123ch@gmail.com>
37979
37980 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
37981 (lnxboot_img_SOURCES): New variable.
37982 (lnxboot_img_ASFLAGS): Likewise.
37983 (lnxboot_img_LDFLAGS): Likewise.
37984
37985 * boot/i386/pc/lnxboot.S: New file.
37986
6af9db01 379872007-11-24 Pavel Roskin <proski@gnu.org>
37988
37989 * configure.ac: Test if '--build-id=none' is supported by the
37990 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
37991 objcopy to generate incorrect binary files (binutils
37992 2.17.50.0.18-1 as shipped by Fedora 8).
37993 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
37994 linking, so that build ID doesn't break the test.
37995
7361cfe6 379962007-11-24 Pavel Roskin <proski@gnu.org>
37997
37998 * include/grub/i386/time.h: use "void" in the argument list
37999 of grub_cpu_idle().
38000 * include/grub/powerpc/time.h: Likewise.
38001 * include/grub/sparc64/time.h: Likewise.
38002
1593e10c 380032007-11-18 Christian Franke <franke@computer.org>
38004
38005 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38006 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38007 This fixes the problem that function keys did not work in grub-emu.
38008
3b8db1a8 380092007-11-18 Christian Franke <franke@computer.org>
38010
38011 * disk/host.c (grub_host_open): Remove attribute unused from
38012 name parameter. Add check for "host". This fixes the problem
38013 that grub-emu does not find partitions.
38014
2e29408d 380152007-11-18 Christian Franke <franke@computer.org>
38016
38017 * util/hostfs.c (is_dir): New function.
38018 (grub_hostfs_dir): Handle missing dirent.d_type case.
38019 (grub_hostfs_read): Add missing fseek().
38020 (grub_hostfs_label): Clear label pointer. This fixes a crash
38021 of grub-emu on "ls (host)".
38022
398cd047 380232007-11-18 Christian Franke <franke@computer.org>
38024
38025 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38026 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38027 to 64 bit boundary by default.
38028
c405c391 380292007-11-18 Bean <bean123ch@gmail.com>
38030
38031 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38032 (hexdump_mod_SOURCES): New variable.
38033 (hexdump_mod_CFLAGS): Likewise.
38034 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 38035
c405c391 38036 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38037
38038 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38039
38040 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38041
38042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38043
38044 * include/grub/hexdump.h: New file.
38045
38046 * commands/hexdump.c: New file.
38047
5cced7fd 380482007-11-10 Robert Millan <rmh@aybabtu.com>
38049
38050 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38051 in grub_outb() calls.
38052 (beep_on): Likewise.
38053
8b714eb0 380542007-11-10 Christian Franke <franke@computer.org>
38055
38056 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38057 (grub_menu_run): Likewise.
38058
ce0f1839 380592007-11-10 Robert Millan <rmh@aybabtu.com>
38060
38061 * include/grub/i386/efi/machine.h: New file.
38062 * include/grub/i386/linuxbios/machine.h: Likewise.
38063 * include/grub/i386/pc/machine.h: Likewise.
38064 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38065 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38066
38067 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38068 (serial_hw_io_addr): New variable.
38069 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38070 instead of `(unsigned short *) 0x400'.
38071
270c237d 380722007-11-10 Bean <bean123ch@gmail.com>
38073
38074 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38075
a87783bf 380762007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38077
38078 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38079 (vga_mod_SOURCES): Added.
38080 (vga_mod_CFLAGS): Likewise.
38081 (vga_mod_LDFLAGS): Likewise.
38082
38083 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38084 grub_outb() calls.
38085 (set_map_mask): Likewise.
38086 (set_read_map): Likewise.
38087 (set_read_address): Likewise.
38088 (vga_font): Removed variable.
38089 (get_vga_glyph): Removed function.
38090 (invalidate_char): Likewise.
38091 (write_char): Changed to use grub_font_get_glyph() for font
38092 information.
38093 (grub_vga_putchar): Likewise.
38094 (grub_vga_getcharwidth): Likewise.
38095
6433b448 380962007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38097
38098 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38099 flags.
38100 (pxeboot_img_LDFLAGS): Likewise.
38101 (diskboot_img_LDFLAGS): Likewise.
38102 (kernel_img_LDFLAGS): Likewise.
38103
49178511 381042007-11-06 Robert Millan <rmh@aybabtu.com>
38105
38106 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38107 in grub_outb() calls.
38108 (serial_hw_init): Likewise.
38109
53b052de 381102007-11-05 Robert Millan <rmh@aybabtu.com>
38111
38112 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38113 spaces. Skip non-regular files.
38114
5ab33bba 381152007-11-05 Robert Millan <rmh@aybabtu.com>
38116
38117 * kern/disk.c (grub_disk_firmware_fini)
38118 (grub_disk_firmware_is_tainted): New variables.
38119
38120 * include/grub/disk.h (grub_disk_firmware_fini)
38121 (grub_disk_firmware_is_tainted): Likewise.
38122
38123 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38124 (grub_disk_biosdisk_fini): ... to here.
38125 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38126 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38127 is set. Register grub_disk_biosdisk_fini() in
38128 `grub_disk_firmware_fini'.
38129
38130 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38131 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38132 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38133 to finish existing firmware disk interface.
38134
38135 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38136 (ata_mod_SOURCES): New variable.
38137 (ata_mod_CFLAGS): Likewise.
38138 (ata_mod_LDFLAGS): Likewise.
38139
0149ab7c 381402007-11-05 Robert Millan <rmh@aybabtu.com>
38141
38142 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38143 (grub_ata_wait): Reimplement using grub_millisleep().
38144
38145 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38146 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38147
be7ac41e 381482007-11-03 Marco Gerards <marco@gnu.org>
38149
38150 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38151 (CRTC_ADDR_PORT): New macro.
38152 (CRTC_DATA_PORT): Likewise.
38153 (CRTC_CURSOR): Likewise.
38154 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38155 (CRTC_CURSOR_ADDR_LOW): Likewise.
38156 (update_cursor): New function.
38157 (grub_console_real_putchar): Call `update_cursor'.
38158 (grub_console_gotoxy): Likewise.
38159 (grub_console_cls): Set the default color when clearing the
38160 screen.
38161 (grub_console_setcursor): Implemented.
38162
bb06ab2e 381632007-11-03 Marco Gerards <marco@gnu.org>
38164
38165 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38166 become activate.
38167 (grub_ata_pio_write): Likewise.
38168
38169 (grub_atapi_identify): Wait after issuing an ATA command.
38170 (grub_atapi_packet): Likewise.
38171 (grub_ata_identify): Likewise.
38172 (grub_ata_readwrite): Likewise.
38173
cf8f780b 381742007-11-03 Marco Gerards <marco@gnu.org>
38175
38176 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38177 (grub_ata_pio_write): Likewise.
38178 (grub_ata_readwrite): Use `grub_error', instead of
38179 returning `grub_errno'.
38180
ed649e54 381812007-11-03 Marco Gerards <marco@gnu.org>
38182
38183 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38184 grub_ata_pio_write once for every single sector, instead of for
38185 multiple sectors.
38186
ca25d8f0 381872007-10-31 Robert Millan <rmh@aybabtu.com>
38188
38189 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38190
38191 * conf/i386-linuxbios.rmk: New file.
38192
38193 * kern/i386/pc/hardware.c: Likewise.
38194 * term/i386/pc/at_keyboard.c: Likewise.
38195 * term/i386/pc/vga_text.c: Likewise.
38196
38197 * include/grub/i386/linuxbios/boot.h: Likewise.
38198 * include/grub/i386/linuxbios/console.h: Likewise.
38199 * include/grub/i386/linuxbios/init.h: Likewise.
38200 * include/grub/i386/linuxbios/kernel.h: Likewise.
38201 * include/grub/i386/linuxbios/loader.h: Likewise.
38202 * include/grub/i386/linuxbios/memory.h: Likewise.
38203 * include/grub/i386/linuxbios/serial.h: Likewise.
38204 * include/grub/i386/linuxbios/time.h: Likewise.
38205
38206 * kern/i386/linuxbios/init.c: Likewise.
38207 * kern/i386/linuxbios/startup.S: Likewise.
38208 * kern/i386/linuxbios/table.c: Likewise.
38209
e911ecc1 382102007-10-31 Marco Gerards <marco@gnu.org>
38211
38212 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38213 (ata_mod_SOURCES): New variable.
38214 (ata_mod_CFLAGS): Likewise.
38215 (ata_mod_LDFLAGS): Likewise.
38216
38217 * disk/ata.c: New file.
38218
38219 * include/grub/disk.h (grub_disk_dev_id): Add
38220 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 38221
7f66d0e0 382222007-10-31 Robert Millan <rmh@aybabtu.com>
38223
38224 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38225 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38226
38227 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38228 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38229
38230 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38231 `<grub/types.h>'.
38232
38233 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38234
5cd7dd46 382352007-10-27 Robert Millan <rmh@aybabtu.com>
38236
3236ca65 38237 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 38238
2ebfc90f 382392007-10-22 Robert Millan <rmh@aybabtu.com>
38240
38241 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
38242 `"../realmode.S"'.
38243 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
38244
73fcb0f3 382452007-10-22 Robert Millan <rmh@aybabtu.com>
38246
38247 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
38248 (pkgdata_MODULES): Add `biosdisk.mod'.
38249 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
38250 variables.
38251
38252 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
38253 (grub_biosdisk_init): Replace with ...
38254 (GRUB_MOD_INIT(biosdisk)): ... this.
38255 (grub_biosdisk_fini): Replace with ...
38256 (GRUB_MOD_FINI(biosdisk)): ... this.
38257
38258 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
38259 (grub_machine_init): Remove call to grub_biosdisk_init().
38260 (grub_machine_fini): Remove call to grub_machine_fini().
38261
38262 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
38263
3381d274 382642007-10-22 Robert Millan <rmh@aybabtu.com>
38265
38266 * include/grub/time.h: New file.
38267 * include/grub/i386/time.h: Likewise.
38268 * include/grub/powerpc/time.h: Likewise.
38269 * include/grub/sparc64/time.h: Likewise.
38270
38271 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
38272 instances to ...
38273 (KERNEL_MACHINE_TIME_HEADER): ... this.
38274 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38275 instances to ...
38276 (KERNEL_MACHINE_TIME_HEADER): ... this.
38277 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38278 instances to ...
38279 (KERNEL_MACHINE_TIME_HEADER): ... this.
38280
38281 * kern/i386/efi/init.c: Include `<grub/time.h>'.
38282 (grub_millisleep): New function.
38283 * kern/i386/pc/init.c: Include `<grub/time.h>'.
38284 (grub_millisleep): New function.
38285 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
38286 Remove `grub/machine/time.h' include.
38287 (grub_millisleep): New function.
38288 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
38289 Remove `grub/machine/time.h' include.
38290 (grub_millisleep): New function.
38291
38292 * include/grub/misc.h (grub_div_roundup): New function.
38293
38294 * kern/misc.c: Include `<grub/time.h>'.
38295 (grub_millisleep_generic): New function.
38296
38297 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
38298 Add `time.h'.
38299 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
38300 Add `time.h'.
38301 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
38302 `machine/time.h'. Add `time.h'.
38303 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38304
a39a0312 383052007-10-21 Robert Millan <rmh@aybabtu.com>
38306
38307 * include/grub/misc.h (grub_max): New function.
38308
2aad70e2 383092007-10-21 Robert Millan <rmh@aybabtu.com>
38310
38311 * util/misc.c (grub_util_info): Call fflush() before returning.
38312
54b71c4b 383132007-10-20 Robert Millan <rmh@aybabtu.com>
38314
38315 * genmk.rb (Image): Copy `extra_flags' from here ...
38316 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
38317
38318 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
38319 to `argc' and `args' arguments.
38320
a979f513 383212007-10-17 Robert Millan <rmh@aybabtu.com>
38322
38323 * kern/i386/loader.S: New file.
38324
38325 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
38326 * kern/i386/loader.S (grub_linux_prot_size)... to here.
38327 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
38328 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
38329 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
38330 * kern/i386/loader.S (grub_linux_real_addr)... to here.
38331 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
38332 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
38333 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
38334 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
38335 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
38336 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
38337 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
38338 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
38339
38340 * kern/i386/realmode.S: New file.
38341
38342 * kern/i386/pc/startup.S (protstack): Moved from here ...
38343 * kern/i386/realmode.S (protstack)... to here.
38344 * kern/i386/pc/startup.S (gdt): Moved from here ...
38345 * kern/i386/realmode.S (gdt)... to here.
38346 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
38347 * kern/i386/realmode.S (prot_to_real)... to here.
38348
38349 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
38350 `kern/i386/realmode.S'.
38351
825fc8fd 383522007-10-17 Robert Millan <rmh@aybabtu.com>
38353
38354 * include/grub/i386/loader.h: New file.
38355
38356 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
38357 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38358 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38359 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38360 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
38361 * include/grub/i386/loader.h (grub_linux_prot_size)
38362 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38363 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38364 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38365 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
38366
38367 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
38368
e179b2f4 383692007-10-15 Robert Millan <rmh@aybabtu.com>
38370
38371 * normal/misc.c (grub_normal_print_device_info): Do not probe for
38372 filesystem when dev->disk is unset.
38373 Do probe for filesystem even when dev->disk->has_partitions is set.
38374 In case a filesystem is found, always report it.
38375 In case it isn't, if dev->disk->has_partitions is set, report that
38376 a partition table was found instead of reporting that no filesystem
38377 could be identified.
38378
5db82af6 383792007-10-12 Robert Millan <rmh@aybabtu.com>
38380
38381 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
38382 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
38383
68f6ac74 38384 * include/grub/types.h (grub_host_to_target16): New macro.
38385 (grub_host_to_target32): Likewise.
38386 (grub_host_to_target64): Likewise.
38387 (grub_target_to_host16): Likewise.
38388 (grub_target_to_host32): Likewise.
38389 (grub_target_to_host64): Likewise.
5db82af6 38390
38391 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
38392 Renamed from to ...
38393 (GRUB_MOD_ALIGN): ...this. Update all users.
38394
68f6ac74 38395 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
38396 grub_host_to_target32.
38397 Replace grub_be_to_cpu32 with grub_target_to_host32.
38398 (load_modules): Likewise.
38399 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
38400 Replace grub_be_to_cpu32 with grub_target_to_host32.
38401 Replace grub_cpu_to_be16 with grub_host_to_target16.
38402 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 38403
3cf497cc 384042007-10-12 Robert Millan <rmh@aybabtu.com>
38405
38406 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
38407 * util/elf/grub-mkimage.c: ... here.
38408
38409 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
38410 `util/powerpc/ieee1275/grub-mkimage.c'.
38411
c8cc3692 384122007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 38413
c8cc3692 38414 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
38415 and make it easier to figure out.
38416 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
38417 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
38418 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
38419 leave us with less than HEAP_MIN_SIZE total heap.
38420 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 38421
5c58b791 384222007-10-03 Robert Millan <rmh@aybabtu.com>
38423
38424 * include/grub/i386/io.h: New file.
38425 * commands/i386/pc/play.c (inb): Removed.
38426 (outb): Removed.
38427 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38428 with grub_outb().
afcd2ef8 38429 * term/i386/pc/serial.c (inb): Removed.
38430 (outb): Removed.
38431 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38432 with grub_outb().
38433 * term/i386/pc/vga.c (inb): Removed.
38434 (outb): Removed.
38435 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
38436 with grub_outb().
5c58b791 38437
1a477ed6 384382007-10-02 Robert Millan <rmh@aybabtu.com>
38439
38440 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
38441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38442 Reported by Marcin Kurek.
38443
6b5d80fa 384442007-09-07 Robert Millan <rmh@aybabtu.com>
38445
38446 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
38447 SmartFirmware version updates (as released by Sven Luther), and avoid
38448 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
38449 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
38450 known broken.
38451
5618afbf 384522007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38453
38454 From Hitoshi Ozeki:
38455 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
38456 when merging two regions.
38457
6139dcd9 384582007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38459
508e39ee 38460 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
38461 * normal/completion.c (grub_normal_do_completion): Likewise.
38462 Reported by Hitoshi Ozeki.
38463
384642007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38465
6139dcd9 38466 Do not use devices at boot in chainloading.
f19dbdb7 38467
6139dcd9 38468 * loader/i386/pc/chainloader.c (boot_drive): New variable.
38469 (boot_part_addr): Likewise.
38470 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
38471 with BOOT_DRIVE and BOOT_PART_ADDR.
38472 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
38473 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
38474
38da6516 384752007-08-29 Robert Millan <rmh@aybabtu.com>
38476
38477 Patch from Simon Peter <dn.tlp@gmx.net>:
38478 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
38479 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
38480 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
38481 util/i386/pc/grub-setup.c_DEPENDENCIES.
38482 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
38483 util/grub-probe.c_DEPENDENCIES.
38484 * conf/powerpc-ieee1275.rmk: Likewise.
38485
29d0928c 384862007-08-28 Robert Millan <rmh@aybabtu.com>
38487
38488 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
38489 to tell grub-mkdevicemap how to name devices.
38490 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
38491 feature).
38492
38493 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
38494 util/i386/get_disk_name.c.
38495 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
38496 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
38497 util/ieee1275/get_disk_name.c.
38498
38499 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
38500
38501 * DISTLIST: Add util/i386/get_disk_name.c and
38502 util/ieee1275/get_disk_name.c.
38503
38504 * util/grub-mkdevicemap.c: Replace device naming logic with
38505 grub_util_get_disk_name() calls.
38506
5a0d3cca 385072007-08-20 Robert Millan <rmh@aybabtu.com>
38508
38509 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
38510 (so that it works for both plural and singular quantities).
38511
8b72db2f 385122007-08-05 Robert Millan <rmh@aybabtu.com>
38513
38514 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
38515 so that [xz] isn't taken into account when determining order.
38516
352466bf 385172007-08-02 Marco Gerards <marco@gnu.org>
38518
38519 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
38520 `include/multiboot2.h', `include/grub/elfload.h',
38521 `include/multiboot.h', `include/grub/multiboot.h',
38522 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
38523 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
38524 `kern/elf.c', `loader/multiboot_loader.c',
38525 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
38526 `loader/i386/pc/multiboot2.c',
38527 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
38528 `util/i386/pc/grub-mkrescue.in'. Remove
38529 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
38530 `include/grub/i386/pc/util/biosdisk.h' and
38531 `include/grub/powerpc/ieee1275/multiboot.h'.
38532
8f096014 385332007-08-02 Bean <bean123ch@gmail.com>
38534
38535 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
38536 (ntfs_mod_SOURCES): New variable.
38537 (ntfs_mod_CFLAGS): Likewise.
38538 (ntfs_mod_LDFLAGS): Likewise.
38539
38540 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
38541 (grub_probe_SOURCES): Likewise.
38542 (grub_emu_SOURCES): Likewise.
38543
38544 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38545 (grub_emu_SOURCES): Likewise.
38546
38547 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
38548 (grub_emu_SOURCES): Likewise.
f19dbdb7 38549
8f096014 38550 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
38551
38552 * fs/ntfs.c: New file.
38553
9959f7db 385542007-08-02 Bean <bean123ch@gmail.com>
38555
38556 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
38557
38558 * file.h (grub_file): Likewise.
38559
38560 * fshelp.h (grub_fshelp_read_file): Likewise.
38561
38562 * util/i386/pc/grub-setup.c (setup): Likewise.
38563 (save_first_sector): Likewise.
38564 (save_blocklists): Likewise.
f19dbdb7 38565
9959f7db 38566 * fs/affs.c (grub_affs_read_file): Likewise.
38567
38568 * fs/ext2.c (grub_ext2_read_file): Likewise.
38569
38570 * fs/fat.c (grub_fat_read_data): Likewise.
38571
38572 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
38573
38574 * fs/hfs.c (grub_hfs_read_file): Likewise.
38575
38576 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38577
38578 * fs/jfs.c (grub_jfs_read_file): Likewise.
38579
38580 * fs/minix.c (grub_minix_read_file): Likewise.
38581
38582 * fs/sfs.c (grub_sfs_read_file): Likewise.
38583
38584 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 38585
9959f7db 38586 * fs/xfs.c (grub_xfs_read_file): Likewise.
38587
38588 * command/blocklist.c (read_blocklist): Likewise.
38589 (print_blocklist): Likewise.
38590
0a203f83 385912007-08-02 Marco Gerards <marco@gnu.org>
38592
38593 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
38594 `util/hostfs.c'.
38595
38596 * disk/host.c: New file.
38597
38598 * util/hostfs.c: Likewise.
38599
38600 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
38601 return `GRUB_ERR_BAD_FS'.
38602 * fs/sfs.c (grub_sfs_mount): Likewise.
38603 * fs/xfs.c (grub_xfs_mount): Likewise.
38604
38605 * include/grub/disk.h (enum grub_disk_dev_id): Add
38606 `GRUB_DISK_DEVICE_HOST_ID'.
38607
38608 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
38609
e5dfe777 386102007-07-24 Jerone Young <jerone@gmail.com>
38611
f19dbdb7 38612 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 38613 modules for compilation.
38614 * conf/powerpc-ieee1275.rmk: Likewise.
38615
38616 * include/multiboot.h: Move multiboot definitions to one file. Rename
38617 many definitions to not get grub specific.
38618 * include/multiboot2.h: Create header with multiboot 2 definitions.
38619 * include/grub/multiboot.h: Header for grub specific function
38620 prototypes and definitions.
38621 * include/grub/multiboot2.h: Likewise.
38622 * include/grub/multiboot_loader.h: Likewise.
38623 * include/grub/i386/pc/multiboot.h: Removed.
38624 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
38625
38626 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
38627 and 2 to allow for one multiboot and module commands.
38628 * loader/multiboot2.c: Add multiboot2 functionality.
38629 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
38630 and definition names.
38631 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
38632 2 functions.
38633 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
38634 ieee1275 specific multiboot2 code.
38635
38636 * kern/i386/pc/startup.S: Change headers and definition names for
38637 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
38638
daf0f0ba 386392007-07-22 Robert Millan <rmh@aybabtu.com>
38640
38641 * geninitheader.sh: Process file specified in first parameter rather
38642 than hardcoding grub_modules_init.lst.
fe6b695a 38643 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 38644 than hardcoding grub_modules_init.h.
38645
38646 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
38647 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
38648 grub_probe_init.[ch] and grub_setup_init.[ch].
38649
38650 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
38651 grub_modules_init.h with grub_emu_init.h.
38652 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
38653 grub_probe_init.[ch] files.
38654 * conf/i386-efi.rmk: Likewise.
38655 * conf/i386-pc.rmk: Likewise.
38656 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
38657 grub_setup_init.[ch] files.
38658
38659 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
38660 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
38661 to initialize modules rather than a list of hardcoded functions.
38662 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
38663 grub_init_all() to initialize modules rather than a list of hardcoded
38664 functions.
38665
54cdc1cc 386662007-07-22 Robert Millan <rmh@aybabtu.com>
38667
38668 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
38669 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
38670
ad0686cc 386712007-07-22 Robert Millan <rmh@aybabtu.com>
38672
38673 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38674 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
38675 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
38676 flag when running on SmartFirmware.
38677 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
38678 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
38679 was set.
38680
38681 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
38682 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
38683 rather than decreasing it.
38684
38685 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
38686 there's not enough space to do it, fail in the same way as when it
38687 can't be done because there are no partitions.
38688
38689 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
38690 when nvsetenv failed.
38691
969c02ec 386922007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38693
38694 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
38695 because this rule is automatically generated.
38696 (grub-mkrescue): Removed for the same reason as above.
38697
5a79f472 386982007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
38699
38700 Migrate to GNU General Public License Version 3.
f19dbdb7 38701
5a79f472 38702 * COPYING: Replaced with the plain text version of GPLv3.
38703
38704 * config.guess: Updated from gnulib.
38705 * config.sub: Likewise.
38706
38707 * geninit.sh: Output a GPLv3 copyright notice.
38708 * geninitheader.sh: Likewise.
38709 * genmodsrc.sh: Likewise.
38710 * gensymlist.sh.in: Likewise.
38711
38712 * boot/i386/pc/boot.S: Upgraded to GPLv3.
38713 * boot/i386/pc/diskboot.S: Likewise.
38714 * boot/i386/pc/pxeboot.S: Likewise.
38715 * commands/blocklist.c: Likewise.
38716 * commands/boot.c: Likewise.
38717 * commands/cat.c: Likewise.
38718 * commands/cmp.c: Likewise.
38719 * commands/configfile.c: Likewise.
38720 * commands/echo.c: Likewise.
38721 * commands/help.c: Likewise.
38722 * commands/ls.c: Likewise.
38723 * commands/search.c: Likewise.
38724 * commands/terminal.c: Likewise.
38725 * commands/test.c: Likewise.
38726 * commands/videotest.c: Likewise.
38727 * commands/i386/cpuid.c: Likewise.
38728 * commands/i386/pc/halt.c: Likewise.
38729 * commands/i386/pc/play.c: Likewise.
38730 * commands/i386/pc/reboot.c: Likewise.
38731 * commands/i386/pc/vbeinfo.c: Likewise.
38732 * commands/i386/pc/vbetest.c: Likewise.
38733 * commands/ieee1275/halt.c: Likewise.
38734 * commands/ieee1275/reboot.c: Likewise.
38735 * commands/ieee1275/suspend.c: Likewise.
38736 * disk/loopback.c: Likewise.
38737 * disk/lvm.c: Likewise.
38738 * disk/raid.c: Likewise.
38739 * disk/efi/efidisk.c: Likewise.
38740 * disk/i386/pc/biosdisk.c: Likewise.
38741 * disk/ieee1275/ofdisk.c: Likewise.
38742 * font/manager.c: Likewise.
38743 * fs/affs.c: Likewise.
38744 * fs/ext2.c: Likewise.
38745 * fs/fat.c: Likewise.
38746 * fs/fshelp.c: Likewise.
38747 * fs/hfs.c: Likewise.
38748 * fs/hfsplus.c: Likewise.
38749 * fs/iso9660.c: Likewise.
38750 * fs/jfs.c: Likewise.
38751 * fs/minix.c: Likewise.
38752 * fs/sfs.c: Likewise.
38753 * fs/ufs.c: Likewise.
38754 * fs/xfs.c: Likewise.
38755 * hello/hello.c: Likewise.
38756 * include/grub/acorn_filecore.h: Likewise.
38757 * include/grub/arg.h: Likewise.
38758 * include/grub/bitmap.h: Likewise.
38759 * include/grub/boot.h: Likewise.
38760 * include/grub/cache.h: Likewise.
38761 * include/grub/device.h: Likewise.
38762 * include/grub/disk.h: Likewise.
38763 * include/grub/dl.h: Likewise.
38764 * include/grub/elfload.h: Likewise.
38765 * include/grub/env.h: Likewise.
38766 * include/grub/err.h: Likewise.
38767 * include/grub/file.h: Likewise.
38768 * include/grub/font.h: Likewise.
38769 * include/grub/fs.h: Likewise.
38770 * include/grub/fshelp.h: Likewise.
38771 * include/grub/gzio.h: Likewise.
38772 * include/grub/hfs.h: Likewise.
38773 * include/grub/kernel.h: Likewise.
38774 * include/grub/loader.h: Likewise.
38775 * include/grub/lvm.h: Likewise.
38776 * include/grub/misc.h: Likewise.
38777 * include/grub/mm.h: Likewise.
38778 * include/grub/net.h: Likewise.
38779 * include/grub/normal.h: Likewise.
38780 * include/grub/parser.h: Likewise.
38781 * include/grub/partition.h: Likewise.
38782 * include/grub/pc_partition.h: Likewise.
38783 * include/grub/raid.h: Likewise.
38784 * include/grub/rescue.h: Likewise.
38785 * include/grub/script.h: Likewise.
38786 * include/grub/setjmp.h: Likewise.
38787 * include/grub/symbol.h: Likewise.
38788 * include/grub/term.h: Likewise.
38789 * include/grub/terminfo.h: Likewise.
38790 * include/grub/tparm.h: Likewise.
38791 * include/grub/types.h: Likewise.
38792 * include/grub/video.h: Likewise.
38793 * include/grub/efi/api.h: Likewise.
38794 * include/grub/efi/chainloader.h: Likewise.
38795 * include/grub/efi/console.h: Likewise.
38796 * include/grub/efi/console_control.h: Likewise.
38797 * include/grub/efi/disk.h: Likewise.
38798 * include/grub/efi/efi.h: Likewise.
38799 * include/grub/efi/pe32.h: Likewise.
38800 * include/grub/efi/time.h: Likewise.
38801 * include/grub/i386/linux.h: Likewise.
38802 * include/grub/i386/setjmp.h: Likewise.
38803 * include/grub/i386/types.h: Likewise.
38804 * include/grub/i386/efi/kernel.h: Likewise.
38805 * include/grub/i386/efi/loader.h: Likewise.
38806 * include/grub/i386/efi/time.h: Likewise.
38807 * include/grub/i386/pc/biosdisk.h: Likewise.
38808 * include/grub/i386/pc/boot.h: Likewise.
38809 * include/grub/i386/pc/chainloader.h: Likewise.
38810 * include/grub/i386/pc/console.h: Likewise.
38811 * include/grub/i386/pc/init.h: Likewise.
38812 * include/grub/i386/pc/kernel.h: Likewise.
38813 * include/grub/i386/pc/loader.h: Likewise.
38814 * include/grub/i386/pc/memory.h: Likewise.
38815 * include/grub/i386/pc/multiboot.h: Likewise.
38816 * include/grub/i386/pc/serial.h: Likewise.
38817 * include/grub/i386/pc/time.h: Likewise.
38818 * include/grub/i386/pc/vbe.h: Likewise.
38819 * include/grub/i386/pc/vbeblit.h: Likewise.
38820 * include/grub/i386/pc/vbefill.h: Likewise.
38821 * include/grub/i386/pc/vbeutil.h: Likewise.
38822 * include/grub/i386/pc/vga.h: Likewise.
38823 * include/grub/ieee1275/ieee1275.h: Likewise.
38824 * include/grub/ieee1275/ofdisk.h: Likewise.
38825 * include/grub/powerpc/libgcc.h: Likewise.
38826 * include/grub/powerpc/setjmp.h: Likewise.
38827 * include/grub/powerpc/types.h: Likewise.
38828 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
38829 * include/grub/powerpc/ieee1275/console.h: Likewise.
38830 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
38831 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
38832 * include/grub/powerpc/ieee1275/loader.h: Likewise.
38833 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
38834 * include/grub/powerpc/ieee1275/time.h: Likewise.
38835 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
38836 * include/grub/sparc64/libgcc.h: Likewise.
38837 * include/grub/sparc64/setjmp.h: Likewise.
38838 * include/grub/sparc64/types.h: Likewise.
38839 * include/grub/sparc64/ieee1275/console.h: Likewise.
38840 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38841 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38842 * include/grub/sparc64/ieee1275/time.h: Likewise.
38843 * include/grub/util/biosdisk.h: Likewise.
38844 * include/grub/util/getroot.h: Likewise.
38845 * include/grub/util/lvm.h: Likewise.
38846 * include/grub/util/misc.h: Likewise.
38847 * include/grub/util/raid.h: Likewise.
38848 * include/grub/util/resolve.h: Likewise.
38849 * io/gzio.c: Likewise.
38850 * kern/device.c: Likewise.
38851 * kern/disk.c: Likewise.
38852 * kern/dl.c: Likewise.
38853 * kern/elf.c: Likewise.
38854 * kern/env.c: Likewise.
38855 * kern/err.c: Likewise.
38856 * kern/file.c: Likewise.
38857 * kern/fs.c: Likewise.
38858 * kern/loader.c: Likewise.
38859 * kern/main.c: Likewise.
38860 * kern/misc.c: Likewise.
38861 * kern/mm.c: Likewise.
38862 * kern/parser.c: Likewise.
38863 * kern/partition.c: Likewise.
38864 * kern/rescue.c: Likewise.
38865 * kern/term.c: Likewise.
38866 * kern/efi/efi.c: Likewise.
38867 * kern/efi/init.c: Likewise.
38868 * kern/efi/mm.c: Likewise.
38869 * kern/i386/dl.c: Likewise.
38870 * kern/i386/efi/init.c: Likewise.
38871 * kern/i386/efi/startup.S: Likewise.
38872 * kern/i386/pc/init.c: Likewise.
38873 * kern/i386/pc/lzo1x.S: Likewise.
38874 * kern/i386/pc/startup.S: Likewise.
38875 * kern/ieee1275/ieee1275.c: Likewise.
38876 * kern/powerpc/cache.S: Likewise.
38877 * kern/powerpc/dl.c: Likewise.
38878 * kern/powerpc/ieee1275/cmain.c: Likewise.
38879 * kern/powerpc/ieee1275/crt0.S: Likewise.
38880 * kern/powerpc/ieee1275/init.c: Likewise.
38881 * kern/powerpc/ieee1275/openfw.c: Likewise.
38882 * kern/sparc64/cache.S: Likewise.
38883 * kern/sparc64/dl.c: Likewise.
38884 * kern/sparc64/ieee1275/init.c: Likewise.
38885 * kern/sparc64/ieee1275/openfw.c: Likewise.
38886 * loader/efi/chainloader.c: Likewise.
38887 * loader/efi/chainloader_normal.c: Likewise.
38888 * loader/i386/efi/linux.c: Likewise.
38889 * loader/i386/efi/linux_normal.c: Likewise.
38890 * loader/i386/pc/chainloader.c: Likewise.
38891 * loader/i386/pc/chainloader_normal.c: Likewise.
38892 * loader/i386/pc/linux.c: Likewise.
38893 * loader/i386/pc/linux_normal.c: Likewise.
38894 * loader/i386/pc/multiboot.c: Likewise.
38895 * loader/i386/pc/multiboot_normal.c: Likewise.
38896 * loader/powerpc/ieee1275/linux.c: Likewise.
38897 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38898 * normal/arg.c: Likewise.
38899 * normal/cmdline.c: Likewise.
38900 * normal/command.c: Likewise.
38901 * normal/completion.c: Likewise.
38902 * normal/execute.c: Likewise.
38903 * normal/function.c: Likewise.
38904 * normal/lexer.c: Likewise.
38905 * normal/main.c: Likewise.
38906 * normal/menu.c: Likewise.
38907 * normal/menu_entry.c: Likewise.
38908 * normal/misc.c: Likewise.
38909 * normal/parser.y: Likewise.
38910 * normal/script.c: Likewise.
38911 * normal/i386/setjmp.S: Likewise.
38912 * normal/powerpc/setjmp.S: Likewise.
38913 * normal/sparc64/setjmp.S: Likewise.
38914 * partmap/acorn.c: Likewise.
38915 * partmap/amiga.c: Likewise.
38916 * partmap/apple.c: Likewise.
38917 * partmap/gpt.c: Likewise.
38918 * partmap/pc.c: Likewise.
38919 * partmap/sun.c: Likewise.
38920 * term/gfxterm.c: Likewise.
38921 * term/terminfo.c: Likewise.
38922 * term/efi/console.c: Likewise.
38923 * term/i386/pc/console.c: Likewise.
38924 * term/i386/pc/serial.c: Likewise.
38925 * term/i386/pc/vesafb.c: Likewise.
38926 * term/i386/pc/vga.c: Likewise.
38927 * term/ieee1275/ofconsole.c: Likewise.
38928 * util/biosdisk.c: Likewise.
38929 * util/console.c: Likewise.
38930 * util/genmoddep.c: Likewise.
38931 * util/getroot.c: Likewise.
38932 * util/grub-emu.c: Likewise.
38933 * util/grub-mkdevicemap.c: Likewise.
38934 * util/grub-probe.c: Likewise.
38935 * util/lvm.c: Likewise.
38936 * util/misc.c: Likewise.
38937 * util/raid.c: Likewise.
38938 * util/resolve.c: Likewise.
38939 * util/update-grub.in: Likewise.
38940 * util/update-grub_lib.in: Likewise.
38941 * util/grub.d/00_header.in: Likewise.
38942 * util/grub.d/10_hurd.in: Likewise.
38943 * util/grub.d/10_linux.in: Likewise.
38944 * util/i386/efi/grub-install.in: Likewise.
38945 * util/i386/efi/grub-mkimage.c: Likewise.
38946 * util/i386/pc/grub-install.in: Likewise.
38947 * util/i386/pc/grub-mkimage.c: Likewise.
38948 * util/i386/pc/grub-mkrescue.in: Likewise.
38949 * util/i386/pc/grub-setup.c: Likewise.
38950 * util/i386/pc/misc.c: Likewise.
38951 * util/powerpc/ieee1275/grub-install.in: Likewise.
38952 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
38953 * util/powerpc/ieee1275/misc.c: Likewise.
38954 * video/bitmap.c: Likewise.
38955 * video/video.c: Likewise.
38956 * video/i386/pc/vbe.c: Likewise.
38957 * video/i386/pc/vbeblit.c: Likewise.
38958 * video/i386/pc/vbefill.c: Likewise.
38959 * video/i386/pc/vbeutil.c: Likewise.
38960 * video/readers/tga.c: Likewise.
38961
3572d015 389622007-07-02 Robert Millan <rmh@aybabtu.com>
38963
38964 * conf/i386-efi.rmk: Replace obsolete reference to
38965 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
38966 with util/getroot.c.
38967 * conf/powerpc-ieee1275.rmk: Likewise.
38968 * conf/sparc64-ieee1275.rmk: Likewise.
38969
38970 * util/grub-emu.c (main): Fix unchecked pointer handling.
38971
2c2a681b 389722007-07-02 Robert Millan <rmh@aybabtu.com>
38973
38974 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
38975 invocation to fail, in order to support partition-less media.
38976
38977 * util/i386/pc/grub-install.in: Likewise.
38978
38979 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
38980 which fs or partmap modules are needed (akin to its sister scripts).
38981
38982 Also use grub-probe to get rid of unportable /proc/mounts check.
38983
38984 Print the same informational message that the other scripts do, before
fe6b695a 38985 exiting.
2c2a681b 38986
6193defe 389872007-06-23 Robert Millan <rmh@aybabtu.com>
38988
fe6b695a 38989 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 38990 a font file can be found and, if so, echo the GRUB path to it.
38991
38992 * util/update-grub.in: Handle multiple terminals depending on user
38993 input, platform availability and font file presence. Propagate
38994 variables of our findings to /etc/grub.d/ children.
38995
38996 * util/grub.d/00_header.in: Handle multiple terminals, based on
38997 environment setup by update-grub.
38998
eface1dc 389992007-06-23 Robert Millan <rmh@aybabtu.com>
39000
ba50d28f 39001 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 39002
bf697e28 390032007-06-21 Robert Millan <rmh@aybabtu.com>
39004
39005 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39006 indicate end of data section in kernel image.
39007 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39008 GRUB_KERNEL_MACHINE_DATA_END.
39009
39010 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39011 space for it.
39012 * kern/i386/efi/startup.S: Likewise.
39013
39014 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39015 during image generation. Implement --prefix option to override this
39016 patch.
39017 * util/i386/efi/grub-mkimage.c: Likewise.
39018
39019 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39020 code to make path relative to its root into a separate function.
39021
39022 * util/i386/pc/grub-install.in: Use newly provided
39023 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39024 pass the result to grub-install --prefix.
39025
baa574b4 390262007-06-13 Robert Millan <rmh@aybabtu.com>
39027
39028 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39029 DEFAULT_DEVICE_MAP.
39030 * util/grub-emu.c: Use above definitions from misc.h instead of
39031 defining them.
39032 * util/grub-mkdevicemap.c: Likewise.
39033 * util/i386/pc/grub-setup.c: Likewise.
39034 * util/grub-probe.c: Likewise.
39035 (probe): Abort with grub_util_error() when either
39036 grub_guess_root_device or grub_util_get_grub_dev fails.
39037
0215dcbf 390382007-06-12 Robert Millan <rmh@aybabtu.com>
39039
39040 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39041 "pager" assignment.
39042 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39043 "pcdata".
39044 * util/grub-probe.c (probe): Likewise for "drive_name".
39045
8af2ab7b 390462007-06-11 Robert Millan <rmh@aybabtu.com>
39047
39048 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39049 not just the cdrom one.
39050
59d31694 390512007-06-11 Robert Millan <rmh@aybabtu.com>
39052
39053 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39054 Add --pkglibdir=DIR option to override pkglibdir.
39055 Mention --image-type=TYPE in help output.
39056 Fix --grub-mkimage (it was a no-op).
fe6b695a 39057 Abort gracefully when no parameter is given.
59d31694 39058
7ee367e4 390592007-06-11 Robert Millan <rmh@aybabtu.com>
39060
39061 * util/i386/pc/grub-mkrescue.in: New file.
39062 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39063 * Makefile.in: Handle bin_SCRIPTS.
39064
29b0ed46 390652007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39066
39067 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39068 list of video modes.
39069
c0f90770 390702007-06-06 Robert Millan <rmh@aybabtu.com>
39071
39072 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39073 file doesn't exist, or if it is in a filesystem grub can't read.
39074
39075 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39076 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39077 header comment to fit in 80 columns when the variables are resolved.
39078
39079 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39080 could be identified by update-grub. Remove redundant check for
fe6b695a 39081 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 39082 handles that).
39083
fb36dc26 390842007-06-04 Robert Millan <rmh@aybabtu.com>
39085
39086 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39087
39088 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39089
39090 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39091
0c68c93e 390922007-06-04 Robert Millan <rmh@aybabtu.com>
39093
39094 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39095
39096 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39097 grub_apple_partition_map_fini.
39098
39099 * util/biosdisk.c
39100 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39101 to access >2 TiB disks).
39102
39103 Print disk->total_sectors with %llu instead of %lu, since this
39104 variable is always 64-bit (prevents wrong disk size from being displayed
39105 on either >2 TiB disk or big-endian CPU).
39106
39107 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39108 into a generic case that supports all (sane) partition maps.
39109
39110 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39111 breaks big-endian.
39112
39113 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39114 and grub_apple_partition_map_fini() after that.
39115
0f23eb74 391162007-06-01 Robert Millan <rmh@aybabtu.com>
39117
39118 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39119
39120 * util/grub.d/00_header.in: Only enable gfxterm when
39121 convert_system_path_to_grub_path() succeeds.
39122
42c71976 391232007-05-20 Robert Millan <rmh@aybabtu.com>
39124
39125 * util/update-grub_lib.in: New file.
39126 * DISTLIST: Add update-grub_lib.in.
39127 * conf/common.rmk: Generate update-grub_lib and install it in
39128 $(lib_DATA).
39129 * Makefile.in: Add install routine for $(lib_DATA).
39130
39131 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39132 function provided by update-grub_lib to support arbitrary paths of
39133 unifont.pff.
39134 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39135 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39136
5beb2291 391372007-05-19 Robert Millan <rmh@aybabtu.com>
39138
39139 * commands/i386/cpuid.c: New module.
39140 * DISTLIST: Add it.
39141 * conf/i386-efi.rmk: Enable cpuid.mod.
39142 * conf/i386-pc.rmk: Likewise.
39143
7262eca1 391442007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39145
39146 * kern/disk.c (grub_disk_read): Check return value of
39147 grub_realloc().
39148
260ba823 391492007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39150
39151 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39152 arrays.
39153 * disk/raid.c (grub_raid_open): Likewise.
39154
1ecb6cf2 391552007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39156
39157 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39158 stack instead of on the heap.
39159
39160 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39161 before doing a read on it.
39162
39163 * configure.ac: Only use -fno-stack-protector for the target
39164 environment.
f19dbdb7 39165
21c8cbb1 391662007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39167
39168 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39169 __attribute_ ((unused)) to mode_type argument.
39170
39171 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 39172
21c8cbb1 39173 * kern/misc.c (memcmp): Fix prototype.
39174
39175 * include/grub/partition.h [GRUB_UTIL]
39176 (grub_gpt_partition_map_init): Add prototype.
39177 (grub_gpt_partition_map_fini): Likewise.
39178
39179 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39180 at the right place.
39181
39182 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39183 (grub_fat_read_data): Likewise.
39184 (grub_fat_find_dir): Likewise.
39185
39186 * font/manager.c (find_glyph): Make table a const.
39187 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 39188
849d55d3 391892007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39190
39191 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39192 code, first search for device in /dev/mapper, then in /dev.
39193 (grub_util_get_grub_dev): New function.
39194 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39195 prototype.
39196 * util/grub-probe.c (probe): Remove check for RAID, call
39197 grub_util_get_grub_dev() instead of
39198 grub_util_biosdisk_get_grub_dev().
39199 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39200 grub_util_biosdisk_get_grub_dev().
39201 * util/i386/pc/grub-setup.c (main): Likewise.
39202
8fff7c2f 392032007-05-16 Robert Millan <rmh@aybabtu.com>
39204
39205 * DISTLIST: Update for the latest changes.
39206 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39207 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39208 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39209 grub/util/biosdisk.h.
39210 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39211 grub/util/biosdisk.h.
39212
48e12b52 392132007-05-16 Robert Millan <rmh@aybabtu.com>
39214
39215 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39216
46b9d128 392172007-05-16 Robert Millan <rmh@aybabtu.com>
39218
39219 * util/i386/efi/grub-install.in: New.
39220 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39221 newly added grub-install.
39222 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39223 include.
39224 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39225 grub/util/biosdisk.h.
39226 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39227 grub/util/biosdisk.h.
39228
2d1a40a9 392292007-05-16 Robert Millan <rmh@aybabtu.com>
39230
39231 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39232 * include/grub/util/biosdisk.h: ... here.
39233 * util/i386/pc/biosdisk.c: Moved to ...
39234 * util/biosdisk.c: ... here.
39235 * util/i386/pc/getroot.c: Moved to ...
39236 * util/getroot.c: ... here.
39237 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39238 * util/grub-mkdevicemap.c: ... here.
39239 * util/i386/pc/grub-probe.c: Moved to ...
39240 * util/grub-probe.c: ... here.
39241
9e26e3bc 392422007-05-15 Robert Millan <rmh@aybabtu.com>
39243
39244 * util/update-grub.in: Remove duplicated line in grub.cfg header
39245 message.
39246
57f96397 392472007-05-13 Robert Millan <rmh@aybabtu.com>
39248
39249 * util/update-grub.in: Fix a few assumptions about the devices holding
39250 /, /boot and /boot/grub being the same.
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
39255 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
39256 patterns. Use that to define the `.old' suffix as older than `'.
39257
39258 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
39259
39260 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
39261 the grub.cfg header message.
39262
2e610d62 392632007-05-11 Robert Millan <rmh@aybabtu.com>
39264
39265 * util/update-grub.in: Create device.map if it doesn't already exist,
39266 before attempting to run grub-probe.
39267 Check for grub-probe and grub-mkdevicemap with the same code
39268 grub-install is using.
39269 Remove test mode.
39270
3f6a10ef 392712007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
39272
39273 * Makefile.in: Add the datarootdir autoconf variable.
39274
02e7b75e 392752007-05-09 Robert Millan <rmh@aybabtu.com>
39276
39277 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 39278 fail gracefully if dev->disk->partition == NULL.
02e7b75e 39279
75f396cc 392802007-05-07 Robert Millan <rmh@aybabtu.com>
39281
39282 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
39283 determine partition map module.
39284 * util/i386/pc/grub-install.in: Use this feature to decide which
39285 partition module to load, instead of hardcoding pc and gpt.
39286
da65cb36 392872007-05-07 Robert Millan <rmh@aybabtu.com>
39288
39289 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
39290 source directory differs from build directory.
39291
b57d6a91 392922007-05-05 Robert Millan <rmh@aybabtu.com>
39293
39294 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
39295 initialisation.
39296
509d00f1 392972007-05-05 Robert Millan <rmh@aybabtu.com>
39298
39299 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
39300
c48f23ef 393012007-05-05 Robert Millan <rmh@aybabtu.com>
39302
39303 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
39304 command-line arguments via ${GRUB_CMDLINE_LINUX}.
39305
20b97658 393062007-05-05 Robert Millan <rmh@aybabtu.com>
39307
39308 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
39309 (grub_probe_SOURCES): Likewise.
39310 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
39311 GPT and initialize dos_part and bsd_part accordingly.
39312 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
39313 install_bsd_part.
39314 (main): Activate gpt module for use during partition identification,
39315 and deactivate it afterwards.
39316 * util/i386/pc/grub-install.in: Add gpt module to core.img.
39317 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
39318 partition identification, and deactivate it afterwards.
39319
99123174 393202007-05-05 Robert Millan <rmh@aybabtu.com>
39321
39322 * term/i386/pc/console.c (grub_console_fini): Call
39323 grub_term_set_current() before grub_term_unregister().
39324
ebd97f6e 393252007-05-04 Robert Millan <rmh@aybabtu.com>
39326
39327 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
39328 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
39329 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
39330 and update-grub_DATA.
39331 * conf/common.rmk: Build and install update-grub components.
39332 * conf/common.mk: Regenerate.
39333 * util/update-grub.in: New. Core of update-grub.
39334 * util/grub.d/00_header.in: New. Generates grub.cfg header.
39335 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
39336 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
39337 * util/grub.d/README: New. Document grub.d directory layout.
39338
b06a264d 393392007-05-01 Robert Millan <rmh@aybabtu.com>
39340
39341 * util/grub-emu.c: Move initialization functions
39342 grub_util_biosdisk_init() and grub_init_all() before
39343 grub_util_biosdisk_get_grub_dev(), which relies on them.
39344
41f0050e 393452007-04-19 Robert Millan <rmh@aybabtu.com>
39346
39347 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
39348 it is used later.
39349
04582bb3 393502007-04-18 Jerone Young <jerone@gmail.com>
39351
f19dbdb7 39352 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 39353 stanza.
39354
08db4632 393552007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 39356
08db4632 39357 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
39358 continue on and look for device node with real device name.
39359
801b76be 393602007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 39361
fe6b695a 39362 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 39363 ability.
39364 * Makefile.in: Add autoconf package transformation code.
39365 * util/i386/pc/grub-install.in: Likewise.
39366 * util/powerpc/ieee1275/grub-install.in: Likewise.
39367
6795c4e1 393682007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39369
39370 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
39371 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
39372 (EXT2_REVISION): Likewise.
39373 (EXT2_INODE_SIZE): Likewise.
39374 (struct grub_ext2_block_group): Added a missing member
39375 "used_dirs".
39376 (grub_ext2_read_inode): Divide by the inode size in a superblock
39377 instead of 128 to obtain INODES_PER_BLOCK.
39378 Use the macro EXT2_INODE_SIZE instead of directly using
39379 SBLOCK->INODE_SIZE.
39380
d70af616 393812007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39382
39383 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
39384 superblock instead of the structure size to compute an
39385 offset. This fixes the problem that GRUB could not read a
39386 filesystem when inode size is different from 128-byte.
39387
3b801603 393882007-03-05 Marco Gerards <marco@gnu.org>
39389
39390 * normal/main.c (read_config_file): When "menu" is not set, create
39391 an initial context.
39392
4785bfe4 393932007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39394
39395 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
39396 (HEAP_LIMIT): New macro.
39397 (grub_claim_heap): Claim memory up to `heaplimit'.
39398
a0cbb023 393992007-02-21 Hollis Blanchard <hollis@penguinppc.org>
39400
39401 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
39402 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
39403 (_start): Likewise.
39404 (grub_arch_modules_addr): Return address after `_end'.
39405 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
39406 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
39407 (add_segments): Calculate `_end' from phdr size and location.
39408 (ALIGN_UP): Moved to ...
39409 * include/grub/misc.h: here.
39410 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39411 New macro.
39412 (GRUB_IEEE1275_MODULE_BASE): Removed.
39413
fd7d8eba 394142007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39415
39416 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
39417 loop boundary.
39418
9b09e6fc 394192007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39420
39421 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
39422 All users updated.
39423 (grub_elf64_load_hook_t): Likewise.
39424 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
39425 debug output.
39426
3ce27299 394272007-02-20 Hollis Blanchard <hollis@penguinppc.org>
39428
39429 * kern/mm.c: Update copyright.
39430 (grub_mm_debug): Correct syntax error.
39431 (grub_mm_dump_free): New function.
39432 (grub_debug_free): Call `grub_free'.
39433 * include/grub/mm.h: Update copyright.
39434 (grub_mm_dump_free): Add declaration.
39435
077d5fee 394362007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39437
39438 * include/grub/ieee1275/ieee1275.h: Update copyright.
39439 * kern/powerpc/ieee1275/init.c: Likewise.
39440 * kern/powerpc/ieee1275/openfw.c: Likewise.
39441
39442 * loader/powerpc/ieee1275/linux.c: Likewise.
39443 * include/grub/elfload.h: Likewise.
39444 * kern/elf.c: Likewise.
39445 (grub_elf32_load): Pass `base' and `size' parameters. Update all
39446 callers.
39447 (grub_elf64_load): Likewise.
39448 (grub_elf32_load_segment): Move to a nested function.
39449 (grub_elf64_load_segment): Likewise.
39450
dc946850 394512007-02-12 Hollis Blanchard <hollis@penguinppc.org>
39452
39453 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
39454 prototype.
39455 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
39456 (grub_heap_len): Likewise.
39457 (HEAP_SIZE): New macro.
39458 (grub_claim_heap): New function.
39459 (grub_machine_init): Don't claim heap directly. Call
39460 `grub_claim_heap'.
39461 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
39462 (grub_available_iterate): New function.
39463
baa2a121 394642007-02-03 Thomas Schwinge <tschwinge@gnu.org>
39465
39466 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
39467 * configure.ac: Use it for testing the HOST and TARGET compilers.
39468
4fe9862e 394692006-12-13 Thomas Schwinge <tschwinge@gnu.org>
39470
39471 * Makefile.in (enable_grub_emu): New variable.
39472 * configure.ac (--enable-grub-emu): New option.
39473 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
39474 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
39475 * conf/i386-pc.rmk: Likewise.
39476 * conf/powerpc-ieee1275.rmk: Likewise.
39477 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
39478
a8aa5762 394792006-12-12 Marco Gerards <marco@gnu.org>
39480
39481 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
39482
39483 * kern/env.c (grub_env_unset): Don't free the member `value' when
39484 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
39485 pointer.
39486
39487 * normal/main.c (current_menu): Removed.
39488 (free_menu): Unset the `menu' environment variable.
39489 (grub_normal_menu_addentry): Make use of the environment variable
39490 `menu', instead of using the global `current_menu'. Allocate
39491 memory for the sourcecode of this entry.
39492 (read_config_file): New argument `nested', changed all callers.
39493 Only in the case of a new context, initialize a new menu. Set the
39494 `menu' environment variable.
39495 (grub_normal_execute): Don't set and unset the environment
39496 variable `menu' here anymore. Only free the menu when leaving the
39497 context.
39498
39499 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
39500 leak.
39501
957b3a3e 395022006-12-11 Marco Gerards <marco@gnu.org>
39503
39504 * normal/menu_entry.c (run): Fix off by one bug so the last line
39505 is executed. Move the loader check to outside the loop.
39506
ef875714 395072006-12-08 Hollis Blanchard <hollis@penguinppc.org>
39508
39509 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
39510
4e739985 395112006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
39512
39513 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
39514 the number of sectors. Reported by Andrey Shuvikov
39515 <mr_hyro@yahoo.com>.
f19dbdb7 39516
790707f2 395172006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
39518
39519 * kern/disk.c (grub_disk_read): When there is a read error, always
39520 try to read only the necessary data.
f19dbdb7 39521
790707f2 39522 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
39523 disk/raid.c.
39524 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
39525 prototype.
39526 [GRUB_UTIL] (grub_raid_fini): Likewise.
39527 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 39528 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 39529 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
39530 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
39531 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
39532 and grub_raid_fini().
f19dbdb7 39533
03e58196 395342006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39535
39536 * include/grub/types.h (__unused): Rename to UNUSED.
39537 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
39538 (grub_elf64_size): Likewise.
f19dbdb7 39539
ae4f23bf 395402006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39541
39542 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
39543 grub_error_push and grub_error_pop in the error-handling path.
39544 (grub_elf32_load_segment): Only call grub_file_read with non-zero
39545 length.
39546
2166cc83 395472006-11-03 Hollis Blanchard <hollis@penguinppc.org>
39548
39549 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
39550 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39552 (kernel_elf_SOURCES): Likewise.
39553 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
39554 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
39555 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39556 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39557 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
39558 (elf_mod_SOURCES): New variable.
39559 (elf_mod_CFLAGS): Likewise.
39560 (elf_mod_LDFLAGS): Likewise.
39561 * include/grub/types.h (__unused): New macro.
39562 * include/grub/elfload.h: New file.
39563 * kern/elf.c: Likewise.
39564 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
39565 (ELF32_LOADMASK): New macro.
39566 (ELF64_LOADMASK): Likewise.
39567 (vmlinux): Removed.
39568 (grub_linux_load32): New function.
39569 (grub_linux_load64): Likewise.
39570 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
39571 Use grub_elf_t instead of grub_file_t.
39572
a09d5aa5 395732006-11-02 Hollis Blanchard <hollis@penguinppc.org>
39574
39575 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
39576 `catch_result' to struct set_color_args.
39577
d976fc51 395782006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
39579
39580 * normal/menu.c: Include grub/script.h.
39581 * normal/menu_entry.c: Likewise.
39582 * include/grub/normal.h: Do not include grub/script.h.
39583
67507549 395842006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39585
39586 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
39587
69203a99 395882006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39589
39590 * kern/disk.c (grub_disk_open): Print debug messages when opening a
39591 disk.
39592 (grub_disk_close): Print debug messages when closing a disk.
39593 (grub_disk_read): Print debug messages when disk read fails.
39594 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
39595 filesystem type.
39596 * kern/partition.c: Include misc.h.
39597 (grub_partition_iterate): Print debug messages when detecting
39598 partition type.
39599
e2b8278c 396002006-10-27 Hollis Blanchard <hollis@penguinppc.org>
39601
39602 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
39603 is negative.
39604 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
39605
97b2f2ff 396062006-10-26 Hollis Blanchard <hollis@penguinppc.org>
39607
39608 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39609 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
39610
6555d655 396112006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
39612
39613 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
39614 instead of sizeof(lv). Patch by Michael Guntsche.
39615
4d42b77f 396162006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
39617
39618 * disk/lvm.c: Rename VGS to VG_LIST.
39619 (grub_lvm_iterate): Change VGS->LV to VG-LV.
39620 (grub_lvm_open): Likewise.
39621 Thanks to Michael Guntsche for finding this bug.
39622
5d74d927 396232006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
39624
39625 * configure.ac (AC_INIT): Bumped to 1.95.
39626
a1bb27e4 396272006-10-14 Robert Millan <rmh@aybabtu.com>
39628
39629 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
39630 with "/dev/.static/dev/md".
39631
e0994b8b 396322006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39633
39634 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
39635 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
39636 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
39637 DRIVE_NAME are always freed.
39638
39639 * util/i386/pc/biosdisk.c (make_device_name): Add one into
39640 DOS_PART, as a DOS partition is counted from one instead of zero
39641 now. Reported by Robert Millan.
39642
ddd5cee9 396432006-10-14 Robert Millan <rmh@aybabtu.com>
39644
39645 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
39646 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
39647 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
39648 string returned by grub_guess_root_device.
39649 * util/i386/pc/grub-setup.c: Likewise.
39650 * util/i386/pc/grub-probefs.c: Likewise.
39651
39652 * util/i386/pc/grub-probefs.c: Rename to ...
39653 * util/i386/pc/grub-probe.c: ... this.
39654 * DISTLIST: Remove grub-probefs, add grub-probe.
39655 * conf/i386-efi.rmk: Likewise.
39656 * conf/i386-pc.rmk: Likewise.
39657 * util/i386/pc/grub-install.in: Likewise.
39658
39659 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
39660 choose which information we want to print.
39661
2b002173 396622006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
39663
39664 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
39665 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
39666 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
39667 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
39668 video/readers/tga.c and video/i386/pc/vbeutil.c.
39669
396702006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
39671
39672 Added support for RAID and LVM.
f19dbdb7 39673
2b002173 39674 * disk/lvm.c: New file.
39675 * disk/raid.c: Likewise.
39676 * include/grub/lvm.h: Likewise.
f19dbdb7 39677 * include/grub/raid.h: Likewise.
2b002173 39678 * include/grub/util/lvm.h: Likewise.
39679 * include/grub/util/raid.h: Likewise.
39680 * util/lvm.c: Likewise.
39681 * util/raid.c: Likewise.
39682
39683 * include/grub/disk.h (grub_disk_dev_id): Add
39684 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
39685 (grub_disk_get_size): New prototype.
39686 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
39687 returns a partition.
39688 (grub_disk_get_size): New function.
f19dbdb7 39689
2b002173 39690 * kern/i386/pc/init.c (make_install_device): Copy the prefix
39691 verbatim if grub_install_dos_part is -2.
39692
39693 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
39694 and LVM devices.
39695
39696 * util/i386/pc/grub-setup.c (setup): New argument
39697 MUST_EMBED. Force embedding of GRUB when the argument is
39698 true. Close FILE before returning.
39699 (main): Add support for RAID and LVM.
f19dbdb7 39700
2b002173 39701 * conf/common.rmk: Add RAID and LVM modules.
39702 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
39703 util/lvm.c.
39704 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
39705
39706 * kern/misc.c (grub_strstr): New function.
39707 * include/grub/misc.h (grub_strstr): New prototype.
39708
050548d0 397092006-10-10 Tristan Gingold <tristan.gingold@bull.net>
39710
39711 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
39712
da849d2d 397132006-10-05 Tristan Gingold <tristan.gingold@bull.net>
39714
39715 * kern/misc.c (grub_strtoull): Guess the base only if not
39716 specified.
39717
97b2f2ff 397182006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 39719
39720 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
39721 PowerMac support.
39722
97b2f2ff 397232006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 39724
39725 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
39726
39727 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
39728 Remove `flags' argument. All callers changed.
39729 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
39730 (IEEE1275_IHANDLE_INVALID): New variable.
39731 (IEEE1275_CELL_INVALID): New variable.
39732 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
39733 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
39734 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
39735 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
39736 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
39737 codes from Open Firmware. All callers updated.
39738 (grub_ieee1275_next_property): Directly return Open Firmware return
39739 code.
39740 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
39741 Standardize error checking from `grub_ieee1275_get_property'.
39742 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
39743 `devalias' to `aliases'. Correct comments. Consolidate error paths.
39744
97b2f2ff 397452006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 39746
39747 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
39748 `instance_to_package_args' to `instance_to_path_args'.
39749
39750 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
39751 `grub_ieee1275_chosen'.
39752
39753 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
39754 `grub_ieee1275_interpret'.
39755
97b2f2ff 397562006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 39757
39758 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
39759
97b2f2ff 397602006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 39761
39762 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
39763 (__cmpdi): Likewise.
39764
39765 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
39766 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
39767 `grub_ssize_t'.
39768
02bb8acc 39769 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 39770
39771 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
39772 to type `grub_ssize_t'.
39773 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
39774
7f9a8531 397752006-09-22 Marco Gerards <marco@gnu.org>
39776
39777 * normal/script.c (grub_script_create_cmdmenu): Skip leading
39778 newlines.
39779
b5ef1102 397802006-09-22 Marco Gerards <marco@gnu.org>
39781
39782 * commands/echo.c: New file.
39783
39784 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
39785
39786 * conf/common.rmk (echo_mod_SOURCES): New variable.
39787 (echo_mod_CFLAGS): Likewise.
39788 (echo_mod_LDFLAGS): Likewise.
39789
2cff3677 397902006-09-22 Marco Gerards <marco@gnu.org>
39791
39792 * normal/main.c (get_line): Malloc memory instead of using
39793 preallocated memory. Removed the arguments `cmdline' and
39794 `max_len'. Updated all callers.
39795
6ba4688b 397962006-09-22 Marco Gerards <marco@gnu.org>
39797
39798 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
39799 (normal_mod_DEPENDENCIES): Likewise.
39800
39801 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
39802 (normal_mod_DEPENDENCIES): Likewise.
39803
39804 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
39805
e02ac02c 398062006-09-22 Johan Rydberg <jrydberg@gnu.org>
39807
39808 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
39809 programs.
39810 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
39811 (normal_mod_DEPENDENCIES): Likewise.
39812 * conf/i386-pc.mk: Regenerate.
39813 * conf/i386-efi.mk: Likewise
39814 * conf/common.mk: Likewise.
39815 * conf/powerpc-ieee1275.mk: Likewise.
39816 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 39817
8d252e44 398182006-09-22 Robert Millan <rmh@aybabtu.com>
39819
39820 Sync with i386 version.
39821 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
39822 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
39823
209bf7ac 398242006-09-21 Robert Millan <rmh@aybabtu.com>
39825
39826 Import from GRUB Legacy (lib/device.c):
39827 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
39828 (init_device_map) [__linux__]: Add support for I2O devices.
39829
6b146090 398302006-09-14 Marco Gerards <marco@gnu.org>
39831
39832 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
39833 `-melf_i386'.
39834
e38600a8 398352006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 39836
39837 * util/i386/pc/grub-install.in: Skip menu.lst when removing
39838 /boot/grub/*.lst.
78fa1790 39839
2952da5d 39840 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 39841
2952da5d 39842 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
39843 before adding it to device.map.
39844
01b82a64 398452006-08-15 Johan Rydberg <jrydberg@gnu.org>
39846
fe6b695a 39847 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 39848 compiles a file; using the -MD option.
39849 * conf/common.mk: Regenerate.
39850 * conf/i386-pc.mk: Likewise.
39851 * conf/i386-efi.mk: Likewise.
39852 * conf/powerpc-ieee1275.mk: Likewise.
39853 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 39854
1064790d 398552006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
39856
39857 Move the prototypes of grub_setjmp and grub_longjmp to
39858 cpu/setjmp.h, so that each architecture may specify different
39859 attributes.
f19dbdb7 39860
1064790d 39861 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
39862 (grub_longjmp): Likewise.
39863 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
39864 (grub_longjmp): Likewise.
39865 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
39866 (grub_longjmp): Likewise.
39867
39868 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
39869 [!GRUB_UTIL] (grub_longjmp): Removed.
39870
29dda3ed 398712006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
39872
39873 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
39874 "color!" method does not return any value.
39875
ad2a06ed 398762006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39877
39878 * include/grub/bitmap.h: New file.
39879
39880 * include/grub/i386/pc/vbeutil.h: Likewise.
39881
39882 * video/bitmap.c: Likewise.
39883
39884 * video/readers/tga.c: Likewise.
39885
39886 * video/i386/pc/vbeutil.c: Likewise.
39887
39888 * commands/videotest.c: Code cleanup and updated to reflect to new
39889 video API.
39890
39891 * term/gfxterm.c: Likewise.
39892
39893 * video/video.c: Likewise.
39894
39895 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
39896 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
39897 (bitmap_mod_SOURCES): New entry.
39898 (bitmap_mod_CFLAGS): Likewise.
39899 (bitmap_mod_LDFLAGS): Likewise.
39900 (tga_mod_SOURCES): Likewise.
39901 (tga_mod_CFLAGS): Likewise.
39902 (tga_mod_LDFLAGS): Likewise.
39903
39904 * include/grub/video.h (grub_video_blit_operators): New enum type.
39905 (grub_video_render_target): Changed as forward declaration and moved
39906 actual definition to be video driver specific.
39907 (grub_video_adapter.blit_bitmap): Added blitting operator.
39908 (grub_video_adapter.blit_render_target): Likewise.
39909 (grub_video_blit_bitmap): Likewise.
39910 (grub_video_blit_render_target): Likewise.
39911
39912 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
39913 driver specific render target definition.
39914 (grub_video_vbe_map_rgba): Added driver internal helper.
39915 (grub_video_vbe_unmap_color): Updated to use
39916 grub_video_i386_vbeblit_info.
39917 (grub_video_vbe_get_video_ptr): Likewise.
39918
39919 * include/grub/i386/pc/vbeblit.h
39920 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
39921 grub_video_i386_vbeblit_info.
39922 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
39923 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
39924 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
39925 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
39926 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
39927 (grub_video_i386_vbeblit_index_index): Likewise.
39928 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
39929 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
39930 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
39931 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
39932 operator.
39933 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
39934 operator.
39935
39936 * video/i386/pc/vbeblit.c: Updated to reflect changes on
39937 include/grub/i386/pc/vbeblit.h.
39938
39939 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
39940 Updated to use grub_video_i386_vbeblit_info.
39941 (grub_video_i386_vbefill_R8G8B8): Likewise.
39942 (grub_video_i386_vbefill_index): Likewise.
39943 (grub_video_i386_vbefill): Added generic filler.
39944
39945 * video/i386/pc/vbefill.c: Updated to reflect changes on
39946 include/grub/i386/pc/vbefill.h.
39947
39948 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
39949 grub_video_i386_vbeblit_info.
39950 (grub_video_vbe_unmap_color): Likewise.
39951 (grub_video_vbe_blit_glyph): Likewise.
39952 (grub_video_vbe_scroll): Likewise.
39953 (grub_video_vbe_draw_pixel): Removed function.
39954 (grub_video_vbe_get_pixel): Likewise.
39955 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
39956 updated code to use it.
39957 (common_blitter): Added common blitter for render target and bitmap.
39958 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
39959 (grub_video_vbe_blit_render_target): Likewise.
39960
bc8c036d 399612006-07-30 Johan Rydberg <jrydberg@gnu.org>
39962
39963 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
39964 is in text mode if there is no console control protocol instance
39965 available.
39966
684a8eff 399672006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39968
39969 * include/grub/video.h: Code cleanup.
39970
39971 * include/grub/i386/pc/vbe.h: Likewise.
39972
39973 * video/i386/pc/vbe.c: Likewise.
39974
39975 * video/i386/pc/vbeblit.c: Likewise.
39976
39977 * video/i386/pc/vbefill.c: Likewise.
39978
39979 * video/video.c: Likewise. Also added more comments.
39980
5915059b 399812006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
39982
39983 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
39984 (struct grub_biosdisk_dap): Likewise.
39985
39986 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
39987 linkage settings for all functions.
39988
90ce5d56 399892006-07-12 Marco Gerards <marco@gnu.org>
39990
39991 * configure.ac (--enable-mm-debug): Fix typo.
39992
39993 * genkernsyms.sh.in: Use proper quoting for `CC'.
39994
43e7f879 399952006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
39996
39997 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
39998 (normal_mod_ASFLAGS): Remove "-m32".
39999
4889bdec 400002006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40001
40002 * util/misc.c: Include config.h.
40003 [!HAVE_MEMALIGN]: Do not include malloc.h.
40004 (grub_memalign): Use posix_memalign, if present. Then, use
40005 memalign, if present. Otherwise, emit an error.
40006
40007 * util/grub-emu.c: Do not include malloc.h.
40008
40009 * include/grub/util/misc.h: Include unistd.h. This is required for
40010 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40011 D. Eades III <hde@foobar-qux.org>.
40012
40013 * configure.ac (AC_GNU_SOURCE): Added.
40014 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40015 type.
40016
fd39d4da 400172006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40018
40019 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40020 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40021
b786f3b5 400222006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40023
40024 * include/grub/types.h (grub_host_addr_t): Rename to
40025 grub_target_addr_t.
40026 (grub_host_off_t): Rename to grub_target_off_t.
40027 (grub_host_size_t): Rename to grub_target_size_t.
40028 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40029 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40030
40031 * include/grub/kernel.h (struct grub_module_header): Change type
40032 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40033 (grub_module_info): Likewise.
f19dbdb7 40034
051988bb 400352006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40036
40037 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40038 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40039 Velazquez <jesus.velazquez@gmail.com>.
40040
deae281b 400412006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40042
40043 Count partitions from 1 instead of 0 in the string representation
40044 of partitions. Still use 0-based internally.
f19dbdb7 40045
deae281b 40046 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40047 (sun_partition_map_iterate): Use grub_partition_t instead of
40048 struct grub_partition *. Cast DESC->START_CYLINDER to
40049 grub_uint64_t after converting the endian.
40050 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40051 (sun_partition_map_get_name): Add 1 to P->INDEX.
40052
40053 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40054 PCDATA->DOS_PART.
40055 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40056
40057 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40058 zero instead of one.
40059 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40060 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40061
40062 * partmap/apple.c (apple_partition_map_iterate): Change the type
40063 of POS to unsigned.
40064 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40065 (apple_partition_map_get_name): Add 1 into P->INDEX.
40066
40067 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40068 of POS to unsigned.
40069 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40070 calculate the offset of a partition.
40071 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40072 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40073
40074 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40075 SECTOR to grub_disk_addr_t.
40076 (acorn_partition_map_iterate): Likewise.
40077 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40078 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40079 top.
40080 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40081
40082 * kern/i386/pc/init.c (make_install_device): Add 1 into
40083 GRUB_INSTALL_DOS_PART.
40084
40085 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40086 conditional.
40087
524a1e6a 400882006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40089
40090 Clean up the code to support 64-bit addressing in disks and
40091 files. This change is not enough for filesystems yet.
f19dbdb7 40092
524a1e6a 40093 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40094 type of "start" to grub_uint64_t.
40095 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40096 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40097 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40098 convert addresses.
40099
40100 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40101 to grub_disk_addr_t.
40102
40103 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40104 string.
40105
40106 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40107
40108 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40109 to char *.
40110
40111 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40112
40113 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40114
40115 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40116
40117 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40118 to grub_off_t, to detect an error from grub_file_seek.
40119 (grub_multiboot_load_elf32): Likewise.
40120
40121 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40122 maximum unsigned long value when an overflow is detected.
40123 (grub_strtoull): New function.
40124 (grub_divmod64): Likewise.
40125 (grub_lltoa): use grub_divmod64.
40126
40127 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40128 grub_disk_addr_t.
40129 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40130 the pointer to next character. Use grub_strtoull instead of
40131 grub_strtoul.
40132 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40133 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40134 respectively.
40135
fe6b695a 40136 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 40137 return value is signed.
40138 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40139 test if OFFSET is less than zero, as OFFSET is unsigned now.
40140
40141 * kern/disk.c (struct grub_disk_cache): Change the type of
40142 "sector" to grub_disk_addr_t.
40143 (grub_disk_cache_get_index): Change the type of SECTOR to
40144 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40145 unsigned after shifting.
40146 (grub_disk_cache_invalidate): Change the type of SECTOR to
40147 grub_disk_addr_t.
40148 (grub_disk_cache_unlock): Likewise.
40149 (grub_disk_cache_store): Likewise.
40150 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40151 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40152 grub_disk_addr_t and grub_uint64_t, respectively.
40153 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40154 body, as the value of OFFSET is tweaked by
40155 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40156 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40157 respectively.
40158 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40159 body, as the value of OFFSET is tweaked by
40160 grub_disk_check_range. Change the types of LEN and N to
40161 grub_size_t.
40162
40163 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40164 and "saved_offset" to grub_off_t.
40165 (test_header): Cast BUF to char *.
40166 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40167 to char *.
40168 (grub_gzio_read): Change the types of OFFSET and SIZE to
40169 grub_off_t and grub_size_t, respectively.
40170
40171 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40172 Removed.
40173 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40174 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40175 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40176 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40177 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40178
40179 * include/grub/types.h (grub_off_t): Unconditionally set to
40180 grub_uint64_t.
40181 (grub_disk_addr_t): Changed to grub_uint64_t.
40182
40183 * include/grub/partition.h (struct grub_partition): Change the
40184 types of "start", "len" and "offset" to grub_disk_addr_t,
40185 grub_uint64_t and grub_disk_addr_t, respectively.
40186 (grub_partition_get_start): Return grub_disk_addr_t.
40187 (grub_partition_get_len): Return grub_uint64_t.
40188
40189 * include/grub/misc.h (grub_strtoull): New prototype.
40190 (grub_divmod64): Likewise.
40191
40192 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40193 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40194 grub_off_t, respectively.
40195 All callers and references changed.
40196
40197 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40198 grub_size_t in "read".
40199 All callers and references changed.
40200
40201 * include/grub/file.h (struct grub_file): Change the types of
40202 "offset" and "size" to grub_off_t and grub_off_t,
40203 respectively. Change the type of SECTOR to grub_disk_addr_t in
40204 "read_hook".
40205 (grub_file_read): Change the type of LEN to grub_size_t.
40206 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40207 grub_off_t.
40208 (grub_file_size): Return grub_off_t.
40209 (grub_file_tell): Likewise.
40210 All callers and references changed.
40211
40212 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40213 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40214 "write".
40215 (struct grub_disk): Change the type of "total_sectors" to
40216 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 40217 "read_hook".
524a1e6a 40218 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40219 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40220 (grub_disk_write): Likewise.
40221 All callers and references changed.
40222
40223 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40224 char * for grub_strncmp to silence gcc.
40225 (grub_iso9660_mount): Likewise.
40226 (grub_iso9660_mount): Likewise.
40227 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40228 return statement.
40229 (grub_iso9660_iterate_dir): Likewise.
40230 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40231
40232 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40233 LEN to grub_disk_addr_t and grub_size_t, respectively.
40234
40235 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40236
40237 * fs/jfs.c (grub_jfs_read_file): Likewise.
40238
40239 * fs/minix.c (grub_jfs_read_file): Likewise.
40240
40241 * fs/sfs.c (grub_jfs_read_file): Likewise.
40242
40243 * fs/ufs.c (grub_jfs_read_file): Likewise.
40244
40245 * fs/xfs.c (grub_jfs_read_file): Likewise.
40246
40247 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
40248 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
40249 respectively.
40250
40251 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
40252 BLKNR to -1 instead of returning GRUB_ERRNO.
40253 (grub_ext2_read_file): Change the types of SECTOR and
40254 LEN to grub_disk_addr_t and grub_size_t, respectively.
40255
40256 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
40257 LEN to grub_disk_addr_t and grub_size_t, respectively.
40258
40259 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
40260 grub_file_read.
40261
40262 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
40263 string. Do not cast SECTOR explicitly.
40264
40265 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
40266 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
40267 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
40268 grub_disk_addr_t and grub_size_t, respectively. If the sector is
40269 over 2TB and LBA mode is not supported, raise an error.
40270 (get_safe_sectors): New function.
40271 (grub_biosdisk_read): Use get_safe_sectors.
40272 (grub_biosdisk_write): Likewise.
40273
40274 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
40275 (grub_efidisk_write): Likewise.
40276
40277 * disk/loopback.c (delete_loopback): Cosmetic changes.
40278 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
40279 correctly.
40280 (grub_loopback_open): Likewise.
40281 (grub_loopback_read): Likewise. Also, change the type of POS to
40282 grub_off_t, and fix the usage of grub_memset.
40283
40284 * commands/i386/pc/play.c: Include grub/machine/time.h.
40285
40286 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
40287 print FILE->SIZE.
40288
40289 * commands/configfile.c: Include grub/env.h.
40290
40291 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
40292 GRUB_ERRNO directly instead. Change the type of POS to
40293 grub_off_t. Follow the coding standard.
40294
40295 * commands/blocklist.c: Include grub/partition.h.
40296 (grub_cmd_blocklist): Return an error if the underlying device is
40297 not a disk. Take the starting sector of a partition into account,
40298 if a partition is used.
40299
40300 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
40301 a length field.
40302 (lba_mode): Support 64-bit addresses.
40303 (chs_mode): Likewise.
40304 (copy_buffer): Adapted to the new offsets of a length field and a
40305 segment field.
40306 (blocklist_default_start): Allocate 64-bit space.
40307
40308 * boot/i386/pc/boot.S (force_lba): Removed.
40309 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 40310 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 40311 space.
40312 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
40313 is useless.
40314 (lba_mode): Refactored to support a 64-bit address. More size
40315 optimization.
40316 (setup_sectors): Likewise.
40317
53af98ad 403182006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40319
40320 * DISTLIST: Added include/grub/i386/linux.h. Removed
40321 include/grub/i386/pc/linux.h
40322
40323 * configure.ac (AC_INIT): Bumped to 1.94.
40324
40325 * config.guess: Updated from gnulib.
40326 * config.sub: Likewise.
40327 * install-sh: Likewise.
40328 * mkinstalldirs: Likewise.
40329
b4c1940a 403302006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40331
40332 * conf/common.rmk (grub_modules_init.lst): Depended on
40333 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
40334 MODSRCFILES.
40335
40336 * genmk.rb (PModule::rule): Reverted the previous change.
40337
cfca1cfd 403382006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40339
40340 * conf/common.rmk (grub_modules_init.lst): Depends on
40341 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
40342 that the target does not exist before producing.
40343 (grub_modules_init.h): Remove the target before generating.
40344 (grub_emu_init.c): Likewise.
40345
40346 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
40347
aa6d7826 403482006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
40349
40350 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
40351 for the target-specific tests. Make sure that we also have the
40352 up-to-date target variables for those tests.
40353
26c607b9 403542006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40355
40356 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
40357 (PModule::rule): Likewise.
40358
0162321a 403592006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40360
40361 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
40362 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
40363 target-specific flags should be prefixed.
40364 (PModule::rule): Likewise.
40365
6c826348 403662006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
40367
40368 * configure.ac (CMP): Check if cmp is available explicitly.
40369
b977bf01 403702006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
40371
40372 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
40373 (target_cpu): New variable.
40374 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 40375
b977bf01 40376 * util/i386/pc/grub-install.in (host_cpu): Removed.
40377 (target_cpu): New variable.
40378 (pkglibdir): Use target_cpu instead of host_cpu.
40379
40380 * util/genmoddep.c: Removed.
f19dbdb7 40381
b977bf01 40382 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
40383 instead of GRUB_HOST_SIZEOF_VOID_P.
40384 * kern/dl.c: Likewise.
40385
40386 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
40387 ...
40388 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40389 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40390 (GRUB_TARGET_SIZEOF_LONG): ... this.
40391 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40392 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40393 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40394 to ...
40395 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40396 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40397 (GRUB_TARGET_SIZEOF_LONG): ... this.
40398 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40399 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40400 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
40401 to ...
40402 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
40403 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
40404 (GRUB_TARGET_SIZEOF_LONG): ... this.
40405 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
40406 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
40407
40408 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
40409 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
40410 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
40411 instead of GRUB_HOST_SIZEOF_LONG.
40412 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
40413 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
40414 GRUB_CPU_WORDS_BIGENDIAN.
40415 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
40416 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
40417 grub_host_ssize_t.
40418
40419 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
40420 (genmoddep_SOURCES): Likewise.
40421 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
40422 (genmoddep_SOURCES): Likewise.
40423 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
40424 (genmoddep_SOURCES): Likewise.
40425 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
40426 Likewise.
40427 (genmoddep_SOURCES): Likewise.
40428
40429 * genmoddep.awk: New file.
40430
40431 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
40432 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
40433 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
40434 (PModule::rule): Likewise.
40435 (Program::rule): Likewise.
40436 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
40437 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
40438 respectively.
40439
40440 * configure.ac: Rewritten intensively to use host and target
40441 instead of build and host, respectively.
40442
40443 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
40444 (host_cpu): Removed.
40445 (target_cpu): New variable.
40446 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
40447 (BUILD_CC): Removed.
40448 (BUILD_CFLAGS): Likewise.
40449 (BUILD_CPPFLAGS): Likewise.
40450 (TARGET_CC): New variable.
40451 (TARGET_CFLAGS): Likewise.
40452 (TARGET_CPPFLAGS): Likewise.
40453 (TARGET_LDFLAGS): Likewise.
40454 (AWK): Likewise.
40455 (include): Use target_cpu instead of host_cpu.
40456 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 40457
b977bf01 40458 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
40459
f09771a1 404602006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
40461
40462 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
40463 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
40464 field 'false' to 'exec_on_false'.
40465 (grub_script_create_cmdif): Renamed argument names to reflect above
40466 changes.
40467
40468 * normal/execute.c (grub_script_execute_cmdif): Likewise.
40469
40470 * normal/script.c (grub_script_create_cmdif): Likewise.
40471
118f4fb3 404722006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
40473
40474 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
40475 top.
40476 (grub_hfsplus_btree_recptr): Likewise.
40477 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
40478 FILEBLOCK both to pass a block number and store next block
40479 number.
40480 (grub_hfsplus_read_block): Rewritten heavily to support an extent
40481 overflow file correctly. Specify errors appropriately, because
40482 fshelp expects that GRUB_ERRNO is set when fails. Reuse
40483 grub_hfsplus_btree_recptr to get the pointer to a found key.
40484 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
40485 is found.
40486
40487 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
40488 linux.mod.
40489 (_linux_mod_SOURCES): New variable.
40490 (_linux_mod_CFLAGS): Likewise.
40491 (_linux_mod_LDFLAGS): Likewise.
40492 (linux_mod_SOURCES): Likewise.
40493 (linux_mod_CFLAGS): Likewise.
40494 (linux_mod_LDFLAGS): Likewise.
40495
40496 * DISTLIST: Added loader/i386/efi/linux.c,
40497 loader/i386/efi/linux_normal.c and
40498 include/grub/i386/efi/loader.h.
40499
40500 * loader/i386/efi/linux.c: New file.
40501 * loader/i386/efi/linux_normal.c: Likewise.
40502 * include/grub/i386/efi/loader.h: Likewise.
40503
89a7d726 405042006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
40505
40506 * commands/blocklist.c: New file.
40507
40508 * DISTLIST: Added commands/blocklist.c.
40509
40510 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 40511 color for the background, and a darker color for the foreground.
89a7d726 40512 (grub_console_checkkey): Return READ_KEY.
40513 (grub_console_cls): Set the background to
40514 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
40515
40516 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
40517
40518 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
40519 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
40520
40521 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
40522 prototype.
40523
40524 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
40525 BG. The spec is wrong again.
40526
40527 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
40528 prototype.
40529 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
40530
40531 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40532 commands/blocklist.c.
40533 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 40534
89a7d726 40535 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
40536 (blocklist_mod_SOURCES): New variable.
40537 (blocklist_mod_CFLAGS): Likewise.
40538 (blocklist_mod_LDFLAGS): Likewise.
40539
75c8f258 405402006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
40541
40542 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
40543 duplication.
40544 (lba_mode): Use %eax more intensively to reduce the code size.
40545
da2eb181 405462006-05-20 Marco Gerards <marco@gnu.org>
40547
40548 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
40549
40550 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
40551 for `menuentry'.
40552 (script): Accept leading newlines.
40553 (newlines): New rule to describe 0 or more newlines.
40554 (commands): Accept `command' with trailing newline. Fixed the
40555 order in which arguments were passed to `grub_script_add_cmd'.
40556 Accept commands separated by newlines.
40557 (function): Changed to accept newlines.
40558 (menuentry) Rewritten.
40559
40560 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
40561 front of the list, instead of to the end.
40562
577b4050 405632006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
40564
40565 * util/i386/pc/grub-install.in (bindir): New variable.
40566 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
40567 Shaver <lbgwjl@gmail.com>.
40568
0d6e1189 405692006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
40570
40571 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
40572 grub/machine/linux.h
40573 * loader/i386/pc/linux.c: Likewise.
40574
40575 * include/grub/i386/pc/linux.h: Moved to ...
40576 * include/grub/i386/linux.h: ... here.
40577
40578 * include/grub/i386/linux.h (struct linux_kernel_params): New
40579 struct.
f19dbdb7 40580
31b86e9f 405812006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
40582
40583 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
40584 checking.
40585 (grub_video_vbe_blit_glyph): Likewise.
40586 (grub_video_vbe_blit_bitmap): Likewise.
40587 (grub_video_vbe_blit_render_target): Likewise.
40588
83b984de 405892006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
40590
40591 * configure.ac (--with-platform): Properly quote the square
40592 brackets.
40593
5f0413bd 405942006-05-08 Marco Gerards <marco@gnu.org>
40595
40596 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
40597 this...
40598 (kernel_elf_HEADERS): ...to this. Updated all users.
40599 (grubof_symlist.c): Renamed from this...
40600 (kernel_elf_symlist.c): ...to this. Updated all users.
40601 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40602 (grubof_SOURCES): Renamed from this...
40603 (kernel_elf_SOURCES): ...to this.
40604 (grubof_HEADERS): Renamed from this...
40605 (kernel_elf_HEADERS): ...to this.
40606 (grubof_CFLAGS): Renamed from this...
40607 (kernel_elf_CFLAGS): ...to this.
40608 (grubof_ASFLAGS): Renamed from this...
40609 (kernel_elf_ASFLAGS): ...to this.
40610 (grubof_LDFLAGS): Renamed from this...
40611 (kernel_elf_LDFLAGS): ...to this.
40612
40613 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
40614 this...
40615 (kernel_elf_HEADERS): ...to this. Updated all users.
40616 (grubof_symlist.c): Renamed from this...
40617 (kernel_elf_symlist.c): ...to this. Updated all users.
40618 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
40619 (grubof_SOURCES): Renamed from this...
40620 (kernel_elf_SOURCES): ...to this.
40621 (grubof_HEADERS): Renamed from this...
40622 (kernel_elf_HEADERS): ...to this.
40623 (grubof_CFLAGS): Renamed from this...
40624 (kernel_elf_CFLAGS): ...to this.
40625 (grubof_ASFLAGS): Renamed from this...
40626 (kernel_elf_ASFLAGS): ...to this.
40627 (grubof_LDFLAGS): Renamed from this...
40628 (kernel_elf_LDFLAGS): ...to this.
40629
40630 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
40631 `kernel.elf' instead of `grubof'.
40632
05568c2e 406332006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
40634
40635 Add --with-platform to configure. Use pkglibdir instead of
40636 pkgdatadir. This is reported by Roger Leigh.
40637
40638 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
40639 (host_vendor): Likewise.
40640 (host_os): Likewise.
40641 (pkgdatadir): Likewise.
40642 (platform): New variable.
40643 (pkglibdir): Likewise.
40644 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 40645
05568c2e 40646 * util/i386/pc/grub-install.in (datadir): Removed.
40647 (host_vendor): Likewise.
40648 (host_os): Likewise.
40649 (pkgdatadir): Likewise.
40650 (platform): New variable.
40651 (pkglibdir): Likewise.
40652 Use PKGLIBDIR instead of PKGDATADIR.
40653
40654 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
40655 instead of GRUB_DATADIR.
40656 (main): Likewise.
40657 * util/i386/pc/grub-mkimage.c (usage): Likewise.
40658 (main): Likewise.
40659 * util/i386/efi/grub-mkimage.c (usage): Likewise.
40660 (main): Likewise.
40661
40662 * configure.ac (--with-platform): New option.
40663 Use PLATFORM instead of HOST_VENDOR to specify a platform.
40664
40665 * Makefile.in: Include a makefile based on PLATFORM instead of
40666 HOST_VENDOR.
40667 (pkgdatadir): Not appended by the machine type.
40668 (pkglibdir): Appended by the machine type.
40669 (host_vendor): Removed.
40670 (platform): New variable.
40671 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
40672 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
40673 (uninstall): Likewise.
40674
4e93851c 406752006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
40676
40677 Use the environment context in the menu. Remove the commands
40678 "default" and "timeout", and use variables instead.
f19dbdb7 40679
4e93851c 40680 * normal/menu.c: Include grub/env.h.
40681 (print_entry): Cast TITLE to silence gcc.
40682 (get_timeout): New function.
40683 (set_timeout): Likewise.
40684 (get_entry_number): Likewise.
40685 (run_menu): Use a default entry, a fallback entry and a timeout
40686 in the environment variables "default", "fallback" and
40687 "timeout". Also, tweak the default entry if it is not within the
40688 current menu entries.
40689 (grub_menu_run): Use a fallback entry in the environment variable
40690 "fallback".
40691
40692 * normal/main.c (read_config_file): Do not initialize
40693 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
40694 NEWMENU->TIMEOUT.
40695 (grub_normal_execute): Use a data slot to store the menu.
40696
40697 * include/grub/normal.h (struct grub_menu): Removed default_entry,
40698 fallback_entry and timeout.
40699 (struct grub_menu_list): Removed.
40700 (grub_menu_list_t): Likewise.
40701 (struct grub_context): Likewise.
40702 (grub_context_t): Likewise.
40703 (grub_context_get): Likewise.
40704 (grub_context_get_current_menu): Likewise.
40705 (grub_context_push_menu): Likewise.
40706 (grub_context_pop_menu): Likewise.
40707 (grub_default_init): Likewise.
40708 (grub_default_fini): Likewise.
40709 (grub_timeout_init): Likewise.
40710 (grub_timeout_fini): Likewise.
40711
40712 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
40713 and timeout.mod.
40714 (normal_mod_SOURCES): Removed normal/context.c.
40715
40716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
40717 commands/default.c, commands/timeout.c and normal/context.c.
40718 (normal_mod_SOURCES): Removed normal/context.c.
40719
40720 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
40721 commands/timeout.c and normal/context.c.
40722 (normal_mod_SOURCES): Removed normal/context.c.
40723
40724 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
40725 commands/default.c, commands/timeout.c and normal/context.c.
40726 (normal_mod_SOURCES): Removed normal/context.c.
40727
40728 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
40729 timeout.mod.
40730 (default_mod_SOURCES): Removed.
40731 (default_mod_CFLAGS): Likewise.
40732 (default_mod_LDFLAGS): Likewise.
40733 (timeout_mod_SOURCES): Removed.
40734 (timeout_mod_CFLAGS): Likewise.
40735 (timeout_mod_LDFLAGS): Likewise.
40736
40737 * DISTLIST: Removed commands/default.c, commands/timeout.c and
40738 normal/context.c.
40739
40740 * commands/default.c: Removed.
40741 * commands/timeout.c: Likewise.
40742 * normal/context.c: Likewise.
40743
1eb9cc1d 407442006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
40745
40746 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
40747
385bd9c1 407482006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
40749
40750 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
40751 "next" to "prev" for readability.
40752 (struct grub_env_sorted_var): New struct.
40753 (grub_env_context): Renamed to ...
40754 (initial_context): ... this.
40755 (grub_env_var_context): Renamed to ...
40756 (current_context): ... this.
40757 (grub_env_find): Look only at CURRENT_CONTEXT.
40758 (grub_env_context_open): Rewritten to copy exported variables from
40759 previous context.
40760 (grub_env_context_close): Rewritten according to the new
40761 scheme. Also, add an assertion to prevent the initial context from
40762 removed.
40763 (grub_env_insert): Removed the code for the sorted list.
40764 (grub_env_remove): Likewise.
40765 (grub_env_export): Simply mark the variable with
40766 GRUB_ENV_VAR_GLOBAL.
40767 (grub_env_set): A cosmetic change for naming consistency.
40768 (grub_env_get): Likewise.
40769 (grub_env_unset): Likewise.
40770 (grub_env_iterate): Rewritten to sort variables within this
40771 function.
40772 (grub_register_variable_hook): Fixed for naming consistency. Call
40773 grub_env_find again, only if NAME is not found at the first time.
40774 (mangle_data_slot_name): New function.
40775 (grub_env_set_data_slot): Likewise.
40776 (grub_env_get_data_slot): Likewise.
40777 (grub_env_unset_data_slot): Likewise.
40778
40779 * include/grub/env.h (grub_env_var_type): New enum.
40780 (GRUB_ENV_VAR_LOCAL): New constant.
40781 (GRUB_ENV_VAR_GLOBAL): Likewise.
40782 (GRUB_ENV_VAR_DATA): Likewise.
40783 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
40784 "type".
40785 (grub_env_set): Replace VAR with NAME for consistency.
40786 (grub_register_variable_hook): Likewise.
40787 (grub_env_export): Specify the name of the argument.
40788 (grub_env_set_data_slot): New prototype.
40789 (grub_env_get_data_slot): Likewise.
40790 (grub_env_unset_data_slot): Likewise.
40791
7f362539 407922006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40793
40794 Extend the loader so that GRUB can accept a loader which comes
40795 back to GRUB when a loaded image exits. Also, this change adds
40796 support for a chainloader on EFI.
f19dbdb7 40797
7f362539 40798 * term/efi/console.c: Include grub/misc.h.
40799 (grub_console_checkkey): Display a scan code on the top for
40800 debugging. This will be removed once the EFI port gets stable.
40801 Correct the scan code mapping.
40802
40803 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
40804 allocate memory from larger regions, in order to reduce the number
40805 of allocated regions. Otherwise, the MacOSX loader panics.
40806 (filter_memory_map): Avoid less than 1MB for compatibility with
40807 other loaders.
40808 (add_memory_regions): Allocate from the tail of a region, if
40809 possible, to avoid allocating a region near to 1MB, for the MacOSX
40810 loader.
40811
40812 * kern/efi/init.c (grub_efi_set_prefix): Specify
40813 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
40814
40815 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
40816 argument IMAGE_HANDLE and specify it to get a loaded image.
40817 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
40818 grub_efi_get_loaded_image.
fe6b695a 40819 (grub_efi_get_filename): Divide the length by the size of
7f362539 40820 grub_efi_char16_t.
40821 (grub_efi_get_device_path): New function.
40822 (grub_efi_print_device_path): Print End Device Path nodes. Divide
40823 the length by the size of grub_efi_char16_t for a file path device
40824 path node.
40825
40826 * kern/loader.c (grub_loader_noreturn): New variable.
40827 (grub_loader_set): Accept a new argument NORETURN. Set
40828 GRUB_LOADER_NORETURN to NORETURN.
40829 All callers changed.
40830 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
40831 grub_machine_fini.
40832
40833 * include/grub/efi/efi.h (grub_efi_get_device_path): New
40834 prototype.
40835 (grub_efi_get_loaded_image): Take an argument to specify an image
40836 handle.
40837
40838 * include/grub/loader.h (grub_loader_set): Added one more argument
40839 NORETURN.
40840
40841 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
40842 instead of grub_efi_open_protocol.
40843 (grub_efidisk_get_device_name): Likewise.
40844 (grub_efidisk_close): Print a newline.
40845 (grub_efidisk_get_device_handle): Fixed to use
40846 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
40847 GRUB_EFI_DEVICE_PATH_TYPE.
40848
40849 * disk/efi/efidisk.c (device_path_guid): Moved to ...
40850 * kern/efi/efi.c (device_path_guid): ... here.
40851
40852 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
40853 chain.mod.
40854 (kernel_mod_HEADERS): Added efi/disk.h.
40855 (_chain_mod_SOURCES): New variable.
40856 (_chain_mod_CFLAGS): Likewise.
40857 (_chain_mod_LDFLAGS): Likewise.
40858 (chain_mod_SOURCES): Likewise.
40859 (chain_mod_CFLAGS): Likewise.
40860 (chain_mod_LDFLAGS): Likewise.
40861
40862 * DISTLIST: Added include/grub/efi/chainloader.h,
40863 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
40864
40865 * include/grub/efi/chainloader.h: New file.
40866 * loader/efi/chainloader.c: Likewise.
40867 * loader/efi/chainloader_normal.c: Likewise.
40868
c0111d6e 408692006-04-30 Marco Gerards <marco@gnu.org>
40870
40871 * commands/configfile.c (grub_cmd_source): New function.
40872 (GRUB_MOD_INIT): Register the commands `source' and `.'.
40873 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
40874
df5341da 408752006-04-30 Marco Gerards <marco@gnu.org>
40876
40877 * normal/execute.c (grub_script_execute_cmd): Change the return
40878 type to `grub_err_t'. Correctly return the error.
40879 (grub_script_execute_cmdline): In case a command line is not a
40880 command or a function, try to interpret it as an assignment.
40881
f85934bd 408822006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
40883
40884 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
40885 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
40886 skip a node whose name is obviously invalid as UTF-16,
40887 i.e. contains a NUL character. Stop the iteration when the last
40888 directory entry is found. Instead of using the return value of
40889 grub_hfsplus_btree_iterate_node, store the value in RET and use
40890 it, because the iterator can be stopped by the last directory
40891 entry.
40892
8f8a2cf8 408932006-04-30 Marco Gerards <marco@gnu.org>
40894
40895 * include/grub/env.h (grub_env_export): New prototype. Reported
40896 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
40897
a27e84ce 408982006-04-30 Marco Gerards <marco@gnu.org>
40899
40900 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
40901 size of the extents in a catalog file record.
40902
eaef0553 409032006-04-29 Marco Gerards <marco@gnu.org>
40904
40905 * commands/configfile.c (grub_cmd_configfile): Execute the
40906 configfile within its own context.
40907
40908 * include/grub/env.h (grub_env_context_open): New prototype.
40909 (grub_env_context_close): Likewise.
40910
40911 * kern/env.c (grub_env): Removed.
40912 (grub_env_sorted): Likewise.
40913 (grub_env_context): New variable.
40914 (grub_env_var_context): Likewise.
40915 (grub_env_find): Search both the active context and the global
40916 context.
40917 (grub_env_context_open): New function.
40918 (grub_env_context_close): Likewise.
40919 (grub_env_insert): Likewise.
40920 (grub_env_remove): Likewise.
40921 (grub_env_export): Likewise.
40922 (grub_env_set): Changed to use helper functions to avoid code
40923 duplication.
40924 (grub_env_iterate): Rewritten so both the current context and the
40925 global context are being used.
40926
40927 * normal/command.c (export_command): New function.
40928 (grub_command_init): Register the `export' function.
40929
7b455f4d 409302006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
40931
40932 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
40933 explicitly to suppress gcc's warnings.
40934 * fs/fat.c (grub_fat_find_dir): Likewise.
40935 (grub_fat_label): Likewise.
40936 * fs/xfs.c (grub_xfs_read_inode): Likewise.
40937 (grub_xfs_mount): Likewise.
40938 (grub_xfs_label): Likewise.
40939 * fs/affs.c (grub_affs_mount): Likewise.
40940 (grub_affs_label): Likewise.
40941 (grub_affs_iterate_dir): Likewise.
40942 * fs/sfs.c (grub_sfs_mount): Likewise.
40943 (grub_sfs_iterate_dir): Likewise.
40944 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
40945 * fs/hfs.c (grub_hfs_mount): Likewise.
40946 (grub_hfs_cmp_catkeys): Likewise.
40947 (grub_hfs_find_dir): Likewise.
40948 (grub_hfs_dir): Likewise.
40949 (grub_hfs_label): Likewise.
40950 * fs/jfs.c (grub_jfs_mount): Likewise.
40951 (grub_jfs_opendir): Likewise.
40952 (grub_jfs_getent): Likewise.
40953 (grub_jfs_lookup_symlink): Likewise.
40954 (grub_jfs_label): Likewise.
40955 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
40956 (grub_hfsplus_iterate_dir): Likewise.
40957 (grub_hfsplus_btree_iterate_node): Made static.
40958
40959 * util/grub-emu.c (prefix): New variable.
40960 (grub_machine_set_prefix): New function.
40961 (main): Do not set the environment variable "prefix" here. Only
40962 set PREFIX, which is used later by grub_machine_set_prefix.
40963
40964 * include/grub/video.h: Do not include grub/symbol.h.
40965 (grub_video_register): Not exported. This symbol is not defined in
40966 the kernel.
40967 (grub_video_unregister): Likewise.
40968 (grub_video_iterate): Likewise.
40969 (grub_video_setup): Likewise.
40970 (grub_video_restore): Likewise.
40971 (grub_video_get_info): Likewise.
40972 (grub_video_get_blit_format): Likewise.
40973 (grub_video_set_palette): Likewise.
40974 (grub_video_get_palette): Likewise.
40975 (grub_video_set_viewport): Likewise.
40976 (grub_video_get_viewport): Likewise.
40977 (grub_video_map_color): Likewise.
40978 (grub_video_map_rgb): Likewise.
40979 (grub_video_map_rgba): Likewise.
40980 (grub_video_fill_rect): Likewise.
40981 (grub_video_blit_glyph): Likewise.
40982 (grub_video_blit_bitmap): Likewise.
40983 (grub_video_blit_render_target): Likewise.
40984 (grub_video_scroll): Likewise.
40985 (grub_video_swap_buffers): Likewise.
40986 (grub_video_create_render_target): Likewise.
40987 (grub_video_delete_render_target): Likewise.
40988 (grub_video_set_active_render_target): Likewise.
40989
40990 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
40991 Undefined.
40992 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
40993
40994 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
40995 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
40996 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
40997 instead of $(srcdir)/genkernsyms.sh.
40998
40999 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41000 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41001 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41002 instead of $(srcdir)/genkernsyms.sh.
41003
41004 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41005 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41006 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41007 instead of $(srcdir)/genkernsyms.sh.
41008
41009 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41010 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41011 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41012 instead of $(srcdir)/genkernsyms.sh.
41013
41014 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41015 genkernsyms.sh.
41016
41017 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41018 genkernsyms.sh.
41019 (gensymlist.sh): New target.
41020 (genkernsyms.sh): Likewise.
41021
41022 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41023 genkernsyms.sh.in and gensymlist.sh.in.
41024
41025 * genkernsyms.sh: Removed.
41026 * gensymlist.sh: Likewise.
f19dbdb7 41027
7b455f4d 41028 * genkernsyms.sh.in: New file.
41029 * gensymlist.sh.in: Likewise.
41030
1885bb27 410312006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41032
41033 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41034 clobber "prefix", since we may have already set it manually.
41035
71538dff 410362006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41037
41038 * kern/misc.c (abort): New alias for grub_abort.
41039
2965c7cc 410402006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41041
41042 A new machine-specific function "grub_machine_set_prefix" is
41043 defined. This is called after loading modules, so that a prefix
41044 initialization can use modules. Also, this change adds an
41045 intensive debugging feature for the memory manager via the
41046 configure option "--enable-mm-debug".
f19dbdb7 41047
2965c7cc 41048 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41049 PART.LEN.
41050
41051 * kern/sparc64/ieee1275/init.c (abort): Removed.
41052 (grub_stop): Likewise.
41053 (grub_exit): New function.
41054 (grub_set_prefix): Renamed to ...
41055 (grub_machine_set_prefix): ... this.
41056 (grub_machine_init): Do not call grub_set_prefix.
41057
41058 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41059 (grub_machine_set_prefix): ... this.
41060 (grub_machine_init): Do not call grub_set_prefix.
41061
41062 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41063 (grub_machine_init): Do not set the prefix here.
41064
41065 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41066
41067 * kern/efi/init.c: Include grub/mm.h.
41068 (grub_efi_set_prefix): New function.
41069
41070 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41071 (grub_efi_get_filename): New function.
41072 (grub_print_device_path): Renamed to ...
41073 (grub_efi_print_device_path): ... this.
41074
41075 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41076 [MM_DEBUG] (grub_realloc): Likewise.
41077 [MM_DEBUG] (grub_free): Likewise.
41078 [MM_DEBUG] (grub_memalign): Likewise.
41079 [MM_DEBUG] (grub_mm_debug): New variable.
41080 [MM_DEBUG] (grub_debug_malloc): New function.
41081 [MM_DEBUG] (grub_debug_free): New function.
41082 [MM_DEBUG] (grub_debug_realloc): New function.
41083 [MM_DEBUG] (grub_debug_memalign): New function.
41084
41085 * kern/misc.c (grub_abort): Print a newline to distinguish
41086 the message.
41087
41088 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41089 grub_set_root_dev after loading modules. This is necessary when
41090 setting a prefix depends on modules.
41091
41092 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41093 (grub_efi_print_device_path): ... this.
41094 (grub_efi_get_filename): New prototype.
41095 (grub_efi_set_prefix): Likewise.
41096
41097 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41098 and grub/disk.h.
41099 (grub_efidisk_get_device_handle): New prototype.
41100 (grub_efidisk_get_device_name): Likewise.
41101
41102 * include/grub/mm.h: Include config.h.
41103 (MM_DEBUG): Removed.
41104 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41105 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41106 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41107 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41108 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41109 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41110 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41111 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41112 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41113
41114 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41115
41116 * disk/efi/efidisk.c: Include grub/partition.h.
41117 (iterate_child_devices): New function.
41118 (add_device): First, compare only last device path nodes, so that
41119 devices are sorted by the types.
41120 (grub_efidisk_get_device_handle): New function.
41121 (grub_efidisk_get_device_name): Likewise.
41122
41123 * configure.ac (--enable-mm-debug): New option to enable the
41124 memory manager debugging feature. This makes the binary much
41125 bigger, so is disabled by default.
41126
9cacaa17 411272006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41128
41129 Use grub_abort instead of grub_stop, and grub_exit must be
41130 define in each architecture now. Also, this change adds support
41131 for EFI disks.
f19dbdb7 41132
9cacaa17 41133 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41134 (grub_getkey): New function.
41135 (grub_term_get_current): Likewise.
41136
41137 * util/i386/pc/grub-setup.c: Include grub/term.h.
41138 (grub_getkey): New function.
41139 (grub_term_get_current): Likewise.
41140
41141 * util/misc.c (grub_stop): Renamed to ...
41142 (grub_exit): ... this.
41143
41144 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41145 (grub_exit): ... this.
41146 (grub_machine_init): Use grub_abort instead of abort.
41147 (grub_stop): Removed.
41148
41149 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41150 abort.
41151
41152 * kern/i386/pc/startup.S (grub_exit): New function.
41153 (cold_reboot): New label.
41154
41155 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41156 (grub_efi_init): Call grub_efidisk_init.
41157 (grub_efi_fini): Call grub_efidisk_fini.
41158
41159 * kern/efi/efi.c: Include grub/mm.h.
41160 (grub_efi_console_control_guid): Renamed to ...
41161 (console_control_guid): ... this.
41162 (grub_efi_loaded_image_guid): Renamed to ...
41163 (loaded_image_guid): ... this.
41164 (grub_efi_locate_handle): New function.
41165 (grub_efi_open_protocol): Likewise.
41166 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41167 GRUB_EFI_CONSOLE_CONTROL_GUID.
41168 (grub_efi_exit): Removed.
41169 (grub_stop): Likewise.
41170 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41171 (grub_exit): New function.
41172 (grub_print_device_path): Likewise.
41173
41174 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41175 (grub_enter_rescue_mode): Register "exit".
41176
41177 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41178 (grub_abort): New function.
41179
41180 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41181
41182 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41183
41184 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41185
41186 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41187 (grub_print_device_path): New prototype.
41188 (grub_efi_locate_handle): Likewise.
41189 (grub_efi_open_protocol): Likewise.
41190
41191 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41192 * disk/efi/efidisk.c: Likewise.
41193
41194 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41195
41196 * include/grub/efi/console_control.h
41197 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41198
41199 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41200 last 8 bytes as an array.
41201 (GRUB_EFI_DISK_IO_GUID): New macro.
41202 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41203 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41204 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41205 grub_uint8_t.
41206 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41207 (struct grub_efi_device_path): Rename the member "sub_type" to
41208 "subtype".
41209 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41210 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41211 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41212 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41213 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41214 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41215 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41216 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41217 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41218 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41219 (struct grub_efi_pci_device_path): New structure.
41220 (grub_efi_pci_device_path_t): New type.
41221 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41222 (struct grub_efi_pccard_device_path): New structure.
41223 (grub_efi_pccard_device_path_t): New type.
41224 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41225 (struct grub_efi_memory_mapped_device_path): New structure.
41226 (grub_efi_memory_mapped_device_path_t): New type.
41227 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41228 (struct grub_efi_vendor_device_path): New structure.
41229 (grub_efi_vendor_device_path_t): New type.
41230 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41231 (struct grub_efi_controller_device_path): New structure.
41232 (grub_efi_controller_device_path_t): New type.
41233 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41234 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41235 (struct grub_efi_acpi_device_path): New structure.
41236 (grub_efi_acpi_device_path_t): New type.
41237 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41238 (struct grub_efi_expanded_acpi_device_path): New structure.
41239 (grub_efi_expanded_acpi_device_path_t): New type.
41240 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41241 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
41242 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
41243 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
41244 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
41245 (struct grub_efi_atapi_device_path): New structure.
41246 (grub_efi_atapi_device_path_t): New type.
41247 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
41248 (struct grub_efi_fibre_channel_device_path): New structure.
41249 (grub_efi_fibre_channel_device_path_t): New type.
41250 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
41251 (struct grub_efi_1394_device_path): New structure.
41252 (grub_efi_1394_device_path_t): New type.
41253 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
41254 (struct grub_efi_usb_device_path): New structure.
41255 (grub_efi_usb_device_path_t): New type.
41256 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
41257 (struct grub_efi_usb_class_device_path): New structure.
41258 (grub_efi_usb_class_device_path_t): New type.
41259 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
41260 (struct grub_efi_i2o_device_path): New structure.
41261 (grub_efi_i2o_device_path_t): New type.
41262 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
41263 (struct grub_efi_mac_address_device_path): New structure.
41264 (grub_efi_mac_address_device_path_t): New type.
41265 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
41266 (struct grub_efi_ipv4_device_path): New structure.
41267 (grub_efi_ipv4_device_path_t): New type.
41268 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
41269 (struct grub_efi_ipv6_device_path): New structure.
41270 (grub_efi_ipv6_device_path_t): New type.
41271 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
41272 (struct grub_efi_infiniband_device_path): New structure.
41273 (grub_efi_infiniband_device_path_t): New type.
41274 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
41275 (struct grub_efi_uart_device_path): New structure.
41276 (grub_efi_uart_device_path_t): New type.
41277 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
41278 (struct grub_efi_vendor_messaging_device_path): New structure.
41279 (grub_efi_vendor_messaging_device_path_t): New type.
41280 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
41281 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
41282 (struct grub_efi_hard_drive_device_path): New structure.
41283 (grub_efi_hard_drive_device_path_t): New type.
41284 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
41285 (struct grub_efi_cdrom_device_path): New structure.
41286 (grub_efi_cdrom_device_path_t): New type.
41287 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
41288 (struct grub_efi_vendor_media_device_path): New structure.
41289 (grub_efi_vendor_media_device_path_t): New type.
41290 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
41291 (struct grub_efi_file_path_device_path): New structure.
41292 (grub_efi_file_path_device_path_t): New type.
41293 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
41294 (struct grub_efi_protocol_device_path): New structure.
41295 (grub_efi_protocol_device_path_t): New type.
41296 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
41297 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
41298 (struct grub_efi_bios_device_path): New structure.
41299 (grub_efi_bios_device_path_t): New type.
41300 (struct grub_efi_disk_io): New structure.
41301 (grub_efi_disk_io_t): New type.
41302 (struct grub_efi_block_io_media): New structure.
41303 (grub_efi_block_io_media_t): New type.
41304 (struct grub_efi_block_io): New structure.
41305 (grub_efi_block_io_t): New type.
41306
41307 * include/grub/misc.h (grub_stop): Removed.
41308 (grub_exit): New prototype.
41309 (grub_abort): Likewise.
41310
41311 * include/grub/disk.h (enum grub_disk_dev_id): Added
41312 GRUB_DISK_DEVICE_EFIDISK_ID.
41313
41314 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
41315 disk/efi/efidisk.c.
41316 (kernel_syms.lst): Remove the target if an error occurs.
41317
49986a9f 413182006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
41319
41320 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
41321 as it was simply too buggy.
41322
970d3b8a 413232006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
41324
41325 * kern/misc.c (grub_lltoa): New function.
41326 (grub_vsprintf): Added support for the long long suffix,
41327 i.e. "ll".
41328
ff04ec24 413292006-04-20 Hollis Blanchard <hollis@penguinppc.org>
41330
41331 * Makefile.in (LDFLAGS): Add variable.
41332 (LD): Remove variable.
41333 * configure.ac: Add -m32 to LDFLAGS.
41334 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
41335 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
41336 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
41337 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
41338 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
41339 variables.
41340 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
41341 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
41342 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
41343
37e5e1a4 413442006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
41345
41346 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
41347 length for unknown glyph.
41348
c352d8dd 413492006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41350
2eab1c0d 41351 Add support for pre-loaded modules into the EFI port.
f19dbdb7 41352
2eab1c0d 41353 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
41354 completely. Accept one more argument DIR. The caller has changed.
41355
41356 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
41357
41358 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
41359 (grub_efi_loaded_image_guid): New variable.
41360 (grub_efi_get_loaded_image): New function.
41361 (grub_arch_modules_addr): Likewise.
41362
41363 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
41364 prototype.
41365
41366 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
41367 (struct grub_efi_loaded_image): New structure.
41368 (grub_efi_loaded_image_t): New type.
41369
413702006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41371
c352d8dd 41372 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
41373 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
41374 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
41375
6d01d6b4 413762006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
41377
41378 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
41379
976a4ea0 413802006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
41381
41382 * DISTLIST: Added include/grub/efi/console.h,
41383 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
41384 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41385
41386 * include/grub/efi/console.h: New file.
41387 * include/grub/efi/time.h: Likewise.
41388 * include/grub/i386/efi/kernel.h: Likewise.
41389 * kern/efi/init.c: Likewise.
41390 * kern/efi/mm.c: Likewise.
41391 * term/efi/console.c: Likewise.
f19dbdb7 41392
976a4ea0 41393 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
41394 (grub_stop): Removed.
41395 (grub_get_rtc): Likewise.
41396 (grub_machine_init): Simply call grub_efi_init.
41397 (grub_machine_fini): Call grub_efi_fini.
41398
41399 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
41400 (grub_efi_output_string): Removed.
41401 (grub_efi_stall): New function.
41402 (grub_stop): Likewise.
41403 (grub_get_rtc): Likewise.
41404
41405 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
41406 (grub_efi_stall): New prototype.
41407 (grub_efi_allocate_pages): Likewise.
41408 (grub_efi_free_pages): Likewise.
41409 (grub_efi_get_memory_map): Likewise.
41410 (grub_efi_mm_init): Likewise.
41411 (grub_efi_mm_fini): Likewise.
41412 (grub_efi_init): Likewise.
41413 (grub_efi_fini): Likewise.
41414
41415 * include/grub/i386/efi/time.h: Do not include
41416 grub/symbol.h. Include grub/efi/time.h.
41417 (GRUB_TICKS_PER_SECOND): Removed.
41418 (grub_get_rtc): Likewise.
41419
41420 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
41421 Added padding. The EFI spec is buggy.
41422 (GRUB_EFI_BLACK): New macro.
41423 (GRUB_EFI_BLUE): Likewise.
41424 (GRUB_EFI_GREEN): Likewise.
41425 (GRUB_EFI_CYAN): Likewise.
41426 (GRUB_EFI_RED): Likewise.
41427 (GRUB_EFI_MAGENTA): Likewise.
41428 (GRUB_EFI_BROWN): Likewise.
41429 (GRUB_EFI_LIGHTGRAY): Likewise.
41430 (GRUB_EFI_BRIGHT): Likewise.
41431 (GRUB_EFI_DARKGRAY): Likewise.
41432 (GRUB_EFI_LIGHTBLUE): Likewise.
41433 (GRUB_EFI_LIGHTGREEN): Likewise.
41434 (GRUB_EFI_LIGHTCYAN): Likewise.
41435 (GRUB_EFI_LIGHTRED): Likewise.
41436 (GRUB_EFI_LIGHTMAGENTA): Likewise.
41437 (GRUB_EFI_YELLOW): Likewise.
41438 (GRUB_EFI_WHITE): Likewise.
41439 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
41440 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
41441 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
41442 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
41443 (GRUB_EFI_BACKGROUND_RED): Likewise.
41444 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
41445 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
41446 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
41447 (GRUB_EFI_TEXT_ATTR): Likewise.
41448
41449 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
41450 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
41451 (kernel_mod_HEADERS): Added efi/time.h.
41452
83709125 414532006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
41454
41455 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
41456 include/grub/efi/api.h, include/grub/efi/console_control.h,
41457 include/grub/efi/efi.h, include/grub/efi/pe32.h,
41458 include/grub/i386/efi/time.h, kern/efi/efi.c,
41459 kern/i386/efi/init.c, kern/i386/efi/startup.S,
41460 and util/i386/efi/grub-mkimage.c.
41461
41462 * Makefile.in (RMKFILES): Added i386-efi.rmk.
41463
41464 * genmk.rb (PModule#rule): Do not export symbols if
41465 #{prefix}_EXPORTS is set to "no".
41466
41467 * conf/i386-efi.mk: New file.
41468 * conf/i386-efi.rmk: Likewise.
41469 * include/grub/efi/api.h: Likewise.
41470 * include/grub/efi/console_control.h: Likewise.
41471 * include/grub/efi/efi.h: Likewise.
41472 * include/grub/efi/pe32.h: Likewise.
41473 * include/grub/i386/efi/time.h: Likewise.
41474 * kern/efi/efi.c: Likewise.
41475 * kern/i386/efi/init.c: Likewise.
41476 * kern/i386/efi/startup.S: Likewise.
41477 * util/i386/efi/grub-mkimage.c: Likewise.
41478
414792006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 41480
41481 * include/grub/script.h: Include <grub/parser.h> and
41482 "grub_script.tab.h".
41483 (struct grub_lexer_param): New struct.
41484 (struct grub_parser_param): Likewise.
41485 (grub_script_create_arglist): Pass the state in an argument.
41486 (grub_script_add_arglist): Likewise.
41487 (grub_script_create_cmdline): Likewise.
41488 (grub_script_create_cmdblock): Likewise.
41489 (grub_script_create_cmdif): Likewise.
41490 (grub_script_create_cmdmenu): Likewise.
41491 (grub_script_add_cmd): Likewise.
41492 (grub_script_arg_add): Likewise.
41493 (grub_script_lexer_ref): Likewise.
41494 (grub_script_lexer_deref): Likewise.
41495 (grub_script_lexer_record_start): Likewise.
41496 (grub_script_lexer_record_stop): Likewise.
41497 (grub_script_mem_record): Likewise.
41498 (grub_script_mem_record_stop): Likewise.
41499 (grub_script_malloc): Likewise.
41500 (grub_script_yylex): Likewise.
41501 (grub_script_yyparse): Likewise.
41502 (grub_script_yyerror): Likewise.
41503 (grub_script_yylex): Likewise.
41504 (grub_script_lexer_init): Return the state.
41505
41506 * normal/lexer.c (grub_script_lexer_state): Removed variable.
41507 (grub_script_lexer_done): Likewise.
41508 (grub_script_lexer_getline): Likewise.
41509 (grub_script_lexer_refs): Likewise.
41510 (script): Likewise.
41511 (newscript): Likewise.
41512 (record): Likewise.
41513 (recording): Likewise.
41514 (recordpos): Likewise.
41515 (recordlen): Likewise.
41516 (grub_script_lexer_init): Return the state instead of setting
41517 global variables.
41518 (grub_script_lexer_ref): Use the newly added argument for state
41519 instead of globals.
41520 (grub_script_lexer_deref): Likewise.
41521 (grub_script_lexer_record_start): Likewise.
41522 (grub_script_lexer_record_stop): Likewise.
41523 (recordchar): Likewise.
41524 (nextchar): Likewise.
41525 (grub_script_yylex2): Likewise.
41526 (grub_script_yylex): Likewise.
41527 (grub_script_yyerror): Likewise.
41528
41529 * normal/parser.y (func_mem): Removed variable.
41530 (menu_entry): Likewise.
41531 (err): Likewise.
41532 (%lex-param): New parser option.
41533 (%parse-param): Likewise.
41534 (script): Always return the AST.
41535 (argument): Pass the state around.
41536 (arguments): Likewise.
41537 (grubcmd): Likewise.
41538 (commands): Likewise.
41539 (function): Likewise.
41540 (menuentry): Likewise.
41541 (if_statement): Likewise.
41542 (if): Likewise.
41543
41544 * normal/script.c (grub_script_memused): Removed variable.
41545 (grub_script_parsed): Likewise.
41546 (grub_script_malloc): Added a state argument. Use that instead of
41547 global variables.
41548 (grub_script_mem_record): Likewise.
41549 (grub_script_mem_record_stop): Likewise.
41550 (grub_script_arg_add): Likewise.
41551 (grub_script_add_arglist): Likewise.
41552 (grub_script_create_cmdline): Likewise.
41553 (grub_script_create_cmdif): Likewise.
41554 (grub_script_create_cmdmenu): Likewise.
41555 (grub_script_add_cmd): Likewise.
41556 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 41557
e2a8c904 415582006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 41559
41560 * normal/command.c (grub_command_init): Remove the title command.
41561
41562 * normal/lexer.c (grub_script_yylex): Renamed from this...
41563 (grub_script_yylex2): ... to this.
41564 (grub_script_yylex): New function. Temporary
41565 introduced to filter some tokens.
41566 (grub_script_yyerror): Print a newline.
41567
41568 * normal/main.c (read_config_file): Output information about the
41569 lines that contain errors. Wait for a key after all lines have
41570 been processed. Don't return an empty menu.
41571
41572 * normal/parser.y (func_mem): Don't initialize.
41573 (menu_entry): Likewise.
41574 (err): New variable.
41575 (script): Don't return anything when an error was encountered.
41576 (ws, returns): Removed rules.
41577 (argument): Disabled concatenated variable support.
41578 (arguments): Remove explicit separators.
41579 (grubcmd): Likewise.
41580 (function): Likewise.
41581 (menuentry): Likewise.
41582 (if): Likewise.
41583 (commands): Likewise. Add error handling.
41584
41585 * normal/script.c (grub_script_create_cmdline): If
41586 `grub_script_parsed' is 0, assume the parser encountered an error.
41587
c9a86192 415882006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
41589
41590 * configure.ac: Add support for EFI. Fix the typo
41591 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
41592
70f3b243 415932006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41594
41595 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
41596 foreign multibyte characters should be shown correctly.
41597
65f201ad 415982006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
41599
41600 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
41601 calculation.
41602 (read_config_file): Made it to close file before returning.
41603
b4b93674 416042006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
41605
41606 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
41607 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
41608 video/i386/pc/vbefill.c.
41609
41610 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
41611 video/i386/pc/vbefill.c.
41612
41613 * include/grub/video.h (grub_video_blit_format): New enum.
41614 (grub_video_mode_info): Added new member blit_format.
41615 (grub_video_get_blit_format): New function prototype.
41616
41617 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
41618 function prototype.
41619 (grub_video_vbe_map_rgb): Likewise.
41620 (grub_video_vbe_unmap_color): Likewise.
41621
41622 * include/grub/i386/pc/vbeblit.h: New file.
41623
41624 * include/grub/i386/pc/vbefill.h: New file.
41625
41626 * video/video.c (grub_video_get_blit_format): New function.
41627 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
41628 (grub_video_vbe_map_rgb): Likewise.
41629 (grub_video_vbe_unmap_color): Likewise.
41630
41631 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
41632 optimized fills.
41633 (grub_video_vbe_blit_render_target): Changed to use more optimized
41634 blits.
41635 (grub_video_vbe_setup): Added detection for optimized settings.
41636 (grub_video_vbe_create_render_target): Likewise.
41637
41638 * video/i386/pc/vbeblit.c: New file.
41639
41640 * video/i386/pc/vbefill.c: New file.
41641
c2379b9c 416422006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
41643
41644 * font/manager.c (grub_font_get_glyph): Removed font fixup from
41645 here...
41646
41647 * util/unifont2pff.rb: ... and moved it to here. Improved argument
41648 parsing to support both hex and dec ranges. If filename was missing
41649 show usage information.
41650
bd0d7896 416512006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
41652
41653 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
41654 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
41655
41656 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
41657 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
41658 (video_mod_SOURCES): Added.
41659 (video_mod_CFLAGS): Likewise.
41660 (video_mod_LDFLAGS): Likewise.
41661 (gfxterm_mod_SOURCES): Likewise.
41662 (gfxterm_mod_CFLAGS): Likewise.
41663 (gfxterm_mod_LDFLAGS): Likewise.
41664 (videotest_mod_SOURCES): Likewise.
41665 (videotest_mod_CFLAGS): Likewise.
41666 (videotest_mod_LDFLAGS): Likewise.
41667 (vesafb_mod_SOURCES): Removed.
41668 (vesafb_mod_CFLAGS): Likewise.
41669 (vesafb_mod_LDFLAGS): Likewise.
41670 (vga_mod_SOURCES): Likewise.
41671 (vga_mod_CFLAGS): Likewise.
41672 (vga_mod_LDFLAGS): Likewise.
41673
41674 * commands/videotest.c: New file.
41675
41676 * font/manager.c (fill_with_default_glyph): Modified to use
41677 grub_font_glyph.
41678 (grub_font_get_glyph): Likewise.
41679 (fontmanager): Renamed from this...
41680 (font_manager): ... to this.
41681
41682 * include/grub/font.h (grub_font_glyph): Added new structure.
41683 (grub_font_get_glyph): Modified to use grub_font_glyph.
41684
41685 * include/grub/misc.h (grub_abs): Added as inline function.
41686
41687 * include/grub/video.h: New file.
41688
41689 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
41690 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
41691 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
41692 (grub_vbe_get_controller_info): Renamed from this...
41693 (grub_vbe_bios_get_controller_info): ... to this.
41694 (grub_vbe_get_mode_info): Renamed from this...
41695 (grub_vbe_bios_get_mode_info): ... to this.
41696 (grub_vbe_set_mode): Renamed from this...
41697 (grub_vbe_bios_set_mode): ... to this.
41698 (grub_vbe_get_mode): Renamed from this...
41699 (grub_vbe_bios_get_mode): ... to this.
41700 (grub_vbe_set_memory_window): Renamed from this...
41701 (grub_vbe_bios_set_memory_window): ... to this.
41702 (grub_vbe_get_memory_window): Renamed from this...
41703 (grub_vbe_bios_get_memory_window): ... to this.
41704 (grub_vbe_set_scanline_length): Renamed from this...
41705 (grub_vbe_set_scanline_length): ... to this.
41706 (grub_vbe_get_scanline_length): Renamed from this...
41707 (grub_vbe_bios_get_scanline_length): ... to this.
41708 (grub_vbe_set_display_start): Renamed from this...
41709 (grub_vbe_bios_set_display_start): ... to this.
41710 (grub_vbe_get_display_start): Renamed from this...
41711 (grub_vbe_bios_get_display_start): ... to this.
41712 (grub_vbe_set_palette_data): Renamed from this...
41713 (grub_vbe_bios_set_palette_data): ... to this.
41714 (grub_vbe_set_pixel_rgb): Removed.
41715 (grub_vbe_set_pixel_index): Likewise.
41716
41717 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
41718 from this...
41719 (grub_vbe_bios_get_controller_info): ... to this.
41720 (grub_vbe_get_mode_info): Renamed from this...
41721 (grub_vbe_bios_get_mode_info): ... to this.
41722 (grub_vbe_set_mode): Renamed from this...
41723 (grub_vbe_bios_set_mode): ... to this.
41724 (grub_vbe_get_mode): Renamed from this...
41725 (grub_vbe_bios_get_mode): ... to this.
41726 (grub_vbe_set_memory_window): Renamed from this...
41727 (grub_vbe_bios_set_memory_window): ... to this.
41728 (grub_vbe_get_memory_window): Renamed from this...
41729 (grub_vbe_bios_get_memory_window): ... to this.
41730 (grub_vbe_set_scanline_length): Renamed from this...
41731 (grub_vbe_set_scanline_length): ... to this.
41732 (grub_vbe_get_scanline_length): Renamed from this...
41733 (grub_vbe_bios_get_scanline_length): ... to this.
41734 (grub_vbe_set_display_start): Renamed from this...
41735 (grub_vbe_bios_set_display_start): ... to this.
41736 (grub_vbe_get_display_start): Renamed from this...
41737 (grub_vbe_bios_get_display_start): ... to this.
41738 (grub_vbe_set_palette_data): Renamed from this...
41739 (grub_vbe_bios_set_palette_data): ... to this.
41740 (grub_vbe_bios_get_controller_info): Fixed problem with registers
41741 getting corrupted after calling it. Added more pushes and pops.
41742 (grub_vbe_bios_set_mode): Likewise.
41743 (grub_vbe_bios_get_mode): Likewise.
41744 (grub_vbe_bios_get_memory_window): Likewise.
41745 (grub_vbe_bios_set_scanline_length): Likewise.
41746 (grub_vbe_bios_get_scanline_length): Likewise.
41747 (grub_vbe_bios_get_display_start): Likewise.
41748 (grub_vbe_bios_set_palette_data): Likewise.
41749
41750 * normal/cmdline.c (cl_set_pos): Refresh the screen.
41751 (cl_insert): Likewise.
41752 (cl_delete): Likewise.
41753
41754 * term/gfxterm.c: New file.
41755
41756 * term/i386/pc/vesafb.c: Removed file.
41757
41758 * video/video.c: New file.
41759
41760 * video/i386/pc/vbe.c (real2pm): Added new function.
41761 (grub_video_vbe_draw_pixel): Likewise.
41762 (grub_video_vbe_get_video_ptr): Likewise.
41763 (grub_video_vbe_get_pixel): Likewise
41764 (grub_video_vbe_init): Likewise.
41765 (grub_video_vbe_fini): Likewise.
41766 (grub_video_vbe_setup): Likewise.
41767 (grub_video_vbe_get_info): Likewise.
41768 (grub_video_vbe_set_palette): Likewise.
41769 (grub_video_vbe_get_palette): Likewise.
41770 (grub_video_vbe_set_viewport): Likewise.
41771 (grub_video_vbe_get_viewport): Likewise.
41772 (grub_video_vbe_map_color): Likewise.
41773 (grub_video_vbe_map_rgb): Likewise.
41774 (grub_video_vbe_map_rgba): Likewise.
41775 (grub_video_vbe_unmap_color): Likewise.
41776 (grub_video_vbe_fill_rect): Likewise.
41777 (grub_video_vbe_blit_glyph): Likewise.
41778 (grub_video_vbe_blit_bitmap): Likewise.
41779 (grub_video_vbe_blit_render_target): Likewise.
41780 (grub_video_vbe_scroll): Likewise.
41781 (grub_video_vbe_swap_buffers): Likewise.
41782 (grub_video_vbe_create_render_target): Likewise.
41783 (grub_video_vbe_delete_render_target): Likewise.
41784 (grub_video_vbe_set_active_render_target): Likewise.
41785 (grub_vbe_set_pixel_rgb): Remove function.
41786 (grub_vbe_set_pixel_index): Likewise.
41787 (index_color_mode): Remove static variable.
41788 (active_mode): Likewise.
41789 (framebuffer): Likewise.
41790 (bytes_per_scan_line): Likewise.
41791 (grub_video_vbe_adapter): Added new static variable.
41792 (framebuffer): Likewise.
41793 (render_target): Likewise.
41794 (initial_mode): Likewise.
41795 (mode_in_use): Likewise.
41796 (mode_list): Likewise.
41797
5f97350b 417982006-03-10 Marco Gerards <marco@gnu.org>
41799
41800 * configure.ac (AC_INIT): Bumped to 1.93.
41801
41802 * DISTLIST: Added `include/grub/hfs.h'.
41803
a3c5c6f8 418042006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
41805
41806 * boot/i386/pc/boot.S (general_error): Before looping, try INT
41807 18H, which might help the BIOS falling back to next boot media.
41808
6de53d26 418092006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
41810
41811 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
41812 Poe Chen <poe.poechen@gmail.com>.
41813
77c4a393 418142006-01-17 Marco Gerards <marco@gnu.org>
41815
41816 * include/grub/normal.h: Include <grub/script.h>.
41817 (grub_command_list): Removed struct.
41818 (grub_command_list_t): Removed type.
41819 (grub_menu_entry): Remove members `num' and `command_list'. Add
41820 members `commands' and `sourcecode'.
41821 * include/grub/script.h: Add inclusion guards.
41822 (grub_script_cmd_menuentry): New struct.
41823 (grub_script_execute_menuentry): New prototype.
41824 (grub_script_lexer_record_start): Likewise.
41825 (grub_script_lexer_record_stop): Likewise.
41826 * normal/execute.c (grub_script_execute_menuentry): New function.
41827 * normal/lexer.c (record, recording, recordpos, recordlen): New
41828 variables.
41829 (grub_script_lexer_record_start): New function.
41830 (grub_script_lexer_record_stop): Likewise.
41831 (recordchar): Likewise.
41832 (nextchar): Likewise.
41833 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
41834 2048 as the buffer size. Add the tokens `menuentry' and `@'.
41835 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
41836 (current_menu): New variable.
41837 (free_menu): Mainly rewritten.
41838 (grub_normal_menu_addentry): New function.
41839 (read_config_file): Rewritten.
41840 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 41841 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 41842 the menu entry.
41843 (run): Mainly rewritten.
41844 * normal/parser.y (menu_entry): New variable.
41845 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
41846 (menuentry): New rule.
41847 (command): Add `menuentry'.
41848 (if_statement): Allow additional returns before `fi'.
41849 * normal/script.c (grub_script_create_cmdmenu): New function.
41850
144f1f98 418512006-01-03 Marco Gerards <marco@gnu.org>
41852
41853 * INSTALL: GNU Bison is required.
41854 * configure.ac: Rewritten the test to detect Bison.
41855 * Makefile.in (YACC): New variable. Reported by Xun Sun
41856 <xun.sun.cn@gmail.com>.
41857
af4b2d89 418582006-01-03 Marco Gerards <marco@gnu.org>
41859
41860 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
41861 the HFS+ filesystem to filesystem blocks.
41862 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
41863 GCC warning is silenced.
41864
15643b71 418652006-01-03 Marco Gerards <marco@gnu.org>
41866
41867 * partmap/apple.c (apple_partition_map_iterate): Convert the data
41868 read from disk from big endian to host byte order.
41869
00905879 418702006-01-03 Hollis Blanchard <hollis@penguinppc.org>
41871
41872 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
41873 documentation.
41874 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
41875 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
41876 embedded HFS+ filesystem.
41877 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
41878 (grub_hfs_sblock): Move from here...
41879 * include/grub/hfs.h: To here... New file.
41880 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
41881 documentation.
41882 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
41883 New macros.
41884 (grub_hfsplus_volheader): Change type of member `magic' to
41885 `grub_uint16_t'.
41886 (grub_hfsplus_data): Add new member `embedded_offset'.
41887 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
41888 returned block.
41889 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
41890 Calculate the offset.
41891
8899bc3e 418922005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41893
41894 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
41895 Removed.
41896 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
41897
ae8c0277 418982005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41899
41900 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
41901 ENV->NAME is NULL after allocating ENV->VALUE.
41902
07084456 419032005-12-25 Marco Gerards <marco@gnu.org>
41904
41905 * kern/env.c (grub_env_set): Rewritten the error handling code.
41906
4750f5f1 419072005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41908
41909 * geninit.sh: Made more robust, and more portable.
41910
50214199 419112005-12-25 Marco Gerards <marco@gnu.org>
41912
41913 Add support for Apple HFS+ filesystems.
f19dbdb7 41914
50214199 41915 * fs/hfsplus.c: New file.
41916
41917 * DISTLIST: Added `fs/hfsplus.c'.
41918
41919 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
41920 (hfsplus_mod_SOURCES): New variable.
41921 (hfsplus_mod_CFLAGS): Likewise.
41922 (hfsplus_mod_LDFLAGS): Likewise.
41923 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
41924 (grub_setup_SOURCES): Likewise.
41925 (grub_mkdevicemap_SOURCES): Likewise.
41926 (grub_emu_SOURCES): Likewise.
41927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41928
41929 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
41930
41931 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
41932
befaed6c 419332005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
41934
41935 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
41936 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
41937 include/grub/parser.h, include/grub/script.h, kern/parser.c,
41938 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
41939 normal/lexer.c, normal/parser.y, normal/script.c, and
41940 partmap/gpt.c.
41941 Removed kern/sparc64/cache.c.
41942
41943 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
41944 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
41945 grub_emu_init.c.
41946
41947 * configure.ac (AC_INIT): Bumped to 1.92.
41948
6a124103 419492005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
41950
41951 * kern/err.c (grub_error_push): Added new function to support error
41952 stacks.
41953 (grub_error_pop): Likewise.
41954 (grub_error_stack_items): New local variable to support error stacks.
41955 (grub_error_stack_pos): Likewise.
41956 (grub_error_stack_assert): Likewise.
41957 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
41958 stack depth.
41959 (grub_print_error): Added support to print errors from error stack.
41960
41961 * include/grub/err.h (grub_error_push): Added function prototype.
41962 (grub_error_pop): Likewise.
41963
be973c1b 419642005-12-09 Hollis Blanchard <hollis@penguinppc.org>
41965
41966 * configure.ac: Accept `powerpc64' as host_cpu.
41967 (amd64): Rename to `biarch32'.
41968
41969 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
41970 non-cacheline-aligned addresses.
41971
41972 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
41973 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
41974 if `size' is non-zero.
41975
b04216ab 419762005-12-03 Marco Gerards <mgerards@xs4all.nl>
41977
41978 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
41979 and `cd' to make sure the filename is not prefixed with a
41980 directory name.
41981 (pkgdata_MODULES): Add `gpt.mod'.
41982 (gpt_mod_SOURCES): New variable.
41983 (gpt_mod_CFLAGS): Likewise.
41984 (gpt_mod_LDFLAGS): Likewise.
41985
41986 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
41987
41988 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
41989 New macro.
41990
41991 * partmap/gpt.c: New file.
41992
41993 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
41994 GPT partition map is detected.
41995
41730ed9 419962005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
41997
41998 * commands/i386/pc/play.c: New file.
41999 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42000 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42001 macros.
f19dbdb7 42002
95dc3643 420032005-11-27 Marco Gerards <mgerards@xs4all.nl>
42004
42005 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42006 ((unused))' to silence gcc warning.
42007
1569ec51 420082005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42009
42010 * configure.ac: Correct `AC_PROG_YACC' test.
42011
9abde152 420122005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42013
42014 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42015 check before installing files.
42016
44b83271 420172005-11-22 Mike Small <smallm@panix.com>
42018
42019 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42020 number regex so multidigit numbers are recognized correctly.
42021
420222005-11-22 Mike Small <smallm@panix.com>
42023
42024 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42025 debugging message before attempting to claim memory.
42026 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42027 multiple addresses in case of failure.
42028
9c12956b 420292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42030
42031 * term/tparm.c (get_space): Remove empty `if' statement.
42032
42033 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42034
42035 * kern/parser.c (check_varstate): Rename `state' to 's'.
42036
aeaf81d9 420372005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42038
42039 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42040 variable definitions to the beginning of each function. Sort stack
42041 variables by size.
42042 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42043 `buf' argument to `char *'.
42044
79bbb63f 420452005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42046
42047 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42048 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42049 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 42050 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42051 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42052 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42053 configfile.mod, search.mod, gzio.mod and test.mod.
42054 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42055 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42056 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42057 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42058 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42059 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42060 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42061 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42062 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42063 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42064 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42065 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42066 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42067 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42068 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42069 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42070 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42071 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42072 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42073 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42074 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42075 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42076 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42077
42078 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42079 `grep --include'.
42080 (pkgdata_MODULES): Add test.mod.
42081
233b1628 420822005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42083
42084 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42085 appending to variables with "+=".
42086 (PModule): Use full pathname to generate *.lst filenames.
42087
42088 * Makefile.in: Fixed list rules moved from genmk.rb.
42089 (.DELETE_ON_ERROR): New special target.
42090 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42091
42092 * conf/i386-pc.rmk: Include conf/common.mk.
42093 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42094 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 42095 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42096 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42097 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42098 configfile.mod, search.mod, gzio.mod and test.mod.
42099 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42100 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42101 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42102 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42103 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42104 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42105 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42106 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42107 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42108 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42109 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42110 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42111 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42112 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42113 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42114 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42115 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42116 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42117 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42118 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42119 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42120 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42121 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42122 here...
42123 * conf/common.rmk: ... to here. New file.
42124
42125 * conf/common.mk: New file.
42126
16f820c8 421272005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42128
42129 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42130 (grub_script.tab.c): ... here.
42131
42132 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42133 (grub_script.tab.c): ... here.
42134
42135 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42136 (grub_script.tab.c): ... here.
42137
42138 * normal/command.c (grub_command_find): Fixed a memory leak of
42139 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42140
63ba1554 421412005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42142
42143 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42144 "@" which marks the start of a comment on ARM.
42145 (VARIABLE): Likewise.
42146
7f67dc13 421472005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42148
79bbb63f 42149 Add support for Linux/ADFS partition tables.
7f67dc13 42150
42151 * partmap/acorn.c: New file.
42152
42153 * include/grub/acorn_filecore.h: Likewise.
42154
42155 * DISTLIST: Added `partmap/acorn.c' and
42156 `include/grub/acorn_filecore.h'.
f19dbdb7 42157
7f67dc13 42158 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42159 `partmap/acorn.c'.
42160 (pkgdata_MODULES): Add `acorn.mod'.
42161 (acorn_mod_SOURCES): New variable.
42162 (acorn_mod_CFLAGS): Likewise.
42163
42164 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42165 `partmap/acorn.c'.
42166 (pkgdata_MODULES): Add `acorn.mod'.
42167 (acorn_mod_SOURCES): New variable.
42168 (acorn_mod_CFLAGS): Likewise.
42169
42170 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42171 (pkgdata_MODULES): Add `acorn.mod'.
42172 (acorn_mod_SOURCES): New variable.
42173 (acorn_mod_CFLAGS): Likewise.
42174 (acorn_mod_LDFLAGS): Likewise.
42175
42176 * include/types.h (grub_disk_addr_t): New typedef.
42177
6d099807 421782005-11-13 Marco Gerards <mgerards@xs4all.nl>
42179
42180 * geninit.sh: New file.
42181
42182 * geninitheader.sh: Likewise.
42183
42184 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42185 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42186 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42187 * commands/configfile.c (grub_configfile_init)
42188 (grub_configfile_fini): Likewise.
42189 * commands/default.c (grub_default_init, grub_default_fini):
42190 Likewise.
42191 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42192 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42193 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42194 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42195 Likewise.
42196 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42197 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42198 Likewise.
42199 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 42200 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 42201 Likewise.
42202 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42203 Likewise.
fe6b695a 42204 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 42205 Likewise.
42206 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42207 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42208 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42209 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42210 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42211 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42212 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42213 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42214 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42215 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42216 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42217 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42218 * partmap/amiga.c (grub_amiga_partition_map_init)
42219 (grub_amiga_partition_map_fini): Likewise.
42220 * partmap/apple.c (grub_apple_partition_map_init)
42221 (grub_apple_partition_map_fini): Likewise.
42222 * partmap/pc.c (grub_pc_partition_map_init)
42223 (grub_pc_partition_map_fini): Likewise.
42224 * partmap/sun.c (grub_sun_partition_map_init,
42225 grub_sun_partition_map_fini): Likewise.
42226 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42227 Likewise.
42228
42229 * util/grub-emu.c: Include <grub_modules_init.h>.
42230 (main): Don't initialize and de-initialize any modules directly,
42231 use `grub_init_all' and `grub_fini_all' instead.
42232
42233 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42234 `grub_vesafb_mod_init'.
42235 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42236 all users.
42237 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42238 `grub_vga_mod_init'. Updated all users.
42239 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 42240
6d099807 42241 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
42242 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
42243 rules.
42244
42245 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
42246 Generate a function to initialize the module in utilities.
42247 Updated all callers.
42248 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
42249 initialize the module in utilities. Updated all callers.
42250
9046bcf0 422512005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42252
42253 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
42254 escape sequence and a literal ^L to clear the screen.
42255
42256 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
42257 when returning from Open Firmware.
42258
d13ea639 422592005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42260
42261 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
42262 (grub_ofconsole_height): Likewise.
42263 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
42264 manually insert a '\n'.
42265 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
42266 `grub_ofconsole_height'. Return early if these are already set.
42267
a8fcf206 422682005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
42269
42270 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42271 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
42272 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
42273 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
42274 and `normal/script.c'.
42275 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42276 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42277 (test_mod_SOURCES): New variable.
42278 (test_mod_CFLAGS): Likewise.
42279 (test_mod_LDFLAGS): Likewise.
42280 (pkgdata_MODULES): Add `test.mod'.
42281 (grub_script.tab.c): New rule.
42282 (grub_script.tab.h): Likewise.
42283
b6b32745 422842005-11-07 Marco Gerards <mgerards@xs4all.nl>
42285
42286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42287 `commands/test.c', `normal/execute.c', `normal/lexer.c',
42288 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42289 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42290 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42291 (test_mod_SOURCES): New variable.
42292 (test_mod_CFLAGS): Likewise.
42293 (pkgdata_MODULES): Add `test.mod'.
42294 (grub_script.tab.c): New rule.
42295 (grub_script.tab.h): Likewise.
42296
daac212a 422972005-11-06 Marco Gerards <mgerards@xs4all.nl>
42298
42299 Add initial scripting support.
42300
42301 * commands/test.c: New file.
42302 * include/grub/script.h: Likewise.
42303 * normal/execute.c: Likewise.
42304 * normal/function.c: Likewise.
42305 * normal/lexer.c: Likewise.
42306 * normal/parser.y: Likewise.
42307 * normal/script.c: Likewise.
42308
42309 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 42310
daac212a 42311 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
42312 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
42313 `normal/function.c' and `normal/script.c'.
42314 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42315 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 42316 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
42317 variables.
daac212a 42318 (pkgdata_MODULES): Add `test.mod'.
42319 (grub_script.tab.c): New rule.
42320 (grub_script.tab.h): Likewise.
42321
42322 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
42323
42324 * include/grub/normal.h (grub_test_init): New prototype.
42325 (grub_test_fini): Likewise.
f19dbdb7 42326
daac212a 42327 * normal/command.c: Include <grub/script.h>.
42328 (grub_command_execute): Rewritten.
f19dbdb7 42329
daac212a 42330 * util/grub-emu.c (main): Call `grub_test_init' and
42331 `grub_test_fini'.
42332
77500b2b 423332005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42334
42335 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
42336 to 0.
42337 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
42338 there are no pending characters.
42339
e45deb9e 423402005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42341
42342 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
42343 `grub_strndup' to drop device arguments. Replace unnecessary
42344 `grub_strndup' with `grub_strdup'.
42345
4ce32619 423462005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42347
42348 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
42349 `debug' environment variable has been set.
42350
423512005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42352
4ce32619 42353 * Makefile.in (install-local): Use $(DATA).
42354 (uninstall): Likewise.
42355 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
42356 (sbin_UTILITIES): ... to here.
42357 (sbin_SCRIPTS): New variable.
42358 (grub_install_SOURCES): New variable.
42359 * util/powerpc/ieee1275/grub-install.in: New file.
42360 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
42361 variable.
42362 (add_segments): Call `grub_util_get_path'.
42363
25fe6f03 423642005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42365
42366 From Timothy Baldwin:
42367 * commands/ls.c (grub_ls_list_files): Close FILE with
42368 grub_file_close.
42369 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
42370
04ccf3ec 423712005-10-24 Marco Gerards <mgerards@xs4all.nl>
42372
42373 * include/grub/parser.h: New file.
42374
42375 * kern/parser.c: Likewise.
42376
42377 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
42378 (grub_setup_SOURCES): Likewise.
42379 (grub_probefs_SOURCES): Likewise.
42380 (grub_emu_SOURCES): Likewise.
42381 (kernel_img_HEADERS): Add `parser.h'.
42382
42383 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42384 (grub_emu_SOURCES): Add `kern/parser.c'.
42385 (grubof_SOURCES): Likewise.
42386
42387 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
42388 (grubof_SOURCES): Add `kern/parser.c'.
42389
42390 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
42391
42392 * kern/misc.c (grub_split_cmdline): Removed function.
42393
42394 * kern/rescue.c: Include <grub/parser.h>.
42395 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
42396 of `grub_split_cmdline'.
42397
42398 * normal/command.c: Include <grub/parser.h>.
42399 (grub_command_execute): Use `grub_parser_split_cmdline' instead
42400 of `grub_split_cmdline'.
42401
42402 * normal/completion.c: Include <grub/parser.h>.
42403 (cmdline_state): New variable.
42404 (iterate_dir): End the filename with a quote depending on the
42405 command line state.
42406 (get_state): new function.
42407 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
42408 split the arguments and determine the current argument. When the
42409 argument string is not quoted, escape all spaces.
42410
6d8f4b0e 424112005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42412
42413 * normal/sparc64/setjmp.S: New file.
42414
15cf03ed 424152005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42416
42417 * include/grub/sparc64/libgcc.h: New file.
42418 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
42419 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
42420 normal/sparc64/setjmp.c.
42421
03e8661a 424222005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
42423
42424 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
42425 * kern/sparc64/cache.S: New file.
42426 * kern/sparc64/cache.c: Removed.
42427 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
42428 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
42429 -mtune=ultrasparc.
42430 (COMMON_LDFLAGS): Add -melf64_sparc.
42431 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
42432 (grubof_SOURCES): Use cache.S instead of cache.c.
42433 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
42434 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
42435 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
42436 commented though.
42437 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
42438 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
42439 (linux_mod_CFLAGS): Commented out.
42440 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
42441 out because module isn't built.
42442 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
42443 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
42444 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
42445 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
42446 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
42447 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42448 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42449 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
42450 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
42451 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
42452 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42453 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42454 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
42455 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
42456
34eeec8a 424572005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
42458
42459 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
42460 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
42461 longer, because HFS should not be used on PC.
42462
708367a3 424632005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42464
42465 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
42466 consistently within the loop.
42467
6fa1251a 424682005-10-15 Marco Gerards <mgerards@xs4all.nl>
42469
42470 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
42471 directory can not be read.
42472
4801580b 424732005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42474
42475 * configure.ac (AC_INIT): Increase the version number to 1.91.
42476
42477 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
42478 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
42479 term/i386/pc/serial.c.
42480
219ad426 424812005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42482
42483 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
42484 file size must be permitted.
42485
42486 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
42487 between %ah and %al.
42488
688e5699 424892005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42490
42491 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
42492 grub_uint64_t.
42493 Call the hook with a NUL-terminated filename.
42494 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
42495 grub_cpu_to_be32.
42496
42497 * kern/term.c (cursor_state): New variable.
42498 (grub_term_set_current): Reset the cursor state on a new
42499 terminal.
42500 (grub_setcursor): Rewritten to use CURSOR_STATE.
42501 (grub_getcursor): New function.
42502
42503 * include/grub/term.h (grub_getcursor): New prototype.
42504
42505 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
42506 integers on ARM. Reported by Timothy Baldwin
42507 <T.E.Baldwin99@members.leeds.ac.uk>.
42508
bb34586c 425092005-10-11 Marco Gerards <mgerards@xs4all.nl>
42510
42511 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
42512 allocated.
42513 (grub_sfs_dir): Likewise.
42514
9a909877 425152005-10-09 Marco Gerards <mgerards@xs4all.nl>
42516
42517 Add support for the SFS filesystem.
42518
42519 * fs/sfs.c: New file.
42520
42521 * DISTLIST: Added `fs/sfs.c'.
42522
42523 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
42524 (grub_probefs_SOURCES): Likewise.
42525 (grub_emu_SOURCES): Likewise.
42526 (pkgdata_MODULES): Add `sfs.mod'.
42527 (sfs_mod_SOURCES): New variable.
42528 (sfs_mod_CFLAGS): Likewise.
42529 (sfs_mod_LDFLAGS): Likewise.
42530
42531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
42532 (pkgdata_MODULES): Add `sfs.mod'.
42533 (sfs_mod_SOURCES): New variable.
42534 (sfs_mod_CFLAGS): Likewise.
42535
42536 * util/grub-emu.c (main): Call `grub_sfs_init' and
42537 `grub_sfs_fini'.
42538
42539 * include/grub/fs.h (grub_sfs_init): New prototype.
42540 (grub_sfs_fini): Likewise.
42541
57bdbde3 425422005-10-07 Marco Gerards <mgerards@xs4all.nl>
42543
42544 Add support for the AFFS filesystem.
42545
42546 * fs/affs.c: New file.
42547
42548 * DISTLIST: Added `fs/affs.c'.
42549
42550 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
42551 (grub_probefs_SOURCES): Likewise.
42552 (grub_emu_SOURCES): Likewise.
42553 (pkgdata_MODULES): Add `affs.mod'.
42554 (affs_mod_SOURCES): New variable.
42555 (affs_mod_CFLAGS): Likewise.
42556 (affs_mod_LDFLAGS): Likewise.
42557
42558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
42559 (pkgdata_MODULES): Add `affs.mod'.
42560 (affs_mod_SOURCES): New variable.
42561 (affs_mod_CFLAGS): Likewise.
42562
42563 * util/grub-emu.c (main): Call `grub_affs_init' and
42564 `grub_affs_fini'.
42565
42566 * include/grub/fs.h (grub_affs_init): New prototype.
42567 (grub_affs_fini): Likewise.
42568
047b67e0 425692005-10-01 Marco Gerards <mgerards@xs4all.nl>
42570
42571 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
42572
59b8208a 425732005-10-01 Marco Gerards <mgerards@xs4all.nl>
42574
42575 * configure.ac: Accept `x86_64' as host_cpu. In that case add
42576 `-m32' to CFLAGS.
42577
42578 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
42579 linking.
f19dbdb7 42580
59b8208a 42581 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
42582 (COMMON_LDFLAGS): New variable.
42583 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
42584 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
42585 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
42586 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
42587 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
42588 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
42589 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
42590 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
42591 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
42592 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
42593 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
42594 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
42595 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
42596 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
42597 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
42598 variables.
42599 (normal_mod_ASFLAGS): Add `-m32'.
42600
42601 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
42602 (grub_host_size_t, grub_host_ssize_t): New types.
42603 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 42604 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 42605 `GRUB_HOST_SIZEOF_VOID_P'.
42606
42607 * include/grub/kernel.h (struct grub_module_header): Type of
42608 member offset changed to `grub_host_off_t'. Type of member size
42609 changed to `grub_host_size_t'.
42610 (struct grub_module_info): Type of member offset changed to
42611 `grub_host_off_t'. Type of member size changed to
42612 `grub_host_size_t'.
42613
b4093103 426142005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
42615
42616 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 42617
b4093103 42618 * kern/i386/pc/startup.S (multiboot_header): New label.
42619 (multiboot_entry): Likewise.
42620 (multiboot_trampoline): Likewise.
42621
42622 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42623 Increased to 0x4A0.
42624
42625 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
42626 put parentheses after a question mark.
42627 [!GRUB_UTIL] (my_mod): New variable.
42628
42629 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
42630
b2499b29 426312005-09-28 Marco Gerards <mgerards@xs4all.nl>
42632
42633 Adds support for the XFS filesystem. Btrees are not supported
42634 yet.
42635
42636 * fs/xfs.c: New file.
42637
42638 * DISTLIST: Added `fs/xfs.c'.
42639
42640 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
42641 (grub_probefs_SOURCES): Likewise.
42642 (grub_emu_SOURCES): Likewise.
42643 (pkgdata_MODULES): Add `xfs.mod'.
42644 (xfs_mod_SOURCES): New variable.
42645 (xfs_mod_CFLAGS): Likewise.
42646
42647 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
42648 (pkgdata_MODULES): Add `xfs.mod'.
42649 (xfs_mod_SOURCES): New variable.
42650 (xfs_mod_CFLAGS): Likewise.
42651
42652 * util/grub-emu.c (main): Call `grub_xfs_init' and
42653 `grub_xfs_fini'.
42654
42655 * include/grub/fs.h (grub_xfs_init): New prototype.
42656 (grub_xfs_fini): Likewise.
42657
f19dbdb7 42658
83d37a62 426592005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
42660
42661 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
42662 color modes, allow greater than 16 colors to be configured as
42663 a default palette.
42664
47d2d65e 426652005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
42666
42667 * normal/completion.c (complete_arguments): Add the qualifier
42668 const into OPTIONS.
42669
42670 From Omniflux <omniflux+lists@omniflux.com>:
42671 * include/grub/terminfo.h: New file.
42672 * include/grub/tparm.h: Likewise.
42673 * include/grub/i386/pc/serial.h: Likewise.
42674 * term/terminfo.c: Likewise.
42675 * term/tparm.c: Likewise.
42676 * term/i386/pc/serial.c: Likewise.
42677 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
42678 serial.mod.
42679 (terminfo_mod_SOURCES): New variable.
42680 (terminfo_mod_CFLAGS): Likewise.
42681 (serial_mod_SOURCES): Likewise.
42682 (serial_mod_CFLAGS): Likewise.
42683
48b671ff 426842005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
42685
42686 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
42687 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
42688 and kern/powerpc/ieee1275/cmain.c, respectively.
42689
42690 * boot/powerpc/ieee1275/crt0.S: Moved to ...
42691 * kern/powerpc/ieee1275/crt0.S: ... here.
42692
42693 * boot/powerpc/ieee1275/cmain.c: Moved to ...
42694 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 42695
48b671ff 42696 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
42697 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
42698 instead of boot/powerpc/ieee1275/crt0.S and
42699 boot/powerpc/ieee1275/cmain.c, respectively.
42700
42701 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
42702 sectors. It was not used anyway.
42703
09fc77a7 427042005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42705
42706 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
42707 `unused parameter' warning.
42708
003789c7 427092005-08-30 Hollis Blanchard <hollis@penguinppc.org>
42710
42711 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
42712 function.
42713 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
42714 getcharwidth.
42715
67f44c86 427162005-08-28 Marco Gerards <metgerards@student.han.nl>
42717
42718 * include/grub/normal.h (enum grub_completion_type): Added
42719 `GRUB_COMPLETION_TYPE_ARGUMENT'.
42720
42721 * normal/cmdline.c (print_completion): Handle
42722 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
42723 * normal/menu_entry.c (store_completion): Likewise.
42724
42725 * normal/completion.c (complete_arguments): New function.
42726 (grub_normal_do_completion): Call `complete_arguments' when the
42727 current words start with a dash.
42728
0b5abe02 427292005-08-27 Marco Gerards <metgerards@student.han.nl>
42730
42731 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
42732 `gzio.mod' instead of `io.mod').
42733
d9864ee1 427342005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
42735
42736 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
42737 (DISTDIRS): Added io and video.
42738 Rewrite the search routine to make an output consistently.
42739
42740 * DISTLIST: Added conf/sparc64-ieee1275.mk,
42741 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
42742 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
42743 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
42744 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
42745 util/powerpc/ieee1275/misc.c.
f19dbdb7 42746
d9864ee1 42747 * include/grub/gzio.h: New file.
42748 * io/gzio.c: Likewise.
f19dbdb7 42749
d9864ee1 42750 * kern/file.c (grub_file_close): Call grub_device_close only if
42751 FILE->DEVICE is not NULL.
42752
42753 * include/grub/mm.h [!NULL] (NULL): New macro.
42754
42755 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
42756
42757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
42758 (pkgdata_MODULES): Added gzio.mod.
42759 (gzio_mod_SOURCES): New variable.
42760 (gzio_mod_CFLAGS): Likewise.
42761
42762 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
42763 (pkgdata_MODULES): Added gzio.mod.
42764 (gzio_mod_SOURCES): New variable.
42765 (gzio_mod_CFLAGS): Likewise.
42766
42767 * commands/cat.c: Include grub/gzio.h.
42768 (grub_cmd_cat): Use grub_gzfile_open instead of
42769 grub_file_open.
f19dbdb7 42770
d9864ee1 42771 * commands/cmp.c: Include grub/gzio.h.
42772 (grub_cmd_cmp): Use grub_gzfile_open instead of
42773 grub_file_open.
42774
42775 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
42776 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
42777 grub_file_open.
42778 (grub_rescue_cmd_module): Likewise.
42779
fa46f4b5 427802005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42781
42782 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
42783 kern/sparc64/ieee1275/init.c because it contains _start.
42784 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
42785
e9211b5d 427862005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
42787
42788 * configure.ac: Add support for sparc64 host with ieee1275
42789 firmware.
42790 * configure: Generated from configure.ac.
42791 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
42792 instead of int.
42793 (grub_ofdisk_read): Likewise.
42794 (grub_ofdisk_open): Use %p to print pointer values, and cast the
42795 pointers as (void *) to remove a warning.
42796 (grub_ofdisk_close): Likewise.
42797 (grub_ofdisk_read): Likewise.
42798 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
42799 returns, so make it return void to remove a warning.
42800 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
42801 Corresponding prototype change.
42802 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
42803 values, and cast the pointers as (void *) to remove a warning.
42804 (grub_mm_dump): Likewise.
42805 * conf/sparc64-ieee1275.mk: New file.
42806 * conf/sparc64-ieee1275.rmk: Likewise.
42807 * include/grub/sparc64/setjmp.h: Likewise.
42808 * include/grub/sparc64/types.h: Likewise.
42809 * include/grub/sparc64/ieee1275/console.h: Likewise.
42810 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
42811 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
42812 * include/grub/sparc64/ieee1275/time.h: Likewise.
42813 * kern/sparc64/cache.c: Likewise.
42814 * kern/sparc64/dl.c: Likewise.
42815 * kern/sparc64/ieee1275/init.c: Likewise.
42816 * kern/sparc64/ieee1275/openfw.c: Likewise.
42817
385c6a92 428182005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42819
42820 * util/console.c (grub_ncurses_putchar): If C is greater than
42821 0x7f, set C to a question mark.
42822 (grub_ncurses_getcharwidth): New function.
42823 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
42824 getcharwidth.
42825
42826 * normal/menu.c (print_entry): Made aware of Unicode. First,
42827 convert TITLE to UCS-4, and predict the cursor position by
42828 grub_getcharwidth.
42829
42830 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
42831 const to SRC.
42832 * kern/misc.c (grub_utf16_to_utf8): Likewise.
42833
16ccb8b1 428342005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42835
42836 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
42837 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42838 grub_strcat.
42839
42840 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
42841 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
42842 grub_strcpy and grub_strlen. Take it into account that a space
42843 character is inserted as a delimiter.
42844
6a85ce79 428452005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42846
42847 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 42848 invalid magic in the error.
6a85ce79 42849
42850 * commands/search.c: New file.
f19dbdb7 42851
6a85ce79 42852 * util/grub-emu.c (main): Call grub_search_init and
42853 grub_search_fini.
42854
42855 * kern/rescue.c (grub_rescue_print_disks): Removed.
42856 (grub_rescue_print_devices): New function.
42857 (grub_rescue_cmd_ls): Use grub_device_iterate with
42858 grub_rescue_print_devices instead of grub_disk_dev_iterate with
42859 grub_rescue_print_disks.
42860
42861 * kern/partition.c (grub_partition_iterate): Return the result of
42862 PARTMAP->ITERATE instead of GRUB_ERRNO.
42863
42864 * kern/device.c: Include grub/partition.h.
42865 (grub_device_iterate): New function.
42866
42867 * include/grub/partition.h (grub_partition_iterate): Return int
42868 instead of grub_err_t.
42869
42870 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
42871 prototype.
42872 [GRUB_UTIL] (grub_search_fini): Likewise.
42873
42874 * include/grub/device.h (grub_device_iterate): New prototype.
42875
42876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
42877 commands/search.c.
42878 (pkgdata_MODULES): Added search.mod.
42879 (search_mod_SOURCES): New variable.
42880 (search_mod_CFLAGS): Likewise.
42881
42882 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
42883 (pkgdata_MODULES): Added search.mod.
42884 (search_mod_SOURCES): New variable.
42885 (search_mod_CFLAGS): Likewise.
42886
42887 * commands/ls.c (grub_ls_list_disks): Renamed to ...
42888 (grub_ls_list_devices): ... this, and use grub_device_iterate.
42889 All callers changed.
42890
42891 * DISTLIST: Added commands/search.c.
42892
ef095434 428932005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
42894
42895 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
42896 conversion.
42897 (grub_getcharwidth): New function.
42898
42899 * kern/misc.c (grub_utf8_to_ucs4): New function.
42900
42901 * include/grub/term.h (struct grub_term): Added a new member
42902 "getcharwidth".
42903 (grub_getcharwidth): New prototype.
42904
42905 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
42906
42907 * term/i386/pc/console.c (map_char): New function. Segregated from
42908 grub_console_putchar.
42909 (grub_console_putchar): Use map_char.
42910 (grub_console_getcharwidth): New function.
42911 (grub_console_term): Specified grub_console_getcharwidth as
42912 getcharwidth.
42913
42914 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
42915 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
42916
42917 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
42918 GRUB_ERRNO.
42919 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
42920 on grub_strtoul completely.
42921 (write_char): Declare local variables in the beginning of the
42922 function.
42923 (grub_vesafb_getcharwidth): New function.
42924 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
42925 getcharwidth.
42926
1f0a95e4 429272005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
42928
42929 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
42930 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
42931 commands/i386/pc/vbetest.c.
42932
42933 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
42934 call grub_vbe_get_controller_info again, because the returned
42935 information is volatile.
42936 (grub_vbe_set_video_mode): Mostly rewritten.
42937 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
42938 grub_vbe_status_t correctly.
42939 (grub_vbe_get_video_mode_info): Likewise.
42940 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
42941 several if statements.
42942
42943 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
42944 * commands/i386/pc/vbeinfo.c: ... this.
42945
42946 * commands/i386/pc/vbe_test.c: Renamed to ...
42947 * commands/i386/pc/vbetest.c: ... this.
42948
42949 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
42950 ...
42951 (grub_cmd_vbeinfo): ... this. Save video modes before
42952 iterating. Skip a video mode, if it is not available, not enough
42953 information is given or it is monochrome. Show the memory
42954 model. Leave the interpretation of MODEVAR to grub_strtoul
42955 completely.
42956 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
42957 (GRUB_MOD_FINI): Likewise.
42958
42959 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
42960 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
42961 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
42962 duplicated grub_env_get. Leave the interpretation of MODEVAR to
42963 grub_strtoul completely.
42964 (real2pm): Removed.
42965 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
42966 (GRUB_MOD_FINI): Likewise.
42967
42968 * normal/misc.c: Include grub/mm.h.
42969
42970 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
42971 vbe_list_modes with vbetest.mod and vbeinfo.mod.
42972 (vbe_list_modes_mod_SOURCES): Removed.
42973 (vbe_list_modes_mod_CFLAGS): Likewise.
42974 (vbe_test_mod_SOURCES): Likewise.
42975 (vbe_test_mod_CFLAGS): Likewise.
42976 (vbeinfo_mod_SOURCES): New variable.
42977 (vbeinfo_mod_CFLAGS): Likewise.
42978 (vbetest_mod_SOURCES): Likewise.
42979 (vbetest_mod_CFLAGS): Likewise.
42980
992ffbbe 429812005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
42982
42983 * normal/misc.c: New file.
42984
42985 * DISTLIST: Added normal/misc.c.
f19dbdb7 42986
992ffbbe 42987 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
42988 DISK to HOOK. Call HOOK with DISK.
42989 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42990 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42991 * partmap/sun.c (sun_partition_map_iterate): Likewise.
42992
42993 * normal/menu_entry.c (struct screen): Added a new member
42994 "completion_shown".
42995 (completion_buffer): New global variable.
42996 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
42997 (store_completion): New function.
42998 (complete): Likewise.
42999 (clear_completions): Likewise.
43000 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43001 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43002 a tab, call complete.
43003
43004 * normal/completion.c (disk_dev): Removed.
43005 (print_simple_completion): Likewise.
43006 (print_partition_completion): Likewise.
43007 (print_func): New global variable.
43008 (add_completion): Do not take the arguments WHAT or PRINT any
43009 longer. Added a new argument TYPE. Instead of printing directly,
43010 call PRINT_FUNC if not NULL.
43011 All callers changed.
43012 (complete_device): Use a local variable DEV instead of
43013 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43014 (grub_normal_do_completion): Take a new argument HOOK. Do not
43015 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43016 empty string, return NULL instead.
43017 All callers changed.
43018
43019 * normal/cmdline.c (print_completion): New function.
43020
43021 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43022 to HOOK.
43023 All callers changed.
43024
43025 * kern/disk.c (grub_print_partinfo): Removed.
43026
43027 * include/grub/partition.h (struct grub_partition_map): Add a new
43028 argument DISK into HOOK of ITERATE.
43029 (grub_partition_iterate): Add a new argument DISK to HOOK.
43030
43031 * include/grub/normal.h (enum grub_completion_type): New enum.
43032 (grub_completion_type_t): New type.
43033 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43034 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43035 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43036 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43037 (grub_normal_do_completion): Added a new argument HOOK.
43038 (grub_normal_print_device_info): New prototype.
43039
43040 * include/grub/disk.h (grub_print_partinfo): Removed.
43041
43042 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43043 (normal_mod_SOURCES): Likewise.
43044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43045 (normal_mod_SOURCES): Likewise.
43046
43047 * commands/ls.c (grub_ls_list_disks): Use
43048 grub_normal_print_device_info instead of grub_print_partinfo. Free
43049 PNAME.
43050 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43051 duplicating the code.
43052
0bd41162 430532005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43054
43055 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 43056 follow GCS more precisely.
43057 * commands/i386/pc/vbe_test.c: Likewise.
43058 * include/grub/i386/pc/vbe.h: Likewise.
43059 * term/i386/pc/vesafb.c: Likewise.
43060 * video/i386/pc/vbe.c: Likewise.
0bd41162 43061
6323696a 430622005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43063
43064 * DISTLIST: Added term/i386/pc/vesafb.c
43065 DISTLIST: Added video/i386/pc/vbe.c
43066 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43067 DISTLIST: Added commands/i386/pc/vbe_test.c.
43068 * commands/i386/pc/vbe_list_modes.c: New file.
43069 * commands/i386/pc/vbe_test.c: Likewise.
43070 * term/i386/pc/vesafb.c: Likewise.
43071 * video/i386/pc/vbe.c: Likewise.
43072 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43073 (grub_vbe_probe) Added prototype.
43074 (grub_vbe_set_video_mode) Likewise.
43075 (grub_vbe_get_video_mode) Likewise.
43076 (grub_vbe_get_video_mode_info) Likewise.
43077 (grub_vbe_set_pixel_rgb) Likewise.
43078 (grub_vbe_set_pixel_index) Likewise.
43079 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43080 (pkgdata_MODULES): Added vesafb.mod.
43081 (pkgdata_MODULES): Added vbe_list_modes.mod.
43082 (pkgdata_MODULES): Added vbe_test.mod.
43083 (vbe_mod_SOURCES): Added.
43084 (vbe_mod_CFLAGS): Likewise.
43085 (vesafb_mod_SOURCES): Likewise.
43086 (vesafb_mod_CFLAGS): Likewise.
43087 (vbe_list_modes_mod_SOURCES): Likewise.
43088 (vbe_list_modes_mod_CFLAGS): Likewise.
43089 (vbe_test_mod_SOURCES): Likewise.
43090 (vbe_test_mod_CFLAGS): Likewise.
43091
0a74e62f 430922005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43093
0a74e62f 43094 * normal/command.c (grub_command_execute): If INTERACTIVE is
43095 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43096 CMDLINE. Disable the pager if INTERACTIVE is true.
43097 All callers are changed.
43098
43099 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43100 before reading a config file.
43101 * normal/main.c (read_config_file): Even if a command is not
43102 found, register it if it is within an entry.
43103
43104 * util/grub-emu.c: Include sys/types.h and unistd.h.
43105 (options): Added --hold.
43106 (struct arguments): Added a new member "hold".
43107 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43108 missing.
43109 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43110 cleared by a debugger, if it is not zero.
43111
43112 * include/grub/normal.h (grub_command_execute): Add an argument
43113 INTERACTIVE.
43114
e51f85ae 431152005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43116
43117 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43118
e9c6f39b 431192005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43120
43121 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43122 program with another one, because the old one didn't detect a bug
43123 in gcc-3.4. Always use regparm 2, because the new test is still
43124 not enough for gcc-4.0. Someone must investigate a simple test
43125 case which detects a bug in gcc-4.0.
43126
8de3495c 431272005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43128
43129 * DISTLIST: Added normal/completion.c.
43130
43131 * normal/completion.c: New file.
f19dbdb7 43132
8de3495c 43133 * term/i386/pc/console.c (grub_console_getwh): New function.
43134 (grub_console_term): Assign grub_console_getwh to getwh.
43135
43136 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43137 function is defined in normal/completion.c as
43138 grub_normal_do_completion.
43139 (grub_cmdline_get): Use grub_normal_do_completion instead of
43140 grub_tab_complete.
43141
43142 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43143 returns non-zero, otherwise return 0.
43144 (grub_partition_iterate): First, probe the partition map. Then,
43145 call ITERATE only for this partition map.
43146
43147 * kern/misc.c (grub_strncmp): Rewritten.
43148
43149 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43150 returns non-zero. Otherwise return 0.
43151
43152 * include/grub/partition.h (grub_partition_map_iterate): Return
43153 int instead of void.
43154
43155 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43156
43157 * include/grub/misc.h (grub_strncmp): Change the type of N to
43158 grub_size_t.
43159
43160 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43161 of void.
43162
43163 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 43164 unsigned explicitly before comparing it with I.
8de3495c 43165
43166 * kern/main.c (grub_env_write_root): Add the attribute unused into
43167 VAR.
43168
43169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43170 normal/completion.c.
43171 (normal_mod_SOURCES): Likewise.
43172 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43173 (normal_mod_SOURCES): Likewise.
43174
43175 * normal/command.c (grub_iterate_commands): If ITERATE returns
43176 non-zero, return one immediately.
43177
e85e144b 431782005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43179
43180 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43181 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43182 descriptions.
43183 (grub_vbe_get_controller_info): New function.
43184 (grub_vbe_get_mode_info): Likewise.
43185 (grub_vbe_set_mode): Likewise.
43186 (grub_vbe_get_mode): Likewise.
43187 (grub_vbe_set_memory_window): Likewise.
43188 (grub_vbe_get_memory_window): Likewise.
43189 (grub_vbe_set_scanline_length): Likewise.
43190 (grub_vbe_get_scanline_length): Likewise.
43191 (grub_vbe_set_display_start): Likewise.
43192 (grub_vbe_get_display_start): Likewise.
43193 (grub_vbe_set_palette_data): Likewise.
43194 * include/grub/i386/pc/vbe.h: New file.
43195
c46153d2 431962005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43197
43198 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43199 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43200 * DISTLIST: Likewise.
43201 * kern/ieee1275/of.c: Moved to ...
43202 * kern/ieee1275/ieee1275.c: ... here.
43203
0cb90c45 432042005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43205
43206 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43207 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43208 Pass 0 as `end' parameter to grub_strtoul().
43209
a19fb360 432102005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43211
43212 * include/grub/powerpc/ieee1275/console.h: Do not include
43213 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43214 ifdef.
43215 (grub_console_cur_color): Remove i386-specific prototype.
43216 (grub_console_real_putchar): Likewise.
43217 (grub_console_checkkey): Likewise.
43218 (grub_console_getkey): Likewise.
43219 (grub_console_getxy): Likewise.
43220 (grub_console_gotoxy): Likewise.
43221 (grub_console_cls): Likewise.
43222 (grub_console_setcursor): Likewise.
43223 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43224 Include <grub/machine/console.h>.
43225 * term/ieee1275/ofconsole.c: Likewise.
43226
4ac9bd04 432272005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43228
43229 * Makefile.in (LIBLZO): New variable.
43230
43231 * configure.ac: Check for LZO version 2.
43232
43233 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43234 lzo/lzo1x.h instead of lzo1x.h.
43235
43236 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43237 of -llzo.
43238
43239 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43240 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43241
43242 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
43243 copying the data from PARTITION to P.
43244
f4917dfd 432452005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43246
43247 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
43248 negative, unload the module.
43249
43250 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
43251 map is "pc_partition_map" but not "pc".
43252 (usage): Fix the description. The options are --boot-image and
43253 --core-image but not --boot-file or --core-file.
43254 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
43255 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
43256 DEFAULT_DIRECTORY.
43257
43258 * util/i386/pc/grub-install.in: Do not specify --boot-file or
43259 --core-file. Specify INSTALL_DEVICE as an argument.
43260
43261 * util/console.c: Include config.h.
43262 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
43263 [HAVE_NCURSES_H]: Include ncurses.h.
43264 [HAVE_CURSES_H]: Include curses.h.
43265 [!A_NORMAL] (A_NORMAL): Defined as zero.
43266 [!A_STANDOUT] (A_STANDOUT): Likewise.
43267
43268 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
43269 -lncurses.
43270 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
43271
43272 * configure.ac: Check for curses libraries and headers.
43273
43274 * Makefile.in (LIBCURSES): New variable.
43275
43276 * genmk.rb (Script::rule): Set the executable bits.
43277
43278 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
43279 name of the PC partition map is "pc_partition_map" but not "pc".
43280
0e143073 432812005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43282
43283 * util/i386/pc/grub-install.in (grub_probefs): New variable.
43284 (modules): Likewise.
43285 (usage): Added descriptions for --modules and --grub-probefs.
43286 Handle --modules and --grub-probefs. Save the arguments in MODULES
43287 and GRUB_PROBEFS, respectively.
43288 Auto-detect a filesystem module against GRUBDIR. If the result is
43289 empty and modules are not specified explicitly, abort the
43290 installation. Add the result to MODULES.
43291
43292 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
43293 disk/powerpc/ieee1275/ofdisk.c,
43294 include/grub/powerpc/ieee1275/init.h and
43295 term/powerpc/ieee1275/ofconsole.c.
43296 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
43297 term/ieee1275/ofconsole.c.
43298
43299 * include/grub/powerpc/ieee1275/console.h: Resurrected.
43300
43301 * COPYING: Upgraded to the latest version. Only the address of the
43302 FSF office has changed.
f19dbdb7 43303
efd6e6d5 433042005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43305
43306 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43307 kern/ieee1275.c with kern/ieee1275/of.c.
43308
43309 * kern/ieee1275.c: Moved to ...
43310 * kern/ieee1275/of.c: ... here.
43311
8ceafda2 433122005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
43313
43314 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 43315 readability.
8ceafda2 43316
43317 * config.guess: Updated to the latest version from gnulib.
43318 * config.sub: Likewise.
43319 * install.sh: Likewise.
43320 * mkinstalldirs: Likewise.
43321
43322 * include/grub/console.h: Removed. This file is arch-specific. Do
43323 not put this in include/grub.
43324
43325 * include/grub/i386/pc/console.h: Resurrected.
43326
43327 * util/console.c: Include grub/machine/console.h instead of
43328 grub/console.h.
43329 * util/grub-emu.c: Likewise.
43330
267f6cd9 433312005-08-04 Marco Gerards <metgerards@student.han.nl>
43332
43333 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
43334 hardcoded value.
f19dbdb7 43335
267f6cd9 43336 From Vincent Pelletier <subdino2004@yahoo.fr>
43337 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
43338 Redefined to use grub_getwh.
43339 (grub_term): New member named getwh.
43340 (grub_getwh): New prototype.
43341 * kern/term.c (grub_getwh): New function.
43342 * term/i386/pc/console.c (grub_console_getwh): New function.
43343 (grub_console_term): New member `getwh'.
43344 * term/i386/pc/vga.c (grub_vga_getwh): New function.
43345 (grub_vga_term): New member `getwh'.
0b5abe02 43346 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 43347 grub_ssize_t.
43348 (grub_ofconsole_getw): New function.
43349 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
43350 (grub_ofconsole_term): New field named getwh and new initial
43351 value.
43352
3be7266d 433532005-08-03 Hollis Blanchard <hollis@penguinppc.org>
43354
43355 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
43356 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
43357 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
43358 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
43359 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
43360 of <grub/machine/ieee1275.h>.
43361 * commands/ieee1275/reboot.c: Likewise.
43362 * boot/powerpc/ieee1275/ieee1275.c: Move ...
43363 * kern/ieee1275.c: ... to here. All users updated. Change all
43364 parameter structs to use new type `grub_ieee1275_cell_t'.
43365 * term/powerpc/ieee1275/ofconsole.c: Move ...
43366 * term/ieee1275/ofconsole.c: ... to here. All users updated.
43367 * disk/powerpc/ieee1275/ofdisk.c: Move ...
43368 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
43369 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
43370 to return int.
43371 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
43372 Remove unused prototypes. All users updated.
43373 * include/grub/powerpc/ieee1275/console.h: Removed.
43374 * include/grub/powerpc/ieee1275/ieee1275.h: Define
43375 `grub_ieee1275_cell_t'.
43376 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
43377 Cast comparisons with -1 to the correct type.
43378 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
43379 type to match `grub_ieee1275_entry_fn'.
43380
8b5f3938 433812005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
43382
43383 * DISTLIST: Added util/i386/pc/grub-probefs.c.
43384
43385 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
43386 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
43387 partmap/sun.c.
43388 (grub_probefs_SOURCES): New variable.
43389
43390 * util/i386/pc/grub-probefs.c: New file.
43391
43392 * util/i386/pc/grub-setup.c (main): Call
43393 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
43394 grub_hfs_init and grub_jfs_init to initialize the system. Call
43395 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
43396 grub_pc_partition_map_fini to finish the system.
43397
ea409713 433982005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
43399
43400 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
43401 function.
43402 (grub_multiboot_load_elf32): Likewise.
43403 (grub_multiboot_is_elf64): Likewise.
43404 (grub_multiboot_load_elf64): Likewise.
43405 (grub_multiboot_load_elf): Likewise.
43406 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
43407 an ELF32 or ELF64 file.
43408 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
43409
43410 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
43411 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
43412 NULL before calling FS->LABEL.
43413 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
43414 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
43415 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
43416 before calling FS->LABEL.
43417
141a288b 434182005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
43419
43420 * util/i386/pc/grub-install.in (datadir): New variable.
43421 (libdir): Removed.
43422 (pkgdatadir): New variable.
43423 (pkglibdir): Removed.
43424
0d5f8a54 434252005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
43426
43427 * DISTLIST: Added util/i386/pc/grub-install.in.
43428
43429 * util/i386/pc/grub-install.in: New file.
43430
43431 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
43432 (grub_install_SOURCES): Likewise.
43433
43434 * genmk.rb: Added support for scripts.
43435 (Script): New class.
43436 (scripts): New variable.
43437
43438 * Makefile.in (install-local): Install sbin_SCRIPTS by
43439 INSTALL_SCRIPT.
43440 (uninstall): Remove sbin_SCRIPTS.
43441
43442 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
43443 device, try to get a GRUB device by
43444 grub_util_biosdisk_get_grub_dev.
43445 Free DEST_DEV.
43446
43447 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
43448 description for --device-map.
43449
5f968e1e 434502005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43451
43452 Change the semantics of variable hooks. They now return strings
43453 instead of error values.
f19dbdb7 43454
5f968e1e 43455 * util/i386/pc/grub-setup.c: Include grub/env.h.
43456 (setup): Use grub_device_set_root instead of grub_env_set.
43457
43458 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
43459 grub_env_get instead of grub_device_set_root and
43460 grub_device_get_root, respectively.
43461
43462 * kern/main.c (grub_env_write_root): New function.
43463 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
43464 grub_env_set instead of grub_device_set_root.
43465
43466 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
43467 many variables.
43468 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
43469 rather than calling ENV->WRITE_HOOK afterwards.
43470 (grub_env_get): Return the result of ENV->READ_HOOK rather than
43471 passing a pointer of a pointer.
43472 (grub_register_variable_hook): Change the types of "read_hook" and
43473 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
43474 respectively.
43475 Allocate the default empty string on the heap, because this string
43476 may be freed later.
43477
43478 * kern/device.c: Include grub/env.h.
43479 (grub_device_set_root): Removed.
43480 (grub_device_get_root): Likewise.
43481 (grub_device_open): Use grub_env_get instead of
43482 grub_device_get_root.
43483
43484 * include/grub/env.h (grub_env_read_hook_t): New type.
43485 (grub_env_write_hook_t): Likewise.
43486 (grub_env_var): Change the types of "read_hook" and "write_hook"
43487 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
43488 (grub_register_variable_hook): Likewise.
43489
43490 * include/grub/device.h (grub_device_set_root): Removed.
43491 (grub_device_set_root): Likewise.
43492
43493 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
43494 make sure that DIRNAME terminates with '/', so that
43495 grub_fat_find_dir will fail if PATH is not a directory.
43496
43497 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
43498 from DIRNAME.
43499 Use the qualifier auto for print_files and print_files_long.
43500 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
43501 as a regular file.
43502 Put a newline only if there is no error.
43503 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
43504 used.
43505
896f0afd 435062005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
43507
43508 * kern/partition.c (grub_partition_probe): Initialize PART to
43509 NULL. Otherwise, when no partition map is registered, this returns
43510 a garbage.
43511
b28b81b2 435122005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
43513
43514 * partmap/apple.c (apple_partition_map_iterate): Check if POS
43515 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
43516 valid.
43517
5f3607e0 435182005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
43519
43520 * commands/ls.c (grub_ls_list_disks): Print the filesystem
43521 information on each device, if it does not have partitions. Print
43522 "Device" instead of "Disk", because this function is not specific
43523 to disk devices.
43524
43525 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
43526 static to ensure that it is put on the memory rather than a
43527 register.
43528
502c87e8 435292005-07-17 Yoshinori Okuji <okuji@enbug.org>
43530
43531 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
43532 (grub_cat_init): Likewise.
43533 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
43534 (options): Likewise.
43535 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
43536 (grub_configfile_init): Likewise.
43537 * font/manager.c (GRUB_MOD_INIT): Likewise.
43538 * commands/help.c (GRUB_MOD_INIT): Likewise.
43539 (grub_help_init): Likewise.
43540 * normal/command.c (grub_command_init): Likewise.
43541 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
43542 * disk/loopback.c (grub_loop_init): Likewise.
43543 (GRUB_MOD_INIT): Likewise.
43544 * commands/ls.c (grub_ls_init): Likewise.
43545 (GRUB_MOD_INIT): Likewise.
43546 (options): Likewise.
43547 * commands/boot.c (grub_boot_init): Likewise.
43548 (GRUB_MOD_INIT): Likewise.
43549 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
43550 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
43551 (GRUB_MOD_INIT): Likewise.
43552 * commands/cmp.c (grub_cmp_init): Likewise.
43553 (GRUB_MOD_INIT): Likewise.
43554
43555 * normal/arg.c: Use <> instead of "" to include header files.
43556 (SHORT_ARG_HELP): New macro.
43557 (SHORT_ARG_USAGE): Likewise.
43558 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
43559 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
43560 descriptions.
43561 (find_short): Check if C is 'h' or 'u' explicitly.
43562 (grub_arg_show_help): Use space characters instead of tabs. Treat
43563 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
43564 are shown with --help and --usage only if they are not used for
43565 the command itself.
43566 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
43567 'h' and 'u'.
43568
43569 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
43570 const into "longarg". Change the type of "shortarg" to int.
43571
f806d18e 435722005-07-17 Yoshinori Okuji <okuji@enbug.org>
43573
43574 * boot/i386/pc/boot.S (boot_drive_check): New label.
43575
43576 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
43577 macro.
43578
43579 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
43580 which do not pass a boot drive correctly. Copied from GRUB Legacy.
43581
e293232b 435822005-07-17 Yoshinori Okuji <okuji@enbug.org>
43583
43584 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
43585 When turning off Gate A20, skip the check and return immediately,
43586 because this is not fatal usually.
43587
ebedfd00 435882005-07-17 Yoshinori Okuji <okuji@enbug.org>
43589
43590 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
43591 be 0x7C00 instead of 0x8000.
43592
43593 * boot/i386/pc/pxeboot.S: Rewritten.
43594
43595 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
43596 EXT_C.
43597 (gate_a20_check_state): Read a byte from 0x108000. Invert the
43598 result.
43599
654fc59f 436002005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
43601
43602 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
43603 robustness. This routine now supports a BIOS call and System
43604 Control Port A to modify the gate A20.
43605
43606 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43607 Increased to 0x440.
43608
09f9923f 436092005-07-12 Hollis Blanchard <hollis@penguinppc.org>
43610
43611 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
43612 device path and resulting ihandle.
43613 (grub_ofdisk_close): dprintf the ihandle being closed.
43614 (grub_ofdisk_read): dprintf function parameters.
43615 * kern/mm.c (grub_mm_init_region): Likewise.
43616 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
43617 (grub_linux_boot): dprintf the Linux entry point, initrd address and
43618 size, and boot arguments.
43619 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
43620 before loading into memory.
43621 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
43622 before loading into memory.
43623
7ef504d8 436242005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
43625
43626 * kern/mm.c: Added much documentation.
43627 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
43628 8, set to 5 instead of 8.
43629
e0f050c2 436302005-07-10 Yoshinori Okuji <okuji@enbug.org>
43631
43632 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
43633
43634 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
43635 (grub_mkdevicemap_SOURCES): New variable.
43636
43637 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
43638 lib/device.c of GRUB Legacy.
43639
7224189a 436402005-07-10 Yoshinori Okuji <okuji@enbug.org>
43641
43642 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
43643 instead of PATH is NULL.
43644
68c864eb 436452005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
43646
43647 * commands/cmp.c (BUFFER_SIZE): New macro.
43648 (grub_cmd_cmp): Close the right file at the right time. Compare
43649 only data just read. Don't report files of different size as
43650 identical. Dynamically allocate buffers. Move variable
43651 declarations at the beginning of function.
43652
e6f3e614 436532005-07-09 Yoshinori Okuji <okuji@enbug.org>
43654
43655 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
43656 reverse.
43657
f8f1559a 436582004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
43659
43660 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
43661 when backspace is pressed at beginning of line.
43662
39c9d41d 436632005-07-03 Yoshinori Okuji <okuji@enbug.org>
43664
43665 * DISTLIST: Added genfslist.sh.
43666
43667 * normal/main.c (fs_module_list): New variable.
43668 (autoload_fs_module): New function.
43669 (read_fs_list): Likewise.
43670 (grub_normal_execute): Call read_fs_list.
43671
43672 * kern/fs.c (grub_fs_autoload_hook): New variable.
43673 (grub_fs_probe): Added support for auto-loading.
43674
43675 * include/grub/normal.h (struct grub_fs_module_list): New struct.
43676 (grub_fs_module_list_t): New type.
43677
43678 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
43679 (grub_fs_autoload_hook): New prototype.
43680
43681 * genfslist.sh: New file.
f19dbdb7 43682
39c9d41d 43683 * genmk.rb: Added a rule to generate a filesystem list.
43684
121c1d83 436852005-06-30 Marco Gerards <metgerards@student.han.nl>
43686
43687 * configure.ac: Fix the test for cross-compiling.
43688
43689 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
43690 define GRUB_UTIL anymore.
43691
43692 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
43693 so this function works on other systems than just big endian.
43694 (load_modules): Likewise.
43695 (add_segments): Likewise.
43696
e75d76e1 436972005-06-23 Hollis Blanchard <hollis@penguinppc.org>
43698
43699 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
43700 contains `l' modifier, get a long from va_arg().
43701
50b5a0a7 437022005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
43703
43704 * kern/mm.c (grub_free): If the next free block which is being
43705 merged is the first free block, set the first block to the block
43706 being freed.
43707 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
43708
89371b20 437092005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43710
43711 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
43712 `grub_ieee1275_chosen'.
43713
168d6e58 437142005-05-08 Hollis Blanchard <hollis@penguinppc.org>
43715
43716 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
43717 (grub_ieee1275_chosen): New variable.
43718 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
43719 `chosen'.
43720 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
43721 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
43722 Rename first argument to `phandle' for consistency.
43723 (grub_ieee1275_get_property_length): Likewise.
43724 (grub_ieee1275_next_property): Likewise. Change type of first argument
43725 to grub_ieee1275_phandle_t.
43726 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
43727 Move export next to declaration.
43728 (grub_ieee1275_chosen): New variable.
43729 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
43730 Correct cosmetic typo.
43731 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
43732 `grub_ieee1275_chosen'.
43733 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
43734 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
43735 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
43736 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
43737 `grub_ieee1275_chosen'.
43738
ca5baa3f 437392005-05-10 Hollis Blanchard <hollis@penguinppc.org>
43740
43741 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
43742 /chosen/bootargs.
43743 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
43744 /chosen/bootargs as "variable=value" pairs.
43745
708b345f 437462005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
43747
43748 * include/grub/misc.h (grub_dprintf): New macro.
43749 (grub_real_dprintf): New prototype.
43750 (grub_strword): Likewise.
43751 (grub_iswordseparator): Likewise.
43752 * kern/misc.c (grub_real_dprintf): New function.
43753 (grub_strword): Likewise.
43754 (grub_iswordseparator): Likewise.
43755
f4c5e67c 437562005-04-30 Hollis Blanchard <hollis@penguinppc.org>
43757
43758 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
43759 (roundup): Remove macro.
43760 (grub_ieee1275_flags): Make static.
43761 (grub_ieee1275_realmode): Remove.
43762 (grub_ieee1275_test_flag): New function.
43763 (grub_ieee1275_set_flag): Likewise.
43764 (find_options): Rename to `grub_ieee1275_find_options'; update
43765 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
43766 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
43767 (cmain): New prototype.
43768 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
43769 `grub_ieee1275_flags' directly.
43770 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
43771 machine/biosdisk.h.
43772 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
43773 Don't include grub/machine/init.h.
43774 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
43775 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
43776 Remove prototype.
43777 (grub_ieee1275_realmode): Likewise.
43778 (grub_ieee1275_flag): New enum.
43779 (grub_ieee1275_test_flag): New prototype.
43780 (grub_ieee1275_set_flag): New prototype.
43781 * include/grub/powerpc/ieee1275/init.h: Remove file.
43782 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
43783 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
43784 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
43785 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
43786 comment.
43787 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
43788 `grub_ieee1275_test_flag'.
43789 (grub_ieee1275_encode_devname): Likewise.
43790
ed16607e 437912005-04-21 Hollis Blanchard <hollis@penguinppc.org>
43792
43793 * include/grub/powerpc/ieee1275/ieee1275.h
43794 (grub_ieee1275_encode_devname): New prototype.
43795 (grub_ieee1275_get_filename): Likewise.
43796 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
43797 function.
43798 (grub_set_prefix): Likewise.
43799 (grub_machine_init): Call grub_set_prefix.
43800 * kern/powerpc/ieee1275/openfw.c: Fix typos.
43801 (grub_parse_type): New enum.
43802 (grub_ieee1275_get_devargs): New function.
43803 (grub_ieee1275_get_devname): Likewise.
43804 (grub_ieee1275_parse_args): Likewise.
43805 (grub_ieee1275_get_filename): Likewise.
43806 (grub_ieee1275_encode_devname): Likewise.
43807
be369920 438082005-03-30 Marco Gerards <metgerards@student.han.nl>
43809
43810 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
43811 `grub_loader_unset'.
43812
a5ce3a4a 438132005-03-26 Hollis Blanchard <hollis@penguinppc.org>
43814
43815 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
43816 instead of grub_ieee1275_interpret.
43817 (grub_halt_init): New function.
43818 (grub_halt_fini): Likewise.
43819 (GRUB_MOD_INIT): Correct message grammar.
43820 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
43821 instead of grub_ieee1275_interpret.
43822 (grub_reboot_init): New function.
43823 (grub_reboot_fini): Likewise.
43824 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
43825 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
43826 util/i386/pc/misc.c with commands/ieee1275/halt.c,
43827 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
43828 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
43829 function.
43830 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
43831 Add prototype.
43832 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
43833 prototype.
43834 (grub_halt): Likewise.
43835 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
43836 (cmain): Remove __attribute__((unused)).
43837 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
43838 (grub_heap_len): Likewise.
43839 (grub_machine_fini): New function.
43840 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
43841 (grub_halt): Likewise.
43842 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
43843 function.
43844 * util/powerpc/ieee1275/misc.c: New file.
43845
0058f771 438462005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
43847
43848 * DISTLIST: New file.
43849 * gendistlist.sh: Likewise.
f19dbdb7 43850
0058f771 43851 * Makefile.in (COMMON_DISTFILES): Removed.
43852 (BOOT_DISTFILES): Likewise.
43853 (CONF_DISTFILES): Likewise.
43854 (DISK_DISTFILES): Likewise.
43855 (FS_DISTFILES): Likewise.
43856 (INCLUDE_DISTFILES): Likewise.
43857 (KERN_DISTFILES): Likewise.
43858 (LOADER_DISTFILES): Likewise.
43859 (TERM_DISTFILES): Likewise.
43860 (UTIL_DISTFILES): Likewise.
43861 (DISTFILES): Likewise.
43862 (uninstall): Uninstall files in $(pkgdata_DATA).
43863 (DISTLIST): New target.
43864 (distdir): Use the contents of the file DISTLIST to get a list of
43865 distributed files.
43866
46b3b8a5 438672005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
43868
43869 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
43870 descriptor. This is ported from GRUB Legacy.
43871
43872 * gencmdlist.sh: Added an extra semicolon to make it work with
43873 old sed versions. Reported by Robert Bihlmeyer
43874 <robbe@orcus.priv.at>.
43875
5822ff87 438762005-03-08 Yoshinori Okuji <okuji@enbug.org>
43877
43878 Automatic loading of commands is supported.
f19dbdb7 43879
5822ff87 43880 * normal/main.c (read_command_list): New function.
43881 (grub_normal_execute): Call read_command_list.
43882
43883 * normal/command.c (grub_register_command): Return zero or CMD.
43884 Allocate CMD->NAME from the heap.
43885 Initialize CMD->MODULE_NAME to zero.
43886 Find the same name as well. If the same command is found and it is
43887 a dummy command, overwrite members. If it is not a dummy command,
43888 return zero.
43889 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
43890 (grub_command_find): If a dummy command is found, load a module
43891 and retry to find a command only once.
43892
43893 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
43894 make sure that each command is loaded.
43895
43896 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
43897 macro.
43898 (struct grub_command): Remove const from the member `name'.
43899 Add a new member `module_name'.
43900 (grub_register_command): Return grub_command_t.
43901
43902 * commands/help.c (grub_cmd_help): Call grub_command_find to make
43903 sure that each command is loaded.
43904
43905 * genmk.rb (PModule::rule): Specify a module name without the
43906 suffix ".mod" to gencmdlist.sh.
43907
7b1f4b57 439082005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43909
43910 * gencmdlist.sh: New file.
f19dbdb7 43911
7b1f4b57 43912 * genmk.rb (PModule::rule): Generate a rule for a command list.
43913 Clean command.lst.
43914 Generate command.lst from $(COMMANDFILES).
43915
43916 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
43917 (DATA): Added $(pkgdata_DATA).
43918 (install-local): Install files in $(pkgdata_DATA).
43919
062aaf39 439202005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
43921
43922 * term/i386/pc/vga.c (debug_command): Removed.
43923 (GRUB_MOD_INIT): Do not register the command "debug".
43924
43925 From Hollis Blanchard:
43926 * commands/configfile.c: New file.
43927 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43928 commands/configfile.c.
43929 (pkgdata_MODULES): Added configfile.mod.
43930 (configfile_mod_SOURCES): New variable.
43931 (configfile_mod_CFLAGS): Likewise.
43932 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43933 commands/configfile.c.
43934 (pkgdata_MODULES): Added configfile.mod.
43935 (configfile_mod_SOURCES): New variable.
43936 (configfile_mod_CFLAGS): Likewise.
43937 * util/grub-emu.c (main): Call grub_configfile_init and
43938 grub_configfile_fini.
43939 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
43940 prototype.
43941 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 43942
cee01aa6 439432005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
43944
43945 * normal/arg.c (grub_arg_show_help): Do not show the bug report
43946 address.
43947
43948 * commands/help.c (grub_cmd_help): Do not print newlines after
43949 the last command in print_command_help.
43950
93f3a1d8 439512005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
43952
43953 * commands/default.h: New file.
43954 * commands/timeout.h: Likewise.
43955 * normal/context.c: Likewise.
f19dbdb7 43956
93f3a1d8 43957 * util/misc.c: Do not include sys/times.h.
43958 Include sys/time.h and grub/machine/time.h.
43959 (grub_get_rtc): Rewritten with gettimeofday.
43960
43961 * util/grub-emu.c (main): Call grub_default_init and
43962 grub_timeout_init before grub_normal_init, and call
43963 grub_timeout_fini and grub_default_fini after grub_main.
43964
43965 * util/console.c (grub_ncurses_checkkey): Return the read
43966 character or -1.
43967
43968 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
43969 timeouts.
43970
43971 * normal/main.c (read_config_file): Push MENU. If this fails,
43972 print an error and wait for a user input.
43973 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
43974 If a menu is empty or an error occurs, pop MENU.
43975 (grub_normal_execute): Pop and free MENU after grub_menu_run
43976 returns.
43977
43978 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
43979
43980 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
43981 include time.h.
43982 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43983 without GRUB_UTIL.
43984 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
43985 time.h.
43986 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
43987 without GRUB_UTIL.
43988
43989 * include/grub/normal.h (struct grub_menu_list): New struct.
43990 (grub_menu_list_t): New type.
43991 (struct grub_context): New struct.
43992 (grub_context_t): New type.
43993 (grub_register_command): Got rid of EXPORT_FUNC.
43994 (grub_unregister_command): Likewise.
43995 (grub_context_get): New prototype.
43996 (grub_context_get_current_menu): Likewise.
43997 (grub_context_push_menu): Likewise.
43998 (grub_context_pop_menu): Likewise.
43999 [GRUB_UTIL] (grub_default_init): Likewise.
44000 [GRUB_UTIL] (grub_default_fini): Likewise.
44001 [GRUB_UTIL] (grub_timeout_init): Likewise.
44002 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44003
44004 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44005 commands/timeout.c and normal/context.c.
44006 (pkgdata_MODULES): Added default.mod and timeout.mod.
44007 (normal_mod_SOURCES): Added normal/context.c.
44008 (default_mod_SOURCES): New variable.
44009 (default_mod_CFLAGS): Likewise.
44010 (timeout_mod_SOURCES): Likewise.
44011 (timeout_mod_CFLAGS): Likewise.
44012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44013 conf/i386-pc.rmk.
44014 (pkgdata_MODULES): Added default.mod and timeout.mod.
44015 (normal_mod_SOURCES): Added normal/context.c.
44016 (default_mod_SOURCES): New variable.
44017 (default_mod_CFLAGS): Likewise.
44018 (timeout_mod_SOURCES): Likewise.
44019 (timeout_mod_CFLAGS): Likewise.
44020
44021 * Makefile.in (all-local): Added $(MKFILES).
44022
4ed2e1dd 440232005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44024
44025 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44026 (grub_emu_SOURCES): Likewise.
44027 (pkgdata_MODULES): Add `sun.mod'.
44028 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44029 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44030 `partmap/sun.c'.
44031 (pkgdata_MODULES): Add `sun.mod'.
44032 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44033 * include/grub/partition.h (grub_sun_partition_map_init): New
44034 prototype.
44035 (grub_sun_partition_map_fini): Likewise.
44036 * partmap/sun.c: New file.
44037 * util/grub-emu.c (main): Initialize and de-initialize the sun
44038 partitionmap support.
44039
4d4e372e 440402005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44041
44042 This implements an Emacs-like menu entry editor.
f19dbdb7 44043
4d4e372e 44044 * normal/menu_entry.c: New file.
f19dbdb7 44045
4d4e372e 44046 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44047 characters to ASCII.
44048 (saved_char): New variable.
44049 (grub_ncurses_checkkey): Rewritten completely.
44050 (grub_ncurses_getkey): Likewise.
44051 (grub_ncurses_init): Call raw instead of cbreak.
44052
44053 * normal/menu.c (print_entry): Do not put a space.
44054 (init_page): Renamed to ...
44055 (grub_menu_init_page): ... this. All callers changed.
44056 (edit_menu_entry): Removed.
44057 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44058
44059 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44060
44061 * kern/misc.c (grub_vprintf): Call grub_refresh.
44062
44063 * normal/menu.c (DISP_LEFT): Renamed to ...
44064 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44065 * normal/menu.c (DISP_UP): Renamed to ...
44066 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44067 * normal/menu.c (DISP_RIGHT): Renamed to ...
44068 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44069 * normal/menu.c (DISP_DOWN): Renamed to ...
44070 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44071 * normal/menu.c (DISP_HLINE): Renamed to ...
44072 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44073 * normal/menu.c (DISP_VLINE): Renamed to ...
44074 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44075 * normal/menu.c (DISP_UL): Renamed to ...
44076 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44077 * normal/menu.c (DISP_UR): Renamed to ...
44078 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44079 * normal/menu.c (DISP_LL): Renamed to ...
44080 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44081 * normal/menu.c (DISP_LR): Renamed to ...
44082 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44083 * normal/menu.c (TERM_WIDTH): Renamed to ...
44084 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44085 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44086 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44087 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44088 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44089 * normal/menu.c (TERM_MARGIN): Renamed to ...
44090 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44091 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44092 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44093 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44094 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44095 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44096 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44097 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44098 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44099 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44100 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44101 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44102 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44103 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44104 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44105 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44106 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44107 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44108 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44109 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44110 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44111 All callers changed.
44112
44113 * include/grub/normal.h: New prototype.
44114
44115 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44116 normal/menu_entry.c.
44117 (normal_mod_SOURCES): Likewise.
44118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44119 (normal_mod_SOURCES): Likewise.
44120
e6b92c8a 441212005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44122
44123 * include/grub/normal.h (grub_halt_init): New prototype.
44124 (grub_halt_fini): Likewise.
44125 (grub_reboot_init): Likewise.
44126 (grub_reboot_fini): Likewise.
44127
44128 * util/grub-emu.c: Include signal.h.
44129 (main_env): New global variable.
44130 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44131 catch C-c.
44132 (grub_machine_fini): New function.
44133 (main): Call grub_halt_init and grub_reboot_init before
44134 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44135 Call setjmp with MAIN_ENV to go back afterwards.
44136 Call grub_machine_fini right before return.
44137
44138 * include/grub/util/misc.h: Include setjmp.h.
44139 (main_env): New prototype.
44140
44141 * include/grub/kernel.h (grub_machine_fini): New prototype.
44142 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44143 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44144
44145 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44146 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44147 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 44148
e6b92c8a 44149 * util/i386/pc/misc.c: New file.
f19dbdb7 44150
e6b92c8a 44151 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44152 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44153 commands/i386/pc/reboot.c.
44154
c642636f 441552005-02-14 Guillem Jover <guillem@hadrons.org>
44156
44157 * include/grub/dl.h (grub_dl_check_header): New prototype.
44158 (grub_arch_dl_check_header): Change return type to grub_err_t,
44159 remove size parameter and export function. Update all callers.
44160 * kern/dl.c (grub_dl_check_header): New function.
44161 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44162 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44163 are inside the core.
44164 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44165 independent ELF header checks.
44166 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44167 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44168 `grub_dl_check_header' instead of explicit checks. Check for the
44169 ELF type.
44170 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44171 `grub_dl_check_header' instead of explicit checks. Remove arch
44172 specific ELF header checks.
44173
e6b92c8a 44174 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44175 argument SIZE.
44176
5eabe94b 441772005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44178
44179 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44180 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44181
1b14a681 441822005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44183
44184 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 44185 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 44186 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 44187 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 44188 * partmap/amiga.c (amiga_partition_map_iterate): Return
44189 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44190 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44191
aca108aa 441922005-02-01 Guillem Jover <guillem@hadrons.org>
44193
44194 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44195 help info.
44196
c9f9c556 441972005-01-31 Marco Gerards <metgerards@student.han.nl>
44198
44199 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44200 Removed prototype.
44201 (grub_rescue_cmd_linux): New prototype.
44202 (grub_rescue_cmd_initrd): Likewise.
44203 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44204 `bi_rec'.
44205 (grub_linux_release_mem): Release the memory for the initrd.
44206 (grub_load_linux): Renamed from this...
44207 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44208 Changed `entry' not to be static. Loop over memory regions to
44209 find another one when the default fails.
44210 (grub_rescue_cmd_initrd): New function.
44211 (grub_linux_init): Remove function.
44212 (grub_linux_fini): Likewise.
44213 (GRUB_MOD_INIT): Register `initrd'.
44214 (GRUB_MOD_FINI): Unregister `initrd'.
44215 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44216 Function removed.
44217 (grub_linux_normal_fini): Likewise.
44218 (GRUB_MOD_INIT): Register `initrd'.
44219 (GRUB_MOD_FINI): Unregister `initrd'.
44220
990cf3aa 442212005-01-31 Marco Gerards <metgerards@student.han.nl>
44222
44223 * commands/help.c: New file.
44224 * normal/arg.c (show_help): Renamed to...
44225 (grub_arg_show_help): ... this.
44226 * commands/i386/pc/halt.c: New file.
44227 * commands/i386/pc/reboot.c: Likewise.
44228 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44229 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44230 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44231 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44232 variables.
44233 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44234 `commands/help.c'.
44235 (pkgdata_MODULES): Add `help.mod'.
44236 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44237 * grub/i386/pc/init.h (grub_reboot): New prototype.
44238 (grub_halt): Likewise.
44239 * include/grub/normal.h (grub_arg_show_help): New prototype.
44240 (grub_help_init): Likewise.
44241 (grub_help_fini): Likewise.
44242 * util/grub-emu.c (main): Initialize and deinitialize the help
44243 command.
44244
44245 * normal/cmdline.c (grub_cmdline_get): Doc fix.
44246
44247 * normal/command.c (grub_command_init): Fixed the description of
44248 the `set' and `unset' commands.
44249
442502005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 44251
44252 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
44253 function.
44254 * commands/ieee1275/halt.c: New file.
44255 * commands/ieee1275/reboot.c: Likewise.
44256 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
44257 `__attribute__ ((unused))'. Some GCS related fixed.
44258 (grub_suspend_init) [GRUB_UTIL]: Function removed.
44259 (grub_suspend_fini): Likewise.
44260 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
44261 and `halt.mod'.
44262 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
44263 (halt_mod_CFLAGS): New variables.
44264 * include/grub/powerpc/ieee1275/ieee1275.h
44265 (grub_ieee1275_interpret): New prototype.
44266
1ab09cc7 442672005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
44268
44269 * include/grub/misc.h (memmove): New prototype.
44270 (memcpy): Likewise.
44271
8b8cbdb2 442722005-01-22 Hollis Blanchard <hollis@penguinppc.org>
44273
44274 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
44275 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
44276
e3741a27 442772005-01-22 Marco Gerards <metgerards@student.han.nl>
44278
44279 * kern/misc.c (grub_strndup): Function rewritten.
44280
776bd780 442812005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
44282
44283 * normal/menu.c (TERM_WIDTH): Macro redefined.
44284 (TERM_TOP_BORDER_Y): Likewise.
44285 (draw_border): Replaced while-loop by a for-loop. Make the number
44286 of lines consistent with the number of lines displayed in
44287 print_entries. Added a margin below the rectangle.
44288 (print_entry): Make the entry fit in the rectangle.
44289 (print_entries): Display the scroll arrows next to the right
44290 border.
44291
78026bce 442922005-01-21 Marco Gerards <metgerards@student.han.nl>
44293
44294 * fs/minix.c (grub_minix_find_file): Reserve more space for
44295 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
44296 `grub_strncpy' to copy `path' into it.
44297
67bbaf0f 442982005-01-21 Marco Gerards <metgerards@student.han.nl>
44299
44300 Add the loopback device, a device via which files can be accessed
44301 as devices.
f19dbdb7 44302
67bbaf0f 44303 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
44304 (pkgdata_MODULES): Add loopback.mod.
44305 (loopback_mod_SOURCES): New variable.
44306 (loopback_mod_CFLAGS): Likewise.
44307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44308 `disk/loopback.c'.
44309 (pkgdata_MODULES): Add loopback.mod.
44310 (loopback_mod_SOURCES): New variable.
44311 (loopback_mod_CFLAGS): Likewise.
44312 * disk/loopback.c: new file.
44313 * include/grub/normal.h (grub_loop_init): New prototype.
44314 (grub_loop_fini): New prototype.
44315 * util/grub-emu.c (main): Initialize and de-initialize loopback
44316 support.
44317 * include/grub/disk.h (grub_disk_dev_id): Add
44318 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
44319
6f1c18bd 443202005-01-20 Hollis Blanchard <hollis@penguinppc.org>
44321
44322 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
44323 function.
44324 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
44325 (suspend_mod_SOURCES): New variable.
44326 (suspend_mod_CFLAGS): Likewise.
44327 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
44328 New prototype.
44329 * commands/ieee1275/suspend.c: New file.
44330
b38551da 443312005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44332
44333 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 44334 ((unused))' to `__attribute__ ((used))'.
b38551da 44335 (GRUB_MOD_FINI): Likewise.
44336 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
44337 * genmk.rb (PModule): Assign space to common symbols when linking
44338 modules.
44339
777aff39 443402005-01-20 Marco Gerards <metgerards@student.han.nl>
44341
44342 * include/grub/mm.h (grub_mm_init_region): Change the type of the
44343 `unsigned' arguments to `grub_size_t'.
44344 (grub_malloc): Likewise.
44345 (grub_realloc): Likewise.
44346 (grub_memalign): Likewise.
44347 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
44348 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44349 * util/misc.c (grub_malloc): Likewise.
44350 (grub_realloc): Likewise.
44351 * kern/mm.c (get_header_from_pointer): Change the casts to
44352 `unsigned' into a cast to `grub_size_t'.
44353
44354 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
44355 point to `currnode' when `currnode' is changed.
44356
44357 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
44358 Schottelius <nico-linux@schottelius.org>.
44359
d0ff18e1 443602005-01-09 Hollis Blanchard <hollis@penguinppc.org>
44361
44362 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
44363 (note_path): Remove variable.
44364 (GRUB_IEEE1275_NOTE_NAME): New macro.
44365 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
44366 (grub_ieee1275_note_hdr): New structure.
44367 (grub_ieee1275_note_desc): Likewise.
44368 (grub_ieee1275_note): Likewise.
44369 (load_note): Remove `dir' argument. All callers updated. Remove
44370 `note_img' and `path'. Do not load a file from `note_path'.
44371 Initialize a struct grub_ieee1275_note and write that to `out'.
44372 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
44373
4ca7004c 443742005-01-05 Marco Gerards <metgerards@student.han.nl>
44375
44376 * util/misc.c (grub_util_read_image): Revert last change. It
44377 called `grub_util_read_at', which seeks from the beginning of the
44378 file.
44379
0b412211 443802005-01-04 Hollis Blanchard <hollis@penguinppc.org>
44381
44382 * TODO: Add note about endianness in grub-mkimage.
44383 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
44384 section.
44385 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
44386 (grub_mkimage_SOURCES): New target.
44387 * include/grub/kernel.h (grub_start_addr): Remove variable.
44388 (grub_end_addr): Likewise.
44389 (grub_total_module_size): Likewise.
44390 (grub_kernel_image_size): Likewise.
44391 (GRUB_MODULE_MAGIC): New constant.
44392 (grub_module_info): New structure.
44393 (grub_arch_modules_addr): New prototype.
44394 (grub_get_end_addr): Remove prototype.
44395 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
44396 * include/grub/powerpc/ieee1275/kernel.h: New file.
44397 * include/grub/util/misc.h (grub_util_get_fp_size): New
44398 prototype.
44399 (grub_util_read_at): Likewise.
44400 (grub_util_write_image_at): Likewise.
44401 * kern/main.c (grub_get_end_addr): Remove function.
44402 (grub_load_modules): Call grub_arch_modules_addr instead of using
44403 grub_end_addr. Look for a grub_module_info struct in memory. Use
44404 the grub_module_info fields instead of calling grub_get_end_addr
44405 as loop conditions. Move grub_add_unused_region code here.
44406 (grub_add_unused_region): Remove function.
44407 * kern/i386/pc/init.c: Include grub/cache.h.
44408 (grub_machine_init): Remove call to grub_get_end_addr. Remove
44409 one call to add_mem_region.
44410 (grub_arch_modules_addr): New function.
44411 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
44412 (grub_total_module_size): Likewise.
44413 Include grub/machine/kernel.h.
44414 (grub_arch_modules_addr): New function.
44415 * util/grub-emu.c (grub_end_addr): Remove variable.
44416 (grub_total_module_size): Likewise.
44417 (grub_arch_modules_addr): New function.
44418 * util/misc.c: Include unistd.h.
44419 (grub_util_get_fp_size): New function.
44420 (grub_util_read_at): Likewise.
44421 (grub_util_write_image_at): Likewise.
44422 (grub_util_read_image): Call grub_util_read_at.
44423 (grub_util_write_image): Call grub_util_write_image_at.
44424 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
44425 additional memory in kernel_img for a struct grub_module_info.
44426 Fill in that grub_module_info.
44427 * util/powerpc/ieee1275/grub-mkimage.c: New file.
44428
458786f8 444292005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44430
44431 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
44432 New function.
44433 * include/grub/powerpc/ieee1275/ieee1275.h
44434 (grub_ieee1275_milliseconds): New prototype.
44435 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
44436 Change to 1000.
44437 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
44438 grub_ieee1275_milliseconds.
44439
ac507d1b 444402005-01-03 Hollis Blanchard <hollis@penguinppc.org>
44441
44442 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
44443 variable.
44444 (find_options): New function.
44445 (cmain): Call find_options.
44446 * include/grub/powerpc/ieee1275/ieee1275.h
44447 (grub_ieee1275_realmode): New extern variable.
44448 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
44449 grub_map if grub_ieee1275_realmode is false.
44450
6b8fd1c4 444512004-12-29 Marco Gerards <metgerards@student.han.nl>
44452
44453 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
44454 lines are inserted and make it work like readline. Reported by
44455 Vincent Pelletier <subdino2004@yahoo.fr>.
44456
8514a1e0 444572004-12-28 Marco Gerards <metgerards@student.han.nl>
44458
44459 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
44460
44461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
44462 `kern/powerpc/cache.S'.
44463
924b6140 444642004-12-27 Marco Gerards <metgerards@student.han.nl>
44465
44466 * genmk.rb: Handle the `Program' class in the main loop. Written
44467 by Johan Rydberg <jrydberg@gnu.org>.
44468 (Program): New class.
44469 (programs): New variable.
44470 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
44471 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
44472 instead of "grub/kernel.h". Include <grub/machine/init.h>.
44473 (help_arch): Function removed.
44474 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
44475 `powerpc/libgcc.h' and `loader.h'.
44476 (pkgdata_PROGRAMS): New variable.
44477 (sbin_UTILITIES): Variable removed.
44478 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
44479 (grubof_SOURCES): Variable re-defined so it only includes the
44480 core functionality.
44481 (grubof_CFLAGS): Remove `-DGRUBOF'.
44482 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
44483 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
44484 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
44485 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
44486 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
44487 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
44488 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
44489 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
44490 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
44491 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
44492 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44493 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
44494 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
44495 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
44496 (pc_mod_CFLAGS): New variables.
44497 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
44498 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
44499 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
44500 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
44501 Moved from here...
44502 * include/grub/i386/pc/init.h (grub_os_area_addr)
44503 (rub_os_area_size): ... to here.
44504 * include/grub/powerpc/ieee1275/ieee1275.h
44505 (grub_ieee1275_entry_fn): Export symbol.
44506 * include/grub/powerpc/ieee1275/init.h: New file.
44507 * include/grub/powerpc/libgcc.h: Likewise.
44508 * include/grub/cache.h: Likewise.
44509 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
44510 <hollis@penguinppc.org>.
44511 * kern/dl.c: Include <grub/cache.h>.
44512 (grub_dl_flush_cache): New function.
44513 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
44514 for this module.
44515 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
44516 (grub_console_init): Removed prototypes.
44517 (grub_machine_init): Don't initialize the modules anymore.
44518 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
44519 static.
44520 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
44521 Macro undef removed.
44522 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
44523 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
44524 relocation `R_PPC_REL32'. Return an error when the relocation is
44525 unknown.
44526 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
44527 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
44528 * util/misc.c (grub_arch_sync_caches): Likewise.
44529
e4b47e0c 445302004-12-19 Marco Gerards <metgerards@student.han.nl>
44531
44532 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
44533 `symlist.c', add `grubof_symlist.c'.
44534 (symlist.c): Variable removed.
44535 (grubof_HEADERS): Variable added.
44536 (grubof_symlist.c): New target.
44537 (kernel_syms.lst): Use `grubof_HEADERS' instead of
44538 `kernel_img_HEADERS'.
44539 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
44540 * kern/powerpc/dl.c: New file.
44541 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
44542 Function removed.
44543 (grub_arch_dl_relocate_symbols): Likewise.
44544 (grub_register_exported_symbols): Likewise.
44545
4ceb3636 445462004-12-13 Marco Gerards <metgerards@student.han.nl>
44547
44548 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
44549 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
44550 to fail instead. Reported by Vincent Pelletier
44551 <subdino2004@yahoo.fr>.
44552
44553 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
44554 it is not allocated. Reported by Vincent Pelletier
44555 <subdino2004@yahoo.fr>.
44556
44557 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
44558 output so the output looks better.
f19dbdb7 44559
3f1578fe 445602004-12-04 Marco Gerards <metgerards@student.han.nl>
44561
44562 Modulize the partition map support and add support for the amiga
44563 partition map.
f19dbdb7 44564
3f1578fe 44565 * commands/ls.c: Include <grub/partition.h> instead of
44566 <grub/machine/partition.h>.
44567 * kern/disk.c: Likewise.
44568 * kern/rescue.c: Likewise.
44569 * loader/i386/pc/chainloader.c: Likewise.
44570 * normal/cmdline.c: Likewise.
44571 * kern/powerpc/ieee1275/init.c: Likewise.
44572 (grub_machine_init): Call `grub_pc_partition_map_init',
44573 `grub_amiga_partition_map_init' and
44574 `grub_apple_partition_map_init'.
44575 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
44576 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
44577 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
44578 `partition.h' and `pc_partition.h'.
44579 (grub_setup_SOURCES): Remove
44580 `disk/i386/pc/partition.c'. Add `kern/partition.c',
44581 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44582 (grub_emu_SOURCES): Likewise.
44583 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
44584 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
44585 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
44586 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44587 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
44588 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
44589 (grubof_SOURCES): Likewise.
44590 * disk/i386/pc/partition.c: File removed.
44591 * disk/powerpc/ieee1275/partition.c: Likewise.
44592 * include/grub/powerpc/ieee1275/partition.h: Likewise.
44593 * include/grub/i386/pc/partition.h: Likewise.
44594 * kern/partition.c: New file.
44595 * partmap/amiga.c: Likewise.
44596 * partmap/apple.c: Likewise.
44597 * partmap/pc.c: Likewise.
44598 * include/grub/partition.h: Likewise..
44599 * include/grub/pc_partition.h: Likewise.
44600 * util/grub-emu.c: Include <grub/partition.h> instead of
44601 <grub/machine/partition.h>.
44602 (main): Call `grub_pc_partition_map_init',
44603 `grub_amiga_partition_map_init' and
44604 `grub_apple_partition_map_init' and deinitialize afterwards.
44605 * util/i386/pc/biosdisk.c: Include `#include
44606 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44607 `<grub/machine/partition.h>'.
44608 * util/i386/pc/grub-setup.c: Likewise.
44609 * util/i386/pc/biosdisk.c: Likewise.
44610 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
44611 partition information in case of a PC partition.
44612 * util/i386/pc/grub-setup.c: Include `#include
44613 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
44614 `<grub/machine/partition.h>'.
44615 (setup): Only access the PC specific partition information in case
44616 of a PC partition.
44617
0ef4ced9 446182004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 44619
0ef4ced9 44620 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
44621 (grub_longjmp): Likewise.
44622 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
44623 20.
44624 * normal/powerpc/setjmp.S: New file.
44625 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
44626 `normal/powerpc/setjmp.S'.
44627 (grubof_CFLAGS): Add `-DGRUBOF'.
44628 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
44629 [GRUB_UTIL && !GRUBOF].
f19dbdb7 44630
19950e29 446312004-11-16 Marco Gerards <metgerards@student.han.nl>
44632
44633 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
44634 property named `name'. Correctly handle the error returned by
44635 `grub_ieee1275_finddevice' if a device can not be opened.
44636
a2fea427 446372004-11-02 Hollis Blanchard <hollis@penguinppc.org>
44638
44639 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
44640 `actual' for negativity.
44641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
44642 kern/fshelp.c.
44643
41ea0ea3 446442004-11-01 Marco Gerards <metgerards@student.han.nl>
44645
44646 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
44647 (PAGE_OFFSET): New macro.
44648 (CRTC_ADDR_PORT): Likewise.
44649 (CRTC_DATA_PORT): Likewise.
44650 (START_ADDR_HIGH_REGISTER): Likewise.
44651 (START_ADDR_LOW_REGISTER): Likewise.
44652 (GRAPHICS_ADDR_PORT): Likewise.
44653 (GRAPHICS_DATA_PORT): Likewise.
44654 (READ_MAP_REGISTER): Likewise.
44655 (INPUT_STATUS1_REGISTER): Likewise.
44656 (INPUT_STATUS1_VERTR_BIT): Likewise.
44657 (page): New variable.
44658 (wait_vretrace): New function.
44659 (set_read_map): Likewise.
44660 (set_start_address): Likewise.
44661 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
44662 the right page.
44663 (check_vga_mem): Take the page into account.
44664 (write_char): Likewise.
44665 (write_cursor): Likewise.
44666 (scroll_up): Likewise. Copy the page to the page that is not
44667 shown and switch between both pages.
44668 (grub_vga_putchar): Fix off by one error.
44669 (grub_vga_cls): Wait for the vertical retrace. Take the page into
44670 account.
44671
ad0bd20b 446722004-11-01 Marco Gerards <metgerards@student.han.nl>
44673
44674 Add support for iso9660 (including rockridge).
f19dbdb7 44675
ad0bd20b 44676 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44677 (iso9660_mod_SOURCES): New variable.
44678 (iso9660_mod_CFLAGS): Likewise.
44679 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
44680 * include/grub/fs.h (grub_iso9660_init): New prototype.
44681 * util/grub-emu.c (main): Call `grub_iso9660_init'.
44682 * fs/iso9660.c: New file.
44683
44684 * include/grub/misc.h (grub_strncat): New prototype.
44685 * kern/misc.c (grub_strncat): New function.
f19dbdb7 44686
ad0bd20b 44687 * fs/hfs.c (grub_hfs_mount): Translate the error
44688 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
44689 * fs/jfs.c (grub_jfs_mount): Likewise.
44690 * fs/ufs.c (grub_ufs_mount): Likewise.
44691
a5477a59 446922004-10-28 Hollis Blanchard <hollis@penguinppc.org>
44693
44694 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
44695 which initialized BAT registers.
44696 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
44697 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44698 Move from here...
44699 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
44700 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
44701 ... to here.
44702 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
44703 (grub_mapclaim): Likewise.
44704 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
44705 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
44706 hand.
44707
9304c1f8 447082004-10-19 Hollis Blanchard <hollis@penguinppc.org>
44709
44710 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
44711 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
44712 -ffreestanding and -msoft-float.
44713
86f4ae25 447142004-10-15 Hollis Blanchard <hollis@penguinppc.org>
44715
44716 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
44717 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
44718 set in grub_ieee1275_flags.
44719
38912228 447202004-10-14 Hollis Blanchard <hollis@penguinppc.org>
44721
44722 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
44723 prototype.
44724 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
44725 grub_console_init first.
44726 Change the memory range used for grub_ieee1275_claim and
44727 grub_mm_init_region.
44728 Print an error message if the claim fails.
44729 Include <grub/misc.h>.
44730
d1923dc8 447312004-10-13 Hollis Blanchard <hollis@penguinppc.org>
44732
44733 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
44734 Call grub_children_iterate for device nodes of type `scsi',
44735 `ide', or `ata'.
44736 (grub_ofdisk_open): Remove manual device alias resolution.
44737 Fix memory leak when device cannot be opened.
f19dbdb7 44738 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 44739 (grub_children_iterate): New prototype.
44740 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
44741 New function.
44742 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44743 Return -1 if args.size was -1.
44744
4512e4f3 447452004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44746
44747 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
44748 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
44749 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
44750 Open Firmware's memory for it; claim memory from _start to _end.
44751 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
44752 (_end): New extern.
44753 (_start): Zero BSS from __bss_start to _end.
44754 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44755 New extern.
44756 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
44757
4d61feb0 447582004-10-11 Hollis Blanchard <hollis@penguinppc.org>
44759
ad0bd20b 44760 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
44761 -1 if args.base was -1.
4d61feb0 44762
026fa2f9 447632004-10-08 Hollis Blanchard <hollis@penguinppc.org>
44764
44765 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
44766 escape sequence instead of a literal ^L. Also call
44767 grub_ofconsole_gotoxy.
44768
9f2220ef 447692004-10-03 Hollis Blanchard <hollis@penguinppc.org>
44770
44771 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
44772 void * arguments to grub_addr_t. All callers updated. Also make
44773 the `result' argument optional.
44774 (grub_ieee1275_release): change void * arguments to grub_addr_t.
44775 All callers updated.
44776
8a572cd7 447772004-09-22 Hollis Blanchard <hollis@penguinppc.org>
44778
44779 * commands/ls.c (grub_ls_list_files): Use the string following the
44780 initial ')', if present, as the filesystem path.
44781 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
44782
44783 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
44784
18aa81f2 447852004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
44786
44787 Make the source code of the menu interface more readable.
f19dbdb7 44788
18aa81f2 44789 * normal/menu.c: Include grub/mm.h.
44790 (TERM_WIDTH): New macro.
44791 (TERM_HEIGHT): Likewise.
44792 (TERM_INFO_HEIGHT): Likewise.
44793 (TERM_MARGIN): Likewise.
44794 (TERM_SCROLL_WIDTH): Likewise.
44795 (TERM_TOP_BORDER_Y): Likewise.
44796 (TERM_LEFT_BORDER_X): Likewise.
44797 (TERM_BORDER_WIDTH): Likewise.
44798 (TERM_MESSAGE_HEIGHT): Likewise.
44799 (TERM_BORDER_HEIGHT): Likewise.
44800 (TERM_NUM_ENTRIES): Likewise.
44801 (TERM_FIRST_ENTRY_Y): Likewise.
44802 (TERM_ENTRY_WIDTH): Likewise.
44803 (TERM_CURSOR_X): Likewise.
44804 (draw_border): Use macros instead of magic numbers.
44805 (print_entry): Likewise.
44806 (print_entries): Likewise.
44807 (run_menu): Likewise. Also, handle the key 'e'.
44808 (run_menu_entry): Ignore empty command lines.
44809 (print_message): Added a new argument EDIT. If EDIT is true,
44810 print a different message.
44811 (init_page): Likewise.
44812 (edit_menu_entry): New function. Not implemented yet.
44813
b47efe30 448142004-09-17 Marco Gerards <metgerards@student.han.nl>
44815
44816 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
44817 can be loaded from normal mode.
f19dbdb7 44818
b47efe30 44819 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
44820 `multiboot.mod'.
44821 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
44822 (multiboot_mod_CFLAGS): New variables.
44823 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 44824 * loader/i386/pc/multiboot_normal.c: Likewise.
44825
b47efe30 44826 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
44827 attribute `unused'.
f19dbdb7 44828
b47efe30 44829 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
44830 `fdiro' to read the mode information from instead of `diro'.
44831
44832 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
44833 looking up a symlink.
44834
44835 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
44836 macro.
44837 * normal/command.c (grub_command_execute): Don't parse the
44838 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
44839 flags of the command.
44840
44841 * normal/menu.c (grub_menu_run): Fix typo.
44842
da75ac71 448432004-09-14 Hollis Blanchard <hollis@penguinppc.org>
44844
44845 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
44846
44847 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
44848 `y + 1' instead of `y - 1'.
44849
44850 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 44851
062b24c2 448522004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
44853
44854 From Hollis Blanchard <hollis@penguinppc.org>:
44855 * kern/misc.c (memmove): New alias for grub_memmove.
44856 (memcmp): New alias for grub_memcmp.
44857 (memset): New alias for grub_memset.
f19dbdb7 44858 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 44859 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 44860 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 44861 (grub_ieee1275_get_property): Likewise.
f19dbdb7 44862
8ddad845 448632004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
44864
44865 Added normal mode command `chainloader' as module chain.mod, which
44866 depends on normal.mod and _chain.mod.
f19dbdb7 44867
8ddad845 44868 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
44869 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
44870 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
44871 Deleted prototype.
44872 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
44873 but arguments parsing moved to ...
44874 (grub_chainloader_cmd): ... here. New function.
44875 * include/grub/i386/pc/chainloader.h: New file.
44876 * loader/i386/pc/chainloader_normal.c: Likewise.
44877
2c1f4ce3 448782004-09-11 Marco Gerards <metgerards@student.han.nl>
44879
44880 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
44881 (grub_mkimage_LDFLAGS): Likewise.
44882 (grub_emu_SOURCES): Likewise.
44883 (kernel_img_HEADERS): Added fshelp.h.
44884 * fs/ext2.c: Include <grub/fshelp.h>.
44885 (FILETYPE_REG): New macro.
44886 (FILETYPE_INO_REG): Likewise.
44887 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
44888 Changed all users.
44889 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
44890 all users.
44891 (grub_fshelp_node): New struct.
44892 (grub_ext2_data): Added member `diropen'. Changed member `inode'
44893 to a pointer.
44894 (grub_ext2_get_file_block): Removed function.
44895 (grub_ext2_read_block): New function.
44896 (grub_ext2_read_file): Replaced parameter `data' by `node'.
44897 This function was written.
44898 (grub_ext2_mount): Read the root inode. Create a diropen struct.
44899 (grub_ext2_find_file): Removed function.
44900 (grub_ext2_read_symlink): New function.
44901 (grub_ext2_iterate_dir): Likewise.
44902 (grub_ext2_open): Rewritten.
44903 (grub_ext2_dir): Rewritten.
44904 * include/grub/fshelp.h: New file.
44905 * fs/fshelp.c: Likewise.
44906
3c52136a 449072004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
44908
44909 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
44910 (print_message): Add a missing newline.
44911 (run_menu): Added timeout support.
44912 (run_menu_entry): New local function.
44913 (grub_menu_run): Added support for booting.
44914
44915 * kern/loader.c (grub_loader_is_loaded): New function.
44916
44917 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
44918 (grub_get_rtc): Exported.
44919
44920 * include/grub/i386/pc/time.h: Include grub/symbol.h.
44921 (grub_get_rtc): Exported.
44922
44923 * include/grub/normal.h (struct grub_command_list): Remove
44924 constant from the member `command'.
44925
44926 * include/grub/loader.h (grub_loader_is_loaded): Declared.
44927
44928 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
44929
44930 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
44931
aa033560 449322004-08-28 Marco Gerards <metgerards@student.han.nl>
44933
44934 Add support for the JFS filesystem.
44935
44936 * fs/jfs.c: New file.
44937 * include/grub/fs.h (grub_jfs_init): New prototype.
44938 (grub_jfs_fini): New prototype.
44939 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
44940 (grub_emu_SOURCES): Likewise.
44941 (pkgdata_MODULES): Add jfs.mod.
44942 (jfs_mod_SOURCES): New variable.
44943 (jfs_mod_CFLAGS): Likewise.
44944 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
44945 (grubof_SOURCES): Likewise.
44946 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
44947
44948 * fs/fat.c (grub_fat_find_dir): Convert the filename little
44949 endian to the host endian.
44950 (grub_fat_utf16_to_utf8): Move function from there...
44951 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 44952 the endianness of the source string anymore.
aa033560 44953 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
44954
94bc45af 449552004-08-24 Marco Gerards <metgerards@student.han.nl>
44956
44957 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
44958 (grub_boot_fini) [GRUB_UTIL]: Likewise.
44959 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
44960 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 44961
94bc45af 44962 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
44963 (grub_hfs_iterate_dir): Make the function static. Add prototypes
44964 for `node_found' and `it_dir'.
44965 (grub_hfs_dir): Add prototype for `dir_hook'.
44966
44967 * fs/minix.c (grub_minix_get_file_block): Add prototype for
44968 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
44969 and `indir32' to silence a gcc warning.
44970
44971 * include/grub/fs.h (grub_hfs_init): New prototype.
44972 (grub_hfs_fini): Likewise.
f19dbdb7 44973
44974
97543f08 449752004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
44976
44977 Each disk device has its own id now. This is useful to make use
44978 of multiple disk devices.
f19dbdb7 44979
97543f08 44980 * include/grub/disk.h (grub_disk_dev_id): New enum.
44981 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
44982 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
44983
44984 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
44985 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44986
44987 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
44988 GRUB_DISK_DEVICE_OFDISK_ID as an id.
44989
44990 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
44991 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
44992
44993 * include/grub/disk.h (struct grub_disk_dev): Added a new member
44994 "id" which is used by the cache manager.
44995
44996 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
44997 of just "GRUB".
44998
64372eb4 449992004-08-18 Marco Gerards <metgerards@student.han.nl>
45000
45001 * fs/hfs.c: New file.
45002 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45003 (grub_emu_SOURCES): Likewise.
45004 (pkgdata_MODULES): Add hfs.mod.
45005 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45006 (grubof_SOURCES): Likewise.
45007 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45008
45009 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45010 * kern/misc.c (grub_strncasecmp): Add function.
45011
cc61b58f 450122004-08-14 Marco Gerards <metgerards@student.han.nl>
45013
45014 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45015 with parentheses.
45016
45017 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45018 (grub_ext2_dir): In case the directory entry type is unknown, read
45019 it from the inode.
45020
0ef123f6 450212004-08-02 Peter Bruin <pjbruin@dds.nl>
45022
45023 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45024 grub_load_linux instead of grub_rescue_cmd_linux as second
45025 argument of grub_rescue_register_command.
45026
45027 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45028
a447c5df 450292004-07-27 Marco Gerards <metgerards@student.han.nl>
45030
45031 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45032 function.
45033 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45034 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45035 `loader/powerpc/ieee1275/linux.c',
45036 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45037 * include/grub/powerpc/ieee1275/ieee1275.h
45038 (grub_ieee1275_release): New prototype.
45039 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45040 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45041 normal, boot, linux and linux_normal.
45042 * loader/powerpc/ieee1275/linux.c: New file.
45043 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45044
5a9e3546 450452004-07-12 Marco Gerards <metgerards@student.han.nl>
45046
45047 * normal/arg.c (grub_arg_parse): Correct error handling after
45048 reallocating the argumentlist (check if `argl' is not null instead
45049 of checking if `args' is not null).
45050 * kern/mm.c (grub_realloc): Return the same pointer when using the
45051 same region, instead of returning the header address.
45052
e15199cb 450532004-07-11 Marco Gerards <metgerards@student.han.nl>
45054
45055 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45056 one block instead of two when looking for the initial partition.
45057 (grub_partition_probe): Initialize the local variable `p' with 0.
45058 Use base 10 for the grub_strtoul call.
45059 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45060 need for one local variable.
45061 (grub_strtoul): Don't add the new value to `num', instead of that
45062 just assign it.
45063
020616c2 450642004-07-11 Marco Gerards <metgerards@student.han.nl>
45065
45066 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45067 (pxeboot_img_SOURCES): New variable.
45068 (pxeboot_img_ASFLAGS): Likewise.
45069 (pxeboot_img_LDFLAGS): Likewise.
45070 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45071 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45072 <lode_leroy@hotmail.com>.
45073
6c51eb64 450742004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45075
45076 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45077 there was no input.
45078
cfb12aff 450792004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45080
45081 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45082 the history buffer logic.
45083
6eabba74 450842004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45085
45086 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45087 (FILETYPE_INO_SYMLINK): New macros.
45088 (grub_ext2_find_file): Check if the node is a directory using the
45089 inode stat information instead of using the filetype in the
45090 dirent. Exclude the first character of an absolute symlink.
45091 (grub_ext2_dir): Mask out the filetype part of the mode member of
45092 the inode.
45093
66e19ef8 450942004-05-24 Marco Gerards <metgerards@student.han.nl>
45095
45096 Add support for UFS version 1 and 2. Add support for the minix
45097 filesystem version 1 and 2, both the variants with 14 and 30 long
45098 filenames.
f19dbdb7 45099
66e19ef8 45100 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45101 fs/minix.c.
45102 (grub_emu_SOURCES): Likewise.
45103 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45104 (ufs_mod_SOURCES): New variable.
45105 (ufs_mod_CFLAGS): Likewise.
45106 (minix_mod_SOURCES): Likewise.
45107 (minix_mod_CFLAGS): Likewise.
45108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45109 fs/minix.c.
45110 (grubof_SOURCES): Likewise.
45111 * fs/ufs.c: New file.
45112 * fs/minix.c: New file.
45113 * include/grub/fs.h (grub_ufs_init): New prototype.
45114 (grub_ufs_fini): Likewise.
45115 (grub_minix_init): Likewise.
45116 (grub_minix_fini): Likewise.
45117 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45118 minix fs.
45119
cc2e748a 451202004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45121
45122 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45123 commands/ls.c, commands/terminal.c, commands/boot.c,
45124 commands/cmp.c and commands/cat.c.
45125 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45126
45127 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45128 "env.h"
45129
4b13b216 451302004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45131
45132 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45133 and grub_, respectively. Because the conversion is trivial and
45134 mechanical, I omit the details here. Please refer to the CVS
45135 if you need more information.
45136
6a142551 451372004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45138
45139 * include/pupa: Renamed to ...
45140 * include/grub: ... this.
45141 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45142 * util/i386/pc/grub-mkimage.c: ... this.
45143 * util/i386/pc/pupa-setup.c: Renamed to ...
45144 * util/i386/pc/grub-setup.c: ... this.
45145 * util/pupa-emu.c: Renamed to ...
45146 * util/grub-emu.c: ... this.
45147
e56cdf21 451482004-03-29 Marco Gerards <metgerards@student.han.nl>
45149
45150 Add support for the newworld apple macintosh (PPC). This has been
45151 tested on the powerbook 2000 only. It only adds support for
45152 generic ieee1275 functions, console and disk support. This should
45153 be easy to port to other architectures with support for Open
45154 Firmware.
f19dbdb7 45155
e56cdf21 45156 * configure.ac: Accept the powerpc as host_cpu. In the case of
45157 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45158 specific tests are only executed while building for the i386.
45159 Inverse test for crosscompile.
45160 * genmk.rb (Utility): Allow assembler files.
45161 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45162 * conf/powerpc-ieee1275.rmk: New file.
45163 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45164 * disk/powerpc/ieee1275/partition.c: Likewise.
45165 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45166 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45167 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45168 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45169 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45170 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45171 * include/pupa/powerpc/ieee1275/loader.h
45172 * include/pupa/powerpc/setjmp.h: Likewise.
45173 * include/pupa/powerpc/types.h: Likewise.
45174 * kern/powerpc/ieee1275/init.c: Likewise.
45175 * kern/powerpc/ieee1275/openfw.c: Likewise.
45176 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45177
45178 These files were written by Johan Rydberg
45179 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 45180
e56cdf21 45181 * boot/powerpc/ieee1275/cmain.c: New file.
45182 * boot/powerpc/ieee1275/crt0.S: Likewise.
45183 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45184 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45185
8c8cc205 451862004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45187
45188 * Makefile.in: Update copyright.
45189 * genmodsrc.sh: Likewise.
45190 * gensymlist.sh: Likewise.
45191 * term/i386/pc/vga.c: Indent correctly.
45192
45193 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45194 bugreporting address.
45195 * util/i386/pc/pupa-setup.c (usage): Likewise,
45196 (main): Call pupa_ext2_init and pupa_ext2_fini.
45197
f19dbdb7 45198 * fs/fat.c (log2): Renamed to ...
8c8cc205 45199 (fat_log2): ... this.
45200 All callers changed.
45201 * kern/misc.c (memcpy): Alias to pupa_memmove.
45202 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45203 lvalue cast.
45204 * util/console.c (pupa_ncurses_fini): Return 0.
45205
45206 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45207 Move fail label here.
45208 [__GNU__]: Don't warn when using stat.
45209 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45210 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45211 long int. Use strtol instead of strtoul.
f19dbdb7 45212
db1771cf 452132004-03-14 Marco Gerards <metgerards@student.han.nl>
45214
45215 * commands/boot.c: New file.
45216 * commands/cat.c: Likewise.
45217 * commands/cmp.c: Likewise.
45218 * commands/ls.c: Likewise.
45219 * commands/terminal.c: Likewise.
45220 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45221 (pupa_register_command): Changed interface to match the new
45222 argument parser.
45223 (pupa_command_execute): Changed (almost rewritten) so it uses
45224 pupa_split_command. Added support for setting variables using the
45225 syntax `foo=bar'.
45226 (rescue_command): Changed to work with the new argument parser.
45227 (terminal_command): Moved from here to commands/terminal.c.
45228 (set_command): New function.
45229 (unset_command): New function.
45230 (insmod_command): New function.
45231 (rmmod_command): New function.
45232 (lsmod_command): New function.
45233 (pupa_command_init): Don't initialize the command terminal
45234 anymore. Initialize the commands set, unset, insmod, rmmod and
45235 lsmod.
45236 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45237 (kernel_img_HEADERS): Add arg.h and env.h.
45238 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45239 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45240 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45241 normal/arg.c.
45242 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
45243 terminal.mod.
45244 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
45245 (boot_mod_SOURCES): New variable.
45246 (terminal_mod_SOURCES): Likewise.
45247 (ls_mod_SOURCES): Likewise.
45248 (cmp_mod_SOURCES): Likewise.
45249 (cat_mod_SOURCES): Likewise.
45250
45251 * normal/arg.c: New file.
45252 * kern/env.c: Likewise.
45253 * include/pupa/arg.h: Likewise.
45254 * include/pupa/env.h: Likewise.
45255 * font/manager.c (font_command): Changed to match argument parsing
45256 interface changes.
45257 (PUPA_MOD_INIT): Likewise.
45258 * hello/hello.c (pupa_cmd_hello): Likewise.
45259 (PUPA_MOD_INIT): Likewise.
45260 * include/pupa/disk.h: Include <pupa/device.h>.
45261 (pupa_print_partinfo): New prototype.
45262 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
45263 (pupa_dl_get_prefix): Likewise.
45264 * include/pupa/misc.h: Include <pupa/err.h>.
45265 (pupa_isgraph): New prototype.
45266 (pupa_isdigit): Likewise.
45267 (pupa_split_cmdline): Likewise.
45268 * include/pupa/normal.h: Include <pupa/arg.h>.
45269 (pupa_command): Changed the prototype of the member `func' to
45270 match the argument parsing interface. Added member `options'.
45271 (pupa_register_command): Updated to match function.
45272 (pupa_arg_parse): New prototype.
45273 (pupa_hello_init) [PUPA_UTIL]: New prototype.
45274 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
45275 (pupa_ls_init) [PUPA_UTIL]: Likewise.
45276 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
45277 (pupa_cat_init) [PUPA_UTIL]: Likewise.
45278 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
45279 (pupa_boot_init) [PUPA_UTIL]: Likewise.
45280 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
45281 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
45282 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
45283 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
45284 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
45285 * kern/disk.c: Include <pupa/file.h>.
45286 (pupa_print_partinfo): New function.
45287 * kern/dl.c: Include <pupa/env.h>.
45288 (pupa_dl_dir): Variable removed.
45289 (pupa_dl_load): Use the environment variable `prefix' instead of
45290 the variable pupa_dl_dir.
45291 (pupa_dl_set_prefix): Function removed.
45292 (pupa_dl_get_prefix): Likewise.
45293 * kern/i386/pc/init.c: Include <pupa/env.h>.
45294 (pupa_machine_init): Use the environment variable `prefix' instead of
45295 using pupa_dl_set_prefix to set the prefix.
45296 * kern/main.c: Include <pupa/env.h>.
45297 (pupa_set_root_dev): Use the environment variable `prefix' instead of
45298 using pupa_dl_get_prefix to get the prefix.
45299 * kern/misc.c: Include <pupa/env.h>.
45300 (pupa_isdigit): New function.
45301 (pupa_isgraph): Likewise.
45302 (pupa_ftoa): Likewise.
45303 (pupa_vsprintf): Added support for printing values of the type
45304 `double'. Make it possible to format variable output when using
45305 formatting like `%1.2%f'.
45306 (pupa_split_cmdline): New function.
45307 * kern/rescue.c: Include <pupa/env.h>.
45308 (next_word): Removed function.
45309 (pupa_rescue_cmd_prefix): Likewise.
45310 (pupa_rescue_cmd_set): New function.
45311 (pupa_rescue_cmd_unset): New function.
45312 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
45313 split the command line instead of splitting it here. Added
45314 support for setting variables using the syntax `foo=bar'. Don't
45315 initialize the prefix command anymore. Initialized the set and
45316 unset commands.
45317 * normal/cmdline.c: Include <pupa/env.h>.
45318 (pupa_tab_complete): Added prototypes for print_simple_completion,
45319 print_partition_completion, add_completion, iterate_commands,
45320 iterate_dev, iterate_part and iterate_dir. Moved code to print
45321 partition information from here to kern/disk.c.
fe6b695a 45322 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 45323 * normal/main.c: Include <pupa/env.h>.
45324 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
45325 instead of using pupa_dl_get_prefix to get the prefix.
45326 * term/i386/pc/vga.c: Include <pupa/arg.h>.
45327 (check_vga_mem): Cast pointers to `void *' to silence a gcc
45328 warning.
45329 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
45330 (pupa_vga_setcolor): Declare unused variables with `__attribute__
45331 ((unused))' to silence a gcc warning.
45332 (pupa_vga_setcolor): Likewise.
45333 (debug_command): Changed to match argument parsing
45334 interface changes.
45335 * util/pupa-emu.c: Include <pupa/env.h>.
45336 (options): Added 0's for unused fields to silence a gcc warning.
45337 (argp): Likewise.
45338 (main): Use the environment variable `prefix' instead of using
45339 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
45340 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
45341 and terminal.
45342
45343 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
45344 * util/misc.c: Include <malloc.h>.
45345 (pupa_malloc): Rewritten so errors are correctly reported.
45346 (pupa_realloc): Likewise.
45347 (pupa_memalign): Likewise.
45348 (pupa_mm_init_region): Declare unused variables with
45349 `__attribute__ ((unused))' to silence a gcc warning.
45350 * normal/i386/setjmp.S: Remove tab at the end of the file to
45351 silence a gcc warning.
45352 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
45353 variables with `__attribute__ ((unused))' to silence a gcc
45354 warning.
45355 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
45356 local variable i unsigned to silence a gcc warning.
45357
45358 * kern/term.c: Include <pupa/misc.h>.
45359 (pupa_more_lines): New variable.
45360 (pupa_more): Likewise.
45361 (pupa_putcode): When the pager is active pause at the end of every
45362 screen.
45363 (pupa_set_more): New function.
45364 * include/pupa/term.h (pupa_set_more): New prototype.
45365
45366
3b1139cb 453672004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
45368
45369 Now this project is GRUB 2 rather than PUPA. The location of
45370 the CVS repository was moved to GRUB's.
f19dbdb7 45371
3b1139cb 45372 * configure.ac: Use bug-grub as the reporting address.
45373 Use GRUB instead of PUPA.
45374 Change the version number to 1.90.
45375
8367695c 453762004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
45377
45378 * genkernsyms.sh: Updated copyright information.
45379 * genmk.rb: Likewise.
45380 * genmodsrc.sh: Likewise.
45381 * gensymlist.sh: Likewise.
45382 * boot/i386/pc/boot.S: Likewise.
45383 * boot/i386/pc/diskboot.S: Likewise.
45384 * disk/i386/pc/biosdisk.c: Likewise.
45385 * disk/i386/pc/partition.c: Likewise.
45386 * font/manager.c: Likewise.
45387 * fs/ext2.c: Likewise.
45388 * fs/fat.c: Likewise.
45389 * include/pupa/boot.h: Likewise.
45390 * include/pupa/device.h: Likewise.
45391 * include/pupa/disk.h: Likewise.
45392 * include/pupa/dl.h: Likewise.
45393 * include/pupa/elf.h: Likewise.
45394 * include/pupa/err.h: Likewise.
45395 * include/pupa/file.h: Likewise.
45396 * include/pupa/font.h: Likewise.
45397 * include/pupa/fs.h: Likewise.
45398 * include/pupa/kernel.h: Likewise.
45399 * include/pupa/loader.h: Likewise.
45400 * include/pupa/misc.h: Likewise.
45401 * include/pupa/mm.h: Likewise.
45402 * include/pupa/net.h: Likewise.
45403 * include/pupa/normal.h: Likewise.
45404 * include/pupa/rescue.h: Likewise.
45405 * include/pupa/setjmp.h: Likewise.
45406 * include/pupa/symbol.h: Likewise.
45407 * include/pupa/term.h: Likewise.
45408 * include/pupa/types.h: Likewise.
45409 * include/pupa/i386/setjmp.h: Likewise.
45410 * include/pupa/i386/types.h: Likewise.
45411 * include/pupa/i386/pc/biosdisk.h: Likewise.
45412 * include/pupa/i386/pc/boot.h: Likewise.
45413 * include/pupa/i386/pc/console.h: Likewise.
45414 * include/pupa/i386/pc/init.h: Likewise.
45415 * include/pupa/i386/pc/kernel.h: Likewise.
45416 * include/pupa/i386/pc/linux.h: Likewise.
45417 * include/pupa/i386/pc/loader.h: Likewise.
45418 * include/pupa/i386/pc/memory.h: Likewise.
45419 * include/pupa/i386/pc/multiboot.h: Likewise.
45420 * include/pupa/i386/pc/partition.h: Likewise.
45421 * include/pupa/i386/pc/time.h: Likewise.
45422 * include/pupa/i386/pc/vga.h: Likewise.
45423 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
45424 * include/pupa/util/getroot.h: Likewise.
45425 * include/pupa/util/misc.h: Likewise.
45426 * include/pupa/util/resolve.h: Likewise.
45427 * kern/device.c: Likewise.
45428 * kern/disk.c: Likewise.
45429 * kern/dl.c: Likewise.
45430 * kern/err.c: Likewise.
45431 * kern/file.c: Likewise.
45432 * kern/fs.c: Likewise.
45433 * kern/loader.c: Likewise.
45434 * kern/main.c: Likewise.
45435 * kern/misc.c: Likewise.
45436 * kern/mm.c: Likewise.
45437 * kern/rescue.c: Likewise.
45438 * kern/term.c: Likewise.
45439 * kern/i386/dl.c: Likewise.
45440 * kern/i386/pc/init.c: Likewise.
45441 * kern/i386/pc/lzo1x.S: Likewise.
45442 * kern/i386/pc/startup.S: Likewise.
45443 * loader/i386/pc/chainloader.c: Likewise.
45444 * loader/i386/pc/linux.c: Likewise.
45445 * loader/i386/pc/multiboot.c: Likewise.
45446 * normal/cmdline.c: Likewise.
45447 * normal/command.c: Likewise.
45448 * normal/main.c: Likewise.
45449 * normal/menu.c: Likewise.
45450 * normal/i386/setjmp.S: Likewise.
45451 * term/i386/pc/console.c: Likewise.
45452 * term/i386/pc/vga.c: Likewise.
45453 * util/console.c: Likewise.
45454 * util/genmoddep.c: Likewise.
45455 * util/misc.c: Likewise.
45456 * util/pupa-emu.c: Likewise.
45457 * util/resolve.c: Likewise.
45458 * util/unifont2pff.rb: Likewise.
45459 * util/i386/pc/biosdisk.c: Likewise.
45460 * util/i386/pc/getroot.c: Likewise.
45461 * util/i386/pc/pupa-mkimage.c: Likewise.
45462 * util/i386/pc/pupa-setup.c: Likewise.
45463
e6eced71 454642004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
45465
45466 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
45467 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
45468 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
45469 reading and reset it after reading.
45470 (pupa_ext2_close): Return PUPA_ERR_NONE.
45471
45472 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
45473 Correct value.
45474 (struct linux_kernel_header): Add kernel_version and
45475 initrd_addr_max.
45476 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
45477 pupa_file_read succeeds.
45478 (pupa_rescue_cmd_initrd): Implement.
45479
5aded270 454802003-12-03 Marco Gerards <metgerards@student.han.nl>
45481
45482 * fs/ext2.c (pupa_ext2_label): New function.
45483 (pupa_ext2_fs): Added label.
45484 * fs/fat.c (pupa_fat_label): New function.
45485 (pupa_fat_fs): Added label.
45486 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
45487
45488 * kern/misc.c (pupa_strndup): New function.
45489 * include/pupa/misc.h (pupa_strndup): New prototype.
45490
45491 * include/pupa/normal.h: Include <pupa/err.h>.
45492 (pupa_set_history): New prototype.
45493 (pupa_iterate_commands): New prototype.
45494 * normal/cmdline.c: Include <pupa/machine/partition.h>,
45495 <pupa/disk.h>, <pupa/file.h>.
45496 (hist_size): New variable.
45497 (hist_lines): Likewise.
45498 (hist_end): Likewise.
45499 (hist_used): Likewise.
45500 (pupa_set_history): New function.
45501 (pupa_history_get): Likewise.
45502 (pupa_history_add): Likewise.
45503 (pupa_history_replace): Likewise.
45504 (pupa_tab_complete): Likewise.
45505 (pupa_cmdline_run): Added tab completion and history buffer. Tab
45506 completion shows partitionnames while completing partitions, this
45507 feature was suggested by Jeff Bailey.
45508 * normal/command.c (pupa_iterate_commands): New function.
45509 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
45510 (pupa_normal_init): Initialize history buffer.
45511 (PUPA_MOD_INIT): Likewise.
45512 (pupa_normal_fini): Free the history buffer.
45513 (PUPA_MOD_FINI): Likewise.
45514
45515 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
45516 key.
45517
45518 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
45519 * configure.ac [i386]: Check for regparam bug.
45520 (NESTED_FUNC_ATTR) [! i386]: Defined.
45521
1f7315a3 455222003-11-17 Marco Gerards <metgerards@student.han.nl>
45523
45524 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
45525 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
45526 (pupa_emu_SOURCES): New variable.
45527 (pupa_emu_LDFLAGS): Likewise.
45528 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
45529 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
45530 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
45531 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45532 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
45533 (pupa_jmp_buf): New typedef.
45534 (pupa_setjmp) [PUPA_UTIL]: New macro.
45535 (pupa_longjmp) [PUPA_UTIL]: Likewise.
45536 * include/pupa/term.h (struct pupa_term): New member `refresh'.
45537 (pupa_refresh): New prototype.
45538 * include/pupa/util/getroot.h: New file.
45539 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
45540 it.
45541 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
45542 (pupa_rescue_cmd_cat): Likewise.
45543 (pupa_rescue_cmd_ls): Likewise.
45544 (pupa_rescue_cmd_testload): Likewise.
45545 (pupa_rescue_cmd_lsmod): Likewise.
45546 * normal/cmdline.c (pupa_cmdline_get): Likewise.
45547 * normal/menu.c (run_menu): Likewise.
45548 * kern/term.c (pupa_cls): Likewise.
45549 (pupa_refresh): New function.
45550 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
45551 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
45552 * util/console.c: New file.
f19dbdb7 45553
1f7315a3 45554 * util/i386/pc/getroot.c: New file.
45555 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
45556 (pupa_putchar): New function.
45557 (pupa_refresh): Likewise.
45558 (xgetcwd): Function moved to ...
45559 (strip_extra_slashes): Likewise.
45560 (get_prefix): Likewise.
f19dbdb7 45561 * util/i386/pc/getroot.c: ... here.
1f7315a3 45562 (find_root_device): Function moved and renamed to...
45563 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
45564 Changed all callers.
45565 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
45566 and renamed to...
45567 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
45568 Changed all callers.
45569 * util/misc.c (pupa_memalign): New function.
45570 (pupa_mm_init_region): Likewise.
45571 (pupa_register_exported_symbols): Likewise.
45572 (pupa_putchar): Function removed.
45573 * util/pupa-emu.c: New file.
45574
9a5c1ade 455752003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
45576
45577 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
45578 (_multiboot_mod_SOURCES): New variable.
45579 (_multiboot_mod_CFLAGS): Likewise.
45580 * loader/i386/pc/multiboot.c: New file.
45581 * include/pupa/i386/pc/multiboot.h: Likewise.
45582 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
45583 (pupa_multiboot_real_boot): New function.
45584 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
45585 (pupa_multiboot_real_boot): New prototype.
45586 (pupa_rescue_cmd_multiboot): Likewise
45587 (pupa_rescue_cmd_module): Likewise.
45588
45589 * kern/loader.c (pupa_loader_set): Continue when
45590 pupa_loader_unload_func() fails.
45591 (pupa_loader_unset): New function.
45592 * include/pupa/loader.h (pupa_loader_unset): New prototype.
45593
45594 * kern/misc.c (pupa_stpcpy): New function.
45595 * include/pupa/misc.h (pupa_stpcpy): New prototype.
45596
8e72a9c0 455972003-11-12 Marco Gerards <metgerards@student.han.nl>
45598
45599 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
45600 for available extensions.
45601
45602 * include/pupa/i386/pc/time.h: New file.
45603 * kern/disk.c: Include <pupa/machine/time.h>.
45604 (PUPA_CACHE_TIMEOUT): New macro.
45605 (pupa_last_time): New variable.
45606 (pupa_disk_open): Flush the cache when there was a timeout.
45607 (pupa_disk_close): Reset the timer.
45608 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
45609 pupa_currticks.
45610 * util/misc.c: Include <sys/times.h>
45611 (pupa_get_rtc): New function.
45612
c4adbd32 456132003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
45614
45615 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
45616 as blocks.
45617 (pupa_ext2_get_file_block): Use blocks member.
45618
45619 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
45620 first block. Return -1 instead of pupa_errno on error.
45621
bfd30f06 456222003-10-27 Marco Gerards <metgerards@student.han.nl>
45623
45624 * README: In the pupa-mkimage example use _chain instead of chain
45625 and ext2 instead of fat.
45626 * TODO: Replace ext2fs with jfs as an example. Add an item for
45627 adding journal playback for ext2fs.
45628 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
45629 (pkgdata_MODULES): Added ext2.mod.
45630 (ext2_mod_SOURCES): New variable.
45631 (ext2_mod_CFLAGS): Likewise.
45632 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
45633 * include/pupa/misc.h (pupa_strncpy): New prototype.
45634 (pupa_strcat): Likewise.
45635 (pupa_strncmp): Likewise.
45636 * kern/misc.c (pupa_strcat): Enable function.
45637 (pupa_strncpy): New function.
45638 (pupa_strncmp): Likewise.
45639 * fs/ext2.c: New file.
f19dbdb7 45640
bfd30f06 45641 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
45642 when the read failed before retrying.
45643 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
45644 (_FILE_OFFSET_BITS): Likewise.
45645 * configure.ac: Added AC_SYS_LARGEFILE.
45646
98d15063 456472003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45648
45649 * genmk.rb (PModule#rule): Make sure to get only symbol names
45650 from the output of nm.
59cad637 45651 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 45652
18d9c7cd 456532003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
45654
45655 I forgot to check in these changes for a long time. This adds
45656 incomplete support for VGA console, and this is still very
45657 buggy. Also, a lot of consideration is required for I18N,
45658 UNICODE, and VGA font issues. Therefore, assume that this is
45659 such that "better than nothing".
f19dbdb7 45660
18d9c7cd 45661 * font/manager.c: New file.
45662 * include/pupa/font.h: Likewise.
45663 * include/pupa/i386/pc/vga.h: Likewise.
45664 * term/i386/pc/vga.c: Likewise.
45665 * util/unifont2pff.rb: Likewise.
45666
45667 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
45668 (pkgdata_MODULES): Added vga.mod and font.mod.
45669 (vga_mod_SOURCES): New variables.
45670 (vga_mod_CFLAGS): Likewise.
45671 (font_mod_SOURCES): Likewise.
45672 (font_mod_CFLAGS): Likewise.
45673
45674 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
45675
45676 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 45677 (struct pupa_term): Added init and fini.
18d9c7cd 45678 Changed the argument of putchar to pupa_uint32_t.
45679
45680 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
45681 (pupa_console_real_putchar): New prototype.
45682 (pupa_console_putchar): Removed.
45683 (pupa_console_checkkey): Exported.
45684 (pupa_console_getkey): Likewise.
45685
45686 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
45687 characters.
45688
45689 * kern/term.c (pupa_term_set_current): Rewritten.
45690 (pupa_putchar): Likewise.
45691 (pupa_putcode): New function.
45692
45693 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
45694 (pupa_console_real_putchar): ... this.
45695 (pupa_vga_set_mode): New function.
45696 (pupa_vga_get_font): Likewise.
45697
45698 * normal/command.c: Include pupa/term.h.
45699 (terminal_command): New function.
45700 (pupa_command_init): Register the command "terminal".
45701
45702 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
45703 (DISP_UP): Likewise.
45704 (DISP_RIGHT): Likewise.
45705 (DISP_DOWN): Likewise.
45706 (DISP_HLINE): Likewise.
45707 (DISP_VLINE): Likewise.
45708 (DISP_UL): Likewise.
45709 (DISP_UR): Likewise.
45710 (DISP_LL): Likewise.
45711 (DISP_LR): Likewise.
45712
45713 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 45714
977329f5 457152003-02-08 NIIBE Yutaka <gniibe@m17n.org>
45716
45717 * util/resolve.c (pupa_util_resolve_dependencies): BUG
45718 FIX. Reverse the path_list.
45719
45720 * include/pupa/normal.h: Export pupa_register_command and
45721 pupa_unregister_command.
45722
45723 * hello/hello.c (pupa_cmd_hello): New module.
45724 * conf/i386-pc.rmk: Added hello.mod.
45725
1f5ab428 457262003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
45727
45728 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 45729
1f5ab428 45730 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
45731 (compress_kernel): New variable.
45732 (generate_image): Heavily modified to support compressing a
45733 large part of the core image.
45734
45735 * util/misc.c (pupa_util_read_image): Fix a file descriptor
45736 leak.
45737 (pupa_util_load_image): New function.
45738
45739 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
45740 (pupa_compressed_size): New variable.
45741 (codestart): Enable Gate A20 here.
45742 Decompress the compressed part of the core image.
45743 Rearrange the code to put functions and variables which are
45744 required for initialization in the non-compressed part.
45745 Include lzo1x.S.
45746
45747 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
45748 here.
45749
45750 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
45751
f19dbdb7 45752 * include/pupa/i386/pc/kernel.h
1f5ab428 45753 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
45754 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
45755 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45756 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45757 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
45758
45759 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
45760
45761 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
45762 (Utility#rule): Likewise.
45763
45764 * configure.ac: Check if LZO is available.
45765
ce5bf700 457662003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
45767
45768 * include/pupa/normal.h: New file.
45769 * include/pupa/setjmp.h: Likewise.
45770 * include/pupa/i386/setjmp.h: Likewise.
45771 * normal/cmdline.c: Likewise.
45772 * normal/command.c: Likewise.
45773 * normal/main.c: Likewise.
45774 * normal/menu.c: Likewise.
45775 * normal/i386/setjmp.S: Likewise.
f19dbdb7 45776
ce5bf700 45777 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
45778 (pupa_rescue_cmd_initrd): Likewise.
45779
45780 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
45781 Likewise.
45782
45783 * kern/i386/pc/startup.S (translation_table): New variable.
45784 (translate_keycode): New function.
45785 (pupa_console_getkey): Call translate_keycode.
45786
45787 * kern/rescue.c (attempt_normal_mode): New function.
45788 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
45789 it failed, print a message.
45790
45791 * kern/mm.c (pupa_real_malloc): Print more information when a
45792 free magic is broken.
45793 (pupa_free): If the first free header is not free actually, set
45794 it to P.
45795
45796 * kern/main.c (pupa_load_normal_mode): Just load the module
45797 "normal".
45798 (pupa_main): Don't print the message
45799 "Entering into rescue mode..." here.
45800
45801 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
45802 Declared.
45803 (pupa_rescue_cmd_initrd): Likewise.
45804 (pupa_rescue_cmd_initrd): Likewise.
45805
45806 * include/pupa/symbol.h (FUNCTION): Specify the type.
45807 (VARIABLE): Likewise.
45808
45809 * include/pupa/err.h (pupa_err_t): Added
45810 PUPA_ERR_UNKNOWN_COMMAND.
45811
45812 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
45813 (pupa_dl_get_prefix): Likewise.
45814
45815 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
45816 Added _chain.mod and _linux.mod instead of chain.mod and
45817 linux.mod.
45818 (chain_mod_SOURCES): Renamed to ...
45819 (_chain_mod_SOURCES): ... this.
45820 (chain_mod_CFLAGS): Renamed to ...
45821 (_chain_mod_CFLAGS): ... this.
45822 (linux_mod_SOURCES): Renamed to ...
45823 (_linux_mod_SOURCES): ... this.
45824 (linux_mod_CFLAGS): Renamed to ...
45825 (_linux_mod_CFLAGS): ... this.
45826 (normal_mod_SOURCES): New variable.
45827 (normal_mod_CFLAGS): Likewise.
45828 (normal_mod_ASFLAGS): Likewise.
45829
458302003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
45831
45832 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
45833 possible.
45834
fe6b695a 45835 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 45836 recursively.
45837 (pupa_dl_unref): Unrefer depending modules recursively.
45838 Don't call pupa_dl_unload implicitly, because PUPA can crash if
45839 a module is unloaded before one depending on that module is
45840 unloaded.
45841 (pupa_dl_unload): Unload depending modules explicitly,
45842 if possible.
45843
c04da074 458442003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
45845
45846 * include/pupa/i386/pc/linux.h: New file.
45847 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 45848
c04da074 45849 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
45850 Removed.
45851 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
45852 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
45853 of PUPA_CHAINLOADER_BOOT_SECTOR.
45854
45855 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
45856 (pupa_linux_prot_size): New variable.
45857 (pupa_linux_tmp_addr): Likewise.
45858 (pupa_linux_real_addr): Likewise.
45859 (pupa_linux_boot_zimage): New function.
45860 (pupa_linux_boot_bzimage): Likewise.
45861
45862 * kern/i386/pc/init.c (struct mem_region): New structure.
45863 (MAX_REGIONS): New macro.
45864 (mem_regions): New variable.
45865 (num_regions): Likewise.
45866 (pupa_os_area_addr): Likewise.
45867 (pupa_os_area_size): Likewise.
45868 (pupa_lower_mem): Likewise.
45869 (pupa_upper_mem): Likewise.
45870 (add_mem_region): New function.
45871 (compact_mem_regions): Likewise.
45872 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
45873 the size of the conventional memory and that of so-called upper
45874 memory (before the first memory hole).
45875 Instead of adding each found region to free memory, use
45876 add_mem_region and add them after removing overlaps.
45877 Also, add only 1/4 of the upper memory to free memory. The rest
45878 is used for loading OS images. Maybe this is ad hoc, but this
45879 makes it much easier to relocate OS images when booting.
45880
45881 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
45882 (pupa_enter_rescue_mode): Don't register initrd and module.
45883
45884 * kern/mm.c: Include pupa/dl.h.
45885
45886 * kern/main.c: Include pupa/file.h and pupa/device.h.
45887
45888 * kern/loader.c (pupa_loader_load_module_func): Removed.
45889 (pupa_loader_load_module): Likewise.
45890
45891 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
45892 ``.o''.
45893
45894 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
45895 (pupa_linux_tmp_addr): Likewise.
45896 (pupa_linux_real_addr): Likewise.
45897 (pupa_linux_boot_zimage): Likewise.
45898 (pupa_linux_boot_bzimage): Likewise.
45899
45900 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
45901 (pupa_upper_mem): Likewise.
45902 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
45903 module is too dangerous.
45904
45905 * include/pupa/loader.h (pupa_os_area_addr): Declared.
45906 (pupa_os_area_size): Likewise.
45907 (pupa_loader_set): Remove the first argument. Loader doesn't
45908 manage modules or initrd any longer.
45909 (pupa_loader_load_module): Removed.
45910
45911 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
45912 (linux_mod_SOURCES): New variable.
45913 (linux_mod_CFLAGS): Likewise.
45914
a13f9237 459152003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
45916
45917 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
45918 the length of a blocklist correctly.
45919
45920 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
45921 Use ioctl only if the OS file is a block device.
45922 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
45923 not very useful for normal files.
45924
45925 * kern/main.c (pupa_set_root_dev): New function.
45926 (pupa_load_normal_mode): Likewise.
45927 (pupa_main): Call those above.
45928
45929 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
45930 pupa_uint16_t.
45931
45932 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
45933
a5ffe966 459342003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
45935
45936 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
45937 (setup): Configure the installed partition information and the
45938 dl prefix.
45939
45940 * loader/i386/pc/chainloader.c (my_mod): New variable.
45941 (pupa_chainloader_unload): New function.
45942 (pupa_rescue_cmd_chainloader): Refer itself.
45943 (PUPA_MOD_INIT): Save its own module in MY_MOD.
45944
45945 * kern/i386/pc/startup.S (install_partition): Removed.
45946 (version_string): Likewise.
45947 (config_file): Likewise.
45948 (pupa_install_dos_part): New variable.
45949 (pupa_install_bsd_part): Likewise.
45950 (pupa_prefix): Likewise.
45951 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
45952
45953 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
45954 and pupa/misc.h.
45955 (make_install_device): New function.
45956 (pupa_machine_init): Set the dl prefix.
45957
45958 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
45959 (buf): Renamed to ...
45960 (linebuf): ... this.
45961 (pupa_rescue_cmd_prefix): New function.
45962 (pupa_rescue_cmd_insmod): Likewise.
45963 (pupa_rescue_cmd_rmmod): Likewise.
45964 (pupa_rescue_cmd_lsmod): Likewise.
45965 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
45966 rmmod and lsmod.
45967
45968 * kern/mm.c (pupa_memalign): If failed even after invalidating
45969 disk caches, unload unneeded modules and retry.
45970
45971 * kern/misc.c (pupa_memmove): New function.
45972 (pupa_memcpy): Removed.
45973 (pupa_strcpy): New function.
45974 (pupa_itoa): Made static.
45975
45976 * kern/dl.c (pupa_dl_iterate): New function.
45977 (pupa_dl_ref): Likewise.
45978 (pupa_dl_unref): Likewise.
45979 (pupa_dl_unload): Return if succeeded or not.
45980 (pupa_dl_unload_unneeded): New function.
45981 (pupa_dl_unload_all): Likewise.
45982 (pupa_dl_init): Renamed to ...
45983 (pupa_dl_set_prefix): ... this.
45984 (pupa_dl_get_prefix): New function.
45985
45986 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
45987 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
45988 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
45989 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
45990 (pupa_install_dos_part): Declared.
45991 (pupa_install_bsd_part): Likewise.
45992 (pupa_prefix): Likewise.
45993 (pupa_boot_drive): Likewise.
45994
45995 * include/pupa/types.h: Fix a typo.
45996
45997 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
45998 pupa_memmove.
45999 (pupa_memmove): Declared.
46000 (pupa_strcpy): Likewise.
46001
46002 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46003 pupa_mod_init takes one argument, its own module.
46004 (pupa_dl_unload_unneeded): Declared.
46005 (pupa_dl_unload_all): Likewise.
46006 (pupa_dl_ref): Likewise.
46007 (pupa_dl_unref): Likewise.
46008 (pupa_dl_iterate): Likewise.
46009 (pupa_dl_init): Renamed to ...
46010 (pupa_dl_set_prefix): ... this.
46011 (pupa_dl_get_prefix): Declared.
46012
46013 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 46014 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 46015 unloaded.
46016 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46017 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46018
46019 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46020 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46021
012d7999 460222003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46023
46024 * util/i386/pc/pupa-setup.c (setup): Define the internal
46025 function find_first_partition_start at the top level, because GCC
46026 3.0.x cannot compile internal functions in deeper scopes
46027 correctly.
46028 (find_root_device): Use lstat instead of stat.
46029 Don't follow symbolic links.
46030 Fix the path-constructing code.
46031
46032 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46033 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46034 by a BLKGETSIZE ioctl first, because block devices don't fill
46035 the member st_mode of the structure stat on Linux.
46036 [__linux__] (linux_find_partition): Use a temporary buffer
46037 REAL_DEV for the working space. Copy it to DEV before returning.
46038 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46039 buffer cache consistent.
46040 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46041 strncmp. The previous value was merely wrong.
46042 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46043
46044 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46045 FAT size is 12. The previous value was merely wrong.
46046
46047 * kern/main.c (pupa_main): Don't split the starting message from
46048 newlines.
46049
46050 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46051 LF, because BIOS goes crazy about character attributes in this
46052 case.
46053
1cc73a62 460542003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46055
46056 * include/i386/pc/util/biosdisk.h: New file.
46057 * util/i386/pc/biosdisk.c: Likewise.
46058 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 46059
1cc73a62 46060 * Makefile.in (INCLUDE_DISTFILES): Added
46061 include/pupa/i386/pc/util/biosdisk.h.
46062 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46063 directory util/i386/pc.
46064 (install-local): Added a rule for sbin_UTILITIES.
46065 (uninstall): Likewise.
46066
46067 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46068
46069 * util/misc.c (xrealloc): New function.
46070 (pupa_malloc): Likewise.
46071 (pupa_free): Likewise.
46072 (pupa_realloc): Likewise.
46073 (pupa_stop): Likewise.
46074 (pupa_putchar): Likewise.
46075
46076 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46077
46078 * include/pupa/util/misc.h (xrealloc): Declared.
46079
46080 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46081 macro.
46082 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46083 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46084
46085 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46086 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46087
46088 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46089 way should be implemented.
46090 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46091
46092 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46093 the size of NAME for safety.
46094 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46095 0x88.
46096
46097 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46098 (pupa_setup_SOURCES): Likewise.
46099
46100 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46101
08b70fe8 461022002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46103
46104 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46105 bunch of pushl's from pusha, because this destroys the return
46106 value.
46107
62ddcc8f 461082002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46109
46110 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46111 This means that any missing prototypes could be fatal. Also, you
46112 must take care when writing assembly code. See the comments at
46113 the beginning of startup.S, for more details.
f19dbdb7 46114
62ddcc8f 46115 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46116 compilation mechanism.
46117 (pupa_chainloader_real_boot): Likewise.
46118 (pupa_biosdisk_rw_int13_extensions): Likewise.
46119 (pupa_biosdisk_rw_standard): Likewise.
46120 (pupa_biosdisk_check_int13_extensions): Likewise.
46121 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46122 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46123 (pupa_get_memsize): Likewise.
46124 (pupa_get_mmap_entry): Likewise.
46125 (pupa_console_putchar): Likewise.
46126 (pupa_console_setcursor): Likewise.
46127 (pupa_getrtsecs): Use pushl instead of push.
46128
46129 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46130 memory instead of the stack for a mmap entry, because some
46131 BIOSes may ignore the maximum size and overflow.
46132
46133 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46134
46135 * genmk.rb (PModule#rule): Compile automatically generated
46136 sources with module-specific CFLAGS as well as other sources.
46137
9962ed99 461382002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46139
46140 * configure.ac: Check ld.
46141 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46142 respectively, before checking endianness and sizes.
46143
46144 * Makefile.in (LD): New variable.
f19dbdb7 46145
abdfc3c5 461462002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46147
46148 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46149
6a161fa9 461502002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46151
46152 * Changelog: New file.
46153