]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
[grub2.git] / ChangeLog
CommitLineData
ed57e557
VS
12011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
4 GRUB_USB_SPEED_NONE in case of failure and not the error code.
5
d1611f01
VS
62011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/efiemu/i386/pc/cfgtables.c
9 (grub_machine_efiemu_init_tables): Make declaration a prototype.
10 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
11 (grub_xnu_unlock): Likewise.
12 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
13
7d4e39d6
VS
142011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
17 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18 * grub-core/commands/hashsum.c (aliases): Likewise.
19 * grub-core/commands/setpci.c (pci_registers): Likewise.
20 * grub-core/disk/usbms.c (attach_hook): Likewise.
21 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
22 (zio_checksum_table): Likewise.
23 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
24 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
25 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
26 * grub-core/lib/relocator.c (leftovers): Likewise.
27 (extra_blocks): Likewise.
28 * grub-core/loader/i386/bsd.c (relocator): Likewise.
29 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
30 (modules_last): Likewise.
31 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
32 (devices): Likewise.
33 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
34 (modules_last): Likewise.
35 * grub-core/normal/auth.c (users): Likewise.
36 * grub-core/normal/context.c (initial_menu): Likewise.
37 (current_menu): Likewise.
38 * grub-core/normal/crypto.c (crypto_specs): Likewise.
39 * grub-core/term/serial.c (grub_serial_ports): Likewise.
40 (grub_serial_terminfo_input_template): Likewise.
41 (grub_serial_terminfo_output_template): Likewise.
42 (grub_serial_terminfo_input): Likewise.
43 (grub_serial_terminfo_output): Likewise.
44 (registered): Likewise.
45 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
46
40fc4659
VS
472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
48
49 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
50 grub_video_mode_type_t.
51 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
52 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
53 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
54
2da48d28
VS
552011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * util/grub-install.in: Correct the x86-64 name as x86_64.
58
9b43bf39
CW
592011-03-11 Colin Watson <cjwatson@ubuntu.com>
60
61 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
62 initial chunk read from the kernel always includes GRUB's multiboot
63 header, which is now outside the first sector.
64
be1a7ce0
CW
652011-03-09 Colin Watson <cjwatson@ubuntu.com>
66
67 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
68 cached mmap_size, so that this works correctly when called multiple
69 times.
70 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
71
83a3c48d
CW
722011-03-09 Colin Watson <cjwatson@ubuntu.com>
73
74 * docs/grub.texi (Simple configuration): Tidy up formatting.
75
57d75699
SJ
762011-03-07 Szymon Janc <szymon@janc.net.pl>
77
78 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
79 Set-but-not-used variable removed.
80
028501a0
VS
812011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
82
83 Workaround yet another IEEE1275 bug.
84
85 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
86 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
87 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
88 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
89 is set.
90 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
91 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
92
d998657d
VS
932011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
96 error.
97
fee7cdd4
CW
982011-02-11 Colin Watson <cjwatson@ubuntu.com>
99
100 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
101 empty, since in that case we can only generate either nothing or a
102 syntactically invalid configuration file.
103 Reported by: Michal Suchanek. Fixes Debian bug #612898.
104
97286eb5
CW
1052011-02-09 Colin Watson <cjwatson@ubuntu.com>
106
107 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
108 (Making a GRUB bootable CD-ROM): Likewise.
109 (Invoking grub-mkrescue): New section.
110 Reported by: Yann Dirson. Fixes Debian bug #612585.
111
22b28eb3
CW
1122011-02-09 Colin Watson <cjwatson@ubuntu.com>
113
114 * util/grub-install.in: Remove unnecessary brackets from tr
115 arguments.
116 * util/grub.d/10_hurd.in: Likewise.
117 * util/grub.d/10_kfreebsd.in: Likewise.
118 * util/grub.d/10_linux.in: Likewise.
119 * util/grub.d/20_linux_xen.in: Likewise.
120 Reported by: Jamie Heilman. Fixes Debian bug #612564.
121
7e735e43
CW
1222011-02-08 Colin Watson <cjwatson@ubuntu.com>
123
124 * include/grub/file.h (not_easly_seekable): Rename to ...
125 (not_easily_seekable): ... this. Update all users.
126
800f1881
CW
1272011-01-28 Colin Watson <cjwatson@ubuntu.com>
128
129 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
130 grub-mkrescue.
131
3281d3d6
VS
1322011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * util/grub-mkimage.c (generate_image): Refuse to create the images
135 bigger than the actual flash (512K) in Loongson machines. 512K is also
136 the biggest chip supported by them.
137
3533413c
VS
1382011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
141
73ae4f4f
VS
1422011-01-22 Anthony DeRobertis <anthony@derobert.net>
143
144 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
145 super_offset field.
146
37f4f608
VS
1472011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * util/grub-install.in: Ignore install device on platforms
150 where it doesn't make sense. Always use UUIDs except on pc, efi and
151 sparc64.
152 Reported by: Daniel Kahn Gillmor.
153
03a4ccb5
VS
1542011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
155
156 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
157
ffc8f4d8
VS
1582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
161 (iterate_real): Don't rely on partition being non-NULL.
162
80f23be7
VS
1632011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
166 supported platforms. Put a compile time assert for this rather than
167 generate a warning with 32-bit shift.
168
5d4f4dd5
VS
1692011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
172 logical expression more readable.
173
e489601a
VS
1742011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
177 even if some elements have a name.
178 Reported by: Alexander GQ Gerasiov.
179
96e0a6ea
CW
1802011-01-22 Colin Watson <cjwatson@ubuntu.com>
181
182 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
183 path unreadable if `grub-probe -t abstraction' fails, for example if
184 memberlist fails on an LVM volume group.
185 Reported by: Darius Jahandarie.
186
81431e2b
CW
1872011-01-22 Colin Watson <cjwatson@ubuntu.com>
188
189 * docs/grub.texi (Simple configuration): Document
190 GRUB_PRELOAD_MODULES.
191
5e79d66a
CW
1922011-01-17 Colin Watson <cjwatson@ubuntu.com>
193
194 * .bzrignore: Remove nonexistent grub-pbkdf2.
195
646ada34
VS
1962011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * configure.ac: Bump version to 1.99~rc1.
199
04360337
VS
2002011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
203 for safety.
204
46c9db88
VS
2052011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
208 module.
209
2102011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
211
212 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
213
4fbf1852
VS
2142011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
217 diskdevid.
218
f1632d4d
VS
2192011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
220
221 Fix compilation on cygwin.
222
223 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
224 -R .drectve on cygwin.
225 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
226 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
227 (COND_CYGWIN): New condition.
228 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
229 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
230 not @TARGET_OBJ2ELF@.
231 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
232 type to determine whether aux is to be used.
233
0b5e127b
VS
2342011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
237 realpath'ed device string.
238 Handle floppy (somewhat).
239 Issue error in unknown case rather than garbage.
240 Reported by: Axel Beckert.
241
173b71e9
VS
2422011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * util/grub.d/00_header.in (load_video): Handle the case when no video
245 drivers available.
246 Thanks to: Axel Beckert.
247
f8f479db
VS
2482011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
251 variable. Fixes problem on big endian platforms.
252
8fc0a245
VS
2532011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
256 It doesn't work well there.
257
b8494fbe
VS
2582011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
259
260 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
261 warning.
262 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
263 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
264 counter.
265
b44a558c
VS
2662011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
267
268 Use alias->path rather than buggy "canon".
269
270 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
271 (ofdisk_hash_add): New argument curcan. All users updated.
272
51fa856c
CW
2732011-01-11 Colin Watson <cjwatson@ubuntu.com>
274
275 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
276
9da068a5
VS
2772011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
280 loadmask before doing any calculations. Use correct type for offset.
281 (grub_linux_load64): Likewise.
282
86205c94
CW
2832011-01-11 Colin Watson <cjwatson@ubuntu.com>
284
285 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
286 with NULL.
287 (console_grub_equivalences_unshift): Likewise.
288 Reported by: Daniel Dehennin.
289
4531a206
VS
2902011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
293 (set_env_limn_ro): Likewise.
294 (GRUB_MOD_INIT): Likewise.
295 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
296 ARRAY_SIZE while on it.
297 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
298 * grub-core/normal/context.c (grub_env_export): Move from here ...
299 * grub-core/kern/env.c (grub_env_export): ... here.
300 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
301 prefix.
302 * grub-core/kern/main.c (grub_main): Export root and prefix.
303 * include/grub/env.h (grub_env_export): Export.
304 Reported by: Seth Goldberg.
305
45146057
VS
3062011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
309 Take into account space used by ELF sections and multiboot palette.
310 Reported by: Grégoire Sutre.
311
f093110b
VS
3122011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * BUGS: New file.
315
3395fe52
VS
3162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
317
318 Pass more appropriate video id to Linux.
319
320 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
321 grub_video_get_driver_id and variable gfxpayloadforcelfb to
322 fill have_vga.
323 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
324 shift params->lfb_size.
325 * include/grub/i386/linux.h: Make an enume out of have_vga values.
326
c2fa6cbb
VS
3272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * util/grub-menulst2cfg.c: Add missing include of misc.h.
330
b3ff6ff0
VS
3312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
334 separator and pass bootpath/devid even if only one of them is available.
335 Reported by: Seth Goldberg.
336
ae67942e
VS
3372011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
338
339 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
340 implementations bug on them.
341
342 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
343 memory.
344 (filter_memory_map): Likewise.
345
d570097a
VS
3462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
349 Reported by: nebuchadnezzar.
350
a508e776
VS
3512011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
354 Reported by: nebuchadnezzar.
355
dcb883b1
VS
3562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
357
358 Submenu default support.
359
360 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
361 auto_boot. All users updated.
362 Declared static.
363 Handle chosen and default with submenus.
364 (grub_menu_execute_with_fallback): Declared static.
365 Don't notify failure if autobooted. Upper level does it.
366 (menuentry_eq): New function.
367 (get_entry_number): Use menuentry_eq.
368 (show_menu): New parameter "autobooted". All users updated.
369 (grub_show_menu): Likewise.
370 * include/grub/normal.h (grub_show_menu): Likewise.
371 * include/grub/menu.h (grub_menu_execute_entry): Removed.
372 (grub_menu_execute_with_fallback): Likewise.
373
6fef99b4
VS
3742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * util/grub-mklayout.c (usage): Update help text.
377
47a77af5
VS
3782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
381
ce6bb3ee
VS
3822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * util/grub-menulst2cfg.c (main): Trim the line.
385
db87be2a
VS
3862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
389 (grub_machine_init): Don't check amount of low memory as reportedly
390 INT 12h can be broken and if low memory is too low we wouldn't have
391 gotten into grub_machine_init anyway.
392
c49849cc
VS
3932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
396 (grub_machine_mmap_iterate): Take low memory into account
397
b1969b30
VS
3982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
401 badfs.
402 Reported by: TiCPU.
403
cf0eaf13
VS
4042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
407 members errors.
408
1f060f39
GS
4092011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
410
411 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
412 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
413
a21e5672
GS
4142011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
415
416 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
417 openbsd and netbsd types being in part_bsd module.
418
c88172fa
VS
4192011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
422 (_FILE_OFFSET_BITS): Likewise.
423 Reported by: Seth Goldberg.
424
53798c4b
GS
4252011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
426
427 * configure.ac: Check for libdevmapper header.
428
e7121b69
VS
4292011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
432 avoid aliasing.
433 (fzap_lookup): Likewise.
434 (dnode_get): Likewise.
435 (make_mdn): Likewise.
436 (zfs_mount): Likewise.
437 (fzap_iterate): Use temporary pointer to avoid aliasing.
438 (grub_zfs_read): Likewise.
439 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
440 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
441 pointers to avoid aliasing.
442 (grub_cmd_xnu_kernel64): Likewise.
443 (grub_xnu_load_driver): Likewise.
444
fc836af9
VS
4452011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
448 aliasing warning.
449 (grub_cmd_terminal_output): Likewise.
450 Reported and tested by: Grégoire Sutre.
451
f9f37648
VS
4522011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
455 warning.
456 Reported and tested by: Grégoire Sutre.
457
ec1dfd63
VS
4582011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * configure.ac: Do CPU substitution even if it's specified explicitly.
461 Reported and tested by: Alain Greppin.
462
9462775a
VS
4632011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
466 Reported and tested by: Alain Greppin.
467
0fd48e35
VS
4682011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
469
470 Satisfy some bison versions need for inttypes.h.
471
472 * grub-core/lib/posix_wrap/inttypes.h: New file.
473 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
474 (int16_t): Likewise.
475 (int32_t): Likewise.
476 (int64_t): Likewise.
477 Reported and tested by: Alain Greppin.
478
43f1bc83
VS
4792011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
482 Silence spurious warning.
483 Reported and tested by: Alain Greppin.
484
64d1f041
SJ
4852011-01-07 Szymon Janc <szymon@janc.net.pl>
486
487 * docs/grub.texi (Support automatic decompression): Update with xz
488 decompression support.
489
25953e10
SJ
4902011-01-07 Szymon Janc <szymon@janc.net.pl>
491
492 Improve loaders' kernel command line handling.
493
494 * grub-core/lib/cmdline.c: New file.
495 * include/grub/lib/cmdline.h: Likewise.
496 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
497 grub_create_loader_cmdline to create kernel command line.
498 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
499 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
500 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
501 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
502 (linux): Add lib/cmdline.c on common.
503
e72d259f
VS
5042011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
507 inopos might be unaligned.
508
c0cf26da
VS
5092011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
512 endian transformations.
513 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
514 Based on report by: Doug Nazar.
515
0ca09e6c
DN
5162011-01-07 Doug Nazar <nazard.michi@gmail.com>
517
518 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
519 array->members[i].start_sector.
520 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
521
014b6806
VS
5222011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
525 Reported and tested by: Grégoire Sutre.
526
415502c2
CW
5272011-01-06 Colin Watson <cjwatson@ubuntu.com>
528
529 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
530 avoid causing test failures by clearing the screen.
531
71b6a2b7
CW
5322011-01-06 Colin Watson <cjwatson@ubuntu.com>
533
534 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
535 Fix prefix check to handle the case where dir ends with a slash
536 (most significantly, "/" itself).
537 Reported by: Michael Vogt.
538
b3f8d28a
VS
5392011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
540
541 Run terminfo_cls on initing terminfo output to clear the screen and
542 move the cursor to (0,0).
543
544 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
545 Call grub_terminfo_output_init.
546 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
547 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
548 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
549
4c3e4f37
VS
5502011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
553 only when needed.
554
488f71f1
VS
5552011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
558 CTRL.
559
18a38098
VS
5602011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
561
562 The E820 type 5 is BADRAM, not EXEC_CODE.
563
564 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
565 (GRUB_E820_BADRAM): New define.
566 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
567 into reserved. Propagate BADRAM.
568 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
569 (GRUB_E820_BADRAM): New define.
570
9eae2084
VS
5712011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
574 Ignore the memory post-4G.
575 (grub_relocator_firmware_alloc_region): Additional debug statement.
576
ebc71d28
VS
5772011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
580 names.
581 Reported by: David Pravec.
582
446fa400
VS
5832011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
586 BIOSes.
587
a0159f37
VS
5882011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
591 Prevent overflow.
592 (grub_reed_solomon_recover): Likewise.
593
e5146ca1
VS
5942011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
597
5982011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
599
600 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
601 variable.
602
5b1bdf12
CW
6032011-01-04 Colin Watson <cjwatson@ubuntu.com>
604
605 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
606 descriptions of extract_legacy_entries_source and
607 extract_legacy_entries_configfile.
608 Reported by: Seung Soo, Ha.
609
99d925aa
CW
6102011-01-03 Colin Watson <cjwatson@ubuntu.com>
611
612 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
613 on devices that do not implement function 0.
614
4af0504b
DV
6152011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
616
617 * grub-core/fs/hfsplus.c: Make parent unsigned.
618 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
619 overflows.
620 (grub_hfsplus_cmp_extkey): Likewise
621
469ee10a
VS
6222011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * util/grub-install.in: Correctly use bootloader_id and not
625 GRUB_DISTRIBUTOR on efibootmgr line.
626
323a8e9c
VS
6272011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
630
1b394975
IC
6312010-12-31 Ian Campbell <ijc@hellion.org.uk>
632
633 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
634 Xen and reorder menu item wording to make it clearer that this entry
635 will launch Xen. Print separate messages when loading Xen and
636 Linux.
637
275bff5f
VS
6382010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
641 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
642 loop in case of incorrect amiga partmap.
643
307806cb
VS
6442010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
647 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
648 Reported by:EHeM.
649
b12b923e
VS
6502010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
653 spurious warning.
654 Reported by: crocket
655
14b48a19
VS
6562010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
659 Preload EFIemu.
660 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
661
693db2df
VS
6622010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
665 is loaded
666 (grub_cmd_xnu_kextdir): Likewise.
667 (grub_cmd_xnu_splash): Likewise.
668
c7638645
VS
6692010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
670
671 Avoid using Reed-Solomon with 0 redundancy.
672
673 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
674 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
675 or 0 redundancy.
676 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
677 (grub_reed_solomon_recover): Likewise.
678
25dd4780
VS
6792010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
680
681 Don't use disk subsystem in freebsd_boot.
682
683 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
684 (freebsd_biosdev): Likewise.
685 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
686 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
687
0b2db943
VS
6882010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
689
690 Handling of files of unknown size is currently limited. They can't be
691 used e.g. for initrd or modules. Moreover gzip handling of not
692 easily seekable files is buggy. Disable unknown file size for now. May
693 be inefficient but works.
694
695 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
696 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
697
5c408d0f
MP
6982010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
699
700 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
701 floppy probe.
702
190a011a
JD
7032010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
704
705 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
706
022d01b8
SL
7072010-12-25 Shea Levy <shlevy>
708
709 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
710
c4855fdc
VS
7112010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
714 Windows Server 2008.
715 Reported by: Devin Giddings.
716
0354b867
VS
7172010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
720 writing an error message because of async power management.
721 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
722 (grub_reboot): Likewise.
723
ab66c69f
JU
7242010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
725
726 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
727 keep unit tests from failing when they shouldn't.
728
1426ef35
CW
7292010-12-21 Colin Watson <cjwatson@ubuntu.com>
730
731 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
732 previous patch increased the size of the RS code by 20 bytes (at
733 least with gcc-4.4), so increase this by 20 bytes to match.
734 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
735
20641b6b
CW
7362010-12-21 Colin Watson <cjwatson@ubuntu.com>
737
738 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
739 scratch area. Make sure to initialise chosen in standalone mode as
740 well as non-standalone.
741 Reported by: Robert Hooker and Andy Whitcroft.
742 Tested by: Andy Whitcroft.
743
d060ad60
CW
7442010-12-21 Colin Watson <cjwatson@ubuntu.com>
745
746 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
747 constructing a new unescaped string and passing it to grub_xputs in
748 one go, rather than passing characters to grub_printf one at a time.
749
b889cfad
CW
7502010-12-21 Colin Watson <cjwatson@ubuntu.com>
751
752 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
753 initialising utf16.
754
4e01b6c8
CW
7552010-12-21 Colin Watson <cjwatson@ubuntu.com>
756
757 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
758 comment. Add an extra layer of quotation, requiring the output of
759 this function to be used in a printf format string.
760 (gettext_printf): New function.
761 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
762 Extract translatable strings from here-documents and use a temporary
763 variable instead, so that xgettext can find them.
764 * util/grub.d/10_kfreebsd.in: Likewise.
765 * util/grub.d/10_linux.in: Likewise.
766 * util/grub.d/20_linux_xen.in: Likewise.
767
768 * po/grub.d.sed: New file.
769 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
770 arguments. Set c-format flags on all strings extracted from
771 util/grub.d/ (xgettext refuses to include these itself for strings
772 it extracted from a shell file, but these really are c-format).
773
5318fe98
VS
7742010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
777 Avoid next pointing to nowhere.
778
6c85b743
VS
7792010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
782 rather than assuming than rootblock is exactly in the middle.
783 (grub_affs_label): Likewise.
784
a2a08a35
VS
7852010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
788 reserved_first_sector to 0.
789 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
790 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
791 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
792
7059d1ec
VS
7932010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
794
795 Fix handling of UTF-16 UDF labels.
796
797 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
798 (read_string): .. here.
799 (grub_udf_label): Use read_string.
800
30aff4cb
BC
8012010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
802
803 * grub-core/normal/menu_entry.c (run): Execute commands from menu
804 editor under argument scope.
805 Reported by: Jordan Uggla
806
5cf86f4b
VS
8072010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
810
32570200
CW
8112010-12-18 Colin Watson <cjwatson@ubuntu.com>
812
813 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
814 line, and other keys scroll an entire page (previous handling was
815 for \r and \n to scroll a page and other keys to scroll two lines).
816
e1dffcf2
VS
8172010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
820 Set ptrdest to correct get_physical_target_address rather than
821 incorrect get_virtual_current_address.
822
b04298cf 8232010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
824
825 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
826 correct cat to grub_uint8_t * rather than grub_uint32_t *.
827
5367ecd3
CW
8282010-12-10 Colin Watson <cjwatson@ubuntu.com>
829
830 * .bzrignore: Ignore grub-core/rs_decoder.S.
831
1fb430f8
CW
8322010-12-10 Colin Watson <cjwatson@ubuntu.com>
833
834 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
835 .mo/.mo.gz opening sequence to ...
836 (grub_mofile_open_lang): ... here.
837 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
838 * util/grub.d/00_header.in (grub_lang): Include country part of
839 locale.
840 Reported by: Mario Limonciello.
841
a94a6671
RM
8422010-12-09 Robert Millan <rmh@gnu.org>
843
844 * NEWS: Document addition of ZFS support.
845
24b7938b
CW
8462010-12-04 Colin Watson <cjwatson@ubuntu.com>
847
848 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
849 rather than `/ 2', as the latter requires -Wa,--divide which would
850 require bumping our minimum binutils version.
851
bddc3ef6
BC
8522010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
853
854 * util/grub-script-check.c (main): Print script line number on
855 error.
856
bf78d5b2
RM
8572010-12-01 Robert Millan <rmh@gnu.org>
858
859 * grub-core/fs/zfs/zfs.c: New file.
860 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
861 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
862 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
863 * grub-core/fs/zfs/zfsinfo.c: Likewise.
864
865 * include/grub/zfs/dmu.h: Likewise.
866 * include/grub/zfs/dmu_objset.h: Likewise.
867 * include/grub/zfs/dnode.h: Likewise.
868 * include/grub/zfs/dsl_dataset.h: Likewise.
869 * include/grub/zfs/dsl_dir.h: Likewise.
870 * include/grub/zfs/sa_impl.h: Likewise.
871 * include/grub/zfs/spa.h: Likewise.
872 * include/grub/zfs/uberblock_impl.h: Likewise.
873 * include/grub/zfs/vdev_impl.h: Likewise.
874 * include/grub/zfs/zap_impl.h: Likewise.
875 * include/grub/zfs/zap_leaf.h: Likewise.
876 * include/grub/zfs/zfs.h: Likewise.
877 * include/grub/zfs/zfs_acl.h: Likewise.
878 * include/grub/zfs/zfs_znode.h: Likewise.
879 * include/grub/zfs/zil.h: Likewise.
880 * include/grub/zfs/zio.h: Likewise.
881 * include/grub/zfs/zio_checksum.h: Likewise.
882
883 * Makefile.util.def: Build ZFS into libgrubmods.
884 * grub-core/Makefile.core.def: Build zfs.mod.
885
3f0f3831
SJ
8862010-11-30 Szymon Janc <szymon@janc.net.pl>
887
888 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
889 variable.
890 * grub-core/commands/wildcard.c (match_files): Likewise.
891
3a4253b2
RM
8922010-11-30 Robert Millan <rmh@gnu.org>
893
894 * grub-core/loader/i386/bsd.c
895 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
896 whether kernel is loaded using grub_loader_is_loaded(), rather
897 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
898 certain error conditions.
899
8c317b27
RM
9002010-11-30 Robert Millan <rmh@gnu.org>
901
c5c9cd3e
RM
902 * grub-core/commands/echo.c: Include `<grub/term.h>'.
903 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 904
49d3ab46
VS
9052010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
906
907 Avoid using tricks for initialising endian variables.
908
909 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
910 Make const.
911 (GRUB_MOD_INIT): Don't byte-swap.
912 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
913 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
914 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
915 (grub_swap_bytes32_compile_time): Likewise.
916 (grub_cpu_to_le32_compile_time): Likewise.
917 (grub_cpu_to_le16_compile_time): Likewise.
918
f420a804
VS
9192010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * util/grub-setup.c (setup): Stop recommending --force. People who
922 understand the dangers of blocklists are able to find this option
923 anyway and the ones who don't shouldn't use it anyway.
924
4e7db17b
RM
9252010-11-26 Robert Millan <rmh@gnu.org>
926
927 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
928 Update all users.
929
9be57a0d
CW
9302010-11-26 Colin Watson <cjwatson@ubuntu.com>
931
932 Fix LVM-on-RAID probing.
933
934 * util/grub-probe.c (probe): Remember which disk was detected as
935 RAID (perhaps an LVM physical volume). Use that disk's raidname
936 rather than that of the top-level disk.
937
2c7859b3 9382010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 939
d7647bb6
BC
940 Fix cmdline argument quotes for setparams command of menuentry
941 definitions.
7e623b0d
BC
942
943 * grub-core/commands/menuentry.c (setparams_prefix): Use single
944 quotes for arguments.
f866fe80 945 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 946 grub_strchrsub function instead.
f866fe80 947
7955bea0 948 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 949
74f72a64
CW
9502010-11-24 Colin Watson <cjwatson@ubuntu.com>
951
952 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
953 effort by skipping "." and ".." entries up-front.
954 Suggested by: Michael Lazarev.
955
5a407278
CW
9562010-11-24 Colin Watson <cjwatson@ubuntu.com>
957
958 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
959 ldflags to ldadd, to fix link line ordering.
960 (none_decompress): Likewise.
961
3030d8ec
CW
9622010-11-24 Colin Watson <cjwatson@ubuntu.com>
963
964 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
965 platforms.
966 (grub-emu-lite): Remove kern/emu/cache.S.
967
b7fbac12
CW
9682010-11-23 Colin Watson <cjwatson@ubuntu.com>
969
970 * util/deviceiter.c (compare_devices): If the by-id link for a
971 device couldn't be resolved, fall back to sorting by the by-id link
972 rather than segfaulting.
973 Reported and tested by: Daniel Mierswa.
974
5225f328
CW
9752010-11-23 Colin Watson <cjwatson@ubuntu.com>
976
977 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
978 ldflags, to fix link line ordering.
979
038b3ce8
CW
9802010-11-23 Colin Watson <cjwatson@ubuntu.com>
981
982 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
983 linkers are picky about this.
984
bf16e98e
CW
9852010-11-23 Colin Watson <cjwatson@ubuntu.com>
986
987 * grub-core/Makefile.am (command.lst): Adjust sed expression
988 ordering so that extended and priority commands aren't treated as
989 ordinary commands.
990
7242bab6
CW
9912010-11-23 Colin Watson <cjwatson@ubuntu.com>
992
993 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
994 Remove byte-swapping function calls, which are not valid in
995 structure initialisers.
996 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
997 non-const.
998 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
999 grub_gpt_partition_type_bios_boot.
1000
14e8b279
CW
10012010-11-22 Colin Watson <cjwatson@ubuntu.com>
1002
1003 Fix test program build on GNU/kFreeBSD.
1004
1005 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
1006 $(LIBNVPAIR)' library dependencies.
1007
e6f63338 10082010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
1009
1010 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
1011
cf8ffc38
CW
10122010-11-22 Colin Watson <cjwatson@ubuntu.com>
1013
1014 * util/grub-install.in: Remove excessive quoting that broke
1015 installations to RAID devices.
1016
7f8b0fd7
VS
10172010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
1020 bootloader version instead of 0.
1021
dfd240b1
VS
10222010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
1025 warning.
1026
7b61e609
VS
10272010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
1030 retrieve the metadat sector if size isn't known.
1031 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1032
9dfe92d0
RM
10332010-11-18 Robert Millan <rmh@gnu.org>
1034
1035 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
1036 with grub_memcmp().
1037
41cc919e
VS
10382010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
1041 arrow.
1042 Reported by: Jordan Uggla.
1043
1afcc914
VS
10442010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 Make better UTF compliant.
1047
1048 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
1049 sequences as incorrect.
1050 (grub_is_valid_utf8): Likewise.
1051 (grub_utf8_to_ucs4): Likewise.
1052 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
1053 (grub_ucs4_to_utf8_alloc): Likewise.
1054 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
1055
f1808884
VS
10562010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 Make legacy_source behave like source.
1059
1060 * grub-core/commands/legacycfg.c (legacy_file): Don't call
1061 grub_show_menu.
1062 (grub_cmd_legacy_source): Call grub_show_menu if needed.
1063
24ec575b
CW
10642010-11-16 Colin Watson <cjwatson@debian.org>
1065
1066 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
1067 (-Wunused implies -Wunused-parameter, but not vice versa).
1068
72b7c7aa
CW
10692010-11-16 Colin Watson <cjwatson@ubuntu.com>
1070
1071 * configure.ac: Make error messages less confusing by testing for
1072 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
1073 accepted, but produces a diagnostic if something else is wrong).
1074
e98937aa
VS
10752010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
1078 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
1079 (now unused).
1080 (grub_keyboard_controller_init)
1081 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
1082 read the initial state since controller isn't inited yet.
1083
f6bbabc3
VS
10842010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
1087 allocate_regbeg may need to create new chunk header.
1088
22e7dbb2
VS
10892010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 Fix quoting in legacy parser.
1092
1093 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
1094 single quotes.
1095 (grub_legacy_parse): Likewise.
1096 Reported by: Jordan Uggla.
1097 Tested by: Jordan Uggla.
1098
03f80960
VS
10992010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 Don't add -lgcc on i386 and x86_64.
1102
1103 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
1104 * conf/Makefile.common (LDADD_KERNEL): Likewise.
1105 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
1106
779dc15b
VS
11072010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * configure.ac: Add -Wno-trampolines when supported.
1110
d20a3b37
MV
11112010-11-14 Modestas Vainius <modax@debian.org>
1112
1113 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
1114 fakeraid.
1115
e5360933
GC
11162010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1117
1118 Add generic logical block size support for UDF.
1119
1120 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
1121 (GRUB_UDF_BLKSZ): Removed.
1122 (struct grub_udf_data): New field "lbshift" to hold the logical block
1123 size of the file system in log2 format. All users updated.
1124 (sblocklist): Change type to unsigned.
1125 (grub_udf_mount): Change type of "sblklist" to unsigned.
1126 Move AVDP search before VRS recognition, because the latter requires
1127 knowledge of the logical block size, which is detected during the
1128 former.
1129 Detect and validate logical block size during AVDP search, adding
1130 support for block sizes 512, 1024 and 4096.
1131 Make VRS recognition independent of block size.
1132
cb0229c5
GC
11332010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1134
1135 Properly handle deleted files on UDF.
1136
1137 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
1138 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
1139 set.
1140
406858a8
GC
11412010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1142
1143 Support reading files larger than 2 GiB.
1144
1145 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
1146 "offset" to grub_off_t.
1147 (grub_udf_read_file): Likewise for parameter "pos".
1148
130da6a7
VS
11492010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
1152 unavailable.
1153 (Simple configuration): Refer to Changes from GRUB Legacy about
1154 save_env availability.
1155
65e93f6b
VS
11562010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * util/grub-install.in: Ignore empty partition table detection
1159 instead of trying to include part_ module.
1160
1fd08bf1
VS
11612010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
1164 LVM on RAID support.
1165
de1a024f
VS
11662010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 Properly define WORDS_BIGENDIAN in wrapped environments.
1169
1170 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
1171 definition.
1172 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
1173
1174 Reported by: Manoel Rebelo Abranches.
1175 Tested by: Manoel Rebelo Abranches.
1176
bc5dd0b9
VS
11772010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * util/grub-mkconfig.in: Fix quoting.
1180
58c184be
VS
11812010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 Support big ext2 files.
1184
1185 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
1186 (grub_ext2_read_block): Support triple indirect blocks.
1187 (grub_ext2_read_file): Use 64-bit types and read size_high.
1188 (grub_ext2_open): Read size_high.
1189 Reported by: Ximin Luo.
1190 Tested by: Manoel Rebelo Abranches.
1191
5f0c02b3
VS
11922010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * util/grub-install.in: Handle filenames containing spaces.
1195 Reported by: Jordan Uggla.
1196 Tested by: Jordan Uggla.
1197
4417aae6
VS
11982010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * util/grub-mkconfig.in (grub_script_check): New variable.
1201 Use grub_script_check instead of grub-script-check.
1202 Reported by: Barry Jackson.
1203
7625a68e
VS
12042010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 * docs/grub.texi (menu): Correct the order.
1207 Reported by: D. Hugh Redelmeier.
1208
10001ac5
VS
12092010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
1212 jump.
1213
9c4cf53b
MRA
12142010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
1215
10001ac5
VS
1216 * include/grub/elfload.h (grub_elf32_size): New parameter.
1217 All users updated.
9c4cf53b
MRA
1218 Return maximum segments alignment.
1219 (grub_elf64_size): Likewise.
1220 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
1221 Return maximum segments alignment.
1222 (grub_elf64_size): Likewise.
1223 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
1224 (grub_linux_claimmap_iterate): New function. Uses the
1225 "available" property in the "memory" node for memory allocation
1226 for kernel in the PowerPC loader.
9c4cf53b
MRA
1227 (grub_linux_load32): Correctly find linux entry point offset.
1228 (grub_linux_load64): Likewise.
1229
d2bf06bf
RM
12302010-11-07 Robert Millan <rmh@gnu.org>
1231
1232 On mips-yeeloong, build with -march=loongson2f when this flag is
1233 available (GCC >= 4.4).
1234 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
1235 `-march=mips3'.
1236 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
1237 or otherwise add -march=mips3.
1238
898c99a2
BC
12392010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
1240
87220a68
BC
1241 Suppress shell expansion on echo '*' and echo "*" like cases.
1242 Reported by: Jordan Uggla.
898c99a2
BC
1243
1244 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1245 string arguments before shell expansion.
1246 * tests/grub_cmd_echo.in: New testcases.
1247
4f9b406a
RM
12482010-11-07 Robert Millan <rmh@gnu.org>
1249
1250 * conf/mips-qemu-mips.rmk: Remove stale file from previous
1251 transition.
1252
80c6d25e
VS
12532010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/kern/emu/hostdisk.c
1256 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
1257
4a1a0153
VS
12582010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
1261 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
1262 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
1263
34706ddc
VS
12642010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
1267
6972dea9
VS
12682010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * util/grub-install.in: Replace useless recomendation to pass
1271 --modules with a recomendation to report a bug.
1272
9c693bd6
VS
12732010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 Properly register serial terminfo.
1276 Reported by: Jordan Uggla
1277
1278 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
1279 const.
1280 (grub_serial_terminfo_output_template): Likewise.
1281 (grub_cmd_serial): Register "serial" with terminfo.
1282 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
1283 grub_serial_terminfo_output.
1284
6c9e4c0c
RM
12852010-11-05 Robert Millan <rmh@gnu.org>
1286
1287 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
1288 needed).
1289
b9b3839f
RM
12902010-11-05 Robert Millan <rmh@gnu.org>
1291
1292 On Yeeloong, pass machine type information to Linux.
1293
1294 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
1295 (LOONGSON_MACHTYPE): New macro, set to
1296 "machtype=lemote-yeeloong-2f-8.9inches".
1297 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
1298 additional argument to Linux.
1299
1a3aaff4
RM
13002010-11-04 Robert Millan <rmh@gnu.org>
1301
1302 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
1303 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
1304 (its SATA disks are detected as slaveless IDE master drives on
1305 kFreeBSD).
1306 Reported by Carsten Aulbert.
1307
a75f4f62
CW
13082010-11-02 Colin Watson <cjwatson@ubuntu.com>
1309
1310 * util/bin2h.c (main): Fix spelling error in generated output.
1311
33b4b0c6
GS
13122010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
1313
1314 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
1315
2b36fbf4
VS
13162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
1319 vga= option is supplied.
1320
74aaf558
VS
13212010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
1324 * util/grub.d/10_kfreebsd.in: Likewise.
1325 * util/grub.d/10_linux.in: Likewise.
1326 * util/grub.d/20_linux_xen.in: Likewise.
1327
6428dec3
VS
13282010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
1331 argument as an argument to no-argument option.
1332
f8729d98
VS
13332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * util/grub.d/10_linux.in: Add missing load_video with explicit
1336 GRUB_GFXPAYLOAD_LINUX.
1337
89d68fa6
VS
13382010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
1341
3a1197cd
VS
13422010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
1345 elements with invlid index.
1346 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1347 * grub-core/disk/raid.c (insert_array): Automatically reallocate
1348 members.
1349 * include/grub/raid.h (grub_raid_member): New struct.
1350 (grub_raid_array): Transform devices and start_sector into usage of
1351 grub_raid_member. All users updated
1352 (allocated_devs): New member.
1353
71574288
VS
13542010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
1357 is modified
1358
8d40ec65
BC
13592010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
1360
1361 NetBSD build fix for getline function conflict from gnulib.
1362
1363 * Makefile.util.def (libgrubkern.a): New library for grub kernel
1364 components that depend on gnulib headers.
1365 (libgrubmods.a): Renamed from earlier libgrub.a.
1366 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
1367
95b9257e
VS
13682010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
1371 install rather than creating a broken install.
1372
26c53dc6
VS
13732010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 * util/grub-setup.c (argp): Remove misleading example of installing to
1376 a partition.
1377
4171b3c5
VS
13782010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * util/grub-setup.c (setup): Clarify the error message.
1381
18568d18
VS
13822010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
1385
4f6a2e21
VS
13862010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/kern/emu/misc.c
1389 (grub_make_system_path_relative_to_its_root)
1390 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
1391
13922010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
1393
1394 * grub-core/kern/emu/misc.c
1395 (grub_make_system_path_relative_to_its_root): Revert r2882.
1396
e138c458
VS
13972010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
1400 useless field head. All users updated.
1401 (free_subchunk): Correct handling of IN_REGION subchunk.
1402
0cbcdf0e
CW
14032010-10-22 Colin Watson <cjwatson@ubuntu.com>
1404
1405 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
1406 (Supported kernels): Likewise.
1407
b65ea155
GS
14082010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1409
1410 Make mktemp invocations portable.
1411
1412 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
1413 exit if mktemp fails.
1414 * tests/grub_script_blockarg.in: Likewise.
1415 * tests/partmap_test.in: Likewise.
1416 * tests/util/grub-shell-tester.in: Likewise.
1417 * tests/util/grub-shell.in: Likewise.
1418 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1419 * Makefile.am: Likewise, and chain shell commands with `&&'
1420 instead of ';'.
1421 * util/grub-mkrescue.in: Use the same explicit template as above, and
1422 exit if mktemp fails.
1423
05f43cdd
BC
14242010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
1425
1426 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
1427 Linux kernel, reported by Dennis Schridde.
1428
800e6a9b
SJ
14292010-10-17 Szymon Janc <szymon@janc.net.pl>
1430
1431 * grub-core/normal/auth.c (grub_auth_check_authentication):
1432 Set-but-not-used variable removed.
1433
d82df574
VS
14342010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * docs/grub.texi (GNU/Linux): Document APM unavailability with
1437 32-bit linux protocol.
1438
7bced458
VS
14392010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
1442 cursor shape for sanity.
1443
5b027690
VS
14442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * docs/grub.texi (Installation): Document buggy BIOS install.
1447
ba5f65cf
VS
14482010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * docs/grub.texi (Installation): Indent.
1451
fdf2ec9c
VS
14522010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * util/grub-setup.c (setup): New parameter allow_floppy.
1455 (arguments): New member allow_floppy.
1456 (argp_parser): Handle --allow-floppy.
1457 (main): Pass allow_floppy.
1458 * util/grub-install.in: New option --allow-floppy passed though to
1459 grub-setup.
1460
861dfd4c
VS
14612010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * util/grub-install.in: Handle partitionless disks.
1464
f77a8c24
VS
14652010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * util/grub-setup.c (setup): Don't clean blocklists before readability
1468 verfification.
1469
27d9ee32
VS
14702010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * docs/grub.texi (Installation): Document embedding zone. Remove
1473 obsolete grub-install example.
1474
6bdda8f8
SJ
14752010-10-16 Szymon Janc <szymon@janc.net.pl>
1476
1477 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
1478 Set-but-not-used variable ifdef'ed.
1479 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
1480 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
1481 variable removed.
1482 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
1483 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
1484 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
1485 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
1486 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
1487 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
1488 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
1489 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
1490 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1491 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
1492 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
1493 Likewise.
1494
e19b016b
VS
14952010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
1498 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
1499 enum value.
1500
6c8d3002
VS
15012010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
1504 synonym to _S5_. Needed for some DSDTs.
1505
c32b51c9
VS
15062010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 Userspace ACPI parser debugging.
1509
1510 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
1511 headers and add relevant defines. Don't include standard headers.
1512 (main) [GRUB_DSDT_TEST]: New function.
1513 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
1514 Don't declare functions.
1515
fbfbeb39
VS
15162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 Remove dead grub_efi_mm_fini.
1519
1520 * grub-core/kern/efi/mm.c (allocated_page): Removed.
1521 (ALLOCATED_PAGES_SIZE): Likewise.
1522 (MAX_ALLOCATED_PAGES): Likewise.
1523 (allocated_pages): Likewise.
1524 (grub_efi_allocate_pages): Don't record allocated pages.
1525 (grub_efi_free_pages): Likewise.
1526 (grub_efi_mm_init): Likewise.
1527 (grub_efi_mm_fini): Removed.
1528
65f7ed7c
VS
15292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
1532 (grub_efi_mm_init): Take into account the memory map size increase.
1533
24977b44
VS
15342010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
1537 (serial_hw_put): Wait based on real time rather than port reads. Don't
1538 roken ports.
1539 * include/grub/serial.h (grub_serial_port): New field broken.
1540
1eb01cd2
RM
15412010-10-16 Robert Millan <rmh@gnu.org>
1542
1543 * grub-core/kern/emu/misc.c
1544 (grub_make_system_path_relative_to_its_root): Fix premature return
1545 when processing non-root ZFS filesystems.
5f8b440b 1546 Reported by Sergio Talens-Oliag.
1eb01cd2 1547
2d5fed60
RM
15482010-10-15 Robert Millan <rmh@gnu.org>
1549
1550 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
1551 guarantee compressed ones are processed first.
1552
d0f4c1ea
VS
15532010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
1556 grub_efiemu_autocore.
1557
d87c681f
VS
15582010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
1561 rather than 0x1b.
1562 (grub_console_getkey): Use correct jae opcode rather than ja.
1563
219b3564
RM
15642010-10-12 Robert Millan <rmh@gnu.org>
1565
1566 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
1567 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
1568 variable. All references updated.
1569
1570 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
1571
20c6bb7e
VS
15722010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 Correctly distinguish mdraid flavours.
1575
1576 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
1577 (insert_array): New argument raid.
1578 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
1579 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
1580 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
1581
74baff84
VS
15822010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
1585 handling of special keys.
1586
3ef068df 15872010-10-02 Aleš Nesrsta <starous@volny.cz>
1588
c7980ad9
VS
1589 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
1590 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 1591
a9455194 15922010-10-02 Aleš Nesrsta <starous@volny.cz>
1593
c7980ad9
VS
1594 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
1595 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
1596 users updated.
a9455194 1597 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 1598 Use right endpoint when querying descriptor.
a9455194 1599
441cfe65
VS
16002010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 Clear out 0x80 color bit on EFI.
1603 Tested by: decoder
1604 Reported by: decoder and meta tech.
1605
1606 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
1607 (grub_console_setcolorstate): Clear out 0x80 bit.
1608 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
1609 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
1610 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
1611
bf26bcc4
VS
16122010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
1615 Set to "auto".
1616
6e3c515d
VS
16172010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
1620 mo_file after freeing.
1621
e6d983ba
VS
16222010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
1625
74ccb5b5
VS
16262010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
1629 flags.
1630
17821956
VS
16312010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
1634 usage.
1635
ee74fa48
VS
16362010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 Put terminfo into core on ieee1275 and yeeloong (needed for console).
1639
1640 * gentpl.py: New groups terminfoinkernel and terminfomodule.
1641 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
1642 and terminfo.h when needed.
1643 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
1644 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
1645 (terminfo): Enable only on terminfokernel.
1646 (extcmd): Likewise.
1647 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
1648 * include/grub/lib/arg.h: Likewise.
1649 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
1650 incorrect usage of ->.
1651
aa438e68
VS
16522010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
1655 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
1656
57994012
VS
16572010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 Fix coreboot compilation.
1660
1661 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1662 Take VBE info into account even if only text is supported.
1663 (fill_vbe_info): Take into account the case when only VGA text
1664 is supported.
1665 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
1666 on coreboot, multiboot and qemu.
1667
2a406611
VS
16682010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
1671 debug messages.
1672 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
1673
d33613fc
VS
16742010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
1677 parameters.
1678
44a1b432
VS
16792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
1682 if they were BSD-style.
1683
edde54e6
VS
16842010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * grub-core/boot/i386/pc/lnxboot.S: Replace
1687 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
1688 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
1689
b65830fa
VS
16902010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 Write embedding zone using Reed-Solomon.
1693
1694 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
1695 * grub-core/Makefile.am (rs_decoder.S): New target.
1696 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
1697 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
1698 (multiboot): Move to RS part.
1699 (post_reed_solomon): New label.
1700 (grub_boot_drive): Move to non-RS part since it's modified in memory
1701 on boot.
1702 Include rs_decoder.S.
1703 * grub-core/lib/reed_solomon.c: New file.
1704 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
1705 New definition.
1706 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
1707 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
1708 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
1709 * include/grub/partition.h (grub_partition_map): Change prototype of
1710 embed to allow returning additional sectors.
1711 * include/grub/reed_solomon.h: New file.
1712 * util/grub-setup.c (setup): Handle Reed-Solomon.
1713
0b4b227f
CW
17142010-09-28 Colin Watson <cjwatson@ubuntu.com>
1715
1716 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
1717 i386 and x86-64 definedness tests.
1718
f772623b
YB
17192010-09-27 Yves Blusseau <blusseau@zetam.org>
1720
1721 Fix generation of kernel_syms.lst
1722
1723 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
1724 ASM_PREFIX
1725
8e57a6ca
RM
17262010-09-26 Robert Millan <rmh@gnu.org>
1727
1728 Support degraded ZFS arrays in "grub-probe -t device" resolution.
1729
1730 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
1731 the pool is an array of devices, iterate through it and return the
1732 first device that passes a stat() test (instead of blindly returning
1733 the first one).
1734
f9130836
RM
17352010-09-26 Robert Millan <rmh@gnu.org>
1736
1737 Build fixes for GNU/kFreeBSD.
1738
1739 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
1740 to programs that require ZFS conversion.
1741 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
1742 kernels that don't have FLOPPY_MAJOR.
1743
96510faf
BC
17442010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
1745
1746 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
1747
449333eb
BC
17482010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
1749
1750 Fix grub-emu build.
1751
1752 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
1753 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
1754 mdraid09 and mdraid1x.
1755
e1fd1939
CW
17562010-09-24 Colin Watson <cjwatson@ubuntu.com>
1757
1758 Re-enable grub-extras.
1759
1760 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
1761 avoid confusing Automake. Run autogen only twice, once for the top
1762 level and once for grub-core. Add Makefile.util.def and
1763 Makefile.core.def from extra modules to the appropriate autogen
1764 invocations. If Makefile.common exists in an extra module, include
1765 it in both Makefile.util.am and grub-core/Makefile.core.am;
1766 similarly, include any Makefile.util.common file in Makefile.util.am
1767 and any Makefile.core.common file in grub-core/Makefile.core.am.
1768 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
1769 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
1770 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
1771 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
1772
1773 * gentpl.py (gvar_add): Turn GVARS into a set.
1774 (global_variable_initializers): Sort global variables on output.
1775 (vars_init): New function.
1776 (first_time): Likewise.
1777 (library): Ensure that non-global variable initialisations are
1778 emitted before the first time we emit code for a library block.
1779 Append to variables rather than setting them. Only emit
1780 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
1781 each conditional path.
1782 (program): installdir() emits an Autogen macro, so must be passed to
1783 var_add rather than gvar_add.
1784 (data): Likewise.
1785 (script): Likewise.
1786 (rules): New function, centralising handling for different target
1787 types. Set up Guile association lists for first_time and vars_init,
1788 and send most output to a diversion so that variable initialisations
1789 can be emitted first.
1790 (module_rules): Use new rules function.
1791 (kernel_rules): Likewise.
1792 (image_rules): Likewise.
1793 (library_rules): Likewise.
1794 (program_rules): Likewise.
1795 (script_rules): Likewise.
1796 (data_rules): Likewise.
1797
1798 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
1799
1800 * .bzrignore: Add contrib and grub-core/contrib. Remove
1801 grub-core/Makefile.gcry.am.
1802
1d12cf29
YB
18032010-09-24 Yves Blusseau <blusseau@zetam.org>
1804
1805 * grub-core/lib/LzFind.c: Add missing include.
1806 * grub-core/lib/LzmaEnc.c: Likewise.
1807 * grub-core/script/lexer.c: Likewise.
1808 * grub-core/script/yylex.l: Likewise.
1809 * util/grub-macho2img.c: Likewise.
1810 * util/grub-menulst2cfg.c: Likewise.
1811 * util/grub-mklayout.c: Likewise.
1812 * util/grub-mkpasswd-pbkdf2.c
1813 * util/grub-mkrelpath.c: Likewise.
1814 * util/resolve.c: Likewise.
1815
dd363028
BC
18162010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
1817
1818 * Makefile.util.def (example_unit_test): Add
1819 grub-core/gnulib/libgnu.a.
1820
f5a109e2
GS
18212010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
1822
1823 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
1824
6d0fa83c
VS
18252010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 Support xz compression on yeeloong.
1828
1829 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
1830 * configure.ac: Check for LZMA.
1831 * grub-core/Makefile.core.def (xz_decompress): New target.
1832 (none_decompress): Likewise.
1833 * grub-core/boot/decompressor/minilib.c: New file.
1834 * grub-core/boot/decompressor/none.c: Likewise.
1835 * grub-core/boot/decompressor/xz.c: Likewise.
1836 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
1837 * grub-core/kern/mips/cache_flush.S: Likewise.
1838 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
1839 * grub-core/kern/mips/startup.S: Move first stage to ...
1840 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
1841 nomacro.
1842 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
1843 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
1844 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
1845 Allocate statically.
1846 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
1847 Allocate statically or use scratch. Don't check CRC32.
1848 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
1849 Allocate statically. Don't check CRC32.
1850 * include/grub/decompressor.h: New file.
1851 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
1852 Removed.
1853 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
1854 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
1855 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
1856 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
1857 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
1858 * util/grub-mkimage.c (grub_compression_t): New type.
1859 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
1860 (image_target_desc): New field default_compression.
1861 (image_targets): Adjust yeeloong targets.
1862 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
1863 (compress_kernel): New parameter comp.
1864 (generate_image): Likewise. Handle new compression case.
1865 (options): New option --compression
1866 (help): Likewise.
1867 (main): Handle new option.
1868
1b655af6
GS
18692010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
1870
1871 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
1872
8f03f0b5
CW
18732010-09-22 Colin Watson <cjwatson@ubuntu.com>
1874
1875 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
1876 typo in __i386__ conditional.
1877
7835dfd3
VS
18782010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
1881 include.
1882
e255597e
VS
18832010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1884
6d0fa83c 1885 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
1886
1887 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
1888 new tags as supported.
1889 (acpiv2_size): New function.
1890 (grub_multiboot_get_mbi_size): Take new tags into account.
1891 (grub_multiboot_make_mbi): Add new tags.
1892 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 1893
6cc14051 18942010-09-21 Aleš Nesrsta <starous@volny.cz>
1895
1896 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
1897 Added missing configuration of USB device.
1898
df7769d8
CW
18992010-09-21 Colin Watson <cjwatson@ubuntu.com>
1900
1901 * grub-core/normal/menu_entry.c (run): Make sure we always return
1902 a value.
1903
b031012d
CW
19042010-09-21 Colin Watson <cjwatson@ubuntu.com>
1905
1906 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
1907 NumberOfPages is UINT64 according to the UEFI specification, not
1908 UINTN. Fix printf format.
1909
174de8f3
CW
19102010-09-21 Colin Watson <cjwatson@ubuntu.com>
1911
1912 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
1913 `err' to grub_usb_err_t.
1914 Reported and tested by: KESHAV P.R.
1915
d7dbe923
CW
19162010-09-21 Colin Watson <cjwatson@ubuntu.com>
1917
1918 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
1919 tpart non-const, so that we can assign to it. (Since this is a
1920 typedef, the constness refers to the pointer rather than what it
1921 points to.)
1922
8d5e2af3
CW
19232010-09-21 Colin Watson <cjwatson@ubuntu.com>
1924
1925 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
1926 $(top_srcdir)/grub-core/gnulib as well as
1927 $(top_builddir)/grub-core/gnulib.
1928 Reported by: KESHAV P.R.
1929
5c527783
CW
19302010-09-21 Colin Watson <cjwatson@ubuntu.com>
1931
1932 * util/grub-install.in: Fix the bootloader ID option to be
1933 consistently --bootloader-id, not --bootloader_id.
1934 Reported by: KESHAV P.R.
1935
d309a16e
CW
19362010-09-21 Colin Watson <cjwatson@ubuntu.com>
1937
1938 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
1939 check hash checksum." consistently translatable.
1940
b830cd16
YB
19412010-09-21 Yves Blusseau <blusseau@zetam.org>
1942
1943 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
1944 $(top_builddir).
1945
c4fe27a8
CW
19462010-09-21 Colin Watson <cjwatson@ubuntu.com>
1947
1948 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
1949 (GRUB_MOD_INIT): Register sha1sum command.
1950 (GRUB_MOD_FINI): Unregister sha1sum command.
1951
a4c1d277
YB
19522010-09-21 Yves Blusseau <blusseau@zetam.org>
1953
1954 Keep boot and grub directory names in sync with utils scripts
1955
1956 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
1957 * config.h.in: Add previous macros.
1958 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
1959 * util/grub-install.in: Use $bootdir and $grubdir variables.
1960
4eff79d2
CW
19612010-09-21 Colin Watson <cjwatson@ubuntu.com>
1962
1963 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
1964 convert partition names to disk names if the new `convert' parameter
1965 is set.
1966 (grub_util_biosdisk_get_grub_dev): If opening the disk device
1967 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
1968 disk in its own right. This can happen with Xen disk images.
1969
934d7e44
YB
19702010-09-21 Yves Blusseau <blusseau@zetam.org>
1971
1972 * util/grub-editenv.c: Update strings to avoid warnings when generating
1973 grub.pot file.
1974 * util/grub-setup.c: Likewise.
934d7e44 1975
df3367cc
VS
19762010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * configure.ac: Change version to 1.99~beta0.
1979
77a94e98
VS
19802010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
1983 Add BADRAM.
1984 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
1985 Likewise.
1986 * include/multiboot.h: Resynced with specification.
1987 * include/multiboot2.h: Likewise.
1988
269004c1
CW
19892010-09-21 Colin Watson <cjwatson@ubuntu.com>
1990
1991 Fix po directory handling.
1992
1993 * configure.ac: Create po/Makefile.in rather than po/Makefile.
1994 * grub-core/gnulib/Makefile.am: Import gettext module.
1995 * m4/gnulib-cache.m4: Likewise.
1996 * m4/gnulib-comp.m4: Likewise.
1997 * m4/gettext.m4: New file, from gnulib.
1998 * m4/glibc2.m4: Likewise.
1999 * m4/iconv.m4: Likewise.
2000 * m4/intdiv0.m4: Likewise.
2001 * m4/intl.m4: Likewise.
2002 * m4/intldir.m4: Likewise.
2003 * m4/intlmacosx.m4: Likewise.
2004 * m4/intmax.m4: Likewise.
2005 * m4/inttypes-pri.m4: Likewise.
2006 * m4/lcmessage.m4: Likewise.
2007 * m4/lib-ld.m4: Likewise.
2008 * m4/lib-link.m4: Likewise.
2009 * m4/lib-prefix.m4: Likewise.
2010 * m4/lock.m4: Likewise.
2011 * m4/nls.m4: Likewise.
2012 * m4/po.m4: Likewise.
2013 * m4/printf-posix.m4: Likewise.
2014 * m4/progtest.m4: Likewise.
2015 * m4/threadlib.m4: Likewise.
2016 * m4/uintmax_t.m4: Likewise.
2017 * m4/visibility.m4: Likewise.
2018 * po/Makefile.am: Remove.
2019 * po/Makefile.in.in: New file, from gettext.
2020 ($(DOMAIN).pot-update): Support POTFILES-shell.
2021 * po/Makevars: New file.
2022 * po/POTFILES-shell: Rename to ...
2023 * po/POTFILES-shell.in: ... this. Update.
2024 * po/POTFILES: Rename to ...
2025 * po/POTFILES.in: ... this. Update.
2026 * po/Rules-quot: New file, from gettext.
2027 * po/boldquot.sed: Likewise.
2028 * po/en@boldquot.header: Likewise.
2029 * po/en@quot.header: Likewise.
2030 * po/insert-header.sin: Likewise.
2031 * po/quot.sed: Likewise.
2032 * po/remove-potcdate.sin: Likewise.
2033
3e0fa5d0
VS
20342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
2037
ade9bd66
VS
20382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * util/grub.d/20_linux_xen.in: Use submenus.
2041
fc55cc4c
VS
20422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 Support submenus.
2045
2046 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
2047 parameter submenu. All users updated.
2048 * grub-core/normal/main.c (free_menu): Rename to ...
2049 (grub_normal_free_menu): ... this. Made global.
2050 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
2051 if requested.
2052 * grub-core/normal/menu_entry.c (screen): New field submenu.
2053 (make_screen): Set submenu.
2054 (run): Open new context if requested.
2055 * include/grub/menu.h (grub_menu_entry): New field submenu.
2056 * include/grub/normal.h (grub_normal_free_menu): New proto.
2057
600cedf7
VS
20582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 Menu entries extractor.
2061
2062 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
2063 variants.
2064 (GRUB_MOD_INIT): Register new variants.
2065 (GRUB_MOD_FINI): Unregister new variants.
2066 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
2067 into grub_cmd_legacy_source.
2068 (grub_cmd_legacy_source): Implement extractor variants.
2069 (GRUB_MOD_INIT): Register new variants.
2070 (GRUB_MOD_FINI): Unregister new variants.
2071 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
2072 as an extractor.
2073 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
2074 search as an extractor.
2075 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
2076 test as an extractor.
2077 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
2078 as an extractor.
2079 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
2080 (grub_env_new_context): New function.
2081 (grub_env_context_open): Likewise.
2082 (grub_env_extractor_open): Likewise.
2083 (grub_env_extractor_close): Likewise.
2084 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2085 grub_extractor_level.
2086 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
2087 * include/grub/env.h (grub_env_extractor_open): New proto.
2088 (grub_env_extractor_close): Likewise.
2089 * include/grub/normal.h (grub_extractor_level): New external variable.
2090
7bda3a87
VS
20912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 Make cutmem accept a region specification.
2094 Suggested by: Samuel Thibault
2095
2096 * grub-core/mmap/mmap.c (parsemem): New function.
2097 (grub_cmd_cutmem): Handle new arguments.
2098
2ea57f88
VS
20992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 New command cutmem.
2102
2103 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
2104 (GRUB_MOD_INIT): Register new command.
2105 (GRUB_MOD_FINI): Unregister new command.
2106
74342e31
VS
21072010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 Support some annoying BSD and Minix subpartitions.
2110
2111 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
2112 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2113 Properly handle concatenation.
2114 * grub-core/kern/device.c (grub_device_iterate): Likewise.
2115 * grub-core/normal/completion.c (iterate_partition): Likewise.
2116 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
2117 contain partition. All users updated.
2118 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
2119 struct.
2120 (grub_openbsdlabel_partition_map): Likewise.
2121 (bsdlabel_partition_map_iterate): Rename to ..
2122 (iterate_real): ... this. New arguments sector, freebsd and pmap.
2123 (bsdlabel_partition_map_iterate): New function.
2124 (netopenbsdlabel_partition_map_iterate): Likewise.
2125 (netbsdlabel_partition_map_iterate): Likewise.
2126 (openbsdlabel_partition_map_iterate): Likewise.
2127 (GRUB_MOD_INIT): Register new partmaps.
2128 (GRUB_MOD_FINI): Unregister new partmaps.
2129 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
2130 (grub_partition_msdos_iterate): ... this. All users updated.
2131 Don't support embedding other than in a minix partition.
2132 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
2133 proto.
2134 * include/grub/partition.h (grub_partition): New field msdostype.
2135 * util/grub-install.in: Handle openbsd and netbsd types being in
2136 part_bsd module.
2137
1e8d555b
VS
21382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
2141
2142 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
2143 * grub-core/Makefile.core.def (mdraid): Renamed to ...
2144 (mdraid09): ... this.
2145 (mdraid1x): New module.
2146 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
2147 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
2148
899d8af4
VS
21492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
2152 vsprintf.
2153
40901acd
CW
21542010-09-20 Colin Watson <cjwatson@ubuntu.com>
2155
2156 * grub-core/commands/efi/lsefimmap.c: Correct header.
2157 * NEWS: Update.
2158
dfe3b247
CW
21592010-09-20 Colin Watson <cjwatson@ubuntu.com>
2160
2161 * util/grub-editenv.c (argp_parser): Don't pass translated strings
2162 as printf format strings; the translations might contain '%' which
2163 could cause a crash.
2164 (main): Likewise.
2165 * util/grub-fstest.c (argp_parser): Likewise.
2166 * util/grub-setup.c (argp_parser): Likewise.
2167 (main): Likewise.
2168
3286a4b4
VS
21692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 Use argp in grub-fstest.
2172
2173 * util/grub-fstest.c: Don't include getopt.h.
2174 Include argp.h.
2175 (root): New variable.
2176 (args_count): Likewise.
2177 (nparm): Likewise.
2178 (num_disks): Likewise.
2179 (images): Likewise.
2180 (cmd): Likewise.
2181 (debug_str): Likewise.
2182 (args): Likewise.
2183 (options): Transformed to argp.
2184 (usage): Removed.
2185 (main): Split argument parsing into ...
2186 (argp_parser): ... this. Changed to argp format.
2187 (argp): New variable.
2188 (main): Use argp_parse.
2189
3dccbe4b
TG
21902010-09-20 Tristan Gingold <gingold@free.fr>
21912010-09-20 Robert Millan <rmh.grub@aybabtu.com>
21922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * grub-core/commands/efi/lsefimmap.c: New file.
2195 * grub-core/Makefile.core.def (lsefimmap): New module.
2196 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
2197
38c259a7
VS
21982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 Pause the execution (10s max) if any errors are displayed so the user
2201 has a chance to see them.
2202
2203 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
2204 (grub_print_error): Increment grub_err_printed_errors.
2205 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
2206 execution if any errors were displayed.
2207 (show_menu): Remove old code for pause.
2208 * grub-core/normal/menu_entry.c (run): Likewise.
2209 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
2210 users updated.
2211 (grub_normal_get_char_counter): Likewise.
2212 * include/grub/err.h (grub_err_printed_errors): New external variable.
2213 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
2214
f218b09c
VS
22152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 Support multiboot VBE info.
2218
2219 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2220 Take VBE info into account.
2221 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
2222 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2223 Call fill_vbe_info when appropriate.
2224 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
2225 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
2226 as supported.
2227 (grub_multiboot_get_mbi_size): Take new tags into account.
2228 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
2229 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2230 Call fill_vbe_tag when appropriate.
2231 (grub_multiboot_make_mbi): Properly align tags.
2232 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
2233 function.
2234 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
2235 proto.
2236 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
2237
a9cc5438
VS
22382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 Suport manual terminal geometry specification.
2241
2242 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
2243 Save state in grub_ofconsole_terminfo_output.
2244 (grub_ofconsole_term): Use grub_terminfo_getwh.
2245 (grub_ofconsole_getwh): Removed.
2246 * grub-core/term/serial.c (grub_serial_getwh): Removed.
2247 (grub_serial_term): Use grub_terminfo_getwh.
2248 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
2249 (options): New struct.
2250 (OPTION_*): New enum.
2251 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
2252 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
2253 width and height.
2254 (grub_terminfo_getwh): New proto.
2255 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
2256
1a8fed20
VS
22572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 Handle legacy "terminal" command.
2260
2261 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
2262 and FLAG_TERMINAL.
2263 (legacy_commands): Add terminal and title.
2264 (grub_legacy_parse): Handle terminal. Simplify title handling.
2265
41e9c57d
VS
22662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
2269 parameters overflow.
2270
61c874c5
CW
22712010-09-20 Colin Watson <cjwatson@ubuntu.com>
2272
2273 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
2274 widthspec.h.
2275
2276 * docs/grub.texi (Shell-like scripting): Document `!'.
2277 (Network): Simplify using new i386-pc-pxe format. Mention
2278 grub-mknetdir.
2279
2280 * NEWS: Update.
2281
943682b4
CW
22822010-09-20 Colin Watson <cjwatson@ubuntu.com>
2283
2284 * Makefile.am (SUBDIRS): Restore "."; it's important to force
2285 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
2286 when needed.
2287
6d3d698d
CW
22882010-09-20 Colin Watson <cjwatson@ubuntu.com>
2289
2290 * grub-core/commands/efi/lsefisystab.c: Correct header.
2291 * grub-core/commands/efi/lssal.c: Likewise.
2292 * grub-core/commands/testload.c: Likewise.
2293
c982589f
CW
22942010-09-20 Colin Watson <cjwatson@ubuntu.com>
2295
2296 * util/grub-mkrescue.in: Add explicit root argument to --set to
2297 prevent the UUID being interpreted as an argument to --set (matches
2298 previous change to prepare_grub_to_access_device).
2299
a63c31b6
CW
23002010-09-20 Colin Watson <cjwatson@ubuntu.com>
2301
2302 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
2303 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
2304 the verbosity of later #ifs.
2305 (find_partition_start): Define this function on FreeBSD too.
2306 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
2307 function.
2308 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
2309 on FreeBSD.
2310
6439b8ee
YB
23112010-09-20 Yves Blusseau <blusseau@zetam.org>
2312
2313 * util/grub-editenv.c: Use argp instead of getopt.
2314
c5930ec8
YB
23152010-09-20 Yves Blusseau <blusseau@zetam.org>
2316
2317 * util/grub-setup.c: Use argp instead of getopt.
2318
15c69261
YB
23192010-09-20 Yves Blusseau <blusseau@zetam.org>
2320
2321 Use gnulib-tool to create gnulib source files.
2322
2323 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
2324 grub-core/gnulib directories
2325 * .bzignore: Add **/.deps and autogenerated gnulib files
2326 * configure.ac: Assign auxiliary directory to build-aux, add invocation
2327 of gnulib macros, add grub-core/gnulib/Makefile
2328 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
2329 include m4 directory to aclocal.
2330 * Makefile.util.def: Remove direct compilation of gnulib source files
2331 and use the new grub-core/gnulib/libgnu.a.
2332 * build-aux/config.rpath: move config.rpath from top directory to
2333 build-aux
2334 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
2335 in gnulib headers
2336 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
2337 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
2338 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
2339 header.
2340 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
2341 string.
2342
e511c9f5
YB
23432010-09-20 Yves Blusseau <blusseau@zetam.org>
2344
2345 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
2346 grub-core/genmod.sh and grub-core/gensyminfo.sh
2347
c2dede05
BC
23482010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
2349
2350 Add a test for echo command options.
2351
2352 * tests/grub_cmd_echo.in: New test.
2353 * Makefile.util.def: Rules for new test.
2354
c55f5018
SJ
23552010-09-20 Szymon Janc <szymon@janc.net.pl>
2356
2357 Remove crc.mod and move crc command to hashsum.mod.
2358 Remove lib/crc.c - users updated to use gcrypt implementation.
2359
2360 * grub-core/commands/crc.c: Removed.
2361 * grub-core/Makefile.core.def (crc): Module removed.
2362 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
2363 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
2364 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
2365 * grub-core/lib/crc.c: Removed.
2366 * include/grub/lib/crc.h: Removed.
2367 * Makefile.util.def (crc): Remove lib/crc.c
2368 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
2369 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
2370 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
2371 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
2372 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
2373 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
2374
e0337366
VS
23752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
2378
742f9232
VS
23792010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 Split config.h for util and core.
2382
2383 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
2384 (ADDR32): Likewise.
2385 (DATA32): Likewise.
2386 (BSS_START_SYMBOL): Likewise.
2387 (END_SYMBOL): Likewise.
2388 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
2389 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
2390 * config.h.in: New file.
2391 * configure.ac: Use config-util.h as config define file.
2392 Rename MACHINE into GRUB_MACHINE. All users updated.
2393 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
2394 updated.
2395 (NESTED_FUNC_ATTR): Likewise.
2396 Substitue new variables.
2397 (COND_HAVE_ASM_USCORE): New conditional.
2398 * grub-core/Makefile.am (ASM_PREFIX): New variable.
2399 (kernel_syms.lst): Use ASM_PREFIX.
2400 * grub-core/kern/emu/console.c: Include config-util.h.
2401 * grub-core/kern/emu/misc.c: Likewise.
2402 * grub-core/kern/emu/mm.c: Likewise.
2403 * include/grub/emu/misc.h: Likewise.
2404 * include/grub/libgcc.h: Likewise.
2405
39feb0e8
VS
24062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
2409 constants usage.
2410 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
2411 Fix GRUB_TERM_KEY_* constants usage.
2412 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
2413
9af6dac3
VS
24142010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
2417 print pointer.
2418 * grub-core/bus/usb/uhci.c: Remove empty define.
2419 (grub_uhci_check_transfer): Add missing cast.
2420 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
2421 print pointer.
2422 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
2423 PRIuGRUB_SIZE.
2424 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
2425
d6d94820
VS
24262010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * grub-core/Makefile.core.def (legacycfg): Add
2429 lib/i386/pc/vesa_modes_table.c on emu.
2430
3572f2b6
BC
24312010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2432
2433 Reduce number of temporary files generated by build system.
2434
2435 * grub-core/gencmdlist.sh: Removed.
2436 * grub-core/genfslist.sh: Removed.
2437 * grub-core/genhandlerlist.sh: Removed.
2438 * grub-core/genmodsrc.sh: Removed.
2439 * grub-core/genpartmaplist.sh: Removed.
2440 * grub-core/genparttoollist.sh: Removed.
2441 * grub-core/gentermiinallist.sh: Removed.
2442 * grub-core/genvideolist.sh: Removed.
2443
2444 * grub-core/genmod.sh.in: New file.
2445 * grub-core/gensyminfo.sh.in: New file.
2446
2447 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
2448 * conf/Makefile.extra-dist: Update with new files.
2449 * gentpl.py: Remove rules related to unnecessary temporary files.
2450 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
2451 and und-* files.
2452 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
2453 genmod.sh scripts.
2454 * grub-core/bus/usb/uhci.c: Remove empty #define.
2455 * grub-core/genmoddep.awk: Updated with new syminfo format.
2456 * util/bash-completion.d/Makefile.am: Add config.log to
2457 CLEANFILES.
2458
c836b030
YB
24592010-09-19 Yves Blusseau <blusseau@zetam.org>
2460
2461 * Makefile.util.def: Add forgotten $(LIBINTL) library.
2462
2f4e8053
BC
24632010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2464
2465 * util/grub-mkconfig.in: Check the config script for syntax errors
2466 before saving.
2467
75831c34
CW
24682010-09-19 Colin Watson <cjwatson@ubuntu.com>
24692010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * Makefile.util.def (grub-install): Use util/grub-install.in on all
2472 platforms.
2473 * util/grub-install.in: Add EFI and IEEE1275 support.
2474 * util/i386/efi/grub-install.in: Removed.
2475 * util/ieee1275/grub-install.in: Likewise.
2476
eaf41b25
VS
24772010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
2480 (grub_cmd_cmosclean): Likewise.
2481 (GRUB_MOD_INIT): Register command cmosclean.
2482 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
2483 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
2484
1a9130dd
CPE
24852010-09-18 Carles Pina i Estany <carles@pina.cat>
24862010-09-18 Aleš Nesrsta <starous@volny.cz>
24872010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 Add keyboard layouts support.
2490
2491 * Makefile.util.def (grub-mklayout): New file.
2492 (grub-kbdcomp): New script.
2493 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
2494 Add keyboard_layouts.h.
2495 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
2496 commands/boot.c on yeeloong.
2497 (keylayouts): New module.
2498 * grub-core/bus/usb/ohci.c
2499 * grub-core/bus/usb/uhci.c
2500 * grub-core/bus/usb/usbhub.c (rescan): New variable.
2501 (grub_usb_add_hub): Poll interrupt pipe for device handling.
2502 (attach_root_port): Likewise.
2503 (poll_nonroot_hub): Likewise.
2504 (grub_usb_poll_devices): Likewise.
2505 (detach_device): Close transfer.
2506 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
2507 function.
2508 (grub_usb_bulk_setup_readwrite): Likewise.
2509 (grub_usb_bulk_finish_readwrite): Likewise.
2510 * grub-core/commands/keylayouts.c: New file.
2511 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
2512 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
2513 aliases.
2514 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
2515 support scancode 2.
2516 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
2517 * include/grub/keyboard_layouts.h: New file.
2518 * util/grub-mklayout.c: New file.
2519 * util/grub-kbdcomp.in: Likewise.
2520
a1d84a5e
VS
25212010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 Unify memory types.
2524
2525 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
2526 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
2527 types.
2528 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
2529 (grub_upper_mem): Likewise.
2530 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
2531 * include/grub/memory.h (grub_memory_type_t): New enum.
2532 All users updated.
2533
9696382e
VS
25342010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 * grub-core/Makefile.core.def (lsapm): New module.
2537 * grub-core/commands/i386/pc/lsapm.c: New file.
2538 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
2539 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
2540 Likewise.
2541 * include/grub/i386/pc/apm.h: New file.
2542 * include/multiboot.h (multiboot_apm_info): New struct.
2543
25442010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 GRUB-legacy configuration file support.
2547
2548 * Makefile.util.def (grub-menulst2cfg): New util.
2549 * docs/man/grub-menulst2cfg.h2m: New file.
2550 * grub-core/Makefile.core.def (legacycfg): New module.
2551 * grub-core/commands/legacycfg.c: New file.
2552 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
2553 (grub_normal_add_menu_entry): ... this.
2554 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
2555 (grub_normal_set_password): ...this.
2556 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
2557 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
2558 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
2559 * grub-core/lib/legacy_parse.c: New file.
2560 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
2561 * include/grub/i386/pc/vesa_modes_table.h: New file.
2562 * include/grub/legacy_parse.h: Likewise.
2563 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
2564 * util/grub-menulst2cfg.c: New file.
2565
bf8d1338
CW
25662010-09-17 Colin Watson <cjwatson@ubuntu.com>
2567
2568 * grub-core/kern/emu/hostdisk.c
2569 (convert_system_partition_to_system_disk): Initialise node.
2570
9c0bad2e
CW
25712010-09-17 Colin Watson <cjwatson@ubuntu.com>
2572
2573 * grub-core/kern/emu/hostdisk.c
2574 (convert_system_partition_to_system_disk): Fix devmapper memory pool
2575 leak.
2576 Reported and based on patch by: Modestas Vainius.
2577
a939d135
CW
25782010-09-17 Colin Watson <cjwatson@ubuntu.com>
2579
2580 Fix DM-RAID probing with recent versions of device-mapper udev
2581 rules.
2582
2583 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
2584 canonicalise device paths under /dev/mapper/.
2585 (convert_system_partition_to_system_disk): Compare the
2586 uncanonicalised path to /dev/mapper/ rather than the canonicalised
2587 path, since device nodes under /dev/mapper/ are often symlinks.
2588
0f7ee3c9
YB
25892010-09-17 Yves Blusseau <blusseau@zetam.org>
2590
2591 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
2592
10854d0d
YB
25932010-09-16 Yves Blusseau <blusseau@zetam.org>
2594
2595 * configure.ac: Avoid some annoying error messages if freetype-config
2596 program is not found.
2597
108538d8
CW
25982010-09-16 Colin Watson <cjwatson@ubuntu.com>
2599
2600 Support RAID on virtio devices, and others.
2601
2602 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
2603 Rename to ...
2604 [__MINGW32__] (grub_find_device): ... this.
2605 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
2606 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
2607 reasonable default if dir is NULL.
2608 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
2609 ...
2610 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
2611 (grub_guess_root_device): Update callers.
2612 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
2613
2614 * util/raid.c (grub_util_getdiskname): Remove.
2615 (grub_util_raid_getmembers): Use grub_find_device rather than
2616 grub_util_getdiskname.
2617
e5bfc130
CW
26182010-09-16 Colin Watson <cjwatson@ubuntu.com>
2619
2620 * docs/grub.texi (serial): Remove obsolete comment about GRUB
2621 needing to be compiled with serial support.
2622 (ls): Indicate that multiple files are accepted.
2623 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
2624 indicate that multiple files are accepted.
2625
be458ae2
CW
26262010-09-16 Colin Watson <cjwatson@ubuntu.com>
2627
2628 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
2629 libgrub_a_init.c, and util/bash-completion.d/grub.
2630
cb731b5e
VS
26312010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * util/grub-setup.c (setup): Fix incorrect container semantics.
2634
35139e8a
VS
26352010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
2638 misusage.
2639 Reported by: J. Nick Terry
2640
e50fca4a
VS
26412010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 Move embedding routines to partmap sources files.
2644
2645 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
2646 [GRUB_UTIL]: New variable.
2647 (gpt_partition_map_iterate): Set part.parent.
2648 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
2649 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
2650 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
2651 New function.
2652 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
2653 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
2654 (grub_partition_map) [GRUB_UTIL]: New field embed.
2655 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
2656 (setup): Use ->embed.
2657
f00478b7
VS
26582010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2659
2660 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
2661 function.
2662 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
2663 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
2664
2b94e3ff
YB
26652010-09-15 Yves Blusseau <blusseau@zetam.org>
2666
2667 Add function to get completions from usage.
2668
2669 * util/bash-completion.d/grub-completion.bash.in: Add function to get
2670 completions from usage. Use LC_ALL=C to get options properly.
2671
2e04a006
VS
26722010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * grub-core/gnulib/basename-lgpl.c: Imported.
2675 * grub-core/gnulib/basename.c: Likewise.
2676 * grub-core/gnulib/dirname-lgpl.c: Likewise.
2677 * grub-core/gnulib/dirname.c: Likewise.
2678 * grub-core/gnulib/dirname.h: Likewise.
2679 * grub-core/gnulib/stripslash.c: Likewise.
2680
5dcdf93a
VS
26812010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/gnulib/error.c: Resynced.
2684 * grub-core/gnulib/getopt.c: Likewise.
2685 * grub-core/gnulib/getopt_int.h: Likewise.
2686 * grub-core/gnulib/regex.h: Likewise.
2687 * grub-core/gnulib/regex_internal.c: Likewise.
2688 * grub-core/gnulib/regex_internal.h: Likewise.
2689
014f47b7
SJ
26902010-09-15 Szymon Janc <szymon@janc.net.pl>
2691
2692 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
2693 CRC calculations and validity checks.
2694 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
2695 calculations.
2696
dd521a4a
SJ
26972010-09-15 Szymon Janc <szymon@janc.net.pl>
2698
2699 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
2700
79c4eeb9
VS
27012010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 Fix incorrect echo options handling.
2704 Reported by: Yves Blusseau.
2705
2706 * include/grub/command.h (grub_command_flags_t): New flags
2707 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
2708 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
2709 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
2710
ed80f7d5
VS
27112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2712
2713 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
2714 users updated.
2715 (GRUB_COMMAND_FLAG_MENU): Likewise.
2716 (GRUB_COMMAND_FLAG_BOTH): Likewise.
2717 (GRUB_COMMAND_FLAG_TITLE): Removed.
2718 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
2719 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
2720 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
2721 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
2722 (grub_command_flags_t): New enum. All users updated.
2723
5fe7620a
SG
27242010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
2725
2726 Fix solaris compilation.
2727
2728 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
2729 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
2730 (grub-emu-list): Likewise.
2731
545b752f
VS
27322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 Remove deprecated root command.
2735
2736 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
2737 updated.
2738
6c1a338c
VS
27392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 * util/i386/pc/grub-setup.c: Merge this ...
2742 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
2743 * util/grub-setup.c: ... into this.
2744 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
2745 New struct.
2746
27472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
2750 possible.
2751
d2ea4551
VS
27522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
2755 allocate p.
2756
3c3b5040
VS
27572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2760 explicit root argument to set to prevent UUID to be interpreted as
2761 argument to set.
2762
b71c3fae
VS
27632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
2766
275433e6
VS
27672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 Don't export grub_gate_a20.
2770
2771 * grub-core/kern/i386/pc/init.c: Remove leftovers.
2772 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
2773 to ...
2774 (grub_gate_a20): ... this. All users updated.
2775 * include/grub/i386/pc/init.h: Removed. All users updated.
2776
a5dbb1f1
VS
27772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 Create euro.pf2 which supports most European languages.
2780
2781 * Makefile.am (grubdata_DATA): Add euro.pf2.
2782 (euro.pf2): New target.
2783 (CLEANFILES): Add euro.pf2.
2784
62a747cb
VS
27852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 * configure.ac: Disable emu-usb by default to prevent inadvertent
2788 device takeover.
2789
608e43b1
VS
27902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 Disable usbserial on grub-emu since our libusb code isn't good enough
2793 yet.
2794
2795 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
2796 (usbserial_pl2303): Likewise.
2797 (usbserial_ftdi): Likewise.
2798
94564f81
VS
27992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * include/grub/disk.h (grub_disk): Remove has_partitions.
2802 All users updated.
2803 * disk/loopback.c (grub_loopback): Remove has_partitions.
2804 All users updated.
2805 (options): Remove partitions. All users updated.
2806 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
2807 * util/i386/pc/grub-setup.c (setup): copy partition table only when
2808 actual partition table is found.
2809
3352800b
VS
28102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 Remove readability checks (too many false negatives).
2813
2814 * util/grub-install.in: Remove readability checks.
2815 * util/grub-mkconfig.in: Likewise.
2816 * util/grub.d/10_hurd.in: Likewise.
2817 * util/grub.d/10_kfreebsd.in: Likewise.
2818 * util/grub.d/10_linux.in: Likewise.
2819 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
2820 way.
2821
2419f17a
VS
28222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 Enable acpi shutdown on all ACPI platforms.
2825
2826 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
2827 on coreboo, multiboot and EFI.
2828 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
2829 (grub_acpi_halt): Likewise.
2830 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
2831 (grub_cmd_halt): Don't call grub_acpi_halt directly.
2832 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
2833 * grub-core/lib/i386/halt.c (grub_halt)
2834 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
2835
0575c7c3
VS
28362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
2839 context.
2840
54ac3cd1
VS
28412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/video/efi_gop.c: Fix over-80-chars line.
2844 * grub-core/video/efi_uga.c: Likewise.
2845
b2a30ac5
VS
28462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 Filter devaliases and never open same device twice.
2849
2850 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
2851 (last_ihandle): Likewise.
2852 (ofdisk_hash_ent): New member shortest.
2853 (ofdisk_hash_add): Add canonical path too.
2854 (scan): New function.
2855 (grub_ofdisk_iterate): Iterate over hashed entries.
2856 (compute_dev_path): Don't add :0.
2857 (grub_ofdisk_open): Don't really open the disk.
2858 (grub_ofdisk_close): Avoid closing unrelated disk.
2859 (grub_ofdisk_read): Implement reopen logic.
2860 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
2861 New function.
2862 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
2863 New proto.
2864
fb53b340
VS
28652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 Fix sparc64.
2868
2869 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
2870 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
2871 right address. Add sparc64_ieee1275_ldflags.
2872 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
2873 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
2874 to grub_host_to_target_addr
2875 (load_image): Likewise.
2876
f452b040
VS
28772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * grub-core/normal/completion.c (complete_file): Handle device
2880 containing slash.
2881 Fix based on patch by Doug Nazar.
2882
9b5b2541
VS
28832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 grub-mknetdir script.
2886
2887 * Makefile.util.def (grub-mknetdir): New module.
2888 * tests/util/grub-shell.in: Support boot=net
2889 * util/grub-mknetdir.in: New file.
2890
9d2be652
VS
28912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 videoinfo on non-vbe.
2894
2895 * grub-core/Makefile.core.def (vbeinfo): Removed.
2896 (vbetest): Removed.
2897 (videoinfo): New module.
2898 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
2899 * grub-core/commands/i386/pc/vbetest.c: Removed.
2900 * grub-core/commands/videoinfo.c: New file.
2901 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
2902 specification.
2903 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
2904 as vbetest.
2905 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
2906 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
2907 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
2908 mode_number. New parameter mode. All users updated.
2909 (grub_video_gop_iterate): New function.
2910 (grub_video_efi_gop): New member iterate.
2911 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
2912 (grub_vbe_set_video_mode): Remove setting useless fields.
2913 (vbe2videoinfo): New function.
2914 (grub_video_vbe_iterate): Likewise.
2915 (grub_video_vbe_setup): Use vbe2videoinfo.
2916 (grub_video_vbe_print_adapter_specific_info): New function.
2917 (grub_video_vbe_adapter): New fields iterate and
2918 print_adapter_specific_info.
2919 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
2920 All users updated.
2921 (grub_video_mode_info): New field mode_number.
2922 (grub_video_adapter): New fields iterate and
2923 print_adapter_specific_info.
2924
179503f5
TG
29252010-09-13 Tristan Gingold <gingold@free.fr>
29262010-09-13 Robert Millan <rmh.grub@aybabtu.com>
29272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * grub-core/commands/efi/lsefisystab.c: New file.
2930 * grub-core/commands/efi/lssal.c: Likewise.
2931 * grub-core/Makefile.core.def (lsacpi): New module.
2932 (lsefisystab): Likewise.
2933 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
2934 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
2935 (grub_efi_sal_system_table): New struct.
2936 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
2937 (grub_efi_sal_system_table_memory_descriptor): Likewise.
2938 (grub_efi_sal_system_table_platform_features): Likewise.
2939 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
2940 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
2941 (grub_efi_sal_system_table_ap_wakeup): Likewise.
2942 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
2943
cf9827de
VS
29442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 Support explicit user claim that a device is BIOS-visible.
2947
2948 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
2949 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
2950 * grub-core/kern/emu/hostdisk.c
2951 (convert_system_partition_to_system_disk): Support mdX.
2952 (find_system_device): New parameter add. All users updated.
2953 (grub_util_biosdisk_is_present): New function.
2954 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
2955 proto.
2956
53f0eb1f
VS
29572010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 Search hints support.
2960
2961 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
2962 All users updated.
2963
b23ffd70
YB
29642010-09-13 Yves Blusseau <blusseau@zetam.org>
2965
2966 Bash completion script for util commands
2967
2968 * Makefile.am: Add util/bash-completion.d directory
2969 * configure.ac: Likewise.
2970 * util/bash-completion.d/Makefile.am: New file.
2971 * util/bash-completion.d/grub-completion.bash.in: Likewise.
2972
d547dc28
VS
29732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
2976 (print_backlog): set backlog_ucs4 and backlog_glyphs.
2977 Reported by: Yves Blusseau.
2978
2fc8ccb9
VS
29792010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
2982 partition size and offset.
2983
d8a84076
VS
29842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
2987
84fb3b3d
VS
29882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
2991
768ec2e2
VS
29922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
2995 (grub_xvasprintf): Likewise.
2996
4870900f
VS
29972010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
3000
faca6bec
VS
30012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
3004 args ending with NULL.
3005
30062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
3007
3008 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
3009 pointer.
3010
3c70f225
SJ
30112010-09-11 Szymon Janc <szymon@janc.net.pl>
3012
3013 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
3014
4df7996d
VS
30152010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 Shutdown using ACPI.
3018
3019 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
3020 * grub-core/commands/acpihalt.c: New file.
3021 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
3022 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
3023 (grub_acpi_halt): New proto.
3024 (GRUB_ACPI_SLP_EN): New const.
3025 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
3026 (GRUB_ACPI_OPCODE_*): New enum.
3027 (GRUB_ACPI_EXTOPCODE_*): Likewise.
3028
126b4c32
TG
30292010-09-11 Tristan Gingold <gingold@free.fr>
30302010-09-11 Robert Millan <rmh.grub@aybabtu.com>
30312010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * commands/lsacpi.c: New file.
3034 * grub-core/Makefile.core.def (lsacpi): New module.
3035 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
3036 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
3037 (grub_acpi_madt_entry_header): New struct.
3038 (grub_acpi_madt): Likewise.
3039 (grub_acpi_madt_entry_interrupt_override): Likewise.
3040 (grub_acpi_madt_entry_sapic): Likewise.
3041 (grub_acpi_madt_entry_lsapic): Likewise.
3042 (grub_acpi_madt_entry_platform_int_source): Likewise.
3043 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
3044 (PRIuGRUB_UINT32_T): Likewise.
3045 (PRIxGRUB_UINT64_T): Likewise.
3046
1aa4fe88
VS
30472010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 Implement loading palette on ieee1275_fb.
3050
3051 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
3052 (have_setcolors): Likewise.
3053 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
3054 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
3055 (grub_video_ieee1275_set_palette): Implement.
3056
25761e13
VS
30572010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
30582010-09-11 Colin Watson <cjwatson@ubuntu.com>
3059
3060 * util/grub-install.in (grub_partition): New variable.
3061 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
3062 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
3063 Fixes a bug reported by Yves Blusseau.
3064
050abaea
VS
30652010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 Fix emu on mipsel.
3068
3069 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
3070 =grub_cpu_flush_cache on all mips and not only yeeloong.
3071 * configure.ac (COND_mips): New conditional.
3072 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
3073 platforms.
3074 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
3075 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
3076 [GRUB_LINKER_HAVE_INIT]: New function.
3077 (grub_emu_post_init): Likewise.
3078 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
3079 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
3080 * include/grub/cache.h (_mips): Include mips/cache.h.
3081 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
3082 LVM and RAID prototypes.
3083 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
3084 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
3085 function.
3086
5ed7d816
CW
30872010-09-10 Colin Watson <cjwatson@ubuntu.com>
3088
3089 * util/grub-install.in: Don't try to verify core.img until after
3090 running grub-mkimage to create it.
3091
90367e04
RM
30922010-09-10 Robert Millan <rmh@gnu.org>
3093
3094 * util/grub.d/10_hurd.in: Add misc readability checks.
3095 * util/grub.d/10_kfreebsd.in: Likewise.
3096 * util/grub.d/10_linux.in: Likewise.
3097
c452fa66
CW
30982010-09-10 Colin Watson <cjwatson@ubuntu.com>
3099
3100 * util/grub-install.in: ${imgext} won't be defined here until the
3101 install branch is merged. For the meantime, only verify core.img on
3102 i386-pc and sparc64-ieee1275 platforms.
3103
c38fe9f4
RM
31042010-09-10 Robert Millan <rmh@gnu.org>
3105
3106 Solaris support in grub_find_zpool_from_dir(). Thanks
3107 Seth Goldberg for referring to getextmntent() facility.
3108
3109 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
3110 `sys/mkdev.h'.
3111 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
3112 `<sys/mnttab.h>'.
3113 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
3114 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
3115 method for finding zpool name.
3116
905f7773
CW
31172010-09-10 Colin Watson <cjwatson@ubuntu.com>
3118
3119 grub-fstest needs the host and hostfs modules while other utilities
3120 actively require those modules to be absent, so grub-fstest needs
3121 its own initialisation and finalisation code.
3122
3123 * Makefile.am (grub_fstest.pp): New target.
3124 (grub_fstest_init.lst): Likewise.
3125 (grub_fstest_init.c): Likewise.
3126 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
3127
fb90b546
RM
31282010-09-10 Robert Millan <rmh@gnu.org>
3129
3130 * configure.ac: Check for `struct statfs.f_fstypename' and
3131 `struct statfs.f_mntfromname'.
3132
3133 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
3134 kFreeBSD-specific code.
3135
66d4bea5
RM
31362010-09-10 Robert Millan <rmh@gnu.org>
3137
3138 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
3139 on ZFS. Now non-main filesystems are supported as / too.
3140
b6a690ee
CW
31412010-09-09 Colin Watson <cjwatson@ubuntu.com>
3142
3143 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
3144 and grub-core/disk/host.c to ...
3145 (grub-fstest): ... here. Having the host disk implementation
3146 present confuses grub-probe and other utility programs.
3147
3148 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
3149 when writing to a file, not when writing to stdout.
3150
8901b00c 31512010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
3152
3153 * tests/partmap_test.in: New test for partitions.
3154 * Makefile.util.def: Rules for new test.
3155
7bf45fdd
RM
31562010-09-09 Robert Millan <rmh@gnu.org>
3157
3158 * util/grub-probe.c (probe): Fix a pair of unhandled error
3159 conditions.
3160
4dfbc574
RM
31612010-09-09 Robert Millan <rmh@gnu.org>
3162
3163 Basic Btrfs support (detection and UUID).
3164
3165 * grub-core/fs/btrfs.c: New file.
3166 * Makefile.util.def (library): Register btrfs.c.
3167 * grub-core/Makefile.core.def: Likewise.
3168
6b8e78ae
RM
31692010-09-08 Robert Millan <rmh@gnu.org>
3170
3171 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
3172 with (optional) parameters to specify device and relative path.
3173 * util/grub-install.in: Use is_path_readable_by_grub() to
3174 verify readability of a few critical files.
3175 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
3176 verify readability of grub.cfg.new.
3177
27f21a8b
VS
31782010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 Split minix.mod into minix.mod and minix2.mod.
3181
3182 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
3183 * grub-core/Makefile.core.def (minix2): New module.
3184 * grub-core/fs/minix.c: Use definitions instead of runtime version
3185 checking.
3186 * grub-core/fs/minix2.c: New file.
3187
c0e53ea5
YB
31882010-09-08 Yves Blusseau <blusseau@zetam.org>
3189
3190 Add new --boot-directory option to replace --root-directory
3191
3192 * util/grub-install.in: Add new --boot-directory option
3193 * util/grub-reboot.in: Likewise.
3194 * util/grub-set-default.in: Likewise.
3195
b9fe6ea2
YB
31962010-09-08 Yves Blusseau <blusseau@zetam.org>
3197
3198 * util/grub-mkconfig.in: Use new variable.
3199
d87aedff
YB
32002010-09-08 Yves Blusseau <blusseau@zetam.org>
3201
3202 * configure.ac: Define some useful variables.
3203
e55e8495
VS
32042010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3207 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
3208 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
3209 Use terminfo and don't use cursor-on/cursor-off unless it's known
3210 to work.
3211 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
3212 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
3213
6fa6d675
CW
32142010-09-08 Colin Watson <cjwatson@ubuntu.com>
3215
3216 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
3217 starts with "(,", fill the drive containing the loaded image in
3218 between those two characters, but expect that a full partition
3219 specification including partition map names will follow.
3220
92f2aef0
RM
32212010-09-08 Robert Millan <rmh@gnu.org>
3222
3223 * configure.ac: Remove `--enable-grub-fstest' option.
3224 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
3225
3226 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
3227 `grub-fstest' instead of `grub-probe' for readability verification.
3228 * util/grub-probe.c (probe): Remove readability verification kludge.
3229
99fd620d
RM
32302010-09-08 Robert Millan <rmh@gnu.org>
3231
3232 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
3233 initializing `GRUB_FS'.
3234
058e30ac 32352010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
3236
3237 Not command (!) support to GRUB script.
3238
3239 * tests/grub_script_not.in: New test.
3240 * Makefile.util.def: Rules for new test.
3241
3242 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3243 ! command as a special case.
3244 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
3245
b61d05ed 32462010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3247
058e30ac 3248 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
3249 grub_free.
b61d05ed 3250
4d69c786 32512010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3252
3253 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
3254
aa3119c4 32552010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3256
3257 * docs/grub.texi (Shell-like scripting): Documentation for break,
3258 continue, shift and return commands.
3259
db0f7e3d
VS
32602010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
3261
3262 Rename CD-ROM to cd on BIOS.
3263
3264 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
3265 "cd".
3266 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
3267
88b87c93
VS
32682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
3271 * util/grub-probe.c (main): Likewise.
3272 * util/i386/pc/grub-setup.c (main): Likewise.
3273 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
3274 Reported and debugged by: alexxy
3275
294f324d
VS
32762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
3279 diagnostic info.
3280
d7ee3441
JS
32812010-09-05 Jo Shields <directhex@apebox.org>
3282
3283 * util/grub.d/30_os-prober.in: Add missing classes.
3284
d7e06c1f
VS
32852010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * docs/grub.texi (Theme file format): Document new position format.
3288
fc157e53
VS
32892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
3292 a table. Use @code instead of @verbatim.
3293
506e9a1c
CB
32942010-09-05 Colin D Bennett <colin@gibibit.com>
3295
3296 Gfxmenu documentation.
3297
3298 * docs/grub.texi (Theme file format): New chapter.
3299
f0aff67c
SJ
33002010-09-05 Szymon Janc <szymon@janc.net.pl>
3301
3302 * grub-core/Makefile.core.def (xzio): New module.
3303 * grub-core/io/xzio.c: New file.
3304 * grub-core/lib/xzembed/xz.h: New file (from xembed).
3305 * grub-core/lib/xzembed/xz_config.h: Likewise.
3306 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
3307 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
3308 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
3309 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
3310 * grub-core/lib/xzembed/xz_private.h: Likewise.
3311 * grub-core/lib/xzembed/xz_stream.h: Likewise.
3312 * include/grub/file.h (grub_file_filter_id): New compression filter
3313 GRUB_FILE_FILTER_XZIO.
3314
82a85062
VS
33152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
3318 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
3319 size.
3320
3579415d
VS
33212010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
3324 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
3325
5124ae6d
VS
33262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 Uncompressed checksum support.
3329
3330 * grub-core/commands/hashsum.c (options): Add option --uncompress.
3331 (check_list): New parameter uncompress.
3332 (grub_cmd_hashsum): Handle --uncompress.
3333
9aadb3d1
VS
33342010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 Reintroduce testload.
3337
3338 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
3339 from here ...
3340 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
3341 (GRUB_MOD_INIT): New function.
3342 (GRUB_MOD_FINI): Likewise.
3343 * grub-core/Makefile.core.def (testload): New module.
3344
a17792c3
SJ
33452010-09-05 Szymon Janc <szymon@janc.net.pl>
3346
3347 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
3348 (uint8_t): New type.
3349 (uint16_t): Likewise.
3350 (uint32_t): Likewise.
3351 (uint64_t): Likewise.
3352
b81e40a3
SJ
33532010-09-05 Szymon Janc <szymon@janc.net.pl>
3354
3355 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
3356
fc2ef117
VS
33572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
3360 Made static.
3361 (grub_gzfile_open): Removed. All users updated.
3362 (GRUB_MOD_INIT): New function.
3363 (GRUB_MOD_FINI): Likewise.
3364 * grub-core/kern/file.c (grub_file_filters_all): New variable.
3365 (grub_file_filters_enabled): Likewise.
3366 (grub_file_open): Handle filters.
3367 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
3368 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
3369 * include/grub/file.h (grub_file_filter_id_t): New type.
3370 (grub_file_filter_t): Likewise.
3371 (grub_file_filters_all): New extern variable.
3372 (grub_file_filters_enabled): Likewise.
3373 (grub_file_filter_register): New inline function.
3374 (grub_file_filter_unregister): Likewise.
3375 (grub_file_filter_disable): Likewise.
3376 (grub_file_filter_disable_compression): Likewise.
3377 * include/grub/gzio.h: Removed.
3378
35ee15e0
BC
33792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3380
3381 Filename expansion support for wildcards in GRUB script.
3382
3383 * tests/grub_script_expansion.in: New test.
3384 * Makefile.util.def: Rule for new test.
3385
3386 * grub-core/commands/wildcard.c: New file, implements filename
3387 expansion support for GRUB script.
3388 * grub-core/Makefile.core.def: Rule update for regexp.mod.
3389 * grub-core/script/argv.c: Cosmetic changes.
3390 * grub-core/script/execute.c (grub_script_arglist_to_argv):
3391 Refactored to perform wildcard expansion on arguments.
3392 * include/grub/script_sh.h (grub_script_wildcard_translator): New
3393 struct.
3394
3395 * tests/util/grub-shell.in: Fix quoting for read input.
3396
5f0c4aca
BC
33972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3398
3399 Support for updating environment variables with matched substrings
3400 of regexp.
3401
3402 * tests/grub_cmd_regexp.in: New test.
3403 * Makefile.util.def: Rule for new test.
3404
3405 * grub-core/commands/regexp.c: New option -s to update environment
3406 variables with regexp matches.
3407
3759a35f
SJ
34082010-09-04 Szymon Janc <szymon@janc.net.pl>
3409
3410 * include/grub/file.h (grub_file): New member not_easly_seekable.
3411 (grub_file_seekable): New inline function.
3412 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
3413 easily seekable.
3414 (grub_gzio_open): Set not_easly_seekable.
3415 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
3416 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
3417
ed8c6dec
BC
34182010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3419
3420 Support for options to appear multiple times on cmdline.
3421
3422 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
3423 * grub-core/commands/extcmd.c: Support for repeatable option.
3424 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
3425 repeatable option support.
3426
3427 Refactor menuentry into a regular command.
3428
3429 * grub-core/commands/menuentry.c: New file, menuentry command
3430 implementation.
3431 * grub-core/Makefile.core.def: Rule update for normal.mod.
3432 * grub-core/normal/main.c: Moved menuentry creation to
3433 grub-core/commands/menuentry.c.
3434 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
3435 (grub_menu_execute_entry_real): Removed.
3436 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
3437 function.
3438 (grub_script_execute_menuentry): Removed.
3439 * grub-core/script/parser.y (menuentry): Removed.
3440 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
3441 * grub-core/script/yylex.l (menuentry): Removed.
3442 * include/grub/menu.h (grub_menu_init): New prototype.
3443 (grub_menu_fini): New prototype.
3444 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
3445 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
3446 (grub_script_execute_sourcecode): New prototype.
3447
dacd0cf0
BC
34482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3449
3450 "return" command for GRUB script functions.
3451
3452 * tests/grub_script_return.in: New test.
3453 * Makefile.util.def: Rules for new test.
3454
3455 * grub-core/script/execute.c (grub_script_return): New function.
3456 * grub-core/script/main.c: Register/unregister return commaond.
3457 * include/grub/script_sh.h (grub_script_return): New prototype.
3458
52e72f9d
BC
34592010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3460
3461 "setparams" command to update positional parameters.
3462
3463 * tests/grub_script_setparams.in: New test.
3464 * Makefile.util.def: Rules for new test.
3465
3466 * grub-core/script/argv.c (grub_script_argv_make): New function.
3467 * grub-core/script/execute.c (replace_scope): New function.
3468 (grub_script_setparams): New function.
3469 * grub-core/script/lexer.c: Remove unused variables.
3470 * grub-core/script/main.c: Register/unregister setparams command.
3471 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
3472 (grub_script_setparams): New prototype.
3473
25b60c91
BC
34742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3475
3476 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
3477 grub_free order.
3478
37e7bf68
BC
34792010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3480
3481 Support for passing block of commands as an argument to extcmds.
3482
3483 * Makefile.util.def: Rules for new test.
3484 * tests/grub_script_blockarg.in: New test.
3485 * grub-core/tests/test_blockarg.c: New file, block argument
3486 command used in the test.
3487
3488 * include/grub/extcmd.h (grub_extcmd_context): New struct.
3489 (grub_register_extcmd_prio): New function prototype.
3490 (grub_extcmd_dispatcher): New function prototype.
3491 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
3492 type.
3493 * include/grub/script_sh.h (struct grub_script): New members
3494 `children', `next_siblings' and `refcnt' for block arguments and
3495 reference counting.
3496 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
3497 (grub_script_arg): New member `script' for block argument.
3498 (grub_script_argv): New member `script' for block argument.
3499 (grub_parser_param): New member `scripts' for block argument.
3500 (grub_script_mem_free): New extern function prototype.
3501 (grub_script_ref): New function prototype.
3502 (grub_script_unref): New function prototype.
3503
3504 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
3505 extcmd form to support block arguments.
3506 * grub-core/script/argv.c: Block arguments support.
3507 * grub-core/script/execute.c: Likewise.
3508 * grub-core/script/lexer.c: Likewise.
3509 * grub-core/script/main.c: Likewise.
3510 * grub-core/script/script.c: Likewise.
3511 * grub-core/script/parser.y: Likewise. New `block' and `block0'
3512 non-terminals.
3513
3514 * grub-core/commands/acpi.c: Update extcmd implementations with
3515 grub_extcmd_context_t.
3516 * grub-core/commands/cat.c: Likewise.
3517 * grub-core/commands/echo.c: Likewise.
3518 * grub-core/commands/extcmd.c: Likewise.
3519 * grub-core/commands/hashsum.c: Likewise.
3520 * grub-core/commands/hdparm.c: Likewise.
3521 * grub-core/commands/help.c: Likewise.
3522 * grub-core/commands/hexdump.c: Likewise.
3523 * grub-core/commands/i386/cpuid.c: Likewise.
3524 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3525 * grub-core/commands/i386/pc/halt.c: Likewise.
3526 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3527 * grub-core/commands/iorw.c: Likewise.
3528 * grub-core/commands/keystatus.c: Likewise.
3529 * grub-core/commands/loadenv.c: Likewise.
3530 * grub-core/commands/ls.c: Likewise.
3531 * grub-core/commands/lspci.c: Likewise.
3532 * grub-core/commands/memrw.c: Likewise.
3533 * grub-core/commands/probe.c: Likewise.
3534 * grub-core/commands/search_wrap.c: Likewise.
3535 * grub-core/commands/setpci.c: Likewise.
3536 * grub-core/commands/sleep.c: Likewise.
3537 * grub-core/disk/loopback.c: Likewise.
3538 * grub-core/hello/hello.c: Likewise.
3539 * grub-core/loader/i386/bsd.c: Likewise.
3540 * grub-core/loader/xnu.c: Likewise.
3541 * grub-core/term/gfxterm.c: Likewise.
3542 * grub-core/term/serial.c: Likewise.
3543 * grub-core/tests/lib/functional_test.c: Likewise.
3544
888d1500
BC
35452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3546
3547 Multi-line quoted strings support.
3548
3549 * grub-core/script/lexer.c (append_newline): Removed.
3550 (grub_script_lexer_yywrap): Refactored.
3551 (grub_script_lexer_init): Refactored.
3552 * grub-core/script/yylex.l (yywrap): New function.
3553 (grub_lexer_resplit): New function.
3554 (grub_lexer_unput): New function.
3555 * include/grub/script_sh.h (grub_lexer_param): New members, unput
3556 and resplit.
3557 * tests/grub_script_echo1.in: Added few more testcases.
3558
dda060dd
VS
35592010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * grub-core/kern/misc.c: Don't add abort alias in utils.
3562 Reported by: echoline.
3563
6556eba9
BC
35642010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
3565
3566 Add missing files into "make dist" tarball for other platforms.
3567
3568 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
3569 * conf/Makefile.common (dist_noinst_DATA): New variable.
3570 * conf/Makefile.extra-dist: Added missing make dist files.
3571 * grub-core/Makefile.core.def: Likewise.
3572
c8e7bf5f
VS
35732010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 Compress grub_prefix.
3576
3577 * grub-core/boot/i386/pc/lnxboot.S: Use
3578 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
3579 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
3580 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
3581 GRUB_MACHINE_PREFIX_END. All users updated.
3582 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
3583 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
3584 + 0x40.
3585 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3586 * util/grub-mkimage.c (image_target_desc): Change data_end to
3587 prefix_end. All users updated.
3588
a7c00cdb
VS
35892010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
3592 value.
3593 (grub_openbsd_boot): Likewise.
3594 (grub_netbsd_boot): Likewise.
3595 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
3596 (grub_xnu_boot): Likewise.
3597
9f915872
VS
35982010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * configure.ac: Clean LIBS variable after tests.
3601
efa1bee7
CW
36022010-09-02 Colin Watson <cjwatson@ubuntu.com>
3603
3604 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
3605
61d720e5
VS
36062010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
3609 echo if libdevmapper will be used.
3610
ef8e0ec8
IT
36112010-09-02 Ian Turner <Ian.Turner@deshaw.com>
3612
3613 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
3614 constant for the same file.
3615
03e261d8
VS
36162010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
3619
c2a4eba6
CW
36202010-09-02 Colin Watson <cjwatson@ubuntu.com>
3621
3622 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
3623 grub-core/*.pp.
3624
9056cbf3
CW
36252010-09-02 Colin Watson <cjwatson@ubuntu.com>
3626
3627 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
3628 required by the boot protocol.
3629
3630 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
3631 ebp and edi members.
3632 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
3633 state.ebp and state.edi.
3634 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
3635 %ebp and %edi according to grub_relocator32_ebp and
3636 grub_relocator32_edi respectively.
3637 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
3638 and state.edi.
3639
529cc99a
VS
36402010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 Add i386-pc-pxe image target.
3643
3644 * util/grub-mkimage.c (image_target_desc): New enum value
3645 IMAGE_I386_PC_PXE.
3646 (image_targets): New target i386-pc-pxe.
3647 (generate_image): Handle i386-pc-pxe image.
3648
9a093920
VS
36492010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 Fix grub_pxe_scan.
3652
3653 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
3654 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
3655 All users updated.
3656 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
3657 (grub_pxe_pxenv): Correct type.
3658
f9cefc4e
CW
36592010-09-01 Colin Watson <cjwatson@ubuntu.com>
3660
3661 * NEWS: Document most of the important changes since 1.98.
3662
4066f57f
CW
36632010-09-01 Colin Watson <cjwatson@ubuntu.com>
3664
3665 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
3666 generated manual page) a little.
3667
da2891f9
CW
36682010-09-01 Colin Watson <cjwatson@ubuntu.com>
3669
3670 * docs/grub.texi: Add myself as an author.
3671
ad717fae
VS
36722010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 * Makefile.util.def (libgrub.a): Add missing sunpc.
3675 Reported by: Seth Goldberg.
3676
eefe8abd
VS
36772010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 Interrupt wrapping and code simplifications.
3680
9494ef9a
VS
3681 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
3682 x86_noieee1275 which are functionaly equivalent in this case.
3683 (grub-install): Make source on each platform explicit. Enable on
3684 all noemu.
3685 * gentpl.py (x86_efi_pc): Removed group.
3686 (x86_noefi): Likewise.
3687 (i386_noefi): Likewise.
3688 (x86_noieee1275): Likewise.
3689 (i386_noieee1275): Likewise.
3690 (i386_noefi_noieee1275): Likewise.
3691 (i386_pc_qemu_coreboot): Likewise.
3692 (i386_coreboot_multiboot): Likewise.
3693 (i386_pc_coreboot_multiboot_qemu): Likewise.
3694 (x86_noefi_mips): Likewise.
3695 (noieee1275): Likewise.
3696 (ieee1275_mips): Likewise.
3697 (noemu_noieee1275): Likewise.
3698 (cmos): New group.
3699 (usb): Likewise.
3700 (videoinkernel): Likewise.
3701 (videomodules): Likewise.
eefe8abd 3702 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
3703 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
3704 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
3705 include/grub/loader.h, include/grub/msdos_partition.h,
3706 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
3707 include/grub/machine/console.h, include/grub/machine/vga.h,
3708 include/grub/machine/vbe.h, include/grub/machine/init.h,
3709 include/grub/machine/kernel.h, include/grub/cpu/time.h,
3710 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 3711 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
3712 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
3713 * grub-core/Makefile.core.def (kernel): Explicit the source for
3714 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
3715 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
3716 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
3717 Use videoinkernel tag.
3718 (usb): Enable on all usb.
3719 (usbserial_common): Likewise.
3720 (usbserial_pl2303): Likewise.
3721 (usbserial_ftdi): Likewise.
3722 (uhci): Enable on all x86.
3723 (ohci): Enable on all pci.
3724 (cmostest): Enable on all CMOS.
3725 (acpi): Include commands/acpi.c on all platforms.
3726 (halt): Add relevant lib/*/halt.c.
3727 (hdparm): Enable on all pci.
3728 (lspci): Likewise.
3729 (usbtest): Enable on all usb.
3730 (ata): Enable on all pci.
3731 (ata_pthru): Likewise.
3732 (usbms): Enable on all usb.
3733 (usb_keyboard): Likewise.
3734 (font): Use tag videomodules.
3735 (bufio): Likewise.
3736 (datetime): Use tag cmos. Enable on all noemu.
3737 (mmap): Use tags common and x86.
3738 (gfxterm): Use tag videomodules.
3739 (bitmap): Likewise.
3740 (bitmap_scale): Likewise.
3741 (video_fb): Likewise.
3742 (video): Likewise.
3743 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
3744 adjust padding accordingly. All users updated.
3745 (grub_ohci_transaction): Fix bad format specification.
3746 (GRUB_MOD_INIT): Add asserts for struct size.
3747 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
3748 (grub_alloc_td): Likewise.
3749 (grub_free_queue): Likewise.
3750 (grub_uhci_transfer): Likewise.
3751 (grub_uhci_transaction): Fix bad format specification.
3752 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
3753 (grub_usb_bulk_readwrite): Likewise.
3754 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
3755 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
3756 Made static.
3757 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
3758 Made static.
3759 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
3760 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
3761 Transformed into C.
3762 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
3763 Moved from here ...
3764 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
3765 ... here. Transformed into C. Made static.
3766 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
3767 Moved from here ...
3768 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
3769 ... here. Transformed into C. Made static.
3770 * grub-core/kern/i386/pc/startup.S
3771 (grub_biosdisk_check_int13_extensions): Moved from here ...
3772 * grub-core/disk/i386/pc/biosdisk.c
3773 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
3774 Made static.
3775 * grub-core/kern/i386/pc/startup.S
3776 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
3777 * grub-core/disk/i386/pc/biosdisk.c
3778 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
3779 Transformed into C. Made static.
3780 * grub-core/kern/i386/pc/startup.S
3781 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
3782 * grub-core/disk/i386/pc/biosdisk.c
3783 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
3784 Transformed into C. Made static.
3785 * grub-core/kern/i386/pc/startup.S
3786 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
3787 * grub-core/disk/i386/pc/biosdisk.c
3788 (grub_biosdisk_get_diskinfo_standard): ... here.
3789 Transformed into C. Made static.
3790 * grub-core/kern/i386/pc/startup.S
3791 (grub_biosdisk_get_num_floppies): Moved from here ...
3792 * grub-core/disk/i386/pc/biosdisk.c
3793 (grub_biosdisk_get_num_floppies): ... here.
3794 Transformed into C. Made static.
3795 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
3796 New function.
3797 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
3798 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
3799 Transformed into C. Made static.
3800 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
3801 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
3802 Transformed into C. Made static.
3803 * grub-core/kern/i386/ieee1275/init.c: Removed.
3804 * grub-core/kern/i386/misc.S: Likewise.
3805 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
3806 Splitted from here ...
3807 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
3808 Transformed into C. Made static. All users updated.
3809 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
3810 Transformed into C. Made static. All users updated.
3811 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
3812 Moved from here...
3813 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
3814 Transformed into C. Made static. All users updated.
3815 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
3816 Moved from here...
3817 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
3818 Transformed into C. Made static. All users updated.
3819 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
3820 Removed (replaced by C version).
3821 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
3822 Moved from here...
3823 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
3824 Transformed into C. Made static.
3825 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
3826 Moved from here...
3827 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
3828 ... here. Transformed into C.
3829 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
3830 Moved from here...
3831 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
3832 ... here. Transformed into C.
3833 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
3834 Moved from here...
3835 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
3836 ... here. Transformed into C. Made static.
3837 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
3838 Moved from here...
3839 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
3840 ... here. Transformed into C.
21ed554b
VS
3841 * grub-core/kern/i386/pc/startup.S
3842 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
3843 * grub-core/video/i386/pc/vbe.c
3844 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
3845 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
3846 Moved from here...
3847 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
3848 ... here. Transformed into C.
3849 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
3850 Moved from here...
3851 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
3852 ... here. Transformed into C.
3853 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
3854 Moved from here...
3855 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
3856 ... here. Transformed into C.
3857 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
3858 Moved from here...
3859 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
3860 ... here. Transformed into C.
3861 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
3862 Moved from here...
3863 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
3864 ... here. Transformed into C. Made static.
3865 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
3866 Moved from here...
3867 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
3868 ... here. Transformed into C. Made static.
3869 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
3870 Moved from here...
3871 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
3872 ... here. Transformed into C. Made static.
3873 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
3874 pxe_rm_entry as third argument.
3875 (grub_bios_interrupt): New function.
3876 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
3877 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
3878 of calling grub_stop.
3879 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
3880 * grub-core/lib/efi/halt.c (grub_halt): ...here.
3881 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
3882 * grub-core/lib/emu/halt.c (grub_halt): ... here.
3883 * grub-core/lib/i386/halt.c: Moved from here ...
3884 * grub-core/lib/i386/halt.c: ... here.
3885 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
3886 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
3887 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
3888 grub_stop_floppy.
3889 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
3890 * include/grub/i386/coreboot/init.h: Removed.
3891 * include/grub/i386/multiboot/init.h: Likewise.
3892 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
3893 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
3894 * include/grub/i386/pc/int.h: New file.
3895 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
3896 (grub_pxe_scan): Removed.
3897 (grub_pxe_call): Update prototype.
3898 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
3899 prototypes.
3900 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
3901 * include/grub/i386/qemu/init.h: Removed.
3902 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
3903 noreturn.
3904 (grub_halt): Likewise.
3905 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
3906 (grub_reboot): Likewise.
3907 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
3908 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
3909 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
3910
215dd471
RM
39112010-08-30 Robert Millan <rmh@gnu.org>
3912
3913 * NEWS: Document addition of ZFS support in `grub-install' and
3914 `grub-mkconfig'.
3915
ebd65b82
BC
39162010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
3917
3918 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
3919 dprintf output.
3920
11721d19
VS
39212010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 Remove leftover embedding of font objects.
3924
3925 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3926 * util/grub-install.in (font): Removed.
3927 * util/grub-mkimage.c (generate_image): Remove font support. All users
3928 updated.
3929
37837d4e
VS
39302010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 Remove leftover embedding of font objects.
3933
3934 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3935 * util/grub-install.in (font): Removed.
3936 * util/grub-mkimage.c (generate_image): Remove font support. All users
3937 updated.
3938
b4c1aae0
VS
39392010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 3942 Reported by: Ian Turner
b4c1aae0 3943
8920a08d
VS
39442010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
3947 timeout to avoid indefinite boot stalling.
3948
f21db033
VS
39492010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
3952 (grub_env_write_color_highlight): Likewise.
3953
9a9de209
VS
39542010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * grub-core/normal/term.c (print_more): Return to normal and not
3957 to standard state after printing "---MORE---".
3958
3dca01d7
VS
39592010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
3962 Mask out the bit 0x80 since it has other meaning that specifiing color.
3963
0b986c40
VS
39642010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 New relocator. Allows for more kernel support and more straightforward
3967 loader writing.
3968
3969 * Makefile.am (BOOTTARGET): New variable.
3970 (QEMU32): Likewise.
3971 (linux.init.x86_64): New target.
3972 (linux.init.i386): Likewise.
3973 (multiboot.elf): Likewise.
3974 (kfreebsd.elf): Likewise.
3975 (kfreebsd.aout): Likewise.
3976 (pc-chainloader.elf): Likewise.
3977 (pc-chainloader.bin): Likewise.
3978 (ntldr.elf): Likewise.
3979 (ntldr.bin): Likewise.
3980 (multiboot2.elf): Likewise.
3981 (kfreebsd.init.x86_64): Likewise.
3982 (kfreebsd.init.i386): Likewise.
3983 (knetbsd.init.i386): Likewise.
3984 (kopenbsd.init.i386): Likewise.
3985 (knetbsd.init.x86_64): Likewise.
3986 (kopenbsd.init.x86_64): Likewise.
3987 (linux-initramfs.i386): Likewise.
3988 (linux-initramfs.x86_64): Likewise.
3989 (kfreebsd-mfsroot.i386.img): Likewise.
3990 (knetbsd.image.i386): Likewise.
3991 (kopenbsd.image.i386): Likewise.
3992 (kopenbsd.image.x86_64): Likewise.
3993 (knetbsd.miniroot-image.i386.img): Likewise.
3994 (kfreebsd-mfsroot.x86_64.img): Likewise.
3995 (knetbsd.image.x86_64): Likewise.
3996 (knetbsd.miniroot-image.x86_64.img): Likewise.
3997 (kfreebsd-mfsroot.i386.gz): Likewise.
3998 (bootcheck-kfreebsd-i386): Likewise.
3999 (kfreebsd-mfsroot.x86_64.gz): Likewise.
4000 (bootcheck-kfreebsd-x86_64): Likewise.
4001 (knetbsd.miniroot-image.i386.gz): Likewise.
4002 (bootcheck-knetbsd-i386): Likewise.
4003 (bootcheck-kopenbsd-i386): Likewise.
4004 (bootcheck-kopenbsd-x86_64): Likewise.
4005 (knetbsd.miniroot-image.x86_64.gz): Likewise.
4006 (bootcheck-knetbsd-x86_64): Likewise.
4007 (bootcheck-linux-i386): Likewise.
4008 (bootcheck-linux-x86_64): Likewise.
4009 (bootcheck-linux16-i386): Likewise.
4010 (bootcheck-linux16-x86_64): Likewise.
4011 (bootcheck-multiboot): Likewise.
4012 (bootcheck-multiboot2): Likewise.
4013 (bootcheck-kfreebsd-aout): Likewise.
4014 (bootcheck-pc-chainloader): Likewise.
4015 (bootcheck-ntldr): Likewise.
4016 (CLEANFILES): Add new targets.
4017 (BOOTCHECKS): New variable.
4018 (.PHONY): Add bootchecks.
4019 (SUCCESSFUL_BOOT_STRING): New variable.
4020 (BOOTCHECK_TIMEOUT): Likewise.
4021 (bootcheck): New target
4022 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
4023 * configure.ac: Correct efiemu excuse.
4024 * docs/grub.texi (Supported kernels): New chapter.
4025 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
4026 include/grub/mm_private.h. Simplify inclusion of
4027 include/grub/boot.h, include/grub/loader.h
4028 and include/grub/msdos_partition.h
4029 (KERNEL_HEADER_FILES) [i386_coreboot]:
4030 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
4031 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
4032 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
4033 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
4034 include/grub/machine/loader.h.
4035 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
4036 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
4037 extra_dist.
4038 (pci.mod): Enable on i386-multiboot.
4039 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
4040 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
4041 i386-qemu.
4042 (relocator.mod): Rewritten.
4043 (aout.mod): Enable on all x86.
4044 (bsd.mod): Likewise.
4045 (ntldr.mod): New module.
4046 (linux.mod): Use loader/i386/linux.c on all x86.
4047 (xnu.mod): Enable on all x86.
4048 (vga_text.mod): disable on EFI and QEMU.
4049 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
4050 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
4051 * grub-core/efiemu/loadcore.c: Likewise.
4052 * grub-core/efiemu/main.c: Likewise.
4053 (grub_efiemu_exit_boot_services): Removed.
4054 (grub_efiemu_finish_boot_services): Likewise.
4055 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
4056 function.
4057 * grub-core/efiemu/i386/nocfgtables.c: New file.
4058 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
4059 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
4060 (grub_efi_finish_boot_services): Moved from here ...
4061 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
4062 Fille finish memory map and related data.
4063 (finish_mmap_buf): New variable.
4064 (grub_efi_uintn_t finish_mmap_size): Likewise.
4065 (grub_efi_uintn_t finish_key): Likewise.
4066 (grub_efi_uintn_t finish_desc_size): Likewise.
4067 (grub_efi_uint32_t finish_desc_version): Likewise.
4068 (grub_efi_is_finished): Likewise.
4069 (grub_efi_get_memory_map): Use saved memory map if EFI is already
4070 finished.
4071 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
4072 (grub_elf64_phdr_iterate): Likewise.
4073 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
4074 (grub_os_area_size): Likewise.
4075 (grub_machine_init): Don't reserve os area.
4076 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
4077 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4078 * grub-core/kern/i386/loader.S: Removed.
4079 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
4080 (grub_os_area_size): Likewise.
4081 (grub_machine_init): Don't reserve os area.
4082 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4083 Don't call grub_dl_unload_all.
4084 Don't include loader.S.
4085 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4086 Declare the memory after _end as available.
4087 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 4088 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 4089 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
4090 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
4091 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
4092 * include/grub/mm_private.h (grub_mm_header): ... here.
4093 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
4094 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
4095 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
4096 (grub_mm_region): ..here. Removed addr. Added pre_size.
4097 All users updated.
4098 * grub-core/kern/mm.c (base): Renamed to ...
4099 (grub_mm_base): ... this. Made global.
4100 (grub_real_malloc): Alloc from end of region.
4101 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
4102 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
4103 * grub-core/kern/powerpc/cache_flush.S: ... here.
4104 * grub-core/lib/efi/relocator.c: New file.
4105 * grub-core/lib/i386/relocator.c: Rewritten.
4106 * grub-core/lib/i386/relocator16.S: New file.
4107 * grub-core/lib/i386/relocator32.S: Likewise.
4108 * grub-core/lib/i386/relocator64.S: Likewise.
4109 * grub-core/lib/i386/relocator_asm.S: Rewritten.
4110 * grub-core/lib/i386/relocator_common.S: New file.
4111 * grub-core/lib/ieee1275/relocator.c: Likewise.
4112 * grub-core/lib/mips/relocator.c: Rewritten.
4113 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
4114 stylistic adjustments.
4115 * grub-core/lib/powerpc/relocator.c: New file.
4116 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
4117 * grub-core/lib/relocator.c: Rewritten.
4118 * grub-core/lib/x86_64/relocator_asm.S: New file.
4119 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
4120 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
4121 (bsd_tag): New struct.
4122 (tags): New variable.
4123 (tags_last): Likewise.
4124 (netbsd_module): New struct.
4125 (netbsd_mods): New variable.
4126 (netbsd_mods_last): Likewise.
4127 (openbsd_opts): New parameter "serial".
4128 (OPENBSD_SERIAL_ARG): New definition.
4129 (netbsd_opts): New parameter "serial".
4130 (NETBSD_SERIAL_ARG): New definition.
4131 (grub_freebsd_add_meta): Reorganised into ...
4132 (grub_bsd_add_meta): ...this. All users updated.
4133 (grub_freebsd_add_mmap): Reorganised into ...
4134 (generate_e820_mmap): ...this...
4135 (grub_bsd_add_mmap): ...and this. All users updated.
4136 (grub_freebsd_list_modules): Use tags.
4137 (grub_netbsd_add_meta_module): New function.
4138 (grub_netbsd_list_modules): Likewise.
4139 (grub_freebsd_boot): Use relocator and finish EFI.
4140 (grub_openbsd_boot): Likewise.
4141 (grub_netbsd_setup_video): New function.
4142 (grub_netbsd_add_modules): Likewise.
4143 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
4144 and finish EFI.
4145 (grub_bsd_unload): Unload tags.
4146 (grub_bsd_load_aout): Use relocator.
4147 (grub_bsd_elf32_size_hook): New function.
4148 (grub_bsd_elf32_hook): Use relocator.
4149 (grub_bsd_elf64_size_hook): New function.
4150 (grub_bsd_elf64_hook): Use relocator.
4151 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
4152 (grub_bsd_load): Zero-out openbsd_ramdisk.
4153 (grub_bsd_load): Use relocator.
4154 (grub_cmd_openbsd): Support serial.
4155 (grub_cmd_netbsd): Support modules.
4156 (grub_cmd_freebsd_module): Use relocator.
4157 (grub_netbsd_module_load): New function.
4158 (grub_cmd_netbsd_module): Likewise.
4159 (grub_cmd_openbsd_ramdisk): Likewise.
4160 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
4161 kopenbsd_ramdisk.
4162 (GRUB_MOD_FINI): Unregister new commands.
4163 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
4164 (grub_freebsd_load_elfmodule_obj): Use relocator.
4165 (grub_freebsd_load_elfmodule): Likewise.
4166 (grub_freebsd_load_elf_meta): Likewise.
4167 (grub_netbsd_load_elf_meta): New function.
4168 (grub_openbsd_find_ramdisk): Likewise.
4169 * grub-core/loader/i386/bsd_helper.S: Removed.
4170 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
4171 * grub-core/loader/i386/bsd_trampoline.S: Removed.
4172 * grub-core/loader/i386/efi/linux.c: Likewise.
4173 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
4174 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
4175 (DEFAULT_VIDEO_MODE): Likewise.
4176 (real_mode_target): New variable.
4177 (prot_mode_target): Likewise.
4178 (initrd_mem_target): Likewise.
4179 (relocator): Likewise.
4180 (efi_mmap_buf): Likewise.
4181 (efi_mmap_size): Likewise.
4182 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
4183 (free_pages): Use relocator.
4184 (allocate_pages): Account for efi_mmap and use relocator. Return error.
4185 (grub_linux_setup_video): Return error.
4186 (grub_linux_trampoline_start): Removed.
4187 (grub_linux_trampoline_end): Likewise.
4188 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
4189 andd video parameters depending on firmware.
4190 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
4191 [GRUB_MACHINE_EFI]: Pass EFI parameters.
4192 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
4193 (grub_cmd_initrd): Use relocator.
4194 * grub-core/loader/i386/linux_trampoline.S: Removed.
4195 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
4196 (elf_sec_entsize): Likewise.
4197 (elf_sec_shstrndx): Likewise.
4198 (elf_sections): Likewise.
4199 (grub_multiboot_load): Use relocator.
4200 (grub_multiboot_get_mbi_size): Account for sections.
4201 (grub_multiboot_make_mbi): Use relocator and support sections.
4202 (grub_multiboot_add_elfsyms): New function.
4203 (grub_multiboot_free_mbi): Free sections.
4204 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
4205 (grub_linux_real_target): Likewise.
4206 (grub_linux_real_chunk): Likewise.
4207 (grub_linux16_prot_size): Likewise.
4208 (grub_linux16_boot): Use relocator.
4209 (grub_linux_unload): Unload relocator.
4210 (grub_cmd_linux): Use relocator.
4211 (grub_cmd_initrd): Likewise.
4212 * grub-core/loader/i386/pc/ntldr.c: New file.
4213 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
4214 Don't try to guess CPU frequency.
4215 (grub_xnu_set_video): Stretch bitmap.
4216 (grub_xnu_boot): Use relocator.
4217 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
4218 (grub_linux_unload): Free relocator.
4219 (grub_linux_load32): Use relocator.
4220 (grub_linux_load64): Likewise.
4221 (grub_cmd_initrd): Likewise.
4222 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
4223 (grub_multiboot_unload): Unload relocator.
4224 (grub_cmd_multiboot): Use relocator.
4225 (grub_cmd_module): Likewise.
4226 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
4227 Use relocator and support sections.
4228 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
4229 (elf_sec_entsize): Likewise.
4230 (elf_sec_shstrndx): Likewise.
4231 (elf_sections): Likewise.
4232 (grub_multiboot_load): Use relocator.
4233 (grub_multiboot_get_mbi_size): Account for sections.
4234 (grub_multiboot_make_mbi): Use relocator and support sections.
4235 (grub_multiboot_add_elfsyms): New function.
4236 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
4237 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
4238 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
4239 Prototype changed. All users updated.
4240 (grub_xnu_align_heap): Simplified.
4241 (grub_xnu_writetree_toheap): Likewise.
4242 (grub_xnu_unload): Unload relocator.
4243 (grub_cmd_xnu_kernel): Use relocator.
4244 (grub_cmd_xnu_kernel64): Likewise.
4245 (grub_xnu_register_memory): Simplified.
4246 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
4247 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
4248 EFI is finished.
4249 (grub_console_checkkey): Likewise.
4250 (grub_console_getkey): Likewise.
4251 (grub_console_getwh): Likewise.
4252 (grub_console_getxy): Likewise.
4253 (grub_console_gotoxy): Likewise.
4254 (grub_console_cls): Likewise.
4255 (grub_console_setcolorstate): Likewise.
4256 (grub_console_setcursor): Likewise.
4257 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
4258 * grub-core/tests/boot/kbsd.init-i386.S: New file.
4259 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
4260 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
4261 * grub-core/tests/boot/kernel-8086.S: Likewise.
4262 * grub-core/tests/boot/kernel-i386.S: Likewise.
4263 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
4264 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
4265 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
4266 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
4267 * grub-core/tests/boot/knetbsd.cfg: Likewise.
4268 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
4269 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
4270 * grub-core/tests/boot/linux.cfg: Likewise.
4271 * grub-core/tests/boot/linux.init-i386.S: Likewise.
4272 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
4273 * grub-core/tests/boot/linux16.cfg: Likewise.
4274 * grub-core/tests/boot/multiboot.cfg: Likewise.
4275 * grub-core/tests/boot/multiboot2.cfg: Likewise.
4276 * grub-core/tests/boot/ntldr.cfg: Likewise.
4277 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
4278 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
4279 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
4280 New definition.
4281 * include/grub/dl.h (grub_dl_unload_all): Removed.
4282 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
4283 (grub_efi_finish_boot_services): Change prototype.
4284 (grub_efi_is_finished): New variable.
4285 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
4286 Changed prototype.
4287 (grub_efiemu_finish_boot_services): Removed.
4288 (grub_machine_efiemu_init_tables): New prototype.
4289 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
4290 (grub_elf64_phdr_iterate): Likewise.
4291 * include/grub/i386/bsd.h: Include relocator.h.
4292 (freebsd_tag_header): New struct.
4293 (grub_openbsd_bios_mmap): Removed.
4294 (grub_unix_real_boot): Removed.
4295 (grub_freebsd_load_elfmodule32): Changed prototype.
4296 (grub_freebsd_load_elfmodule_obj64): Likewise.
4297 (grub_freebsd_load_elf_meta32): Likewise.
4298 (grub_freebsd_load_elf_meta64): Likewise.
4299 (grub_freebsd_add_meta): Removed.
4300 (grub_netbsd_load_elf_meta32): New prototype.
4301 (grub_netbsd_load_elf_meta64): Likewise.
4302 (grub_bsd_add_meta): Likewise.
4303 (grub_openbsd_ramdisk_descriptor): New struct.
4304 (grub_openbsd_find_ramdisk32): New prototype.
4305 (grub_openbsd_find_ramdisk64): Likewise.
4306 * include/grub/i386/coreboot/loader.h: Removed.
4307 * include/grub/i386/efi/loader.h: Likewise.
4308 * include/grub/i386/ieee1275/loader.h: Likewise.
4309 * include/grub/i386/linux.h (linux_kernel_header): Change void *
4310 to grub_uint32_t.
4311 * include/grub/i386/loader.h: Removed.
4312 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
4313 value.
4314 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
4315 (grub_phys_addr_t): New type.
4316 (grub_vtop): New inline function.
4317 (grub_map_memory): Likewise.
4318 (grub_unmap_memory): Likewise.
4319 * include/grub/i386/multiboot/loader.h: Removed.
4320 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
4321 (NETBSD_BTINFO_CONSOLE): New definition.
4322 (NETBSD_BTINFO_SYMTAB): Likewise.
4323 (NETBSD_BTINFO_MODULES): Likewise.
4324 (NETBSD_BTINFO_FRAMEBUF): Likewise.
4325 (grub_netbsd_bootinfo): New struct.
4326 (grub_netbsd_btinfo_common): Use explicit bitsize.
4327 (grub_netbsd_btinfo_mmap_entry): Removed.
4328 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
4329 (grub_netbsd_btinfo_bootdisk): New struct.
4330 (grub_netbsd_btinfo_symtab): Likewise.
4331 (grub_netbsd_btinfo_serial): Likewise.
4332 (grub_netbsd_btinfo_modules): Likewise.
4333 (grub_netbsd_btinfo_framebuf): Likewise.
4334 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
4335 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
4336 Likewise.
4337 (grub_openbsd_bootargs): Use explicit bitsize.
4338 (grub_openbsd_bootarg_console): New struct.
4339 (GRUB_OPENBSD_COM_MAJOR): New definition.
4340 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
4341 * include/grub/i386/pc/efiemu.h: Removed.
4342 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
4343 * include/grub/i386/qemu/loader.h: Removed.
4344 * include/grub/i386/relocator.h: Rewritten.
4345 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
4346 * include/grub/mips/memory.h: New file.
4347 * include/grub/mips/multiboot.h: Rewritten.
4348 * include/grub/mips/relocator.h: Rewritten.
4349 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
4350 (grub_vtop): New function.
4351 (grub_map_memory): Likewise.
4352 (grub_unmap_memory): Likewise.
4353 * include/grub/misc.h (ALIGN_DOWN): New definition.
4354 * include/grub/mm.h (grub_mm_check_real): New proto.
4355 (GRUB_MM_CHECK): New definition.
4356 * include/grub/mm_private.h: New file.
4357 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
4358 (grub_multiboot_get_mbi_size): Removed.
4359 (grub_multiboot_make_mbi): Change prottype.
4360 (grub_multiboot_set_accepts_video): New proto.
4361 (grub_multiboot_add_elfsyms): Likewise.
4362 (grub_multiboot_payload_eip): New variable.
4363 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
4364 New prototype.
4365 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
4366 New definition.
4367 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
4368 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
4369 * include/grub/powerpc/ieee1275/loader.h: Removed.
4370 * include/grub/powerpc/memory.h: New file.
4371 * include/grub/powerpc/relocator.h: Likewise.
4372 * include/grub/relocator.h: Likewise.
4373 * include/grub/relocator_private.h: Likewise.
4374 * include/grub/sparc64/ieee1275/loader.h: Removed.
4375 * include/grub/x86_64/memory.h: New file.
4376 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
4377 (grub_xnu_heap_malloc): Likewise.
4378 (grub_xnu_heap_real_start): Removed.
4379 (grub_xnu_heap_start): Likewise.
4380 (grub_xnu_relocator): New variable.
4381 (grub_xnu_heap_target_start): Likewise.
4382 * tests/util/grub-shell.in: Support non-pc.
4383 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 4384
5303b85d
VS
43852010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
4388 on malloc error.
4389 (grub_bidi_logical_to_visual): Check that malloc succeded.
4390 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
4391 puts.
4392 (grub_xputs_normal): Likewise.
4393
d768d159
VS
43942010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
4397 extra_dist.
4398
43992010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * grub-core/efiemu/runtime/efiemu.sh: Removed.
4402
5bf84df4
VS
44032010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
4406
3626810e
VS
44072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
4410 dprintf.
4411
a7363f53
BC
44122010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
4413
4414 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
4415
902f75f6
VS
44162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 * grub-core/normal/term.c (print_more): Fix a memory leak.
4419 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
4420 (grub_xputs_normal): Likewise.
4421
3c707967
VS
44222010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
4425 the begining of the string
4426
2053cc07
VS
44272010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 * grub-core/script/script.c (grub_script_parse): Free parsed on
4430 failure.
4431
46422ebf
VS
44322010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
4435 on failure.
4436
9e0fa3f6
VS
44372010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
4440 return.
4441
3393cf16
VS
44422010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
4445 (scroll_up): Fix a memory leak.
4446
b17540cb
VS
44472010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
4450 errors.
4451
67140446
VS
44522010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 Handle USB pendrives exposed as floppies.
4455
4456 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
4457 floppy.
4458 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
4459 Check for partitions on all devices.
4460
e35e46fc
VS
44612010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
4464 (readkey): Likewise.
4465
d24c6190
BC
44662010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
4467
4468 Multiple variable names support to "export" command.
4469
4470 * normal/context.c (grub_cmd_export): "export" command supports
4471 multiple variable names.
4472
04ddcc6a
ST
44732010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
4474
4475 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
4476 --target=drive output to Mach device name.
4477
0c8b61d8
BC
44782010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
4479
4480 New Automake based build system for GRUB.
4481
4482 * ABOUT-NLS: New file.
4483 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
4484 in Makefile.util.def file.
4485 * Makefile.util.def: New file. Autogen build definitions file for
4486 GRUB host utils.
4487 * conf/Makefile.common: New file. Common variables for GRUB host
4488 utils and target modules.
4489 * conf/Makefile.extra-dist: New file. Extra files for make dist.
4490 * docs/Makefile.am: New file. Automake file for docs.
4491 * gentpl.py: New file. Python script to generate Autogen
4492 template.
4493 * grub-core/Makefile.am: New file. GRUB target modules' rules
4494 that doesn't fit in Makefile.core.def file.
4495 * grub-core/Makefile.core.def: New file. Autogen build
4496 definitions file for GRUB target modules.
4497 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
4498 specific setjmp.S file.
4499 * po/Makefile.am: New file.
4500
4501 * .bzrignore: New ignores.
4502 * INSTALL: New requirements, without Ruby.
4503 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
4504 * autogen.sh: Updated to invoke autogen as necessary.
4505 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
4506 and defines for Automake conditionals.
4507 * geninit.sh: Refactoring.
4508
4509 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
4510 necessary.
4511 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
4512 New prototype.
4513
4514 * include/grub/test.h: Fix functional test modules' naming.
4515 * grub-core/tests/example_functional_test.c: Fix test module name.
4516
4517 * util/misc.c: Hosted versions' of grub functions for libgrub.a
4518 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
4519 * util/grub-editenv.c: Likewise.
4520 * util/grub-fstest.c: Likewise.
4521 * util/grub-mkdevicemap.c: Likewise.
4522 * util/grub-mkfont.c: Likewise.
4523 * util/grub-mkimage.c: Likewise.
4524 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4525 * util/grub-probe.c: Likewise.
4526 * util/grub-script-check.c: Likewise.
4527 * util/i386/pc/grub-setup.c: Likewise.
4528 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4529
4530 * tests/util/grub-shell.in: Fix override directory path.
4531 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
4532 * util/import_gcry.py: Create Makefile.gcry.def file instead.
4533
4534 * util/lvm.c: Update #includes.
4535 * util/raid.c: Likewise.
4536 * util/resolve.c: Likewise.
4537 * grub-core/bus/emu/pci.c: Likewise.
4538 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
4539 * grub-core/lib/posix_wrap/string.h: Likewise.
4540 * grub-core/kern/emu/main.c: Likewise.
4541
4542 * grub-core/gensymlist.sh: New file. Script for generating kernel
4543 symbols file.
4544 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
4545
4546 * grub-core/gentrigtables.c: Fix unused variable warnings.
4547
4548 * Makefile.in: Removed.
4549 * conf/any-emu.rmk: Removed.
4550 * conf/common.rmk: Removed.
4551 * conf/i386-coreboot.rmk: Removed.
4552 * conf/i386-efi.rmk: Removed.
4553 * conf/i386-ieee1275.rmk: Removed.
4554 * conf/i386-multiboot.rmk: Removed.
4555 * conf/i386-pc.rmk: Removed.
4556 * conf/i386-qemu.rmk: Removed.
4557 * conf/i386.rmk: Removed.
4558 * conf/mips-yeeloong.rmk: Removed.
4559 * conf/mips.rmk: Removed.
4560 * conf/powerpc-ieee1275.rmk: Removed.
4561 * conf/sparc64-ieee1275.rmk: Removed.
4562 * conf/tests.rmk: Removed.
4563 * conf/x86-efi.rmk: Removed.
4564 * conf/x86_64-efi.rmk: Removed.
4565 * gendistlist.sh: Removed.
4566 * geninitheader.sh: Removed.
4567 * genkernsyms.sh.in: Removed.
4568 * genmk.rb: Removed.
4569 * gensymlist.sh.in: Removed.
4570 * mkinstalldirs: Removed.
4571 * boot: Moved ...
4572 * grub-core/boot: ... to here.
4573 * bus: Moved ...
4574 * grub-core/bus: ... to here.
4575 * commands: Moved ...
4576 * grub-core/commands: ... to here.
4577 * disk: Moved ...
4578 * grub-core/disk: ... to here.
4579 * efiemu: Moved ...
4580 * grub-core/efiemu: ... to here.
4581 * font: Moved ...
4582 * grub-core/font: ... to here.
4583 * fs: Moved ...
4584 * grub-core/fs: ... to here.
4585 * gencmdlist.sh: Moved ...
4586 * grub-core/gencmdlist.sh: ... to here.
4587 * genemuinit.sh: Moved ...
4588 * grub-core/genemuinit.sh: ... to here.
4589 * genemuinitheader.sh: Moved ...
4590 * grub-core/genemuinitheader.sh: ... to here.
4591 * genfslist.sh: Moved ...
4592 * grub-core/genfslist.sh: ... to here.
4593 * genhandlerlist.sh: Moved ...
4594 * grub-core/genhandlerlist.sh: ... to here.
4595 * genmoddep.awk: Moved ...
4596 * grub-core/genmoddep.awk: ... to here.
4597 * genmodsrc.sh: Moved ...
4598 * grub-core/genmodsrc.sh: ... to here.
4599 * genpartmaplist.sh: Moved ...
4600 * grub-core/genpartmaplist.sh: ... to here.
4601 * genparttoollist.sh: Moved ...
4602 * grub-core/genparttoollist.sh: ... to here.
4603 * genterminallist.sh: Moved ...
4604 * grub-core/genterminallist.sh: ... to here.
4605 * gentrigtables.c: Moved ...
4606 * grub-core/gentrigtables.c: ... to here.
4607 * genvideolist.sh: Moved ...
4608 * grub-core/genvideolist.sh: ... to here.
4609 * gettext: Moved ...
4610 * grub-core/gettext: ... to here.
4611 * gfxmenu: Moved ...
4612 * grub-core/gfxmenu: ... to here.
4613 * gnulib: Moved ...
4614 * grub-core/gnulib: ... to here.
4615 * hello: Moved ...
4616 * grub-core/hello: ... to here.
4617 * hook: Moved ...
4618 * grub-core/hook: ... to here.
4619 * io: Moved ...
4620 * grub-core/io: ... to here.
4621 * kern: Moved ...
4622 * grub-core/kern: ... to here.
4623 * lib: Moved ...
4624 * grub-core/lib: ... to here.
4625 * loader: Moved ...
4626 * grub-core/loader: ... to here.
4627 * mmap: Moved ...
4628 * grub-core/mmap: ... to here.
4629 * normal: Moved ...
4630 * grub-core/normal: ... to here.
4631 * partmap: Moved ...
4632 * grub-core/partmap: ... to here.
4633 * parttool: Moved ...
4634 * grub-core/parttool: ... to here.
4635 * script: Moved ...
4636 * grub-core/script: ... to here.
4637 * term: Moved ...
4638 * grub-core/term: ... to here
4639 * tests/example_functional_test.c: Moved ...
4640 * grub-core/tests/example_functional_test.c: ... to here.
4641 * tests/lib/functional_test.c: Moved ...
4642 * grub-core/tests/lib/functional_test.c: ... to here.
4643 * tests/lib/test.c: Moved ...
4644 * grub-core/tests/lib/test.c: ... to here.
4645 * video: Moved ...
4646 * grub-core/video: ... to here.
4647
645586e6
BC
46482010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
4649
4650 Replace --enable-grub-emu-modules with grub-emu-lite.
4651
4652 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
4653 cache.S.
4654
4655 * include/grub/emu/misc.h (grub_emu_init): New prototype.
4656 * kern/emu/full.c: New file. For grub-emu specific initialization.
4657 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
4658 * kern/emu/main.c: Call initialization function grub_emu_init.
4659
4660 * Makefile.in: Include grub-emu-lite in install.
4661 * commands/parttool.c: Use grub_no_autoload to differentiate
4662 between grub-emu and grub-emu-lite.
4663 * include/grub/misc.h: New variable grub_no_autoload.
4664
4665 * conf/any-emu.rmk: New rules for grub-emu-lite.
4666 * configure.ac: Remove --enable-grub-emu-modules.
4667 * genmk.rb: Cleanup unnecessary rules.
4668 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
4669
4670 * normal/main.c: Don't load list files on grub-emu-lite.
4671 * util/misc.c (grub_arch_sync_caches): Removed.
4672
f86a4030
CW
46732010-08-23 Colin Watson <cjwatson@ubuntu.com>
4674
4675 * kern/mips/startup.S (grub_prefix): Update comment to refer to
4676 grub-mkimage rather than grub-mkelfimage.
4677 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
4678
06776944
VS
46792010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
4682 a key after CapsLock or NumLock. It's just a qemu bug.
4683
df262419
VS
46842010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
4687 needed by libusb wrapper.
4688
b40ea81b
ST
46892010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4690
4691 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
4692
dee50575
VS
46932010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
4696 --nounzip is passed.
4697
fb1d7b79
VS
46982010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 USB hotunplugging and USB serial support.
4701
4702 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
4703 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
4704 (grub_uhci_transfer): Respect timeout and set *actual.
4705 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
4706 non-standard length.
4707 (grub_usb_device_attach): Autoload modules.
4708 (GRUB_MOD_INIT): Set grub_term_poll_usb.
4709 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
4710 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
4711 users updated.
4712 (grub_usb_add_hub): Fill nports and children.
4713 (attach_root_port): Receive hub instead of controller.
4714 All users updated. Fill hub->devices.
4715 (grub_usb_root_hub): Allocate hub->devices.
4716 (detach_device): New function.
4717 (poll_nonroot_hub): Fill children and detach devices.
4718 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
4719 actual arguments. All users updated.
4720 (grub_usb_bulk_read_extended): New function.
4721 * bus/usb/serial/common.c: New file.
4722 * bus/usb/serial/ftdi.c: Likewise.
4723 * bus/usb/serial/pl2303.c: Likewise.
4724 * commands/terminal.c (handle_command): Support wildcard.
4725 * commands/usbtest.c: Output "Unknown" instead of empty string.
4726 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
4727 (usbserial_common_mod_SOURCES): New variable.
4728 (usbserial_common_mod_CFLAGS): Likewise.
4729 (usbserial_common_mod_LDFLAGS): Likewise.
4730 (pkglib_MODULES): Add usbserial_pl2303.mod.
4731 (usbserial_pl2303_mod_SOURCES): New variable.
4732 (usbserial_pl2303_mod_CFLAGS): Likewise.
4733 (usbserial_pl2303_mod_LDFLAGS): Likewise.
4734 (pkglib_MODULES): Add usbserial_ftdi.mod.
4735 (usbserial_ftdi_mod_SOURCES): New variable.
4736 (usbserial_ftdi_mod_CFLAGS): Likewise.
4737 (usbserial_ftdi_mod_LDFLAGS): Likewise.
4738 (pkglib_MODULES): Add serial.mod.
4739 (serial_mod_SOURCES): New variable.
4740 (serial_mod_CFLAGS): Likewise.
4741 (serial_mod_LDFLAGS): Likewise.
4742 * conf/i386-pc.rmk: Likewise.
4743 * conf/mips-yeeloong.rmk: Likewise.
4744 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
4745 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
4746 * disk/usbms.c (first_available_slot): New variable.
4747 (grub_usbms_attach): Don't reuse free slots due to potential cache
4748 problems.
4749 * include/grub/serial.h: Moved to ..
4750 * include/grub/ns8250.h: ...this.
4751 * include/grub/serial.h: New file.
4752 * include/grub/term.h (grub_term_poll_usb): New variable.
4753 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
4754 readkey. All users updated.
4755 (grub_terminfo_output_state): Pass term to put.
4756 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
4757 (grub_usb_controller_dev): Add timeout and actual arguments to
4758 transfer. All users updated.
4759 (grub_usb_interface): New field detach_data.
4760 (grub_usb_device): New fields children and nports.
4761 (grub_usb_ep_type_t): New type.
4762 (grub_usb_get_ep_type): New function.
4763 (grub_usb_bulk_read_extended): Likewise.
4764 * include/grub/usbdesc.h (grub_usb_desc): New type.
4765 * include/grub/usbserial.h: New file.
4766 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
4767 * kern/term.c (grub_term_poll_usb): New variable.
4768 (grub_getkey): Call grub_term_poll_usb if set.
4769 (grub_checkkey): Likewise.
4770 (grub_getkeystatus): Likewise.
4771 * term/serial.c: Moved controller-specific parts to ...
4772 * term/ns8250.c: ... here.
4773 * term/serial.c: Mostly rewritten.
4774 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
4775 according to spec.
4776
21a313de
RM
47772010-08-20 Robert Millan <rmh@gnu.org>
4778
4779 Make kFreeBSD code more generic to support ext2fs as root, ufs as
4780 a separate module and maybe other interesting combinations.
4781
4782 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
4783 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
4784 (kfreebsd_entry): Add generic filesystem module load routine.
4785 Map GRUB `ext2' to kFreeBSD `ext2fs'.
4786
63c734a6
CW
47872010-08-20 Colin Watson <cjwatson@ubuntu.com>
4788
4789 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
4790 "numcenter" (I misunderstood the purpose of this entry).
4791 * docs/grub.texi (sendkey): Likewise.
4792
c4d16542
CW
47932010-08-20 Colin Watson <cjwatson@ubuntu.com>
4794
4795 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
4796 status flag options; simply omitting the option is equivalent and
4797 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
4798 (keysym_table): Rename "num5numlock" to "numlock".
4799 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
4800 can uniformly say that only the last of multiple `sendkey'
4801 invocations has any effect.
4802 * docs/grub.texi (sendkey): New section.
4803
93541d66
CW
48042010-08-19 Colin Watson <cjwatson@ubuntu.com>
4805
4806 * commands/i386/pc/sendkey.c (options): Fix three typos.
4807
b4ece5e1
VS
48082010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 Implement sendkey support.
4811
4812 * commands/i386/pc/sendkey.c: New file.
4813 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
4814 (sendkey_mod_SOURCES): New variable.
4815 (sendkey_mod_CFLAGS): Likewise.
4816 (sendkey_mod_LDFLAGS): Likewise.
4817
51f1f5af
CW
48182010-08-18 Colin Watson <cjwatson@ubuntu.com>
4819
4820 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
4821 fix warnings from Autoconf.
4822
9da94e05
CW
48232010-08-18 Colin Watson <cjwatson@ubuntu.com>
4824
4825 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
4826 to avoid false positives with some assemblers that output things
4827 like "someprefix_func" as part of their output.
4828
729a0f2e
RM
48292010-08-15 Robert Millan <rmh@gnu.org>
4830
4831 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
4832 errors.
4833 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
4834 grub_get_libzfs_handle() errors.
4835
f3710e08
RM
48362010-08-14 Robert Millan <rmh@gnu.org>
4837
4838 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
4839 filesystem is not ZFS.
4840
7a3c13de
BC
48412010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4842
4843 Fix for misspelled color names defaulting to black/black (bug
4844 reported by Doug Nazar)
4845
4846 * include/grub/normal.h (grub_parse_color_name_pair): Add return
4847 status to prototype.
4848 * normal/color.c (grub_parse_color_name_pair): Return failure
4849 status.
4850 (grub_env_write_color_normal): Ignore bad color names.
4851 (grub_env_write_color_highlight): Likewise.
4852 * normal/main.c (GRUB_MOD_INIT): Set default color names.
4853
ab8ba50d
BC
48542010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4855
4856 "shift" command support to GRUB script.
4857
4858 * include/grub/script_sh.h (grub_script_shift): New prototype.
4859 * script/execute.c (grub_script_shift): New function.
4860 * script/main.c (grub_script_init): Register shift command.
4861 (grub_script_fini): Unregister shift command.
4862 * util/grub-script-check.c (grub_script_cmd_shift): New function.
4863
4864 * tests/grub_script_shift.in: New testcase.
4865 * conf/tests.rmk: Rules for new testcase.
4866
4d61999e
BC
48672010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4868
4869 "continue" command support to GRUB script.
4870
4871 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
4872 (grub_script_break): Continue support.
4873 * script/main.c (grub_script_init): Register continue command.
4874 (grub_script_fini): Unregister continue command.
4875
4876 * tests/grub_script_continue.in: New testcase.
4877 * conf/tests.rmk: Rules for new testcase.
4878
4df51e00
BC
48792010-08-12 BVK Chaitanya <bvk@dbook>
4880
4881 "break" command support to GRUB script.
4882
4883 * conf/common.rmk: Rule updates to grub-script-check.
4884 * include/grub/misc.h (grub_min): New function.
4885 * include/grub/script_sh.h (grub_script_init): New prototype.
4886 (grub_script_fini): New prototype.
4887 (grub_script_break): New prototype.
4888 * script/main.c (grub_script_init): New function.
4889 (grub_script_fini): New function.
4890 * script/execute.c (grub_script_break): New function.
4891 * normal/main.c: Calls to grub_script_{init,fini}.
4892 * util/grub-script-check.c (grub_script_break): New function.
4893
4894 * tests/grub_script_break.in: New testcase.
4895 * conf/tests.rmk: Rules for new test case.
4896
f12c8420
BC
48972010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4898
4899 Function parameters support to GRUB script.
4900
4901 * script/yylex.l (VARIABLE): Regular expression update.
4902 * script/function.c (grub_script_function_call): Moved ...
4903 * script/execute.c (grub_script_function_call): ... to here.
4904 (grub_script_execute_arglist_to_argv): Removed.
4905 (grub_script_arglist_to_argv): New function.
4906 * script/argv.c: New file.
4907 (grub_script_argv_free): New function.
4908 (grub_script_argv_next): Likewise.
4909 (grub_script_argv_append): Likewise.
4910 (grub_script_argv_split_append): Likewise.
4911 * include/grub/script_sh.h (grub_script_argv): New struct.
4912 (grub_script_argv_free): New function.
4913 (grub_script_argv_next): Likewise.
4914 (grub_script_argv_append): Likewise.
4915 (grub_script_argv_split_append): Likewise.
4916
4917 * conf/common.rmk (normal.mod): New source script/argv.c.
4918
4919 * tests/grub_script_echo1.in: More tests.
4920 * tests/grub_script_vars1.in: Likewise.
4921 * tests/grub_script_functions.in: New test case.
4922 * conf/tests.rmk: Rules for new testcase.
4923
8022b748
BC
49242010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4925
4926 Remove grub_script_cmdblock struct.
4927
4928 * include/grub/script_sh.h: Remove grub_script_cmdblock.
4929 * script/parser.y: Likewise.
4930 * script/execute.c: Rename cmdblock suffix to cmdlist.
4931 * script/script.c: Likewise.
4932 * util/grub-script-check.c: Likewise.
4933
79a6ba61
YB
49342010-08-11 Yves Blusseau <blusseau@zetam.org>
4935
4936 * .bzrignore: add grub-macho2img
4937
d04b9414
VS
49382010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
4941
f947ab49
VS
49422010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 Remove the dump of sm712 initialisation sequence.
4945
4946 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
4947 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
4948 (GRUB_VGA_IO_MISC_WRITE): Likewise.
4949 (GRUB_VGA_CR_*): Added many registers.
4950 (GRUB_VGA_SR_*): Likewise.
4951 (GRUB_VGA_GR_*): Likewise.
4952 (grub_vga_write_arx): New function.
4953 (grub_video_hw_config): New struct.
4954 (grub_vga_set_geometry): New function.
4955 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
4956 GRUB_PCI_CLASS_SUBCLASS_VGA.
4957 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
4958 * video/sm712.c (grub_sm712_write_reg): New function
4959 (grub_sm712_read_reg): Likewise.
4960 (grub_sm712_sr_write): Likewise.
4961 (grub_sm712_gr_write): Likewise.
4962 (grub_sm712_cr_write): Likewise.
4963 (grub_sm712_write_arx): Likewise.
4964 (grub_sm712_cr_shadow_write): Likewise.
4965 (grub_sm712_write_dda_lookup): Likewise.
4966 (grub_video_sm712_setup): Initialise the video rather then
4967 blindly replay the dump.
4968 (main) [TEST]: Add a routine to be able to compile as standalone for
4969 tests.
4970 * video/sm712_init.c (sm712_init): Removed.
4971 (sm712_sr_seq1): New array.
4972 (sm712_sr_seq2): Likewise.
4973
f0206638
VS
49742010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * include/grub/vga.h: Add missing grub/pci.h include.
4977
2764da3b
YB
49782010-08-10 Yves Blusseau <blusseau@zetam.org>
4979
4980 * util/grub-macho2img.c (main): fix typo
4981
cf0c775e
VS
49822010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4983
4984 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
4985 (grub_vga_gr_read): Likewise.
4986 (grub_vga_cr_write): Likewise.
4987 (grub_vga_cr_read): Likewise.
4988 (grub_vga_sr_write): Likewise.
4989 (grub_vga_sr_read): Likewise.
4990 (grub_vga_palette_read): Likewise.
4991 (grub_vga_palette_write): Likewise.
4992 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
4993 (grub_sm712_sr_read): New function.
4994 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
4995 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
4996
07f360e9
RM
49972010-08-09 Robert Millan <rmh@gnu.org>
4998
4999 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
5000 out unused variables on non-ZFS build.
5001
346c2072
RM
50022010-08-08 Robert Millan <rmh@gnu.org>
5003
5004 Fix path generation for sub-filesystems in ZFS.
5005
5006 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
5007 missing slash.
5008
71175420
RM
50092010-08-08 Robert Millan <rmh@gnu.org>
5010
5011 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
5012
0d8286f3
RM
50132010-08-08 Robert Millan <rmh@gnu.org>
5014
5015 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
5016 exist, issue a proper error message (rely on `ls' for translated
5017 strings).
5018
55dd2924
RM
50192010-08-08 Robert Millan <rmh@gnu.org>
5020
5021 Fix grub-probe invocation.
5022
5023 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
5024
d3dd9e80
RM
50252010-08-04 Robert Millan <rmh@gnu.org>
5026
5027 * configure.ac: Remove checks for getfsstat() and getmntany().
5028 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
5029 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
5030 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
5031 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
5032 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
5033 function.
5034 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
5035 via find_mount_point_from_dir() and getfsstat() / getmntany().
5036
0de22aa9
RM
50372010-08-04 Robert Millan <rmh@gnu.org>
5038
5039 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5040 (grub_find_zpool_from_mount_point): Merge into ...
5041 (grub_find_zpool_from_dir): ... this.
5042 * kern/emu/misc.c: Likewise.
5043
5044 * kern/emu/misc.c
5045 (grub_make_system_path_relative_to_its_root): Replace
5046 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
5047 with grub_find_zpool_from_dir().
5048 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
5049
62858144
RM
50502010-08-04 Robert Millan <rmh@gnu.org>
5051
5052 Support OpenSolaris in ZFS device resolution.
5053
5054 * configure.ac: Check for getmntany().
5055 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
5056 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
5057 support.
5058
9dd6fd50
RM
50592010-08-03 Robert Millan <rmh@gnu.org>
5060
5061 Fix grub-emu build.
5062
5063 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
5064 * include/grub/emu/misc.h: ... here.
5065
5066 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
5067 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
5068
5069 * util/misc.c: Remove `<grub/util/libzfs.h>'.
5070 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
5071 (grub_get_libzfs_handle): Move to ...
5072 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
5073 (grub_get_libzfs_handle): ... here.
5074
c9f7ff97
BC
50752010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
5076
5077 * script/execute.c (grub_script_execute_cmdline): Check for NULL
5078 as command name case.
5079
a870a783
CW
50802010-08-02 Colin Watson <cjwatson@ubuntu.com>
5081
5082 * disk/raid.c (insert_array): Select unique numbers for named arrays
5083 as well, for use as keys in the disk cache.
5084
c7db243b
RM
50852010-08-01 Robert Millan <rmh@gnu.org>
5086
5087 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
5088 kFreeBSD device name, except on ZFS where the filesystem label is
5089 used.
5090 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
5091 `/boot/zfs/zpool.cache'.
5092 Set mountfrom kernel variable using ${kfreebsd_device}.
5093
f7abdefb
RM
50942010-08-01 Robert Millan <rmh@gnu.org>
5095
5096 Make it even harder to use uninitialized `libzfs_handle' (and
5097 make the interface a bit simpler).
5098
5099 * include/grub/util/misc.h (grub_util_init_libzfs)
5100 (libzfs_handle): Remove.
5101 (grub_get_libzfs_handle): New prototype.
5102
5103 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
5104 attribute.
5105 (grub_util_init_libzfs): Remove.
5106 (grub_get_libzfs_handle): New function.
5107
5108 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
5109 grub_get_libzfs_handle() to obtain a libzfs handle instead of
5110 accessing `libzfs_handle' directly.
5111
c882acc0
RM
51122010-08-01 Robert Millan <rmh@gnu.org>
5113
5114 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5115 (grub_find_zpool_from_mount_point): New function prototypes.
5116
5117 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5118 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5119
5120 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5121 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5122 `static' attribute.
5123
5124 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5125 finding zpool from mount point into ...
5126 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5127
5128 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5129 requested path is part of a ZFS pool, use
5130 grub_find_zpool_from_mount_point() to detect its filesystem name,
5131 and generate a path with `/fsname@path' syntax.
5132
8bfe31d8
CW
51332010-08-01 Colin Watson <cjwatson@ubuntu.com>
5134
5135 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
5136 (void) rather than () so that this is a proper prototype.
5137
553df63d
VS
51382010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
5141
8687cf07
VS
51422010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
5145 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
5146
ea9be8ea
CW
51472010-08-01 Colin Watson <cjwatson@ubuntu.com>
5148
5149 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
5150
6eea041a
CW
51512010-08-01 Colin Watson <cjwatson@ubuntu.com>
5152
5153 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
5154
2cfb45df
CW
51552010-08-01 Colin Watson <cjwatson@ubuntu.com>
5156
5157 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
5158 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
5159 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
5160 disable gfxpayload.
5161 (Shell-like scripting): Add real content.
5162 (Serial terminal): Suggest `terminal_input serial; terminal_output
5163 serial' rather than putting the two commands on separate lines,
5164 since console input will be inoperative after the first command.
5165 (menuentry): Document --class, --users, and --hotkey options.
5166 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
5167 Vladimir Serbinenko).
5168
7decd202
VS
51692010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
51702010-08-01 Colin Watson <cjwatson@ubuntu.com>
5171
5172 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
5173
c882acc0
RM
51742010-08-01 Robert Millan <rmh@gnu.org>
5175
5176 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5177 (grub_find_zpool_from_mount_point): New function prototypes.
5178
5179 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5180 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5181
5182 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5183 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5184 `static' attribute.
5185
5186 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5187 finding zpool from mount point into ...
5188 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5189
5190 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5191 requested path is part of a ZFS pool, use
5192 grub_find_zpool_from_mount_point() to detect its filesystem name,
5193 and generate a path with `/fsname@path' syntax.
5194
deb0caa3
RM
51952010-08-01 Robert Millan <rmh@gnu.org>
5196
5197 Prevent accidental use of uninitialized libzfs_handle.
5198
5199 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
5200 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
5201 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
5202
ce04ef47
CW
52032010-08-01 Colin Watson <cjwatson@ubuntu.com>
5204
5205 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
5206 util/grub.d/10_linux.in). Fixes Debian bug #591093.
5207
ebf53056
RM
52082010-08-01 Robert Millan <rmh@gnu.org>
5209
5210 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 5211
3710bb6b
RM
52122010-07-31 Robert Millan <rmh@gnu.org>
5213
5214 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
5215
8072efeb
RM
52162010-07-31 Robert Millan <rmh@gnu.org>
5217
5218 * kern/emu/misc.c: Add missing license header.
5219
3169f4c7
RM
52202010-07-31 Robert Millan <rmh@gnu.org>
5221
5222 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
5223
5224 * include/grub/util/libnvpair.h: Include `<config.h>'.
5225 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
5226 declaring libnvpair prototypes ourselves.
5227 * include/grub/util/libzfs.h: Include `<config.h>'.
5228 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
5229 declaring libzfs prototypes ourselves.
5230
5231 (libzfs_handle): Moved to ...
5232 * include/grub/util/misc.h (libzfs_handle): ... here.
5233 Include `<grub/util/libzfs.h>'.
5234
c9a00aee
RM
52352010-07-30 Robert Millan <rmh@gnu.org>
5236
5237 * include/grub/emu/misc.h: Add missing license header.
5238
a184f9c8
RM
52392010-07-30 Robert Millan <rmh@gnu.org>
5240
5241 Enable `grub-probe -t device' resolution on ZFS.
5242
5243 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
5244 * include/grub/util/libnvpair.h: New file.
5245 * include/grub/util/libzfs.h: New file.
5246
5247 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
5248 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
5249 `<grub/util/libnvpair.h>'.
5250 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
5251
5252 (find_mount_point_from_dir): New static function.
5253 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
5254 function.
5255 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
5256 find_root_device_from_libzfs() before ressorting to find_root_device().
5257
5258 * include/grub/util/misc.h (grub_util_init_libzfs): New function
5259 prototype.
5260 * util/misc.c: Include `<grub/util/libzfs.h>'.
5261 (grub_util_init_libzfs): New function.
5262 [HAVE_LIBZFS] (libzfs_handle): New global variable.
5263 [HAVE_LIBZFS] (fini_libzfs): New static function.
5264 (grub_util_init_libzfs): New function.
5265 * util/grub-probe.c (main): Call grub_util_init_libzfs().
5266
f7790cdd
RM
52672010-07-30 Robert Millan <rmh@gnu.org>
5268
5269 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
5270 (xmalloc, xrealloc, xstrdup, xasprintf): Add
5271 `warn_unused_result' attribute.
5272 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
5273 (grub_xasprintf, grub_xvasprintf): Likewise.
5274 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
5275
0806b63c
RM
52762010-07-29 Robert Millan <rmh@gnu.org>
5277
5278 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
5279 (probe): Handle `PRINT_FS_LABEL'.
5280 (main): Handle `-t fs_label'.
5281
9f841f5c
RM
52822010-07-29 Robert Millan <rmh@gnu.org>
5283
5284 * configure.ac: Remove grub-mkisofs checks.
5285
46371121
VS
52862010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * util/ieee1275/grub-install.in: Don't use empty grub_device.
5289 Reported by: Lennart Sorensen.
5290
52912010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
5294 prior to terminal_input/terminal_output separation. It's been over 1.5
5295 years and those versions weren't widely deployed.
5296
a9600892
CW
52972010-07-22 Colin Watson <cjwatson@ubuntu.com>
5298
5299 * disk/raid.c (insert_array): Don't count named arrays when looking
5300 for unused array numbers.
697e053c 5301 Reported and tested by: Michael Guntsche.
a9600892 5302
c03507df
CW
53032010-07-20 Colin Watson <cjwatson@ubuntu.com>
5304
5305 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
5306 implementation of this so that grub-emu links again, with a note
5307 that this should support hotplugging in the future.
5308
b26f1c11
CW
53092010-07-20 Colin Watson <cjwatson@ubuntu.com>
5310
5311 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
5312
efc9d7f1
CW
53132010-07-20 Colin Watson <cjwatson@ubuntu.com>
5314
5315 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
5316 handle on failure.
5317 (grub_loopback_close): Remove empty function.
5318 (grub_loopback_dev): Remove close method.
5319
dd8ff5c9
CW
53202010-07-20 Colin Watson <cjwatson@ubuntu.com>
5321
5322 Disable EFI cursor when the EFI console becomes inactive.
5323
5324 * term/efi/console.c (grub_efi_console_init): New function.
5325 (grub_efi_console_fini): New function.
5326 (grub_console_term_output): Register init and fini methods.
5327
5e3bec67
VS
53282010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * tests/util/grub-shell-tester.in: Remove bashism and declare as
5331 sh script.
5332
afaec079
VS
53332010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * disk/loopback.c (grub_loopback): Replace filename with file.
5336 (delete_loopback): Handle new semantics.
5337 (grub_cmd_loopback): Likewise.
5338 (grub_loopback_iterate): Likewise.
5339 (grub_loopback_close): Likewise.
5340
a6a11f3c
VS
53412010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
5344 with -p "".
5345 Reported by: Tito Keitel.
5346
64a638b0
VS
53472010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * docs/grub.texi (Naming convention): Document new naming convention.
5350
ab8ba957
VS
53512010-07-20 Vadim Solomin <vadic052@gmail.com>
53522010-07-20 Colin Watson <cjwatson@ubuntu.com>
5353
5354 Generate device.map in something closer to the old ordering.
5355
5356 * util/deviceiter.c (struct device): New declaration.
5357 (compare_file_names): Rename to ...
5358 (compare_devices): ... this. Sort by kernel name in preference to
5359 the stable by-id name, but keep the latter as a fallback comparison.
5360 Update header comment.
5361 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
5362 of `struct device' rather than of plain file names.
5363
a29d6a4b
TF
53642010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
5365
5366 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
5367 on i386.
5368
39d824e8
VS
53692010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 * commands/acpi.c (setup_common_tables): Use sizeof instead of
5372 hardcoding size.
5373 (setv1table): Likewise.
5374
f058276b
FZ
53752010-07-20 Colin Watson <cjwatson@ubuntu.com>
5376
5377 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
5378 removing the homehost if present.
5379 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
5380 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
5381 removing the homehost if present.
5382 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
5383 if possible.
5384 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
5385
5386 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
5387 parameter. Set its pointer target to 0.
5388 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
5389 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
5390 `data_offset' value from the superblock for 1.x metadata.
5391 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
5392 data on the device.
5393 (insert_array): Record the start sector of data on the device.
5394 (grub_raid_register): Pass start_sector parameters to
5395 grub_raid_list->detect and insert_array.
5396 * include/grub/raid.h (struct grub_raid_array): Add start_sector
5397 member.
5398 (struct grub_raid): Add start_sector parameter to `detect'.
5399
5400 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
5401 __attribute__ ((packed)), leaving a comment.
5402 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
5403 (grub_mdraid_detect_09): ... here and ...
5404 (grub_mdraid_detect_1x): ... here.
5405
54062010-07-20 Peter Henn <peter.henn@web.de>
5407
5408 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
5409 chunk size and disk size, which are already given as sector counts
5410 as distinct from the 0.90 units. Fetch the correct device number
5411 from the role table instead of using the table index.
5412
54132010-07-20 Felix Zielcke <fzielcke@z-51.de>
5414
5415 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
5416 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
5417 (WriteMostly1): New macro.
5418 Set array->name to NULL for metadata format 0.90. Add support for
5419 metadata 1.x. Fix some comments.
5420 * disk/raid.c (): Add support for name based RAID arrays. Fix a
5421 few comments.
5422 * util/getroot.c (grub_util_get_grub_dev): Add support for
5423 /dev/md/name style devices.
5424
4b761da9
CW
54252010-07-20 Colin Watson <cjwatson@ubuntu.com>
5426
5427 * .bzrignore: Ignore 20_linux_xen.
5428
5771289a
CW
54292010-07-17 Colin Watson <cjwatson@ubuntu.com>
5430
5431 * util/import_unicode.py: Remove unnecessary imports.
5432
5dab68df
AN
54332010-07-17 Aleš Nesrsta <starous@volny.cz>
5434
5435 Hotplugging and USB hub support.
5436
5437 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
5438 (grub_ohci): Likewise.
5439 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
5440 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
5441 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
5442 (GRUB_OHCI_CTRL_EDS): Likewise.
5443 (GRUB_OHCI_BULK_EDS): Likewise.
5444 (GRUB_OHCI_TDS): Likewise.
5445 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
5446 (grub_ohci_ed_phys2virt): New function.
5447 (grub_ohci_virt_to_phys): Likewise.
5448 (grub_ohci_td_phys2virt): Likewise.
5449 (grub_ohci_td_virt2phys): Likewise.
5450 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
5451 attachment.
5452 (grub_ohci_find_ed): New function.
5453 (grub_ohci_alloc_td): Likewise.
5454 (grub_ohci_free_td): Likewise.
5455 (grub_ohci_free_tds): Likewise.
5456 (grub_ohci_transfer): Use previously allocated memory.
5457 (grub_ohci_portstatus): Reset status changed bit.
5458 (grub_ohci_detect_dev): Supply status changed.
5459 (grub_ohci_fini_hw): Free memory.
5460 (grub_ohci_restore_hw): Reallocate memory.
5461 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
5462 Reset status change.
5463 (grub_uhci_detect_dev): Supply status_change.
5464 * bus/usb/usb.c (attach_hooks): New var.
5465 (grub_usb_device_attach): New function.
5466 (grub_usb_register_attach_hook_class): Likewise.
5467 (grub_usb_unregister_attach_hook_class): Likewise.
5468 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
5469 (grub_usb_add_hub): Reset connection changed bit.
5470 (attach_root_port): New function.
5471 (grub_usb_root_hub): Likewise.
5472 (poll_nonroot_hub): Likewise.
5473 (grub_usb_poll_devices): Likewise.
5474 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
5475 * disk/usbms.c (grub_usbms_open): Use device hooks.
5476 (grub_usbms_iterate) :Poll devices.
5477 (grub_usbms_finddevs): Split into ...
5478 (grub_usbms_attach): ... this ...
5479 (grub_usbms_attach): ... and this.
5480 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
5481 in detect_dev.
5482 (grub_usb_interface): New fields attached and detach_hook.
5483 (grub_usb_attach_hook_class): New type.
5484 (grub_usb_attach_desc): New struct.
5485 (grub_usb_register_attach_hook_class): New function.
5486 (grub_usb_unregister_attach_hook_class): Likewise.
5487 (grub_usb_poll_devices): Likewise.
5488 (grub_usb_device_attach): Likewise.
5489 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
5490 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
5491
3222efaf
VS
54922010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
5495 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
5496 delta determination style. Works with most NetBSD partitions too.
5497
139b714a
VS
54982010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
5501 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
5502
986aad56
VS
55032010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
5506
99be513c
AB
55072010-07-14 Anton Blanchard <anton@samba.org>
5508
5509 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
5510 ET_DYN files.
5511
18075f62
GS
55122010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5513
5514 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
5515
8d9a5b15
GS
55162010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5517
5518 * kern/partition.c (grub_partition_check_containment): New function to
5519 check that a partition is physically contained in a parent. Since
5520 offsets are relative (and non-negative), this reduces to checking that
5521 the partition ends before its parent.
5522 (grub_partition_map_probe): Discard out-of-range sub-partitions.
5523 (grub_partition_iterate): Likewise.
5524 * include/grub/partition.h (grub_partition_map): Slightly more detailed
5525 comments.
5526 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
5527 partitions that start before their parent, and add debug printfs.
5528
19563c25
CW
55292010-07-13 Colin Watson <cjwatson@ubuntu.com>
5530
5531 * Makefile.in (.SUFFIX): Spell correctly, as ...
5532 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
5533 bare module name without `.mod', e.g. `test') tried to invoke a
5534 Modula-2 compiler.
5535
1a1f1e67
CW
55362010-07-13 Colin Watson <cjwatson@ubuntu.com>
5537
5538 * README: Point to the Info manual.
5539
811b0dca
JS
55402010-07-13 Jiro SEKIBA <jir@unicus.jp>
5541
5542 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
5543 2nd superblock position from partition size.
5544
e4f4eafc
CW
55452010-07-10 Colin Watson <cjwatson@ubuntu.com>
5546
5547 * Makefile.in (MAINTAINER_CLEANFILES): Remove
5548 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
5549 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
5550 outputs.
5551
4274c30f
VS
55522010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5553
5554 Restructure SCSI .id handling.
5555 Reported and tested by: Aleš Nesrsta.
5556
5557 * disk/ata.c (grub_atapi_close): Removed. All users updated.
5558 (grub_atapi_dev): Changed .name to "ata". New field .id.
5559 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
5560 (grub_usbms_dev): New field .id.
5561 * disk/scsi.c (grub_scsi_iterate): Generate name.
5562 (grub_scsi_open): Parse name.
5563 * include/grub/scsi.h (grub_make_scsi_id): New function.
5564 (grub_scsi_dev): Change iterate and open to number instead of naming
5565 busses. All users updated.
5566 (grub_scsi): Remove name. Add .bus.
5567
5bc24388
VS
55682010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 * commands/help.c (grub_cmd_help): Fix a typo.
5571
249975ba
VS
55722010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5573
5574 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
5575 Reported and tested by: Colin Watson.
5576
3eaac1a1
VS
55772010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
5580 in this context.
5581
becce1b1
VS
55822010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
5585
f7bf0918
CW
55862010-07-07 Colin Watson <cjwatson@ubuntu.com>
5587
5588 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
5589 indentation.
5590
0b0f9620
CW
55912010-07-06 Colin Watson <cjwatson@ubuntu.com>
5592
5593 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
5594 and disk/raid6_recover.c.
5595 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5596 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
5597
1e545469
CW
55982010-07-06 Colin Watson <cjwatson@ubuntu.com>
5599
5600 * term/gfxterm.c (repaint_schedulded): Rename to ...
5601 (repaint_scheduled): ... this. Update all callers.
5602 (repaint_was_schedulded): Rename to ...
5603 (repaint_was_scheduled): ... this. Update all callers.
5604
5357687a
CW
56052010-07-06 Colin Watson <cjwatson@ubuntu.com>
5606
5607 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
5608 which we expect to be handled by upper layers.
5609
29d7e783
BC
56102010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
5611
5612 * bus/usb/usbhub.c: #include time.h header.
5613
37582066
CW
56142010-07-06 Colin Watson <cjwatson@ubuntu.com>
5615
5616 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
5617 entry_name also for entries without stat blocks (e.g. ".."); fixes
5618 corruption of the first entry in a directory.
5619
c8c06953
CW
56202010-07-06 Colin Watson <cjwatson@ubuntu.com>
5621
5622 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
5623 after setting gfxterm as the active terminal. GRUB_BACKGROUND
5624 doesn't work otherwise.
5625
e75056f1
CW
56262010-07-05 Colin Watson <cjwatson@ubuntu.com>
5627
5628 * docs/grub.texi (Features): Update list of supported file systems.
5629 (GNU/Linux): Update for GRUB 2.
5630 (Serial terminal): Remove mention of --disable-serial, which was a
5631 GRUB Legacy configure option. Update instructions to use
5632 `terminal_input' and `terminal_output' rather than `terminal'.
5633 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
5634 configuration' and `Installing GRUB using grub-install'.
5635 (Menu entry editor): Update for GRUB 2.
5636 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
5637 Document new -a, -u, and -v options.
5638 (initrd): New section.
5639 (initrd16): New section.
5640 (linux): New section.
5641 (linux16): New section.
5642 (search): The `var' argument to `--set' is optional.
5643 (GRUB only offers a rescue shell): Go into a little more detail on
5644 drive ordering.
5645
5cf69151
CW
56462010-07-05 Colin Watson <cjwatson@ubuntu.com>
5647
5648 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
5649
e3f90044
CW
56502010-07-05 Colin Watson <cjwatson@ubuntu.com>
5651
5652 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
5653 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
5654
38d8f4f3
CW
56552010-07-05 Colin Watson <cjwatson@ubuntu.com>
5656
5657 * util/i386/pc/grub-setup.c (setup): Rename prefix to
5658 install_prefix, in line with install_dos_part and install_bsd_part.
5659 Add new prefix variable, which is copied to install_prefix after
5660 comparing core.img in memory with the one read from disk in the
5661 no-embedding case, and use that rather than overwriting
5662 install_prefix immediately when installing to a partition.
5663 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
5664 Bicakci.
5665
57ebd41e
GS
56662010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
5667
5668 * configure.ac: Avoid == in test command, it's not portable.
5669 * util/grub.d/30_os-prober.in: Likewise.
5670
cb7f64b2
CW
56712010-07-04 Colin Watson <cjwatson@ubuntu.com>
5672
5673 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
5674
6b654bb0
GS
56752010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
5676
5677 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
5678 multiple (top-level) partmaps.
5679
72a2026d
VS
56802010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 5683 Reported by: Tino Keitel.
72a2026d 5684
df3eb88f
VS
56852010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 Bidi and diacritics support.
5688
5689 * Makefile.in (widthspec.bin): New target.
5690 (widthspec.h): Likewise.
5691 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
5692 * autogen.sh: Generate unidata.c.
5693 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
5694 * commands/ls.c (grub_ls_list_devices): Likewise.
5695 (grub_ls_list_files): Likewise.
5696 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
5697 (grub_mini_cmd_lsmod): Likewise.
5698 * commands/read.c: Likewise.
5699 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
5700 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
5701 * lib/arg.c (grub_arg_show_help): Likewise.
5702 * lib/crypto.c (grub_password_get): Likewise.
5703 * normal/auth.c (grub_username_get): Likewise.
5704 * normal/misc.c (grub_normal_print_device_info): Likewise.
5705 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
5706 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
5707 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
5708 (normal/charset.c_DEPENDENCIES): New variable.
5709 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
5710 (pkglib_MODULES): Remove charset.mod.
5711 (charset_mod_SOURCES): Removed.
5712 (charset_mod_CFLAGS): Likewise.
5713 (charset_mod_LDFLAGS): Likewise.
5714 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
5715 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
5716 and term/tparm.c.
5717 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5718 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5719 (kernel_img_HEADERS): Add terminfo.h.
5720 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
5721 Fill ->font. Reverse ascii bitmaps.
5722 (grub_font_get_xheight): New function.
5723 * font/font.c (grub_font_get_string_width): Moved from here ...
5724 * gfxmenu/font.c (grub_font_get_string_width): ... here.
5725 * font/font.c (grub_font_draw_string): Moved from here ...
5726 * gfxmenu/font.c (grub_font_draw_string): ... here.
5727 * font/font.c (grub_font_dup_glyph): New function.
5728 (grub_font_blit_glyph): Likewise.
5729 (grub_font_blit_glyph_mirror): Likewise.
5730 (blit_comb): Likewise.
5731 (grub_font_construct_dry_run): Likewise.
5732 (grub_font_get_constructed_device_width): Likewise.
5733 (grub_font_construct_glyph): Likewise.
5734 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
5735 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
5736 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
5737 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
5738 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
5739 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
5740 (grub_font_get_xheight): New proto.
5741 (grub_font_get_constructed_device_width): Likewise.
5742 (grub_font_construct_glyph): Likewise.
5743 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
5744 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
5745 * include/grub/font.h (grub_font_draw_string): Moved from here ...
5746 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
5747 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
5748 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
5749 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
5750 (grub_console_getcharwidth): Likewise.
5751 * include/grub/misc.h (grub_xputs): New proto.
5752 (grub_puts): Inlined.
5753 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
5754 (grub_normal_get_line_counter): Removed.
5755 (grub_install_newline_hook): Likewise.
5756 (grub_normal_get_char_counter): New proto.
5757 (grub_normal_reset_more): Likewise.
5758 (grub_xputs_normal): Likewise.
5759 * include/grub/powerpc/ieee1275/console.h: Removed.
5760 * include/grub/sparc64/ieee1275/console.h: Likewise.
5761 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
5762 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
5763 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
5764 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
5765 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
5766 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
5767 (grub_term_input): Pass reference to self. All users updated.
5768 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
5769 Pass reference to self. New fields normal_color, highlight_color and
5770 data. All users updated.
5771 (grub_putchar): Removed.
5772 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
5773 (grub_unicode_estimate_width): New function.
5774 (grub_term_getcharwidth): Add defaults.
5775 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
5776 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
5777 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
5778 (grub_cls): Remove EXPORT_FUNC.
5779 (grub_setcolorstate): Inline.
5780 (grub_newline_hook): Removed.
5781 * include/grub/terminfo.h: Rewritten. All users updated.
5782 * include/grub/unicode.h: New file.
5783 * include/grub/video.h (grub_video_signed_rect): New type.
5784 * kern/emu/console.c (grub_console_highlight_color): Removed.
5785 (grub_console_normal_color): Likewise.
5786 (grub_console_standard_color): Made static.
5787 (grub_ncurses_putchar): Remove mapping.
5788 (grub_ncurses_getcharwidth): Removed.
5789 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
5790 (grub_ncurses_setcolor): Removed.
5791 (grub_ncurses_getcolor): Likewise.
5792 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
5793 (grub_console_putchar): ... this.
5794 (grub_console_putchar): Handle argument difference.
5795 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
5796 console_init_early and console_init_lately.
5797 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
5798 * kern/misc.c (grub_puts): Removed.
5799 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
5800 (grub_vsnprintf_real): Remove str = NULL support.
5801 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
5802 * normal/charset.c (grub_utf8_to_ucs4): ... here.
5803 * kern/term.c (grub_putcode): Renamed to ...
5804 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
5805 (grub_putchar): Removed.
5806 (grub_xputs_dumb): New function.
5807 (grub_xputs): New variable.
5808 * lib/charset.c: Move from here ...
5809 * normal/charset.c: ... to here.
5810 (grub_ucs4_to_utf8): New function.
5811 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
5812 (join_types): New variable.
5813 (unpack_join): New function.
5814 (bidi_types): New variable.
5815 (unpack_bidi): New function.
5816 (get_bidi_type): Likewise.
5817 (get_join_type): Likewise.
5818 (is_mirrored): Likewise.
5819 (grub_unicode_get_comb_type): Likewise.
5820 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
5821 (is_type_after): Likewise.
5822 (grub_unicode_aglomerate_comb): Likewise.
5823 (bidi_line_wrap): Likewise.
5824 (grub_bidi_line_logical_to_visual): Likewise.
5825 (grub_bidi_logical_to_visual): Likewise.
5826 (grub_unicode_mirror_code): Likewise.
5827 (grub_unicode_shape_code): Likewise.
5828 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
5829 Don't use grub_putchar.
5830 * normal/main.c (grub_normal_init_page): Use grub_putcode.
5831 (grub_normal_reader_init): Likewise.
5832 (grub_xputs_saved): New variable.
5833 (GRUB_MOD_INIT): Set grub_xputs.
5834 (GRUB_MOD_FINI): Restore grub_xputs.
5835 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
5836 (menu_init): Avoid printing gfxmenu error.
5837 (show_menu): Use grub_normal_get_char_counter.
5838 * normal/menu_entry.c (update_screen): Fix out-of-array.
5839 (complete): Avoid NULL dereferencing.
5840 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
5841 * normal/menu_text.c (print_spaces): Removed.
5842 (grub_print_ucs4): Likewise.
5843 (grub_print_message_indented): Use grub_print_ucs4.
5844 (print_message): Use grub_putcode.
5845 (print_entry): Hanlde diacritics.
5846 * normal/term.c (term_state): New type.
5847 (grub_more_lines): Removed.
5848 (term_states): New variable.
5849 (grub_normal_line_counter): Renamed to ..
5850 (grub_normal_char_counter): ...this. All users updated.
5851 (grub_normal_get_line_counter): Renamed to ...
5852 (grub_normal_get_char_counter): ... this.
5853 (grub_normal_reset_more): New function.
5854 (process_newline): Removed.
5855 (print_more): New function.
5856 (grub_install_newline_hook): Removed.
5857 (map_code): New function.
5858 (grub_puts_terminal): Use grub_print_ucs4.
5859 (putglyph): New function.
5860 (putcode_real): Likewise.
5861 (grub_putcode): Use putcode_real.
5862 (get_maxwidth): New function.
5863 (get_startwidth): Likewise.
5864 (print_ucs4_terminal): Likewise.
5865 (find_term_state): Likewise.
5866 (put_glyphs_terminal): Likewise.
5867 (print_backlog): Likewise.
5868 (print_ucs4_real): Likewise.
5869 (grub_print_ucs4): Likewise.
5870 (grub_xputs_normal): Likewise.
5871 * term/efi/console.c (grub_console_putchar): Output diacritics.
5872 (grub_console_getcharwidth): Removed.
5873 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5874 * term/gfxterm.c (clear_char): Free chars.
5875 (scroll_up): Avoid leaking memory.
5876 (grub_gfxterm_putchar): Support diacritics.
5877 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5878 * term/i386/pc/console.c (grub_console_term_output): Declare as
5879 GRUB_TERM_CODE_TYPE_VGA.
5880 * term/i386/pc/vga.c (grub_vga_term): Declare as
5881 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
5882 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
5883 GRUB_TERM_CODE_TYPE_VGA.
5884 * term/i386/vga_common.c (map_char): Removed.
5885 (grub_console_putchar): Likewise.
5886 (grub_console_getcharwidth): Likewise.
5887 * term/ieee1275/ofconsole.c: Simplify using terminfo.
5888 (colors): Reordered to match terminfo.
5889 (grub_ofconsole_normal_color): Removed.
5890 (grub_ofconsole_writeesc): Likewise.
5891 (grub_ofconsole_highlight_color): Likewise.
5892 (grub_ofconsole_getcharwidth): Likewise.
5893 (grub_ofconsole_setcolorstate): Likewise.
5894 (grub_ofconsole_setcolor): Likewise.
5895 (grub_ofconsole_getcolor): Likewise.
5896 (grub_ofconsole_readkey): Renamed to ...
5897 (readkey): ... this. Remove escape sequence handling. Return -1 on no
5898 key.
5899 (grub_ofconsole_checkkey): Removed.
5900 (grub_ofconsole_getkey): Likewise.
5901 (grub_ofconsole_getxy): Likewise.
5902 (grub_ofconsole_gotoxy): Likewise.
5903 (grub_ofconsole_cls): Likewise.
5904 (grub_ofconsole_refresh): Likewise.
5905 (grub_ofconsole_terminfo_input): New struct.
5906 (grub_ofconsole_terminfo_output): Likewise.
5907 (grub_ofconsole_term_input): Use terminfo.
5908 (grub_ofconsole_term_output): Likewise.
5909 (grub_console_init): Split into ...
5910 (grub_console_init_early): ...this and ...
5911 (grub_console_init_lately): ...this. Use terminfo.
5912 (grub_ofconsole_putchar): Renamed to ...
5913 (put): ... this. Remove mapping.
5914 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
5915 * term/serial.c: Simplify using terminfo.
5916 (xpos): Removed.
5917 (ypos): Likewise.
5918 (keep_track): Likewise.
5919 (registered): Likewise.
5920 (input_buf): Likewise.
5921 (npending): Likewise.
5922 (serial_translate_key_sequence): Likewise.
5923 (fill_input_buf): Likewise.
5924 (grub_serial_checkkey): Likewise.
5925 (grub_serial_getkey): Likewise.
5926 (grub_serial_getxy): Likewise.
5927 (grub_serial_gotoxy): Likewise.
5928 (grub_serial_putchar): Likewise.
5929 (grub_serial_cls): Likewise.
5930 (grub_serial_setcolorstate): Likewise.
5931 (grub_serial_setcursor): Likewise.
5932 (serial_hw_init): Use serial_hw_fetch.
5933 (grub_serial_terminfo_input): New variable.
5934 (grub_serial_terminfo_output): Likewise.
5935 (grub_serial_term_input): Use terminfo.
5936 (grub_serial_term_output): Likewise.
5937 * term/terminfo.c (putstr): Use put.
5938 (grub_terminfo_all_free): New function
5939 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
5940 (grub_terminfo_output_register): New function.
5941 (grub_terminfo_output_unregister): Likewise.
5942 (grub_terminfo_getxy): Likewise.
5943 (grub_terminfo_readkey): Likewise.
5944 (grub_terminfo_checkkey): Likewise.
5945 (grub_terminfo_getkey): Likewise.
5946 (grub_terminfo_input_init): Likewise.
5947 (print_terminfo): Likewise.
5948 (grub_cmd_terminfo): Handle encoding.
5949 (grub_terminfo_gotoxy): Track position.
5950 (grub_terminfo_cls): Likewise.
5951 (grub_terminfo_putchar): Likewise.
5952 (grub_terminfo_setcolorstate): Handle colors
5953 (grub_terminfo_cursor_on): This ...
5954 (grub_terminfo_cursor_off): ... and this merged into ...
5955 (grub_terminfo_setcursor): ... this.
5956 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
5957 * unicode/ArabicShaping.txt: New file (imported from Unicode).
5958 * unicode/BidiMirroring.txt: Likewise.
5959 * unicode/UnicodeData.txt: Likewise.
5960 * unicode/COPYING: Likewise.
5961 * util/grub-editenv.c (grub_putchar): Removed.
5962 (grub_xputs_real): New function.
5963 (grub_xputs): New variable.
5964 * util/grub-fstest.c (grub_putchar): Removed.
5965 (grub_xputs_real): New function.
5966 (grub_xputs): New variable.
5967 * util/grub-mkdevicemap.c (grub_putchar): Removed.
5968 (grub_xputs_real): New function.
5969 (grub_xputs): New variable.
5970 * util/grub-probe.c (grub_putchar): Removed.
5971 (grub_xputs_real): New function.
5972 (grub_xputs): New variable.
5973 * util/grub-script-check.c (grub_putchar): Removed.
5974 (grub_xputs_real): New function.
5975 (grub_xputs): New variable.
5976 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
5977 (grub_xputs_real): New function.
5978 (grub_xputs): New variable.
5979 * util/import_unicode.py: New file.
5980 * util/grub-mkfont.c (ft_errmsgs): New array.
5981 (grub_glyph_info): Make bitmap a pointer.
5982 (file_formats): New type WIDTH_SPEC.
5983 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
5984 (options): Add width-spec.
5985 (help): Likewise.
5986 (add_char): Renamed to ...
5987 (add_glyph): ... this.
5988 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
5989 (glyph_replace): New type.
5990 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
5991 (add_char): New function.
5992 (add_subst): Likewise.
5993 (process_cursive): Likewise.
5994 (add_font): Handle GSUB.
5995 (write_font_width_spec): New function.
5996 (main): Sort glyphs.
5997 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
5998 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
5999 * kern/term.c (grub_cls): Moved from here...
6000 * normal/term.c (grub_cls): ... here.
6001
50f0bcda
CW
60022010-07-02 Colin Watson <cjwatson@ubuntu.com>
6003
6004 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
6005 suitable for using within the format argument of printf when
6006 converting grub_size_t.
6007 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
6008 "x" to convert grub_size_t arguments.
6009
40372103
VS
60102010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
6013 too long captions.
6014 (list_get_minimal_size): Take selection box into account.
6015
942a10c7
VS
60162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6017
6018 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
6019 NULL font.
6020
2bdb2892
CW
60212010-07-02 Colin Watson <cjwatson@ubuntu.com>
6022
6023 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
6024 devices when iterating over /dev/disk/by-id; they will be handled
6025 later if appropriate, which they aren't always (e.g. LVM).
6026
e03ed6c1
CW
60272010-07-02 Colin Watson <cjwatson@ubuntu.com>
6028
6029 * include/grub/misc.h (grub_reboot): Declare as noreturn.
6030 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
6031 fails.
6032 (grub_halt): Likewise.
6033 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
6034 reset-all fails.
6035 (grub_halt): Don't return, even if all of shut-down, power-off, and
6036 poweroff fail.
6037
47695765
CW
60382010-07-02 Colin Watson <cjwatson@ubuntu.com>
6039
6040 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
6041 arguments, not three.
6042
507736c8
CW
60432010-07-02 Colin Watson <cjwatson@ubuntu.com>
6044
6045 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
6046 * util/grub.d/10_linux.in: Use it to check for LVM, so that
6047 LVM-on-RAID is handled correctly.
6048
e3c8cd37
CW
60492010-07-02 Colin Watson <cjwatson@ubuntu.com>
6050
6051 * docs/grub.texi (Changes from GRUB Legacy): New section.
6052 (Future): Fix typo.
6053
8d4a2fec
CW
60542010-07-02 Colin Watson <cjwatson@ubuntu.com>
6055
6056 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
6057 grub.d/README accidentally ends up executable for one reason or
6058 another. Ignore it.
6059
1c4827be
VS
60602010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
6063 (gpt_partition_map_iterate): Support non-512B sectors.
6064
d9a0c941
VS
60652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 * kern/efi/init.c (grub_efi_init): Disable watchdog.
6068 Tested by: Seth Goldberg.
6069
48f27e87
VS
60702010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
6073 Properly align mbi.
6074 Reported by: Seth Goldberg.
6075
b0c4f956
VS
60762010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * util/grub-mkrescue.in: Avoid module duplication.
6079
105a2e8c
SF
60802010-07-01 Sean Finney <seanius@seanius.net>
6081
6082 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
6083
5944958c
SF
60842010-07-01 Sean Finney <seanius@seanius.net>
6085
6086 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
6087
60882010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * disk/lvm.c (grub_lvm_checkvalue): New function.
6091 (grub_lvm_check_flag): Likewise.
6092
b79889ba
RM
60932010-07-01 Robert Millan <rmh@gnu.org>
6094
6095 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
6096 Support 'p' as partition separator on kernel of FreeBSD (used
6097 with GPT labels).
6098 (grub_util_biosdisk_get_grub_dev): Likewise.
6099
ec1d04f1
VS
61002010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 Yeeloong firmware port.
6103
6104 * boot/mips/yeeloong/fwstart.S: New file.
6105 * bus/cs5536.c (gpiodump): New const.
6106 (set_io_space): New function.
6107 (set_iod): Likewise.
6108 (set_p2d): Likewise.
6109 (grub_cs5536_init_geode): Likewise.
6110 * commands/mips/yeeloong/lsspd.c: New file.
6111 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
6112 (serial_mod_SOURCES): New variable.
6113 (serial_mod_CFLAGS): Likewise.
6114 (serial_mod_LDFLAGS): Likewise.
6115 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
6116 term/terminfo.c and term/tparm.c.
6117 (pkglib_IMAGES): Add fwstart.img.
6118 (fwstart_img_SOURCES): New variable.
6119 (fwstart_img_CFLAGS): Likewise.
6120 (fwstart_img_ASFLAGS): Likewise.
6121 (fwstart_img_LDFLAGS): Likewise.
6122 (fwstart_img_FORMAT): Likewise.
6123 (pkglib_MODULES): Add lsspd.mod.
6124 (lsspd_mod_SOURCES): New variable.
6125 (lsspd_mod_CFLAGS): Likewise.
6126 (lsspd_mod_LDFLAGS): Likewise.
6127 (pkglib_MODULES): Add halt.mod.
6128 (halt_mod_SOURCES): New variable.
6129 (halt_mod_CFLAGS): Likewise.
6130 (halt_mod_LDFLAGS): Likewise.
6131 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
6132 (serial_mod_SOURCES): Removed.
6133 (serial_mod_CFLAGS): Likewise.
6134 (serial_mod_LDFLAGS): Likewise.
6135 * disk/ata.c (check_device): New function.
6136 (grub_ata_device_initialize): Use check_device.
6137 (grub_ata_iterate): Recheck devices.
6138 (grub_ata_open): Likewise.
6139 (grub_atapi_iterate): Likewise.
6140 (grub_atapi_open): Likewise.
6141 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
6142 (GRUB_ATA_CH1_PORT1): Likewise.
6143 (GRUB_ATA_CH0_PORT2): Likewise.
6144 (GRUB_ATA_CH1_PORT2): Likewise.
6145 * include/grub/mips/loongson.h: New file.
6146 * include/grub/mips/yeeloong/ec.h: Likewise.
6147 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
6148 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
6149 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
6150 * include/grub/misc.h (grub_halt): Declare as noreturn.
6151 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
6152 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
6153 (UART_ENABLE_FIFO_TRIGGER1): New definition.
6154 (UART_ENABLE_DTRRTS): Likewise.
6155 (UART_ENABLE_MODEM): Removed.
6156 (UART_ENABLE_OUT2): New const.
6157 * include/grub/term.h (grub_term_register_input_active): New function.
6158 (grub_term_register_output_active): Likewise.
6159 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
6160 argument.
6161 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
6162 (init_pci): New function.
6163 (grub_machine_init): Execute platform init when firmware. Init serial.
6164 (grub_halt): Implement.
6165 (grub_exit): Likewise.
6166 (grub_reboot): Likewise.
6167 * term/serial.c (serial_hw_init): Update macros.
6168 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
6169 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
6170 (image_targets): New target mipsel-yeeloong-flash.
6171 (generate_image): Support IMAGE_YEELOONG_FLASH.
6172 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
6173 (grub_video_sm712_setup): Init card.
6174 (grub_video_sm712_set_palette): Removed.
6175 * video/sm712_init.c: New file.
6176
ff4a70d2
CW
61772010-06-30 Colin Watson <cjwatson@ubuntu.com>
6178
6179 * Makefile.in (install-local): Temporarily prepend $(builddir) to
6180 PATH when running help2man and then run it on the unadorned
6181 executable names, rather than passing $(builddir)/* paths to
6182 help2man. This avoids the build directory ending up in generated
6183 manual pages.
6184
1246efeb
CW
61852010-06-29 Colin Watson <cjwatson@ubuntu.com>
6186
6187 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
6188 to avoid accidents when debugging with 'sh -x'.
6189 * util/grub-mkrescue.in: Likewise.
6190 * util/grub.d/00_header.in: Likewise.
6191 * util/grub.d/10_hurd.in: Likewise.
6192 * util/grub.d/10_kfreebsd.in: Likewise.
6193 * util/grub.d/10_linux.in: Likewise.
6194 * util/grub.d/10_netbsd.in: Likewise.
6195 * util/grub.d/10_windows.in: Likewise.
6196 * util/grub.d/20_linux_xen.in: Likewise.
6197 * util/grub.d/30_os-prober.in: Likewise.
6198 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6199
1ba9b889
CW
62002010-06-29 Colin Watson <cjwatson@ubuntu.com>
6201
6202 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
6203 last character in the buffer.
6204 Reported by: Vladimir Serbinenko.
6205
dccaf99d
RM
62062010-06-29 Robert Millan <rmh@gnu.org>
6207
6208 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
6209 (Command-line and menu entry commands): Document `badram' command.
6210
d500ed12
RM
62112010-06-28 Robert Millan <rmh@gnu.org>
6212
6213 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
6214 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
6215 command using ${GRUB_BADRAM} as parameter.
6216
20bc84a6
CW
62172010-06-28 Colin Watson <cjwatson@ubuntu.com>
6218
6219 * docs/grub.texi (Device map): New section.
6220 (Themes): New section (stub).
6221 * Makefile.in (docs/grub.info): The info documentation now builds
6222 without errors. Make sure it stays that way.
6223
4045dee1
VS
62242010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 Use normal parser for menu entries.
6227 Reported by: Thomas Frauendorfer
6228
6229 * include/grub/parser.h (grub_parser_execute): Don't export.
6230 * normal/menu.c (grub_menu_execute_entry_real): New function.
6231 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
6232
bca58c7b
CW
62332010-06-28 Colin Watson <cjwatson@ubuntu.com>
6234
6235 * docs/grub.texi (Embedded configuration): New section (replacing
6236 old "Preset Menu" stub).
6237 (Images): New section.
6238 (configfile): Note that any menu entries defined in `file' are shown
6239 immediately.
6240
dec53e63
JT
62412010-06-28 Josh Triplett <josh@joshtriplett.org>
6242
6243 * mmap/i386/pc/mmap_helper.S: Set CF on return.
6244
c06e40f7
CW
62452010-06-28 Colin Watson <cjwatson@ubuntu.com>
6246
6247 * util/grub-install.in: Add --debug-image= option.
6248
cb88052b
CW
62492010-06-28 Colin Watson <cjwatson@ubuntu.com>
6250
6251 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
6252 possible on Linux.
6253
6254 * util/deviceiter.c (check_device): Rename to ...
6255 (check_device_readable_unique): ... this. Update all callers.
6256 Maintain and check a list of which devices (by canonicalized name)
6257 have already been seen.
6258 (clear_seen_devices): New function.
6259 (compare_file_names) [__linux__]: New function.
6260 (grub_util_iterate_devices): Clear the list of seen devices on exit
6261 and (just in case) on entry.
6262 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
6263 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
6264 seen-devices list, superseded by general code in check_device.
6265
bbe34652
CW
62662010-06-28 Colin Watson <cjwatson@ubuntu.com>
6267
6268 * commands/cat.c (options): New variable.
6269 (grub_cmd_cat): Parse options. If the --dos option is given, print
6270 DOS-style "\r\n" line endings as simple newlines (Debian bug
6271 #586358).
6272 (GRUB_MOD_INIT): Use extcmd.
6273 (GRUB_MOD_FINI): Likewise.
6274 * docs/grub.texi (cat): Document --dos.
6275
412e09f3
VS
62762010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 XEN with Linux grub-mkconfig support.
6279
6280 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
6281 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
6282 GRUB_CMDLINE_XEN_DEFAULT.
6283 * util/grub.d/20_linux_xen.in: New file.
6284
53f3ef38 62852010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
6286
6287 Initialise VGA video on qemu ourselves.
6288
6289 * boot/i386/qemu/boot.S: Don't call 0xc000.
6290 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
6291 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
6292 (kernel_img_HEADERS): Add pci.h.
6293 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
6294 * configure.ac: Force unifont on qemu and yeeloong.
6295 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
6296 (grub_vga_palette_write): Use correct register.
6297 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
6298 Call grub_qemu_init_cirrus.
6299 * kern/i386/qemu/init.c: New file.
6300 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
6301
6302 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
6303
c75be4fb
PR
63042010-06-26 Pavel Roskin <proski@gnu.org>
6305
6306 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
6307 13.
6308
d8034603
CW
63092010-06-26 Colin Watson <cjwatson@ubuntu.com>
6310
6311 * docs/grub.texi (Simple configuration): Explain that
6312 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
6313 set to `true' to disable their respective recovery entries, not
6314 merely set.
6315
3fa06487
CW
63162010-06-26 Colin Watson <cjwatson@ubuntu.com>
6317
6318 Make the `source' command slightly faster.
6319
6320 * normal/main.c (grub_normal_execute): Don't re-read list files when
6321 nested.
6322
e9b29642
CW
63232010-06-23 Colin Watson <cjwatson@ubuntu.com>
6324
6325 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
6326 field position and mask size to red fields from mode_info, not
6327 green.
6328 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
6329 Remove redundant tag->common.framebuffer_type assignment.
6330 Reported by: Seth Goldberg.
6331
e726542f
CW
63322010-06-23 Colin Watson <cjwatson@ubuntu.com>
6333
6334 Sync up other versions of the Linux loader with Robert Millan's
6335 change of 2010-01-09, "Make loader output a bit more user-friendly".
6336
6337 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
6338 grub_dprintf().
6339 (grub_cmd_linux): Likewise.
6340 (grub_cmd_initrd): Likewise.
6341 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
6342 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6343
d6e98a17
CW
63442010-06-21 Colin Watson <cjwatson@ubuntu.com>
6345
6346 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
6347 larger than MEMORY_MAP_SIZE.
6348
14d3f08e
BC
63492010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
6350
6351 Fix parallel build.
6352
6353 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
6354 dependency.
6355 * script/parser.y: #include grub_script.tab.h header.
6356
4f9613a3
VS
63572010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 Support >3GiB and <16MiB RAM in i386-qemu.
6360
6361 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
6362 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
6363 (grub_lower_mem): Removed.
6364 (grub_upper_mem): Likewise.
6365 (mem_size): Made static.
6366 (above_4g): New variable.
6367 (grub_machine_mmap_init): Detect small mem_size and above_4g.
6368 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
6369 support.
6370
05e51879
VS
63712010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 Cirrus 5446 and Bochs video cards support.
6374
6375 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
6376 video_bochs.mod
6377 (video_cirrus_mod_SOURCES): New variable.
6378 (video_cirrus_mod_CFLAGS): Likewise.
6379 (video_cirrus_mod_LDFLAGS): Likewise.
6380 (video_bochs_mod_SOURCES): Likewise.
6381 (video_bochs_mod_CFLAGS): Likewise.
6382 (video_bochs_mod_LDFLAGS): Likewise.
6383 * include/grub/vga.h: New file.
6384 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
6385 (grub_video_fb_set_page_t): New type.
6386 (grub_video_fb_setup): New prototype.
6387 (grub_video_fb_swap_buffers): Likewise.
6388 (grub_video_fb_get_info_and_fini): Likewise.
6389 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
6390 (CRTC_DATA_PORT): Likewise.
6391 (CRTC_CURSOR): Likewise.
6392 (CRTC_CURSOR_ADDR_HIGH): Likewise.
6393 (CRTC_CURSOR_ADDR_LOW): Likewise.
6394 (CRTC_CURSOR_DISABLE): Likewise.
6395 (update_cursor): Use grub_vga_cr_write.
6396 (grub_vga_text_setcursor): Likewise.
6397 * video/bochs.c: New file.
6398 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
6399 (palette): Likewise.
6400 (palette_size): Likewise.
6401 (framebuffer): New variable.
6402 (grub_video_fb_init): Use 'framebuffer'.
6403 (grub_video_fb_fini): Likewise.
6404 (grub_video_fb_get_info): Likewise.
6405 (grub_video_fb_get_palette): Likewise.
6406 (grub_video_fb_set_palette): Likewise.
6407 (grub_video_fb_set_viewport): Likewise.
6408 (grub_video_fb_get_viewport): Likewise.
6409 (grub_video_fb_map_color): Likewise.
6410 (grub_video_fb_map_rgb): Likewise.
6411 (grub_video_fb_map_rgba): Likewise.
6412 (grub_video_fb_unmap_color): Likewise.
6413 (grub_video_fb_unmap_color_int): Likewise.
6414 (grub_video_fb_fill_rect): Likewise.
6415 (grub_video_fb_blit_bitmap): Likewise.
6416 (grub_video_fb_blit_render_target): Likewise.
6417 (grub_video_fb_scroll): Likewise.
6418 (grub_video_fb_create_render_target): Likewise.
6419 (grub_video_fb_doublebuf_blit_init): Likewise.
6420 (grub_video_fb_set_active_render_target): Handle doublebuffering.
6421 (doublebuf_pageflipping_update_screen): New function.
6422 (doublebuf_pageflipping_init): Likewise.
6423 (grub_video_fb_setup): Likewise.
6424 (grub_video_fb_swap_buffers): Likewise.
6425 (grub_video_fb_get_info_and_fini): Likewise.
6426 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
6427 All users updated.
6428 (doublebuf_pageflipping_commit): Restructured into ...
6429 (doublebuf_pageflipping_set_page): ... this.
6430 (doublebuf_pageflipping_update_screen): Removed.
6431 (doublebuf_pageflipping_init): Likewise.
6432 (double_buffering_init): Likewise.
6433 (grub_video_vbe_setup): Use grub_video_fb_setup.
6434 (grub_video_vbe_swap_buffers): Removed.
6435 (grub_video_vbe_set_active_render_target): Likewise.
6436 (grub_video_vbe_get_active_render_target): Likewise.
6437 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
6438 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
6439 grub_video_fb_set_active_render_target and
6440 grub_video_fb_get_active_render_target.
6441 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
6442 (SEQUENCER_DATA_PORT): Likewise.
6443 (MAP_MASK_REGISTER): Likewise.
6444 (CRTC_ADDR_PORT): Likewise.
6445 (CRTC_DATA_PORT): Likewise.
6446 (START_ADDR_HIGH_REGISTER): Likewise.
6447 (START_ADDR_LOW_REGISTER): Likewise.
6448 (GRAPHICS_ADDR_PORT): Likewise.
6449 (GRAPHICS_DATA_PORT): Likewise.
6450 (READ_MAP_REGISTER): Likewise.
6451 (INPUT_STATUS1_REGISTER): Likewise.
6452 (INPUT_STATUS1_VERTR_BIT): Likewise.
6453 (get_map_mask): Use grub_vga_sr_read.
6454 (set_map_mask): Use grub_vga_sr_write.
6455 (set_read_map): Use grub_vga_gr_write.
6456 (set_start_address): Use grub_vga_cr_write.
6457 * video/sm712.c (framebuffer): Remove leftover fields.
6458
4321c64a
CW
64592010-06-20 Colin Watson <cjwatson@ubuntu.com>
6460
6461 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
6462 setting GRUB_VIDEO_BACKEND. Make it available as a user override
6463 instead. Replace the gfxterm backend check with a check that
6464 ${GRUB_PREFIX}/video.lst is non-empty.
6465 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
6466 again.
6467 (load_video): New generated function. Call it before loading
6468 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
6469 * util/grub.d/10_linux.in (linux_entry): Call load_video.
6470 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
6471 * docs/grub.texi (Simple configuration): Document
6472 GRUB_VIDEO_BACKEND.
6473
64742010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 Use video functions in linux and xnu loaders.
6477
6478 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
6479 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
6480 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
6481 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
6482 loader/i386/pc/linux.c.
6483 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
6484 (find_line_len): Removed.
6485 (find_framebuf): Likewise.
6486 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
6487 * loader/i386/efi/xnu.c: Removed.
6488 * loader/i386/pc/xnu.c: Moved from here...
6489 * loader/i386/xnu.c: ...here.
6490
6491 Enable priorities in video drivers.
6492
6493 * include/grub/video.h (grub_video_adapter_prio_t): New type.
6494 (grub_video_adapter): New field prio.
6495 (grub_video_register): Respect prio when inserting.
6496 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
6497 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
6498 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
6499 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
6500 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
6501 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
6502 * video/sm712.c (grub_video_sm712_adapter): Likewise.
6503
6504 Fix SDL driver ID.
6505
6506 * include/grub/video.h (grub_video_driver_id_t): New value
6507 GRUB_VIDEO_DRIVER_SDL.
6508 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
6509
7d24e434
CW
65102010-06-17 Colin Watson <cjwatson@ubuntu.com>
6511
6512 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
6513 argument to printf.
6514 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6515
c88a83f6
CW
65162010-06-17 Colin Watson <cjwatson@ubuntu.com>
6517
6518 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
6519 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6520
094dfb69
CW
65212010-06-17 Colin Watson <cjwatson@ubuntu.com>
6522
6523 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
6524 directly, and recommend grub-install instead.
6525 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6526
2164da6b
CW
65272010-06-17 Colin Watson <cjwatson@ubuntu.com>
6528
6529 Fix i386-pc prefix handling with nested partitions (Debian bug
6530 #585068). Note that the case where the core image is booted using
6531 multiboot and relocated from its original location still requires
6532 more work.
6533
6534 * kern/i386/pc/init.c (make_install_device): If the prefix starts
6535 with "(,", fill the boot drive in between those two characters, but
6536 expect that a full partition specification including partition map
6537 names will follow.
6538 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
6539 specified, write a prefix without the drive name but including a
6540 full partition specification.
6541
044e2e60
CW
65422010-06-16 Colin Watson <cjwatson@ubuntu.com>
6543
6544 * util/grub-mkconfig.in: Ignore non-option arguments, for
6545 compatibility with older versions (before 2010-06-12) which did the
6546 same. In particular, this makes it easier to ship an update-grub
6547 wrapper which is compatible with that used with GRUB Legacy (Debian
6548 bug #586056).
6549
5591324f
GS
65502010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6551
6552 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
6553 for manual page generation.
6554
662e24d5
GS
65552010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6556
6557 * po/POTFILES: Remove leftover commands/handler.c.
6558
8d70754e
CW
65592010-06-14 Colin Watson <cjwatson@ubuntu.com>
6560
6561 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
6562 left this script non-functional.
6563
41160e2e
CW
65642010-06-14 Colin Watson <cjwatson@ubuntu.com>
6565
6566 * docs/man/grub-emu.h2m: New file.
6567
b5309cc1
CW
65682010-06-13 Colin Watson <cjwatson@ubuntu.com>
6569
6570 * docs/grub.texi (Commands): Document reduced command set in rescue
6571 mode.
6572 (cpuid): New section.
6573
fcb2d090
GS
65742010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
6575
6576 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
6577 new partition naming style.
6578 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
6579
96e5c556
BC
65802010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
6581
6582 Add "-o grub.iso" like cmdline options support.
6583
6584 * util/grub-install.in: Improve cmdline option parsing.
6585 * util/grub-mkconfig.in: Likewise.
6586 * util/grub-mkrescue.in: Likewise.
6587 * util/grub-reboot.in: Likewise.
6588 * util/grub-set-default.in: Likewise.
6589 * util/i386/efi/grub-install.in: Likewise.
6590 * util/ieee1275/grub-install.in: Likewise.
6591 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6592
c16be99b
CW
65932010-06-12 Colin Watson <cjwatson@ubuntu.com>
6594
6595 * .bzrignore: Ignore 41_custom.
6596
ce08a9fb
TS
65972010-06-12 Thomas Schmitt <scdbackup@gmx.net>
6598
6599 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
6600
7beac90c
CW
66012010-06-12 Colin Watson <cjwatson@ubuntu.com>
6602
6603 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
6604 prototype declarations.
6605
6606 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
6607 generating fs, partmap, and video lists.
6608 * include/grub/fs.h (grub_fs_register): Omit prototype if
6609 GRUB_LST_GENERATOR is defined.
6610 * include/grub/partition.h (grub_partition_map_register): Likewise.
6611 * include/grub/video.h (grub_video_register): Likewise.
6612
1c8f0f8d
JM
66132010-06-12 Javier Martín <lordhabbit@gmail.com>
6614
6615 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
6616
a6085973
TS
66172010-06-12 Thomas Schmitt <scdbackup@gmx.net>
6618
6619 * util/grub-mkrescue.in: Support --xorriso argument.
6620
25c56d29
VS
66212010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
6624 Suggested by: Thomas Schmitt.
6625
e03e4b24
VS
66262010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
6629 Suggested by: Thomas Schmitt.
6630
57711df6
VS
66312010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 custom.cfg support.
6634
6635 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
6636 * util/grub.d/41_custom.in: New file.
6637
ee62c427
CW
66382010-06-12 Colin Watson <cjwatson@ubuntu.com>
6639
6640 * util/grub-mkrescue.in (make_image): Remove sh module, which has
6641 been merged back into normal.
6642
283af07a
CW
66432010-06-11 Colin Watson <cjwatson@ubuntu.com>
6644
6645 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
6646 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
6647
56a0d956
CW
66482010-06-11 Colin Watson <cjwatson@ubuntu.com>
6649
6650 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
6651 when generating manual pages.
6652 * docs/man/grub-bin2h.h2m: New file.
6653 * docs/man/grub-editenv.h2m: New file.
6654 * docs/man/grub-fstest.h2m: New file.
6655 * docs/man/grub-install.h2m: New file.
6656 * docs/man/grub-macho2img.h2m: New file.
6657 * docs/man/grub-mkconfig.h2m: New file.
6658 * docs/man/grub-mkdevicemap.h2m: New file.
6659 * docs/man/grub-mkfont.h2m: New file.
6660 * docs/man/grub-mkimage.h2m: New file.
6661 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
6662 * docs/man/grub-mkrelpath.h2m: New file.
6663 * docs/man/grub-mkrescue.h2m: New file.
6664 * docs/man/grub-ofpathname.h2m: New file.
6665 * docs/man/grub-pe2elf.h2m: New file.
6666 * docs/man/grub-probe.h2m: New file.
6667 * docs/man/grub-reboot.h2m: New file.
6668 * docs/man/grub-script-check.h2m: New file.
6669 * docs/man/grub-set-default.h2m: New file.
6670 * docs/man/grub-setup.h2m: New file.
6671
3a37e322
VS
66722010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
6673
6674 Use FOR_* macros instead of *_iterate whenever possible.
6675
6676 * commands/handler.c: Removed.
6677 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
6678 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
6679 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6680 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
6681 (grub_probe_SOURCES): Remove kern/parser.c.
6682 (util/grub-script-check.c_DEPENDENCIES): Removed.
6683 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
6684 and grub_script_check_init.c.
6685 (grub_script_check_init.lst): Removed.
6686 (grub_script_check_init.h): Likewise.
6687 (grub_script_check_init.c): Likewise.
6688 (pkglib_MODULES): Remove handler.mod and sh.mod.
6689 (handler_mod_SOURCES): Removed.
6690 (handler_mod_CFLAGS): Likewise.
6691 (handler_mod_LDFLAGS): Likewise.
6692 (normal_mod_SOURCES): Remove normal/handler.c.
6693 Add script/main.c, script/script.c, script/execute.c,
6694 script/function.c, script/lexer.c, grub_script.tab.c
6695 and grub_script.yy.c.
6696 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6697 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6698 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
6699 (grub_setup_SOURCES): Remove kern/parser.c.
6700 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6701 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
6702 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
6703 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6704 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6705 (grub_setup_SOURCES): Remove kern/parser.c.
6706 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6707 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
6708 * include/grub/command.h (grub_command_iterate): Removed.
6709 (FOR_COMMANDS): New macro.
6710 * include/grub/dl.h (grub_dl): New member next.
6711 (grub_dl_iterate): Removed.
6712 (grub_dl_head): New variable declaration.
6713 (FOR_DL_MODULES): New macro.
6714 * include/grub/fs.h: Include list.h.
6715 (grub_fs): Make next first element.
6716 (grub_fs_list): New variable declaration.
6717 (grub_fs_register): Make inline.
6718 (grub_fs_unregister): Likewise.
6719 (grub_fs_iterate): Removed.
6720 (FOR_FILESYSTEMS): New macro.
6721 * include/grub/handler.h: Removed.
6722 * include/grub/list.h (grub_list_hook_t): Removed.
6723 (grub_list_test_t): Likewise.
6724 (grub_list_pop): Likewise.
6725 (grub_list_iterate): Likewise.
6726 (grub_list_insert): Likewise.
6727 (FOR_LIST_ELEMENTS): New macro.
6728 * include/grub/parser.h (grub_parser_class): Removed.
6729 (grub_parser_register): Likewise.
6730 (grub_parser_unregister): Likewise.
6731 (grub_parser_get_current): Likewise.
6732 (grub_parser_set_current): Likewise.
6733 (grub_register_rescue_parser): Likewise.
6734 (grub_rescue_parse_line): New function.
6735 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
6736 * include/grub/script_sh.h (grub_script_function_list): New variable
6737 declaration.
6738 (FOR_SCRIPT_FUNCTIONS): New macro.
6739 (grub_script_function_iterate): Removed.
6740 (grub_normal_parse_line): New prototype.
6741 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
6742 (FOR_DISABLED_TERM_INPUTS): Likewise.
6743 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
6744 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
6745 * include/grub/video.h (grub_video_adapter): Move 'next' to first
6746 element.
6747 (grub_video_register): Inline.
6748 (grub_video_unregister): Likewise.
6749 (grub_video_adapter_list): New variable declaration.
6750 (grub_video_iterate): Removed.
6751 (FOR_VIDEO_ADAPTERS): New macro.
6752 * kern/dl.c (grub_dl_list): Removed. All users updated.
6753 (grub_dl_iterate): Removed.
6754 * kern/fs.c (grub_fs_list): Make global.
6755 (grub_fs_register): Removed.
6756 (grub_fs_unregister): Likewise.
6757 (grub_fs_iterate): Likewise.
6758 * kern/handler.c: Removed.
6759 * kern/list.c (grub_list_pop): Removed.
6760 (grub_list_iterate): Likewise.
6761 (grub_list_insert): Likewise.
6762 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
6763 (grub_prio_list_insert): Don't use grub_list_insert.
6764 * kern/main.c (grub_register_rescue_parser): Don't call
6765 grub_register_rescue_parser.
6766 * kern/parser.c (grub_parser_class): Removed.
6767 (grub_parser_execute): Use grub_rescue_parse_line.
6768 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
6769 (grub_rescue_parser): Removed.
6770 (grub_register_rescue_parser): Likewise.
6771 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
6772 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
6773 (grub_auth_check_authentication): Likewise.
6774 * normal/completion.c (iterate_command): Removed.
6775 (grub_normal_do_completion): Use FOR_COMMANDS.
6776 * normal/handler.c: Removed.
6777 * normal/main.c (read_config_file): Remove parser changing.
6778 (grub_normal_execute): Don't call read_handler_list.
6779 (grub_normal_read_line_real): Statically allocate prompt.
6780 (grub_cmdline_run): Use grub_normal_parse_line.
6781 (GRUB_MOD_FINI): Don't call free_handler_list.
6782 * normal/menu_entry.c (run): Likewise.
6783 * script/function.c (grub_script_function_list): Make global.
6784 (grub_script_function_iterate): Removed.
6785 * script/main.c (grub_normal_parse_line): Make global.
6786 (grub_sh_parser): Removed.
6787 (GRUB_MOD_INIT): Likewise.
6788 (GRUB_MOD_FINI): Likewise.
6789 * tests/lib/functional_test.c (grub_functional_test): Use
6790 FOR_LIST_ELEMENTS.
6791 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
6792 (grub_test_run): Use FOR_LIST_ELEMENTS.
6793 * tests/lib/unit_test.c (main): Likewise.
6794 * util/deviceiter.c (grub_util_iterate_devices): Don't use
6795 grub_list_pop.
6796 * util/grub-fstest.c (grub_term_input_class): Removed.
6797 (grub_term_output_class): Likewise.
6798 * util/grub-probe.c: Likewise.
6799 * util/i386/pc/grub-setup.c: Likewise.
6800 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6801 * util/grub-script-check.c (main): Don't call grub_init_all and
6802 grub_fini_all.
6803 * video/video.c (grub_video_adapter_list): Make global.
6804 (grub_video_register): Removed.
6805 (grub_video_unregister): Likewise.
6806 (grub_video_iterate): Likewise.
6807
6289c3a7
VS
68082010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
6811 reported by Henrique Ferreiro.
6812
91460247
RM
68132010-06-09 Robert Millan <rmh@gnu.org>
6814
6815 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
6816 ones, when both are available.
6817
0ea7c4f9
GS
68182010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6819
6820 Make --version uniform and avoid hard-coded program name.
6821
6822 * util/grub-mkimage.c (main): Use `program_name' instead of
6823 hard-coded string.
6824 * util/i386/pc/grub-setup.c (main): Likewise.
6825 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
6826 * util/grub-install.in: Save the basename of $0 in $self, and use the
6827 latter in informational messages. Use the same format for --version
6828 as the binary programs.
6829 * util/grub-mkconfig.in: Likewise.
6830 * util/grub-mkrescue.in: Likewise.
6831 * util/grub-reboot.in: Likewise.
6832 * util/grub-set-default.in: Likewise.
6833 * util/i386/efi/grub-install.in: Likewise.
6834 * util/ieee1275/grub-install.in: Likewise.
6835 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6836
e8a6f3b6
GS
68372010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6838
6839 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
6840 embedding area. Use <= instead of == when checking for non-emptiness.
6841
f4d095d7
GS
68422010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6843
6844 * configure.ac: Add `.' to the directories searched for unifont.
6845
50e532ca
CW
68462010-06-08 Colin Watson <cjwatson@ubuntu.com>
6847
6848 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
6849 grub_script.yy.h.
6850
d39f3dec
CW
68512010-06-08 Colin Watson <cjwatson@ubuntu.com>
6852
6853 * docs/grub.texi (History): Expand to cover GRUB 2.
6854 (Serial terminal): Refer to `terminal_input' and `terminal_output'
6855 commands, not `terminal'.
6856 (serial): Likewise.
6857 (terminal_input): New section.
6858 (terminal_output): New section.
6859 (uppermem): New section (stub).
6860 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
6861
6ef0ddb4
CW
68622010-06-08 Colin Watson <cjwatson@ubuntu.com>
6863
6864 * docs/grub.texi (Security): Menu entries are unrestricted by
6865 default, not restricted to superusers as I had previously thought.
6866 Reword to account for this.
6867
e0f4c438
CW
68682010-06-07 Colin Watson <cjwatson@ubuntu.com>
6869
6870 * kern/emu/misc.c (device_mapper_null_log): New function.
6871 (grub_device_mapper_supported): New function.
6872 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
6873 prototype.
6874 * kern/emu/hostdisk.c (find_partition_start): Check whether
6875 device-mapper is supported before trying to use it.
6876 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
6877
da908200
CW
68782010-06-07 Colin Watson <cjwatson@ubuntu.com>
6879
6880 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
6881 (File name syntax): Likewise.
6882 (help): --all is no longer supported in GRUB 2. Be more precise
6883 about pattern matching.
6884
fb55c3ac
CW
68852010-06-07 Colin Watson <cjwatson@ubuntu.com>
6886
6887 * normal/completion.c (grub_normal_do_completion): When completing
6888 arguments to "set" and the current word contains an equals sign,
6889 skip to after the equals sign before starting completion.
6890
258c2573
CW
68912010-06-07 Colin Watson <cjwatson@ubuntu.com>
6892
6893 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
6894
ee75515e
CW
68952010-06-07 Colin Watson <cjwatson@ubuntu.com>
6896
6897 * docs/grub.texi (Network): New section.
6898 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
6899 `(nd)' as in GRUB Legacy.
6900 (pxe_unload): New section.
6901
a6a700aa
CW
69022010-06-07 Colin Watson <cjwatson@ubuntu.com>
6903
6904 * docs/grub.texi (Troubleshooting): `echo' is not usually available
6905 in the rescue shell, so recommend using `set' instead. Thanks,
6906 Jordan Uggla.
6907
4003dd38
CW
69082010-06-07 Colin Watson <cjwatson@ubuntu.com>
6909
6910 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
6911 (password): New section.
6912 (password_pbkdf2): New section.
6913 (search): New section.
6914 (Security): New section.
6915 (Troubleshooting): New section, currently very incomplete.
6916 (Invoking grub-mkpasswd-pbkdf2): New section.
6917 (Internals): New section, currently very incomplete.
6918
e1cbcc40
CW
69192010-06-07 Colin Watson <cjwatson@ubuntu.com>
6920
6921 * util/grub.d/00_header.in: Add some more quoting (of
6922 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
6923 work again.
6924 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
6925
db8fa1ad
CW
69262010-06-07 Colin Watson <cjwatson@ubuntu.com>
6927
6928 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
6929 to `count', fixing variable shadowing that broke the -c option.
6930
69312010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
6932
6933 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
6934 in case they contain spaces.
6935
f28a9212
CW
69362010-06-04 Colin Watson <cjwatson@ubuntu.com>
6937
6938 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
6939 "part_" to partmap module names, in line with grub-install.
6940 Reported by: Jindřich Makovička (Debian bug #584426).
6941
9cdfe32f
CW
69422010-06-04 Colin Watson <cjwatson@ubuntu.com>
6943
6944 * util/grub-mkimage.c: Make target-related error messages slightly
6945 more helpful; -O talks about "format". Explicitly point to the use
6946 of -O if no target is specified.
6947 Reported by: Didier Raboud (Debian bug #584415).
6948
795b593a
CW
69492010-06-03 Colin Watson <cjwatson@ubuntu.com>
6950
6951 * INSTALL: Document several build requirements for optional features
6952 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
6953
9d9b5833
GS
69542010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6955
6956 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
6957 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
6958 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
6959
0819fec8
CW
69602010-06-02 Colin Watson <cjwatson@ubuntu.com>
6961
6962 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
6963 Thanks to Jordan Uggla for spotting this.
6964
49396b4f
VS
69652010-06-02 Aleš Nesrsta <starous@volny.cz>
6966
6967 Finally make USB usable.
6968
6969 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
6970 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
6971 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
6972 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
6973 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
6974 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
6975 (GRUB_OHCI_FSMPS): Likewise.
6976 (GRUB_OHCI_PERIODIC_START): Likewise.
6977 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
6978 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
6979 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
6980 (GRUB_OHCI_SET_PORT_RESET): Likewise.
6981 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
6982 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
6983 (grub_ohci_transaction): Likewise.
6984 (grub_ohci_transfer): Improve condition detection algorithms.
6985 Handle toggle property. Program the transactions correctly.
6986 Improve error handling. Various important fixups.
6987 (grub_ohci_portstatus): Put register writes in right order.
6988 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
6989 (grub_uhci_transfer): Don't show "failed" message on success.
6990 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
6991 array.
6992 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
6993 determine its size.
6994 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
6995 before initialization is completed. Use IN direction for empty
6996 transfers. Use last_trans and compute toggle.
6997 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
6998 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
6999 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
7000 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
7001 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
7002 (grub_usb_device): Increase toggle to 256.
7003 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
7004 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
7005 GRUB_USBMS_SUBCLASS_SFF8070.
7006 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
7007 (grub_scsi_inquiry): New member page and alloc_length.
7008 (grub_scsi_request_sense): New structure.
7009 (grub_scsi_request_sense_data): Likewise.
7010 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
7011 control.
7012 * disk/scsi.c (grub_scsi_request_sense): New function.
7013 (grub_scsi_test_unit_ready): Likewise.
7014 (grub_scsi_inquiry): Fill new fields.
7015 (grub_scsi_read_capacity): Likewise.
7016 (grub_scsi_read10): Add request sense at the end.
7017 (grub_scsi_read12): Likewise.
7018 (grub_scsi_write10): Likewise.
7019 (grub_scsi_write12): Likewise.
7020 (grub_scsi_open): Add Test Unit Ready.
7021 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
7022 Support additional subclasses. Con't clear halt yet. Activate the
7023 proper config. Calculate LUNs correctly.
7024 (grub_usbms_transfer): Various important fixups.
7025
70262010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
7029 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
7030 (grub_ohci_fini_hw): New function.
7031 (grub_ohci_restore_hw): Likewise.
7032 (GRUB_MOD_INIT(ohci)): Register preboot hook.
7033 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
7034 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
7035
70362010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 Dedicated DMA allocations.
7039
7040 * bus/pci.c (grub_memalign_dma32): New function
7041 (grub_dma_free): Likewise.
7042 (grub_dma_get_virt): Likewise.
7043 (grub_dma_get_phys): Likewise.
7044 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
7045 (grub_ohci_pci_iter): Use dma32_alloc.
7046 (grub_ohci_transfer): Likewise.
7047 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7048 (grub_usb_bulk_readwrite): Likewise.
7049 * include/grub/pci.h: Add declarations.
7050
70512010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 CS5536 support.
7054
7055 * bus/cs5536.c: New file.
7056 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
7057 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
7058 (cs5536_mod_SOURCES): New variable.
7059 (cs5536_mod_CFLAGS): Likewise.
7060 (cs5536_mod_LDFLAGS): Likewise.
7061 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
7062 machine/pci.h.
7063 (kernel_img_SOURCES): Add bus/cs5536.c.
7064 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
7065 usb_keyboard.mod.
7066 (usb_mod_SOURCES): New variable.
7067 (usb_mod_CFLAGS): New variable.
7068 (usb_mod_LDFLAGS): New variable.
7069 (usbtest_mod_SOURCES): New variable.
7070 (usbtest_mod_CFLAGS): New variable.
7071 (usbtest_mod_LDFLAGS): New variable.
7072 (ohci_mod_SOURCES): New variable.
7073 (ohci_mod_CFLAGS): New variable.
7074 (ohci_mod_LDFLAGS): New variable.
7075 (usbms_mod_SOURCES): New variable.
7076 (usbms_mod_CFLAGS): New variable.
7077 (usbms_mod_LDFLAGS): New variable.
7078 (usb_keyboard_mod_SOURCES): New variable.
7079 (usb_keyboard_mod_CFLAGS): New variable.
7080 (usb_keyboard_mod_LDFLAGS): New variable.
7081 * include/grub/smbus.h: New file.
7082 * include/grub/cs5536.h: New file.
7083
0b35b2a9
CW
70842010-06-02 Colin Watson <cjwatson@ubuntu.com>
7085
7086 * util/grub.d/00_header.in: Add safety check to make sure that
7087 ${locale_dir} exists before trying to probe it.
7088
ca0afd5b
CW
70892010-06-02 Colin Watson <cjwatson@ubuntu.com>
7090
7091 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
7092 per the GNU Coding Standards; this is now too obscure to be worth
7093 documenting.
7094 (QNX): Likewise.
7095 (chainloader): Remove cross-reference to `SCO UnixWare'.
7096
1c41aa78
CW
70972010-06-02 Colin Watson <cjwatson@ubuntu.com>
7098
7099 * docs/grub.texi (Chain-loading): New section.
7100 (DOS/Windows): New section, borrowed from GRUB Legacy with details
7101 adjusted for GRUB 2.
7102 (SCO UnixWare): Likewise.
7103 (QNX): Likewise.
7104 (chainloader): Add reference to `Block list syntax'.
7105 (drivemap): New section.
7106 (parttool): New section.
7107
bb8ea0f5
CW
71082010-06-02 Colin Watson <cjwatson@ubuntu.com>
7109
7110 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
7111 the grub shell'.
7112 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
7113 (Installing GRUB using grub-install): Remove reference to the grub
7114 shell; mention `grub-mkimage' and `grub-setup' instead.
7115 (Invoking grub-install): Likewise.
7116 (Interface): Add reference to `Menu entry editor'.
7117 (serial): Remove `--device' option.
7118
288dd6ed
CW
71192010-06-02 Colin Watson <cjwatson@ubuntu.com>
7120
7121 * docs/grub.texi (Configuration): New section, documenting
7122 configuration file generation using grub-mkconfig. I've left a slot
7123 for documenting the full shell scripting format but have not yet
7124 started on writing that up.
7125 (Invoking grub-mkconfig): New section.
7126
34c9f0e9
CW
71272010-06-02 Colin Watson <cjwatson@ubuntu.com>
7128
7129 * docs/grub.texi (direntry): Remove grub-terminfo reference.
7130 (GNU GRUB manual): Likewise.
7131 (General commands): Update description of `terminfo' for GRUB 2.
7132
9121567e
CW
71332010-06-02 Colin Watson <cjwatson@ubuntu.com>
7134
7135 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
7136 (GRUB_MOD_INIT): Fix capitalisation.
7137 * docs/grub.texi (Command-line and menu entry commands): Document
7138 gettext and gptsync commands.
7139
ab631611
CW
71402010-06-02 Colin Watson <cjwatson@ubuntu.com>
7141
7142 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
7143 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
7144
bde4a9ac
CW
71452010-06-01 Colin Watson <cjwatson@ubuntu.com>
7146
7147 Add btrfs probing support, currently only in the single-device case.
7148
7149 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
7150 function.
7151 (grub_guess_root_device): Call find_root_device_from_mountinfo
7152 before looking in /dev.
7153
b1d17e10
VS
71542010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
7157 GRUB_DISK_SIZE_UNKNOWN.
7158 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
7159
dfbfe004
JS
71602010-05-31 Jiro SEKIBA <jir@unicus.jp>
7161
7162 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
7163 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
7164 corrupted or not synced properly.
7165
c2ffc8e9
VS
71662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
7169 Reported by: Seth Goldberg.
7170
56293166
VS
71712010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
7174 addition of dest.
7175 Reported by: Seth Goldberg.
7176
7620e7de
VS
71772010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7178
7179 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
7180 Reported by: Seth Goldberg.
7181
c837af3f
VS
71822010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
7185 64-bit address as signed on MIPS.
7186
c7c75cf4
CW
71872010-05-28 Colin Watson <cjwatson@ubuntu.com>
7188
7189 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
7190 to the empty string.
7191
fa4b8490
BC
71922010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
7193
7194 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
7195
7196 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
7197 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
7198 * kern/misc.c (__enable_execute_stack): Disable on
7199 GRUB_MACHINE_EMU.
7200
a33075b9
CW
72012010-05-28 Colin Watson <cjwatson@ubuntu.com>
7202
7203 Make grub-probe work with symbolic links under /dev/mapper as well
7204 as with real block devices. The Linux world seems to be (at best)
7205 in transition here, and GRUB shouldn't get caught in the middle.
7206
7207 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
7208 /dev/mapper.
7209
d8708134
CW
72102010-05-27 Colin Watson <cjwatson@ubuntu.com>
7211
7212 * util/grub-script-check.c (main): Ensure defined behaviour on empty
7213 input files (in which case exit zero).
7214
db2102a0
CW
72152010-05-27 Colin Watson <cjwatson@ubuntu.com>
7216
7217 * kern/emu/misc.c (canonicalize_file_name): realpath can still
7218 return NULL for various reasons even if it has a maximum-length
7219 buffer: for example, there might be a symlink loop, or the path
7220 might exceed PATH_MAX. If this happens, return NULL.
7221
5fdba519
RM
72222010-05-27 Robert Millan <rmh@gnu.org>
7223
7224 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
7225 partmap module to handle cross-partmap setups.
7226 Reported by Orestes Mas. Gràcies!
7227
d1d368e4
CW
72282010-05-27 Colin Watson <cjwatson@ubuntu.com>
7229
7230 * util/grub-mkrescue.in: Initialise override_dir rather than
7231 assuming that it's unset or empty in the environment.
7232
95ac3c73
GS
72332010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
7234
7235 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
7236 variable index into p_index to suppress a warning with -Wshadow.
7237
7d8c0213
BC
72382010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
7239
7240 * INSTALL: Added flex >= 2.5.35 requirement.
7241
db4d5813
VS
72422010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
7245
f24f4300
VS
72462010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7247
7248 cmostest support.
7249
7250 * commands/i386/cmostest.c: New file.
7251 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
7252 (cmostest_mod_SOURCES): New variable.
7253 (cmostest_mod_CFLAGS): Likewise.
7254 (cmostest_mod_LDFLAGS): Likewise.
7255 * conf/i386-pc.rmk: Likewise.
7256 * docs/grub.texi (Vendor power-on keys): New section.
7257 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
7258 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
7259 and GRUB_BUTTON_CMOS_ADDRESS.
7260 * util/grub.d/00_header.in: Handle powering-on by separate button.
7261
ad603f61
VS
72622010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
7265 Removed drawing_scrollbar argument. All users updated
7266 Fixes #29792.
7267 Reported by Jo Shields
7268
3ecb080a
VS
72692010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
7272 buffer since gfxterm handles double repaint.
7273
5f2316c1
VS
72742010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
7277 * term/gfxterm.c (real_scroll): Likewise.
7278
9a25f885
VS
72792010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
7282 before calling BIOS.
7283
39fbb79a
VS
72842010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * include/grub/i18n.h: Always enable grub_gettext.
7287
228cfa97
VS
72882010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
7291 partition naming style.
7292
21717c8f
CW
72932010-05-21 Colin Watson <cjwatson@ubuntu.com>
7294
7295 * util/grub-mkconfig.in: Fix handling of -o so that it works when
7296 not the first option.
7297
c0f48e65
CW
72982010-05-20 Colin Watson <cjwatson@ubuntu.com>
7299
7300 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
7301
96779aec
CW
73022010-05-20 Colin Watson <cjwatson@ubuntu.com>
7303
7304 * util/misc.c: Move inclusion of <limits.h> to ...
7305 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
7306
fa9d256e
GS
73072010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
7308
7309 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
7310 Fix merge error in NetBSD code.
7311 (find_partition_start) [__NetBSD__]: Likewise.
7312
123b7a85
BC
73132010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
7314
7315 Fix grub-mkrescue usage unit testing.
7316
7317 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
7318
74276c0d
CF
73192010-05-18 Christian Franke <franke@computer.org>
7320
7321 * util/grub.d/10_windows.in: Use path names instead of
7322 drive letters to prevent warning from Cygwin 1.7.
7323 Add drivemap command to menuentry if needed.
7324
c4f7b523
ST
73252010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
7326
7327 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
7328 gnumach and gnumach.gz.
7329
95b97950
VS
73302010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 * include/grub/i18n.h (gettext): Inline instead of using #define.
7333 (grub_gettext): Likewise.
7334 (_): Likewise.
7335
01b8d2d7
VS
73362010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
7339 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
7340 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
7341 (main): Add a slash after pkglibdirroot.
7342
654e1d1e
VS
73432010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * util/grub-install.in: Add missing "in" keyword.
7346
26966aeb
VS
73472010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
7350 Reported by: Seth Goldberg.
7351
75006747
VS
73522010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
7355
74cbf5bd
CW
73562010-05-18 Colin Watson <cjwatson@ubuntu.com>
7357
7358 * configure.ac: Check for Linux device-mapper support.
7359
7360 * util/hostdisk.c (device_is_mapped): New function.
7361 (find_partition_start): New function, partly broken out from
7362 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
7363 device-mapper support added.
7364 (linux_find_partition): Use find_partition_start.
7365 (convert_system_partition_to_system_disk): Add `st' argument.
7366 Support Linux /dev/mapper/* devices if device-mapper support is
7367 available; only DM-RAID devices are understood at present.
7368 (find_system_device): Add `st' argument. Pass it to
7369 convert_system_partition_to_system_disk.
7370 (grub_util_biosdisk_get_grub_dev): Pass stat result to
7371 find_system_device and convert_system_partition_to_system_disk. Use
7372 find_partition_start.
7373
7374 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
7375 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
7376 * util/deviceiter.c [__linux__]: Define MINOR.
7377 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
7378 * util/mkdevicemap.c (grub_putchar): New function.
7379 (grub_getkey): New function.
7380 (grub_refresh): New function.
7381 (main): Set debug=all if -v -v is used.
7382
355b51e9
CW
73832010-05-18 Colin Watson <cjwatson@ubuntu.com>
7384
7385 Fix build with non-GNU libcs.
7386
7387 * util/misc.c (canonicalize_file_name): Move to ...
7388 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
7389 grub_make_system_path_relative_to_its_root.
7390
7fb5c25f
CW
73912010-05-18 Colin Watson <cjwatson@ubuntu.com>
7392
7393 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
7394 we handle finding grub-mkimage. Default to finding grub-mkimage in
7395 ${bindir} with program_transform_name applied, and provide a
7396 --grub-mkimage option to override this.
7397
1d3293d6
VS
73982010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 Remove grub-mkisofs.
7401
7402 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
7403 (grub_mkisofs_SOURCES): Removed.
7404 (grub_mkisofs_CFLAGS): Removed.
7405 * util/mkisofs/defaults.h: Removed.
7406 * util/mkisofs/eltorito.c: Likewise.
7407 * util/mkisofs/exclude.h: Likewise.
7408 * util/mkisofs/hash.c: Likewise.
7409 * util/mkisofs/include/: Likewise.
7410 * util/mkisofs/include/fctldefs.h: Likewise.
7411 * util/mkisofs/include/mconfig.h: Likewise.
7412 * util/mkisofs/include/prototyp.h: Likewise.
7413 * util/mkisofs/include/statdefs.h: Likewise.
7414 * util/mkisofs/iso9660.h: Likewise.
7415 * util/mkisofs/joliet.c: Likewise.
7416 * util/mkisofs/match.c: Likewise.
7417 * util/mkisofs/match.h: Likewise.
7418 * util/mkisofs/mkisofs.c: Likewise.
7419 * util/mkisofs/mkisofs.h: Likewise.
7420 * util/mkisofs/msdos_partition.h: Likewise.
7421 * util/mkisofs/multi.c: Likewise.
7422 * util/mkisofs/name.c: Likewise.
7423 * util/mkisofs/rock.c: Likewise.
7424 * util/mkisofs/tree.c: Likewise.
7425 * util/mkisofs/write.c: Likewise.
7426
5dde9afe
VS
74272010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 Unify grub-mkimage accross platforms.
7430
7431 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
7432 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
7433 (grub_mkelfimage_SOURCES): Removed.
7434 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
7435 (util/grub-mkimage.c_DEPENDENCIES): .. this.
7436 (bin_UTILITIES): Add grub-mkimage.
7437 (grub_mkimage_SOURCES): New variable.
7438 (kernel_img_HEADERS): Remove machine/kernel.h.
7439 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
7440 (pkglib_PROGRAMS): Add kernel.img.
7441 (kernel_img_HEADERS): Add machine/kernel.h.
7442 (kernel_img_FORMAT): Removed.
7443 (bin_UTILITIES): Remove grub-mkimage.
7444 (grub_mkimage_SOURCES): Removed.
7445 (grub_mkimage_CFLAGS): Likewise.
7446 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7447 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
7448 (pkglib_PROGRAMS): Add kernel.img.
7449 (bin_UTILITIES): Remove grub-mkimage.
7450 (grub_mkimage_SOURCES): Removed.
7451 (grub_mkimage_CFLAGS): Likewise.
7452 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7453 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
7454 (pkglib_PROGRAMS): Add kernel.img.
7455 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
7456 (pkglib_PROGRAMS): Add kernel.img.
7457 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
7458 (grub_mkimage_SOURCES): Removed.
7459 (grub_mkimage_CFLAGS): Likewise.
7460 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7461 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
7462 (pkglib_PROGRAMS): Add kernel.img.
7463 (bin_UTILITIES): Remove grub-mkimage.
7464 (grub_mkimage_SOURCES): Removed.
7465 (grub_mkimage_CFLAGS): Likewise.
7466 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7467 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
7468 (grub_mkimage_SOURCES): Removed.
7469 (grub_mkimage_CFLAGS): Likewise.
7470 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7471 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
7472 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
7473 (grub_pe32_optional_header): ... this.
7474 (grub_pe64_optional_header): ... and this. All users updated.
7475 (GRUB_PE32_PE32_MAGIC): Split into ..
7476 (GRUB_PE32_PE32_MAGIC): .. this.
7477 (GRUB_PE32_PE64_MAGIC): .. and this.
7478 (GRUB_PE32_SIGNATURE_SIZE): New definition.
7479 * include/grub/elf.h (PT_GNU_STACK): New definition.
7480 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
7481 * include/grub/i386/efi/kernel.h: Likewise.
7482 * include/grub/i386/kernel.h: Likewise.
7483 * include/grub/i386/pc/kernel.h: Likewise.
7484 * include/grub/i386/qemu/boot.h: Likewise.
7485 * include/grub/mips/kernel.h: Likewise.
7486 * include/grub/mips/qemu-mips/kernel.h: Likewise.
7487 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7488 * include/grub/powerpc/kernel.h: Likewise.
7489 * include/grub/sparc64/ieee1275/boot.h: Likewise.
7490 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7491 * include/grub/sparc64/kernel.h: Likewise.
7492 * include/grub/x86_64/efi/kernel.h: Likewise.
7493 * include/grub/x86_64/kernel.h: Likewise.
7494 * include/grub/offsets.h: New file.
7495 * include/grub/kernel.h (grub_module_info): Split into ...
7496 (grub_module_info32): ... this.
7497 (grub_module_info64): ... and this.
7498 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
7499 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
7500 (grub_boot_blocklist): Moved from here ...
7501 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
7502 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
7503 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
7504 * include/grub/types.h (grub_target_to_host16): Removed.
7505 (grub_target_to_host32): Likewise.
7506 (grub_target_to_host64): Likewise.
7507 (grub_host_to_target16): Likewise.
7508 (grub_host_to_target32): Likewise.
7509 (grub_host_to_target64): Likewise.
7510 (grub_host_to_target_addr): Likewise.
7511
7512 Support grub-mkrescue for efi, coreboot and qemu.
7513
7514 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
7515 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
7516 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
7517 * util/grub-mkrawimage.c: Moved from here ...
7518 * util/grub-mkimage.c: ... here. All users updated.
7519 (ALIGN_ADDR): Use image_target.
7520 (TARGET_NO_FIELD): New const.
7521 (image_target_desc): New type.
7522 (image_targets): New array.
7523 (grub_target_to_host64): Use image_target.
7524 (grub_target_to_host32): Likewise.
7525 (grub_target_to_host16): Likewise.
7526 (grub_host_to_target64): Likewise.
7527 (grub_host_to_target32): Likewise.
7528 (grub_host_to_target16): Likewise.
7529 (grub_host_to_target_addr): Likewise.
7530 (generate_image): Handle multiimage.
7531 (main): Require -O parameter. All users updated.
7532 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
7533 util/efi/grub-mkimage.c
7534 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
7535 New option --rom-directory.
7536 Use xorriso.
7537 * util/i386/efi/grub-mkimage.c: Removed.
7538 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
7539 (grub_target_to_host32): Likewise.
7540 (grub_target_to_host64): Likewise.
7541 (grub_host_to_target16): Likewise.
7542 (grub_host_to_target32): Likewise.
7543 (grub_host_to_target64): Likewise.
7544 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
7545 (grub_target_to_host32): Likewise.
7546 (grub_target_to_host64): Likewise.
7547 (grub_host_to_target16): Likewise.
7548 (grub_host_to_target32): Likewise.
7549 (grub_host_to_target64): Likewise.
7550
f4fc97d0
BC
75512010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
7552
7553 Source tree is reorganized for emu build.
7554
7555 * include/grub/util/console.h: Move from here...
7556 * include/grub/emu/console.h: ...to here.
7557 * include/grub/util/getroot.h: Move from here...
7558 * include/grub/emu/getroot.h: ...to here.
7559 * include/grub/util/hostdisk.h: Move from here...
7560 * include/grub/emu/hostdisk.h: ...to here.
7561 * util/console.c: Move from here...
7562 * kern/emu/console.c: ...to here.
7563 * util/getroot.c: Move from here...
7564 * kern/emu/getroot.c: ...to here.
7565 * util/grub-emu.c: Move from here...
7566 * kern/emu/main.c: ...to here.
7567 * util/hostdisk.c: Move from here...
7568 * kern/emu/hostdisk.c: ...to here.
7569 * util/hostfs.c: Move from here...
7570 * kern/emu/hostfs.c: ...to here.
7571 * util/mm.c: Move from here...
7572 * kern/emu/mm.c: ...to here.
7573 * util/pci.c: Move from here...
7574 * bus/emu/pci.c: ...to here.
7575 * util/sdl.c: Move from here...
7576 * video/emu/sdl.c: ...to here.
7577 * util/time.c: Move from here...
7578 * kern/emu/time.c: ...to here.
7579 * util/usb.c: Move from here...
7580 * bus/usb/emu/usb.c: ...to here.
7581
7582 * include/grub/emu/misc.h: New header for grub-emu functions.
7583 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
7584
7585 * conf/any-emu.rmk: Rule updates for above renames.
7586 * conf/common.rmk: Likewise.
7587 * conf/i386-pc.rmk: Likewise.
7588 * conf/i386-qemu.rmk: Likewise.
7589 * conf/mips.rmk: Likewise.
7590 * conf/sparc64-ieee1275.rmk: Likewise.
7591 * conf/x86-efi.rmk: Likewise.
7592
7593 * disk/lvm.h: #include updates for above renames.
7594 * util/grub-mkrelpath.c: Likewise.
7595 * util/grub-probe.c: Likewise.
7596 * util/i386/pc/grub-setup.c: Likewise.
7597 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7598 * kern/emu/console.c: Likewise.
7599 * kern/emu/getroot.c: Likewise.
7600 * kern/emu/hostdisk.c: Likewise.
7601 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
7602
7603 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
7604 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
7605 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
7606 * util/misc.c: Remove grub-emu functions.
7607
cced9145
VS
76082010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 Fix gfxmenu crash.
7611 Reported by: Thorsten Grützmacher.
7612
7613 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
7614 timeout hook.
7615 (circprog_set_property): Register and unregister timeout hook.
7616 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
7617 (label_destroy): Free template. and unregister hook.
7618 (label_set_state): New function.
7619 (label_set_property): Handle templates and hooks.
7620 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
7621 timeout hook.
7622 (progress_bar_set_property): Register and unregister timeout hook.
7623 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
7624 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
7625 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
7626 (update_timeout_visit): Removed.
7627 (update_timeouts): New function.
7628 (redraw_timeouts): Likewise.
7629 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
7630 (grub_gfxmenu_clear_timeout): Likewise.
7631 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
7632 (grub_gfxmenu_timeout_notify): Likewise.
7633 (grub_gfxmenu_timeout_notifications): New external variable.
7634 (grub_gfxmenu_timeout_register): New function.
7635 (grub_gfxmenu_timeout_unregister): Likewise.
7636
c6e5caab
VS
76372010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 Transform (broken) vga terminal into (working) vga video driver.
7640
7641 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
7642 video/i386/pc/vga.c.
7643 * include/grub/video.h (grub_video_driver_id):
7644 Add GRUB_VIDEO_DRIVER_VGA.
7645 * term/i386/pc/vga.c: Renamed to ...
7646 * video/i386/pc/vga.c: ...this
7647 (DEBUG_VGA): Removed.
7648 (CHAR_WIDTH): Likewise.
7649 (CHAR_HEIGHT): Likewise.
7650 (TEXT_WIDTH): Likewise.
7651 (TEXT_HEIGHT): Likewise.
7652 (DEFAULT_FG_COLOR): Likewise.
7653 (DEFAULT_BG_COLOR): Likewise.
7654 (colored_char): Likewise.
7655 (xpos): Likewise.
7656 (ypos): Likewise.
7657 (cursor_state): Likewise.
7658 (fg_color): Likewise.
7659 (bg_color): Likewise.
7660 (text_buf): Likewise.
7661 (page): Likewise.
7662 (font): Likewise.
7663 (framebuffer): New variable.
7664 (set_read_map): Disabled.
7665 (setup): New variable.
7666 (is_target): Likewise.
7667 (grub_vga_mod_init): Likewise.
7668 (grub_vga_mod_fini): Likewise.
7669 (check_vga_mem): Likewise.
7670 (write_char): Likewise.
7671 (write_cursor): Likewise.
7672 (scroll_up): Likewise.
7673 (grub_vga_putchar): Likewise.
7674 (grub_vga_getcharwidth): Likewise.
7675 (grub_vga_getwh): Likewise.
7676 (grub_vga_getxy): Likewise.
7677 (grub_vga_gotoxy): Likewise.
7678 (grub_vga_cls): Likewise.
7679 (grub_vga_setcolorstate): Likewise.
7680 (grub_vga_setcursor): Likewise.
7681 (grub_video_vga_init): New function.
7682 (grub_video_vga_setup): Likewise.
7683 (grub_video_vga_fini): Likewise.
7684 (update_target): Likewise.
7685 (grub_video_vga_blit_bitmap): Likewise.
7686 (grub_video_vga_blit_render_target): Likewise.
7687 (grub_video_vga_set_active_render_target): Likewise.
7688 (grub_video_vga_get_active_render_target): Likewise.
7689 (grub_video_vga_swap_buffers): Likewise.
7690 (grub_video_vga_set_palette): Likewise.
7691 (grub_video_vga_get_info_and_fini): Likewise.
7692 (grub_vga_term): Removed.
7693 (grub_video_vga_adapter): New variable.
7694 (GRUB_MOD_INIT): Register a video driver instead of terminal.
7695 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
7696
2bf61a98
VS
76972010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * video/readers/jpeg.c: Indented.
7700
09ddcd11
VS
77012010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 Various jpeg cleanups.
7704
7705 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
7706 (grub_jpeg_decode_quan_table): Use sizeof.
7707 (grub_jpeg_decode_du): Use ARRAY_SIZE.
7708
e5507505
PH
77092010-05-05 Peter Hurley <No e-mail available> (tiny change)
7710
7711 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
7712 tables. Ignore non-last ac bit.
7713 (grub_jpeg_decode_quan_table): Likewise.
7714
7e720a9b
VS
77152010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7716
7717 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7718 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
7719 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7720 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
7721 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
7722 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
7723
a7fc080b
VS
77242010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7725
7726 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
7727 error.
7728
2bf6012d
VS
77292010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
7732
265d68cd
VS
77332010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
7736 condition.
7737
77382010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
7739
7740 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
7741 part.
7742
265d68cd 77432010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
7744
7745 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
7746 pointers.
7747
265d68cd 77482010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
7749
7750 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
7751
d1b61374
CF
77522010-05-01 Christian Franke <franke@computer.org>
7753
7754 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
7755 Remove broken Cygwin path conversion.
7756 * util/misc.c: [__CYGWIN__] Add include and define.
7757 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
7758 for Cygwin 1.7.
7759 (make_system_path_relative_to_its_root): Simplify loop, replace early
7760 return by break.
7761 [__CYGWIN__] Add conversion to win32 path.
7762 Include "/" case in trailing slash removal.
7763
3558c6e9
VS
77642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 * kern/main.c (grub_load_config): Fix copy-pasted comment.
7767 Reported by: Seth Goldberg
7768
f5f3ff93
VS
77692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * commands/help.c (grub_cmd_help): Fix a typo.
7772 Reported by: Seth Goldberg
7773
d8b5cd40
VS
77742010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7775
7776 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
7777 name and add N_.
7778 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
7779 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
7780 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
7781 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
7782 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
7783 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
7784 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
7785 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
7786 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
7787 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
7788 * normal/context.c (GRUB_MOD_INIT): Likewise.
7789 * normal/main.c (GRUB_MOD_INIT): Likewise.
7790 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
7791 * term/serial.c (GRUB_MOD_INIT): Likewise.
7792 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
7793
88c14915
VS
77942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
7797 extra == 0.
7798
165134bc
VS
77992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * commands/iorw.c: New file.
7802 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
7803 (iorw_mod_SOURCES): New variable.
7804 (iorw_mod_CFLAGS): Likewise.
7805 (iorw_mod_LDFLAGS): Likewise.
7806
c5ac9b32
VS
78072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 Hotkey support
7810
7811 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
7812 * normal/main.c (hotkey_aliases): New variable.
7813 (grub_normal_add_menu_entry): Parse "--hotkey".
7814 * normal/menu_text.c (run_menu): Handle hotkeys.
7815
ce60689c
VS
78162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * kern/i386/coreboot/init.c (grub_machine_init): Call
7819 grub_machine_mmap_init on qemu.
7820
0359d006
VS
78212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7822
7823 * boot/i386/qemu/boot.S: Add a missing .code16.
7824
7819a456
VS
78252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 Use LBIO on coreboot.
7828
7829 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
7830 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
7831 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
7832 New declaration.
7833 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
7834 grub_machine_mmap_init on coreboot.
7835 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
7836 GRUB_LINUXBIOS_MEMBER_LINK.
7837 (grub_machine_mmap_iterate): Fix declaration.
7838 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
7839
7210dca9
VS
78402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 Split coreboot and multiboot ports.
7843
7844 * conf/i386-multiboot.rmk: New file.
7845 * configure.ac: Add multiboot port.
7846 * include/grub/i386/multiboot/boot.h: New file.
7847 * include/grub/i386/multiboot/console.h: Likewise.
7848 * include/grub/i386/multiboot/init.h: Likewise.
7849 * include/grub/i386/multiboot/kernel.h: Likewise.
7850 * include/grub/i386/multiboot/loader.h: Likewise.
7851 * include/grub/i386/multiboot/memory.h: Likewise.
7852 * include/grub/i386/multiboot/serial.h: Likewise.
7853 * include/grub/i386/multiboot/time.h: Likewise.
7854 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
7855 * loader/multiboot.c: Likewise.
7856 * loader/multiboot_mbi2.c: Likewise.
7857 * util/grub-mkrescue.in: Generate multiboot rescue.
7858
6f8aaf68
VS
78592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7860
3080f7a7
VS
7861 * kern/parser.c (grub_parser_execute): Cope with read-only config.
7862
78632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
7866
7867 * commands/terminal.c (abstract_terminal): New struct.
7868 (handle_command): New function. Based on grub_cmd_terminal_input.
7869 (grub_cmd_terminal_input): Use handle_command.
7870 (grub_cmd_terminal_output): Use handle_command.
7871
a8ebb841
BC
78722010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
7873
7874 Fix comment handling.
7875
7876 * tests/grub_script_comments.in: New testcase.
7877 * conf/tests.rmk: Rules for new testcase.
7878 * script/yylex.l: Updated flex rules.
7879
bb06ba08
ST
78802010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
7881
7882 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
7883 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
7884 if argc is 1.
bb06ba08 7885
cc9d2425
VS
78862010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
7889 autogen issues.
7890
460d8402
CF
78912010-04-26 Christian Franke <franke@computer.org>
7892
7893 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
7894 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
7895 (grub_get_prefix): Remove function.
7896 * util/grub-emu.c (main): Replace grub_get_prefix () call by
7897 make_system_path_relative_to_its_root ().
7898 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
7899
553c01f9
CF
79002010-04-24 Christian Franke <franke@computer.org>
7901
7902 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
7903 (kernel_img_LDFLAGS): Remove -static-libgcc.
7904
2aec1692
CF
79052010-04-24 Christian Franke <franke@computer.org>
7906
7907 * configure.ac: Do not CHECK_BSS_START_SYMBOL
7908 and CHECK_END_SYMBOL if grub-emu is built.
7909 Unset TARGET_OBJ2ELF if grub-emu is built
7910 without module support.
7911
f67dc308
JS
79122010-04-24 Jiro SEKIBA <jir@unicus.jp>
7913
7914 Nilfs2 support.
7915
7916 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
7917 (grub_fstest_SOURCES): Likewise.
7918 (pkglib_MODULES): Add nilfs2.mod.
7919 (nilfs2_mod_SOURCES): New variable.
7920 (nilfs2_mod_CFLAGS): Likewise.
7921 (nilfs2_mod_LDFLAGS): Likewise.
7922 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
7923 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
7924 * fs/nilfs2.c: New file.
7925
4ba8d354
VS
79262010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
7929 is not supported.
7930
0d2c20c6
GS
79312010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
7932
7933 Add grub-mkconfig support for NetBSD.
7934
7935 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
7936 * util/grub-mkconfig.in: export new NetBSD specific variables.
7937 * po/POTFILES-shell: added 10_netbsd.in.
7938 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
7939
bc4a2d83
BC
79402010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
7941
7942 Fix emu build with grub-emu-pci and grub-emu-modules.
7943
7944 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
7945 functions.
7946 * include/grub/libpciaccess.h: New file.
7947 * conf/any-emu.rmk: Update kernel headers for emu build.
7948
f48c87aa
VS
79492010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
7952
18959385
VS
79532010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
7956
0037de3f
VS
79572010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
7960 Retrieve chosen/bootpath if bootpath isn't hardcoded.
7961 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
7962 util/ieee1275/ofpath.c.
7963 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
7964 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
7965 * include/grub/sparc64/ieee1275/boot.h
7966 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
7967 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
7968 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
7969 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
7970 const char *.
7971 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
7972 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
7973 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
7974 install.
7975
38e55e90
GS
79762010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7977
7978 * util/grub-mkconfig.in: Corrected two == equality tests.
7979 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
7980 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
7981 expect a number appended to it.
7982 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
7983 expects a number appended to it.
7984
a9e6ff28
VS
79852010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
7988
0b830b8f
VS
79892010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * util/hostdisk.c (make_device_name): Change to new partition naming.
7992
0973daeb
VS
79932010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
7996
460d8402 79972010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
7998
7999 * Makefile.in: Add missing localedir setting.
8000
0b456309
CW
80012010-04-14 Colin Watson <cjwatson@ubuntu.com>
8002
8003 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
8004 mistake in r2156. Noticed by Anthony Fok.
8005
8006 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
8007 @localedir@.
8008 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8009
08f46d62
BC
80102010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
8011
8012 Fix a spurious, uninitialized variable warning.
8013
8014 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
8015 Initialize variable, shdr.
8016 (grub_freebsd_load_elfmodule): Likewise.
8017 (grub_freebsd_load_elf_meta): Likewise.
8018
8c4a72d4
BC
80192010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
8020
8021 Fix for escaped dollar in double quoted strings.
8022
8023 * script/yylex.l: Updated flex rules.
8024 * conf/tests.rmk: Rule for new testcase.
8025 * tests/grub_script_dollar.in: New testcase.
8026
ce44826e
CPE
80272010-04-13 Carles Pina i Estany <carles@pina.cat>
80282010-04-13 Colin Watson <cjwatson@ubuntu.com>
8029
8030 Enclose all translated strings in grub.cfg in single quotes, and
8031 escape them appropriately (Ubuntu bug #552921).
8032
8033 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
8034 * util/grub.d/10_hurd.in: Use it.
8035 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8036 * util/grub.d/10_linux.in (linux_entry): Likewise.
8037
4b0cd8f8
VS
80382010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 Fix cygwin compilation.
8041
8042 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
8043 * include/grub/misc.h (__register_frame_info)
8044 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
8045 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8046 * kern/misc.c (__register_frame_info)
8047 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
8048 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8049
01fcf061
VS
80502010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
8053
5d04b11e
VS
80542010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8055
8056 Unify libgcc processing.
8057
8058 * Makefile.in (kernel_img_LDFLAGS): New variable.
8059 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
8060 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
8061 overwriting.
8062 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
8063 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
8064 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
8065 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
8066 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
8067 overwriting. Remove -lgcc and -static-libgcc
8068 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
8069 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8070 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8071 (kernel_img_LDFLAGS): Append instead of overwriting.
8072 Remove -lgcc and -static-libgcc
8073 * conf/sparc64-ieee1275.rmk: Likewise.
8074 * include/grub/powerpc/libgcc.h: Move to ...
8075 * include/grub/libgcc.h: .. this.
8076 * include/grub/libgcc.h: Don't export most of the function on x86.
8077 (__bswapsi2): New export.
8078 (__bswapdi2): Likewise.
8079 * include/grub/mips/libgcc.h: Removed.
8080 * include/grub/sparc64/libgcc.h: Likewise.
8081
b7f3ac29
VS
80822010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
8085 disk_info_msg (conflicts with gettexting into languages with cases).
8086
2c7031b1
GS
80872010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8088
8089 Add grub-probe support for NetBSD.
8090
8091 * util/getroot.c (find_root_device): Convert block device to
8092 character device on NetBSD.
8093 * util/probe.c (probe): Require character device on NetBSD.
8094 * util/hostdisk.c: NetBSD specific headers.
8095 (configure_device_driver): new function to tune device driver
8096 parameters (currently only for NetBSD floppy driver).
8097 (grub_util_biosdisk_open): NetBSD specific code (get disk size
8098 via disklabel ioctl).
8099 (open_device): call configure_device_driver on NetBSD.
8100 (convert_system_partition_to_system_disk): NetBSD specific code.
8101 (device_is_wholedisk): Likewise.
8102 (grub_util_biosdisk_get_grub_dev): Likewise.
8103 (make_device_name): Fixed a typo in bsd_part_str.
8104 * configure.ac: check for opendisk() and getrawpartition() on
8105 NetBSD and set LIBUTIL.
8106 * Makefile.in: add LIBUTIL to LIBS.
8107
f516290c
BC
81082010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8109
8110 Documentation fix.
8111
8112 * util/grub-script-check.c: Better help message.
8113
d8dcc0df
BC
81142010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8115
8116 Fix FreeBSD build.
8117
8118 * configure.ac: Flex version check.
8119 * conf/common.rmk: Add -Wno-error to sh.mod.
8120 * script/yylex.l: Remove all #pragma.
8121
6734334a
VS
81222010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * include/grub/util/misc.h (canonicalise_file_name): Add missing
8125 prototype.
8126 Reported by: Seth Goldberg.
8127
daea6abd
VS
81282010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
8131 Rename "module" to "module2".
8132 Reported by: Seth Goldberg.
8133
f2fd9d2b
VS
81342010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
8137 EXPORT_FUNC.
8138 Reported by: Seth Goldberg.
8139
be124579
VS
81402010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 * lib/posix_wrap/locale.h: Add missing file.
8143 Reported by: Seth Goldberg.
8144
ef5da797
VS
81452010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 grub-emu module load support.
8148
8149 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
8150 NO_DYNAMIC_MODULES switched to this.
8151 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
8152 (CFLAGS): Likewise.
8153 * conf/any-emu.rmk: Generate symlist.
8154 (kernel_img_HEADERS): Add util/datetime.h.
8155 (kernel_img_HEADERS) [sdl]: Add sdl.h.
8156 (kernel_img_HEADERS) [libusb]: Add libusb.h.
8157 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
8158 kern/$(target_cpu)/cache.S.
8159 * configure.ac (grub-emu-modules): New option.
8160 * genmk.rb: Handle multiple source lists.
8161 * include/grub/sdl.h: New file.
8162 * include/grub/libusb.h: Likewise.
8163 * util/grub-emu.c (main): Hanle (host) root.
8164 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
8165 GRUB_ERR_UNKNOWN_DEVICE.
8166 * util/misc.c: Move mm functions to ...
8167 * util/mm.c: ... here. All users updated.
8168
47822096
VS
81692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
8172 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
8173 missing files.
8174 (maintainer-clean): Remove libgcrypt-grub.
8175
5d7e7445
VS
81762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
8179
25f4e252
EC
81802010-04-09 EFI Coder <eficoder@hotmail.com>
8181
8182 * normal/menu_text.c (print_message): Clean up the message and show
8183 the Fn information when on EFI
8184 * term/efi/console.c (grub_console_checkkey): Add F4 support.
8185
027de555
VS
81862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8187
8188 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
8189 All users updated.
8190 * normal/crypto.c (read_crypto_list): Likewise.
8191 * normal/dyncmd.c (read_command_list): Likewise.
8192 * normal/term.c (read_terminal_list): Likewise.
8193 * normal/main.c (read_lists): Use explicit prefix.
8194 (read_lists_hook): Use read_lists.
8195 (grub_normal_execute): Likewise.
8196
47779711
VS
81972010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
8200 Reported by: Thomas Schmitt.
8201 Add -no-emul-boot to grub-mkisofs parameters.
8202
1118c32e
VS
82032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 * font/font.c: Indented.
8206
7d652447
BC
82072010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8208
8209 Elif support to GRUB script (by Deepak Vankadaru).
8210
8211 * tests/grub_script_if.in: New testcase.
8212 * conf/tests.rmk: Rule for new testcase.
8213 * script/parser.y: Grammar rules for elif.
8214
34bb22df
BC
82152010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8216
8217 While and until loops support to GRUB script.
8218
8219 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
8220 (grub_script_create_cmdwhile): New function prototype.
8221 (grub_script_execute_cmdwhile): New function prototype.
8222 * script/execute.c (grub_script_execute_cmdwhile): New function.
8223 * script/parser.y (command): New commands.
8224 (whilecmd): New grammar rule.
8225 (untilcmd): New grammar rule.
8226 * script/script.c (grub_script_create_cmdwhile): New function.
8227 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
8228 function.
8229
8230 * tests/grub_script_while1.in: New testcase.
8231 * conf/tests.rmk: Rule for new testcase.
8232
e215d8e0
VS
82332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
8236 as *.jpg.
8237
d7c43ba1
MV
82382010-04-09 Mario Vazquez <mariovazq@gmail.com>
8239
8240 GRUB_BACKGROUND support.
8241
8242 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
8243 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
8244
d64795c0
VS
82452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 8248 Idea by: Mario Vazquez
d64795c0
VS
8249
8250 * util/grub.d/00_header.in: Load pf2 and image modules.
8251
f267f83a
VS
82522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 grub-mkconfig multiple terminal support.
8255
8256 * util/grub-mkconfig.in: Handle multiple terminals correctly.
8257 * util/grub.d/00_header.in: Likewise.
8258
b7841ceb
VS
82592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 * Makefile.in: Specify files explicitly instead of using $< and $@ since
8262 we use cd $(srcdir).
8263
df60998c
CW
82642010-04-08 Colin Watson <cjwatson@ubuntu.com>
8265
8266 * util/grub.d/10_linux.in: Only use the first word of
8267 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
8268 spaces in GRUB_DISTRIBUTOR.
8269 * util/grub.d/10_kfreebsd.in: Likewise.
8270 * util/grub.d/10_hurd.in: Likewise.
8271
fa09c82e
BC
82722010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
8273
14e18ae3 8274 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
8275
8276 * tests/util/grub-shell.in: Remove -serial stdio option.
8277
daf892b3
BC
82782010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 POSIX header file wrappers.
8281
8282 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
8283 equivalents.
8284 * lib/posix_wrap/ctype.h: Likewise.
8285 * lib/posix_wrap/errno.h: Likewise.
8286 * lib/posix_wrap/langinfo.h: Likewise.
8287 * lib/posix_wrap/limits.h: Likewise.
8288 * lib/posix_wrap/localcharset.h: Likewise.
8289 * lib/posix_wrap/stdint.h: Likewise.
8290 * lib/posix_wrap/stdio.h: Likewise.
8291 * lib/posix_wrap/stdlib.h: Likewise.
8292 * lib/posix_wrap/string.h: Likewise.
8293 * lib/posix_wrap/sys/types.h: Likewise.
8294 * lib/posix_wrap/unistd.h: Likewise.
8295 * lib/posix_wrap/wchar.h: Likewise.
8296 * lib/posix_wrap/wctype.h: Likewise.
8297 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
8298 (grub_script.yy.h): Likewise.
8299 * script/yylex.l: Remove POSIX emulation #defines.
8300 * Makefile.in (POSIX_CFLAGS): New variable.
8301 (GNULIB_UTIL_CFLAGS): Likewise.
8302
8303 Regexp support.
8304
8305 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
8306 (regexp_mod_SOURCES): New variable.
8307 (regexp_mod_CFLAGS): Likewise.
8308 (regexp_mod_LDFLAGS): Likewise.
8309 * commands/regexp.c: New file.
8310 * gnulib/regcomp.c: New file. Imported from gnulib.
8311 * gnulib/regex.c: Likewise.
8312 * gnulib/regex_internal.c: Likewise.
8313 * gnulib/regex_internal.h: Likewise.
8314 * gnulib/regexec.c: Likewise.
8315 * gnulib/regex.h: Likewise.
8316
974ac4f7
VS
83172010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
8320 unsupported video mode types.
8321
2622c3ff
VS
83222010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
8325
064cb524
VS
83262010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
8329 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
8330
a8c3b552
VS
83312010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 Remove unused grub_vga_get_font.
8334
8335 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
8336 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
8337
187bbe3d
GS
83382010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8339
8340 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
8341 * include/grub/misc.h: Likewise.
8342
b9396631
GS
83432010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8344
8345 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
8346 for which failure is fatal.
8347
50479feb
GS
83482010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8349
8350 * util/grub-install.in: Use mkdir -p to create grub directory.
8351 * util/i386/efi/grub-install.in: Likewise.
8352 * util/ieee1275/grub-install.in: Likewise.
8353
b1654fdf
GS
83542010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8355
8356 * Makefile.in (LEX): new variable.
8357
bd5a6415
GS
83582010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8359
8360 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
8361 `=' and added double quotes on operands of this equality test.
8362
3db3a82b
VS
83632010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 * Makefile.in (uninstall): Remove a leftover debug echo.
8366 Reported by: Grégoire Sutre
8367
38023412
VS
83682010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 MIPS multiboot2 support.
8371
8372 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
8373 (multiboot2_mod_SOURCES): New variable.
8374 (multiboot2_mod_CFLAGS): Likewise.
8375 (multiboot2_mod_LDFLAGS): Likewise.
8376 (multiboot2_mod_ASFLAGS): Likewise.
8377 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
8378 definition.
8379 (MULTIBOOT_ENTRY_REGISTER): Likewise.
8380 (MULTIBOOT_MBI_REGISTER): Likewise.
8381 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
8382 (MULTIBOOT_ELF32_MACHINE): Likewise.
8383 (MULTIBOOT_ELF64_MACHINE): Likewise.
8384 * include/grub/mips/multiboot.h: New file.
8385 * include/grub/video.h (grub_video_driver_id): New type
8386 GRUB_VIDEO_DRIVER_SM712.
8387 (grub_video_get_info_and_fini): Export.
8388 (grub_video_get_palette): Likewise.
8389 (grub_video_get_driver_id): Likewise.
8390 * include/multiboot2.h: Resynced with spec.
8391 * loader/i386/multiboot.c: Moved from here ...
8392 * loader/multiboot.c: ... here. All users updated.
8393 (grub_multiboot_boot): Use platform-specific macros.
8394 * loader/i386/multiboot_elfxx.c: Moved from here ...
8395 * loader/multiboot_elfxx.c: ... here. All users updated.
8396 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
8397 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
8398 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
8399
47674667
VS
84002010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 Import gnulib argp module.
8403
8404 * gnulib/argp-ba.c: New file.
8405 * gnulib/argp-eexst.c: Likewise.
8406 * gnulib/argp-fmtstream.c: Likewise.
8407 * gnulib/argp-fmtstream.h: Likewise.
8408 * gnulib/argp-fs-xinl.c: Likewise.
8409 * gnulib/argp-help.c: Likewise.
8410 * gnulib/argp-namefrob.h: Likewise.
8411 * gnulib/argp-parse.c: Likewise.
8412 * gnulib/argp-pin.c: Likewise.
8413 * gnulib/argp-pv.c: Likewise.
8414 * gnulib/argp-pvh.c: Likewise.
8415 * gnulib/argp-version-etc.c: Likewise.
8416 * gnulib/argp-version-etc.h: Likewise.
8417 * gnulib/argp-xinl.c: Likewise.
8418 * gnulib/argp.h: Likewise.
8419
495442ed
VS
84202010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * kern/device.c (grub_device_iterate): Clear errors after failed
8423 opening device.
8424
f9fd65df
VS
84252010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
8428 returned by firmware.
8429
af09641e
VS
84302010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
8433 compilation on coreboot and qemu
8434
016883a5
VS
84352010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * include/multiboot2.h: Resync with spec.
8438
f97e1f7d
VS
84392010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 Multiboot2 tag support
8442
8443 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
8444 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
8445 Remove loader/multiboot_loader.c.
8446 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
8447 (grub_multiboot2_real_boot): Likewise.
8448 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
8449 (grub_get_multiboot_mmap_count): New proto.
8450 (grub_fill_multiboot_mmap): Likewise.
8451 (grub_multiboot_set_video_mode): Likewise.
8452 (grub_multiboot_set_console): Likewise.
8453 (grub_multiboot_load): Likewise.
8454 (grub_multiboot_load_elf): Likewise.
8455 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
8456 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
8457 * include/multiboot.h: Resynced with specification.
8458 * include/multiboot2.h: Resynced with specification.
8459 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
8460 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
8461 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
8462 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
8463 users updated.
8464 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
8465 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
8466 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
8467 Removed.
8468 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
8469 Moved from here...
8470 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
8471 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8472 Moved from here...
8473 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
8474 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
8475 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
8476 All users updated.
8477 * loader/i386/multiboot_mbi2.c: New file.
8478
3506b90b
VS
84792010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 Resync with gnulib.
8482
8483 * Makefile.in (GNULIB_CFLAGS): New variable.
8484 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
8485 (grub_script_check_CFLAGS): New variable.
8486 * gnulib/alloca.h: Resync with gnulib.
8487 * gnulib/error.c: Likewise.
8488 * gnulib/error.h: Likewise.
8489 * gnulib/fnmatch.c: Likewise.
8490 * gnulib/fnmatch_loop.c: Likewise.
8491 * gnulib/getdelim.c: Likewise.
8492 * gnulib/getline.c: Likewise.
8493 * gnulib/getopt.c: Likewise.
8494 * gnulib/getopt1.c: Likewise.
8495 * gnulib/getopt_int.h: Likewise.
8496 * gnulib/gettext.h: Likewise.
8497 * gnulib/progname.c: Likewise.
8498 * gnulib/progname.h: Likewise.
8499
394a3120
GS
85002010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
8501
8502 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
8503 which is the case with --disabled-nls.
8504
8505 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
8506 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
8507 * util/misc.c: Likewise.
8508 * util/mkisofs/mkisofs.c: Likewise.
8509 * util/mkisofs/mkisofs.h: Likewise.
8510
969d1c78
VS
85112010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 Simplify Apple CC support.
8514
8515 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
8516 Add 0 byte at the end not to have a symbol with empty target.
8517 * mmap/i386/pc/mmap_helper.S: Likewise.
8518 * genmk.rb: Ignore errors 2030 and 2050.
8519 * kern/i386/pc/startup.S: Use LOCAL when possible.
8520
8d2977bb
BC
85212010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
8522
8523 Testcase and the fix for final semicolon on cmdline.
8524
8525 * tests/grub_script_final_semicolon.in: New testcase.
8526 * conf/tests.rmk: Rules for the new testcase.
8527 * script/parser.y: Grammar fix.
8528
a7bd6915
BC
85292010-03-26 BVK Chaitanya <bvk@localhost>
8530
8531 Blank lines testcase for GRUB script.
8532
8533 * tests/grub_script_blanklines.in: New testcase.
8534 * conf/tests.rmk: Rules for the new testcase.
8535
e4ff6628
VS
85362010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 Don't use __FILE__.
8539
8540 * genmk.rb: Add -DGRUB_FILE to all C targets.
8541 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
8542 * include/grub/list.h: Likewise.
8543 * include/grub/misc.h: Likewise.
8544 * include/grub/mm.h: Likewise.
8545 * include/grub/test.h: Likewise.
8546 * kern/mm.c: Likewise.
8547 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
8548
6a5cf6b6
VS
85492010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 Sunpc partitions support.
8552
8553 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
8554 (grub_fstest_SOURCES): Likewise.
8555 (pkglib_MODULES): Add part_sunpc.mod.
8556 (part_sunpc_mod_SOURCES): New variable.
8557 (part_sunpc_mod_CFLAGS): Likewise.
8558 (part_sunpc_mod_LDFLAGS): Likewise.
8559 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
8560 * partmap/sunpc.c: New file.
8561
746d9045
BC
85622010-03-26 BVK Chaitanya <bvk@localhost>
8563
8564 For loop support to GRUB script.
8565
8566 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
8567 (grub_script_create_cmdfor): New function prototype.
8568 (grub_script_execute_cmdfor): New function prototype.
8569 * script/execute.c (grub_script_execute_cmdfor): New function.
8570 * script/parser.y (command): New for command.
8571 (forcmd): New grammar rule.
8572 * script/script.c (grub_script_create_cmdfor): New function.
8573 * util/grub-script-check.c (grub_script_execute_cmdfor): New
8574 function.
8575 * tests/grub_script_for1.in: New testcase.
8576 * conf/tests.rmk: Rules for new testcase.
8577
18486b18
VS
85782010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 Nested partitions
8581
8582 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
8583 'partition' is NULL, grub_partition_get_start already does that.
8584 * commands/loadenv.c (check_blocklists): Likewise.
8585 (write_blocklists): Likewise.
8586 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
8587 (grub_fstest_SOURCES): Likewise.
8588 (pkglib_MODULES): Add part_bsd.mod.
8589 (part_bsd_mod_SOURCES): New variable.
8590 (part_bsd_mod_CFLAGS): Likewise.
8591 (part_bsd_mod_LDFLAGS): Likewise.
8592 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
8593 (grub_emu_SOURCES): Likewise.
8594 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8595 * include/grub/bsdlabel.h: New file.
8596 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
8597 'get_name'.
8598 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
8599 (grub_partition_map_list): New variable.
8600 (grub_partition_map_register): Inline.
8601 (grub_partition_map_unregister): Likewise.
8602 (FOR_PARTITION_MAPS): New macro.
8603 (grub_partition_map_iterate): Removed.
8604 (grub_partition_get_start): Handle nested partitions.
8605 * include/grub/msdos_partition.h: Remove bsd-related entries.
8606 (grub_pc_partition): Remove.
8607 * kern/disk.c (grub_disk_close): Free partition data.
8608 (grub_disk_adjust_range): Handle nested partitions.
8609 * kern/partition.c (grub_partition_map_probe): New function.
8610 (grub_partition_probe): Parse name to number, handle subpartitions.
8611 (get_partmap): New function.
8612 (grub_partition_iterate): Handle subpartitions.
8613 (grub_partition_get_name): Likewise.
8614 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
8615 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
8616 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
8617 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
8618 Set 'number'.
8619 (acorn_partition_map_probe): Remove.
8620 (acorn_partition_map_get_name): Likewise.
8621 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
8622 Set 'number'.
8623 Set 'index' to 0 since there can be only one partition entry per sector.
8624 (amiga_partition_map_probe): Remove.
8625 (amiga_partition_map_get_name): Likewise.
8626 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
8627 Set 'number'.
8628 Set 'offset' and 'index' to real positions of partitions.
8629 (apple_partition_map_probe): Remove.
8630 (apple_partition_map_get_name): Likewise.
8631 * partmap/bsdlabel.c: New file.
8632 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
8633 Set 'number'.
8634 Allocate 'data' so it can be correctly freed.
8635 Set 'index' to offset inside sector.
8636 (gpt_partition_map_probe): Remove.
8637 (gpt_partition_map_get_name): Likewise.
8638 * partmap/msdos.c (grub_partition_parse): Remove.
8639 (pc_partition_map_iterate): Don't force raw access.
8640 Set 'number'.
8641 Make 'ext_offset' a local variable.
8642 (pc_partition_map_probe): Remove.
8643 (pc_partition_map_get_name): Remove.
8644 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
8645 Set 'number'.
8646 (sun_partition_map_probe): Remove.
8647 (sun_partition_map_get_name): Likewise.
8648 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
8649 (grub_pcpart_type): Likewise.
8650 * util/hostdisk.c (open_device): Handle new numbering scheme.
8651 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
8652 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
8653 * util/grub-probe.c (probe_partmap): Handle nested paritions.
8654 * util/grub-install.in: Insert all subpartition modules.
8655 * util/ieee1275/grub-install.in: Likewise.
8656
a3940f88
AG
86572010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
8658
8659 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
8660 grammar.
8661
21b99926 86622010-03-24 Colin Watson <cjwatson@ubuntu.com>
8663
8664 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
8665
bed1d352
CW
86662010-03-21 Colin Watson <cjwatson@ubuntu.com>
8667
8668 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
8669 match where 'make install' puts them.
8670 * util/i386/efi/grub-install.in: Likewise.
8671
c9f58427
CW
86722010-03-19 Colin Watson <cjwatson@ubuntu.com>
8673
8674 * .bzrignore: Add gentrigtables, grub-script-check,
8675 grub_script_check_init.c, grub_script_check_init.h, and
8676 trigtables.c.
8677
f84afb27
VS
86782010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 * kern/parser.c: Indented.
8681
ed0e3d30
VS
86822010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
8685
0ea81d98
VS
86862010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
8689 alpha_mask_size == 0 case.
8690
0cdc2a09
BC
86912010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
8692
8693 GRUB shell lexer and parser improvements.
8694
8695 * conf/any-emu.rmk: Build rule updates.
8696 * conf/common.rmk: Likewise.
8697 * conf/i386-coreboot.rmk: Likewise.
8698 * conf/i386-efi.rmk: Likewise.
8699 * conf/i386-ieee1275.rmk: Likewise.
8700 * conf/i386-pc.rmk: Likewise.
8701 * conf/powerpc-ieee1275.rmk: Likewise.
8702 * conf/x86_64-efi.rmk: Likewise.
8703
8704 * configure.ac: Configure check for flex.
8705
8706 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
8707 types.
8708 (grub_lexer_param): Struct member updates.
8709 (grub_parser_param): Likewise.
8710 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
8711 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
8712 (grub_script_lexer_init): Prototype update.
8713 (grub_script_lexer_record_start): Likewise.
8714 (grub_script_lexer_record_stop): Likewise.
8715 (grub_script_lexer_yywrap): New function prototype.
8716 (grub_script_lexer_fini): Likewise.
8717 (grub_script_execute_argument_to_string): Removed by...
8718 (grub_script_execute_argument_to_argv): ...better version.
8719
8720 * script/execute.c (ROUND_UPTO): New macro.
8721 (grub_script_execute_cmdline): Out of memory fixes.
8722 (grub_script_execute_menuentry): Likewise.
8723 (grub_script_execute_argument_to_string): Removed. Update all
8724 users by...
8725 (grub_script_execute_argument_to_argv): ...better version.
8726 * script/function.c (grub_script_function_create): Use
8727 grub_script_execute_argument_to_argv instead of
8728 grub_script_execute_argument_to_string.
8729
8730 * script/lexer.c (check_varstate): Removed.
8731 (check_textstate): Removed.
8732 (grub_script_lexer_record_start): Likewise.
8733 (grub_script_lexer_record_stop): Likewise.
8734 (recordchar): Replaced with...
8735 (grub_script_lexer_record): ...new function.
8736 (nextchar): Removed.
8737 (grub_script_lexer_init): Rewritten.
8738 (grub_script_yylex): Rewritten.
8739 (append_newline): New function.
8740 (grub_script_lexer_yywrap): New function.
8741 (grub_script_lexer_fini): New function.
8742 (grub_script_yyerror): Sets error flag.
8743
8744 * script/yylex.l: New file.
8745 (grub_lexer_yyfree): Wrapper for flex yyffre.
8746 (grub_lexer_yyalloc): Likewise.
8747 (grub_lexer_yyrealloc): Likewise.
8748 * script/parser.y: Refactored.
8749
8750 * script/script.c (grub_script_arg_add): Out of memory fixes.
8751 (grub_script_add_arglist): Likewise.
8752 (grub_script_create_cmdline): Likewise.
8753 (grub_script_create_cmdmenu): Likewise.
8754 (grub_script_add_cmd): Likewise.
8755 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
8756 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
8757 unnecessary code.
8758
8759 * tests/grub_script_echo1.in: New testcase.
8760 * tests/grub_script_vars1.in: New testcase.
8761 * tests/grub_script_echo_keywords.in: New testcase.
8762
1d63a066
VS
87632010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 Remove some redundancy in build system.
8766
8767 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
8768 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
8769 (TARGET_LDFLAGS): Add -nostdlib.
8770 (TARGET_IMG_LDFLAGS): Likewise.
8771 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
8772 anything since mmap isn't available.
8773 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
8774 Add util/time.c.
8775 (pkglib_MODULES): Remove reboot.mod.
8776 (reboot_mod_SOURCES): Removed.
8777 (reboot_mod_CFLAGS): Likewise.
8778 (reboot_mod_LDFLAGS): Likewise.
8779 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
8780 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
8781 (DEFSYMFILES): Add kernel_syms.lst.
8782 (kernel_img_HEADERS): Add common headers.
8783 (symlist.c): New target.
8784 (kernel_syms.lst): Likewise.
8785 (pkglib_MODULES): Add memdisk.mod.
8786 (memdisk_mod_SOURCES): New variable.
8787 (memdisk_mod_CFLAGS): Likewise.
8788 (memdisk_mod_LDFLAGS): Likewise.
8789 (pkglib_MODULES): Add reboot.mod.
8790 (reboot_mod_SOURCES): New variable.
8791 (reboot_mod_CFLAGS): Likewise.
8792 (reboot_mod_LDFLAGS): Likewise.
8793 (pkglib_MODULES): Add date.mod.
8794 (date_mod_SOURCES): New variable.
8795 (date_mod_CFLAGS): Likewise.
8796 (date_mod_LDFLAGS): Likewise.
8797 (pkglib_MODULES): Add datehook.mod.
8798 (datehook_mod_SOURCES): New variable.
8799 (datehook_mod_CFLAGS): Likewise.
8800 (datehook_mod_LDFLAGS): Likewise.
8801 (pkglib_MODULES): Add lsmmap.mod.
8802 (lsmmap_mod_SOURCES): New variable.
8803 (lsmmap_mod_CFLAGS): Likewise.
8804 (lsmmap_mod_LDFLAGS): Likewise.
8805 (pkglib_MODULES): Add boot.mod.
8806 (boot_mod_SOURCES): New variable.
8807 (boot_mod_CFLAGS): Likewise.
8808 (boot_mod_LDFLAGS): Likewise.
8809 * conf/i386-coreboot.rmk: Removed redundant parts.
8810 * conf/i386-ieee1275.rmk: Likewise.
8811 * conf/i386-pc.rmk: Likewise.
8812 * conf/mips-yeeloong.rmk: Likewise.
8813 * conf/mips.rmk: Likewise.
8814 * conf/powerpc-ieee1275.rmk: Likewise.
8815 * conf/sparc64-ieee1275.rmk: Likewise.
8816 * conf/x86_64-efi.rmk: Likewise.
8817 * conf/i386-coreboot.rmk: Moved qemu parts ..
8818 * conf/i386-qemu.rmk: ... here
8819 * conf/i386-efi.rmk: Moved common parts to...
8820 * conf/x86-efi.rmk: ... here.
8821 * conf/i386.rmk: Added modules common to all x86 variants.
8822 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
8823 * disk/memdisk.c: Remove grub/machine/kernel.h.
8824 * gensymlist.sh.in: Include symbol.h.
8825 * hook/datehook.c: Correct module name.
8826 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
8827 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
8828 * include/grub/i386/efi/serial.h: New file.
8829 * include/grub/x86_64/efi/serial.h: Likewise.
8830 * util/time.c: Likewise.
8831 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
8832
463ac55f
CK
88332010-03-14 Colin King <colin.king@ubuntu.com>
88342010-03-14 Colin Watson <cjwatson@ubuntu.com>
8835
8836 Shrink the pre-partition-table part of boot.img by eight bytes.
8837
8838 * boot/i386/pc/boot.S (ERR): New macro.
8839 (chs_mode): Use ERR.
8840 (geometry_error): Likewise.
8841 (hd_probe_error): Remove. This is only used once, so we wrwite
8842 it inline instead.
8843 (read_error): Instead of printing read_error_string, just set up
8844 %si and fall through to ...
8845 (error_message): ... this new function, also used by ERR.
8846
08e46ede
CW
88472010-03-14 Colin Watson <cjwatson@ubuntu.com>
8848
8849 Speed up consecutive hostdisk operations on the same device.
8850
8851 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
8852 (grub_util_biosdisk_open): Initialise disk->data.
8853 (struct linux_partition_cache): New structure.
8854 (linux_find_partition): Cache partition start positions; these are
8855 expensive to compute on every read and write.
8856 (open_device): Cache open file descriptor in disk->data, so that we
8857 don't have to reopen it and flush the buffer cache for consecutive
8858 operations on the same device.
8859 (grub_util_biosdisk_close): New function.
8860 (grub_util_biosdisk_dev): Set `close' member.
8861
8862 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
8863 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
8864 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8865 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
8866 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
8867
4a6d2d06
VS
88682010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 Compile parts of grub-emu as modules.
8871
8872 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
8873 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
8874 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
8875 (all-local): Add $(GRUB_EMU).
8876 (install-local): Install $(GRUB_EMU).
8877 (uninstall): Uninstall $(GRUB_EMU).
8878 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
8879 * kern/dl.c: Likewise.
8880 * commands/sleep.c: Not include machine/time.h.
8881 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
8882 (COMMON_CFLAGS): Likewise.
8883 (sbin_UTILITIES): Remove grub-emu.
8884 (grub_emu_SOURCES): Removed.
8885 (kernel_img_RELOCATABLE): New variable.
8886 (pkglib_PROGRAMS): Add kernel.img.
8887 (kernel_img_SOURCES): New variable
8888 (kernel_img_CFLAGS): Likewise.
8889 (kernel_img_LDFLAGS): Likewise.
8890 (TARGET_NO_STRIP): Likewise.
8891 (TARGET_NO_DYNAMIC_MODULES): Likewise.
8892 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
8893 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
8894 (grub-emu): New target.
8895 (GRUB_EMU): New variable.
8896 * configure.ac: Whitelist -emu as possible x86_64 architecture.
8897 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
8898 * loader/xnu.c: Likewise.
8899 * include/grub/pci.h: Likewise.
8900 * genemuinit.sh: New file.
8901 * genemuinitheader.sh: Likewise.
8902 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
8903 Support TARGET_NO_DYNAMIC_MODULES.
8904 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
8905 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
8906 * disk/loopback.c: Likewise.
8907 * font/font_cmd.c: Likewise.
8908 * partmap/acorn.c: Likewise.
8909 * partmap/amiga.c: Likewise.
8910 * partmap/apple.c: Likewise.
8911 * partmap/gpt.c: Likewise.
8912 * partmap/msdos.c: Likewise.
8913 * partmap/sun.c: Likewise.
8914 * parttool/msdospart.c: Likewise.
8915 * term/gfxterm.c: Likewise.
8916 * video/bitmap.c: Likewise.
8917 * video/readers/jpeg.c: Likewise.
8918 * video/readers/png.c: Likewise.
8919 * video/readers/tga.c: Likewise.
8920 * video/video.c: Likewise.
8921 * util/grub-emu.c (read_command_list): Removed.
8922 (main): Don't call util_init_nls.
8923 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
8924 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
8925
91fdd2ed
VS
89262010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
8929 date.mod, datehook.mod.
8930 (datetime_mod_SOURCES): New variable.
8931 (datetime_mod_CFLAGS): Likewise.
8932 (datetime_mod_LDFLAGS): Likewise.
8933 (date_mod_SOURCES): Likewise.
8934 (date_mod_CFLAGS): Likewise.
8935 (date_mod_LDFLAGS): Likewise.
8936 (datehook_mod_SOURCES): Likewise.
8937 (datehook_mod_CFLAGS): Likewise.
8938 (datehook_mod_LDFLAGS): Likewise.
8939 * conf/sparc64-ieee1275.rmk: Likewise.
8940 * lib/ieee1275/datetime.c: New file.
8941
873ccae6
VS
89422010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
8945 (ieee1275_fb_mod_SOURCES): New variable.
8946 (ieee1275_fb_mod_CFLAGS): Likewise.
8947 (ieee1275_fb_mod_LDFLAGS): Likewise.
8948 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
8949 New proto.
8950 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
8951 (HEAP_MAX_ADDR): Likewise.
8952 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
8953 type.
8954 Correct stop condition.
8955 (grub_ieee1275_devices_iterate): New function.
8956 * video/ieee1275.c: New file.
8957
601c97c0
VS
89582010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
8961
8962 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
8963 as scratch.
8964 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
8965 SCRATCH_PAD_DISKBOOT as scratch.
8966 (bootit): Pass Openfirmware pointer in %o4.
8967 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
8968 of 0x200000.
8969 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
8970 with util/grub-mkrawimage.c.
8971 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
8972 * include/grub/aout.h (AOUT_MID_SUN): New definition.
8973 (grub_aout_get_type) [GRUB_UTIL]: Removed.
8974 (grub_aout_load) [GRUB_UTIL]: Likewise.
8975 * include/grub/kernel.h (grub_modules_get_end): New proto.
8976 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
8977 (SCRATCH_PAD_BOOT): New definition.
8978 (SCRATCH_PAD_DISKBOOT): Likewise.
8979 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
8980 * include/grub/sparc64/ieee1275/ieee1275.h
8981 (grub_ieee1275_original_stack): New variable
8982 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
8983 New definition
8984 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
8985 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
8986 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
8987 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
8988 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
8989 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
8990 (grub_platform_image_format_t): New type.
8991 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
8992 * kern/main.c (grub_modules_get_end)
8993 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
8994 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
8995 (codestart): Switch stacks.
8996 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
8997 variable.
8998 (grub_heap_init): Use grub_modules_get_end.
8999 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
9000 stack.
9001 * util/grub-mkrawimage.c (generate_image): Support sparc64.
9002 (main): Likewise.
9003 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
9004
d68b491e
TG
90052010-03-14 Thorsten Glaser <tg@mirbsd.org>
9006
9007 * util/grub-mkrescue.in: Base ISO UUID on UTC.
9008
4e02ed50
MK
90092010-03-08 Matt Kraai <kraai@ftbfs.org>
9010
9011 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
9012 bug #559005).
9013
1f15fc1e
VS
90142010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9015
9016 * genmoddep.awk: Output all missing symbols and not only first.
9017
fce5d8ff
VS
90182010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * NEWS: Put the date of 1.98 release.
9021
d1e8a02f
VS
90222010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
9025 ft2build.h.
9026
696fd607
VS
90272010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
9030 completition in the middle of string.
9031
33e2e6f3
VS
90322010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9033
9034 * util/grub-mkrescue.in: Use mktemp with explicit template.
9035
b1f6d291
VS
90362010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
9039
2ac227c7
VS
90402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
9043 right pointer.
9044
8f9a632b
VS
90452010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 Fix FreeBSD compilation.
9048
9049 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
9050 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
9051
60b03859
VS
90522010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
9055
48a5a769
VS
90562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
9059
3ab4bd77
VS
90602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
9063
d116e0d8
RM
90642010-03-04 Robert Millan <rmh.grub@aybabtu.com>
9065
9066 Support relative image path in theme file.
9067
9068 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
9069 (image_set_property): Handle theme_dir and relative path.
9070
c7ef54aa
VS
90712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 * configure.ac: Alias amd64 to x86_64.
9074
fcee14ed
VS
90752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * NEWS: mention multiboot on EFI.
9078
d0780363
VS
90792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * kern/main.c (grub_load_modules): Handle errors from init functions of
9082 embeded modules.
9083
41168ea4
VS
90842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * normal/autofs.c (autoload_fs_module): Handle errors.
9087
b54d93ac
VS
90882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 Disable linux.mod on qemu-mips since it's not functional and leads
9091 to compilation failure.
9092
9093 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
9094 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
9095 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
9096 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
9097 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
9098 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
9099 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
9100 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
9101 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
9102 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
9103 Reported by: BVK Chaitanya
9104
fc8345da
JU
91052010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
9106
9107 * INSTALL: Add gettext as a dependency and add qemu to a new section
9108 "Prerequisites for make-check".
9109
4760f979
CF
91102010-03-04 Christian Franke <franke@computer.org>
9111
9112 * util/grub-pe2elf.c: Add missing include "progname.h".
9113
f209b5b2
VS
91142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 * normal/crypto.c (read_crypto_list): Fix a typo.
9117 Reported by: Seth Goldberg.
9118
b4b7be98
VS
91192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9120
9121 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 9122 Reported by: Seth Goldberg.
b4b7be98 9123
c0ee0385
VS
91242010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9125
9126 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
9127 ascii.bitmaps.
9128
a8efbf64
VS
91292010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9130
9131 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 9132 Reported by: Seth Goldberg.
a8efbf64 9133
08dcd913
VS
91342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 * util/i386/efi/grub-install.in: Copy gettext files.
9137
c4d0b332
VS
91382010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
9141
c6f2fe52
VS
91422010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 Wait for user entry basing on presence of output rather than on errors.
9145
9146 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
9147 (grub_install_newline_hook): Likewise.
9148 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
9149 * normal/menu.c (show_menu): Check line_counter to determine presence
9150 of output.
9151 * normal/term.c (grub_normal_line_counter): New variable.
9152 (grub_normal_get_line_counter): New function.
9153 (grub_install_newline_hook): Likewise.
9154
5382b1e4
VS
91552010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9156
9157 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
9158
5519963b
VS
91592010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * configure.ac: Update version to 1.98.
9162
72b28631
VS
91632010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * util/grub.d/10_linux.in (linux_entry): Don't default to
9166 gfxpayload=keep if Linux doesn't support video handover.
9167
c140a180
VS
91682010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 Don't compile video modules on yeeloong since video subsystem is part
9171 of kernel.
9172
9173 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
9174 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
9175 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
9176 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
9177 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
9178 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
9179 * include/grub/bitmap_scale.h: Likewise.
9180 * include/grub/bufio.h: Likewise.
9181 * include/grub/font.h: Likewise.
9182 * include/grub/gfxterm.h: Likewise.
9183 * include/grub/video.h: Likewise.
9184 * include/grub/vbe.h: Don't include video_fb.h.
9185 * video/i386/pc/vbe.c: Include video_fb.h.
9186 * commands/i386/pc/vbetest.c: Include video.h.
9187
a0ca21c2
CW
91882010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
9189
9190 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
9191 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
9192 default entry if GRUB_SAVEDEFAULT=true. This allows using
9193 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
9194 saving a new default on every boot.
9195
4a8a763c
VS
91962010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * normal/crypto.c (read_crypto_list): Fix a memory leak.
9199 * normal/term.c (read_terminal_list): Likewise.
9200 * normal/main.c (grub_normal_init_page): Likewise.
9201 (grub_normal_read_line_real): Likewise.
9202
607ffde2
VS
92032010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9204
9205 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
9206 memory leak.
9207 Reported by: Seth Goldberg.
9208
2b8fa975
CW
92092010-02-24 Joey Korkames <joey+lists@kidfixit.com>
9210
9211 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
9212 duplicate declaration of `start'.
9213
618307dd
VS
92142010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
9217 filename.
9218 Reported by: Georgy Buranov
9219
7dd05b96 92202010-02-20 Carles Pina i Estany <carles@pina.cat>
9221
9222 * util/grub-mkrawimage.c (usage): Change string formatting to
9223 improve gettext.
9224
d1484a42
MRA
92252010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9226
9227 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
9228 backspace keys.
9229
42b1d186
VS
92302010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
9233 Reported by: Michael Suchanek.
9234
92352010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
9236
9237 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
9238 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
9239
d9f31a41
VS
92402010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
9241
9242 Remove any reference to non-free fonts.
9243
9244 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
9245 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
9246 uses non-free components.
9247 * font/font.c (grub_font_get_name): Remove example name.
9248 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
9249 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9250 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
9251 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
9252
2793c71e
GB
92532010-02-16 Georgy Buranov <gburanov@gmail.com>
9254
9255 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
9256
402e3779
VS
92572010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
9260 Double divisor.
9261 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
9262 features.
9263 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
9264
0dd1e0dd
VS
92652010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * gensymlist.sh.in: Use TARGET_CC instead of CC.
9268
6fa7cfce
ST
92692010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9270
9271 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
9272 * docs/grub.texi (Command-line and menu entry commands): Document play
9273 command.
9274
37c8483b
ST
92752010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9276
9277 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
9278 parse arguments as inline tempo and notes. Move code for playing notes
9279 to...
9280 (play): ... new function.
9281
14da0fb7
ST
92822010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9283
9284 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
9285 grub_uint16_t instead of short.
9286 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
9287 disk from little endian to cpu endianness.
9288
04459e70
ST
92892010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
9290
9291 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
9292 GRUB_TICKS_PER_SECOND instead of 120.
9293
a0876943
VS
92942010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
9297 escape sequence after \e.
9298
e29f95dc
VS
92992010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
9302 non-ASCII characters.
9303
d27859b2
VS
93042010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9305
9306 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
9307 set root in single quotes to prevent \, from being unescaped.
9308
bc028f2f
VS
93092010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9310
9311 Prevent unknown commands from stopping menuentry execution.
9312
9313 * script/execute.c (grub_script_execute_cmdline): Print error after
9314 unknown command.
9315
095f5f82
VS
93162010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
9319 Reported by: Pavel Pisa.
9320
8c717950
VS
93212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
9324
904935c3
VS
93252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9326
9327 Merge grub_ieee1275_map_physical into grub_map and rename to
9328 grub_ieee1275_map
9329
9330 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
9331 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
9332 Remove.
9333 * kern/ieee1275/openfw.c (grub_map): Rename to ...
9334 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
9335 necessary.
9336 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
9337
5b59a4e3
VS
93382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
9341 opening and not after.
9342
69e137e8
VS
93432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
9346 constants.
9347
2c0fcc36
VS
93482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9349
9350 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
9351 (alloc_phys): Use ALIGN_UP instead of align_addr.
9352
8c6052ce
VS
93532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
9356
17cec782
VS
93572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
9360
e0128bbd
VS
93612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
9364 verbose dprintf.
9365
ca62070b
VS
93662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 Fix over-4GiB seek on sparc64.
9369
9370 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
9371 Replace pos_i and pos_lo with pos. All users updated.
9372 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
9373 New constant.
9374 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
9375 Likewise.
9376 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
9377 and pos_lo.
9378
bdca2607
VS
93792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * util/grub-mkrawimage.c (main): Call set_program_name.
9382
da278c4d
VS
93832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 Properly align 64-bit targets.
9386
9387 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
9388 (generate_image): Use ALIGN_ADDR.
9389
b274d734
VS
93902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 Properly create cross-endian images.
9393
9394 * include/grub/types.h (grub_host_to_target_addr): New macro
9395 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
9396
82da2062
VS
93972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9398
9399 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
9400
7cae4377
VS
94012010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9402
9403 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
9404
9405 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
9406 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
9407 (grub_linux_boot): Divide by 64K when on VESA.
9408
65a533e7
VS
94092010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 Support GRUB_GFXPAYLOAD_LINUX.
9412
9413 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
9414 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
9415
dd01d397
VS
94162010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
9419 to show messages instead of discarding them.
9420 Process errors after executing command and not before. Keep old method
9421 too as precaution.
9422
660960d6
VS
94232010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 * configure.ac: Check for ft2build.h.
9426
62509f04
VS
94272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
9430
473df63d
VS
94312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * genkernsyms.sh.in: Use TARGET_CC.
9434
c98d2a13
CW
94352010-02-07 Colin Watson <cjwatson@ubuntu.com>
9436
9437 * NEWS: Update.
9438
6e14234c
VS
94392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9440
9441 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
9442 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
9443 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 9444
b255e9cf
YB
94452010-02-07 Yves Blusseau <blusseau@zetam.org>
9446
6e14234c 9447 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 9448
98e6959d
VS
94492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9450
9451 Fix warnings in grub-emu when compiling with maximum warning options.
9452
9453 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
9454 (grub_arch_modules_addr): Return 0 and not NULL.
9455 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 9456 (xstrdup): Use newstr instead of dup.
f88d801b
VS
9457 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
9458 of disk to dsk to avoid shadowing.
74e4934e
VS
9459 (find_free_slot): Fix prototype.
9460 * util/getroot.c (grub_util_is_dmraid): Make static.
9461 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
9462 Add missing prototype.
9463 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 9464
74e31b5c
VS
94652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * loader/i386/linux.c (grub_linux_setup_video): Handle error
9468 appropriately.
9469
6b2ad14b
VS
94702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
9473 code out.
9474
8f891adc
VS
94752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9476
9477 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
9478 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
9479 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
9480 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
9481 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
9482 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
9483
74b45184
VS
94842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 * include/grub/err.h (grub_err_printf): Don't export.
9487
a4bced77
VS
94882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
9491
007d0695
VS
94922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * include/grub/i18n.h (grub_gettext_dummy): Removed.
9495 * kern/misc.c (grub_gettext_dummy): Make static.
9496
b6c0d9c2
VS
94972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
9500 by non-valid ones.
9501 * kern/term.c (grub_putchar): Likewise.
9502
f51a90d0
VS
95032010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9504
9505 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
9506 buggy hook call and memory leak.
9507
6846cec5
VS
95082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
9511
468d69fe
VS
95122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
9515
51906b8c
VS
95162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
9519 modevar.
9520 Return grub_errno on allocation error.
9521
09706ce5
VS
95222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
9525
911df80c
YB
95262010-02-06 Yves Blusseau <blusseau@zetam.org>
9527
9528 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
9529 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
9530
3746a6bc
VS
95312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
9534 non-pxe disk.
9535 (grub_pxefs_open): Likewise.
9536
09706ce5
VS
95372010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9538
9539 * util/grub.d/10_hurd.in: Add --class information to menuentries.
9540 * util/grub.d/10_kfreebsd.in: Likewise.
9541 * util/grub.d/10_linux.in: Likewise.
9542
7cc192d9
VS
95432010-02-06 Colin D Bennett <colin@gibibit.com>
9544
9545 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
9546 (gfxmenu_mod_SOURCES): New variable.
9547 (gfxmenu_mod_CFLAGS): Likewise.
9548 (gfxmenu_mod_LDFLAGS): Likewise.
9549 * include/grub/term.h (grub_term_set_current_output): Declare
9550 argument as const.
9551 * docs/gfxmenu-theme-example.txt: New file.
9552 * gfxmenu/gfxmenu.c: Likewise.
9553 * gfxmenu/gui_box.c: Likewise.
9554 * gfxmenu/gui_canvas.c: Likewise.
9555 * gfxmenu/gui_circular_progress.c: Likewise.
9556 * gfxmenu/gui_image.c: Likewise.
9557 * gfxmenu/gui_label.c: Likewise.
9558 * gfxmenu/gui_list.c: Likewise.
9559 * gfxmenu/gui_progress_bar.c: Likewise.
9560 * gfxmenu/gui_string_util.c: Likewise.
9561 * gfxmenu/gui_util.c: Likewise.
9562 * gfxmenu/icon_manager.c: Likewise.
9563 * gfxmenu/model.c: Likewise.
9564 * gfxmenu/named_colors.c: Likewise.
9565 * gfxmenu/theme_loader.c: Likewise.
9566 * gfxmenu/view.c: Likewise.
9567 * gfxmenu/widget-box.c: Likewise.
9568 * include/grub/gfxmenu_model.h: Likewise.
9569 * include/grub/gfxmenu_view.h: Likewise.
9570 * include/grub/gfxwidgets.h: Likewise.
9571 * include/grub/gui.h: Likewise.
9572 * include/grub/gui_string_util.h: Likewise.
9573 * include/grub/icon_manager.h: Likewise.
9574
95752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 Agglomerate scrolling in gfxterm.
9578
9579 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
9580 (grub_virtual_screen_setup): Initialise 'total_screen'.
9581 (write_char): Split to ...
9582 (paint_char): ... this ...
9583 (write_char): ... and this.
9584 (paint_char): Handle delayed scrolling.
9585 (draw_cursor): Likewise.
9586 (scroll_up): Split to ...
9587 (real_scroll): ... this ...
9588 (scroll_up): ... and this.
9589 (real_scroll): Handle multi-line scroll and draw below-the-bottom
9590 characters.
9591 (grub_gfxterm_refresh): Call real_scroll.
9592
95932010-02-06 Colin D Bennett <colin@gibibit.com>
9594
9595 * include/grub/misc.h (grub_iscntrl): New inline function.
9596 (grub_isalnum): Likewise.
9597 (grub_strtol): Likewise.
9598
95992010-02-06 Colin D Bennett <colin@gibibit.com>
9600
9601 * normal/menu_text.c (get_entry_number): Move from here ...
9602 * normal/menu.c (get_entry_number): ... moved here.
9603 * include/grub/menu.h (grub_menu_get_default_entry_index):
9604 New prototype.
9605 * normal/menu.c (grub_menu_get_default_entry_index): New function.
9606 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
9607 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
9608 (grub_menu_viewer_should_return): Likewise.
9609 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
9610 * normal/menu_text.c (run_menu): Enable menu switching.
9611 * normal/menu_viewer.c (should_return): New variable.
9612 (menu_viewer_changed): Likewise.
9613 (grub_menu_viewer_show_menu): Handle menu viewer changes.
9614 (grub_menu_viewer_should_return): New function.
9615 (menuviewer_write_hook): Likewise.
9616 (grub_menu_viewer_init): Likewise.
9617
96182010-02-06 Colin D Bennet <colin@gibibit.com>
96192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 Support for gfxterm in a window.
9622
9623 * include/grub/gfxterm.h: New file.
9624 * include/grub/video.h (struct grub_video_rect): New declaration.
9625 (grub_video_rect_t): Likewise.
9626 * term/gfxterm.c (struct grub_gfxterm_window): New type.
9627 (refcount): New variable.
9628 (render_target): Likewise.
9629 (window): Likewise.
9630 (repaint_callback): Likewise.
9631 (grub_virtual_screen_setup): Use 'render_target'.
9632 (init_window): New function.
9633 (grub_gfxterm_init_window): Likewise.
9634 (grub_gfxterm_init): Check reference counter.
9635 Use init_window.
9636 (destroy_window): New function.
9637 (grub_gfxterm_destroy_window): Likewise.
9638 (grub_gfxterm_fini): Check reference counter.
9639 Use destroy_window.
9640 (redraw_screen_rect): Restore viewport.
9641 Use 'render_target' and 'window'.
9642 Call 'repaint_callback'.
9643 (write_char): Use 'render_target'.
9644 (draw_cursor): Likewise.
9645 (scroll_up): Restore viewport.
9646 Use 'render_target' and 'window'.
9647 Call 'repaint_callback'.
9648 (grub_gfxterm_cls): Likewise.
9649 (grub_gfxterm_refresh): Use 'window'.
9650 (grub_gfxterm_set_repaint_callback): New function.
9651 (grub_gfxterm_background_image_cmd): Use 'window'.
9652 (grub_gfxterm_get_term): New function.
9653 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
9654
96552010-02-06 Colin D Bennett <colin@gibibit.com>
9656
9657 Bitmap scaling support.
9658
9659 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
9660 (bitmap_scale_mod_SOURCES): New variable.
9661 (bitmap_scale_mod_CFLAGS): Likewise.
9662 (bitmap_scale_mod_LDFLAGS): Likewise.
9663 * include/grub/bitmap_scale.h: New file.
9664 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
9665 (background_image_cmd_options): New variable.
9666 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
9667 (cmd): Rename and change type to ...
9668 (background_image_cmd_handle): ... this. All users updated.
9669 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
9670 * video/bitmap_scale.c: New file.
9671
96722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 SDL support.
9675
9676 * Makefile.in (LIBSDL): New variable.
9677 (enable_grub_emu_sdl): Likewise.
9678 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
9679 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
9680 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
9681 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
9682 * util/sdl.c: New file.
9683
96842010-02-06 Colin D Bennett <colin@gibibit.com>
96852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 Double buffering support.
9688
9689 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
9690 * include/grub/video.h: Update comment.
9691 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9692 New type.
9693 (grub_video_fb_doublebuf_blit_init): New prototype.
9694 * term/gfxterm.c (scroll_up): Support double buffering.
9695 (grub_gfxterm_refresh): Likewise.
9696 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
9697 (grub_video_fb_doublebuf_blit_init): Likewise.
9698 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
9699 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
9700 'displayed_page', 'render_page' and 'update_screen'.
9701 (grub_video_vbe_fini): Free offscreen buffer.
9702 (doublebuf_pageflipping_commit): New function.
9703 (doublebuf_pageflipping_update_screen): Likewise.
9704 (doublebuf_pageflipping_init): Likewise.
9705 (double_buffering_init): Likewise.
9706 (grub_video_vbe_setup): Enable doublebuffering.
9707 (grub_video_vbe_swap_buffers): Implement.
9708 (grub_video_vbe_set_active_render_target): Handle double buffering.
9709 (grub_video_vbe_get_active_render_target): Likewise.
9710 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
9711 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
9712 (grub_video_vbe_enable_double_buffering): Likewise.
9713 (grub_video_vbe_swap_buffers): Use update_screen.
9714 (grub_video_set_mode): Use double buffering.
9715
97162010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9717
9718 * maintainance/gentrigtables.py: Remove.
9719 * lib/trig.c: Likewise.
9720
9721 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
9722
9723 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
9724 `trigtables.c'.
9725 (trigtables.c): New rule.
9726 (gentrigtables): Likewise.
9727 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
9728
97292010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9730
9731 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
9732 integer constants.
9733
97342010-02-06 Colin D Bennet <colin@gibibit.com>
9735
9736 Trigonometry support.
9737
9738 * include/grub/trig.h: New file.
9739 * lib/trig.c: Likewise.
9740 * maintainance/gentrigtables.py: Likewise.
9741 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
9742 (trig_mod_SOURCES): New variable.
9743 (trig_mod_CFLAGS): Likewise.
9744 (trig_mod_LDFLAGS): Likewise.
9745
5562834e
VS
97462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
9749 disk devices.
9750
4f8528fc
VS
97512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
9754 error.
9755
2b4068e9
VS
97562010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9757
9758 * util/hostdisk.c (open_device): Don't use partition device when reading
9759 before the partition.
9760 (grub_util_biosdisk_read): Don't read from partition and before the
9761 partition in single operation.
9762 (grub_util_biosdisk_write): Don't write to partition and before the
9763 partition in single operation.
9764
399f6e4d
TL
97652010-02-03 Torsten Landschoff <torsten@debian.org>
9766
9767 * kern/disk.c (grub_disk_read): Fix offset computation when reading
9768 last sectors.
9769
996649b0
VS
97702010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
9773 CDROM reads.
9774 (grub_biosdisk_write): Refuse to write to CDROM.
9775
3b205d4d
VS
97762010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
9779
61e89d9d
VS
97802010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 * font/font.c (find_glyph): Check that bmp_idx is available before
9783 using it.
9784 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
9785 with (font == NULL).
9786
bf7fcba2
CS
97872010-01-28 Christian Schmitt <chris@ilovelinux.de>
9788
9789 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
9790
f45d2663
BC
97912010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
9792
9793 * include/grub/script_sh.h (sourcecode): Add const qualifier.
9794 * util/grub-script-check.c (getline): Fix empty lines case.
9795
ec1444e6
RM
97962010-01-28 Robert Millan <rmh.grub@aybabtu.com>
9797
9798 * Makefile.in (check): Exit with fail status when one of the tests
9799 fails.
9800 * tests/example_functional_test.c (example_test): Fix reversed assert.
9801 * tests/example_unit_test.c (example_test): Likewise.
9802
2e1cb9bb
CW
98032010-01-28 Colin Watson <cjwatson@ubuntu.com>
9804
9805 * util/grub.d/10_linux.in: This script does not use any of the
9806 contents of gettext.sh, only the external command `gettext', so stop
9807 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
9808 the same prefix as GRUB.)
9809 * util/grub.d/10_kfreebsd.in: Likewise.
9810
63533ab0
VS
98112010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
9814 of the line.
9815
989e1f93
VS
98162010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9817
9818 * kern/disk.c (grub_disk_read): Fix offset computation when reading
9819 last sectors.
9820
e709ebe2
VS
98212010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
9824 having a 4KiB and not 32KiB buffer size.
9825
27dea7ed
RM
98262010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9827
9828 * util/hostfs.c: Include `<errno.h>'.
9829 (grub_hostfs_read): Handle errors from fseeko() and fread().
9830
67667b9c
RM
98312010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9832
9833 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
9834 loop when using read hooks on files whose size isn't sector-aligned.
9835
c294d9d8
RM
98362010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9837
9838 Remove unused parameter.
9839
9840 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
9841 (grub_iso9660_open): Remove initialization of `data->length'.
9842
af75a9f1
RM
98432010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9844
9845 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
9846 memleak conditions.
9847
254e2ce5 98482010-01-27 Carles Pina i Estany <carles@pina.cat>
9849
9850 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
9851 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
9852
b510928c 98532010-01-26 Carles Pina i Estany <carles@pina.cat>
9854
9855 * util/bin2h.c (usage): Fix warning (space after backslash).
9856
aa2f9dd2 98572010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 9858
9859 * font/font.c: Include `grub/fontformat.h.
9860 Remove font file format constants.
9861 (grub_font_load): Use the new macros.
9862 * include/grub/fontformat.h: New file.
9863 * util/grub-mkfont.c: Include `grub/fontformat.c'.
9864 (write_font_pf2): Use the new macros.
9865
94e7e712
RM
98662010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9867
9868 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
9869 does.
9870
3973a59a
RM
98712010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9872
9873 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
9874
9875 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
9876 (_start): Macroify `0x7F'.
9877
9878 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
9879 (make_install_device): Use "(pxe)" as fallback prefix when booting
9880 via PXE.
9881
42e0cba3
GS
98822010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9883
9884 * configure.ac: Reset LIBS after check for libgcc symbols.
9885
847effd8
CW
98862010-01-25 Colin Watson <cjwatson@ubuntu.com>
9887
9888 * util/hostdisk.c (open_device): Add trailing newline to debug
9889 message.
9890
ea4a7e35
GS
98912010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
9892
9893 * configure.ac: Check for `limits.h'.
9894 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
9895
67951a53
RM
98962010-01-24 Robert Millan <rmh.grub@aybabtu.com>
9897
9898 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
9899 capitalize error strings.
9900
c273d4ce
ST
99012010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
9902
9903 * util/grub.d/10_hurd.in: Add a recovery mode.
9904
69be5b74
VS
99052010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9906
9907 * configure.ac: Check for libgcc symbols with -nostdlib.
9908
fc9e5810
BC
99092010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
9910
9911 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
9912
4b358c0a
VS
99132010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
9916 stack since heap may be unavailable at that point.
9917 (grub_ofconsole_gotoxy): Likewise.
9918
454fcd1c
VS
99192010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9920
9921 * configure.ac: Check for _restgpr_14_x.
9922 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
9923 and _savegpr_* prototypes.
9924
566863ca
RM
99252010-01-22 Robert Millan <rmh.grub@aybabtu.com>
9926
9927 Use generic grub_reboot() for i386-efi.
9928
9929 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
9930 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
9931 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
9932
bf86e59a
VS
99332010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
9936 presence of "prefix" variable as it breaks when normal.mod is
9937 embedded.
9938
d645e0f8
VS
99392010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
9942 stack since heap is unavailable at that point.
9943
f9ab2e25
VS
99442010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
9947 (grub_freebsd_bootinfo): Rewritten.
9948 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
9949
01fc7054
VS
99502010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
9953
caab4fd6
RM
99542010-01-21 Robert Millan <rmh.grub@aybabtu.com>
9955
9956 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
9957 domain now.
9958
67eb1427
FZ
99592010-01-20 Felix Zielcke <fzielcke@z-51.de>
9960
9961 * util/misc.c (make_system_path_relative_to_its_root): Change the work
9962 around for handling "/" to the correct fix. Fix a memory leak. Use
9963 xstrdup instead of strdup.
9964
a9ed4ff3
VS
99652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
9968
99692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
9970
9971 Optimise glyph lookup by Basic Multilingual Plane lookup array.
9972
9973 * font/font.c (struct grub_font): New member 'bmp_idx'.
9974 (font_init): Initialise 'bmp_idx'.
9975 (load_font_index): Fill 'bmp_idx'.
9976 (find_glyph): Make inline. Use bmp_idx for BMP characters.
9977
48209f4f
VS
99782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
9981 unnecessary calls.
9982
9f0a4bb7
VS
99832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 Move context handling out of the kernel.
9986
9987 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
9988 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
9989 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
9990 * conf/i386-efi.rmk: Likewise.
9991 * conf/i386-ieee1275.rmk: Likewise.
9992 * conf/i386-pc.rmk: Likewise.
9993 * conf/powerpc-ieee1275.rmk: Likewise.
9994 * conf/sparc64-ieee1275.rmk: Likewise.
9995 * conf/x86_64-efi.rmk: Likewise.
9996 * include/grub/env.h: Include grub/menu.h.
9997 (grub_env_var_type): Removed.
9998 (grub_env_var): Replaced field 'type' with 'global'.
9999 (grub_env_find): New prototype.
10000 (grub_env_context_open): Remove EXPORT_FUNC.
10001 (grub_env_context_close): Likewise.
10002 (grub_env_export): Likewise.
10003 (grub_env_set_data_slot): Removed.
10004 (grub_env_get_data_slot): Likewise.
10005 (grub_env_unset_data_slot): Likewise.
10006 (grub_env_unset_menu): New prototype.
10007 (grub_env_set_menu): Likewise.
10008 (grub_env_get_menu): Likewise.
10009 * include/grub/env_private.h: New file.
10010 * include/grub/normal.h (grub_context_init): New prototype.
10011 (grub_context_fini): Likewise.
10012 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
10013 * normal/context.c (grub_cmd_export): ... to here.
10014 * kern/env.c: Include env_private.h.
10015 (HASHSZ): Moved to include/grub/env_private.h.
10016 (grub_env_context): Likewise.
10017 (grub_env_sorted_var): Likewise.
10018 (current_context): Renamed from this ...
10019 (grub_current_context): ...to this. 'static' removed. All users updated.
10020 (grub_env_find): Removed 'static'.
10021 (grub_env_context_open): Moved to normal/context.c.
10022 (grub_env_context_close): Likewise.
10023 (grub_env_export): Likewise.
10024 (mangle_data_slot_name): Removed.
10025 (grub_env_set_data_slot): Likewise.
10026 (grub_env_get_data_slot): Likewise.
10027 (grub_env_unset_data_slot): Likewise.
10028 * kern/main.c (grub_set_root_dev): Don't export root.
10029 It will be done later.
10030 (grub_main): Don't export prefix.
10031 It will be done later.
10032 * normal/context.c: New file.
10033 * normal/main.c (free_menu): Use grub_env_unset_menu.
10034 (grub_normal_add_menu_entry): Use grub_env_get_menu.
10035 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
10036 (GRUB_MOD_INIT(normal)): Call grub_context_init.
10037 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
10038
8dd35b8c
VS
100392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 setpci support.
10042
10043 * commands/setpci.c: New file.
10044 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
10045 (setpci_mod_SOURCES): New variable.
10046 (setpci_mod_CFLAGS): Likewise.
10047 (setpci_mod_LDFLAGS): Likewise.
10048
449193d5
VS
100492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10050
10051 Byte-addressable PCI configuration space.
10052
10053 * bus/pci.c (grub_pci_make_address): Use byte address instead of
10054 dword address.
10055 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
10056 GRUB_PCI_REG_CACHELINE.
10057 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
10058 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
10059 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
10060 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
10061 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
10062 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
10063 grub_pci_make_address.
10064 (lock_rom_area): Likewise.
10065 * commands/lspci.c (grub_lspci_iter): Use macroses
10066 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
10067 of grub_pci_make_address.
10068 * disk/ata.c (grub_ata_pciinit): Likewise.
10069 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
10070 (GRUB_PCI_REG_VENDOR): Likewise.
10071 (GRUB_PCI_REG_DEVICE): Likewise.
10072 (GRUB_PCI_REG_COMMAND): Likewise.
10073 (GRUB_PCI_REG_STATUS): Likewise.
10074 (GRUB_PCI_REG_REVISION): Likewise.
10075 (GRUB_PCI_REG_CLASS): Likewise.
10076 (GRUB_PCI_REG_CACHELINE): Likewise.
10077 (GRUB_PCI_REG_LAT_TIMER): Likewise.
10078 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
10079 (GRUB_PCI_REG_BIST): Likewise.
10080 (GRUB_PCI_REG_ADDRESSES): Likewise.
10081 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10082 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10083 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10084 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10085 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10086 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10087 (GRUB_PCI_REG_CIS_POINTER): Likewise.
10088 (GRUB_PCI_REG_SUBVENDOR): Likewise.
10089 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
10090 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
10091 (GRUB_PCI_REG_CAP_POINTER): Likewise.
10092 (GRUB_PCI_REG_IRQ_LINE): Likewise.
10093 (GRUB_PCI_REG_IRQ_PIN): Likewise.
10094 (GRUB_PCI_REG_MIN_GNT): Likewise.
10095 (GRUB_PCI_REG_MAX_LAT): Likewise.
10096 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
10097 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
10098 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 10099 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
10100 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
10101 space.
10102
96d73208
RM
101032010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10104
10105 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
10106 can be reliably determined to be supported.
10107
d4484482
RM
101082010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10109
10110 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
10111 that VESA is supported.
10112 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
10113 supported.
10114
00308ecf
VS
101152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
10118
f66924a4
RM
101192010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10120
10121 * util/misc.c (make_system_path_relative_to_its_root): Work around
10122 special-casing of "/", as previous incarnation of this routine did.
10123
cbca0ada
VS
101242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 Fix any-emu compilation.
10127
10128 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
10129 * grub_bin2h_SOURCES: New variable.
10130
34a66d99
RM
101312010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10132
10133 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
10134
94fabf58
RM
101352010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10136
10137 * util/grub.d/00_header.in: Fix handling of locale_dir.
10138
02cf98ca
VS
101392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
10142 as possible unifont location (Gentoo).
10143 Reported by: Alexander Brüning
10144
327dbcd7
VS
101452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10146
10147 Don't try to generate lists for kernel.img.
10148
10149 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
10150 (pkglib_MODULES): Remove kernel.img.
10151 (kernel_img_EXPORTS): Removed.
10152 (kernel_img_RELOCATABLE): New variable.
10153 * conf/x86_64-efi.rmk: Likewise.
10154 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
10155
ca467290
VS
101562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10157
10158 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
10159 grub_xasprintf or grub_snprintf.
10160 (grub_vsprintf): Likewise.
10161 (grub_snprintf): New proto.
10162 (grub_vsnprintf): Likewise.
10163 (grub_xasprintf): Likewise.
10164 (grub_xvasprintf): Likewise.
10165 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
10166 (grub_sprintf): Removed.
10167 (grub_vsnprintf): New function.
10168 (grub_snprintf): Likewise.
10169 (grub_xvasprintf): Likewise.
10170 (grub_xasprintf): Likewise.
10171 (grub_vsprintf): Renamed to ...
10172 (grub_vsnprintf_real): ...this. New argument max_len.
10173
aca655fd
BC
101742010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
10175
10176 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
10177 fix grub-script-check warning.
10178
7ee92c32
VS
101792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * include/grub/font.h (grub_font_load): Fix prototype.
10182
f80927ca
VS
101832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
10186
119c50ea
VS
101872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * include/grub/x86_64/at_keyboard.h: New file.
10190
47d5f3c1
VS
101912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * loader/mips/linux.c: Include missing grub/i18n.h.
10194
55ff5266
RM
101952009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10196
10197 * normal/menu.c (notify_execution_failure): Clarify error message.
10198
c893cc87
RM
101992009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10200
10201 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
10202 return value (and revert all return statements). Update users.
10203
917dd370
CW
102042010-01-20 Dan Merillat <debian@dan.merillat.org>
10205
10206 * kern/device.c (grub_device_iterate): Allocate new part_ent
10207 structure based on sizeof (*p) rather than sizeof (p->next), to
10208 account for structure padding.
10209
10210 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
10211 disk is NULL, which might happen for LVM physical volumes with no
10212 LVM signature.
10213
d4a4ee57
RM
102142009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10215
10216 * loader/mips/linux.c (grub_cmd_initrd)
10217 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
10218
102192009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10220
10221 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
10222 (grub_video_video_init, grub_video_bitmap_init)
10223 (grub_font_manager_init, grub_term_gfxterm_init)
10224 (grub_at_keyboard_init): New extern declarations.
10225 (grub_machine_init): Initialize gfxterm and at_keyboard.
10226
10227 * kern/main.c (grub_main): Revert grub_printf delay kludge.
10228
10229 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
10230 `gfxterm.mod' into core image.
10231
10232 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10233 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10234 (kernel_img_FORMAT): Copy to ...
10235
10236 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10237 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10238 (kernel_img_FORMAT): ... here, and ...
10239
10240 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10241 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10242 (kernel_img_FORMAT): ... here.
10243
10244 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
10245 and input (at_keyboard) terminals in kernel.
10246 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
10247
10248 (pkglib_MODULES): Remove `pci.mod'.
10249 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
10250 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
10251 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
10252 (at_keyboard_mod_LDFLAGS): Remove variables.
10253
102542010-01-11 Felix Zielcke <fzielcke@z-51.de>
10255
10256 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
10257
102582009-12-10 Robert Millan <rmh.grub@aybabtu.com>
10259
10260 * include/grub/mips/libgcc.h: Only export symbols for functions
10261 that libgcc provides.
10262
102632009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
10264
10265 MIPS support.
10266
10267 * bus/bonito.c: New file.
10268 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
10269 GRUB_PCI_NUM_DEVICES.
10270 * term/i386/pc/serial.c: Move to ...
10271 * term/serial.c: ... here. All users updated.
10272 * util/i386/pc/grub-mkimage.c: Move to ...
10273 * util/grub-mkrawimage.c: ... here. All users updated.
10274 * term/i386/pc/at_keyboard.c: Move to ...
10275 * term/at_keyboard.c: ... here. All users updated.
10276 * conf/mips-qemu-mips.rmk: New file.
10277 * conf/mips-yeeloong.rmk: Likewise.
10278 * conf/mips.rmk: Likewise.
10279 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
10280 mipsel-qemu-mips.
10281 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
10282 to port addresses.
10283 (grub_ata_pciinit): Support CS5536.
10284 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
10285 * font/font_cmd.c (loadfont_command): Open file before passing it to
10286 grub_font_load.
10287 (pseudo_file_read): New function.
10288 (pseudo_file_close): Likewise.
10289 (pseudo_fs): New structure.
10290 (load_font_module): New function.
10291 (GRUB_MOD_INIT(font_manager)): Load embedded font.
10292 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
10293 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
10294 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
10295 * include/grub/i386/at_keyboard.h: Split into ...
10296 * include/grub/at_keyboard.h: ... this ...
10297 * include/grub/i386/at_keyboard.h: ... and this.
10298 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
10299 New prototype.
10300 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
10301 updated.
10302 (grub_elf64_size): Likewise.
10303 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
10304 filename.
10305 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
10306 * include/grub/i386/coreboot/serial.h: Rewritten.
10307 * include/grub/i386/ieee1275/serial.h: Include
10308 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
10309 * include/grub/i386/pc/serial.h: Moved from here ...
10310 * include/grub/serial.h: ... to here. All users updated.
10311 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
10312 (GRUB_PCI_NUM_BUS): Likewise.
10313 (GRUB_PCI_NUM_DEVICES): Likewise.
10314 (grub_pci_device_map_range): Add missing volatile keyword.
10315 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
10316 * include/grub/mips/at_keyboard.h: New file.
10317 * include/grub/mips/cache.h: Likewise.
10318 * include/grub/mips/io.h: Likewise.
10319 * include/grub/mips/kernel.h: Likewise.
10320 * include/grub/mips/libgcc.h: Likewise.
10321 * include/grub/mips/pci.h: Likewise.
10322 * include/grub/mips/qemu-mips/boot.h: Likewise.
10323 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10324 * include/grub/mips/qemu-mips/loader.h: Likewise.
10325 * include/grub/mips/qemu-mips/memory.h: Likewise.
10326 * include/grub/mips/qemu-mips/serial.h: Likewise.
10327 * include/grub/mips/qemu-mips/time.h: Likewise.
10328 * include/grub/mips/relocator.h: Likewise.
10329 * include/grub/mips/time.h: Likewise.
10330 * include/grub/mips/types.h: Likewise.
10331 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
10332 * include/grub/mips/yeeloong/boot.h: Likewise.
10333 * include/grub/mips/yeeloong/kernel.h: Likewise.
10334 * include/grub/mips/yeeloong/loader.h: Likewise.
10335 * include/grub/mips/yeeloong/memory.h: Likewise.
10336 * include/grub/mips/yeeloong/pci.h: Likewise.
10337 * include/grub/mips/yeeloong/serial.h: Likewise.
10338 * include/grub/mips/yeeloong/time.h: Likewise.
10339 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
10340 * kern/elf.c (grub_elf32_size): New parameter. All users
10341 updated.
10342 (grub_elf64_size): Likewise.
10343 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
10344 Load modules before saying "Welcome to GRUB!".
10345 Call grub_refresh after saying "Welcome to GRUB!".
10346 * kern/mips/cache.S: New file.
10347 * kern/mips/cache_flush.S: Likewise.
10348 * kern/mips/dl.c: Likewise.
10349 * kern/mips/init.c: Likewise.
10350 * kern/mips/qemu-mips/init.c: Likewise.
10351 * kern/mips/startup.S: Likewise.
10352 * kern/mips/yeeloong/init.c: Likewise.
10353 * kern/term.c (grub_putcode): Handle NULL terminal.
10354 (grub_getcharwidth): Likewise.
10355 (grub_getkey): Likewise.
10356 (grub_checkkey): Likewise.
10357 (grub_getkeystatus): Likewise.
10358 (grub_getxy): Likewise.
10359 (grub_getwh): Likewise.
10360 (grub_gotoxy): Likewise.
10361 (grub_cls): Likewise.
10362 (grub_setcolorstate): Likewise.
10363 (grub_setcolor): Likewise.
10364 (grub_getcolor): Likewise.
10365 (grub_refresh): Likewise.
10366 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
10367 (write_jump): Add hatch nop.
10368 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
10369 * lib/mips/setjmp.S: New file.
10370 * loader/mips/linux.c: Likewise.
10371 * term/i386/pc/at_keyboard.c: Move from here ...
10372 * term/at_keyboard.c: ... to here.
10373 * term/i386/pc/serial.c: Moved from here ...
10374 * term/serial.c: ... to here. All users updated.
10375 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
10376 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
10377 (serial_translate_key_sequence): Avoid deadlock.
10378 (grub_serial_getkey): Handle backspace.
10379 (grub_serial_putchar): Fix newline handling.
10380 * util/i386/pc/grub-mkimage.c: Move from here ...
10381 * util/grub-mkrawimage.c: ... to here. All users updated.
10382 (generate_image): New parameters 'font_path' and 'format'.
10383 Support embedding font.
10384 Use grub_host_to_target* instead of grub_cpu_to_le*.
10385 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
10386 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
10387 (options): New option "--font".
10388 (usage): Likewise.
10389 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
10390 (main): Handle "--font".
10391 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
10392 (grub_virtual_screen_setup): Set bg_color_display.
10393 (redraw_screen_rect): Use bg_color_display instead of incorrect
10394 bg_color.
10395 (grub_gfxterm_cls): Likewise.
10396 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
10397 Support embedding config file.
10398 (add_segments): Likewise.
10399 (options): New option "--config".
10400 (main): Handle "--config".
10401 * video/sm712.c: New file.
10402
25c2b5b3
RM
104032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10404
10405 Fix parallel builds.
10406
10407 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
10408 font.c depend on ascii.h).
10409
104102010-01-12 Carles Pina i Estany <carles@pina.cat>
10411
10412 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
10413
104142010-01-11 Carles Pina i Estany <carles@pina.cat>
10415
10416 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
10417 By default: disabled.
10418 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
10419 parameter.
10420
104212010-01-10 Carles Pina i Estany <carles@pina.cat>
10422
10423 * font/font.c: Update copyright years.
10424 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
10425
104262010-01-10 Carles Pina i Estany <carles@pina.cat>
10427
10428 * font/font.c: Include `ascii.h'.
10429 (ASCII_BITMAP_SIZE): New macro.
10430 (ascii_font_glyph): Define.
10431 (ascii_glyph_lookup): New function.
10432 (grub_font_get_string_width): Change comment. If glyph not found, use
10433 ascii_glyph_lookup.
10434 (grub_font_get_glyph_with_fallback): If glyph not available returns
10435 ascii_glyph_lookup.
10436 * util/grub-mkfont.c (file_formats): New enum.
10437 (options): Add `ascii-bitmaps' new option.
10438 (usage): Add `asii-bitmaps' new option.
10439 (write_font_ascii_bitmap): New function.
10440 (write_font): Rename to ...
10441 (write_font_p2): ... this. Remove print_glyphs call.
10442 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
10443 used. Call print_glyphs.
10444 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
10445
104462010-01-14 Robert Millan <rmh.grub@aybabtu.com>
10447
10448 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
10449 (grub_bin2h_SOURCES): New variable.
10450 * util/bin2h.c: New file.
10451
915fc1b8
VS
104522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 * include/multiboot.h: Resynced with spec.
10455 * include/multiboot2.h: Likewise.
10456 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
10457 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
10458
9444b678
RM
104592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10460
10461 * include/grub/term.h (grub_term_register_input,
10462 grub_term_register_output): Check return of terminal init()
10463 routines, and abort if errors are raised.
10464
10465 * commands/terminal.c: Update copyright year.
10466
cba98e8d
RM
104672010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10468
10469 * commands/terminal.c (grub_cmd_terminal_input)
10470 (grub_cmd_terminal_output): Check return of terminal init()
10471 routines, and abort if errors are raised.
10472
6f7db5d6
VS
104732010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 * include/grub/i386/bsd.h: Fix include pathes.
10476
262bff8d
VS
104772010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10478
10479 Add missing *BSD copyright headers.
10480
10481 * include/grub/aout.h: Add BSD licence.
10482 * include/grub/i386/bsd.h: Parts under different licences moved to ...
10483 * include/grub/i386/freebsd_linker.h: ... here,
10484 * include/grub/i386/freebsd_reboot.h: ... here,
10485 * include/grub/i386/netbsd_bootinfo.h: ... here,
10486 * include/grub/i386/netbsd_reboot.h: ... here,
10487 * include/grub/i386/openbsd_bootarg.h: ... here,
10488 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
10489 licence to each file.
10490
b2cab848
RM
104912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10492
10493 * acinclude.m4: Remove `nop' assembly instruction; it's not
10494 implemented by all architectures.
10495
2cb6be4b
RM
104962010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10497
10498 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
10499 ELILO. This is no longer necessary.
10500
a2eaee15
BC
105012010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
10502
10503 Added new tool, grub-scrit-check to verify grub.cfg syntax.
10504
10505 * util/grub-script-check.c: grub-script-check tool.
10506 * conf/common.rmk: Make rules for grub-script-check.
10507
88d17012
RM
105082010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10509
10510 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
10511 spotting it back in 2008. Shame on me for forgetting he did.
10512
10513 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
10514
8040619d
RM
105152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10516
10517 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
10518 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
10519 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
10520 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
10521 (GRUB_VIDEO_TYPE_EFI): Rename to ...
10522 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
10523
a0c2a0f6
RM
105242010-01-17 Robert Millan <rmh.grub@aybabtu.com>
10525
10526 * include/grub/test.h: Add license header.
10527 * tests/example_functional_test.c: Likewise.
10528 * tests/example_unit_test.c: Likewise.
10529 * tests/lib/functional_test.c: Likewise.
10530 * tests/lib/test.c: Likewise.
10531 * tests/lib/unit_test.c: Likewise.
10532
b0b13907
VS
105332010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
10534
10535 Use flag-based instead of hook-based video mode selection and "auto"
10536 keyword.
10537
10538 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
10539 (grub_video_set_mode): Changed prototype. All users updated.
10540 (grub_video_check_mode_flag): New inline function.
10541 * video/video.c (parse_modespec): New function.
10542 (grub_video_set_mode): Parse flags and keywords.
10543
ea379330 105442010-01-17 Carles Pina i Estany <carles@pina.cat>
10545
10546 * util/misc.c (grub_util_info): Fix the order of the parameters in a
10547 fprintf call.
10548
e15c215e
FZ
105492010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
10550
10551 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
10552
409ae1c9 105532010-01-16 Carles Pina i Estany <carles@pina.cat>
10554
10555 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
10556 string.
10557 * util/grub-emu.c (usage): Likewise.
10558 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
10559 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10560 * util/i386/pc/grub-mkimage.c (usage): Likewise.
10561 * util/i386/pc/grub-setup.c (usage): Likewise.
10562
70a14d3d 105632010-01-16 Carles Pina i Estany <carles@pina.cat>
10564
10565 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
10566 the message.
10567 (grub_util_info): Likewise.
10568 (grub_util_error): Likewise.
10569 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
10570 and/or new lines in `grub_util_warna', `grub_util_info',
10571 `grub_util_error' calls.
10572 * util/getroot.c: Likewise.
10573 * util/grub-editenv.c: Likewise.
10574 * util/grub-emu.c: Likewise.
10575 * util/grub-fstest.c: Likewise.
10576 * util/grub-mkdevicemap.c: Likewise.
10577 * util/grub-mkfont.c: Likewise.
10578 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10579 * util/grub-mkrelpath.c: Likewise.
10580 * util/grub-pe2elf.c: Likewise.
10581 * util/grub-probe.c: Likewise.
10582 * util/hostdisk.c: Likewise.
10583 * util/i386/efi/grub-mkimage.c: Likewise.
10584 * util/i386/pc/grub-mkimage.c: Likewise.
10585 * util/i386/pc/grub-setup.c: Likewise.
10586 * util/ieee1275/ofpath.c: Likewise.
10587 * util/mkisofs/eltorito.c: Likewise.
10588 * util/mkisofs/rock.c: Likewise.
10589 * util/mkisofs/write.c: Likewise.
10590 * util/raid.c: Likewise.
10591 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
10592 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10593
a0b766fc
VS
105942010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 Enable multiboot on non-pc.
10597
10598 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
10599 multiboot.mod and multiboot2.mod to ...
10600 * conf/i386.rmk (pkglib_MODULES): ... here.
10601 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
10602 Moved to ...
10603 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
10604 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
10605 Moved to ...
10606 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
10607 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
10608 Moved to ...
10609 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
10610 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
10611 Moved to ...
10612 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
10613 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
10614 relocator.mod.
10615 (ata_mod_SOURCES): Removed.
10616 (ata_mod_CFLAGS): Likewise.
10617 (ata_mod_LDFLAGS): Likewise.
10618 (relocator_mod_SOURCES): Removed.
10619 (relocator_mod_CFLAGS): Likewise.
10620 (relocator_mod_ASFLAGS): Likewise.
10621 (relocator_mod_LDFLAGS): Likewise.
10622 Include i386.mk.
10623 * include/grub/x86_64/multiboot.h: New file.
10624 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
10625 Terminate EFI.
10626
884ade56
VS
106272010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10628
10629 Video multiboot support.
10630
10631 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
10632 New prototype.
10633 * include/multiboot.h: Resynced with multiboot specification.
10634 * include/multiboot2.h: Likewise.
10635 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
10636 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
10637 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
10638 (HAS_VGA_TEXT): Likewise.
10639 (accepts_video): New variable.
10640 (grub_multiboot_set_accepts_video): New function.
10641 (grub_multiboot_get_mbi_size): Account for video structures.
10642 (set_video_mode): New function.
10643 (retrieve_video_parameters): Likewise.
10644 (grub_multiboot_make_mbi): Fill video fields.
10645
0d90e8a6
VS
106462010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 Video driver ids.
10649
10650 * include/grub/video.h (grub_video_driver_id): New type.
10651 (grub_video_adapter): New member 'id'. All users updated.
10652 (grub_video_get_driver_id): New proto.
10653 * video/video.c (grub_video_get_driver_id): New function.
10654
5c71db1b 106552010-01-14 Carles Pina i Estany <carles@pina.cat>
10656
10657 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
10658 `var=val'.
10659
cca15b52 106602010-01-14 Carles Pina i Estany <carles@pina.cat>
10661
10662 * normal/cmdline.c (print_completion): Gettextizze.
10663
c586fbb2 106642001-01-14 Carles Pina i Estany <carles@pina.cat>
10665
10666 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
10667
ba2f6848 106682010-01-14 Carles Pina i Estany <carles@pina.cat>
10669
10670 * gettext/gettext.c (grub_gettext_translate): Push and pop
10671 grub_errno.
10672 (grub_gettext_delete_list): Change comment style.
10673 * kern/err.c (grub_error): Gettextizze.
10674 (grub_fatal): Gettextizze.
10675
0a46429a
RM
106762010-01-14 Robert Millan <rmh.grub@aybabtu.com>
10677
10678 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
10679 (grub_linux16_real_boot): ... this.
10680 * kern/i386/loader.S: Likewise.
10681 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
10682 (grub_linux16_boot): New function. Switches to text mode and calls
10683 grub_linux16_real_boot().
10684
10685 * loader/i386/bsd.c: Include `<grub/video.h>'.
10686 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
10687 text mode before calling grub_unix_real_boot().
10688
10689 * loader/i386/multiboot.c: Include `<grub/video.h>'.
10690 (grub_multiboot_boot): Switch to text mode before calling
10691 grub_relocator32_boot().
10692
10693 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
10694 (grub_chainloader_boot): Switch to text mode before calling
10695 grub_chainloader_real_boot().
10696
d6f93a66
RM
106972010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
106982010-01-05 Colin Watson <cjwatson@ubuntu.com>
10699
10700 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
10701 non-empty value.
10702
107032010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
107042010-01-05 Colin Watson <cjwatson@ubuntu.com>
10705
10706 * util/grub.d/00_header.in: Define a "savedefault" function for use
10707 in menu entries.
10708 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
10709
107102010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
107112010-01-05 Colin Watson <cjwatson@ubuntu.com>
10712
10713 * util/grub-mkconfig_lib.in (save_default_entry): Only set
10714 saved_entry if boot_once is unset.
10715 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
10716 previous saved entry (i.e. grub-reboot).
10717
107182009-12-08 Colin Watson <cjwatson@ubuntu.com>
10719
10720 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
10721
107222009-12-08 Colin Watson <cjwatson@ubuntu.com>
10723
10724 * util/grub.d/00_header.in: Use `set var=val' rather than plain
10725 `var=val'.
10726 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
10727
107282009-12-08 Colin Watson <cjwatson@ubuntu.com>
10729
10730 * util/grub-reboot.in: Fix --version output.
10731 * util/grub-set-default.in: Likewise.
10732
107332009-12-08 Colin Watson <cjwatson@ubuntu.com>
10734
10735 * util/grub.d/00_header.in: Silently ignore zero-sized environment
10736 blocks.
10737
107382009-12-08 Colin Watson <cjwatson@ubuntu.com>
10739
10740 * util/grub.d/00_header.in: Quote the value assigned to `default',
10741 in case it contains spaces.
10742
107432009-12-08 Colin Watson <cjwatson@ubuntu.com>
10744
10745 * util/grub.d/30_os-prober.in: Fix merge error that moved a
10746 `save_default_entry' call from the macosx case to the linux case.
10747
107482009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
107492009-10-25 Colin Watson <cjwatson@ubuntu.com>
10750
10751 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
10752 in `chosen' environment variable.
10753 * normal/menu_text.c (get_entry_number): Check if the variable
10754 matches the title of a menu entry.
10755 (run_menu): Pass menu to get_entry_number.
10756
10757 * util/grub-reboot.in: New file.
10758 * util/grub-set-default.in: New file.
10759 * conf/common.rmk (grub-reboot): New utility.
10760 (grub-set-default): New utility.
10761
10762 * util/grub-mkconfig_lib.in (save_default_entry): New function.
10763 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
10764 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
10765 move it to `saved_entry' for the next boot. Load environment on
10766 initialisation.
10767 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
10768 * util/grub.d/10_hurd.in: Likewise.
10769 * util/grub.d/10_linux.in (linux_entry): Likewise.
10770 * util/grub.d/10_windows.in: Likewise.
10771 * util/grub.d/30_os-prober.in: Likewise.
10772
10773 * util/grub-install.in: Create environment block.
10774 * util/i386/efi/grub-install.in: Likewise.
10775 * util/ieee1275/grub-install.in: Likewise.
10776 * util/sparc64/ieee1275/grub-install.in: Likewise.
10777
0934d184
BC
107782010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
10779
10780 Unit testing framework for GRUB.
10781
10782 * Makefile.in: Test framework build rules for 'make check'.
10783 * conf/tests.rmk: Build rules for individual tests and framework.
10784
10785 * include/grub/test.h: Header file for whitebox tests.
10786 * tests/lib/functional_test.c: Framework support for whitebox
10787 functional tests.
10788 * tests/lib/test.c: Common whitebox testing code for unit and
10789 functional tests.
10790 * tests/lib/unit_test.c: Framework support for whitebox unit
10791 tests.
10792
10793 * tests/util/grub-shell-tester.in: Support utility for grub-script
10794 tests.
10795 * tests/util/grub-shell.in: Utility to execute grub-script
10796 commands in a Qemu instance.
10797
10798 * tests/example_functional_test.c: Example whitebox functional
10799 test.
10800 * tests/example_grub_script_test.in: Example grub-script test.
10801 * tests/example_scripted_test.in: Example scripted test.
10802 * tests/example_unit_test.c: Example whitebox unit test.
10803
9c4ffeeb
VS
108042010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
10807 Add loader/i386/multiboot_mbi.c.
10808 (multiboot2_mod_SOURCES): Likewise.
10809 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
10810 (multiboot2_mod_SOURCES): Likewise.
10811 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
10812 (grub_multiboot_make_mbi): Likewise.
10813 (grub_multiboot_free_mbi): Likewise.
10814 (grub_multiboot_init_mbi): Likewise.
10815 (grub_multiboot_add_module): Likewise.
10816 (grub_multiboot_set_bootdev): Likewise.
10817 * loader/i386/multiboot.c (mbi): Removed.
10818 (mbi_dest): Likewise.
10819 (alloc_mbi): New variable.
10820 (grub_multiboot_payload_size): Removed. All users updated.
10821 (grub_multiboot_pure_size): New variable.
10822 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
10823 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
10824 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
10825 (grub_fill_multiboot_mmap): Likewise.
10826 (grub_multiboot_get_bootdev): Likewise.
10827 (grub_multiboot): Use multiboot_mbi functions.
10828 * loader/i386/multiboot_mbi.c: New file.
10829
17383dfe
VS
108302010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
10833 it would result in module crash.
10834
c1f28820
VS
108352010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
10838 (grub_ofconsole_getwh): Split to ...
10839 (grub_ofconsole_getwh): ... this.
10840 (grub_ofconsole_dimensions): ...and this.
10841 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
10842
58655a16
RM
108432010-01-13 Robert Millan <rmh.grub@aybabtu.com>
10844
10845 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
10846
10891398
VS
108472010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 * loader/i386/pc/multiboot2.c: Removed stalled file.
10850
0b8a223c
VS
108512010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
10854 Reported by: Grégoire Sutre
10855
92ab12b0
RM
108562010-01-11 Robert Millan <rmh.grub@aybabtu.com>
10857
10858 * util/misc.c (canonicalize_file_name): New function.
10859 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
10860 instead of realpath().
10861
a788afb6
CW
108622010-01-11 Colin Watson <cjwatson@ubuntu.com>
10863
10864 * util/grub-install.in (usage): Clarify meaning of --root-directory,
10865 and make it clearer that it's optional. Based on confusion
10866 witnessed on IRC.
10867
ffa8e3d2
VS
108682010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
10871 in premature implicit newline.
10872
e9060a9d
VS
108732010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
10876 which resulted in garbled command line at the end of screen.
10877
f0d0c0b7
RM
108782010-01-10 Robert Millan <rmh.grub@aybabtu.com>
10879
10880 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
10881 initialization with similar approach as with other Linux loaders.
10882
0e60bae7
RM
108832010-01-10 Robert Millan <rmh.grub@aybabtu.com>
10884
10885 Fix i386-ieee1275 build.
10886
10887 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
10888 and grub_term_height() for video_{width,height} initialization.
10889
108902010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
10891
10892 Fix grub-emu build.
10893
10894 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
10895
cdb3f378
RM
108962010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
108972010-01-09 Robert Millan <rmh.grub@aybabtu.com>
10898
10899 Support for multiple terminals.
10900
10901 * Makefile.in (pkglib_DATA): terminal.lst.
10902 (terminal.lst): New target.
10903 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
10904 (GRUB_MOD_INIT(handler)): Likewise.
10905 (GRUB_MOD_FINI(handler)): Likewise.
10906 * commands/help.c (grub_cmd_help): Handle multiple terminals.
10907 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
10908 * commands/sleep.c (do_print): Use grub_term_restore_pos.
10909 (grub_cmd_sleep): Use grub_term_save_pos.
10910 * commands/terminal.c: New file.
10911 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
10912 commands/terminal.c and lib/charset.c.
10913 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
10914 (pkglib_MODULES): Add terminal.mod.
10915 (terminal_mod_SOURCES): New variable.
10916 (terminal_mod_CFLAGS): Likewise.
10917 (terminal_mod_LDFLAGS): Likewise.
10918 * genhandlerlist.sh: Don't handle terminals.
10919 * genmk.rb: Generate terminal-*.lst.
10920 * genterminallist.sh: New file.
10921 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
10922 (grub_is_valid_utf8): Likewise.
10923 (grub_utf8_to_ucs4_alloc): Likewise.
10924 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
10925 (grub_menu_register_viewer): Changed argument.
10926 (grub_menu_try_text): New proto.
10927 (grub_gfxmenu_try_hook): New declaration.
10928 * include/grub/normal.h (grub_normal_exit_level): New declaration.
10929 (grub_menu_init_page): Additional argument term.
10930 (grub_normal_init_page): Likewise.
10931 (grub_cmdline_get): Arguments simplified.
10932 (grub_utf8_to_ucs4_alloc): Removed.
10933 (grub_print_ucs4): Additional argument term.
10934 (grub_getstringwidth): Likewise.
10935 (grub_print_message_indented): Likewise.
10936 (grub_menu_text_register_instances): New proto.
10937 (grub_show_menu): Likewise.
10938 (read_terminal_list): Likewise.
10939 (grub_set_more): Likewise.
10940 * include/grub/parser.h: Include handler.h.
10941 * include/grub/reader.h: Rewritten.
10942 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
10943 (GRUB_TERM_WIDTH): Changed to function.
10944 (GRUB_TERM_HEIGHT): Likewise.
10945 (GRUB_TERM_BORDER_WIDTH): Likewise.
10946 (GRUB_TERM_BORDER_HEIGHT): Likewise.
10947 (GRUB_TERM_NUM_ENTRIES): Likewise.
10948 (GRUB_TERM_ENTRY_WIDTH): Likewise.
10949 (GRUB_TERM_CURSOR_X): Likewise.
10950 (grub_term_input_class): Likewise.
10951 (grub_term_output_class): Likewise.
10952 (grub_term_outputs_disabled): New declaration.
10953 (grub_term_inputs_disabled): Likewise.
10954 (grub_term_outputs): Likewise.
10955 (grub_term_inputs): Likewise.
10956 (grub_term_register_input): Rewritten.
10957 (grub_term_register_output): Likewise.
10958 (grub_term_unregister_input): Likewise.
10959 (grub_term_unregister_output): Likewise.
10960 (FOR_ACTIVE_TERM_INPUTS): New macro.
10961 (FOR_DISABLED_TERM_INPUTS): Likewise.
10962 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
10963 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
10964 * include/grub/terminfo.h: Add oterm argument to all protypes.
10965 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
10966 Use grub_rescue_run.
10967 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
10968 All users updated.
10969 * kern/reader.c: Removed. All users updated.
10970 * kern/rescue_reader.c (grub_rescue_init): Removed.
10971 (grub_rescue_reader): Likewise.
10972 (grub_register_rescue_reader): Likewise.
10973 (grub_rescue_run): New function based on kern/reader.c.
10974 * kern/term.c: Adapted for multiterm.
10975 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
10976 (grub_is_valid_utf8): Likewise.
10977 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
10978 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
10979 right terminal.
10980 * loader/i386/linux.c (grub_linux_boot): Likewise.
10981 * normal/auth.c (grub_username_get): New function.
10982 (grub_auth_check_authentication): Use grub_username_get.
10983 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
10984 * normal/color.c: Adapt for multiterm.
10985 * normal/main.c (read_config_file): Don't use grub_reader_loop.
10986 (grub_normal_init_page): Additional argument term.
10987 (read_lists): Call read_terminal_lists.
10988 (grub_enter_normal_mode): Call grub_cmdline_run.
10989 Handle grub_normal_exit_level.
10990 (grub_cmd_normal): Make reentrant.
10991 (grub_cmd_normal_exit): New function.
10992 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
10993 * normal/menu.c: Adapt for multiterm.
10994 * normal/menu_entry.c: Likewise.
10995 * normal/menu_text.c: Likewise.
10996 * normal/menu_viewer.c: Removed. All users updated.
10997 * normal/term.c: New file.
10998 * util/console.c: Change order of includes to workaround a bug in
10999 ncurses headers.
11000 * term/terminfo.c: New argument oterm on all exported functions.
11001 All users updated.
11002 * util/grub-editenv.c (grub_term_input_class): Removed.
11003 (grub_term_output_class): Likewise.
11004
1a064917
RM
110052010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11006
11007 Make loader output a bit more user-friendly.
11008
11009 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
11010 is being loaded. Likewise for the Hurd.
11011
11012 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
11013 that kernel of FreeBSD ${version} is being loaded.
11014
11015 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
11016 grub_dprintf().
11017 (grub_cmd_initrd): Likewise.
11018 * util/grub.d/10_linux.in (linux_entry): Print message indicating
11019 that Linux ${version} is being loaded. Likewise for initrd.
11020
5ce0a83a 110212010-01-09 Carles Pina i Estany <carles@pina.cat>
11022
11023 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
11024
809bbfeb 110252010-01-08 Carles Pina i Estany <carles@pina.cat>
11026
11027 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
11028 (GRUB_MOD_INIT): Gettextizze.
11029 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
11030 (GRUB_MOD_INIT): Gettextizze.
11031 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
11032 (grub_cmd_linux): Capitalise Linux.
11033 (GRUB_MOD_INIT): Gettextizze.
11034 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
11035 (grub_cmd_linux): Capitalise Linux.
11036 (GRUB_MOD_INIT): Gettextizze.
11037 * loader/i386/linux.c: Include `<grub/i18n.h>'.
11038 (grub_cmd_linux): Capitalise Linux.
11039 (GRUB_MOD_INIT): Gettextizze.
11040 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
11041 (GRUB_MOD_INIT): Gettextizze.
11042 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
11043 (grub_cmd_linux): Capitalise Linux.
11044 (GRUB_MOD_INIT): Gettextizze.
11045 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
11046 (grub_cpu_xnu_init): Gettextizze.
11047 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
11048 (GRUB_MOD_INIT): Gettextizze.
11049 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
11050 (GRUB_MOD_INIT): Gettextizze.
11051 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
11052 (grub_linux_load64): Capitalise Linux.
11053 (GRUB_MOD_INIT): Gettextizze.
11054 * loader/xnu.c: Include `<grub/i18n.h>'.
11055 (GRUB_MOD_INIT): Gettextizze.
11056 * po/POTFILES: Add `loader/efi/appleloader.c',
11057 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
11058 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
11059 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
11060 `loader/i386/xnu.c', `loader/multiboot_loader.c',
11061 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
11062 and `loader/xnu.c'.
11063
b394b2ca
RM
110642010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11065
11066 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
11067
110682010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
11069
11070 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
11071 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
11072 * util/mkisofs/mkisofs.c (main): Readjust --version output.
11073
bc8b32b3
RM
110742010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11075
11076 Reset Multiboot 2 support. New loader implements the draft in
11077 /branches/multiboot2 and shares as much code as possible with the
11078 production Multiboot 1 implementation.
11079
11080 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
11081 * loader/multiboot2.c: Likewise.
11082 * loader/i386/multiboot_helper.S: Likewise.
11083 * include/multiboot2.h: Replace with latest version from the draft
11084 in /branches/multiboot2.
11085
11086 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
11087 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
11088 and `loader/multiboot2.c'.
11089 (pkglib_MODULES): Add `multiboot2.mod'.
11090 (multiboot2_mod_SOURCES): New variable.
11091 (multiboot2_mod_LDFLAGS): Likewise.
11092 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
11093
11094 * conf/i386-pc.rmk: Likewise.
11095
11096 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
11097 (multiboot_mod_SOURCES): Remove variable.
11098 (multiboot_mod_LDFLAGS): Likewise.
11099 (multiboot_mod_CFLAGS): Likewise.
11100
11101 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
11102 `<multiboot2.h>' instead of `<multiboot.h>'.
11103 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
11104 (MULTIBOOT_HEADER_MAGIC): New macros.
11105
11106 * loader/multiboot_loader.c (module_version_status): Remove variable.
11107 (find_multi_boot2_header): Remove function.
11108 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
11109 logic. Always check for the Multiboot version we're compiling for.
11110 (grub_cmd_module_loader): Likewise.
11111 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
11112 command instead of `multiboot'.
11113
5d2c52b8
RM
111142010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11115
11116 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
11117 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
11118 all users.
11119
53108d92
RM
111202010-01-07 Robert Millan <rmh.grub@aybabtu.com>
111212010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 Fix breakage introduced with previous commit.
11124
11125 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
11126 commands.
11127 * normal/handler.c (read_handler_list): Revert part of previous commit
11128 affecting this file.
11129 * normal/main.c (read_lists): Move read_handler_list() call back to ...
11130 (grub_normal_execute): ... here.
11131
e2e936b2
RM
111322010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11133
11134 Merge prefix-redefinition-fix branch.
11135
11136 * normal/autofs.c (read_fs_list): Make function capable of being
11137 run multiple times, gracefuly replacing the previous data
11138 structures.
11139 * normal/dyncmd.c (read_command_list): Likewise.
11140 * normal/handler.c (read_handler_list): Likewise.
11141 * normal/main.c (read_lists): New function. Calls all the
11142 list reading functions.
11143 (grub_normal_execute): Use read_lists() instead of calling all
11144 list reading functions explicitly. Register read_lists() as a
11145 variable hook attached to ${prefix}.
11146
607a3701
VS
111472010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11148
11149 Merge crypto branch.
11150
11151 * Makefile.in (pkglib_DATA): Add crypto.lst.
11152 (crypto.lst): New target.
11153 * commands/hashsum.c: New file.
11154 * commands/password.c (check_password): Use grub_crypto_memcmp.
11155 * commands/password_pbkdf2.c: New file.
11156 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
11157 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
11158 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
11159 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
11160 -I$(srcdir)/lib/libgcrypt_wrap.
11161 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
11162 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
11163 password_pbkdf2.mod.
11164 (crypto_mod_SOURCES): New variable.
11165 (crypto_mod_CFLAGS): Likewise.
11166 (crypto_mod_LDFLAGS): Likewise.
11167 (hashsum_mod_SOURCES): New variable.
11168 (hashsum_mod_CFLAGS): Likewise.
11169 (hashsum_mod_LDFLAGS): Likewise.
11170 (pbkdf2_mod_SOURCES): New variable.
11171 (pbkdf2_mod_CFLAGS): Likewise.
11172 (pbkdf2_mod_LDFLAGS): Likewise.
11173 (password_pbkdf2_mod_SOURCES): New variable.
11174 (password_pbkdf2_mod_CFLAGS): Likewise.
11175 (password_pbkdf2_mod_LDFLAGS): Likewise.
11176 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
11177 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
11178 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
11179 Include conf/gcry.rmk.
11180 * include/grub/auth.h: Rewritten.
11181 * include/grub/crypto.h: New file.
11182 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
11183 * include/grub/normal.h (read_crypto_list): New prototype.
11184 * lib/crypto.c: New file.
11185 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
11186 * lib/pbkdf2.c: Likewise.
11187 * normal/auth.c (grub_auth_strcmp): Removed.
11188 (grub_iswordseparator): Likewise.
11189 (grub_auth_strword): Likewise.
11190 (is_authenticated): Use grub_strword.
11191 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
11192 and grub_strword. Pass entered password to authentication callback.
11193 * normal/crypto.c: New file.
11194 * normal/main.c: Call read_crypto_list.
11195 * util/grub-mkpasswd-pbkdf2.c: New file.
11196 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
11197
42841caa
VS
111982010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 Fix descent and ascent calculation.
11201
11202 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
11203 (options): New option "asce".
11204 (usage): Likewise.
11205 (add_char): Ignore invalid glyphs for descent calculation.
11206 Calculate ascent from actual content.
11207 (print_glyphs): Use 'asce'.
11208 (write_font): Likewise. Allow ascent override.
11209 (main): Handle "asce" option.
11210
e7730de7 112112010-01-06 Carles Pina i Estany <carles@pina.cat>
11212
11213 * kern/err.c: Include `<grub/i18n.h>'.
11214 (grub_print_error): Add full stop. Gettextizze.
11215 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
11216 (grub_bsd_load_elf): Capitalise ELF.
11217 (grub_cmd_freebsd_loadenv): Add `s' in error string.
11218 (grub_cmd_freebsd_module): Likewise.
11219 (grub_cmd_freebsd_module_elf): Likewise.
11220 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
11221
40e3a41f 112222010-01-06 Carles Pina i Estany <carles@pina.cat>
11223
11224 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
11225 * commands/search_file.c (HELP_MESSAGE): New macro.
11226 * commands/search_label.c (HELP_MESSAGE): Likewise.
11227 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
11228 * po/POTFILES: Add `commands/search_file.c',
11229 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
11230 `commands/search.c'.
11231
83507e68
RM
112322010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11233
11234 * config.rpath: Update from Gnulib.
11235
465c787b
YB
112362010-01-05 Yves Blusseau <blusseau@zetam.org>
11237
11238 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
11239
6581dd3a
YB
112402010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
11241
11242 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
11243
3bff18c5
CW
112442010-01-05 Colin Watson <cjwatson@ubuntu.com>
11245
11246 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
11247 arguments to fread so that we get a return value in bytes, rather
11248 than something that will normally be rounded down to 0.
11249 Adjust error handling to avoid producing garbage when size_t is not
11250 the same size as long long.
11251
a1368118
CW
112522010-01-05 Colin Watson <cjwatson@ubuntu.com>
11253
11254 * util/mkisofs/write.c (padblock_write): Check return value of
11255 fread.
11256
7c302978
RM
112572010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11258
11259 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
11260 floppy images now.
11261
11262 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
11263
e33ace06
RM
112642010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11265
11266 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
11267 instead of manual alignment.
11268 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
11269 verbose). Avoid attempts to read past end of the device
11270 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
11271 but GRUB_DISK_CACHE_SIZE may exceed that).
11272
4b856776
RM
112732010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11274
11275 * commands/crc.c (grub_cmd_crc): Abort on read errors.
11276 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
11277 it to upper layer.
11278
52c2d97f
VS
112792010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
11282 New constant.
11283 (grub_efi_piwg_device_path): New structure
11284 (grub_efi_piwg_device_path_t): New type.
11285 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
11286 (devpath_1): Transform to a structure. All users updated.
11287 (devpath_2): Likewise.
11288 (devpath_3): Likewise.
11289 (devpath_4): Likewise.
11290 (devpath_5): Likewise.
11291
98ff6a54
VS
112922010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 * loader/efi/appleloader.c: Restored. Update all users.
11295
3a73dcb6
RM
112962010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11297
11298 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
11299
11300 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
11301 (struct boot_blocklist): Move from here ...
11302 * include/grub/i386/pc/boot.h [ASM_FILE]
11303 (struct grub_boot_blocklist): ... to here. Update all users.
11304 (setup): Only initialize `start' member of `first_block'
11305 structure. Add assert() calls to verify the other members.
11306
11307 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
11308 (generate_image): Fix broken blocklist length initialization.
11309 Add assert() call to verify blocklist `segment' field.
11310
ab0eeb0c
RM
113112010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11312
11313 * loader/efi/appleloader.c: Remove. Update all users.
11314
58bc8bd5
RM
113152010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11316
11317 * boot/i386/pc/boot.S: Update copyright year.
11318 * boot/i386/pc/cdboot.S: Likewise.
11319 * boot/i386/pc/diskboot.S: Likewise.
11320 * boot/i386/pc/lnxboot.S: Likewise.
11321 * boot/i386/pc/pxeboot.S: Likewise.
11322 * bus/pci.c: Likewise.
11323 * commands/cmp.c: Likewise.
11324 * commands/help.c: Likewise.
11325 * commands/hexdump.c: Likewise.
11326 * commands/i386/pc/halt.c: Likewise.
11327 * commands/i386/pc/play.c: Likewise.
11328 * commands/i386/pc/vbeinfo.c: Likewise.
11329 * commands/ls.c: Likewise.
11330 * commands/test.c: Likewise.
11331 * disk/dmraid_nvidia.c: Likewise.
11332 * disk/i386/pc/biosdisk.c: Likewise.
11333 * disk/ieee1275/nand.c: Likewise.
11334 * disk/ieee1275/ofdisk.c: Likewise.
11335 * disk/lvm.c: Likewise.
11336 * disk/raid.c: Likewise.
11337 * disk/raid6_recover.c: Likewise.
11338 * disk/scsi.c: Likewise.
11339 * fs/affs.c: Likewise.
11340 * fs/cpio.c: Likewise.
11341 * fs/ext2.c: Likewise.
11342 * fs/hfs.c: Likewise.
11343 * fs/iso9660.c: Likewise.
11344 * fs/ntfs.c: Likewise.
11345 * fs/sfs.c: Likewise.
11346 * fs/udf.c: Likewise.
11347 * fs/ufs.c: Likewise.
11348 * fs/xfs.c: Likewise.
11349 * gencmdlist.sh: Likewise.
11350 * genmk.rb: Likewise.
11351 * include/grub/disk.h: Likewise.
11352 * include/grub/efi/api.h: Likewise.
11353 * include/grub/efi/efi.h: Likewise.
11354 * include/grub/efi/pe32.h: Likewise.
11355 * include/grub/elf.h: Likewise.
11356 * include/grub/fs.h: Likewise.
11357 * include/grub/i386/at_keyboard.h: Likewise.
11358 * include/grub/i386/pc/memory.h: Likewise.
11359 * include/grub/i386/pc/vbe.h: Likewise.
11360 * include/grub/i386/pci.h: Likewise.
11361 * include/grub/i386/tsc.h: Likewise.
11362 * include/grub/ieee1275/ieee1275.h: Likewise.
11363 * include/grub/ntfs.h: Likewise.
11364 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
11365 * include/grub/sparc64/libgcc.h: Likewise.
11366 * include/grub/symbol.h: Likewise.
11367 * include/grub/types.h: Likewise.
11368 * include/multiboot2.h: Likewise.
11369 * io/gzio.c: Likewise.
11370 * kern/device.c: Likewise.
11371 * kern/disk.c: Likewise.
11372 * kern/efi/efi.c: Likewise.
11373 * kern/efi/mm.c: Likewise.
11374 * kern/elf.c: Likewise.
11375 * kern/file.c: Likewise.
11376 * kern/i386/dl.c: Likewise.
11377 * kern/i386/pc/init.c: Likewise.
11378 * kern/i386/pc/startup.S: Likewise.
11379 * kern/ieee1275/ieee1275.c: Likewise.
11380 * kern/ieee1275/init.c: Likewise.
11381 * kern/main.c: Likewise.
11382 * kern/mm.c: Likewise.
11383 * kern/powerpc/dl.c: Likewise.
11384 * kern/sparc64/dl.c: Likewise.
11385 * kern/x86_64/dl.c: Likewise.
11386 * lib/hexdump.c: Likewise.
11387 * loader/efi/appleloader.c: Likewise.
11388 * loader/i386/ieee1275/linux.c: Likewise.
11389 * loader/i386/pc/chainloader.c: Likewise.
11390 * loader/i386/pc/linux.c: Likewise.
11391 * loader/i386/pc/multiboot2.c: Likewise.
11392 * loader/ieee1275/multiboot2.c: Likewise.
11393 * loader/multiboot2.c: Likewise.
11394 * loader/multiboot_loader.c: Likewise.
11395 * loader/powerpc/ieee1275/linux.c: Likewise.
11396 * normal/completion.c: Likewise.
11397 * normal/menu_entry.c: Likewise.
11398 * partmap/apple.c: Likewise.
11399 * util/grub.d/10_hurd.in: Likewise.
11400 * util/hostfs.c: Likewise.
11401 * video/readers/png.c: Likewise.
11402
e2d70b5c
CW
114032010-01-03 Colin Watson <cjwatson@ubuntu.com>
11404
11405 * include/grub/misc.h (GNUC_PREREQ): New macro.
11406 (ATTRIBUTE_ERROR): New macro.
11407 * include/grub/list.h (grub_bad_type_cast_real): Use
11408 ATTRIBUTE_ERROR.
11409
a173283f 114102010-01-03 Carles Pina i Estany <carles@pina.cat>
11411
11412 * normal/menu_text.c (print_message): Change messages.
11413
7fa7ff74 114142010-01-03 Carles Pina i Estany <carles@pina.cat>
11415
11416 * normal/menu_entry.c (store_completion): Gettextizze.
11417
136d24f6 114182010-01-03 Carles Pina i Estany <carles@pina.cat>
11419
11420 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
11421
f936862e 114222010-01-03 Carles Pina i Estany <carles@pina.cat>
11423
11424 * po/POTFILES: Sort correctly.
11425
29c44ad1 114262010-01-03 Carles Pina i Estany <carles@pina.cat>
11427
11428 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
11429 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
11430 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
11431 full stop.
11432 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
11433 summary. Gettextizze the strings.
11434 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
11435 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
11436 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
11437 full stop.
11438 (GRUB_MOD_INIT): Remove command name from summary.
11439 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
11440 summary.
11441 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
11442 * term/i386/pc/serial.c (options): Add full stops.
11443 (GRUB_MOD_INIT): Remove command name from the summary.
11444
77a79592 114452010-01-03 Carles Pina i Estany <carles@pina.cat>
11446
11447 * commands/acpi.c: Gettextizze help strings and/or options. Include
11448 `grub/i18n.h' if needed.
11449 * commands/blocklist.c: Likewise.
11450 * commands/boot.c: Likewise.
11451 * commands/cat.c: Likewise.
11452 * commands/cmp.c: Likewise.
11453 * commands/configfile.c: Likewise.
11454 * commands/crc.c: Likewise.
11455 * commands/date.c: Likewise.
11456 * commands/echo.c: Likewise.
11457 * commands/efi/fixvideo.c: Likewise.
11458 * commands/efi/loadbios.c: Likewise.
11459 * commands/gptsync.c: Likewise.
11460 * commands/halt.c: Likewise.
11461 * commands/handler.c: Likewise.
11462 * commands/hdparm.c: Likewise.
11463 * commands/hexdump.c: Likewise.
11464 * commands/i386/cpuid.c: Likewise.
11465 * commands/i386/pc/drivemap.c: Likewise.
11466 * commands/i386/pc/halt.c: Likewise.
11467 * commands/i386/pc/pxecmd.c: Likewise.
11468 * commands/i386/pc/vbeinfo.c: Likewise.
11469 * commands/i386/pc/vbetest.c: Likewise.
11470 * commands/ieee1275/suspend.c: Likewise.
11471 * commands/keystatus.c: Likewise.
11472 * commands/loadenv.c: Likewise.
11473 * commands/ls.c: Likewise.
11474 * commands/lsmmap.c: Likewise.
11475 * commands/lspci.c: Likewise.
11476 * commands/memrw.c: Likewise.
11477 * commands/minicmd.c: Likewise.
11478 * commands/parttool.c: Likewise.
11479 * commands/password.c: Likewise.
11480 * commands/probe.c: Likewise.
11481 * commands/read.c: Likewise.
11482 * commands/reboot.c: Likewise.
11483 * commands/search.c: Likewise.
11484 * commands/sleep.c: Likewise.
11485 * commands/test.c: Likewise.
11486 * commands/true.c: Likewise.
11487 * commands/usbtest.c: Likewise.
11488 * commands/videotest.c: Likewise.
11489 * commands/xnu_uuid.c: Likewise.
11490 * disk/loopback.c: Likewise.
11491 * hello/hello.c: Likewise.
11492 * loader/i386/bsd.c: Likewise.
11493 * term/i386/pc/serial.c: Likewise.
11494 * po/POTFILES: Add new files.
11495
da8d5c53
CW
114962010-01-02 Colin Watson <cjwatson@ubuntu.com>
11497
11498 * term/i386/pc/at_keyboard.c
11499 (keyboard_controller_wait_untill_ready): Rename to ...
11500 (keyboard_controller_wait_until_ready): ... this. Update all users.
11501
33937904 115022010-01-01 Carles Pina i Estany <carles@pina.cat>
11503
11504 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
11505 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
11506 string using string width.
11507 * normal/menu_text.c (grub_print_message_indented): Use
11508 grub_print_spaces and not print_spaces.
11509 (print_timeout): Likewise.
11510 (print_spaces): Move to...
11511 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
11512
3fd3b8d8
RM
115132010-01-01 Robert Millan <rmh.grub@aybabtu.com>
11514
11515 Import from Gnulib.
11516
11517 * gnulib/getdelim.c: New file.
11518 * gnulib/getline.c: Likewise.
11519
33433555
VS
115202009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
11521
11522 * include/grub/list.h (grub_assert_fail): Removed.
11523 (grub_bad_type_cast_real): New function.
11524 (grub_bad_type_cast): New macro.
11525 (GRUB_AS_LIST): Use grub_bad_type_cast.
11526 (GRUB_AS_LIST_P): Likewise.
e44721e8 11527 (GRUB_AS_NAMED_LIST): Likewise.
33433555 11528 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 11529 (GRUB_AS_PRIO_LIST): Likewise.
33433555 11530 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 11531 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 11532
f5a51306
VS
115332009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
11536 Fix syntax error.
11537
90d1e879
RM
115382009-12-29 Robert Millan <rmh.grub@aybabtu.com>
11539
11540 * configure.ac: Check for TARGET_CFLAGS initialization before we
11541 initialize it ourselves (sigh).
11542 Move a few modifications to TARGET_CFLAGS to be unconditional
11543 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
11544 eh_frame)
11545
11546 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
11547 * term/i386/pc/at_keyboard.c
11548 (keyboard_controller_wait_untill_ready): Likewise.
11549 (keyboard_controller_led): Rename `led_status' paramter to avoid
11550 name conflict.
11551
465b5a81 115522009-12-28 Carles Pina i Estany <carles@pina.cat>
11553
11554 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
11555 quotes.
11556
c181849b
VS
115572009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11558
11559 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
11560
9c8739a4
VS
115612009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 * normal/menu_text.c (grub_print_message_indented): Prevent
11564 past-the-end-of-array dereference.
11565
3e74249c
VS
115662009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
11569 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
11570
64fd18ed 115712009-12-27 Carles Pina i Estany <carles@pina.cat>
11572
11573 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
11574 * normal/main.c (grub_normal_read_line): Remove a space from the
11575 default prompt.
11576
714af9b9 115772009-12-27 Carles Pina i Estany <carles@pina.cat>
11578
11579 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
11580 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11581 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
11582 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
11583 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11584 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11585 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11586
82f3e412 115872009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 11588
11589 * video/readers/jpeg.c (cmd): Declare.
11590 (grub_cmd_jpegtest): Use `grub_command_t' type.
11591 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11592 Assign to `cmd'.
11593 (GRUB_MOD_FINI): Use `cmd' to unregister.
11594 * video/readers/png.c (cmd): Declare.
11595 (grub_cmd_pngtest): Use `grub_command_t' type.
11596 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11597 Assign to `cmd'.
11598 (GRUB_MOD_FINI): Use `cmd' to unregister.
11599 * video/readers/tga.c (cmd): Declare.
11600 (grub_cmd_tgatest): Use `grub_command_t' type.
11601 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11602 Assign to `cmd'.
11603 (GRUB_MOD_FINI): Use `cmd' to unregister.
11604
82f3e412 116052009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 11606
11607 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
11608 stops.
11609 * kern/corecmd.c (grub_register_core_commands): Likewise.
11610 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
11611 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
11612 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
11613 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11614 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
11615 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
11616 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
11617 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
11618 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11619 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11620 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11621 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11622 * normal/handler.c (insert_handler): Likewise.
11623 * normal/main.c (GRUB_MOD_INIT): Likewise.
11624 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
11625
fdcdbb66 116262009-12-26 Carles Pina i Estany <carles@pina.cat>
11627
11628 * commands/help.c (grub_cmd_help): Print the command name before the
11629 summary.
11630 (GRUB_MOD_INIT): Remove command name from the summary.
11631 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 11632 string as summary.
fdcdbb66 11633 * lib/arg.c (find_long): Print the command name before the summary.
11634 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
11635 summary.
11636 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
11637 * commands/cat.c (GRUB_MOD_INIT): Likewise.
11638 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
11639 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
11640 * commands/crc.c (GRUB_MOD_INIT): Likewise.
11641 * commands/date.c (GRUB_MOD_INIT): Likewise.
11642 * commands/echo.c (GRUB_MOD_INIT): Likewise.
11643 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
11644 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
11645 * commands/handler.c (GRUB_MOD_INIT): Likewise.
11646 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
11647 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
11648 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
11649 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
11650 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
11651 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
11652 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
11653 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
11654 * commands/ls.c (GRUB_MOD_INIT): Likewise.
11655 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
11656 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
11657 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
11658 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
11659 * commands/password.c (GRUB_MOD_INIT): Likewise.
11660 * commands/probe.c (GRUB_MOD_INIT): Likewise.
11661 * commands/read.c (GRUB_MOD_INIT): Likewise.
11662 * commands/search.c (GRUB_MOD_INIT): Likewise.
11663 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
11664 * commands/test.c (GRUB_MOD_INIT): Likewise.
11665 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
11666 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
11667 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
11668 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
11669 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
11670 * lib/arg.c (GRUB_MOD_INIT): Likewise.
11671 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
11672 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
11673 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11674 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11675 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
11676 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
11677 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
11678 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
11679
9c288be2
VS
116802009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 Use search command for preliminar UUID search.
11683
11684 * commands/search.c: Split into ...
11685 * commands/search_wrap.c: ...this
11686 * commands/search.c: ...and this.
11687 * commands/search_file.c: New file.
11688 * commands/search_label.c: New file.
11689 * commands/search_uuid.c: New file.
11690 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
11691 Add commands/search_wrap.c, commands/search_file.c,
11692 commands/search_label.c and commands/search_uuid.c.
11693 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
11694 (search_mod_SOURCES): Set to commands/search_wrap.c.
11695 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
11696 search_label.mod.
11697 (search_fs_file_mod_SOURCES): New variable.
11698 (search_fs_file_mod_CFLAGS): Likewise.
11699 (search_fs_file_mod_LDFLAGS): Likewise.
11700 (search_label_mod_SOURCES): Likewise.
11701 (search_label_mod_CFLAGS): Likewise.
11702 (search_label_mod_LDFLAGS): Likewise.
11703 (search_fs_uuid_mod_SOURCES): New variable.
11704 (search_fs_uuid_mod_CFLAGS): Likewise.
11705 (search_fs_uuid_mod_LDFLAGS): Likewise.
11706 (fs_file_mod_SOURCES): Removed.
11707 (fs_file_mod_CFLAGS): Likewise.
11708 (fs_file_mod_LDFLAGS): Likewise.
11709 (fs_uuid_mod_SOURCES): Removed.
11710 (fs_uuid_mod_CFLAGS): Likewise.
11711 (fs_uuid_mod_LDFLAGS): Likewise.
11712 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
11713 Set to util/grub-install.in.
11714 * disk/fs_file.c: Removed.
11715 * disk/fs_uuid.c: Likewise.
11716 * include/grub/search.h: New file.
11717 * util/grub-install.in: Handle sparc64.
11718 Create and use load.cfg.
11719 * util/sparc64/ieee1275/grub-install.in: Removed.
11720
db943399
VS
117212009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11722
11723 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
11724 Ignore return status if CF is cleared.
11725 (grub_biosdisk_get_diskinfo_standard): Likewise.
11726
3fdae612
RM
117272009-12-25 Robert Millan <rmh.grub@aybabtu.com>
11728
11729 * term/i386/pc/at_keyboard.c
11730 (keyboard_controller_wait_untill_ready): New function.
11731 (grub_keyboard_controller_write, grub_keyboard_controller_read)
11732 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
11733 for keyboard polling, rather than duplicate the same loop. This
11734 saves a few bytes in code size.
11735
7ebaa2b4
VS
117362009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 Support for (pxe[:server[:gateway]]) syntax and
11739 use environment variable for PXE.
11740
11741 * commands/i386/pc/pxecmd.c (options): Removed.
11742 (print_ip): Removed.
11743 (grub_cmd_pxe): Removed
11744 (grub_cmd_pxe_unload): New function.
11745 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
11746 (grub_pxe_your_ip): Made static.
11747 (grub_pxe_default_server_ip): Likewise.
11748 (grub_pxe_default_gateway_ip): Likewise.
11749 (grub_pxe_blksize): Likewise.
11750 (parse_ip): New function.
11751 (grub_pxe_open): Support server and gateway specification.
11752 (grub_pxe_close): Free disk->data.
11753 (grub_pxefs_open): Use disk->data.
11754 (grub_pxefs_read): Likewise.
11755 (grub_env_write_readonly): New function.
11756 (set_mac_env): Likewise.
11757 (set_env_limn_ro): Likewise.
11758 (parse_dhcp_vendor): Likewise.
11759 (grub_pxe_detect): Set the environment variables.
11760 (set_ip_env): New function.
11761 (write_ip_env): Likewise.
11762 (grub_env_write_pxe_default_server): Likewise.
11763 (grub_env_write_pxe_default_gateway): Likewise.
11764 (grub_env_write_pxe_blocksize): Likewise.
11765 (GRUB_MOD_INIT(pxe)): Set environment variables.
11766 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
11767 (grub_pxe_mac_addr_t): ... this. All users updated.
11768 (grub_pxe_your_ip): Removed.
11769 (grub_pxe_server_ip): Likewise.
11770 (grub_pxe_gateway_ip): Likewise.
11771 (grub_pxe_blksize): Likewise.
11772
ec5f98ab 117732009-12-25 Carles Pina i Estany <carles@pina.cat>
11774
11775 * commands/help.c: Include `<grub/i18n.h>'.
11776 (grub_cmd_help): Gettextizze.
11777 (GRUB_MOD_INIT): Likewise.
11778 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
11779 (GRUB_MOD_INIT): Gettextizze.
11780 * commands/search.c: Include `<grub/i18n.h>'.
11781 (options): Gettextizze.
11782 (GRUB_MOD_INIT): Gettextizze.
11783 * lib/arg.c: Include `<grub/i18n.h>'.
11784 (help_options): Gettextizze.
11785 (find_long): Likewise.
11786 (grub_arg_show_help): Likewise.
11787 * normal/dyncmd.c: Include `<grub/i18n.h>'.
11788 (read_command_list): Gettextizze.
11789 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 11790 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 11791
22815526
RM
117922009-12-25 Robert Millan <rmh.grub@aybabtu.com>
11793
11794 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
11795 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
11796 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
11797 (led_status): New variable.
11798 (keyboard_controller_led): New function.
11799 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
11800 update led status for caps lock, num lock and scroll lock.
11801
0ad46fd7
FZ
118022009-12-25 Felix Zielcke <fzielcke@z-51.de>
11803
11804 * util/hostdisk.c (open_device): Fix a comment.
11805
d0e158c2
RM
118062009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11807
11808 * util/grub-install.in (host_os): New variable.
11809 * util/i386/efi/grub-install.in (host_os): Likewise.
11810
401c0ad6
RM
118112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11812
11813 * util/mkisofs/write.c (padblock_write): Abort when given an
11814 excedingly large embed image, instead of silently truncating it.
11815
d14d3370
RM
118162009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11817
11818 * include/multiboot.h: Indentation fixes.
11819
eeed10b4
RM
118202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11821
11822 * include/multiboot.h (struct multiboot_aout_symbol_table)
11823 (struct multiboot_elf_section_header_table): New structure
11824 declarations (stolen from GRUB Legacy).
11825 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
11826 table information.
11827
11828 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
11829 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
11830 type aliases.
11831
681c70ab
RM
118322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11833
11834 * include/multiboot.h: Make comments src2texi-friendly.
11835
e4d47d8d
RM
118362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11837
11838 For consistency with [multiboot]/docs/boot.S.
11839
11840 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
11841 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
11842 (MULTIBOOT_MAGIC2): Rename from this ...
11843 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
11844
a0b70bda
RM
118452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11846
11847 * include/multiboot.h: Remove `<grub/types.h>'.
11848 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
11849 types. Update all users.
11850
61ba42be 118512009-12-25 Carles Pina i Estany <carles@pina.cat>
11852
11853 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
11854 `couldn't' and `can not' by `cannot'.
11855 * commands/i386/pc/drivemap.c: Likewise.
11856 * disk/ata.c: Likewise.
11857 * disk/ieee1275/nand.c: Likewise.
11858 * fs/affs.c: Likewise.
11859 * fs/fat.c: Likewise.
11860 * fs/hfs.c: Likewise.
11861 * fs/hfsplus.c: Likewise.
11862 * fs/iso9660.c: Likewise.
11863 * fs/jfs.c: Likewise.
11864 * fs/minix.c: Likewise.
11865 * fs/reiserfs.c: Likewise.
11866 * fs/sfs.c: Likewise.
11867 * fs/udf.c: Likewise.
11868 * fs/ufs.c: Likewise.
11869 * fs/xfs.c: Likewise.
11870 * loader/powerpc/ieee1275/linux.c: Likewise.
11871 * loader/sparc64/ieee1275/linux.c: Likewise.
11872 * util/grub-probe.c: Likewise.
11873 * util/misc.c: Likewise.
11874
7fd0baee 118752009-12-24 Carles Pina i Estany <carles@pina.cat>
11876
11877 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
11878 grub_errno calls.
11879 * commands/acpi.c: Likewise.
11880 * commands/blocklist.c: Likewise.
11881 * commands/efi/loadbios.c: Likewise.
11882 * commands/i386/pc/drivemap.c: Likewise.
11883 * commands/loadenv.c: Likewise.
11884 * commands/memrw.c: Likewise.
11885 * commands/password.c: Likewise.
11886 * commands/videotest.c: Likewise.
11887 * disk/ata.c: Likewise.
11888 * disk/ata_pthru.c: Likewise.
11889 * disk/dmraid_nvidia.c: Likewise.
11890 * disk/ieee1275/nand.c: Likewise.
11891 * disk/ieee1275/ofdisk.c: Likewise.
11892 * disk/loopback.c: Likewise.
11893 * disk/lvm.c: Likewise.
11894 * disk/mdraid_linux.c: Likewise.
11895 * disk/raid.c: Likewise.
11896 * disk/raid6_recover.c: Likewise.
11897 * disk/scsi.c: Likewise.
11898 * efiemu/main.c: Likewise.
11899 * efiemu/mm.c: Likewise.
11900 * efiemu/pnvram.c: Likewise.
11901 * efiemu/symbols.c: Likewise.
11902 * font/font.c: Likewise.
11903 * fs/cpio.c: Likewise.
11904 * fs/hfsplus.c: Likewise.
11905 * fs/iso9660.c: Likewise.
11906 * fs/jfs.c: Likewise.
11907 * fs/minix.c: Likewise.
11908 * fs/ntfs.c: Likewise.
11909 * fs/ntfscomp.c: Likewise.
11910 * fs/reiserfs.c: Likewise.
11911 * fs/ufs.c: Likewise.
11912 * fs/xfs.c: Likewise.
11913 * gettext/gettext.c: Likewise.
11914 * include/grub/auth.h: Likewise.
11915 * kern/elf.c: Likewise.
11916 * kern/file.c: Likewise.
11917 * kern/ieee1275/init.c: Likewise.
11918 * kern/ieee1275/mmap.c: Likewise.
11919 * kern/ieee1275/openfw.c: Likewise.
11920 * kern/powerpc/dl.c: Likewise.
11921 * kern/sparc64/dl.c: Likewise.
11922 * lib/arg.c: Likewise.
11923 * loader/i386/bsd.c: Likewise.
11924 * loader/i386/bsdXX.c: Likewise.
11925 * loader/i386/efi/linux.c: Likewise.
11926 * loader/i386/efi/xnu.c: Likewise.
11927 * loader/i386/ieee1275/linux.c: Likewise.
11928 * loader/i386/linux.c: Likewise.
11929 * loader/i386/multiboot.c: Likewise.
11930 * loader/i386/pc/linux.c: Likewise.
11931 * loader/i386/pc/multiboot2.c: Likewise.
11932 * loader/i386/xnu.c: Likewise.
11933 * loader/ieee1275/multiboot2.c: Likewise.
11934 * loader/macho.c: Likewise.
11935 * loader/machoXX.c: Likewise.
11936 * loader/multiboot2.c: Likewise.
11937 * loader/multiboot_loader.c: Likewise.
11938 * loader/powerpc/ieee1275/linux.c: Likewise.
11939 * loader/sparc64/ieee1275/linux.c: Likewise.
11940 * loader/xnu.c: Likewise.
11941 * loader/xnu_resume.c: Likewise.
11942 * mmap/i386/pc/mmap.c: Likewise.
11943 * normal/menu_viewer.c: Likewise.
11944 * partmap/acorn.c: Likewise.
11945 * partmap/amiga.c: Likewise.
11946 * partmap/apple.c: Likewise.
11947 * script/lexer.c: Likewise.
11948 * term/gfxterm.c: Likewise.
11949 * term/i386/pc/serial.c: Likewise.
11950 * term/i386/pc/vga.c: Likewise.
11951 * term/ieee1275/ofconsole.c: Likewise.
11952 * term/terminfo.c: Likewise.
11953 * video/bitmap.c: Likewise.
11954 * video/efi_gop.c: Likewise.
11955 * video/efi_uga.c: Likewise.
11956 * video/fb/video_fb.c: Likewise.
11957 * video/i386/pc/vbe.c: Likewise.
11958 * video/readers/tga.c: Likewise.
11959 * video/video.c: Likewise.
11960
0ad46fd7 119612009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
11962
11963 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
11964 * commands/lspci.c: Likewise.
11965 * commands/probe.c: Likewise.
11966 * commands/xnu_uuid.c: Likewise.
11967 * conf/i386-coreboot.rmk: Likewise.
11968 * conf/i386-efi.rmk: Likewise.
11969 * conf/i386-ieee1275.rmk: Likewise.
11970 * conf/i386-pc.rmk: Likewise.
11971 * conf/powerpc-ieee1275.rmk: Likewise.
11972 * conf/sparc64-ieee1275.rmk: Likewise.
11973 * conf/x86_64-efi.rmk: Likewise.
11974 * fs/i386/pc/pxe.c: Likewise.
11975 * gettext/gettext.c: Likewise.
11976 * include/grub/efi/graphics_output.h: Likewise.
11977 * include/grub/i386/pc/memory.h: Likewise.
11978 * kern/env.c: Likewise.
11979 * kern/i386/qemu/startup.S: Likewise.
11980 * lib/i386/pc/biosnum.c: Likewise.
11981 * lib/i386/relocator.c: Likewise.
11982 * lib/i386/relocator_asm.S: Likewise.
11983 * lib/relocator.c: Likewise.
11984 * loader/i386/bsd.c: Likewise.
11985 * loader/i386/multiboot.c: Likewise.
11986 * loader/i386/pc/chainloader.c: Likewise.
11987 * loader/i386/xnu.c: Likewise.
11988 * loader/xnu.c: Likewise.
11989 * normal/main.c: Likewise.
11990 * normal/menu_text.c: Likewise.
11991 * util/getroot.c: Likewise.
11992 * util/grub-mkconfig_lib.in: Likewise.
11993 * util/grub.d/00_header.in: Likewise.
11994 * util/i386/pc/grub-mkimage.c: Likewise.
11995 * util/mkisofs/eltorito.c: Likewise.
11996 * util/mkisofs/exclude.h: Likewise.
11997 * util/mkisofs/hash.c: Likewise.
11998 * util/mkisofs/iso9660.h: Likewise.
11999 * util/mkisofs/joliet.c: Likewise.
12000 * util/mkisofs/mkisofs.c: Likewise.
12001 * util/mkisofs/mkisofs.h: Likewise.
12002 * util/mkisofs/multi.c: Likewise.
12003 * util/mkisofs/name.c: Likewise.
12004 * util/mkisofs/rock.c: Likewise.
12005 * util/mkisofs/tree.c: Likewise.
12006 * util/mkisofs/write.c: Likewise.
12007 * video/efi_gop.c: Likewise.
12008
009ec743
VS
120092009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12010
12011 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
12012 size counting.
12013
0ad46fd7 120142009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
12015
12016 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
12017 * genmk.rb (class SCRIPT): Modify the target file instead of source.
12018
d3d30ea0
VS
120192009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
12022 (GRUB_MOD_INIT(memrw)): Update help line.
12023
a34f5c70
VS
120242009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
12027 Use grub_extcmd_t. All users updated.
12028 (options): New variable.
12029 (grub_cmd_read): Restructure for readability. Support "-v" option.
12030 (grub_cmd_write): Restructure for readability.
12031
0ad46fd7 120322009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
12033
12034 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
12035
0ad46fd7 120362009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
12037
12038 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
12039 with the actual contents of the correspondending make variable.
12040 * util/grub-mkrescue.in (pkglib_DATA): New variable.
12041 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
12042 specifying `*.lst' and `efiemu??.o'
12043
0ad46fd7 120442009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
12045
12046 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
12047 after function name.
12048 Noticed by Rene Engelhard <rene@debian.org>.
12049
dc77a799
VS
120502009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12051
12052 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
12053 (options): New variable.
12054 (iospace): Likewise.
12055 (grub_lspci_iter): List IO spaces if "-i" was given.
12056 (grub_cmd_lspci): Parse options.
12057 (GRUB_MOD_INIT(lspci)): Use extcmd.
12058 (GRUB_MOD_FINI(lspci)): Likewise.
12059
0ad46fd7 120602009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
12061
12062 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
12063 `function' keyword.
12064 Patch by Tony Mancill <tmancill@debian.org>.
12065
b5d5993b
VS
120662009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
12069 (grub_uhci_portstatus): Likewise.
12070 (grub_uhci_portstatus): Add necessary delay.
11d18281 12071 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 12072
941903f2 120732009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 12074
941903f2 12075 * commands/acpi.c (options): Fix capitalizations and/or full stops.
12076 (GRUB_MOD_INIT): Likewise.
12077 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 12078 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
12079 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 12080 * commands/efi/loadbios.c (enable_rom_area): Likewise.
12081 (enable_rom_area): Likewise.
12082 (GRUB_MOD_INIT): Likewise.
12083 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12084 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
12085 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12086 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
12087 * commands/hexdump.c (options): Likewise.
12088 * commands/i386/cpuid.c (options): Likewise.
12089 (GRUB_MOD_INIT): Likewise.
12090 * commands/i386/pc/drivemap.c (options): Likewise.
12091 (GRUB_MOD_INIT): Likewise.
12092 * commands/i386/pc/halt (options): Likewise.
12093 (GRUB_MOD_INIT): Likewise.
12094 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12095 * commands/i386/pc/pxecmd.c (options): Likewise.
12096 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
12097 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
12098 * commands/keystatus.c (options): Likewise.
12099 (GRUB_MOD_INIT): Likewise.
12100 * commands/loadenv.c (options): Likewise.
12101 * commands/ls.c (options): Likewise.
12102 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12103 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12104 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12105 * commands/parttool.c (helpmsg): Likewise.
12106 * commands/probe.c (options): Likewise.
12107 * commands/read.c (GRUB_MOD_INIT): Likewise.
12108 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
12109 * commands/search.c (options): Likewise.
12110 * commands/sleep.c (options): Likewise.
12111 * commands/test.c (GRUB_MOD_INIT): Likewise.
12112 * commands/true.c (GRUB_MOD_INIT): Likewise.
12113 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
12114 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
12115 * lib/arg.c (help_options): Likewise.
e9bbb4e7 12116 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
12117 `$(XGETTEXT)'.
98a50553 12118 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 12119
0ad46fd7 121202009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 12121
ef3c2c3a 12122 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
12123 instead of specifying them explicit.
12124
7922f68b
RM
121252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12126
12127 * NEWS: Add grub-probe support for GNU/Hurd.
12128
537ce47f
RM
121292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12130
12131 * NEWS: gettext was added after 1.97.
12132
9b214e3a
RM
121332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12134
12135 * util/mkisofs/msdos_partition.h: New file (based on
12136 include/grub/msdos_partition.h).
12137 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
12138 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
12139 (ld_options, main): Recognize --protective-msdos-label.
12140 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
12141 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
12142 (padblock_write): If `use_protective_msdos_label' is set, patch a
12143 protective DOS-style label in the output image.
12144
12145 * util/grub-mkrescue.in: Use --protective-msdos-label.
12146
e9309813
RM
121472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12148
12149 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
12150 boot.
12151
0ae56929
RM
121522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12153
12154 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
12155 variables.
12156 (ld_options, main): Recognize `--embedded-boot'.
12157 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
12158 declarations.
12159 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
12160 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
12161 (padblock_write): Likewise. Rewrite to support embedded boot image.
12162
12163 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
12164 for BIOS-based disk boot instead of only ElTorito.
12165
b15937b1
RM
121662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12167
12168 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
12169 build (not needed for bootstrap).
12170
52cc3ce0
RM
121712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12172
12173 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
12174 from i386-pc build (not needed for bootstrap).
12175 Rewrite a pair of strings.
12176
36f5ff04
RM
121772009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12178
12179 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
12180
973c6c85 121812009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
12182
12183 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
12184
05d21547
AB
121852009-12-21 Andreas Born <futur.andy@googlemail.com>
12186
12187 * kern/env.c (grub_env_context_open): Mark exported variable for
12188 reexport.
12189
0175d51f
AB
121902009-12-21 Andreas Born <futur.andy@googlemail.com>
12191
12192 * kern/env.c (grub_env_export): Create nonexistent variables before
12193 exporting.
12194
7f39d92f 121952009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 12196
7f39d92f 12197 * include/grub/auth.h: Include `<grub/i18n.h>'.
12198 (GRUB_GET_PASSWORD): Gettextizze string.
12199 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
12200 menu_text.c.
12201 (grub_utf8_to_ucs4_alloc): Fix indentation.
12202 (grub_print_ucs4): Likewise.
12203 (grub_getstringwidth): Likewise.
12204 (print_message_indented): New declaration.
12205 * normal/auth.c: Include `<grub/i18n.h>'.
12206 (grub_auth_check_authentication): Gettexttize string.
12207 * normal/cmdline.c: Include `<grub/i18n.h>'.
12208 (grub_cmdline_get): Gettextizze.
12209 * normal/color.c: Include `<grub/i18n.h>'.
12210 (grub_parse_color_name_pair): Gettexttize strings.
12211 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
12212 string (use `print_message_indented').
12213 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
12214 `include/grub/normal.h'.
12215 (print_message_indented): Renamed to ...
12216 (grub_print_message_indented): ... this. Remove `static' qualifer (now
12217 used in normal/main.c).
12218 (print_message): Use `grub_print_message_indented' instead of
12219 `print_message_indented'.
12220 (print_timeout): Likewise.
12221 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
12222 (grub_normal_print_device_info): Gettexttize strings.
12223 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
12224
3041d898
VS
122252009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
12228 of arguments. Return number of tokens and not arguments. All users
12229 updated.
12230
de15bf8e
VS
122312009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
12234 non-MSDOS paritions.
12235
e0a6ca52
VS
122362009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 * include/grub/types.h (UNUSED): Removed since it conflicts with
12239 NetBSD headers. All users changed to direct __attribute__ ((unused)).
12240 Reported by Grégoire Sutre.
12241
b99518d1 122422009-12-19 Carles Pina i Estany <carles@pina.cat>
12243
12244 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
12245 (grub_print_ucs4_alloc): Likewise.
12246 (grub_getstringwidth): Likewise.
12247 * normal/main.c (grub_normal_init_page): Gettextize version string.
12248 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
12249 (getstringwidth): Renamed to ...
12250 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
12251 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
12252 (grub_print_ucs4): Remove `static' qualifer (now used in
12253 normal/main.c).
12254 * po/POTFILES: Add normal/main.c.
12255
bfd5e52b 122562009-12-19 Carles Pina i Estany <carles@pina.cat>
12257
12258 * normal/menu_text.c (STANDARD_MARGIN): New macro.
12259 (print_message_indented): Add `margin_left' and `margin_right'
12260 parameters.
12261 (print_message): Update `print_message_indented' calls. Adds '\n' to the
12262 strings.
12263 (print_timeout): Use `print_message_indented' to print the message.
12264 Deletes `second_stage' parameter.
12265 (run_menu): Update `print_timeout' calls.
12266
5a1ad2b9
VS
122672009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 Fix console palette on OpenFirmware.
12270
12271 * term/ieee1275/ofconsole.c (MAX): Removed.
12272 (colors): Redone based on VGA palette.
12273 (grub_ofconsole_setcolor): Discard brightness bit since only 8
12274 colors are supported.
12275 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
12276
b045f00a
VS
122772009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 Fix potential EfiEmu double prepare.
12280
12281 * efiemu/main.c (prepared): New variable
12282 (grub_efiemu_unload): Set prepare to '0'.
12283 (grub_efiemu_prepare): Return if already prepared. Set prepared.
12284
12285 set_virtual_address_map support.
12286
12287 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
12288 prototype.
12289 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
12290 prototype.
12291 (grub_efiemu_crc32): Likewise.
12292 (grub_efiemu_crc64): Likewise.
12293 (grub_efiemu_set_virtual_address_map): Likewise.
12294 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
12295 New definition.
12296 (grub_autoefi_set_virtual_address_map): Likewise.
12297 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
12298 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
12299 Restructure flow to accomodate it.
12300 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
12301 (grub_efiemu_crc): Recompute CRC32.
12302 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
12303 (efiemu_ptv_relocated): ... this. Made global. All users updated.
12304 * efiemu/symbols.c (relocated_handle): New variable.
12305 (grub_efiemu_free_syms): Free relocated_handle.
12306 (grub_efiemu_alloc_syms): Allocate relocated_handle.
12307 (grub_efiemu_write_sym_markers): New function.
12308 (grub_efiemu_set_virtual_address_map): Likewise.
12309
12310 Newer XNU parameters.
12311
12312 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
12313 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
12314 (grub_xnu_fill_devicetree): New prototype.
12315 (grub_xnu_heap_real_start): New variable.
12316 * loader/xnu.c (get_name_ptr): New function.
12317 (grub_xnu_load_driver): Fill namelen and name.
12318
12319 64-bit xnu support.
12320
12321 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
12322 and 'loader/macho64.c'.
12323 * conf/i386-pc.rmk: Likewise.
12324 * conf/x86_64-efi.rmk: Likewise.
12325 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
12326 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
12327 * include/grub/macho.h (grub_macho_segment64): New structure.
12328 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
12329 (grub_macho_size32): ... to this.
12330 (grub_macho32_get_entry_point): Renamed from ...
12331 (grub_macho_get_entry_point32): ... to this.
12332 (grub_macho_contains_macho64): New prototype.
12333 (grub_macho_size64): Likewise.
12334 (grub_macho_get_entry_point64): Likewise.
12335 (grub_macho32_load): Renamed from ...
12336 (grub_macho_load32): ... to this.
12337 (grub_macho32_filesize): Renamed from ...
12338 (grub_macho_filesize32): ... to this.
12339 (grub_macho32_readfile): Renamed from ...
12340 (grub_macho_readfile32): ... to this.
12341 (grub_macho_filesize64): New prototype.
12342 (grub_macho_readfile64): Likewise.
12343 (grub_macho_parse32): Likewise.
12344 (grub_macho_parse64): Likewise.
12345 * loader/macho.c: Split into ...
12346 * loader/machoXX.c: ... and this. Replace 32 with XX.
12347 * loader/macho32.c: New file.
12348 * loader/macho64.c: Likewise.
12349 * loader/xnu.c (grub_xnu_is_64bit): New variable.
12350 (grub_cmd_xnu_kernel): Make 32-bit only.
12351 (grub_cmd_xnu_kernel64): New function.
12352 (grub_xnu_load_driver): Support Mach-O 64.
12353 (grub_cmd_xnu_mkext): Likewise.
12354 * util/grub.d/30_os-prober.in (osx_entry): New function.
12355 Generate entries for 64-bit boot too.
12356
12357 Eliminate ad-hoc tree format in XNU and EfiEmu.
12358
12359 * efiemu/main.c (grub_efiemu_prepare): Update comment.
12360 * efiemu/pnvram.c: Rewritten to use environment variables.
12361 All users updated.
12362
12363 Inline utf16_to_utf8.
12364
12365 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
12366 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
12367 All users updated.
12368 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
12369
12370 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
12371 * commands/usbtest.c (grub_usb_get_string): ... move here.
12372 (usb_print_str): Fix error handling.
12373 * include/grub/usb.h (grub_usb_get_string): Remove.
12374
12375 UTF-8 to UTF-16 transformation.
12376
12377 * conf/common.rmk (pkglib_MODULES): Add charset.mod
12378 (charset_mod_SOURCES): New variable.
12379 (charset_mod_CFLAGS): Likewise.
12380 (charset_mod_LDFLAGS): Likewise.
12381 * include/grub/utf.h: New file.
12382 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
12383
12384 Support for device properties.
12385
12386 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
12387 (grub_xnu_devprop_device_header): Likewise.
12388 (grub_xnu_devprop_device_descriptor): Likewise.
12389 (grub_xnu_devprop_add_device): New prototype.
12390 (grub_xnu_devprop_remove_device): Likewise.
12391 (grub_xnu_devprop_remove_property): Likewise.
12392 (grub_xnu_devprop_add_property_utf8): Likewise.
12393 (grub_xnu_devprop_add_property_utf16): Likewise.
12394 (grub_cpu_xnu_init): Likewise.
12395 (grub_cpu_xnu_fini): Likewise.
12396 (grub_cpu_xnu_unload): Likewise.
12397 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
12398 (property_descriptor): Likewise.
12399 (devices): New variable.
12400 (grub_xnu_devprop_remove_property): New function.
12401 (grub_xnu_devprop_add_device): Likewise.
12402 (grub_xnu_devprop_remove_device): Likewise.
12403 (grub_xnu_devprop_add_property): Likewise.
12404 (grub_xnu_devprop_add_property_utf8): Likewise.
12405 (grub_xnu_devprop_add_property_utf16): Likewise.
12406 (hextoval): Likewise.
12407 (grub_cpu_xnu_fill_devprop): Likewise.
12408 (grub_cmd_devprop_load): Likewise.
12409 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
12410 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
12411 (cmd_devprop_load): New variable.
12412 (grub_cpu_xnu_init): New function.
12413 (grub_cpu_xnu_fini): Likewise.
12414 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
12415 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
12416 (grub_cmd_xnu_devtree): Likewise.
12417 (hextoval): New function.
12418 (unescape): Likewise.
12419 (grub_xnu_fill_devicetree): Likewise.
12420
12421 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
12422 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
12423
0945f181
VS
124242009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 Workaround for broken ATI VBE.
12427
12428 * video/i386/pc/vbe.c (last_set_mode): New variable.
12429 (grub_vbe_set_video_mode): Set 'last_set_mode'.
12430 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
12431 (grub_video_vbe_setup): Don't check for reserved flag.
12432
0ad46fd7 124332009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
12434
12435 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
12436 the `find' command.
12437
c179ebe4
VS
124382009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 UUID support for HFS.
12441
12442 * fs/hfs.c (grub_hfs_uuid): New function.
12443 (grub_hfs_fs): New value .uuid.
12444 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
12445
0ad46fd7 124462009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
12447
12448 Fix a segfault with parsing unknown long options.
12449
12450 * util/grub-mkrelpath.c (options): Zero terminate it.
12451
c4a3e41a
CPE
124522009-12-13 Carles Pina i Estany <carles@pina.cat>
12453
12454 * include/grub/misc.h (grub_puts): New declaration.
12455 (grub_puts_): Likewise.
a22008a6 12456 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
12457 (grub_puts_): Likewise.
12458
2e8a7602
RM
124592009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12460
12461 * util/grub-probe.c (probe): Improve error message.
12462
b50b77b9
RM
124632009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12464
12465 * loader/i386/multiboot_elfxx.c
12466 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
12467 initialization.
12468
124692009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12470
12471 Relocator framework
12472
12473 * loader/i386/xnu_helper.S: Removed. All users updated.
12474 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
12475 (relocator_mod_SOURCES): New variable.
12476 (relocator_mod_CFLAGS): Likewise.
12477 (relocator_mod_LDFLAGS): Likewise.
12478 (relocator_mod_ASFLAGS): Likewise.
12479 * conf/x86_64.rmk: Likewise.
12480 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
12481 (grub_multiboot_payload_entry_offset): Likewise.
12482 (grub_multiboot_forward_relocator): Likewise.
12483 (grub_multiboot_forward_relocator_end): Likewise.
12484 (grub_multiboot_backward_relocator): Likewise.
12485 (grub_multiboot_backward_relocator_end): Likewise.
12486 (grub_multiboot_payload_eip): New variable.
12487 (grub_multiboot_payload_orig): Likewise.
12488 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
12489 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
12490 * include/grub/i386/memory.h
12491 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
12492 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
12493 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
12494 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
12495 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
12496 * include/grub/i386/relocator.h: New file.
12497 * include/grub/x86_64/relocator.h: Likewise.
12498 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
12499 (XNU_RELOCATOR): New macro.
12500 (grub_xnu_launcher_start): Remove.
12501 (grub_xnu_launcher_end): Likewise.
12502 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
12503 (grub_xnu_heap_real_start): Remove.
12504 (grub_xnu_heap_start): Change to void *. All users updated.
12505 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
12506 * lib/i386/relocator.c: New file.
12507 * lib/i386/relocator_asm.S: Likewise.
12508 * lib/i386/relocator_backward.S: Likewise.
12509 * lib/mips/relocator.c: Likewise.
12510 * lib/mips/relocator_asm.S: Likewise.
12511 * lib/relocator.c: Likewise.
12512 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
12513 (entry): Removed.
12514 (playground): Likewise.
12515 (grub_multiboot_payload_orig): New variable.
12516 (grub_multiboot_payload_dest): Likewise.
12517 (grub_multiboot_payload_size): Likewise.
12518 (grub_multiboot_payload_eip): Likewise.
12519 (grub_multiboot_payload_esp): Likewise.
12520 (grub_multiboot_boot): Use grub_relocator32_boot.
12521 (grub_multiboot_unload): Free relocators.
12522 (grub_multiboot): Setup stack. Use relocators.
12523 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
12524 (grub_multiboot_load_elfXX): Use relocators.
12525 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
12526 (grub_multiboot_payload_size): Likewise.
12527 (grub_multiboot_payload_dest): Likewise.
12528 (grub_multiboot_payload_entry_offset): Likewise.
12529 (grub_multiboot_forward_relocator): Likewise.
12530 (grub_multiboot_backward_relocator): Likewise.
12531 (grub_multiboot_real_boot): Likewise.
12532 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
12533 (grub_xnu_entry_point): Likewise.
12534 (grub_xnu_arg1): Likewise.
12535 (grub_xnu_stack): Likewise.
12536 (grub_xnu_launch): Removed.
12537 (grub_xnu_boot_resume): New function.
12538 (grub_xnu_boot): Use relocators.
12539 * loader/i386/xnu_helper.S: Removed.
12540 * loader/xnu.c (grub_xnu_heap_start): New variable.
12541 (grub_xnu_heap_size): Likewise.
12542 (grub_xnu_heap_malloc): Use relocators.
12543 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
12544
29eb90c6
VS
125452009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
12548 anything.
12549
31027430
CPE
125502009-12-13 Carles Pina i Estany <carles@pina.cat>
12551
12552 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
12553 GRUB_ERR_NONE before calling grub_env_set.
12554
dc0c71d9
RM
125552009-12-12 Robert Millan <rmh@aybabtu.com>
12556
12557 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
12558 * genmk.rb (video): New variable.
12559 (CLEANFILES, VIDEOFILES): Add #{video}.
12560 (#{video}): New target rule.
12561 * genvideolist.sh: New file.
12562 * Makefile.in (pkglib_DATA): Add video.lst.
12563 (video.lst): New target rule.
12564 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
12565 `video.lst'.
12566 * util/grub.d/30_os-prober.in: Replace `vbe' with
12567 ${GRUB_VIDEO_BACKEND}.
12568
2a4bfcf0
RM
125692009-12-11 Robert Millan <rmh.grub@aybabtu.com>
12570
12571 * THANKS: Add David Miller.
12572
2a3aa4d5
RM
125732009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
12574
12575 libpciaccess support.
12576
12577 * Makefile.in (LIBPCIACCESS): New variable.
12578 (enable_grub_emu_pci): Likewise.
12579 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
12580 util/pci.c and commands/lspci.c.
12581 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
12582 * configure.ac (grub-emu-pci): New option.
12583 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
12584 (grub_pci_device_unmap_range): Likewise.
12585 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
12586 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
12587 (grub_pci_address_t) [!GRUB_UTIL]: New type.
12588 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
12589 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
12590 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
12591 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
12592 * include/grub/pciutils.h: New file.
12593 * util/pci.c: Likewise.
12594
0ad46fd7 125952009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
12596
12597 * util/misc.c: Don't include <errno.h> twice.
12598
0ad46fd7 125992009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
12600
12601 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
12602 name in an error message.
12603 (grub_biosdisk_rw): Likewise.
12604
2e59983c
VS
126052009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12606
12607 Eliminate NTFS 4Gib barrier.
12608
12609 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
12610 (read_run_data): Likewise.
12611 (grub_ntfs_read_run_list): Likewise.
12612 (grub_ntfs_read_block): Likewise.
12613 (grub_ntfs_iterate_dir): Likewise.
12614 (read_mft): Likewise.
12615 (read_data): Likewise.
12616 Use COM_LOG_LEN.
12617 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
12618 to avoid 64-bit division
12619 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
12620 (grub_ntfs_rlst): Use grub_disk_addr_t.
12621
71ee178a
VS
126222009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12623
12624 Eliminate grub-fstest 4Gib barrier.
12625
12626 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
12627 (read_file): Fix error reporting.
12628
2520d4b8
VS
126292009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12630
12631 Eliminate hexdump 4Gib barrier.
12632
12633 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
12634 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
12635
e1f27065
VS
126362009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
12639 Fixes amarsh bug.
12640
1a0f7f45
RM
126412009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
12642
12643 Remove miscellaneous files in distclean target.
12644
12645 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
12646
c631d9fb
CW
126472009-12-09 Colin Watson <cjwatson@ubuntu.com>
12648
12649 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
12650 if they're already set. This resolves the conflict between my
12651 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
12652 fixing the --grub-probe option again.
12653 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
12654 change on 2009-10-06, so that we now once again source
12655 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12656
7c7b6106
RM
126572009-12-08 Robert Millan <rmh.grub@aybabtu.com>
12658
12659 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
12660 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
12661 `util/devicemap.c'.
12662
e3069ec1
CPE
126632009-12-08 Carles Pina i Estany <carles@pina.cat>
12664
12665 * include/grub/misc.h (grub_printf_): New declaration.
12666 * kern/misc.c (grub_printf_): New definition.
12667 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
12668 instead of `grub_printf' and `_'.
12669 * normal/menu_entry.c (store_completion): Likewise.
12670 (run): Likewise.
12671 (grub_menu_entry_run): Likewise.
12672 * normal/menu_text.c (grub_wait_after_message): Likewise.
12673 (notify_booting): Likewise.
12674 (notify_fallback): Likewise.
12675 (notify_execution_failure): Likewise.
12676
d6ceebf1
CW
126772009-12-07 Colin Watson <cjwatson@ubuntu.com>
12678
12679 * configure.ac: Check for vasprintf.
12680 * util/misc.c (asprintf): Move allocation from here ...
12681 (vasprintf): ... to here. New function.
12682 (xasprintf): New function.
12683 * include/grub/util/misc.h (vasprintf, xasprintf): Add
12684 prototypes.
12685 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
12686 * util/grub-mkfont.c (write_font): Likewise.
12687 * util/grub-probe.c (probe): Likewise.
12688 * util/hostdisk.c (make_device_name): Likewise.
12689
de6daa8b
DM
126902009-12-06 David S. Miller <davem@sunset.davemloft.net>
12691
12692 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
12693 anything even prefixed with 'cdrom' as a cdrom.
12694
0ad46fd7 126952009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
12696
12697 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
12698 mount points.
12699
98d3dc02
CPE
127002009-12-05 Carles Pina i Estany <carles@pina.cat>
12701
12702 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
12703 grub_gettext_msg_list.
12704 (grub_gettext_gettranslation_from_position): Return const char *
12705 and not char *.
a2c1332b 12706 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
12707 returns from the list if existing there.
12708 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
12709 (grub_gettext_delete_list): Delete the list.
12710 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
12711 lang environment variable is changed.
12712 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
12713
b283f108
VS
127142009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 Rename kernel.mod to kernel.img.
12717
12718 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
12719 (kernel_mod_EXPORTS): Rename to ...
12720 (kernel_img_EXPORTS): ... this.
12721 (kernel_mod_SOURCES): Rename to ...
12722 (kernel_img_SOURCES): ... this.
12723 (kernel_mod_HEADERS): Rename to ...
12724 (kernel_img_HEADERS): ... this. All users updated.
12725 (kernel_mod_CFLAGS): Rename to ...
12726 (kernel_img_CFLAGS): ... this.
12727 (kernel_mod_ASFLAGS): Rename to ...
12728 (kernel_img_ASFLAGS): ... this.
12729 (kernel_mod_LDFLAGS): Rename to ...
12730 (kernel_img_LDFLAGS): ... this.
12731 * conf/x86_64-efi.rmk: Likewise.
12732 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
12733 (read_kernel_image): ... this. All users updated.
12734 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
12735
69055f8a
CPE
127362009-12-05 Carles Pina i Estany <carles@pina.cat>
12737
12738 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
12739 (print_spaces): New function.
12740 (grub_print_ucs4): New function.
12741 (getstringwidth): New function.
12742 (print_message_indented): New function.
12743 (print_message): Gettexttize strings using print_message_indented.
12744 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
12745 width.
12746 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 12747 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
12748 Gettextize.
12749 * normal/menu_entry.c (store_completion): Cleanup the gettextized
12750 string.
12751 (run): Likewise.
12752 (grub_menu_entry_run): Likewise.
12753 * PO/POTFILES: Add normal/menu_entry.c.
12754
f616f51c
VS
127552009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
12756
12757 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
12758
57bbe3be
CPE
127592009-12-05 Carles Pina i Estany <carles@pina.cat>
12760
12761 * util/grub-install.in: Install gettext .mo files.
12762 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
12763
013d67a1
CPE
127642009-12-05 Carles Pina i Estany <carles@pina.cat>
12765
12766 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
12767 grub_dprintf.
12768
fb954db0
RM
127692009-12-05 Robert Millan <rmh.grub@aybabtu.com>
12770
12771 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
12772 non-firmware-dependant one in realmode.S takes precedence.
12773
6b8474f8
RM
127742009-12-04 Robert Millan <rmh.grub@aybabtu.com>
12775
12776 * commands/halt.c: Replace misc arch-specific headers with
12777 `<grub/misc.h>'.
12778 * commands/reboot.c: Likewise.
12779 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
12780 `<grub/misc.h>'.
12781 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
12782 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
12783 (kernel_img_SOURCES): ... to here.
12784
12785 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
12786 * include/grub/i386/pc/init.h: Likewise.
12787 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
12788 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
12789
12790 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
12791
12792 * include/grub/i386/halt.h: Remove.
12793 * include/grub/i386/reboot.h: Likewise.
12794
12795 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
12796
4b2e6ca2
DM
127972009-12-03 David S. Miller <davem@sunset.davemloft.net>
12798
12799 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
12800 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
12801 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
12802 "progname.h"
12803 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
12804 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12805 (usage): Add missing comma in printf.
12806
5239348f
RM
128072009-12-02 Robert Millan <rmh.grub@aybabtu.com>
12808
12809 Use the same reboot approach on i386 coreboot and qemu as we do on
12810 BIOS.
12811
12812 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
12813 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
12814 * kern/i386/reboot.c: Remove.
12815 * include/grub/i386/reboot.h (grub_reboot): Export function.
12816 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
12817 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
12818 0xf000:0xfff0 instead of 0xffff:0x0000.
12819 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
12820 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
12821
ef34cbd4
RM
128222009-11-30 Robert Millan <rmh.grub@aybabtu.com>
12823
12824 Fix $srcdir != $objdir build.
12825
12826 * Makefile.in (po/%.po): Rewrite as ...
12827 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
12828
dc9837ea
ST
128292009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
12830
12831 Fix GNU/Hurd grub-install crash.
12832 * util/grub-probe.c (probe): Try to access `path' only when it is not
12833 NULL.
12834
2f857f98
VS
128352009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 Correct module naming.
12838
12839 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
12840 (GRUB_MOD_INIT(efi_uga)): ... to this
12841 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
12842 (GRUB_MOD_FINI(efi_uga)): ... to this
12843 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
12844 (GRUB_MOD_INIT(efi_gop)): ... to this
12845 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
12846 (GRUB_MOD_FINI(efi_gop)): ... to this
12847
c5448046
RM
128482009-11-28 Robert Millan <rmh.grub@aybabtu.com>
12849
12850 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
12851 translatable.
12852 (usage): Translate `arg' strings using gettext().
12853 Thanks to Jordi Mallach for the suggestion.
12854
c85184ad
VS
128552009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12856
12857 GOP support. Based on patch from Bean
12858 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
12859
12860 * video/efi_gop.c: New file.
12861 * include/grub/efi/graphics_output.h: Likewise.
12862 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
12863 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
12864 variables.
12865 * conf/x86_64-efi.rmk: Likewise.
12866
8a4c48d8
VS
128672009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12868
12869 Rename efi_fb to efi_uga.
12870
12871 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
12872 'efi_uga.mod'.
12873 (efi_fb_mod_SOURCES): Rename this ...
12874 (efi_uga_mod_SOURCES): ... to this.
12875 (efi_fb_mod_CFLAGS): Rename this ...
12876 (efi_uga_mod_CFLAGS): ... to this.
12877 (efi_fb_mod_LDFLAGS): Rename this ...
12878 (efi_uga_mod_LDFLAGS): ... to this.
12879 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
12880 'efi_uga.mod'.
12881 (efi_fb_mod_SOURCES): Rename this ...
12882 (efi_uga_mod_SOURCES): ... to this.
12883 (efi_fb_mod_CFLAGS): Rename this ...
12884 (efi_uga_mod_CFLAGS): ... to this.
12885 (efi_fb_mod_LDFLAGS): Rename this ...
12886 (efi_uga_mod_LDFLAGS): ... to this.
12887 * video/efi_fb.c: Move this ...
12888 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
12889
fb6c1a7b
RM
128902009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12891
12892 * po/README: New file. Explain our PO file workflow.
12893
3bc7896c
RM
128942009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12895
12896 * po/ChangeLog: Remove. Move relevant entries back to ...
12897 * ChangeLog: ... here.
12898 * po/ca.po: Remove (now handled by TLP).
12899 * po/id.po: Likewise.
12900 * po/zh_CN.po: Likewise.
12901 * Makefile.in (LINGUAS): Initialize in a way that supports
12902 empty set.
12903
9ed4841d
RM
129042009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12905
12906 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
12907 reliing on po/LINGUAS.
12908 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
12909 (po/%.po): ... this.
12910
0ad46fd7 129112009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
12912
12913 * util/i386/efi/grub-mkimage.c: Include "progname.h".
12914 (main): Use `program_name' instead of nonexistent `progname'.
12915
e30dd392
FZ
129162009-11-26 Felix Zielcke <fzielcke@z-51.de>
12917
12918 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12919 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
12920
7656de4f
RM
129212009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12922
12923 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
12924 commit.
12925 * conf/i386-efi.rmk: Likewise.
12926 * conf/i386-ieee1275.rmk: Likewise.
12927 * conf/powerpc-ieee1275.rmk: Likewise.
12928 * conf/sparc64-ieee1275.rmk: Likewise.
12929 * conf/x86_64-efi.rmk: Likewise.
12930
db77c4d4
FZ
129312009-11-26 Felix Zielcke <fzielcke@z-51.de>
12932
12933 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
12934
a755bb04
FZ
129352009-11-26 Felix Zielcke <fzielcke@z-51.de>
12936
12937 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
12938
8a4c07fd
RM
129392009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12940
12941 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
12942 (grub_mkdevicemap_SOURCES): New variable.
12943 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
12944 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
12945 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
12946 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
12947 (grub_mkdevicemap_SOURCES): Remove.
12948 * conf/i386-efi.rmk: Likewise.
12949 * conf/i386-ieee1275.rmk: Likewise.
12950 * conf/i386-pc.rmk: Likewise.
12951 * conf/powerpc-ieee1275.rmk: Likewise.
12952 * conf/sparc64-ieee1275.rmk: Likewise.
12953 * conf/x86_64-efi.rmk: Likewise.
12954 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
12955 (usage): Fix strings to use `program_name'.
12956 (main): Initialize gettext.
12957 * util/grub-editenv.c: Likewise.
12958 * util/grub-emu.c: Likewise.
12959 * util/grub-fstest.c: Likewise.
12960 * util/grub-mkdevicemap.c: Likewise.
12961 * util/grub-mkfont.c: Likewise.
12962 * util/grub-mkrelpath.c: Likewise.
12963 * util/grub-pe2elf.c: Likewise.
12964 * util/grub-probe.c: Likewise.
12965 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
12966 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
12967 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12968
12969 * util/misc.c: Include `"progname.h"'.
12970 (progname): Remove variable.
12971 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
12972
6f61ed55
FZ
129732009-11-25 Felix Zielcke <fzielcke@z-51.de>
12974
12975 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
12976 printf and print a newline after the menuentry header line.
12977 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12978
f022876b
FZ
129792009-11-25 Felix Zielcke <fzielcke@z-51.de>
12980
12981 autoconf >= 2.60 support $(localedir).
12982
12983 * INSTALL: Note that autoconf 2.60 is required.
12984 * configure.ac (AC_PREREQ): Bump to 2.60.
12985 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
12986 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12987
6717926e
YB
129882009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
12989
12990 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
12991 aclocal is run.
12992
08806a54
RM
129932009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12994
12995 * normal/main.c (grub_normal_read_line): Fix off-by-one
12996 buffer overflow.
12997
13b33fba
RM
129982009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12999
13000 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
13001 "parser.grub" in grub_command_execute() call.
13002
4a8572e9
CPE
130032009-11-24 Carles Pina i Estany <carles@pina.cat>
13004
13005 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
13006 * conf/i386-efi.rmk: Likewise.
13007 * conf/i386-ieee1275.rmk: Likewise.
13008 * conf/i386-pc.rmk: Likewise.
13009 * conf/powerpc-ieee1275.rmk: Likewise.
13010 * conf/sparc64-ieee1275.rmk: Likewise.
13011 * conf/x86_64-efi.rmk: Likewise.
13012 * gettext/gettex.c: Include <grub/i18n.h>.
13013 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
13014 here ...
13015 * include/grub/i18n.h: ... to here
13016 * include/grub/i18n.h: ... to here.
13017 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 13018 (grub_gettext_dummy): Move above user.
4a8572e9 13019
bee48093
FZ
130202009-11-24 Felix Zielcke <fzielcke@z-51.de>
13021
13022 * util/Makefile.in (install-local): Convert a `for' into a normal
13023 shell expansion.
13024
a031e91c
RM
130252009-11-24 Robert Millan <rmh.grub@aybabtu.com>
13026
13027 * autogen.sh: Add automake call.
13028 * config.guess: Remove.
13029 * config.sub: Likewise.
13030 * install-sh: Likewise.
13031
26bec39d
FZ
130322009-11-24 Felix Zielcke <fzielcke@z-51.de>
13033
13034 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
13035
8e2532fd
FZ
130362009-11-24 Felix Zielcke <fzielcke@z-51.de>
13037
13038 * util/Makefile.in (install-local): Convert a make `$(foreach)'
13039 function to a normal shell `for'.
13040
fefa1b7d
FZ
130412009-11-24 Felix Zielcke <fzielcke@z-51.de>
13042
13043 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13044
4501250b
FZ
130452009-11-24 Felix Zielcke <fzielcke@z-51.de>
13046
13047 * util/grub-mkrelpath.c: New file.
13048 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
13049 (grub_mkrelpath_SOURCES): New variable.
13050 * include/grub/util/misc.h: New function prototype.
13051 * util/misc.c (make_system_path_relative_to_its_root): New function.
13052
13053 * util/grub-mkconfig_lib.in (bindir): New variable.
13054 (grub_mkrelpath): Likewise.
13055 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
13056
13057 * util/probe.c (probe): Make the file path relative to its root.
13058 Change a info message to use the GRUB path. Enable again the
13059 check if we can read the file with GRUB facilities.
13060
13061 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
13062 to its root.
13063
11d9778b
FZ
130642009-11-24 Felix Zielcke <fzielcke@z-51.de>
13065
13066 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
13067 platform.
13068
4465287d
FZ
130692009-11-24 Felix Zielcke <fzielcke@z-51.de>
13070
13071 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
13072 strncmp().
13073
62b47f22
FZ
130742009-11-24 Felix Zielcke <fzielcke@z-51.de>
13075
13076 * util/getroot.c (grub_util_is_dmraid): New function.
13077 (grub_util_get_dev_abstraction): Treat dmraid and multipath
13078 devices as normal ones, not as LVM.
13079
1eafb9b9 130802009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
13081
13082 * conf/common.rmk: Add grub-gettext_lib target and updates
13083 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
13084 LDFLAGS.
13085 * gettext/gettext.c: New file. (Reads mo files).
13086 * include/grub/file.h (grub_file_pread): New prototype.
13087 * include/grub/i18n.h (_): New prototype.
13088 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
13089 prototypes.
13090 * kern/misc.c (grub_gettext_dummy): New function.
13091 * normal/menu_text.c: Include <grub/i18n.h>.
13092 * normal/menu_text.c (print_timeout): Gettexttize string.
13093 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
13094 * po/POTFILES: Add `normal/menu_text.c'.
13095 * po/ca.po: Add new translations.
c3ea6bd4
CPE
13096 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
13097 gettext module and defines locale_dir and lang in grub.cfg.
13098 * NEWS: Add gettext support.
13099
0fdb2568
RM
131002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13101
13102 * util/hostdisk.c: Include `<grub/i18n.h>'.
13103 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
13104 (make_device_name): Rewrite using asprintf.
13105 (convert_system_partition_to_system_disk): Replace 0 with NULL.
13106 (find_system_device): If a device is not found, generate one just
13107 by reusing the OS path name.
13108 (read_device_map): Make it permissible for device.map not to exist.
13109
f515aa62
RM
131102009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13111
13112 * script/sh/execute.c: Move from here ...
13113 * script/execute.c: ... to here. Update all users.
13114 * script/sh/function.c: Move from here ...
13115 * script/function.c: ... to here. Update all users.
13116 * script/sh/lexer.c: Move from here ...
13117 * script/lexer.c: ... to here. Update all users.
13118 * script/sh/main.c: Move from here ...
13119 * script/main.c: ... to here. Update all users.
13120 * script/sh/parser.y: Move from here ...
13121 * script/parser.y: ... to here. Update all users.
13122 * script/sh/script.c: Move from here ...
13123 * script/script.c: ... to here. Update all users.
13124
f84b481b
RM
131252009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13126
13127 * configure.ac: Detect all `emu' platforms. Define
13128 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
13129 --enable-grub-emu logic. Disable include/grub/machine
13130 symlink on `emu' platforms.
13131
13132 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
13133 * gensymlist.sh.in: Likewise.
13134
13135 * include/grub/i386/coreboot/machine.h: Remove file.
13136 * include/grub/i386/efi/machine.h: Likewise.
13137 * include/grub/i386/ieee1275/machine.h: Likewise.
13138 * include/grub/i386/pc/machine.h: Likewise.
13139 * include/grub/i386/qemu/machine.h: Likewise.
13140 * include/grub/powerpc/ieee1275/machine.h: Likewise.
13141 * include/grub/sparc64/ieee1275/machine.h: Likewise.
13142 * include/grub/x86_64/efi/machine.h: Likewise.
13143
13144 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
13145 * commands/halt.c: Likewise.
13146 * commands/reboot.c: Likewise.
13147 * include/grub/autoefi.h: Likewise.
13148 * include/grub/i386/at_keyboard.h: Likewise.
13149 * include/grub/i386/kernel.h: Likewise.
13150 * include/grub/i386/loader.h: Likewise.
13151 * include/grub/i386/pc/memory.h: Likewise.
13152 * kern/dl.c: Likewise.
13153 * kern/i386/coreboot/init.c: Likewise.
13154 * loader/i386/bsd.c: Likewise.
13155 * loader/i386/linux.c: Likewise.
13156 * loader/multiboot_loader.c: Likewise.
13157 * term/i386/pc/serial.c: Likewise.
13158 * term/usb_keyboard.c: Likewise.
13159
13160 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
13161 `<grub/machine/machine.h>'
13162 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
13163 * util/misc.c: Remove `<grub/machine/machine.h>' and
13164 `<grub/machine/time.h>'.
13165
13166 * Makefile.in (enable_grub_emu): Remove variable.
13167 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
13168
13169 * conf/any-emu.rmk: New file.
13170 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
13171 (grub_emu_init.c): Move from here ...
13172 * conf/any-emu.rmk: ... to here.
13173
13174 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
13175 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
13176 * conf/any-emu.rmk: ... to here.
13177
4efeab03
RM
131782009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13179
13180 * include/grub/parser.h (grub_parser_register): Document need
13181 of `name' parameter.
13182 * normal/main.c (grub_normal_read_line): Simplify prompt string.
13183 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
13184 "sh" to "grub".
13185
ea1dd8bf
RM
131862009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13187
13188 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
13189 `$(XGETTEXT)'.
13190 * include/grub/i18n.h (N_): New macro.
13191 * util/mkisofs/mkisofs.h: Likewise.
13192 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
13193 around N_().
13194 (usage): Use gettext() to translate help strings when printing them.
13195
0c140626
RM
131962009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13197
13198 Based on patch from Bean
13199 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13200
13201 * video/efi_fb.c: New file.
13202 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
13203 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13204 variables.
13205 * conf/x86_64-efi.rmk: Likewise.
13206
87d58298
RM
132072009-11-22 Robert Millan <rmh.grub@aybabtu.com>
13208
13209 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
13210 * util/i386/pc/grub-setup.c: Likewise.
13211
994cc3a3
ST
132122009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13213
13214 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
13215 <hurd/fs.h>
13216 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
13217 file_get_storage_info to implement grub_guess_root_device.
13218
26a61d6a
FZ
132192009-11-21 Felix Zielcke <fzielcke@z-51.de>
13220
13221 * Makefile.in (target): Use make's builtin $(shell) function
13222 instead of calling directly $(SHELL) to create the locale directories,
13223 inside the $(foreach) function.
13224
74ff1dd5
FZ
132252009-11-21 Felix Zielcke <fzielcke@z-51.de>
13226
13227 * util/grub-mkrescue.in: Print an error and usage if output option
13228 has not been given.
13229
0b787d0e
FZ
132302009-11-21 Felix Zielcke <fzielcke@z-51.de>
13231
13232 Patch from Loïc Minier <loic.minier@ubuntu.com>.
13233 * util/grub.d/30_os-prober.in: Cope with Linux entries where
13234 root and /boot are on different devices.
13235
1164b270
RM
132362009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13237
13238 Fix build for srcdir != objdir.
13239
13240 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
13241 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
13242 $(srcdir).
13243 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
13244 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
13245 reference for input.
13246
13774a2f
RM
132472009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13248
13249 * util/grub-mkrescue.in: Use source directory direcly (without copiing
13250 or hardlinking it). Remove -J option, Joliet is not compatible with
13251 multiple source directories.
13252
efda854e
RM
132532009-11-21 Carles Pina i Estany <carles@pina.cat>
132542009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13255
13256 * util/grub-mkrescue.in: Recognize `--override-directory' option.
13257 (process_input_dir): New function. Process an arbitrary input
13258 directory.
13259 Misc adjustments to support both "override mode" and system-wide mode.
13260
6c09890c
FZ
132612009-11-20 Felix Zielcke <fzielcke@z-51.de>
13262
13263 * configure.ac (UNIFONT_BDF): Rename to ...
13264 (FONT_SOURCE): ... this. Update all users.
13265
a797824f
FZ
132662009-11-20 Felix Zielcke <fzielcke@z-51.de>
13267
13268 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
13269 to the list of unifont files to look for.
13270
cd4f42b0
RM
132712009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13272
13273 Patch from Joe Auricchio <jauricchio@gmail.com>
13274 * commands/minicmd.c (grub_mini_cmd_clear): New function.
13275 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
13276 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
13277
393c783d
FZ
132782009-11-19 Felix Zielcke <fzielcke@z-51.de>
13279
13280 * Makefile.in (install-local): Add a missing backslash.
13281
b2f1e327
FZ
132822009-11-19 Felix Zielcke <fzielcke@z-51.de>
13283
13284 * include/grub/x86_64/io.h: New file.
13285
f577f7a0
RM
132862009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13287
13288 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
13289 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
13290 Include `"progname.h"'.
13291 (main): Initialize gettext.
13292 * util/i386/pc/grub-setup.c: Gettexttize.
13293 * util/i386/pc/grub-mkimage.c: Likewise.
13294
13295 * Makefile.in (po/*.po): Redefine as ...
13296 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
13297
3bc7896c
RM
13298 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
13299
c37943b6
RM
133002009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13301
13302 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
13303 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
13304 (program_name): Remove.
13305 (main): Initialize gettext support.
6323f705
RM
13306 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
13307 Include `<libintl.h>'.
13308 (_): New macro.
c37943b6
RM
13309
13310 * util/mkisofs/eltorito.c: Gettexttize.
13311 * util/mkisofs/joliet.c: Likewise.
13312 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
13313 * util/mkisofs/multi.c: Likewise.
13314 * util/mkisofs/rock.c: Likewise.
13315 * util/mkisofs/tree.c: Likewise.
13316 * util/mkisofs/write.c: Likewise.
13317
3bc7896c
RM
13318 * po/POTFILES: Update with new files.
13319
5ce77c6e
RM
133202009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13321
13322 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
13323 * util/mkisofs/iso9660.h: Likewise.
13324 * util/mkisofs/joliet.c: Likewise.
13325 * util/mkisofs/mkisofs.c: Likewise.
13326 * util/mkisofs/mkisofs.h: Likewise.
13327 * util/mkisofs/rock.c: Likewise.
13328 * util/mkisofs/tree.c: Likewise.
13329 * util/mkisofs/write.c: Likewise.
13330
13331 * util/mkisofs/eltorito.c (rcsid): Remove.
13332 * util/mkisofs/hash.c: Likewise.
13333 * util/mkisofs/joliet.c: Likewise.
13334 * util/mkisofs/name.c: Likewise.
13335 * util/mkisofs/rock.c: Likewise.
13336 * util/mkisofs/tree.c: Likewise.
13337 * util/mkisofs/write.c: Likewise.
13338
1dabbc77
RM
133392009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13340
13341 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
13342 instead of static allocation.
13343 * util/mkisofs/match.h: Likewise.
13344
633877cb
RM
133452009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13346
3bc7896c
RM
13347 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
13348 and `util/grub.d/10_linux.in'.
633877cb
RM
13349 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
13350 translatable Shell files.
13351
af1c0c85
RM
133522009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13353
13354 * Makefile.in ($(srcdir)/aclocal.m4): New target.
13355
769ae37b
RM
133562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13357
13358 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 13359 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
13360 * util/grub.d/10_kfreebsd.in (bindir): New variable.
13361 Add gettext initialization.
13362 (kfreebsd_entry): Make menuentry output translatable.
13363
133642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13365
13366 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
13367 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
13368 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
13369 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
13370 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 13371 * po/LINGUAS: New file.
769ae37b
RM
13372
133732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13374
13375 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
13376 other things).
13377 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
13378 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
13379 bindtextdomain() calls for gettext initialization.
13380
133812009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13382
13383 * gnulib/progname.c: New file (imported from Gnulib).
13384 * gnulib/progname.h: Likewise.
13385 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13386 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
13387 (usage): Replace `progname' with `program_name'.
13388 (main): Use set_program_name() for program name initialization.
13389
133902009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13391
13392 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
13393 from here ...
13394 * Makefile.in (CPPFLAGS): ... to here.
13395
133962009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13397
13398 * aclocal.m4: Move from here ...
13399 * acinclude.m4: ... to here.
13400 * autogen.sh: Add call to `aclocal'.
13401 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
13402
134032009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13404
13405 * Makefile.in (CLEANFILES): Add `po/*.mo'.
13406 (LINGUAS): New variable.
13407 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
13408 (install-local): Install MO files.
13409 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
13410 * include/grub/i18n.h: New file.
3bc7896c
RM
13411 * po/POTFILES: New file.
13412 * po/ca.po: New file.
769ae37b
RM
13413 * util/grub.d/10_linux.in (bindir): New variable.
13414 Add gettext initialization.
13415 (linux_entry): Make menuentry output translatable.
13416 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
13417 (usage): Make --help output translatable.
13418 (main): Initialize gettext.
13419
02c0a6ad
RM
134202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13421
13422 * import_gcry.py: New file (written by Vladimir with minor
13423 adjustments).
13424 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
13425 ciphers.
13426 * INSTALL: Document that Python is required for bootstrap.
13427
134282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13429
13430 Import ciphers from libgcrypt 1.4.4.
13431
13432 * lib/libgcrypt/cipher/ChangeLog
13433 * lib/libgcrypt/cipher/ac.c
13434 * lib/libgcrypt/cipher/arcfour.c
13435 * lib/libgcrypt/cipher/bithelp.h
13436 * lib/libgcrypt/cipher/blowfish.c
13437 * lib/libgcrypt/cipher/camellia-glue.c
13438 * lib/libgcrypt/cipher/camellia.c
13439 * lib/libgcrypt/cipher/camellia.h
13440 * lib/libgcrypt/cipher/cast5.c
13441 * lib/libgcrypt/cipher/cipher.c
13442 * lib/libgcrypt/cipher/crc.c
13443 * lib/libgcrypt/cipher/des.c
13444 * lib/libgcrypt/cipher/dsa.c
13445 * lib/libgcrypt/cipher/ecc.c
13446 * lib/libgcrypt/cipher/elgamal.c
13447 * lib/libgcrypt/cipher/hash-common.c
13448 * lib/libgcrypt/cipher/hash-common.h
13449 * lib/libgcrypt/cipher/hmac-tests.c
13450 * lib/libgcrypt/cipher/md.c
13451 * lib/libgcrypt/cipher/md4.c
13452 * lib/libgcrypt/cipher/md5.c
13453 * lib/libgcrypt/cipher/primegen.c
13454 * lib/libgcrypt/cipher/pubkey.c
13455 * lib/libgcrypt/cipher/rfc2268.c
13456 * lib/libgcrypt/cipher/rijndael-tables.h
13457 * lib/libgcrypt/cipher/rijndael.c
13458 * lib/libgcrypt/cipher/rmd.h
13459 * lib/libgcrypt/cipher/rmd160.c
13460 * lib/libgcrypt/cipher/rsa.c
13461 * lib/libgcrypt/cipher/seed.c
13462 * lib/libgcrypt/cipher/serpent.c
13463 * lib/libgcrypt/cipher/sha1.c
13464 * lib/libgcrypt/cipher/sha256.c
13465 * lib/libgcrypt/cipher/sha512.c
13466 * lib/libgcrypt/cipher/tiger.c
13467 * lib/libgcrypt/cipher/twofish.c
13468 * lib/libgcrypt/cipher/whirlpool.c
13469
af2f93ac
RM
134702009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13471
13472 Fix build for systems without error().
13473
13474 * gnulib/error.c: New file (imported from Gnulib).
13475 * gnulib/error.h: Likewise.
13476 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
13477 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
13478 (this variable is now used by error()).
13479
73fb3dd5
FZ
134802009-11-16 Felix Zielcke <fzielcke@z-51.de>
13481
814f5e96
FZ
13482 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
13483 instead of relying that char is signed.
73fb3dd5 13484
a691ca33
VS
134852009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13486
13487 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
13488 blocksize different from specified.
13489 (grub_pxefs_read): Likewise.
13490
2af8f0f4
FZ
134912009-11-16 Felix Zielcke <fzielcke@z-51.de>
13492
13493 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
13494
13495 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
13496 (grub_ata_readwrite): Likewise. Update 2 format strings.
13497 (grub_atapi_read): Likewise.
13498
13499 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
13500 * conf/i386.rmk (pkglib_MODULES): ... to here ...
13501 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
13502 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
13503 (ata_mod_LDFLAGS): Move from here ...
13504 * conf/i386.rmk: ... to here ...
13505 * conf/x86_64-efi.rmk: ... and here.
13506 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
13507 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
13508
83bdecaf
RM
135092009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13510
13511 Relicense multiboot.h, with RMS' blessing.
13512
13513 * include/multiboot.h: Change to X11 license.
13514
fd6fd3d7
RM
135152009-11-15 Robert Millan <rmh.grub@aybabtu.com>
13516
13517 Support --version in grub-mkisofs.
13518
13519 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
13520 (OPTION_VERSION): New macro.
13521 (ld_options): Recognize --version.
13522 (usage): Move `program_name' from here ...
13523 (program_name): ... to here. Add `static' qualifier.
13524 (main): Recognize `OPTION_VERSION'.
13525
16a88c49
FZ
135262009-11-15 Felix Zielcke <fzielcke@z-51.de>
13527
13528 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
13529 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
13530
a4158476
RM
135312009-11-14 Robert Millan <rmh.grub@aybabtu.com>
13532
13533 Fix help2man generation for mkisofs.
13534
13535 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
13536 (usage): Send output to stdout (rather than stderr).
13537
fc2208b0
RM
135382009-11-14 Robert Millan <rmh.grub@aybabtu.com>
13539
13540 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
13541 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
13542 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
13543 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
13544 (bin_SCRIPTS): Add `grub-mkfloppy'.
13545 (grub_mkfloppy_SOURCES): New variable.
13546
13547 * util/grub-mkrescue.in: New file.
13548 * util/i386/pc/grub-mkfloppy.in: New file.
13549
13550 * util/i386/coreboot/grub-mkrescue.in: Remove.
13551 * util/i386/pc/grub-mkrescue.in: Remove.
13552
8d0edf4a
RM
135532009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13554
13555 * include/grub/multiboot.h (struct grub_multiboot_header): Move
13556 from here ...
13557 * include/multiboot.h (struct multiboot_header): ... to here. Update
13558 all users.
13559 * include/grub/multiboot.h (struct grub_multiboot_info): Move
13560 from here ...
13561 * include/multiboot.h (struct multiboot_info): ... to here. Update
13562 all users.
13563 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
13564 from here ...
13565 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
13566 Update all users.
13567 * include/grub/multiboot.h (struct grub_mod_list): Move
13568 from here ...
13569 * include/multiboot.h (struct multiboot_mod_list): ... to here.
13570 Update all users.
13571
a73f5969
RM
135722009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13573
13574 * include/multiboot2.h (multiboot_word): Rename from this ...
13575 (multiboot2_word): ... to this. Update all users.
13576 (multiboot_header): Rename from this ...
13577 (multiboot2_header): ... to this. Update all users.
13578 (multiboot_tag_header): Rename from this ...
13579 (multiboot2_tag_header): ... to this. Update all users.
13580 (multiboot_tag_start): Rename from this ...
13581 (multiboot2_tag_start): ... to this. Update all users.
13582 (multiboot_tag_name): Rename from this ...
13583 (multiboot2_tag_name): ... to this. Update all users.
13584 (multiboot_tag_module): Rename from this ...
13585 (multiboot2_tag_module): ... to this. Update all users.
13586 (multiboot_tag_memory): Rename from this ...
13587 (multiboot2_tag_memory): ... to this. Update all users.
13588 (multiboot_tag_unused): Rename from this ...
13589 (multiboot2_tag_unused): ... to this. Update all users.
13590 (multiboot_tag_end): Rename from this ...
13591 (multiboot2_tag_end): ... to this. Update all users.
13592
1c8927f0
RM
135932009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13594
13595 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
13596 this platform we should support Multiboot1 first.
13597
13598 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
13599 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
13600 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
13601
6e1e0d89
RM
136022009-11-12 Robert Millan <rmh.grub@aybabtu.com>
13603
13604 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
13605 of write calls (converting them to fwrite() if they aren't already).
13606 (get_torito_desc): Likewise.
13607 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
13608
7f2b34d8
RM
136092009-11-12 Robert Millan <rmh.grub@aybabtu.com>
13610
13611 * util/i386/pc/grub-install.in: Move from here ...
13612 * util/grub-install.in: ... to here. Update all users.
13613
c0ef3311
CW
136142009-11-11 Colin Watson <cjwatson@ubuntu.com>
13615
13616 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
13617
e1f240ff
RM
136182009-11-11 Robert Millan <rmh.grub@aybabtu.com>
13619
13620 Support for El Torito without floppy emulation.
13621
13622 * util/mkisofs/eltorito.c: Include `<errno.h>'.
13623 (init_boot_catalog): Improve error handling.
13624 (get_torito_desc): Don't use floppy emulation unless requested by
13625 user. Patch boot information table when requested via
13626 `-boot-info-table'.
13627 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
13628 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
13629 (use_boot_info_table): New variables.
13630 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
13631 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
13632 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
13633 `--eltorito-emul-floppy'.
13634 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
13635 and `OPTION_ELTORITO_EMUL_FLOPPY'.
13636 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
13637 (use_boot_info_table, get_731): New prototypes.
13638 * util/mkisofs/write.c (get_731): New function.
13639
af7d4de5
FZ
136402009-11-11 Felix Zielcke <fzielcke@z-51.de>
13641
13642 Fix the generation of the man page.
13643
13644 * util/pc/i386/grub-install.in: Source
13645 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13646
2c55dbc0
RM
136472009-11-11 Robert Millan <rmh.grub@aybabtu.com>
13648
13649 Large file support for grub-mkisofs.
13650
13651 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
13652 * util/mkisofs/mkisofs.c (next_extent, last_extent)
13653 (session_start): Upgrade type to `uint64_t'. Update all users.
13654 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
13655 (struct directory_entry): Upgrade type of `starting_block' and
13656 `size' to `uint64_t'. Update all users.
13657 (struct deferred): Remove unused structure.
13658 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
13659 Update all users.
13660 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
13661 file is larger than `UINT32_MAX'.
13662 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
13663 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
13664 return value.
13665 (struct deferred_write): Upgrade type of `extent' and `size' to
13666 `uint64_t'. Update all users.
13667 (last_extent_written): Upgrade type to `uint64_t'. Update all
13668 users.
13669 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
13670 Update all users. Upgrade type of `remain' to `int64_t' and
13671 `use' to `size_t'. Use error() to handle fread() errors.
13672 (write_files): Rely on write_one_file() rather than calling
13673 xfwrite() directly.
13674
6a9cead5
FZ
136752009-11-09 Felix Zielcke <fzielcke@z-51.de>
13676
13677 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
13678
4825d790
RM
136792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13680
13681 * util/mkisofs/fnmatch.c: Remove.
13682 * util/mkisofs/getopt1.c: Likewise.
13683 * util/mkisofs/getopt.c: Likewise.
13684 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
13685 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
13686 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
13687 `gnulib/getopt1.c' and `gnulib/getopt.c'.
13688 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
13689
13690 * configure.ac: Detect `mingw32msvc' host_os.
13691 Check for lstat(), getuid() and getgid().
13692
13693 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
13694 instances of `u_char' with `uint8_t'.
13695
13696 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
13697 [!HAVE_GETUID] (getuid): New function (stub).
13698 [!HAVE_GETGID] (getgid): Likewise.
13699 [!HAVE_LSTAT] (lstat): Likewise.
13700 [!S_IROTH] (S_IROTH): New macro (dummy).
13701 [!S_IRGRP] (S_IRGRP): Likewise.
13702
84b860d8
RM
137032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13704
13705 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
13706 conditional expression).
13707
66e9b712
RM
137082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13709
13710 Import from Gnulib.
13711
13712 * gnulib/fnmatch.c: New file.
13713 * gnulib/fnmatch.h: Likewise.
13714 * gnulib/fnmatch_loop.c: Likewise.
13715 * gnulib/getopt.c: Likewise.
13716 * gnulib/getopt.h: Likewise.
13717 * gnulib/getopt1.c: Likewise.
13718 * gnulib/getopt_int.h: Likewise.
13719 * gnulib/gettext.h: Likewise.
13720
34f4a5b0
RM
137212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13722
13723 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
13724 * normal/handler.c (read_handler_list): Likewise.
13725
ac451143
RM
137262009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13727
13728 Misc cleanup.
13729
13730 * kern/command.c (grub_register_command_prio): Use
13731 grub_zalloc() instead of explicitly zeroing data.
13732 * kern/list.c: Include `<grub/mm.h>'.
13733 (grub_named_list_find): Replace `0' with `NULL'.
13734 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
13735 (fs_module_list): Change type to `grub_named_list_t'. Update all
13736 users.
13737 * normal/dyncmd.c (read_command_list): Add space between function
13738 call and parenthesis.
13739 * normal/handler.c (read_handler_list): Likewise.
13740
4089b167
RM
137412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13742
13743 * normal/auth.c (punishment_delay): Moved from here ...
13744 (grub_auth_strcmp): ... to here (inside function).
13745
325f5037
RM
137462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13747
13748 * include/grub/list.h (struct grub_named_list): Remove `const'
13749 qualifier from `name'.
13750 (struct grub_prio_list): Likewise.
13751
7aea29a3
RM
137522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13753
13754 * normal/auth.c: Include `<grub/time.h>'.
13755 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
13756
3fd6f044
RM
137572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13758
13759 * normal/auth.c (punishment_delay): New variable.
13760 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
13761 (grub_auth_check_authentication): Punish failed login attempts with
13762 an incremental (2^N) delay.
13763
a4cd68e4
RM
137642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13765
13766 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
13767 path with $(srcdir).
13768
7ad12f43
VS
137692009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
13772
c1129f03
RM
137732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13774
13775 * util/i386/coreboot/grub-mkrescue.in: New file.
13776 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
13777 variables.
13778
13779 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
13780 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
13781 * configure.ac: Add header and function checks to satisfy grub-mkisofs
13782 requirements.
13783 * util/mkisofs/defaults.h: New file.
13784 * util/mkisofs/eltorito.c: Likewise.
13785 * util/mkisofs/exclude.h: Likewise.
13786 * util/mkisofs/fnmatch.c: Likewise.
13787 * util/mkisofs/getopt.c: Likewise.
13788 * util/mkisofs/getopt1.c: Likewise.
13789 * util/mkisofs/hash.c: Likewise.
13790 * util/mkisofs/include/fctldefs.h: Likewise.
13791 * util/mkisofs/include/mconfig.h: Likewise.
13792 * util/mkisofs/include/prototyp.h: Likewise.
13793 * util/mkisofs/include/statdefs.h: Likewise.
13794 * util/mkisofs/iso9660.h: Likewise.
13795 * util/mkisofs/joliet.c: Likewise.
13796 * util/mkisofs/match.c: Likewise.
13797 * util/mkisofs/match.h: Likewise.
13798 * util/mkisofs/mkisofs.c: Likewise.
13799 * util/mkisofs/mkisofs.h: Likewise.
13800 * util/mkisofs/multi.c: Likewise.
13801 * util/mkisofs/name.c: Likewise.
13802 * util/mkisofs/rock.c: Likewise.
13803 * util/mkisofs/tree.c: Likewise.
13804 * util/mkisofs/write.c: Likewise.
13805
ec8bb77d
VS
138062009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13807
13808 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
13809 being insecure.
13810
3716b12c
RM
138112009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13812
13813 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
13814 `grub-mkimage' (and use $0 when possible).
13815
b97b7b91
RM
138162009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13817
13818 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
13819 error message for excessively large memory map.
13820
04114812
RM
138212009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13822
13823 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
13824 executable bit.
13825
e4eb2373
RM
138262009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13827
13828 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
13829 message for coreboot users.
13830
c926e1d5 138312009-11-07 Robert Millan <rmh.grub@aybabtu.com>
13832
13833 Fix build with GNU gold.
13834
13835 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
13836 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
13837 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
13838 link addresses.
13839 * aclocal.m4: Likewise.
13840
86e5b1db 138412009-11-04 Felix Zielcke <fzielcke@z-51.de>
13842
13843 * configure.ac (AC_PREREQ): Bump to 2.59d.
13844 * INSTALL: Make it more clear when Autoconf and Ruby are
13845 needed and when to run `./autogen.sh'.
13846
246cd78f 138472009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
13848
13849 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
13850 OSes.
13851
4f9dfb37 138522009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13853
13854 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
13855
b82bd5e1 138562009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13857
13858 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
13859 giving it to GNU Mach.
13860
ff1a9bca 138612009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13862
13863 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
13864 GNU partition number to get internal GRUB partition number.
13865
61697d9c 138662009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13867
13868 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
13869 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
13870
a50569e1 138712009-11-01 Robert Millan <rmh.grub@aybabtu.com>
13872
13873 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
13874 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
13875 case.
13876
5b153867 138772009-11-01 Felix Zielcke <fzielcke@z-51.de>
13878
13879 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
13880
d9e2cd70 138812009-10-30 Robert Millan <rmh.grub@aybabtu.com>
13882
13883 Fix build problem.
13884
13885 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
13886 `-isystem=$(srcdir)/include'.
13887
805111a4 138882009-10-30 Robert Millan <rmh.grub@aybabtu.com>
13889
13890 * util/i386/pc/grub-install.in: Remove hint that device.map should be
13891 checked (grub-install doesn't currently rely on it).
13892
fa6e945f 138932009-10-29 Robert Millan <rmh.grub@aybabtu.com>
13894
13895 Revert SVN r2660.
13896
13897 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
13898 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
13899 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
13900 * conf/i386-ieee1275.rmk: Likewise.
13901 * conf/i386-pc.rmk: Likewise.
13902 * conf/powerpc-ieee1275.rmk: Likewise.
13903 * conf/sparc64-ieee1275.rmk: Likewise.
13904 * conf/x86_64-efi.rmk: Likewise.
13905
cee15086 139062009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13907
13908 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
13909
95b9239e 139102009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13911
13912 * include/grub/misc.h: Stop checking for APPLE_CC.
13913
2ed19dfd 139142009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13915
13916 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
13917 doesn't cause an infinite call loop.
13918
fdcdde19 139192009-10-28 Felix Zielcke <fzielcke@z-51.de>
13920
13921 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
13922 strings.
13923
cefabfe1 139242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13925
13926 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
13927 variable.
13928 * Makefile.in: Likewise.
13929
ed96ab6d 139302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13931
13932 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
13933
0579b753 139342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13935
13936 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
13937
478df409 139382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13939
13940 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
13941
083d1679 139422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13943
13944 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
13945 from here ...
13946 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
13947
5947ae32 139482009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13949
13950 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
13951 in $(MAKEINFO) invocation. This makes it clear in output that
13952 errors are being ignored.
13953
94180ff6 139542009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13955
13956 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
13957 from here ...
13958 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
13959 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
13960 * conf/i386-ieee1275.rmk: Likewise.
13961 * conf/i386-pc.rmk: Likewise.
13962 * conf/powerpc-ieee1275.rmk: Likewise.
13963 * conf/sparc64-ieee1275.rmk: Likewise.
13964 * conf/x86_64-efi.rmk: Likewise.
13965
9031b03a 139662009-10-26 Colin Watson <cjwatson@ubuntu.com>
13967
13968 * util/grub-editenv.c (main): If only a command is given, use
13969 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
13970 (usage): FILENAME is now optional and has a default.
13971
e4f6809b 139722009-10-26 Colin Watson <cjwatson@ubuntu.com>
13973
13974 Improve grub-mkconfig performance when there are several menu
13975 entries on a single filesystem.
13976
13977 * util/grub.d/10_linux.in (linux_entry): Cache the output of
13978 prepare_grub_to_access_device.
13979 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13980 * util/grub.d/30_os-prober.in: Likewise.
13981
67937d4d 139822009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13983
13984 * util/grub.d/10_freebsd.in: Remove.
13985 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
13986 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
13987
ee3756cc 139882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13989
5c35048e 13990 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 13991
4dea1c6f 139922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13993
13994 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
13995 grub_util_error() call.
13996
042484d7 139972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13998
13999 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
14000 `reserved_first_sector' member.
14001 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
14002 `reserved_first_sector' to 1.
14003 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
14004 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
14005 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
14006 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
14007 filesystems which begin at first sector.
14008 (options): New option --skip-fs-probe.
14009 (main): Handle --skip-fs-probe and pass it to setup().
14010
d64448a7 140112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14012
14013 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
14014 (memset): Fix function prototype.
14015
508d42ec 140162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
140172009-10-25 Vasily Averin <vvs@parallels.com>
14018
14019 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
14020 `dirent.direntlen == 0'.
14021
b240e30c 140222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14023
14024 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
14025 `cpio'.
14026 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
14027
346e7fbe 140282009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14029
14030 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
14031 `__trampoline_setup' and `__ucmpdi2'.
14032 * include/grub/powerpc/libgcc.h: Only export symbols for functions
14033 that libgcc provides.
14034
cdb308b0 140352009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14036
14037 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
14038 * include/grub/sparc64/libgcc.h (memset): Likewise.
14039 * include/grub/misc.h (memset, memcmp): New function prototypes.
14040
fb26abc2 140412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14042
14043 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
14044 `cpio'.
14045 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
14046
f6693890 140472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14048
14049 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
14050 * docs/grub.cfg: Compensate for recent change in multiboot
14051 loader (since 2009-08-14 it won't pass filename to payload).
14052 * util/grub.d/10_hurd.in: Likewise.
14053
0933cdc0 140542009-10-21 Felix Zielcke <fzielcke@z-51.de>
14055
14056 * config.guess: Update to latest version from config git
14057 repository.
14058 * config.sub: Likewise.
14059
3b2fe8c2 140602009-10-20 Robert Millan <rmh.grub@aybabtu.com>
14061
14062 Fix build on sparc64.
14063
14064 * configure.ac: Perform checks for libgcc symbols before
14065 adding `-nostdlib' to LDFLAGS.
14066
46695a62 140672009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14068
14069 Let user specify OpenBSD root device.
14070
14071 * loader/i386/bsd.c (openbsd_root): New variable.
14072 (openbsd_opts): New option 'root'.
14073 (OPENBSD_ROOT_ARG): New macro.
14074 (grub_openbsd_boot): Use 'openbsd_root'.
14075 (grub_cmd_openbsd): Fill 'openbsd_root'.
14076
d2b6b7fc 140772009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14078
14079 * NEWS: Misc adjustments.
14080
421bd7ac 140812009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
14084
f1d29d87 140852009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14086
14087 * configure.ac: Bump version to 1.97.
14088
6f3cd880 140892009-10-16 Colin Watson <cjwatson@ubuntu.com>
14090
14091 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
14092 -mno-3dnow on x86 architectures. Some toolchains enable these
14093 features by default, but they rely on registers that aren't enabled
14094 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
14095
035f7122 140962009-10-15 Robert Millan <rmh.grub@aybabtu.com>
14097
14098 Make entry text a bit more readable.
14099
14100 * util/grub.d/10_linux.in: Add `with' before `Linux'.
14101
44998e58 141022009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
14105
cd2851b3 141062009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
14109 operations.
14110
c6f3b249 141112009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14112
14113 * configure.ac: Add missing dollar.
14114
6b5886ba 141152009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14116
14117 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
14118
14119 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
14120 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
14121 exports.
14122 * include/grub/sparc64/libgcc.h: Likewise. Use
14123 preprocessor conditionals.
14124
e9d66f6d 141252009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14126
14127 * conf/common.rmk (grub-dumpbios): Remove rule.
14128 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
14129 * util/grub-dumpbios.in: Remove file.
14130
9155bc17 141312009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14132
14133 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
14134 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
14135
14136 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
14137 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
14138 users.
14139
14140 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
14141 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
14142 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
14143 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
14144 users.
14145
bf7f7a18 141462009-10-12 Robert Millan <rmh.grub@aybabtu.com>
14147
14148 * term/tparm.c: Switch to GPLv3.
14149
86564c26 141502009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14151
14152 * include/grub/i386/cpuid.h: Add header protection.
14153
5c936493 141542009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14155
14156 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
14157
14158 * include/grub/i386/cpuid.h: New file.
14159 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
14160 (has_longmode): Rename to ...
14161 (grub_cpuid_has_longmode): ... this. Update all users. Remove
14162 `static' attribute.
14163 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
14164 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
14165 on a CPU that doesn't implement AMD64 instruction set.
14166
186e7cf2 141672009-10-06 Colin Watson <cjwatson@ubuntu.com>
14168
14169 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
14170 that version.texi is rebuilt on version number changes.
14171
83b65c4a 141722009-10-06 Colin Watson <cjwatson@ubuntu.com>
14173
14174 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
14175 Fixes bug #27602.
14176
d244281c 141772009-10-06 Colin Watson <cjwatson@ubuntu.com>
14178
14179 * util/i386/pc/grub-install.in: Source
14180 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
14181 that the --grub-probe option will work.
14182 * util/sparc64/ieee1275/grub-install.in: Likewise.
14183
da25306d 141842009-10-05 Robert Millan <rmh.grub@aybabtu.com>
14185
14186 * configure.ac: Bump version to 1.97~beta4.
14187
e8ee83c0 141882009-10-03 Robert Millan <rmh.grub@aybabtu.com>
14189
14190 Resync grub-mkdevicemap in x86_64-efi.
14191
14192 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
14193 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
14194 `util/devicemap.c'.
14195
50dcabcf 141962009-10-01 Colin Watson <cjwatson@ubuntu.com>
14197
14198 * util/grub-editenv.c (create_envblk_file): Write new block with a
14199 .new suffix and then rename it into place, to ensure atomic
14200 creation.
14201
0e51c3a7 142022009-09-28 Robert Millan <rmh.grub@aybabtu.com>
14203
14204 Do not automatically install headers.
14205
14206 * Makefile.in (include_DATA): Remove. Update all users.
14207
31299a95 142082009-09-26 Robert Millan <rmh.grub@aybabtu.com>
14209
14210 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
14211 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
14212
14213 * util/osdetect.lua: Remove.
14214 * script/lua/lauxlib.c: Likewise.
14215 * script/lua/ldebug.c: Likewise.
14216 * script/lua/grub_main.c: Likewise.
14217 * script/lua/lauxlib.h: Likewise.
14218 * script/lua/ldebug.h: Likewise.
14219 * script/lua/ltablib.c: Likewise.
14220 * script/lua/liolib.c: Likewise.
14221 * script/lua/lstrlib.c: Likewise.
14222 * script/lua/lualib.h: Likewise.
14223 * script/lua/ldo.c: Likewise.
14224 * script/lua/ldump.c: Likewise.
14225 * script/lua/ldo.h: Likewise.
14226 * script/lua/loslib.c: Likewise.
14227 * script/lua/lundump.c: Likewise.
14228 * script/lua/grub_lib.c: Likewise.
14229 * script/lua/ldblib.c: Likewise.
14230 * script/lua/lundump.h: Likewise.
14231 * script/lua/lmem.c: Likewise.
14232 * script/lua/grub_lib.h: Likewise.
14233 * script/lua/lmathlib.c: Likewise.
14234 * script/lua/lstate.c: Likewise.
14235 * script/lua/ltm.c: Likewise.
14236 * script/lua/lvm.c: Likewise.
14237 * script/lua/lmem.h: Likewise.
14238 * script/lua/lstate.h: Likewise.
14239 * script/lua/ltm.h: Likewise.
14240 * script/lua/ltable.c: Likewise.
14241 * script/lua/lvm.h: Likewise.
14242 * script/lua/llex.c: Likewise.
14243 * script/lua/lgc.c: Likewise.
14244 * script/lua/grub_lua.h: Likewise.
14245 * script/lua/loadlib.c: Likewise.
14246 * script/lua/lfunc.c: Likewise.
14247 * script/lua/lopcodes.c: Likewise.
14248 * script/lua/lparser.c: Likewise.
14249 * script/lua/ltable.h: Likewise.
14250 * script/lua/llex.h: Likewise.
14251 * script/lua/lgc.h: Likewise.
14252 * script/lua/lfunc.h: Likewise.
14253 * script/lua/lbaselib.c: Likewise.
14254 * script/lua/lopcodes.h: Likewise.
14255 * script/lua/lparser.h: Likewise.
14256 * script/lua/lzio.c: Likewise.
14257 * script/lua/linit.c: Likewise.
14258 * script/lua/lobject.c: Likewise.
14259 * script/lua/llimits.h: Likewise.
14260 * script/lua/lstring.c: Likewise.
14261 * script/lua/lzio.h: Likewise.
14262 * script/lua/lapi.c: Likewise.
14263 * script/lua/lcode.c: Likewise.
14264 * script/lua/lua.h: Likewise.
14265 * script/lua/lobject.h: Likewise.
14266 * script/lua/lstring.h: Likewise.
14267 * script/lua/lapi.h: Likewise.
14268 * script/lua/lcode.h: Likewise.
14269 * script/lua/luaconf.h: Likewise.
14270
cb8a2c38 142712009-09-26 Colin Watson <cjwatson@ubuntu.com>
14272
14273 * docs/grub.texi (Command-line and menu entry commands): Document
14274 date and echo commands.
14275
6b9b6276 142762009-09-24 Pavel Roskin <proski@gnu.org>
14277
14278 * include/grub/kernel.h (struct grub_module_header): Remove
14279 `grub_module_header_types'. Make `type' unsigned. Make `size'
14280 32-bit on all platforms.
14281 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
14282 8-bit field. Use grub_host_to_target32() for `size'.
14283 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
14284 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
14285 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
14286
4e5a02a7 142872009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14288
14289 Fix "lost keypress" bug in at_keyboard.
14290
14291 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
14292 Checks for readyness of input buffer (without flushing it).
14293 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
14294 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
14295
c6dcedf6 142962009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14297
14298 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
14299 size check within GRUB_MACHINE_PCBIOS section.
14300
74c958b1 143012009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14302
14303 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
14304 return value.
14305 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
14306 KEYBOARD_ISREADY check.
14307 (grub_at_keyboard_checkkey): Rename to ...
14308 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
14309 Remove gratuitous cast.
14310
ff420223 143112009-09-23 Colin Watson <cjwatson@ubuntu.com>
14312
14313 * configure.ac: Call AC_PROG_MKDIR_P.
14314 * Makefile.in (docs/stamp-vti): Create docs directory. Create
14315 version.texi in $(builddir) rather than $(srcdir).
14316 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
14317 to makeinfo's @include search path.
14318
d96875df 143192009-09-23 Felix Zielcke <fzielcke@z-51.de>
14320
14321 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
14322
9b3f8365 143232009-09-23 Felix Zielcke <fzielcke@z-51.de>
14324
14325 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
14326 for `*.dpkg-new'.
14327
c44c90db 143282009-09-21 Colin Watson <cjwatson@ubuntu.com>
14329
14330 Build info documentation. Some code borrowed from Automake.
14331
14332 * configure.ac: Check for makeinfo.
14333 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
14334 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
14335 docs/version.texi.
14336 (MOSTLYCLEANFILES): Add vti.tmp.
14337 (docs/version.texi, docs/stamp-vti): Update automatically.
14338 (docs/grub.info): Build info documentation. Use --force and ignore
14339 errors for now.
14340 (all-local): Add $(INFOS).
14341 (install-local): Install info files.
14342 (uninstall): Uninstall info files.
14343 * docs/version.texi: Remove from revision control. This file is
14344 automatically generated on build now.
14345 * gendistlist.sh: Add `*.info'.
14346
e0b37bb5 143472009-09-21 Felix Zielcke <fzielcke@z-51.de>
14348
14349 * kern/term.c: Fix indentation.
14350
5a78865b 143512009-09-21 Felix Zielcke <fzielcke@z-51.de>
14352
14353 * util/hostdisk.c: Fix a comment.
14354
dace7e8a 143552009-09-20 Robert Millan <rmh.grub@aybabtu.com>
14356
14357 Fix regression introduced in r2539.
14358
14359 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
14360 to 0xA1.
14361
a83d079b 143622009-09-19 Colin Watson <cjwatson@ubuntu.com>
14363
14364 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 14365 os-prober. Under normal operation, it does not print anything to
14366 stderr; if it does, we need to debug it, and throwing away stderr
14367 makes that excessively difficult.
a83d079b 14368
be94a509 143692009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
14372
63f745e8 143732009-09-16 Robert Millan <rmh.grub@aybabtu.com>
14374
14375 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
14376 AC_LANG_PROGRAM from autoconf.
14377 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
14378 prototypes (fixes warning).
14379
14380 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
14381 `--disable-werror' was used.
14382
bbb2a70f 143832009-09-16 Robert Millan <rmh.grub@aybabtu.com>
14384
14385 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
14386 uninitialized `lastaddr'.
14387
77c24f1d 143882009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14389
0f0b8c87 14390 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 14391
07197f23 143922009-09-14 Colin Watson <cjwatson@ubuntu.com>
14393
14394 * commands/test.c (get_fileinfo): Return immediately if
14395 grub_fs_probe fails.
14396
dabf1798 143972009-09-14 José Martínez <xosemp@gmail.com>
14398
14399 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
14400
d52109a7 144012009-09-14 Colin Watson <cjwatson@ubuntu.com>
14402
14403 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
14404 output.
14405
56532179 144062009-09-13 Robert Millan <rmh.grub@aybabtu.com>
14407
14408 * configure.ac: Remove --enable-grub-pe2elf. Only build
14409 grub-pe2elf when needed by the build system itself.
14410 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
14411
8ef070f5 144122009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14413
14414 * configure.ac: Bump version to 1.97~beta3.
14415 * docs/version.texi: Likewise.
14416
61229557 144172009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14418
14419 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
14420 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
14421 from here ...
14422 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
14423 (grub_linux_setup_video): ... to here (with some adjustments).
14424
5c9f8d84 144252009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14426
14427 Fix memory corruption issue (spotted by Colin Watson).
14428
14429 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
14430 causing returned size to be stored in an incorrect memory location.
14431 Fix use of uninitialized value when storing the returned size.
14432
e8f5d6e9 144332009-09-12 Yves Blusseau <blusseau@zetam.org>
14434
14435 Change clean rules to properly remove files
14436
14437 * genmk.rb: add new clean rules
14438 * Makefile.in (clean): add the new targets
14439 (mostlyclean): likewise
14440
cda2a409 144412009-09-11 Colin Watson <cjwatson@ubuntu.com>
14442
14443 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
14444 to grub_uint64_t.
14445 * fs/ntfs.c (init_file): Understand 64-bit sizes for
14446 non-resident files.
14447
86695375 144482009-09-11 Colin Watson <cjwatson@ubuntu.com>
14449
14450 * configure.ac: Don't look for help2man when cross-compiling. Fixes
14451 part of bug #27349.
14452
8aa1541a 144532009-09-10 Felix Zielcke <fzielcke@z-51.de>
14454
14455 * util/grub-mkconfig.in: Make the created config mode 400 and
14456 print a warning if it fails.
14457
48d9bb0a 144582009-09-10 Robert Millan <rmh.grub@aybabtu.com>
14459
14460 * util/grub.d/40_custom.in: Ask user to type custom entries below
14461 comment, rather than below 'exec tail' line.
14462
3b0521be 144632009-09-10 Colin Watson <cjwatson@ubuntu.com>
14464
14465 * util/grub.d/40_custom.in: Make sure that the explanatory text is
14466 visible in grub.cfg.
14467
50051d55 144682009-09-10 Colin Watson <cjwatson@ubuntu.com>
14469
14470 * util/grub.d/40_custom.in: Make it a little clearer how to use this
14471 file.
14472
c0d34387 144732009-09-10 Felix Zielcke <fzielcke@z-51.de>
14474
14475 * docs/grub.cfg: Add an example menu entry for memtest86+.
14476
80a608f3 144772009-09-09 Felix Zielcke <fzielcke@z-51.de>
14478
a2094832 14479 * config.guess: Update to latest version from config git.
80a608f3 14480 * config.sub: Likewise.
14481
99423078 144822009-09-08 Colin Watson <cjwatson@ubuntu.com>
14483
14484 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
14485 unknown-command case. Fixes bug #27320.
14486
44454e4c 144872009-09-08 Felix Zielcke <fzielcke@z-51.de>
14488
14489 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
14490 `help' if the command exists.
14491
e30d87ad 144922009-09-06 Robert Millan <rmh.grub@aybabtu.com>
14493
14494 * INSTALL: Require GCC 4.1.3 or later.
14495
9a86f1ec 144962009-09-06 Yves Blusseau <blusseau@zetam.org>
14497
14498 * Makefile.in (RMKFILES): add i386-qemu.rmk
14499 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
14500 $(srcdir)/stamp-h.in
14501
7f26d466 145022009-09-05 Robert Millan <rmh.grub@aybabtu.com>
14503
14504 * util/grub-probe.c (probe): Comment out buggy codepath, which
14505 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
14506 should be re-enabled after 1.97.
14507
3a613259 145082009-09-05 Felix Zielcke <fzielcke@z-51.de>
14509
14510 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
14511 find searches for.
14512
197f76c7 145132009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14514
14515 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
14516 unnecessary calls to grub_error.
14517
70ba68ce 145182009-09-04 Colin Watson <cjwatson@ubuntu.com>
14519
14520 * NEWS: Mention `keystatus' and Unicode fonts.
14521
4ff0d7a4 145222009-09-04 Robert Millan <rmh.grub@aybabtu.com>
14523
14524 * configure.ac: Bump version to 1.97~beta2.
14525 * docs/version.texi: Likewise.
14526
77c55a87 145272009-09-03 Colin Watson <cjwatson@ubuntu.com>
14528
14529 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
14530 containing unwind information in some cases where it previously did
14531 not. Use -fno-dwarf2-cfi-asm if available to restore the old
14532 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
14533 discussion.
14534
f79572cd 145352009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
14536
14537 Embedding loadenv module into grub-emu
14538
14539 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
14540 commands/loadenv.c
14541 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
14542 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
14543 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
14544 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
14545 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
14546 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
14547
93a81088 145482009-09-03 Magnus Granberg <zorry@ume.nu>
14549
14550 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
14551 include -fPIE in the default specs.
14552 * configure.ac: Check if pie_possible is yes and add -fno-PIE
14553 to TARGET_CFLAGS.
14554
160034b2 145552009-09-03 Felix Zielcke <fzielcke@z-51.de>
14556
14557 * INSTALL: Note that GNU Bison 2.3 or later is required.
14558
087c07c4 145592009-09-03 Colin Watson <cjwatson@ubuntu.com>
14560
14561 * kern/i386/pc/startup.S: Fix typo.
14562
cbf978c0 145632009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14564
14565 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
14566 according to GCS.
14567
145682009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 14569
14570 * docs/grub.texi (Naming convention): Describe one-based partition
14571 numbering.
14572 (Device syntax): Likewise.
14573 (File name syntax): Likewise.
14574 (Block list syntax): Likewise.
14575 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
14576 menu.lst.
14577 (File name syntax): Likewise.
14578 (Command-line and menu entry commands): Document acpi, blocklist,
14579 crc, export, insmod, keystatus, ls, set, and unset commands.
14580
f3e8cdfd 145812009-09-02 Colin Watson <cjwatson@ubuntu.com>
14582
14583 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
14584 to avoid implying that only one of --shift, --ctrl, or --alt may be
14585 used.
14586
c0bc232b 145872009-09-02 Colin Watson <cjwatson@ubuntu.com>
14588
14589 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
14590 rather than comparing against S_IFREG, which will almost never work.
14591
aa0f752d 145922009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
14595 (write_blocklists): Likewise.
14596
ecb3166a 145972009-09-01 Colin Watson <cjwatson@ubuntu.com>
14598
14599 * script/lua/grub_lua.h (fputs): Supply a format string as the first
14600 argument to grub_printf.
14601
c403a125 146022009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 14603
14604 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 14605 non GNU test.
31aba781 14606
b5e7312c 146072009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14608
14609 * kern/file.c (grub_file_read): Spelling fix
14610
fe00f472 146112009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14612
14613 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
14614 loading of headers in some cases.
14615
cc55302e 146162009-08-30 Robert Millan <rmh.grub@aybabtu.com>
14617
14618 * configure.ac: Bump version to 1.97~beta1.
14619 * docs/version.texi: Likewise.
14620
5c90cdd2 146212009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 14622
14623 * include/grub/i386/xnu.h: Add license header.
14624 include grub/err.h explicitly.
14625
c90edae4 146262009-08-29 Robert Millan <rmh.grub@aybabtu.com>
14627
14628 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
14629 to `ufs' in the vfs.root.mountfrom kernel parameter.
14630
d8888b5c 146312009-08-29 Robert Millan <rmh.grub@aybabtu.com>
14632
14633 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
14634
14635 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
14636 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
14637
14638 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
14639 `ARRAY_SIZE' macro.
14640
6f07b921 146412009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14642
14643 * kern/file.c (grub_file_read): Check offset.
14644 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
14645 * fs/jfs.c (grub_jfs_read_file): Likewise.
14646 * fs/ntfs.c (grub_ntfs_read): Likewise.
14647 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
14648 * fs/minix.c (grub_minix_read_file): Correct offset check.
14649 * fs/ufs.c (grub_ufs_read_file): Likewise.
14650
b4f34077 146512009-08-28 Colin Watson <cjwatson@ubuntu.com>
14652
14653 * term/i386/pc/console.c (bios_data_area): Cast
14654 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
14655
e7c69859 146562009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 1-bit optimised blitters.
14659
14660 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
14661 prototype.
14662 (grub_video_fbblit_replace_24bit_1bit): Likewise.
14663 (grub_video_fbblit_replace_16bit_1bit): Likewise.
14664 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14665 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14666 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
14667 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
14668 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
14669 function.
14670 (grub_video_fbblit_replace_24bit_1bit): Likewise.
14671 (grub_video_fbblit_replace_16bit_1bit): Likewise.
14672 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14673 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14674 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
14675 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
14676 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
14677 when possible.
14678 * video/video.c (grub_video_get_blit_format): Return
14679 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
14680
a57da43f 146812009-08-28 Colin Watson <cjwatson@ubuntu.com>
14682
14683 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
14684 the first argument to grub_printf.
14685
4cbe67e5 146862009-08-28 Colin Watson <cjwatson@ubuntu.com>
146872009-08-28 Robert Millan <rmh.grub@aybabtu.com>
14688
14689 Add `getkeystatus' terminal method. Add a new `keystatus' command
14690 to query it.
14691
14692 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
14693 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
14694 modifier key bitmasks.
14695 (struct grub_term_input): Add `getkeystatus' member.
14696 (grub_getkeystatus): Add prototype.
14697 * kern/term.c (grub_getkeystatus): New function.
14698
14699 * include/grub/i386/pc/memory.h
14700 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
14701 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
14702 Data Area layout.
14703 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
14704 (grub_console_term_input): Set `getkeystatus' member.
14705 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
14706 constants.
14707 (grub_usb_keyboard_getreport): Likewise.
14708 (grub_usb_keyboard_checkkey): Likewise.
14709 (grub_usb_keyboard_getkeystatus): New function.
14710 (grub_usb_keyboard_term): Set `getkeystatus' member.
14711
14712 * commands/keystatus.c: New file.
14713 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
14714 (keystatus_mod_SOURCES): New variable.
14715 (keystatus_mod_CFLAGS): Likewise.
14716 (keystatus_mod_LDFLAGS): Likewise.
14717 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
14718 commands/keystatus.c.
14719 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14720 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14721 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14723 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14724 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 14725
6e2a9085 147262009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14727
14728 Split befs.mod and afs.mod into *_be.mod and *.mod
14729
14730 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
14731 (grub_fstest_SOURCES): Likewise.
14732 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
14733 (afs_be_mod_SOURCES): New variable.
14734 (afs_be_mod_CFLAGS): Likewise.
14735 (afs_be_mod_LDFLAGS): Likewise.
14736 (befs_be_mod_SOURCES): Likewise.
14737 (befs_be_mod_CFLAGS): Likewise.
14738 (befs_be_mod_LDFLAGS): Likewise.
14739 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
14740 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14741 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14742 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14743 (grub_emu_SOURCES): Likewise.
14744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14745 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14746 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14747 * fs/afs_be.c: New file.
14748 * fs/befs_be.c: New file.
14749 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
14750 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
14751 (U16): Replaced with ...
14752 (grub_afs_to_cpu16): ...this. All users updated.
14753 (U32): Replaced with ...
14754 (grub_afs_to_cpu32): ...this. All users updated.
14755 (U64): Replaced with ...
14756 (grub_afs_to_cpu64): ...this. All users updated.
14757 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
14758 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 14759 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 14760 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
14761 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
14762 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
14763 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
14764 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
14765 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
14766 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
14767 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
14768
32a71655 147692009-08-26 Bean <bean123ch@gmail.com>
14770
14771 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
14772 64-bit number.
14773 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
14774 (grub_xfs_inode_block): Change return type to grub_uint64_t.
14775 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
14776
552bf6c5 147772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14778
14779 NetBSD memory map support.
14780
14781 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
14782 (grub_netbsd_btinfo_mmap_header): New structure.
14783 (grub_netbsd_btinfo_mmap_entry): Likewise.
14784 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
14785
1ae2078c 147862009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14787
14788 Enable bsd.mod on coreboot.
14789
14790 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
14791 (bsd_mod_SOURCES): New variable.
14792 (bsd_mod_CFLAGS): Likewise.
14793 (bsd_mod_LDFLAGS): Likewise.
14794 (bsd_mod_ASFLAGS): Likewise.
14795 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
14796 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
14797
beefc598 147982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14799
14800 Cleanup NetBSD root support.
14801
14802 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
14803 grub_bsd_get_device.
14804 Fix typo.
14805
3b76e68b 148062009-08-25 Felix Zielcke <fzielcke@z-51.de>
14807
14808 * util/grub.d/00_header.in: Move check for the video backend of
14809 gfxterm from here ...
14810 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
14811 a suitable video backend.
14812
aea664ea 148132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 Fix breakage in grub-setup.
14816
14817 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
14818 "msdos_partition_map".
14819
ff747d50 148202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 Fix breakage in normal/auth.c.
14823
14824 * normal/auth.c (grub_iswordseparator): New function.
14825
e7e1f93f 148262009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14827
14828 Authentication support.
14829
14830 * commands/password.c: New file.
14831 * conf/common.rmk (pkglib_MODULES): Add password.mod.
14832 (password_mod_SOURCES): New variable.
14833 (password_mod_CFLAGS): Likewise.
14834 (password_mod_LDFLAGS): Likewise.
14835 (normal_mod_SOURCES): Add normal/auth.c.
14836 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
14837 normal/auth.c.
14838 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14839 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14840 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14842 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14843 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14844 * include/grub/auth.h: New file.
14845 * include/grub/err.h (grub_err_t): New enum value
14846 GRUB_ERR_ACCESS_DENIED.
14847 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
14848 'users'.
14849 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
14850 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
14851 users updated.
14852 * normal/auth.c: New file.
14853 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
14854 (grub_cmdline_run): Don't allow to go to command line without
14855 authentication.
14856 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
14857 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
14858 menuentry without superuser rights.
14859 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
14860 user isn't a superuser.
14861
70f1161d 148622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14863
14864 Save space by inlining misc.c functions.
14865
14866 * kern/misc.c (grub_iswordseparator): Made static.
14867 * kern/misc.c (grub_strcat): Moved from here ...
14868 * include/grub/misc.h (grub_strcat): ... here. Inlined.
14869 * kern/misc.c (grub_strncat): Moved from here ...
14870 * include/grub/misc.h (grub_strncat): ... here. Inlined.
14871 * kern/misc.c (grub_strcasecmp): Moved from here ...
14872 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
14873 * kern/misc.c (grub_strncasecmp): Moved from here ...
14874 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
14875 * kern/misc.c (grub_isalpha): Moved from here ...
14876 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
14877 * kern/misc.c (grub_isdigit): Moved from here ...
14878 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
14879 * kern/misc.c (grub_isgraph): Moved from here ...
14880 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
14881 * kern/misc.c (grub_tolower): Moved from here ...
14882 * include/grub/misc.h (grub_tolower): ... here. Inlined.
14883
48e40bff 148842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14885
14886 * script/sh/function.c (grub_script_function_find): Cut error message
14887 not to flood terminal.
14888 * script/sh/lexer.c (grub_script_yylex): Remove command line length
14889 limit.
14890 * script/sh/script.c (grub_script_arg_add): Duplicate string.
14891
c385bfc3 148922009-08-24 Colin Watson <cjwatson@ubuntu.com>
14893
14894 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
14895 `report' grub_uint8_t *.
14896 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
14897 Use a 50-millisecond timeout rather than just repeating
14898 grub_usb_keyboard_getreport 50 times.
14899 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
14900
2d21e3e8 149012009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14902
14903 Rename *_partition_map to part_*
14904
14905 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
14906 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
14907 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
14908 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
14909 All users updated.
14910 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
14911 All users updated.
14912 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
14913 * util/grub-probe.c (probe_partmap): Don't transform partition name
14914 to get module name.
14915
dd103c4e 149162009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14917
14918 Fix OpenBSD and NetBSD support.
14919
14920 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
14921 memory address conflict.
14922 (OPENBSD_MMAP_ACPI): New definition.
14923 (OPENBSD_MMAP_NVS): Likewise.
14924 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
14925 and OPENBSD_MMAP_NVS.
14926 Add memory map terminator
14927 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 14928 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 14929
16c84d74 149302009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14931
14932 Let user specify NetBSD root device.
14933
14934 * loader/i386/bsd.c (netbsd_root): New variable.
14935 (netbsd_opts): New option 'root'.
14936 (NETBSD_ROOT_ARG): New macro.
14937 (grub_netbsd_boot): Use 'netbsd_root'.
14938 (grub_bsd_unload): Free 'netbsd_root'.
14939 (grub_cmd_netbsd): Fill 'netbsd_root'.
14940
adb29902 149412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 Support for 64-bit NetBSD.
14944
14945 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
14946 point when booting non-FreeBSD.
14947
f5ae9f74 149482009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 Support --no-smp and --no-acpi for NetBSD.
14951
14952 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
14953 (NETBSD_AB_NOACPI): Likewise.
14954 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
14955 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
14956
de74f136 149572009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14958
14959 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
14960 errors.
14961 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
14962 errors. Call grub_error when needed.
14963
e9a925da 149642009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14965
14966 * commands/search.c (search_fs): Try searching without autoload first.
14967 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14968 filesystem module explicitly for faster booting.
14969
5174302b 149702009-08-23 Colin Watson <cjwatson@ubuntu.com>
14971
14972 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
14973
c8c80635 149742009-08-23 Colin Watson <cjwatson@ubuntu.com>
14975
14976 * util/grub.d/30_os-prober.in: Disable os-prober if
14977 `GRUB_DISABLE_OS_PROBER' was set to true.
14978
71acf5e5 149792009-08-23 Robert Millan <rmh.grub@aybabtu.com>
14980
14981 * partmap/pc.c: Rename to ...
14982 * partmap/msdos.c: ... this. Update all users.
14983 (grub_pc_partition_map): Rename to ...
14984 (grub_msdos_partition_map): ... this. Update all users.
14985
14986 * parttool/pcpart.c: Rename to ...
14987 * parttool/msdospart.c: ... this. Update all users.
14988
14989 * include/grub/pc_partition.h: Rename to ...
14990 * include/grub/msdos_partition.h: ... this. Update all users.
14991 (grub_pc_partition_bsd_entry): Rename to ...
14992 (grub_msdos_partition_bsd_entry): ... this. Update all users.
14993 (grub_pc_partition_disk_label): Rename to ...
14994 (grub_msdos_partition_disk_label): ... this. Update all users.
14995 (grub_pc_partition_entry): Rename to ...
14996 (grub_msdos_partition_entry): ... this. Update all users.
14997 (grub_pc_partition_mbr): Rename to ...
14998 (grub_msdos_partition_mbr): ... this. Update all users.
14999 (grub_pc_partition): Rename to ...
15000 (grub_msdos_partition): ... this. Update all users.
15001 (grub_pc_partition_is_empty): Rename to ...
15002 (grub_msdos_partition_is_empty): ... this. Update all users.
15003 (grub_pc_partition_is_extended): Rename to ...
15004 (grub_msdos_partition_is_extended): ... this. Update all users.
15005 (grub_pc_partition_is_bsd): Rename to ...
15006 (grub_msdos_partition_is_bsd): ... this. Update all users.
15007
15008 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
15009 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
15010 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
15011 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
15012 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
15013 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
15014 (gpt_mod_LDFLAGS): Rename to ...
15015 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
15016 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
15017 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
15018 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
15019 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
15020 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
15021 (part_gpt_mod_LDFLAGS): ... this.
15022 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
15023 `pcpart.mod' to `msdospart.mod'.
15024 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
15025 to ...
15026 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
15027 (msdospart_mod_LDFLAGS): ... this.
15028
c11fded5 150292009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
15032 (openbsd_opts): Likewise.
15033 (netbsd_opts): Likewise.
15034 (freebsd_flags): Added 0 terminator.
15035 (openbsd_flags): Likewise.
15036 (netbsd_flags): Likewise.
15037 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
15038 (grub_cmd_freebsd): Transformed into extended command.
15039 (grub_cmd_openbsd): Likewise.
15040 (grub_cmd_netbsd): Likewise.
15041 (cmd_freebsd): Changed type to grub_extcmd_t.
15042 (cmd_openbsd): Likewise.
15043 (cmd_netbsd): Likewise.
15044 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
15045 grub_cmd_openbsd as extended commands.
15046 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
15047 cmd_netbsd and cmd_openbsd
15048
11d1c769 150492009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15050
15051 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
15052
7a9094e5 150532009-08-21 Pavel Roskin <proski@gnu.org>
15054
5496c37e 15055 * Makefile.in (install-local): When checking if a file is in the
15056 build directory, use "test -e" to detect symlinks.
15057
7a9094e5 15058 * Makefile.in (install-local): Remove all files in
15059 $(DESTDIR)$(pkglibdir) before installing new files there.
15060
e53cea11 150612009-08-18 Felix Zielcke <fzielcke@z-51.de>
15062
15063 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
15064 grub-mkelfimage.
15065
9aced544 150662009-08-18 Felix Zielcke <fzielcke@z-51.de>
15067
15068 * util/grub-mkconfig.in: Don't use gfxterm by default if not
15069 explicitly specified by the user.
15070
b7da6bab 150712009-08-18 Pavel Roskin <proski@gnu.org>
15072
15073 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
15074 grub_uint8_t pointer for data.
15075 * include/grub/fbutil.h (struct grub_video_fbblit_info):
15076 Likewise.
15077 * video/fb/fbutil.c: Remove unnecessary casts.
15078
19f1b335 150792009-08-17 Michal Suchanek <hramrach@centrum.cz>
15080
15081 VBE cleanup.
15082
15083 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
15084 (grub_vbe_set_video_mode): Save active mode info
15085 only after setting the mode.
15086 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
15087 second argument.
15088
2f467aa9 150892009-08-17 Michal Suchanek <hramrach@centrum.cz>
15090
15091 Rename variables for clarity.
15092
15093 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
15094 (active_vbe_mode_info): ... this. All users updated.
15095 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
15096 All users updated.
15097 (initial_mode): Rename to ...
15098 (initial_vbe_mode): ... this. All users updated.
15099 (mode_in_use): Rename to ..
15100 (vbe_mode_in_use): ... this. All users updated.
15101 (mode_list): Rename to ..
15102 (vbe_mode_list): ... this. All users updated.
15103 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
15104 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
15105 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
15106 'mode_list_size' to 'vbe_mode_list_size'.
15107 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
15108 'best_mode_info' to 'best_vbe_mode_info' and
15109 'best_mode' to 'best_vbe_mode'
15110
6025fcd7 151112009-08-17 Michal Suchanek <hramrach@centrum.cz>
15112
15113 Remove duplicate grub_video_fb_get_video_ptr.
15114
15115 * include/grub/fbutil.h (get_data_ptr): Rename to ...
15116 (grub_video_fb_get_video_ptr): ... this.
15117 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
15118 * video/fb/fbutil.c: Add comment about addressing.
15119 (get_data_ptr): Rename to ...
15120 (grub_video_fb_get_video_ptr): ... this. All users updated.
15121 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
15122
cc8c6faf 151232009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15124
15125 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
15126 grub_dprintf() that was just added.
15127
08aa61f0 151282009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15129
15130 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
15131 (DEFAULT_VIDEO_MODE): Remove macros.
15132 (grub_linux_boot): Remove assumption that Linux has FB support,
15133 and use "text" as default video mode.
15134
7cef4f75 151352009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
15136
15137 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
15138 grub_dprintf.
15139 * fs/fat.c (grub_fat_read_data): Likewise.
15140
e1f39873 151412009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15142
15143 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
15144 payload.
15145 (grub_module): Likewise.
15146
c166d79e 151472009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
15150 mbi->cmdline but free playground.
15151
c60cee8e 151522009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15153
15154 Handle group offset on UFS1.
15155
15156 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
15157 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
15158
c0d8b5d4 151592009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 Split ufs.mod into ufs1.mod and ufs2.mod.
15162
15163 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
15164 (grub_fstest_SOURCES): Likewise.
15165 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
15166 (ufs_mod_SOURCES): Remove.
15167 (ufs_mod_CFLAGS): Likewise.
15168 (ufs_mod_LDFLAGS): Likewise.
15169 (ufs1_mod_SOURCES): New variable.
15170 (ufs1_mod_CFLAGS): Likewise.
15171 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 15172 (ufs2_mod_SOURCES): New variable.
15173 (ufs2_mod_CFLAGS): Likewise.
15174 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 15175 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
15176 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15177 Likewise.
15178 (grub_emu_SOURCES): Likewise.
15179 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15180 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15181 (grub_setup_SOURCES): Likewise.
15182 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15183 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
15184 (grub_setup_SOURCES): Likewise.
15185 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15186 Likewise.
15187 * fs/ufs2.c: New file.
15188 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
15189
d3539132 151902009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15191
15192 Framebuffer split.
15193
15194 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
15195 subsystem at the end.
15196 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
15197 (video_fb_mod_SOURCES): New variable.
15198 (video_fb_mod_CFLAGS): Likewise.
15199 (video_fb_mod_LDFLAGS): Likewise.
15200 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
15201 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
15202 * video/i386/pc/vbeblit.c: Moved from here ...
15203 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
15204 * video/i386/pc/vbefill.c: Moved from here ...
15205 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
15206 * video/i386/pc/vbeutil.c: Moved from here ...
15207 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
15208 * include/grub/i386/pc/vbeblit.h: Moved from here ...
15209 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
15210 * include/grub/i386/pc/vbefill.h: Moved from here ...
15211 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
15212 * include/grub/i386/pc/vbeutil.h: Moved from here ...
15213 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
15214 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
15215 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
15216 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
15217 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
15218 (grub_video_adapter): Added 'get_info_and_fini'.
15219 (grub_video_get_info_and_fini): New prototype.
15220 (grub_video_set_mode): make modestring const char *.
15221 * loader/i386/linux.c (grub_linux_setup_video): Use
15222 grub_video_get_info_and_fini.
15223 (grub_linux_boot): Move modesetting just before booting.
15224 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
15225 grub_video_get_info_and_fini.
15226 * video/i386/pc/vbe.c: Moved framebuffer part ...
15227 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
15228 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
15229 grub_video_fbstd_colors and grub_video_fb_set_palette.
15230 (grub_video_vbe_init): Clear 'framebuffer' variable and use
15231 grub_video_fb_init.
15232 (grub_video_vbe_fini): Use grub_video_fb_fini.
15233 (grub_video_vbe_setup): Use framebuffer.render_target instead of
15234 render_target and use grub_video_fb_set_active_render_target and
15235 grub_video_fb_set_palette.
15236 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
15237 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
15238 (grub_video_vbe_adapter): Use framebuffer.
15239 * video/video.c (grub_video_get_info_and_fini): New function.
15240 (grub_video_set_mode): Make modestring const char *.
15241 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
15242 values are already initialised.
15243
d404ee56 152442009-08-14 Pavel Roskin <proski@gnu.org>
15245
15246 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
15247 ABS and APPLE_CC.
15248 * boot/i386/pc/diskboot.S: Likewise.
15249 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
15250 sectors allow compilation on MacOSX.
15251 * conf/i386-pc.rmk: Enable unconditional compilation of
15252 lnxboot.img.
15253
9a10df16 152542009-08-13 Colin Watson <cjwatson@ubuntu.com>
15255
15256 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
15257 * util/grub.d/00_header.in: Enter interruptible sleep if
15258 GRUB_HIDDEN_TIMEOUT is set.
15259
be3c9ca7 152602009-08-13 Yves Blusseau <blusseau@zetam.org>
15261
15262 * include/grub/symbol.h: Add the LOCAL macro.
15263 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
15264 starting with "L_".
15265
1f9e557e 152662009-08-13 Pavel Roskin <proski@gnu.org>
15267
9ca62843 15268 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
15269 any modern compilers we support.
15270
1f9e557e 15271 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
15272 Use local labels starting with "L_" so that Apple assembler
15273 knows they are local.
15274
81623db6 152752009-08-10 Robert Millan <rmh.grub@aybabtu.com>
15276
15277 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
15278 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
15279 (bsd_kernel_types): ... this enum.
15280
15281 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
15282 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
15283 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
15284
15285 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
15286 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
15287 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
15288 messages.
15289
f5d35e7a 152902009-08-08 Robert Millan <rmh.grub@aybabtu.com>
15291
15292 * util/grub-dumpdevtree: Moved from here ...
15293 * util/i386/efi/grub-dumpdevtree: ... to here.
15294 (hexify): New function. Converts a string to its hex version.
15295 Generate hex versions of "efi" and "device-properties" by calling
15296 hexify() on the ASCII strings rather than by hardcoding numbers.
15297
d1e1d527 152982009-08-08 Robert Millan <rmh.grub@aybabtu.com>
15299
15300 * fs/jfs.c: Update copyright year.
15301
1ebbe064 153022009-08-08 Felix Zielcke <fzielcke@z-51.de>
15303
15304 * util/grub.d/00_header.in: Fix a comment.
15305 * util/grub.d/10_linux.in: Likewise.
15306 * util/grub.d/10_windows.in: Likewise.
15307 * util/grub.d/10_hurd.in: Likewise.
15308
a78c8d24 153092009-08-08 Felix Zielcke <fzielcke@z-51.de>
15310
15311 * util/grub-mkconfig.in: Allow the user to specify the used font
15312 with GRUB_FONT.
15313
29a6b9e8 153142009-08-08 Pavel Roskin <proski@gnu.org>
15315
b5f16cc4 15316 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
15317 available, xfs.mod needs it now.
15318
2f5cb827 15319 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
15320 the "g" modifier in sed when the intention is to strip something
15321 once. This fixes comparison of kernels with multiple dashes.
15322
29a6b9e8 15323 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
15324 on it. Add missing space before closing bracket. Fix
15325 misleading formatting.
15326
892a3d98 153272009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15328
15329 * docs/grub.texi: Major overhaul. Remove all sections that are
15330 specific to GRUB Legacy, or mostly composed of Legacy-specific
15331 information.
15332
ed94253f 153332009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15334
15335 * docs/version.texi: New file. Provides version information for
15336 grub.texi.
15337
126d6628 153382009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15339
15340 * docs/grub.texi: Update CVS information to SVN.
15341 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
15342
998b5aa9 153432009-08-07 Felix Zielcke <fzielcke@z-51.de>
15344
15345 * util/grub-mkconfig.in: Remove a wrong `fi'.
15346
818e094a 153472009-08-07 Felix Zielcke <fzielcke@z-51.de>
15348
15349 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
15350 (grub_jfs_uuid): New function.
15351 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
15352
b969c52f 153532009-08-07 Felix Zielcke <fzielcke@z-51.de>
15354
15355 * util/grub-mkconfig_lib.in (font_path): Move the functionality
15356 of it to ...
15357 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
15358 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
15359
7a4894cc 153602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15361
15362 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
15363 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
15364 Update all users.
15365
15366 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
15367 not just "vmlinu[zx]".
15368 Moved from here ...
15369 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
15370 all users.
15371
15372 * util/grub.d/10_linux.in (find_latest): Moved from here ...
15373 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
15374 all users.
15375
4e2171f8 153762009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15377
15378 * util/grub.d/10_freebsd.in: Use an absolute device path for
15379 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
15380
6dcfcb32 153812009-08-06 Felix Zielcke <fzielcke@z-51.de>
15382
15383 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
15384 handling of multiple abstraction modules.
15385
f56a8756 153862009-08-04 Robert Millan <rmh.grub@aybabtu.com>
15387
15388 Fix a bug resulting in black screen when loading Linux using a
15389 packed video mode.
15390
15391 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
15392 function.
15393
15394 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
15395 (grub_vbe_bios_getset_dac_palette_width): New function.
15396 (grub_vbe_bios_get_dac_palette_width)
15397 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
15398 grub_vbe_bios_getset_dac_palette_width()).
15399
15400 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
15401 check for return status.
15402 (grub_vbe_get_video_mode_info): When getting information for a packed
15403 mode (<= 8 bpp), obtain DAC palette width using
15404 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
15405 {red,green,blue}_mark_size.
15406
222671b2 154072009-08-04 Felix Zielcke <fzielcke@z-51.de>
15408
ecb1a6d9 15409 * commands/search.c (options): Fix help output to match actual code.
222671b2 15410
f84114f5 154112009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
15414 of homegrown code.
15415
bd288a20 154162009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 15417
15418 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
15419 on XFS or ReiserFS.
15420
8aab5e25 154212009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15422
15423 Support Apple partition map with sector size different from 512 bytes.
15424
15425 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
15426 (apple_partition_map_iterate): Respect 'aheader.blocksize'
15427 and 'apart.partmap_size'.
15428
6ad6258a 154292009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
154302009-08-01 Robert Millan <rmh.grub@aybabtu.com>
15431
15432 Fix cpuid command.
15433
15434 * commands/i386/cpuid.c (options): New variable.
15435 (grub_cmd_cpuid): Return real error.
15436 (GRUB_MOD_INIT(cpuid)): Declare options.
15437
67459bc6 154382009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
15439
15440 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
15441 valid.
15442
fbc6ab54 154432009-07-31 Bean <bean123ch@gmail.com>
15444
15445 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
15446 log2_inode.
15447 (grub_fshelp_node): Move inode field to the end.
15448 (grub_xfs_data): Remove inode field.
15449 (grub_xfs_inode_block): Calculate inode size using sblock.
15450 (grub_xfs_inode_offset): Likewise.
15451 (grub_xfs_read_inode): Calculate inode size using sblock.
15452 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
15453 (grub_xfs_iterate_dir): Calculate inode size using sblock.
15454 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
15455 to match inode size.
15456 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
15457 not accessible when data is null.
15458 (grub_xfs_open): Likewise.
15459
f45d6cfc 154602009-07-31 Bean <bean123ch@gmail.com>
15461
15462 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
15463 Don't change pv->disk if it's already set.
15464
15465 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
15466 (grub_raid_register): ... here.
15467 (grub_raid_rescan): Removed.
15468
15469 * include/grub/raid.h (grub_raid_rescan): Removed.
15470
15471 * util/grub-fstest.c: Remove include file <grub/raid.h>.
15472 (fstest): Replace grub_raid_rescan with module fini function followed
15473 by init function.
15474
15475 * util/grub-probe.c: Add include file <grub/raid.h>.
15476 (probe_raid_level): New function.
15477 (probe): Detect abstraction by walking the disk device, support two
15478 level of abstraction (LVM on RAID) when detecting partition map.
15479
24443b5a 154802009-07-31 Pavel Roskin <proski@gnu.org>
15481
15482 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
15483 to grub_zalloc(), it was erroneous.
15484 Reported by Bean <bean123ch@gmail.com>
15485
a275d9e7 154862009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
15487
15488 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 15489 embedding zone, not only the first one.
a275d9e7 15490
56c5a47f 154912009-07-29 Joe Auricchio <jauricchio@gmail.com>
15492
15493 * term/gfxterm.c (clear_char): New function.
15494 (grub_virtual_screen_setup): Use clear_char.
15495 (scroll_up): Likewise.
15496 (grub_virtual_screen_cls): Likewise.
15497
67bb323a 154982009-07-29 Felix Zielcke <fzielcke@z-51.de>
15499
15500 * util/deviceiter.c (get_acceleraid_disk_name): New static
15501 function.
15502 (grub_util_iterate_devices): Handle Accelraid devices.
15503 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
15504
388a7c75 155052009-07-28 Robert Millan <rmh.grub@aybabtu.com>
15506
15507 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
15508 separator for the suggested gfxpayload string (';' collides with the
15509 parser and needs escaping).
15510
3bb7abcf 155112009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15512
15513 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
15514 Clear direction flag before jumping to OS.
15515 (grub_multiboot2_real_boot): Likewise.
15516
2ddd36d7 155172009-07-28 Felix Zielcke <fzielcke@z-51.de>
15518
15519 * util/i386/pc/grub-install: Fix parsing of --disk-module
15520 option.
15521
c521b62b 155222009-07-28 Felix Zielcke <fzielcke@z-51.de>
15523
15524 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
15525 when embedding.
15526
880e0a0c 155272009-07-26 Felix Zielcke <fzielcke@z-51.de>
15528
15529 * util/grub-mkconfig.in (package_version): New variable.
15530 Use it do display the version.
15531
2366e356 155322009-07-25 Felix Zielcke <fzielcke@z-51.de>
15533
15534 * kern/file.c (grub_file_open): Revert to previous check with
15535 grub_errno.
15536
7ad8c80e 155372009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
15540 from help line. It's out of sync with code.
15541
72b9658b 155422009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
15545 entries on failed boot.
15546
77435277 155472009-07-25 Felix Zielcke <fzielcke@z-51.de>
15548
15549 * kern/file.c (grub_file_open): Fix an error check.
15550
fcaa8b21 155512009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
15552
35d16c74 15553 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
15554 partition map couldn't be identified.
fcaa8b21 15555
48904cd1 155562009-07-23 Pavel Roskin <proski@gnu.org>
15557
ef3c317f 15558 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
15559 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
15560 case of little endian words becomes just an optimization.
15561 Respect const modifier.
ad8ea1f4 15562 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 15563
48904cd1 15564 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
15565 to avoid loss of upper bits if align is unsigned and shorter
15566 than addr.
15567
260c9a89 155682009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
15569
15570 UUID support for UFS
15571
15572 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
15573 (grub_ufs_uuid): New function.
15574 (grub_ufs_fs): add .uuid
15575
f76ce889 155762009-07-21 Pavel Roskin <proski@gnu.org>
15577
15578 * kern/dl.c (grub_dl_check_header): Make static.
15579
6a6cbcaf 155802009-07-21 Felix Zielcke <fzielcke@z-51.de>
15581
15582 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
15583 add drivemap for Vista. It breaks Windows 7.
15584
cffcddb2 155852009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
15588 128 bytes
15589
1ef44b80 155902009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15591
15592 Add BFS support
15593
15594 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
15595 (grub_fstest_SOURCES): Likewise.
15596 (pkglib_MODULES): Add befs.mod.
15597 (befs_mod_SOURCES): New variable.
15598 (befs_mod_CFLAGS): Likewise.
15599 (befs_mod_LDFLAGS): Likewise.
15600 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15601 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15602 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15603 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15604 (grub_setup_SOURCES): Likewise.
15605 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15606 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15607 (grub_setup_SOURCES): Likewise.
15608 * fs/befs.c: New file.
15609 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
15610 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
15611 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
15612 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
15613 (B_KEY_INDEX_ALIGN): New declaration.
15614 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
15615 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
15616 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
15617 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
15618 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
15619 (grub_afs_mount) [MODE_BFS]: Likewise.
15620 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
15621 (grub_afs_fs): Use GRUB_AFS_FSNAME
15622 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
15623 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
15624 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
15625 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
15626
4f253044 156272009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
15628
15629 * util/getroot.c (find_root_device): Add support for MacOSX.
15630 * util/hostdisk.c: Likewise.
15631
57a55913 156322009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15633
15634 * font/font.c (find_glyph): Check whether a font is present to avoid
15635 segmentation fault.
75421ca9 15636
156372009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 15638
15639 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
15640
e98cd0c2 156412009-07-20 Pavel Roskin <proski@gnu.org>
15642
15643 * configure.ac: Trim excessively wordy excuses.
15644
1d2d169a 156452009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15646
15647 Add symlink, mtime and label support to AtheFS.
15648
15649 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
15650 (grub_afs_iterate_dir): Handle symlinks.
15651 (grub_afs_open): Use grub_afs_read_symlink.
15652 (grub_afs_dir): Likewise.
15653 Pass mtime.
15654 (grub_afs_label): New function.
15655 (grub_afs_fs): Add grub_afs_label.
15656 (grub_afs_read_symlink): New function.
15657
186f3189 156582009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15659
15660 Fix AtheFS support.
15661
15662 * fs/afs.c: Fix comments style.
15663 (grub_afs_blockrun): Declare as packed.
15664 (grub_afs_datastream): Likewise.
15665 (grub_afs_bnode): Likewise.
15666 (grub_afs_btree): Likewise.
15667 (grub_afs_sblock): Likewise.
15668 Declare `name' as char.
15669 (grub_afs_inode): Declare as packed.
15670 Change void *vnode to grub_uint32_t unused.
15671 (grub_afs_iterate_dir): Check that key_size is positive.
15672 (grub_afs_mount): Don't read superblock twice.
75421ca9 15673 (grub_afs_dir): Don't free node in case of error,
186f3189 15674 grub_fshelp_find_file already handles this.
15675 (grub_afs_open): Likewise.
15676
5680109e 156772009-07-19 Pavel Roskin <proski@gnu.org>
15678
15679 * Makefile.in: Remove LIBLZO and enable_lzo.
15680 * conf/i386-pc.rmk: Remove lzo support.
15681 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
15682 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
15683 support.
15684 * kern/i386/pc/lzo1x.S: Remove.
15685 * kern/i386/pc/startup.S: Remove lzo support.
15686 * util/i386/pc/grub-mkimage.c: Likewise.
15687
ac70fa32 156882009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
15689
15690 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
15691 * fs/xfs.c (grub_xfs_dir): Likewise.
15692 * fs/afs.c (grub_afs_dir): Likewise.
15693 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
15694 (grub_iso9660_open): Likewise.
15695 * fs/jfs.c (grub_jfs_open): Likewise.
15696 * fs/ext2.c (grub_ext2_dir): Likewise.
15697 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
15698 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 15699
eab58da2 157002009-07-16 Pavel Roskin <proski@gnu.org>
15701
d2838156 15702 * configure.ac: Never add "-c" to CFLAGS.
15703
55c70904 15704 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
15705
43e6200c 15706 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
15707 grub_cv_cc_efiemu should be used.
15708
ce7a733d 15709 * configure.ac: Typo fixes.
15710
eab58da2 15711 * kern/mm.c (grub_zalloc): New function.
15712 (grub_debug_zalloc): Likewise.
15713 * include/grub/mm.h: Declare grub_zalloc() and
15714 grub_debug_zalloc().
15715 * util/misc.c (grub_zalloc): New function.
15716 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
15717 instead of grub_malloc(), remove unneeded initializations.
15718 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
15719 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
15720 * commands/parttool.c (grub_cmd_parttool): Likewise.
15721 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
15722 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
15723 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
15724 * disk/usbms.c (grub_usbms_finddevs): Likewise.
15725 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
15726 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
15727 (grub_cmd_efiemu_pnvram): Likewise.
15728 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
15729 * fs/iso9660.c (grub_iso9660_mount): Likewise.
15730 (grub_iso9660_iterate_dir): Likewise.
15731 * fs/jfs.c (grub_jfs_opendir): Likewise.
15732 * fs/ntfs.c (list_file): Likewise.
15733 (grub_ntfs_mount): Likewise.
15734 * kern/disk.c (grub_disk_open): Likewise.
15735 * kern/dl.c (grub_dl_load_core): Likewise.
15736 * kern/elf.c (grub_elf_file): Likewise.
15737 * kern/env.c (grub_env_context_open): Likewise.
15738 (grub_env_set): Likewise.
15739 (grub_env_set_data_slot): Likewise.
15740 * kern/file.c (grub_file_open): Likewise.
15741 * kern/fs.c (grub_fs_blocklist_open): Likewise.
15742 * loader/i386/multiboot.c (grub_module): Likewise.
15743 * loader/xnu.c (grub_xnu_create_key): Likewise.
15744 (grub_xnu_create_value): Likewise.
15745 * normal/main.c (grub_normal_add_menu_entry): Likewise.
15746 (read_config_file): Likewise.
15747 * normal/menu_entry.c (make_screen): Likewise.
15748 * partmap/sun.c (sun_partition_map_iterate): Likewise.
15749 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
15750 * script/sh/script.c (grub_script_parse): Likewise.
15751 * video/bitmap.c (grub_video_bitmap_create): Likewise.
15752 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
15753 * video/readers/png.c (grub_png_output_byte): Likewise.
15754 (grub_video_reader_png): Likewise.
15755
830afef7 157562009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 15757
15758 Enable all targets that can be built by default
15759
830afef7 15760 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 15761 grub-mkfont and grub-fstest if they can be built
15762
ee293aee 157632009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 Fix hang and segmentation fault in grub-emu-usb
15766
15767 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
15768 * util/usb.c (grub_libusb_devices): likewise
15769 (grub_libusb_init): rename to ...
15770 (GRUB_MOD_INIT (libusb)):...this
15771 (grub_libusb_fini): rename to ..
15772 (GRUB_MOD_FINI (libusb)):...this
15773 * disk/usbms.c (grub_usbms_transfer): fix retry logic
15774 * include/grub/disk.h (grub_raid_init): removed, it's useless
15775 (grub_raid_fini): likewise
15776 (grub_lvm_init): likewise
15777 (grub_lvm_fini): likewise
15778 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
15779 by grub_init_all
15780
94414221 157812009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 Fix libusb
15784
15785 * Makefile.in (LIBUSB): new macro
15786 * genmk.rb (Utility/print_tail): new method
15787 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
15788 (top level): call util.print_tail at the end.
15789
59ade63d 157902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 Make FreeBSD accept zpool.cache
15793
15794 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
15795 type is /boot/zfs/zpool.cache
15796
a58da8c7 157972009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15798
15799 Fix 64-bit efiemu
15800
15801 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
15802 correct wrong typedef
15803 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
15804
20591577 158052009-07-15 Pavel Roskin <proski@gnu.org>
15806
560ca572 15807 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
15808 * kern/disk.c (struct grub_disk_cache): Likewise.
15809
e8e8e4fd 15810 * commands/probe.c (options): Typo fix.
15811
fde24e10 15812 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
15813 Increase to 0x5a to accommodate FAT32. Adjust other offsets
15814 accordingly.
15815 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
15816
379c54c1 15817 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
15818 the end of "Error" to make the message more readable.
15819
7bd8f5bf 15820 * boot/i386/pc/boot.S (kernel_segment): Remove.
15821 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
15822 for destination.
15823
40b132c5 15824 * boot/i386/pc/boot.S (boot_version): Remove.
15825 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15826 Remove.
15827
20591577 15828 * include/grub/i386/pc/boot.h: Sort all offsets.
15829 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
15830 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
15831 * boot/i386/pc/boot.S: Assert location of every offset listed in
15832 include/grub/i386/pc/boot.h.
15833
2df32b2c 158342009-07-13 Pavel Roskin <proski@gnu.org>
15835
44b5d879 15836 * include/grub/i386/coreboot/machine.h: Rename
15837 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
15838 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
15839 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
15840
17dc3751 15841 * kern/dl.c: Force native word size to suppress warnings when
15842 compiling grub-emu.
15843
2df32b2c 15844 * kern/device.c (grub_device_iterate): Change struct part_ent to
15845 hold the name, not a pointer to it. Use one grub_malloc() per
15846 partition, not two. Free partition_name if grub_malloc() fails.
15847 Set ents to NULL only before grub_partition_iterate() is called.
15848
75c59f59 158492009-07-11 Bean <bean123ch@gmail.com>
15850
15851 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
15852 childname.
15853
0ae1bf88 158542009-07-10 Bean <bean123ch@gmail.com>
158552009-07-10 Robert Millan <rmh.grub@aybabtu.com>
15856
15857 * kern/ieee1275/openfw.c (grub_children_iterate)
15858 (grub_devalias_iterate): Fix size evaluation for property or path
15859 strings, which was broken since r2132.
15860
8279cade 158612009-07-07 Pavel Roskin <proski@gnu.org>
15862
7d8a52d3 15863 * commands/search.c (search_file): Merge into ...
15864 (search_fs): ... this. Accept search type as argument.
15865 (grub_cmd_search): Pass search type to search_fs().
15866
25f9a05a 15867 * include/grub/util/console.h: New file.
15868 * util/console.c: Use it instead of grub/machine/console.h.
15869 * util/grub-emu.c: Likewise.
15870
8279cade 15871 * lib/arg.c (find_long_option): Remove.
15872 (find_long): Add `len' argument, make `s' const char *.
15873 (grub_arg_parse): Parse long options in place, not in a
15874 temporary buffer.
15875
4a11b60f 158762009-07-06 Pavel Roskin <proski@gnu.org>
15877
99f68041 15878 * commands/search.c (search_fs): Fix potential NULL pointer
15879 dereference.
15880
4a11b60f 15881 * commands/search.c (search_fs): Replace QUID macro with quid_fn
15882 function pointer.
15883
e110f4de 158842009-07-06 Daniel Mierswa <impulze@impulze.org>
15885
15886 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
15887 comparison.
15888
46eeb6a2 158892009-07-05 Pavel Roskin <proski@gnu.org>
15890
bab74958 15891 * include/grub/i386/linux.h (struct linux_kernel_params):
15892 Restore padding3, it's still needed.
15893
46eeb6a2 15894 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
15895 FreeBSD.
15896 * util/osdetect.lua: Likewise.
15897
b4a1dc79 158982009-07-05 Bean <bean123ch@gmail.com>
15899
15900 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
15901
15902 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
15903 (grub_lua_getenv): Likewise.
15904 (grub_lua_setenv): Likewise.
15905 (save_errno): New function.
15906 (push_result): Likewise.
15907 (grub_lua_enum_device): Likewise.
15908 (grub_lua_enum_file): Likewise.
15909 (grub_lua_file_open): Likewise.
15910 (grub_lua_file_close): Likewise.
15911 (grub_lua_file_seek): Likewise.
15912 (grub_lua_file_read): Likewise.
15913 (grub_lua_file_getline): Likewise.
15914 (grub_lua_file_getsize): Likewise.
15915 (grub_lua_file_getpos): Likewise.
15916 (grub_lua_file_eof): Likewise.
15917 (grub_lua_file_exist): Likewise.
15918 (grub_lua_add_menu): Likewise.
15919
15920 * script/lua/grub_lua.h (isupper): New inline function.
15921 (islower): Likewise.
15922 (ispunct): Likewise.
15923 (isxdigit): Likewise.
15924 (strcspn): Change to normal function.
15925 (strpbkr): New function declaration.
15926 (memchr): Likewise.
15927
15928 * script/lua/grub_main.c (scan_str): New function.
15929 (strcspn): Likewise.
15930 (strpbrk): Likewise.
15931 (memchr): Likewise.
15932
15933 * script/lua/linit.c (lualibs): Enable the string library.
15934
15935 * util/osdetect.lua: New file.
15936
2da92295 159372009-07-04 Robert Millan <rmh.grub@aybabtu.com>
15938
15939 * include/grub/i386/linux.h (struct linux_kernel_params): Add
15940 `capabilities' member.
15941
b2582ec9 159422009-07-02 Pavel Roskin <proski@gnu.org>
15943
15944 * genparttoollist.sh: Add missing newline at the end.
15945
32622956 159462009-07-01 Pavel Roskin <proski@gnu.org>
15947
87a7339e 15948 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
15949
d23af54e 15950 * util/hostdisk.c (open_device): Remove `const' from
15951 `sysctl_size', as sysctlbyname() can change it (in this case it
15952 doesn't actually happen).
15953
c94b18a9 15954 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
15955 using signed long int constants.
15956
c6cd3ef0 15957 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
15958 constant to avoid a warning on FreeBSD.
15959
0df63420 15960 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
15961 where it's needed.
15962
999577f1 15963 * Makefile.in: Install include/grub/machine symlink.
15964
6f41557f 15965 * Makefile.in: When installing symlinks, use "cp -fR", which
15966 works on FreeBSD and MacOSX.
15967 From Yves Blusseau <cl7m42e02@sneakemail.com>
15968
c8d22988 15969 * kern/dl.c (grub_dl_resolve_symbol): Make static.
15970 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
15971
1b96e952 15972 * util/misc.c: Move grub_reboot() and grub_halt() ...
15973 * util/grub-emu.c: ... here. Make main_env static.
15974 * include/grub/util/misc.h: Remove main_env.
15975
2ef0084d 15976 * kern/mm.c: Use correct format to print size_t.
15977
32622956 15978 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
15979 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
15980 * kern/powerpc/dl.c: Likewise.
15981 * kern/sparc64/dl.c: Likewise.
15982 * kern/x86_64/dl.c: Likewise.
15983
3f7f0cd0 159842009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15985
15986 Fix grub-emu build on sparc64-ieee1275.
15987
75421ca9 15988 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 15989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
15990
211d06b5 159912009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15992
15993 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
15994 (grub_reboot, grub_halt): New functions.
15995
15996 * util/i386/pc/misc.c: Delete. Update all users.
15997 * util/sparc64/ieee1275/misc.c: Likewise.
15998 * util/powerpc/ieee1275/misc.c: Likewise.
15999
aaf53e3c 160002009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16001
16002 * conf/i386.rmk (setjmp_mod_SOURCES)
16003 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
16004 * conf/common.rmk (setjmp_mod_SOURCES)
16005 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
16006 to use $(target_cpu).
16007 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
16008 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
16009 * conf/powerpc-ieee1275.rmk: Likewise.
16010 * conf/sparc64-ieee1275.rmk: Likewise.
16011
16012 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
16013 $(target_cpu) for kern/$(target_cpu)/dl.c.
16014 * conf/i386-efi.rmk: Likewise.
16015 * conf/i386-ieee1275.rmk: Likewise.
16016 * conf/x86_64-efi.rmk: Likewise.
16017 * conf/i386-coreboot.rmk: Likewise.
16018 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
16019 $(target_cpu) for kern/$(target_cpu)/dl.c and for
16020 kern/$(target_cpu)/cache.S.
16021 * conf/sparc64-ieee1275.rmk: Likewise.
16022
a337130b 160232009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16024
16025 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
16026 type to `grub_uint8_t', and adjust `padding9' accordingly.
16027
c6fe4d53 160282009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16029
b09db61d 16030 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
16031
c6fe4d53 16032 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
16033 assembly in final jump, using register constraints.
16034
b09db61d 16035 (grub_linux_boot): For text mode, initialize `have_vga' using
16036 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
16037
16038 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
16039 right before the final jump.
16040
16041 Set `video_mode' to 0x3.
16042
16043 Document initialization of `video_page', `video_mode' and
16044 `video_ega_bx'.
16045
28333ad0 160462009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16047
16048 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
16049 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 16050 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 16051
02164e1b 160522009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16053
16054 Fix build on Debian / sparc.
16055
16056 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
16057
18b6c557 160582009-06-28 Pavel Roskin <proski@gnu.org>
16059
85f2aab6 16060 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
16061 fix a warning.
16062
18b6c557 16063 * util/grub.d/10_linux.in: Match SUSE style initrd names.
16064
ad760f81 160652009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16066
16067 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
16068 `err'.
16069
87a4623b 160702009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16071
16072 Revert r2338.
16073
16074 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
16075 file can't be opened. grub_file_open() is already supposed to set
75421ca9 16076 grub_errno / grub_errmsg appropriately.
87a4623b 16077 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16078
8231fb77 160792009-06-27 Pavel Roskin <proski@gnu.org>
160802009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16081
16082 * include/grub/dl.h: Include grub/elf.h.
16083 (struct grub_dl): Add symtab field.
16084 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
16085 GRUB_MODULES_MACHINE_READONLY.
16086 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
16087 of the header for read-only modules.
16088 (grub_dl_unload): Free mod->symtab for read-only modules.
16089 * kern/i386/dl.c: Use mod->symtab.
16090 * kern/powerpc/dl.c: Likewise.
16091 * kern/sparc64/dl.c: Likewise.
16092 * kern/x86_64/dl.c: Likewise.
16093
16094 * conf/i386-qemu.rmk: New file.
16095 * kern/i386/qemu/startup.S: Likewise.
16096 * kern/i386/qemu/mmap.c: Likewise.
16097 * boot/i386/qemu/boot.S: Likewise.
16098 * include/grub/i386/qemu/time.h: Likewise.
16099 * include/grub/i386/qemu/serial.h: Likewise.
16100 * include/grub/i386/qemu/kernel.h: Likewise.
16101 * include/grub/i386/qemu/console.h: Likewise.
16102 * include/grub/i386/qemu/boot.h: Likewise.
16103 * include/grub/i386/qemu/init.h: Likewise.
16104 * include/grub/i386/qemu/machine.h: Likewise.
16105 * include/grub/i386/qemu/loader.h: Likewise.
16106 * include/grub/i386/qemu/memory.h: Likewise.
16107
16108 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
16109 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
16110 [qemu] (pkglib_IMAGES): Add `boot.img'.
16111 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
16112 [qemu] (boot_img_FORMAT): New variables.
16113 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
16114 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
16115 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
16116 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16117 [qemu] (kernel_img_FORMAT): New variables.
16118
16119 * configure.ac: Recognise `i386-qemu'.
16120
16121 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
16122 (for no compression).
16123 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
16124 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
16125 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
16126 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
16127 ifdefs).
16128
97fe384e 161292009-06-27 Pavel Roskin <proski@gnu.org>
16130
16131 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
16132 read.
16133 * efiemu/prepare32.c: Likewise.
16134 * efiemu/prepare64.c: Likewise.
16135
c402ab17 161362009-06-26 Pavel Roskin <proski@gnu.org>
16137
16138 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
16139 * include/grub/elf.h: Define symbols without "32" or "64" based
16140 on GRUB_TARGET_WORDSIZE.
16141 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
16142 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
16143 ELF definitions.
16144 * efiemu/loadcore64.c: Likewise.
16145 * loader/i386/bsd32.c: Likewise.
16146 * loader/i386/bsd64.c: Likewise.
16147 * kern/dl.c: Remove own ELF definitions.
16148 * util/i386/efi/grub-mkimage.c: Likewise.
16149
9bbdfd4d 161502009-06-23 Robert Millan <rmh.grub@aybabtu.com>
16151
16152 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
16153 segment 0x0 unconditionally, because the reference generated by
16154 GAS is an absolute address.
16155
a42ce6e9 161562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16157
16158 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
16159 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
16160
c952cf92 161612009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16162
16163 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
16164 indexes. Check for -f explicitly.
cc3752ad 16165 (search_file): Improve error message.
16166 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 16167
132a0a59 161682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16169
16170 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
16171 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
16172
387a140c 161732009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16174
16175 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
16176 * conf/i386-ieee1275.rmk: Likewise.
16177 * conf/i386-coreboot.rmk: Likewise.
16178
16179 * kern/i386/pc/startup.S (grub_stop): Remove function.
16180 * kern/i386/ieee1275/startup.S: Likewise.
16181 * kern/i386/coreboot/startup.S: Likewise.
16182 * kern/i386/misc.S (grub_stop): New function.
16183
41da9665 161842009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16185
16186 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
16187 * kern/i386/realmode.S (real_to_prot): ... to here.
16188
bf337234 161892009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16190
16191 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
16192 with `kernel.img'.
16193 (kernel_elf_SOURCES): Rename to ...
16194 (kernel_img_SOURCES): ... this.
16195 (kernel_elf_HEADERS): Rename to ...
16196 (kernel_img_HEADERS): ... this. Update all users.
16197 (kernel_elf_ASFLAGS): Rename to ...
16198 (kernel_img_ASFLAGS): ... this.
16199 (kernel_elf_CFLAGS): Rename to ...
16200 (kernel_img_CFLAGS): ... this.
16201 (kernel_elf_LDFLAGS): Rename to ...
16202 (kernel_img_LDFLAGS): ... this.
16203 * conf/i386-coreboot.rmk: Likewise.
16204 * conf/powerpc-ieee1275.rmk: Likewise.
16205
16206 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
16207 with "kernel.img".
16208
f52196ff 162092009-06-21 Pavel Roskin <proski@gnu.org>
16210
c3cee413 16211 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
16212 to match nested functions.
16213 * loader/sparc64/ieee1275/linux.c: Likewise.
16214
f52196ff 16215 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
16216
58750afc 162172009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16218
16219 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
16220 all i386 platforms.
16221
15355c7d 162222009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16223
16224 Fix asm file handling on ELF, and remove workarounds.
16225
16226 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 16227 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 16228 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
16229 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
16230
3f3ec72b 162312009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
16232
16233 Load BSD ELF modules
16234
16235 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
16236 and loader/i386/bsd64.c
16237 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
16238 (FREEBSD_MODTYPE_ELF_MODULE): New definition
16239 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
16240 (grub_freebsd_load_elfmodule32): New declaration
16241 (grub_freebsd_load_elfmoduleobj64): Likewise
16242 (grub_freebsd_load_elf_meta32): Likewise
16243 (grub_freebsd_load_elf_meta64): Likewise
16244 (grub_freebsd_add_meta): Likewise
16245 (grub_freebsd_add_meta_module): Likewise
16246 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
16247 (grub_freebsd_add_meta_module): Likewise and move module-specific
16248 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
16249 (grub_cmd_freebsd): Add elf-kernel specific parts
16250 based on grub_freebsd_add_meta_module
16251 (grub_cmd_freebsd_module): Add type parsing moved from
16252 grub_freebsd_add_meta_module
16253 (grub_cmd_freebsd_module_elf): New function
16254 (cmd_freebsd_module_elf): New variable
16255 (GRUB_MOD_INIT): Register freebsd_module_elf
16256 * loader/i386/bsd32.c: New file
16257 * loader/i386/bsd64.c: Likewise
16258 * loader/i386/bsdXX.c: Likewise
16259 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
16260 (grub_elf64_load): Likewise
16261 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
16262 All users updated
16263 (grub_elf64_load_hook_t): Likewise
16264
0db15301 162652009-06-21 Colin Watson <cjwatson@ubuntu.com>
16266
16267 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
16268 variable.
16269 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
16270 don't write a menu entry for recovery mode.
16271
546796c1 162722009-06-20 Robert Millan <rmh.grub@aybabtu.com>
16273
16274 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
16275 after it's no longer needed.
16276
cd7310d5 162772009-06-20 Robert Millan <rmh.grub@aybabtu.com>
16278
16279 * include/grub/i386/loader.h (grub_linux_prot_size)
16280 (grub_linux_tmp_addr, grub_linux_real_addr)
16281 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
16282 GRUB_MACHINE_PCBIOS.
16283 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
16284 common grub_util_info() call to ...
16285 (generate_image): ... here.
16286 Fix use of uninitialized memory, comparison of signed with
16287 unsigned integers and memory leak.
16288 Remove bogus module address message.
16289
ab32d3b5 162902009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
16293 grub_raid_register
16294 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
16295
024ef597 162962009-06-19 Pavel Roskin <proski@gnu.org>
16297
16298 * configure.ac: Remove stray AC_MSG_CHECKING.
16299
3ac72b51 163002009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
16301
16302 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 16303
e14cd814 163042009-06-18 Pavel Roskin <proski@gnu.org>
16305
16306 * conf/common.rmk: Add fs_file.mod.
16307 * disk/fs_file.c: New file.
16308 * include/grub/disk.h (enum grub_disk_dev_id): Add
16309 GRUB_DISK_DEVICE_FILE_ID.
16310
26586d98 163112009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16312
16313 Fix build with Apple's toolchain. Part 2
16314
16315 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
16316 a fake start
16317
26de2bcd 163182009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 Fix build with Apple's toolchain. Part 1
16321
16322 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
16323 for long calls
16324 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 16325 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 16326 Apple's toolchain
16327
09b3490b 163282009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16329
16330 Fix warnings
16331
16332 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
16333 (decomp_block): initialize ch
16334 use grub_memcpy instead of memcpy
16335
c22a006a 163362009-06-17 Pavel Roskin <proski@gnu.org>
16337
d3638678 16338 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
16339 version, use declarations needed to use vga_text as the startup
16340 console.
16341
c22a006a 16342 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
16343 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
16344 the kernel.
16345 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
16346 and grub_at_keyboard_fini(), it's done on module load and
16347 unload.
16348
05b129e0 163492009-06-17 Felix Zielcke <fzielcke@z-51.de>
16350
16351 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
16352 file can't be found.
16353 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16354
cf24ed9e 163552009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 Fix newline handling
16358
16359 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 16360 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 16361 (grub_script_yylex): don't segfault on unterminated script
16362 newline terminates command and variable
16363
74aa8e4b 163642009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
16365
16366 avoid double grub_adjust_range call. Bug reported by David Simner
16367
16368 * kern/disk.c (grub_disk_write): change to raw disk access before
16369 calling disk_read
16370
1bd265f3 163712009-06-17 Colin Watson <cjwatson@ubuntu.com>
16372
16373 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
16374 spaces, for the benefit of help2man.
16375 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16376
a2d08c06 163772009-06-16 Pavel Roskin <proski@gnu.org>
16378
16379 * kern/i386/halt.c: Include grub/machine/init.h.
16380 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
16381
b97bcb19 163822009-06-16 Felix Zielcke <fzielcke@z-51.de>
16383
16384 * util/grub.d/30_os-prober.in: Use ${root} in the generated
16385 drivemap menuentry.
16386
0644f96c 163872009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
16388
16389 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
16390 `echo' command.
16391
3ef17a2e 163922009-06-16 Pavel Roskin <proski@gnu.org>
16393
16394 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
16395 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
16396 save %dx, we only need %dl and we never change it.
16397 * boot/i386/pc/cdboot.S: Don't set the root drive.
16398 * boot/i386/pc/pxeboot.S: Likewise.
16399 * include/grub/i386/pc/boot.h: Remove
16400 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
16401 GRUB_BOOT_MACHINE_DRIVE_CHECK.
16402 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
16403 * kern/i386/pc/init.c (make_install_device): Remove references
16404 to grub_root_drive.
16405 * kern/i386/pc/startup.S: Likewise.
16406 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
16407
693fe637 164082009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16409
16410 xnu_uuid command
16411
16412 * commands/xnu_uuid.c: new file
16413 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
16414 (xnu_uuid_mod_SOURCES): new variable
16415 (xnu_uuid_mod_CFLAGS): likewise
16416 (xnu_uuid_mod_LDFLAGS): likewise
16417 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16418 * conf/i386-ieee1275.rmk: likewise
16419 * conf/i386-pc.rmk: likewise
16420 * conf/powerpc-ieee1275.rmk: likewise
16421 * conf/sparc64-ieee1275.rmk: likewise
16422 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
16423
c9da87d0 164242009-06-16 Pavel Roskin <proski@gnu.org>
16425
16426 * configure.ac: Avoid '==' in test command, it's not portable.
16427
9c6f4596 164282009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16429
16430 Probe command
16431
16432 * commands/probe.c: new file
16433 * conf/common.rmk (pkglib_MODULES): add probe.mod
16434 (probe_mod_SOURCES): new variable
16435 (probe_mod_CFLAGS): likewise
16436 (probe_mod_LDFLAGS): likewise
16437 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16438 * conf/i386-ieee1275.rmk: likewise
16439 * conf/i386-pc.rmk: likewise
16440 * conf/powerpc-ieee1275.rmk: likewise
16441 * conf/sparc64-ieee1275.rmk: likewise
16442
70b7f9fd 164432009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
16444
16445 Fix handling of string like \"hello\" and "a
16446 b"
16447
16448 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
16449 (grub_script_yylex): fix parsing of quoting, escaping and newline
16450
71c79a6b 164512009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
16452
dd74360c 16453 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 16454 handling
dd74360c 16455
0644f96c 164562009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 16457
16458 * util/grub-mkconfig.in: Fix parsing of --output option.
16459
e40893c3 164602009-06-12 Pavel Roskin <proski@gnu.org>
16461
16462 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
16463 genmk.rb don't need to be generated or installed.
16464
3a1acfe2 164652009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16466
16467 * commands/i386/pc/drivemap_int13h.S: add more comments
16468
3a4575d4 164692009-06-11 Pavel Roskin <proski@gnu.org>
16470
0658e928 16471 * Makefile.in (uninstall): Uninstall manuals.
16472
ca0388f0 16473 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
16474 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
16475 and update-grub_lib in two places.
16476 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
16477
e3b27c39 16478 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
16479 a compiler warning.
16480
3a4575d4 16481 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
16482 `entry_lo' to fix variable shadowing.
16483
af1f4f55 164842009-06-11 Christian Franke <franke@computer.org>
16485
16486 * kern/misc.c (__enable_execute_stack): Add missing return type
16487 to prevent gcc warning.
16488
5225e649 164892009-06-11 Felix Zielcke <fzielcke@z-51.de>
16490
16491 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
16492
7d83bd47 164932009-06-11 Pavel Roskin <proski@gnu.org>
16494
c1cb63ba 16495 * Makefile.in: Don't rely on any scripts being executable.
16496 Always use $(SHELL) to run shell scripts.
16497
7d83bd47 16498 * configure.ac: Always define ___main if using -nostdlib. This
16499 fixes tests on Cygwin.
16500
948f48e7 165012009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
16502
16503 UDF fix
16504
7d83bd47 16505 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 16506 is in bytes and not in blocks
7d83bd47 16507
8ada9bc1 165082009-06-11 Pavel Roskin <proski@gnu.org>
16509
16510 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
16511 warning.
16512
25ad2323 165132009-06-11 Felix Zielcke <fzielcke@z-51.de>
16514
16515 * util/grub.d/30_os-prober.in: Fix a comment. Source
16516 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
16517 to set the root device. Place drivemap command in the generated
16518 chain entry.
16519
e65acb0c 165202009-06-11 Pavel Roskin <proski@gnu.org>
16521
16522 * configure.ac: Remove host_m32. Issues with 64-bit utilities
16523 have long been resolved.
16524
f285fe2d 165252009-06-11 Colin Watson <cjwatson@ubuntu.com>
16526
bd47b0b5 16527 * util/grub.d/10_linux.in: Capitalise "Linux".
16528
f285fe2d 16529 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
16530
a0c62e4e 165312009-06-11 Pavel Roskin <proski@gnu.org>
16532
b6783cb2 16533 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
16534 fix a gcc warning and ensure that the function won't ever exit.
16535
dde032e8 16536 * kern/i386/ieee1275/init.c: Add missing prototype for
16537 grub_stop_floppy().
16538
22cd079d 16539 * loader/ieee1275/multiboot2.c [__i386__]: Include
16540 grub/cpu/multiboot.h.
16541
a0c62e4e 16542 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
16543 casts to short - they are not portable and cause warnings. Fix
16544 use of uninitialized values in input_buf. Use ARRAY_SIZE.
16545
63963d17 165462009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 Drivemap fixes
16549
16550 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
16551 new function
16552 (grub_get_root_biosnumber_saved): new variable
16553 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
16554 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 16555 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 16556 %dx after the call if necessary
16557 * conf/common.rmk (pkglib_MODULES): remove boot.mod
16558 (boot_mod_SOURCES): remove
16559 (boot_mod_CFLAGS): remove
16560 (boot_mod_LDFLAGS): remove
16561 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
16562 (boot_mod_SOURCES): new variable
16563 (boot_mod_CFLAGS): likewise
16564 (boot_mod_LDFLAGS): likewise
16565 * conf/i386-efi.rmk: likewise
16566 * conf/i386-ieee1275.rmk: likewise
16567 * conf/i386-pc.rmk: likewise
16568 * conf/powerpc-ieee1275.rmk: likewise
16569 * conf/sparc64-ieee1275.rmk: likewise
16570 * conf/x86_64-efi.rmk: likewise
16571 * include/grub/i386/pc/biosnum.h: new file
16572 * lib/i386/pc/biosnum.c: likewise
16573 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
16574 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
16575 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 16576
33abf7ae 165772009-06-10 Pavel Roskin <proski@gnu.org>
16578
5ac35b35 16579 * io/gzio.c (test_header): Don't reuse one buffer for all data.
16580 Use separate variables. Read only the file size at the end, but
16581 not the checksum that we don't use.
16582
5c5215d5 16583 * kern/file.c (grub_file_read): Use void pointer for the buffer.
16584 Adjust all callers.
16585
27d5fef7 16586 * kern/ieee1275/openfw.c: Remove libc includes.
16587 * kern/ieee1275/cmain.c: Likewise.
16588 * include/grub/ieee1275/ieee1275.h: Likewise.
16589
33abf7ae 16590 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
16591 compiler warnings.
16592
19d50c2b 165932009-06-10 Felix Zielcke <fzielcke@z-51.de>
16594
16595 * Makefile.in: Remove all trailing whitespace.
16596 * conf/i386-pc.rmk: Likewise.
16597 * conf/powerpc-ieee1275.rmk: Likewise.
16598 * conf/sparc64-ieee1275.rmk: Likewise.
16599 * docs/grub.texi: Likewise.
16600 * docs/texinfo.tex: Likewise.
16601 * disk/fs_uuid.c: Likewise.
16602 * disk/lvm.c: Likewise.
16603 * disk/scsi.c: Likewise.
16604 * disk/ata.c: Likewise.
16605 * disk/ieee1275/ofdisk.c: Likewise.
16606 * disk/i386/pc/biosdisk.c: Likewise.
16607 * disk/host.c: Likewise.
16608 * disk/raid.c: Likewise.
16609 * disk/efi/efidisk.c: Likewise.
16610 * disk/usbms.c: Likewise.
16611 * disk/memdisk.c: Likewise.
16612 * disk/loopback.c: Likewise.
16613 * kern/powerpc/dl.c: Likewise.
16614 * kern/device.c: Likewise.
16615 * kern/dl.c: Likewise.
16616 * kern/sparc64/dl.c: Likewise.
16617 * kern/ieee1275/ieee1275.c: Likewise.
16618 * kern/term.c: Likewise.
16619 * kern/fs.c: Likewise.
16620 * kern/i386/dl.c: Likewise.
16621 * kern/i386/pc/startup.S: Likewise.
16622 * kern/i386/pc/init.c: Likewise.
16623 * kern/i386/pc/mmap.c: Likewise.
16624 * kern/i386/pc/lzo1x.S: Likewise.
16625 * kern/i386/ieee1275/init.c: Likewise.
16626 * kern/i386/realmode.S: Likewise.
16627 * kern/i386/tsc.c: Likewise.
16628 * kern/partition.c: Likewise.
16629 * kern/corecmd.c: Likewise.
16630 * kern/file.c: Likewise.
16631 * kern/efi/efi.c: Likewise.
16632 * kern/efi/init.c: Likewise.
16633 * kern/efi/mm.c: Likewise.
16634 * kern/main.c: Likewise.
16635 * kern/err.c: Likewise.
16636 * kern/env.c: Likewise.
16637 * kern/disk.c: Likewise.
16638 * kern/generic/millisleep.c: Likewise.
16639 * kern/generic/rtc_get_time_ms.c: Likewise.
16640 * kern/misc.c: Likewise.
16641 * kern/parser.c: Likewise.
16642 * genmk.rb: Likewise.
16643 * configure.ac: Likewise.
16644 * boot/i386/pc/diskboot.S: Likewise.
16645 * boot/i386/pc/pxeboot.S: Likewise.
16646 * boot/i386/pc/boot.S: Likewise.
16647 * boot/i386/pc/lnxboot.S: Likewise.
16648 * boot/i386/pc/cdboot.S: Likewise.
16649 * parttool/pcpart.c: Likewise.
16650 * video/readers/tga.c: Likewise.
16651 * video/video.c: Likewise.
16652 * video/bitmap.c: Likewise.
16653 * lib/envblk.c: Likewise.
16654 * lib/i386/setjmp.S: Likewise.
16655 * fs/xfs.c: Likewise.
16656 * fs/afs.c: Likewise.
16657 * fs/fat.c: Likewise.
16658 * fs/ntfs.c: Likewise.
16659 * fs/udf.c: Likewise.
16660 * fs/affs.c: Likewise.
16661 * fs/iso9660.c: Likewise.
16662 * fs/hfs.c: Likewise.
16663 * fs/fshelp.c: Likewise.
16664 * fs/ext2.c: Likewise.
16665 * fs/jfs.c: Likewise.
16666 * fs/reiserfs.c: Likewise.
16667 * fs/hfsplus.c: Likewise.
16668 * fs/minix.c: Likewise.
16669 * fs/cpio.c: Likewise.
16670 * fs/sfs.c: Likewise.
16671 * fs/ufs.c: Likewise.
16672 * efiemu/prepare.c: Likewise.
16673 * efiemu/loadcore_common.c: Likewise.
16674 * efiemu/runtime/efiemu.sh: Likewise.
16675 * efiemu/runtime/efiemu.S: Likewise.
16676 * efiemu/runtime/efiemu.c: Likewise.
16677 * efiemu/pnvram.c: Likewise.
16678 * efiemu/main.c: Likewise.
16679 * efiemu/i386/pc/cfgtables.c: Likewise.
16680 * efiemu/i386/loadcore64.c: Likewise.
16681 * efiemu/i386/loadcore32.c: Likewise.
16682 * efiemu/loadcore.c: Likewise.
16683 * efiemu/symbols.c: Likewise.
16684 * efiemu/mm.c: Likewise.
16685 * include/grub/autoefi.h: Likewise.
16686 * include/grub/datetime.h: Likewise.
16687 * include/grub/term.h: Likewise.
16688 * include/grub/hfs.h: Likewise.
16689 * include/grub/lvm.h: Likewise.
16690 * include/grub/i386/tsc.h: Likewise.
16691 * include/grub/i386/linux.h: Likewise.
16692 * include/grub/i386/xnu.h: Likewise.
16693 * include/grub/i386/efiemu.h: Likewise.
16694 * include/grub/i386/pc/biosdisk.h: Likewise.
16695 * include/grub/i386/pc/memory.h: Likewise.
16696 * include/grub/i386/pc/vbe.h: Likewise.
16697 * include/grub/parttool.h: Likewise.
16698 * include/grub/video.h: Likewise.
16699 * include/grub/memory.h: Likewise.
16700 * include/grub/fs.h: Likewise.
16701 * include/grub/partition.h: Likewise.
16702 * include/grub/xnu.h: Likewise.
16703 * include/grub/efi/api.h: Likewise.
16704 * include/grub/efi/pe32.h: Likewise.
16705 * include/grub/efi/memory.h: Likewise.
16706 * include/grub/multiboot.h: Likewise.
16707 * include/grub/usbdesc.h: Likewise.
16708 * include/grub/multiboot2.h: Likewise.
16709 * include/grub/acpi.h: Likewise.
16710 * include/grub/efiemu/efiemu.h: Likewise.
16711 * include/grub/disk.h: Likewise.
16712 * include/grub/ieee1275/ieee1275.h: Likewise.
16713 * include/grub/net.h: Likewise.
16714 * include/grub/machoload.h: Likewise.
16715 * include/grub/macho.h: Likewise.
16716 * include/multiboot.h: Likewise.
16717 * genmoddep.awk: Likewise.
16718 * normal/main.c: Likewise.
16719 * normal/menu_entry.c: Likewise.
16720 * normal/menu_viewer.c: Likewise.
16721 * normal/completion.c: Likewise.
16722 * normal/cmdline.c: Likewise.
16723 * normal/misc.c: Likewise.
16724 * normal/datetime.c: Likewise.
16725 * bus/usb/usbtrans.c: Likewise.
16726 * bus/usb/ohci.c: Likewise.
16727 * bus/usb/uhci.c: Likewise.
16728 * bus/usb/usb.c: Likewise.
16729 * mmap/efi/mmap.c: Likewise.
16730 * mmap/i386/pc/mmap_helper.S: Likewise.
16731 * mmap/i386/pc/mmap.c: Likewise.
16732 * mmap/i386/mmap.c: Likewise.
16733 * mmap/i386/uppermem.c: Likewise.
16734 * mmap/mmap.c: Likewise.
16735 * commands/acpi.c: Likewise.
16736 * commands/echo.c: Likewise.
16737 * commands/blocklist.c: Likewise.
16738 * commands/loadenv.c: Likewise.
16739 * commands/usbtest.c: Likewise.
16740 * commands/boot.c: Likewise.
16741 * commands/parttool.c: Likewise.
16742 * commands/search.c: Likewise.
16743 * commands/cat.c: Likewise.
16744 * commands/i386/pc/play.c: Likewise.
16745 * commands/i386/pc/drivemap.c: Likewise.
16746 * commands/i386/pc/vbeinfo.c: Likewise.
16747 * commands/i386/pc/acpi.c: Likewise.
16748 * commands/i386/pc/vbetest.c: Likewise.
16749 * commands/ls.c: Likewise.
16750 * commands/cmp.c: Likewise.
16751 * commands/test.c: Likewise.
16752 * commands/efi/acpi.c: Likewise.
16753 * commands/gptsync.c: Likewise.
16754 * commands/help.c: Likewise.
16755 * partmap/amiga.c: Likewise.
16756 * partmap/apple.c: Likewise.
16757 * partmap/acorn.c: Likewise.
16758 * partmap/pc.c: Likewise.
16759 * partmap/sun.c: Likewise.
16760 * partmap/gpt.c: Likewise.
16761 * script/sh/lexer.c: Likewise.
16762 * script/sh/function.c: Likewise.
16763 * font/font.c: Likewise.
16764 * font/font_cmd.c: Likewise.
16765 * loader/powerpc/ieee1275/linux.c: Likewise.
16766 * loader/efi/chainloader.c: Likewise.
16767 * loader/multiboot_loader.c: Likewise.
16768 * loader/macho.c: Likewise.
16769 * loader/i386/multiboot.c: Likewise.
16770 * loader/i386/linux.c: Likewise.
16771 * loader/i386/pc/linux.c: Likewise.
16772 * loader/i386/pc/multiboot2.c: Likewise.
16773 * loader/i386/pc/chainloader.c: Likewise.
16774 * loader/i386/pc/xnu.c: Likewise.
16775 * loader/i386/bsd_trampoline.S: Likewise.
16776 * loader/i386/efi/linux.c: Likewise.
16777 * loader/i386/multiboot_elfxx.c: Likewise.
16778 * loader/i386/bsd_helper.S: Likewise.
16779 * loader/i386/bsd.c: Likewise.
16780 * loader/i386/linux_trampoline.S: Likewise.
16781 * loader/i386/xnu_helper.S: Likewise.
16782 * loader/i386/xnu.c: Likewise.
16783 * loader/i386/bsd_pagetable.c: Likewise.
16784 * loader/i386/multiboot_helper.S: Likewise.
16785 * loader/xnu.c: Likewise.
16786 * loader/xnu_resume.c: Likewise.
16787 * io/gzio.c: Likewise.
16788 * term/efi/console.c: Likewise.
16789 * term/terminfo.c: Likewise.
16790 * term/ieee1275/ofconsole.c: Likewise.
16791 * term/i386/pc/serial.c: Likewise.
16792 * term/i386/pc/vesafb.c: Likewise.
16793 * term/i386/pc/vga.c: Likewise.
16794 * term/usb_keyboard.c: Likewise.
16795 * term/gfxterm.c: Likewise.
16796 * aclocal.m4: Likewise.
16797 * util/lvm.c: Likewise.
16798 * util/grub.d/30_os-prober.in: Likewise.
16799 * util/grub.d/10_hurd.in: Likewise.
16800 * util/console.c: Likewise.
16801 * util/grub-macho2img.c: Likewise.
16802 * util/grub-probe.c: Likewise.
16803 * util/hostfs.c: Likewise.
16804 * util/i386/pc/grub-mkimage.c: Likewise.
16805 * util/i386/pc/grub-setup.c: Likewise.
16806 * util/i386/efi/grub-mkimage.c: Likewise.
16807 * util/grub-mkconfig.in: Likewise.
16808 * util/raid.c: Likewise.
16809 * util/resolve.c: Likewise.
16810 * util/grub-mkdevicemap.c: Likewise.
16811 * util/grub-emu.c: Likewise.
16812 * util/getroot.c: Likewise.
16813 * util/hostdisk.c: Likewise.
16814 * util/usb.c: Likewise.
16815 * util/grub-editenv.c: Likewise.
16816 * util/misc.c: Likewise.
16817
d2d49665 168182009-06-10 Felix Zielcke <fzielcke@z-51.de>
16819
16820 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
16821 `genparttoollist.sh'.
16822 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
16823 Add `*.sh' to the list find searches for and change `mdate.sh'
16824 to `mdate-sh'.
16825
fe052e37 168262009-06-10 Pavel Roskin <proski@gnu.org>
16827
2763ac18 16828 * include/grub/multiboot2.h: Provide compatibility defines for
16829 multiboot2.h.
16830 * include/multiboot2.h: Include stdint.h only if needed, using
16831 angle brackets.
16832 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
16833 grub/multiboot2.h.
16834 * loader/ieee1275/multiboot2.c: Likewise.
16835 * loader/multiboot2.c: Likewise.
16836 * loader/multiboot_loader.c: Likewise.
16837
437e6adc 16838 * configure.ac: Use -nostdlib when probing for the target. It
16839 should not be required to have libc for the target.
16840
06a6836c 16841 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
16842 they fail without libc headers for the target.
16843 * include/grub/powerpc/libgcc.h: Use weak attribute for all
16844 exports.
16845 * include/grub/sparc64/libgcc.h: Likewise. Don't use
16846 preprocessor conditionals.
16847
fe052e37 16848 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
16849 build system doesn't need to be aware of the tar.c internals.
16850
afd22553 168512009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 16852
afd22553 16853 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 16854
6b787c4f 168552009-06-09 Robert Millan <rmh.grub@aybabtu.com>
16856
16857 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
16858 disk limit to 26 for IDE, Virtio, Xen and SCSI.
16859
168602009-06-09 Felix Zielcke <fzielcke@z-51.de>
16861
16862 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 16863 aren't available if ata.mod gets used.
6b787c4f 16864
473d1e45 168652009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 16866
473d1e45 16867 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 16868 initialising controller.
473d1e45 16869 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 16870
255a27d4 168712009-06-08 Felix Zielcke <fzielcke@z-51.de>
16872
16873 * util/i386/pc/grub-install.in: Add a parameter --disk-module
16874 to choose between ata and biosdisk module on i386-pc.
16875
473d1e45 168762009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 16877
d55842d8 16878 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
16879 Subclass and Programming Interface fields in terms of the 3 byte
16880 Class Code register.
16881 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
16882
fa5db0b1 16883 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
16884 interface is OHCI. Add grub_dprintf for symmetry with
16885 bus/usb/uhci.c.
16886 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
16887 interface is UHCI. Add interf variable for programming
16888 interface. Print interface with class/subclass.
16889
c0947beb 16890 * bus/usb/ohci.c: Set interf with correct field.
16891
69da8877 16892 * bus/usb/uhci.c: Remove unneeded doubled lines.
16893 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
16894 Remove whitespace inside comment.
16895
9e172e30 168962009-06-08 Robert Millan <rmh.grub@aybabtu.com>
16897
16898 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
16899 as fallback an equivalent option without depth.
16900
de65ee2b 169012009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
16902
16903 Not fail if unable to retrieve C/H/S on LBA disks
16904
473d1e45 16905 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 16906 if unable to retrieve C/H/S on LBA disks
16907
b57ea2c9 169082009-06-08 Pavel Roskin <proski@gnu.org>
16909
16910 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
16911 about aliasing.
16912
af361263 169132009-06-08 Felix Zielcke <fzielcke@z-51.de>
16914
16915 * Makefile.in (uninstall): Remove all $lib_DATA files.
16916
4c9ec6b3 169172009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
16918
16919 Bugfix: install on partitionless device
16920
16921 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
16922 is a whole disk
16923
e76fc924 169242009-06-08 Felix Zielcke <fzielcke@z-51.de>
16925
16926 * Makefile.in (uninstall): Remove all $include_DATA files.
16927
ba5a0d05 169282009-06-08 Felix Zielcke <fzielcke@z-51.de>
16929
16930 * commands/true.c: New file. Implement the true and false commands.
16931 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
16932 (true_mod_SOURCES): New variable.
16933 (true_mod_CFLAGS): Likewise.
16934 (true_mod_LDFLAGS): Likewise.
16935
c8048e32 169362009-06-05 Colin D Bennett <colin@gibibit.com>
16937
16938 Optimized font character lookup using binary search instead of linear
16939 search. Fonts now are required to have the character index ordered by
16940 code point.
16941
16942 * font/font.c (load_font_index): Verify that fonts have ordered
16943 character indices.
16944 (find_glyph): Use binary search instead of linear search to find a
16945 character in a font.
16946
408305be 169472009-06-05 Michael Scherer <misc@mandriva.org>
16948
16949 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
16950 uses case sensitive btree.
16951 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
16952 only for case insensitive filesystems.
16953
8ee1e0d9 169542009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
16955
16956 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
16957 * conf/common.rmk (search_mod_CFLAGS): likewise
16958
a9966eb1 169592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16960
473d1e45 16961 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 16962 compensate a compiler bug
16963
9e7100fb 169642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16965
473d1e45 16966 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 16967 instead of '\b'
473d1e45 16968
ede21d71 169692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16970
16971 Definitions for creating asm symbols with Apple's CC
16972
16973 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
16974 [APPLE_CC] (VARIABLE): likewise
16975
9dbf7653 169762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16977
16978 Disable lnxboot.img when compiled
16979 with Apple's CC
16980
16981 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
16982 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
16983 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
16984 [! APPLE_CC] (CODE_LENG): skip
16985 [! APPLE_CC] (setup_sects): likewise
16986 [! APPLE_CC]: skip filling
473d1e45 16987
e93cdc3d 169882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16989
16990 Address in trampolines based on 32-bit registers when compiled
16991 with Apple's CC
16992
473d1e45 16993 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 16994 for addresses
16995 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
16996
6c688477 169972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16998
16999 Avoid aliases when compiling with Apple's CC for PCBIOS machine
17000
17001 * kern/misc.c [APPLE_CC] (memcpy): new function
17002 [APPLE_CC] (memmove): likewise
17003 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 17004 (memcpy): define alias conditionally on !APPLE_CC
6c688477 17005 (memset): likewise
17006 (abort): likewise
17007 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
17008 APPLE_CC are defined
17009 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
17010 (grub_assert_fail): make prototype conditional
17011
e37ffc5c 170122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17013
17014 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
17015
473d1e45 17016 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
17017 grub-macho2img
e37ffc5c 17018 (CLEANFILES): add grub-macho2img
17019 (grub_macho2img_SOURCES): new variable
17020 * kern/i386/pc/startup.S (bss_start): new variable
17021 (bss_end): likewise
17022 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
17023 * util/grub-macho2img.c: new file
17024
cf00df31 170252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17026
17027 Use objconv when compiling with Apple's CC
17028
17029 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
17030 (efiemu64.o): likewise
17031 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
17032 when compiling with Apple's CC
17033 (efiemu64_s.o): likewise
17034 * configure.ac: check for objconv when compiling with Apple's CC
17035 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 17036
d119a20c 170372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17038
17039 Define segment as well as section when compiling with
17040 Apple's CC
17041
17042 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
17043 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
17044 (efiemu_convert_pointer): likewise
17045 (efiemu_set_virtual_address_map): likewise
17046 (efiemu_convert_pointer): likewise
17047 (efiemu_getcrc32): likewise
17048 (init_crc32_table): likewise
17049 (reflect): likewise
17050 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
17051 (GRUB_MOD_DEP): likewise
473d1e45 17052
c8600122 170532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17054
17055 Allow a compilation without -mcmodel=large
17056
17057 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
17058 when compiled without -mcmodel=large
473d1e45 17059 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 17060 without -mcmodel=large
473d1e45 17061 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 17062 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 17063
e8df1d4e 170642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17065
17066 Remove nested functions in efiemu core
17067
17068 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 17069
cc6c3ac1 170702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17071
17072 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
17073
17074 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
17075 temporary storage
473d1e45 17076 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
17077 using Apple's CC
cc6c3ac1 17078 (grub_cpu_is_tsc_supported): likewise
17079 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 17080
3e325901 170812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 Absolute addressing through constant with Apple's cc
17084
17085 * kern/i386/pc/startup.S: Define necessary constants
17086 and address through it when using ABS with Apple's CC
17087 * boot/i386/pc/diskboot.S: likewise
17088 * boot/i386/pc/boot.S: likewise
17089 * boot/i386/pc/lnxboot.S: likewise
17090 * boot/i386/pc/cdboot.S: likewise
17091 * mmap/i386/pc/mmap_helper.S: likewise
17092 * commands/i386/pc/drivemap_int13h.S: likewise
17093
2b167a72 170942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17095
17096 Check if compiler is apple cc
17097
17098 * Makefile.in (ASFLAGS): new variable
17099 (TARGET_ASFLAGS): likewise
17100 (TARGET_MODULE_FORMAT): likewise
17101 (TARGET_APPLE_CC): likewise
17102 (OBJCONV): likewise
17103 (TARGET_IMG_CFLAGS): likewise
17104 (TARGET_CPPFLAGS): add includedir
17105 * configure.ac: call grub_apple_cc and grub_apple_target_cc
17106 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
17107 Check for linker script only if compiler isn't Apple's CC
17108 (TARGET_MODULE_FORMAT): set
17109 (TARGET_APPLE_CC): likewise
17110 (TARGET_ASFLAGS): likewise
17111 (ASFLAGS): likewise
17112 Check for objcopy only if compiler isn't Apple's CC
17113 Check for BSS symbol only if compiler isn't Apple's CC
17114 * genmk.rb: adapt nm options if we use Apple's utils
17115 * aclocal.m4 (grub_apple_cc): new test
17116 (grub_apple_target_cc): likewise
473d1e45 17117
fb14123e 171182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17119
17120 Simplify sed expressions and improve awk
17121
17122 * Makefile.in (install-local): simplify sed expression
17123 * gencmdlist.sh: likewise
17124 * genmoddep.awk: avoid adding module as a dependency of itself
17125
5b889789 171262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17127
17128 Add missing start symbols
17129
17130 * boot/i386/pc/boot.S: add start
fb14123e 17131 * boot/i386/pc/pxeboot.S: likewise
473d1e45 17132
fd2bf2e3 171332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17134
17135 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 17136
17137 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 17138 (relocate_addresses): consider both r_addend and value at offset
17139 (make_mods_section): zerofill modinfo and header
17140 (convert_elf): write prefix here
473d1e45 17141
5389763d 171422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 Use .asciz instead of .string
17145
17146 * i386/pc/diskboot.S: use .asciz instead of .string
17147 * i386/pc/boot.S: likewise
17148 * include/grub/dl.h (GRUB_MOD_DEP): likewise
17149 (GRUB_MOD_NAME): likewise
473d1e45 17150
3eb5ed4e 171512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 gfxpayload support
17154
17155 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
17156 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
17157 (grub_video_setup): remove
17158 (grub_video_set_mode): new prototype
17159 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
17160 (vid_mode): remove
17161 (linux_vesafb_res): compile only on PCBIOS
17162 (grub_linux_boot): support gfxpayload
17163 * loader/i386/pc/xnu.c (video_hook): new function
17164 (grub_xnu_set_video): support gfxpayload
17165 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
17166 (DEFAULT_VIDEO_HEIGHT): likewise
17167 (DEFAULT_VIDEO_FLAGS): likewise
17168 (DEFAULT_VIDEO_MODE): new definition
17169 (video_hook): new function
17170 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 17171 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 17172 loading xnu
17173 * video/video.c (grub_video_setup): removed
473d1e45 17174 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 17175 grub_video_setup
17176
4b0e1143 171772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17178
17179 Avoid calling biosdisk in drivemap
17180
17181 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
17182 (revparse_biosdisk): likewise
17183 (list_mappings): derive name from id directly
17184 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 17185
fda6cb98 171862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17187
17188 Script fixes
17189
17190 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
17191 (grub_lexer_param): add tokenonhold
17192 (grub_script_create_cmdline): remove cmdline. All callers updated
17193 (grub_script_function_create): make functionname
17194 grub_script_arg. All callers updated
17195 (grub_script_execute_argument_to_string): new prototype
17196 * kern/parser.c (state_transitions): reorder
17197 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 17198 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 17199 make global
17200 (grub_script_execute_cmdline): use new format
17201 * script/sh/function.c (grub_script_function_create): make functionname
17202 grub_script_arg. All callers updated
473d1e45 17203 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 17204 (grub_script_yylex): remove
17205 (grub_script_yylex2): renamed to ...
17206 (grub_script_yylex): ...renamed
17207 parse the expressions like a${b}c
17208 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
17209 (GRUB_PARSER_TOKEN_VAR): remove
17210 (GRUB_PARSER_TOKEN_NAME): likewise
17211 ("if"): declare as typeless
17212 ("while"): likewise
17213 ("function"): likewise
17214 ("else"): likewise
17215 ("then"): likewise
17216 ("fi"): likewise
17217 (text): remove
17218 (argument): likewise
17219 (script): accept empty scripts and make exit on error
17220 (arguments): use GRUB_PARSER_TOKEN_ARG
17221 (function): likewise
17222 (command): move error handling to script
17223 (menuentry): move grub_script_lexer_ref before
473d1e45 17224 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 17225 argument. All callers updated
17226
f4448a07 172272009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17228
17229 Prevent GRUB from probing floppies during boot.
17230
17231 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
17232 * commands/search.c (options): Add --no-floppy.
17233 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
17234 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
17235 --no-floppy when searching for UUIDs.
17236
2bf5885a 172372009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17238
17239 Simplify the code duplication in commands/search.c.
17240
17241 * commands/search.c (search_label, search_fs_uuid): Merge into ...
17242 (search_fs): ... this. Update all users.
17243
f6fd460a 172442009-06-03 Felix Zielcke <fzielcke@z-51.de>
17245
17246 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
17247
cbb3c83e 172482009-05-28 Pavel Roskin <proski@gnu.org>
17249
57788cfd 17250 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
17251 Remove the original symlink explicitly.
17252
cbb3c83e 17253 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
17254 just one slash. That's how grub_fshelp_find_file() does it.
17255
cd0d5e30 172562009-05-26 Pavel Roskin <proski@gnu.org>
17257
f0f8bbe2 17258 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
17259 to `str'.
17260
cd0d5e30 17261 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
17262 possibly unused.
17263
8c2cab51 172642009-05-25 Christian Franke <franke@computer.org>
17265
17266 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
17267 register.
17268 (grub_atapi_identify): Add wait after drive select.
17269 (grub_ata_identify): Do more strict status register check before
17270 calling grub_atapi_identify (). Suppress error message if status
17271 register is 0x00 after command failure. Add status register
17272 check after PIO read to avoid bogus identify due to stuck DRQ.
17273 Thanks to Pavel Roskin for testing.
17274 (grub_device_initialize): Remove unsafe status register check.
17275 Thanks to 'phcoder' for problem report and patch.
17276 Prevent sign extension in debug message.
17277
230c0ad6 172782009-05-23 Colin D Bennett <colin@gibibit.com>
17279
17280 Cleaned up `include/grub/normal.h'. Grouped prototypes by
17281 definition file, and functions defined in `normal/menu.c' have had
17282 their prototypes moved to `include/grub/menu.h' for consistency.
17283
17284 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
17285 from normal.h.
17286 (grub_menu_get_entry): Likewise.
17287 (grub_menu_get_timeout): Likewise.
17288 (grub_menu_set_timeout): Likewise.
17289 (grub_menu_execute_entry): Likewise.
17290 (grub_menu_execute_with_fallback): Likewise.
17291 (grub_menu_entry_run): Likewise.
17292
17293 * include/grub/normal.h: Re-ordered and grouped function
17294 prototypes by file that the function is defined in.
17295 (grub_menu_execute_callback): Removed; moved to menu.h.
17296 (grub_menu_get_entry): Likewise.
17297 (grub_menu_get_timeout): Likewise.
17298 (grub_menu_set_timeout): Likewise.
17299 (grub_menu_execute_entry): Likewise.
17300 (grub_menu_execute_with_fallback): Likewise.
17301 (grub_menu_entry_run): Likewise.
17302 (grub_menu_addentry): Renamed from this ...
17303 (grub_normal_add_menu_entry): ... to this.
17304
17305 * normal/main.c (grub_menu_addentry): Renamed from this ...
17306 (grub_normal_add_menu_entry): ... to this.
17307
17308 * script/sh/execute.c (grub_script_execute_menuentry): Update
17309 reference to renamed grub_menu_addentry function.
17310
861f03a5 173112009-05-23 Felix Zielcke <fzielcke@z-51.de>
17312
17313 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
17314
96b1619a 173152009-05-22 Pavel Roskin <proski@gnu.org>
17316
bf6a5fb2 17317 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
17318 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
17319 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
17320 compiling for the i386 targets, but not for the utilities.
17321
96b1619a 17322 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
17323 to grub_uint8_t.
17324 (grub_root_drive): Likewise.
17325 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
17326 remove alignment.
17327 (grub_root_drive): Change size to byte.
17328 (grub_start_addr): Remove.
17329 (grub_end_addr): Likewise.
17330 (grub_apm_bios_info): Likewise.
17331
b729776b 173322009-05-21 Felix Zielcke <fzielcke@z-51.de>
17333
17334 * normal/i386: Remove.
17335 * normal/powerpc: Likewise.
17336 * normal/sparc64: Likewise.
17337 * normal/x86_64: Likewise.
17338
0a15ce80 173392009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17340
17341 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 17342 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 17343 * loader/i386/xnu_helper.S: Likewise
d6da58e6 17344
33db9015 173452009-05-18 Colin D Bennett <colin@gibibit.com>
17346
d6da58e6 17347 Display error messages when parsing a Lua statement fails.
17348 Previously, executing a syntactically invalid statement like
17349 ")foo" or "bar;" would silently fail.
33db9015 17350
17351 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 17352 (grub_lua_parse_line): Improved reporting of Lua parser and
17353 execution errors.
33db9015 17354
46422c89 173552009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17356
17357 Remove -Werror which causes build to fail on some systems
17358
17359 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
17360 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
17361 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 17362
22f53a96 173632009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17364
17365 trampoline for linux on 64-bit platform
17366
18f547ad 17367 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
17368 loader/i386/efi/linux_trampoline.S
17369 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 17370 declaration
d6da58e6 17371 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
17372 here
22f53a96 17373 * loader/i386/linux_trampoline.S: moved here
d6da58e6 17374 * loader/i386/efi/linux.c (allocate_pages): reserve space for
17375 trampoline
22f53a96 17376 (jumpvector): removed
17377 (grub_linux_trampoline_start): new declaration
17378 (grub_linux_trampoline_end): likewise
17379 (grub_linux_boot): use trampoline when on 64-bit platform
17380 * loader/i386/linux.c: likewise
17381
cb5a0f40 173822009-05-16 Pavel Roskin <proski@gnu.org>
17383
17384 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
17385 const to avoid a warning.
17386 (grub_lua_setenv): Likewise.
17387 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
17388 lmsg to fix a warning.
17389
334f2c28 173902009-05-16 Felix Zielcke <fzielcke@z-51.de>
17391
17392 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 17393 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17394 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
17395 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17396 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17397 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17398 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17399 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 17400
59e5d3ec 174012009-05-16 Felix Zielcke <fzielcke@z-51.de>
17402
17403 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
17404
9d87a1ba 174052009-05-16 Bean <bean123ch@gmail.com>
17406
17407 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
17408 (lua_mod_SOURCES): New variable.
17409 (lua_mod_CFLAGS): Likewise.
17410 (lua_mod_LDFLAGS): Likewise.
17411
17412 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
17413 (setjmp_mod_SOURCES): New variable.
17414 (setjmp_mod_CFLAGS): Likewise.
17415 (setjmp_LDFLAGS): Likewise.
17416
17417 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
17418 (setjmp_mod_SOURCES): New variable.
17419 (setjmp_mod_CFLAGS): Likewise.
17420 (setjmp_LDFLAGS): Likewise.
17421
17422 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17423 (setjmp_mod_SOURCES): New variable.
17424 (setjmp_mod_CFLAGS): Likewise.
17425 (setjmp_LDFLAGS): Likewise.
17426
17427 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17428 (setjmp_mod_SOURCES): New variable.
17429 (setjmp_mod_CFLAGS): Likewise.
17430 (setjmp_LDFLAGS): Likewise.
17431
17432 * normal/i386/setjmp.S: Moved from here ...
17433 * lib/i386/setjmp.S: ... Moved here
17434 * normal/x86_64/setjmp.S: Moved from here ...
17435 * lib/x86_64/setjmp.S: ... Moved here
17436 * normal/powerpc/setjmp.S: Moved from here ...
17437 * lib/powerpc/setjmp.S: ... Moved here
17438 * normal/sparc64/setjmp.S: Moved from here ...
17439 * lib/sparc64/setjmp.S: ... Moved here
17440
17441 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
17442 returns_twice in mingw.
17443
17444 * script/lua/grub_lib.c: New file.
17445 * script/lua/grub_lib.h: Likewise.
17446 * script/lua/grub_lua.h: Likewise.
17447 * script/lua/grub_main.c: Likewise.
17448 * script/lua/lapi.c: Likewise.
17449 * script/lua/lapi.h: Likewise.
17450 * script/lua/lauxlib.c: Likewise.
17451 * script/lua/lauxlib.h: Likewise.
17452 * script/lua/lbaselib.c: Likewise.
17453 * script/lua/lcode.c: Likewise.
17454 * script/lua/lcode.h: Likewise.
17455 * script/lua/ldblib.c: Likewise.
17456 * script/lua/ldebug.c: Likewise.
17457 * script/lua/ldebug.h: Likewise.
17458 * script/lua/ldo.c: Likewise.
17459 * script/lua/ldo.h: Likewise.
17460 * script/lua/ldump.c: Likewise.
17461 * script/lua/lfunc.c: Likewise.
17462 * script/lua/lfunc.h: Likewise.
17463 * script/lua/lgc.c: Likewise.
17464 * script/lua/lgc.h: Likewise.
17465 * script/lua/linit.c: Likewise.
17466 * script/lua/liolib.c: Likewise.
17467 * script/lua/llex.c: Likewise.
17468 * script/lua/llex.h: Likewise.
17469 * script/lua/llimits.h: Likewise.
17470 * script/lua/lmathlib.c: Likewise.
17471 * script/lua/lmem.c: Likewise.
17472 * script/lua/lmem.h: Likewise.
17473 * script/lua/loadlib.c: Likewise.
17474 * script/lua/lobject.c: Likewise.
17475 * script/lua/lobject.h: Likewise.
17476 * script/lua/lopcodes.c: Likewise.
17477 * script/lua/lopcodes.h: Likewise.
17478 * script/lua/loslib.c: Likewise.
17479 * script/lua/lparser.c: Likewise.
17480 * script/lua/lparser.h: Likewise.
17481 * script/lua/lstate.c: Likewise.
17482 * script/lua/lstate.h: Likewise.
17483 * script/lua/lstring.c: Likewise.
17484 * script/lua/lstring.h: Likewise.
17485 * script/lua/lstrlib.c: Likewise.
17486 * script/lua/ltable.c: Likewise.
17487 * script/lua/ltable.h: Likewise.
17488 * script/lua/ltablib.c: Likewise.
17489 * script/lua/ltm.c: Likewise.
17490 * script/lua/ltm.h: Likewise.
17491 * script/lua/lua.h: Likewise.
17492 * script/lua/luaconf.h: Likewise.
17493 * script/lua/lualib.h: Likewise.
17494 * script/lua/lundump.c: Likewise.
17495 * script/lua/lundump.h: Likewise.
17496 * script/lua/lvm.c: Likewise.
17497 * script/lua/lvm.h: Likewise.
17498 * script/lua/lzio.c: Likewise.
17499 * script/lua/lzio.h: Likewise.
17500
5e898c9d 175012009-05-16 Bean <bean123ch@gmail.com>
17502
17503 * include/grub/kernel.h (grub_module_header_types): Add type
17504 OBJ_TYPE_CONFIG.
17505
17506 * kern/main.c (grub_load_config): New function.
17507 (grub_main): Call grub_load_config to read boot config.
17508
17509 * grub-mkimage (generate_image): New parameter config_path.
17510 (options): New option --config.
17511 (main): Parse --config option, and pass it to generate_image.
17512
cf353a47 175132009-05-14 Christian Franke <franke@computer.org>
17514
17515 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
17516 This fixes build on Cygwin.
17517
3834887f 175182009-05-14 Pavel Roskin <proski@gnu.org>
17519
17520 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
17521 jump. This saves two bytes, so the typical case of 2 swapped
17522 drives would fit 32 bytes.
17523
8090fc01 175242009-05-13 Pavel Roskin <proski@gnu.org>
17525
ac963883 17526 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
17527 grub_uint32_t to avoid a warning.
17528
8090fc01 17529 * loader/i386/linux.c (allocate_pages): When assigning
17530 real_mode_mem, cast through grub_size_t to fix a warning. The
17531 code already makes sure that the value would fit a pointer.
17532 (grub_linux_setup_video): Cast render_target->data to
17533 grub_size_t to fix a warning.
17534
18f547ad 175352009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 17536
17537 * commands/i386/pc/drivemap.c: New file - implement drivemap
17538 command.
17539 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
17540 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
17541
6f6a8b28 175422009-05-13 Pavel Roskin <proski@gnu.org>
17543
17544 * util/i386/pc/grub-setup.c (setup): Remove unused variable
17545 embedding_area_exists.
17546
15fbf4c4 175472009-05-13 Robert Millan <rmh.grub@aybabtu.com>
17548
17549 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
17550 it easier to understand / work with.
59978c8a 17551 Improve warning messages for cases where there's no embedding area,
17552 or when it is too small (or core.img too large).
15fbf4c4 17553
238e871f 175542009-05-13 Pavel Roskin <proski@gnu.org>
17555
0ab3a9a4 17556 * loader/i386/pc/multiboot2.c: Add necessary includes for
17557 grub_multiboot2_real_boot().
17558
a2c8c5f8 17559 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
17560 PX record is always little-endian. We only need the lower 2
17561 bytes of the mode.
17562
faec96af 17563 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
17564 facilitate code reuse.
17565 (grub_cpio_mount): Use "struct head", not a char buffer. This
17566 fixes a warning reported by gcc 4.4.
17567
238e871f 17568 * kernel/disk.c (grub_disk_read): Use void pointer for the
17569 buffer.
17570 (grub_disk_write): Use const void pointer for the buffer.
17571 Adjust all callers. Remove unnecessary casts.
17572
901d2f0c 175732009-05-10 Robert Millan <rmh.grub@aybabtu.com>
17574
17575 * util/i386/pc/grub-install.in: Update copyright year.
17576
18f547ad 175772009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 17578
17579 gptsync
17580
17581 * commands/gptsync.c: new file
17582 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
17583 (gptsync_mod_SOURCES): new variable
17584 (gptsync_mod_CFLAGS): likewise
17585 (gptsync_mod_LDFLAGS): likewise
18f547ad 17586 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 17587 new definition
17588 (GRUB_PC_PARTITION_TYPE_HFS): likewise
17589 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
17590 * conf/i386-ieee1275.rmk: likewise
17591 * conf/i386-pc.rmk: likewise
17592 * conf/powerpc-ieee1275.rmk: likewise
17593
b4ba690a 175942009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17595
17596 Fixed grub-emu
17597
17598 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
17599 (grub_dl_ref): likewise
17600
317e1a44 176012009-05-08 Robert Millan <rmh.grub@aybabtu.com>
17602
17603 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
17604 split in two functions (one for msdos and one for gpt).
17605
041b8094 176062009-05-08 Pavel Roskin <proski@gnu.org>
17607
752473c2 17608 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
17609 not modified.
17610
041b8094 17611 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
17612 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
17613 Initialize them with -1. Add sanity check for bad1. Eliminate
17614 nerr variable.
17615
172800ce 176162009-05-08 David S. Miller <davem@davemloft.net>
17617
17618 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
17619
29aa5e81 176202009-05-06 Robert Millan <rmh.grub@aybabtu.com>
17621
17622 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 17623 existence.
29aa5e81 17624
96613b62 176252009-05-05 Felix Zielcke <fzielcke@z-51.de>
17626
17627 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 17628 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 17629
eef73c8a 176302009-05-05 David S. Miller <davem@davemloft.net>
17631
17632 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
17633
119494b5 176342009-05-05 Pavel Roskin <proski@gnu.org>
17635
17636 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
17637 of grub_dl_ref() and grub_dl_unref().
17638 * commands/parttool.c: Remove preprocessor conditionals around
17639 grub_dl_ref() and grub_dl_unref().
17640 * fs/affs.c: Likewise.
17641 * fs/afs.c: Likewise.
17642 * fs/cpio.c: Likewise.
17643 * fs/ext2.c: Likewise.
17644 * fs/fat.c: Likewise.
17645 * fs/hfs.c: Likewise.
17646 * fs/hfsplus.c: Likewise.
17647 * fs/iso9660.c: Likewise.
17648 * fs/jfs.c: Likewise.
17649 * fs/minix.c: Likewise.
17650 * fs/ntfs.c: Likewise.
17651 * fs/reiserfs.c: Likewise.
17652 * fs/sfs.c: Likewise.
17653 * fs/udf.c: Likewise.
17654 * fs/ufs.c: Likewise.
17655 * fs/xfs.c: Likewise.
17656 * include/grub/dl.h: Likewise.
17657 * loader/xnu.c: Likewise.
17658
de5fd76e 176592009-05-04 Pavel Roskin <proski@gnu.org>
17660
17661 * commands/acpi.c: Remove unused variable my_mod.
17662 * partmap/amiga.c: Likewise.
17663 * partmap/apple.c: Likewise.
17664 * partmap/gpt.c: Likewise.
17665 * partmap/pc.c: Likewise.
17666 * partmap/sun.c: Likewise.
17667 * term/gfxterm.c: Likewise.
17668 * term/i386/pc/vesafb.c: Likewise.
17669 * term/i386/pc/vga.c: Likewise.
17670
983598ad 176712009-05-04 David S. Miller <davem@davemloft.net>
17672
17673 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
17674 pointer args to grub_ieee1275_get_property().
17675
8aadec43 17676 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
17677
9554b15e 17678 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
17679 devices, and do not traverse down under controller nodes.
17680
67e23c90 17681 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
17682 (grub_ofdisk_open): Use it to un-escape "," characters.
17683 * kern/disk.c (find_part_sep): New.
17684 (grub_disk_open): Use it to find the first non-escaped ','
17685 character in the disk name.
17686 * util/ieee1275/devicemap.c (escape_of_path): New.
17687 (grub_util_emit_devicemap_entry): Use it.
17688 * util/sparc64/ieee1275/grub-install.in: Update script to
17689 strip partition specifiers properly by not triggering on
17690 '\' escaped ',' characters.
17691
74bfdd2f 176922009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17693
17694 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
17695 to 0x300.
17696 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
17697 resolutions.
17698 (linux_vesafb_modes): Add a lot of additional modes to the list (based
17699 on documentation from Wikipedia).
17700
4241d2b1 177012009-05-04 Pavel Roskin <proski@gnu.org>
17702
17703 * disk/ata.c: Spelling fixes.
17704 * disk/raid.c: Likewise.
17705 * disk/usbms.c: Likewise.
17706 * disk/dmraid_nvidia.c: Likewise.
17707 * kern/ieee1275/openfw.c: Likewise.
17708 * kern/ieee1275/init.c: Likewise.
17709 * kern/ieee1275/cmain.c: Likewise.
17710 * boot/i386/pc/cdboot.S: Likewise.
17711 * video/readers/png.c: Likewise.
17712 * video/i386/pc/vbe.c: Likewise.
17713 * fs/udf.c: Likewise.
17714 * fs/hfs.c: Likewise.
17715 * fs/reiserfs.c: Likewise.
17716 * efiemu/runtime/efiemu.c: Likewise.
17717 * efiemu/main.c: Likewise.
17718 * efiemu/mm.c: Likewise.
17719 * include/grub/elf.h: Likewise.
17720 * include/grub/xnu.h: Likewise.
17721 * include/grub/usbdesc.h: Likewise.
17722 * include/grub/usb.h: Likewise.
17723 * include/grub/script_sh.h: Likewise.
17724 * include/grub/lib/LzmaEnc.h: Likewise.
17725 * include/grub/efiemu/efiemu.h: Likewise.
17726 * include/grub/command.h: Likewise.
17727 * normal/menu.c: Likewise.
17728 * normal/main.c: Likewise.
17729 * normal/datetime.c: Likewise.
17730 * bus/usb/uhci.c: Likewise.
17731 * mmap/i386/uppermem.c: Likewise.
17732 * mmap/mmap.c: Likewise.
17733 * commands/acpi.c: Likewise.
17734 * commands/test.c: Likewise.
17735 * partmap/apple.c: Likewise.
17736 * font/font.c: Likewise.
17737 * loader/sparc64/ieee1275/linux.c: Likewise.
17738 * loader/macho.c: Likewise.
17739 * loader/i386/bsd_trampoline.S: Likewise.
17740 * loader/i386/bsd.c: Likewise.
17741 * loader/xnu.c: Likewise.
17742 * term/i386/pc/vesafb.c: Likewise.
17743 * term/usb_keyboard.c: Likewise.
17744 * util/resolve.c: Likewise.
17745 * util/getroot.c: Likewise.
17746
0cfc0083 177472009-05-04 Felix Zielcke <fzielcke@z-51.de>
17748
17749 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
17750
7c1d00cd 177512009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17752
17753 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
17754 build error.
17755
b01f0548 177562009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17757
17758 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
17759 parameter only available on BIOS.
17760
ecc3eb22 177612009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17762
17763 Removed wrong semicolon in declaration
17764
17765 * grub/misc.h (grub_dprintf): remove semicolon
17766
112972a9 177672009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17768
17769 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
17770 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
17771 is done by grub_cmd_linux() now).
17772 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
17773 restore video to text mode.
17774 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
17775 indicates lack of "vga=" parameter. "vga=0" is mapped to
17776 `GRUB_LINUX_VID_MODE_NORMAL'.
17777
afd5c115 177782009-05-04 Felix Zielcke <fzielcke@z-51.de>
17779
17780 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
17781 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
17782 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 17783 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 17784 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
17785 `grub_script.tab.c'.
17786
17787 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17788 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17790 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17791 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17792
faa517ce 17793 * Makefile.in: Remove duplicated 2008 in Copyright line.
17794
ae0c0bdc 177952009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17796
473d1e45 17797 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 17798 unconditionally.
17799 * include/grub/util/misc.h (grub_util_warn): New declaration.
17800
17801 * util/i386/pc/grub-install.in: Understand --force and pass it down
17802 to grub-setup.
17803
17804 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
17805 down to setup().
17806 (setup): Improve error messages and add warnings when requested to
17807 install in odd layouts. Refuse to install using blocklists unless
17808 --force was set.
17809
18f547ad 178102009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 17811
17812 * disk/raid.c (grub_raid_scan_device): Improve debug message.
17813
6d260daa 178142009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17815
17816 Updated copyright year
17817
17818 * fs/hfsplus.c: updated copyright year
18f547ad 17819
69f853f8 178202009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17821
17822 HFS+ UUID
17823
18f547ad 17824 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 17825 in the space previously used by unused3
17826 (grub_hfsplus_uuid): new function
17827 (grub_hfsplus_fs): added uuid field
17828
4c402e73 178292009-05-03 Pavel Roskin <proski@gnu.org>
17830
17831 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
17832 suppress warnings. It's no longer needed.
17833 * disk/host.c: Likewise.
17834 * disk/ata_pthru.c: Likewise.
17835 * disk/loopback.c: Likewise.
17836 * hook/datehook.c: Likewise.
17837 * parttool/pcpart.c: Likewise.
17838 * fs/i386/pc/pxe.c: Likewise.
17839 * fs/ntfscomp.c: Likewise.
17840 * efiemu/main.c: Likewise.
17841 * mmap/mmap.c: Likewise.
17842 * commands/crc.c: Likewise.
17843 * commands/hexdump.c: Likewise.
17844 * commands/hdparm.c: Likewise.
17845 * commands/acpi.c: Likewise.
17846 * commands/echo.c: Likewise.
17847 * commands/minicmd.c: Likewise.
17848 * commands/blocklist.c: Likewise.
17849 * commands/memrw.c: Likewise.
17850 * commands/loadenv.c: Likewise.
17851 * commands/usbtest.c: Likewise.
17852 * commands/lsmmap.c: Likewise.
17853 * commands/boot.c: Likewise.
17854 * commands/parttool.c: Likewise.
17855 * commands/configfile.c: Likewise.
17856 * commands/search.c: Likewise.
17857 * commands/ieee1275/suspend.c: Likewise.
17858 * commands/cat.c: Likewise.
17859 * commands/i386/pc/pxecmd.c: Likewise.
17860 * commands/i386/pc/play.c: Likewise.
17861 * commands/i386/pc/halt.c: Likewise.
17862 * commands/i386/pc/vbeinfo.c: Likewise.
17863 * commands/i386/pc/vbetest.c: Likewise.
17864 * commands/lspci.c: Likewise.
17865 * commands/date.c: Likewise.
17866 * commands/handler.c: Likewise.
17867 * commands/ls.c: Likewise.
17868 * commands/test.c: Likewise.
17869 * commands/cmp.c: Likewise.
17870 * commands/efi/loadbios.c: Likewise.
17871 * commands/efi/fixvideo.c: Likewise.
17872 * commands/halt.c: Likewise.
17873 * commands/help.c: Likewise.
17874 * commands/reboot.c: Likewise.
17875 * hello/hello.c: Likewise.
17876 * script/sh/main.c: Likewise.
17877 * loader/xnu.c: Likewise.
17878 * term/terminfo.c: Likewise.
17879 * term/i386/pc/serial.c: Likewise.
17880 * term/usb_keyboard.c: Likewise.
17881
515b5079 178822009-05-03 David S. Miller <davem@davemloft.net>
17883
17884 * normal/menu.c: Include grub/parser.h
17885
dfc31a22 178862009-05-03 Pavel Roskin <proski@gnu.org>
17887
2fee74f1 17888 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
17889 not char*.
17890 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
17891 Suggested by Javier Martín <lordhabbit@gmail.com>
17892
dfc31a22 17893 * util/i386/pc/grub-mkrescue.in: Allow for the case when
17894 efiemu??.o doesn't exist.
17895 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
17896 copying.
17897
18f547ad 178982009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 17899
17900 FreeBSD 64-bit support
17901
18f547ad 17902 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 17903 and loader/i386/bsd_trampoline.S
17904 (bsd_mod_ASFLAGS): new variable
17905 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
17906 (FREEBSD_MODTYPE_KERNEL64): likewise
17907 (grub_bsd64_trampoline_start): likewise
17908 (grub_bsd64_trampoline_end): likewise
17909 (grub_bsd64_trampoline_selfjump): likewise
17910 (grub_bsd64_trampoline_gdt): likewise
17911 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
17912 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
17913 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
17914 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 17915 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 17916 of "attrib" member
17917 * loader/i386/bsd_pagetable.c: new file
17918 * loader/i386/bsd_trampoline.S: likewise
17919 * loader/i386/bsd.c (ALIGN_QWORD): new macro
17920 (ALIGN_VAR): likewise
17921 (entry_hi): new variable
17922 (kern_end_mdofs): likewise
17923 (is_64bit): likewise
17924 (grub_freebsd_add_meta): use ALIGN_VAR
17925 (grub_e820_mmap): new declaration
17926 (grub_freebsd_add_mmap): new function
17927 (grub_freebsd_add_meta_module): support 64 bit kernels
17928 (grub_freebsd_list_modules): use ALIGN_VAR
17929 (gdt_descriptor): new declaration
17930 (grub_freebsd_boot): support 64 bit kernels
17931 (grub_bsd_elf64_hook): new function
17932 (grub_bsd_load_elf): support elf64
17933
038c5720 179342009-05-03 Bean <bean123ch@gmail.com>
17935
17936 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
17937 after we get the result of if statement.
17938
fc45fb58 179392009-05-03 Bean <bean123ch@gmail.com>
17940
17941 * Makefile.in (enable_efiemu): New variable.
17942
17943 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
17944 set.
17945 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
17946 path.
17947 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
17948 path, add -mno-red-zone option.
17949 (efiemu64_s.o): Likewise.
17950 (efiemu64.o): Use macro $^ for source file.
17951
17952 * configure.ac (--enable-efiemu): New option.
17953
bbee0f2b 179542009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 xnu support
17957
17958 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
17959 (pkglib_MODULES): add xnu.mod
17960 (xnu_mod_SOURCES): new variable
17961 (xnu_mod_CFLAGS): likewise
17962 (xnu_mod_LDFLAGS): likewise
17963 (xnu_mod_ASFLAGS): likewise
17964 * conf/i386-pc.rmk: likewise
17965 * conf/x86_64-efi.rmk: likewise
7dd4a573 17966 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 17967 new declaration
17968 * include/grub/i386/macho.h: new file
17969 * include/grub/i386/xnu.h: likewise
17970 * include/grub/macho.h: likewise
17971 * include/grub/machoload.h: likewise
17972 * include/grub/x86_64/macho.h: likewise
17973 * include/grub/x86_64/xnu.h: likewise
17974 * include/grub/xnu.h: likewise
17975 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
17976 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
17977 * loader/i386/efi/xnu.c: new file
17978 * loader/i386/pc/xnu.c: likewise
17979 * loader/i386/xnu.c: likewise
17980 * loader/i386/xnu_helper.S: likewise
17981 * loader/macho.c: likewise
17982 * loader/xnu.c: likewise
17983 * loader/xnu_resume.c: likewise
17984 * util/grub-dumpdevtree: likewise
17985 * include/grub/i386/pit.h: include grub/err.h
17986 (grub_pit_wait): export
17987 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 17988
5caf964d 179892009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17990
17991 Efiemu
7dd4a573 17992
5caf964d 17993 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 17994 _linux_efi, linux_efi.
17995 new files in grub-emu
5caf964d 17996 new targets efiemu32.o and efiemu64.o
17997 * loader/linux_normal_efiemu.c: likewise
17998 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 17999 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 18000 files to copy
18001 * include/grub/autoefi.h: new file
7dd4a573 18002 * include/grub/i386/efiemu.h: likewise
5caf964d 18003 * include/grub/i386/pc/efiemu.h: likewise
18004 * include/grub/efi/api.h: add LL suffix when necessary
18005 new definitions relating to tables
18006 * include/grub/efiemu/efiemu.h: new file
18007 * include/grub/efiemu/runtime.h: likewise
18008 * efiemu/prepare.c: likewise
18009 * efiemu/loadcore_common.c: likewise
18010 * efiemu/loadcore64.c: likewise
18011 * efiemu/runtime/efiemu.sh: likewise
18012 * efiemu/runtime/efiemu.S: likewise
18013 * efiemu/runtime/efiemu.c: likewise
18014 * efiemu/runtime/config.h: likewise
18015 * efiemu/prepare32.c: likewise
18016 * efiemu/main.c: likewise
18017 * efiemu/modules/pnvram.c: likewise
18018 * efiemu/modules/i386: likewise
18019 * efiemu/modules/i386/pc: likewise
18020 * efiemu/modules/acpi.c: likewise
18021 * efiemu/i386/pc/cfgtables.c: likewise
18022 * efiemu/i386/loadcore64.c: likewise
18023 * efiemu/i386/loadcore32.c: likewise
18024 * efiemu/prepare64.c: likewise
18025 * efiemu/loadcore.c: likewise
18026 * efiemu/symbols.c: likewise
18027 * efiemu/mm.c: likewise
18028 * efiemu/loadcore32.c: likewise
7dd4a573 18029
180302009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 18031
18032 ACPI spoofing
18033
18034 * commands/acpi.c: new file
18035 * commands/i386/pc/acpi.c: likewise
18036 * commands/efi/acpi.c: likewise
18037 * include/grub/acpi.h: likewise
18038 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
18039 (acpi_mod_SOURCES): new variable
18040 (acpi_mod_CFLAGS): likewise
18041 (acpi_mod_LDFLAGS): likewise
18042 * conf/i386-efi.rmk: likewise
18043 * conf/x86_64-efi.rmk: likewise
18044
7dd4a573 180452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 18046
18047 Missing part from mmap patch
18048
18049 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
18050 (grub_mmap_unregister)
18051 (grub_mmap_free_and_unregister): use grub_mmap_register
18052
7dd4a573 180532009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 18054
18055 Mmap services
18056
18057 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
18058 * loader/i386/linux.c (find_mmap_size): likewise
18059 (allocate_pages): likewise
18060 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
18061 (grub_fill_multiboot_mmap): likewise
18062 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
18063 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
18064 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
18065 (OPENBSD_MMAP_RESERVED): likewise
18066 * include/grub/i386/pc/memory.h: include grub/memory.h
18067 (grub_lower_mem): removed
18068 (grub_upper_mem): likewise
18069 (GRUB_MACHINE_MEMORY_ACPI): new definition
18070 (GRUB_MACHINE_MEMORY_NVS): likewise
18071 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
18072 (GRUB_MACHINE_MEMORY_HOLE): likewise
18073 (grub_machine_mmap_register): likewise
18074 (grub_machine_mmap_unregister): likewise
18075 (grub_machine_get_upper): likewise
18076 (grub_machine_get_lower): likewise
18077 (grub_machine_get_post64): likewise
18078 * include/grub/i386/efi/memory.h: new file
18079 * include/grub/x86_64/efi/memory.h: likewise
18080 * include/grub/efi/memory.h: likewise
18081 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
18082 (mmap_mod_SOURCES): new variable
18083 (mmap_mod_LDFLAGS): likewise
18084 (mmap_mod_ASFLAGS): likewise
18085 * conf/i386-coreboot.rmk: likewise
18086 * conf/i386-ieee1275.rmk: likewise
18087 * conf/i386-efi.rmk: likewise
18088 * conf/x86_64-efi.rmk: likewise
18089 * include/grub/types.h (UINT_TO_PTR): new macro
18090 (PTR_TO_UINT32): likewise
18091 (PTR_TO_UINT64): likewise
18092 * include/grub/memory.h: new file
18093 * mmap/i386/pc/mmap.c: likewise
18094 * mmap/i386/pc/mmap_helper.S: likewise
18095 * mmap/i386/uppermem.c: likewise
18096 * mmap/mmap.c: likewise
18097 * mmap/efi/mmap.c: likewise
7dd4a573 18098 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 18099 grub_upper_mem
18100 * kern/i386/pc/init.c (grub_lower_mem): removed variable
18101 (grub_upper_mem): likewise
18102 (grub_machine_init): don't use grub_upper_mem,
18103 make grub_lower_mem local
18104 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
18105 grub_mmap_iterate and grub_mmap_get_upper
18106 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
18107
d558e6b5 181082009-05-02 Bean <bean123ch@gmail.com>
18109
18110 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
18111 script/sh/parser.y.
18112 (pkglib_MODULES): Add normal.mod and sh.mod.
18113 (normal_SOURCES): New variable.
18114 (normal_mod_CFLAGS): Likewise.
18115 (normal_mod_LDFLAGS): Likewise.
18116 (sh_mod_SOURCES): Likewise.
18117 (sh_mod_CFLAGS): Likewise.
18118 (sh_mod_LDFLAGS): Likewise.
18119
18120 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
18121 script/sh/lexer.c_DEPENDENCIES.
18122 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
18123 kern/rescue_reader.c and kern/rescue_parser.c.
18124 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
18125 (grub_emu_SOURCES): Change source files.
18126 (pkglib_MODULES): Remove normal.mod.
18127 (normal_SOURCES): Removed.
18128 (normal_mod_CFLAGS): Likewise.
18129 (normal_mod_LDFLAGS): Likewise.
18130 * conf/i386-coreboot.rmk: Likewise.
18131 * conf/i386-efi.rmk: Likewise.
18132 * conf/i386-ieee1276.rmk: Likewise.
18133 * conf/powerpc-ieee1275.rmk: Likewise.
18134 * conf/sparc64-ieee1275.rmk: Likewise.
18135 * conf/x86_64-efi.rmk: Likewise.
18136
18137 * include/grub/command.h (grub_command_execute): New inline function.
18138
18139 * include/grub/menu.h (grub_menu_entry): Removed commands field.
18140
18141 * include/grub/normal.h: Remove <grub/setjmp.h>.
18142 (grub_fs_module_list): Moved to normal/autofs.c.
18143 (grub_exit_env): Removed.
18144 (grub_command_execute): Likewise.
18145 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
18146 parameter script.
18147 (read_command_list): New function declaration.
18148 (read_fs_list): Likewise.
18149
18150 * include/parser.h: Include <grub/reader.h>.
18151 (grub_parser_split_cmdline): Change type of getline parameter.
18152 (grub_parser): New structure.
18153 (grub_parser_class): New variable.
18154 (grub_parser_execute): New function declaration.
18155 (grub_register_rescue_parser): Likewise.
18156 (grub_parser_register): New inline function.
18157 (grub_parser_unregister): Likewise.
18158 (grub_parser_get_current): Likewise.
18159 (grub_parser_set_current): Likewise.
18160
18161 * include/grub/reader.h: New file.
18162 * kern/reader.c: Likewise.
18163 * kern/rescue_parser.c: Likewise.
18164 * kern/rescue_reader.c: Likewise.
18165 * normal/autofs.c: Likewise.
18166 * normal/dyncmd.c: Likewise.
18167
18168 * include/grub/rescue.h: Removed.
18169 * normal/command.h: Likewise.
18170
18171 * include/grub/script.h: Moved to ...
18172 * include/grub/script_sh.h: ... Moved here.
18173 * normal/execute.c: Moved to ...
18174 * script/sh/execute.c: ... Moved here.
18175 * normal/function.c: Moved to ...
18176 * script/sh/function.c: ... Moved here.
18177 * normal/lexer.c: Moved to ...
18178 * script/sh/lexer.c: ... Moved here.
18179 * normal/parser.y: Moved to ...
18180 * script/sh/parser.y: ... Moved here.
18181 * normal/script.c: Moved to ...
18182 * script/sh/script.c: ... Moved here.
18183
18184 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
18185 <grub/reader.h>.
18186 (grub_exit_env): Removed.
18187 (fs_module_list): Moved to normal/autofs.c.
18188 (grub_file_getline): Don't handle comment here.
18189 (free_menu): Skip removed field entry->commands.
18190 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
18191 script parameter.
18192 (read_config_file): Removed nested parameter, change getline function.
18193 (grub_enter_normal_mode): Removed.
18194 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
18195 (read_command_list): Likewise.
18196 (autoload_fs_module): Moved to normal/autofs.c.
18197 (read_fs_list): Likewise.
18198 (reader_nested): New variable.
18199 (grub_normal_execute): Run parser.sh to switch to sh parser.
18200 (grub_cmd_rescue): Removed.
18201 (cmd_normal): Removed.
18202 (grub_cmd_normal): Unregister itself at the beginning. Don't register
18203 rescue command.
18204 (grub_cmdline_run): New function.
18205 (grub_normal_reader_init): Likewise.
18206 (grub_normal_read_line): Likewise.
18207 (grub_env_write_pager): Likewise.
18208 (cmdline): New variable.
18209 (grub_normal_reader): Likewise.
18210 (GRUB_MOD_INIT): Register normal reader and set as current, register
18211 pager hook, register normal command with grub_register_command_prio,
18212 so that it won't show up in command.lst.
18213 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
18214 grub_fs_autoload_hook.
18215
18216 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
18217 (grub_menu_execute_entry): Replace grub_script_execute with
18218 grub_parser_execute, change parameter to grub_command_execute.
18219
18220 * normal/menu_text.c: Remove <grub/script.h>.
18221
18222 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
18223 and <grub/parser.h>.
18224 (run): Change editor_getline to use new parser interface. Change
18225 parameter to grub_command_execute.
18226
18227 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
18228 <grub/reader.h> and <grub/parser.h>.
18229 (grub_load_normal_mode): Execute normal command.
18230 (grub_main): Call grub_register_core_commands,
18231 grub_register_rescue_parser and grub_register_rescue_reader, use
18232 grub_reader_loop to enter input loop.
18233
7dd4a573 18234 * kern/parser.c (grub_parser_split_cmdline): Change type of
18235 getline parameter.
d558e6b5 18236 (grub_parser_class): New variable.
18237 (grub_parser_execute): New function.
18238
18239 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
18240 * loader/multiboot2.c: Likewise.
18241 * loader/sparc64/ieee1275/linux.c: Likewise.
18242
18243 * util/grub-emu.c (read_command_list): New dummy function.
18244
18db813d 182452009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18246
18247 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
18248 count to 16 for CCISS and IDA.
18249
6c67de15 182502009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18251
18252 * normal/menu_text.c (grub_wait_after_message): Print a newline
18253 after waiting for user input.
18254
18255 * loader/i386/linux.c: Include `<grub/normal.h>'.
18256 (grub_cmd_linux): Improve the error message about `ask' mode, by
18257 waiting for user input so it's not missed (we can do this, since
18258 user requested interaction).
18259
d9dc87b0 182602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18261
18262 Added missing lst to grub-mkrescue
18263
18264 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
18265 and ${input_dir}/parttool.lst
18266
ac8a2baa 182672009-04-30 David S. Miller <davem@davemloft.net>
18268
ad22a610 18269 * util/hostdisk.c (device_is_wholedisk): New function.
18270 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
18271 zero only if device_is_wholedisk() returns true.
18272
6966215d 18273 * util/hostdisk.c (convert_system_partition_to_system_disk):
18274 Handle virtual disk devices named /dev/vdiskX as found on sparc
18275 and powerpc.
18276
ac8a2baa 18277 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
18278 lettered partition specifier is found, convert to numbered.
18279
979b4fb4 182802009-04-29 David S. Miller <davem@davemloft.net>
18281
e2bf39b2 18282 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
18283 * include/grub/sparc64/ieee1275/memory.h: Likewise.
18284
3c64e104 18285 * normal/command.c: Add missing newline at end of file.
18286
979b4fb4 18287 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
18288 warnings.
18289 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
18290 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
18291 grub_ofdisk_read): Likewise, and deal similarly with the fact that
18292 ihandles have a 32-bit type but need to be stored in a "void *".
18293
136d9f82 182942009-04-28 Pavel Roskin <proski@gnu.org>
18295
9459c306 18296 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
18297 not disk. Adjust all dependencies.
2e08a26a 18298 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 18299 grub_disk_close().
18300
136d9f82 18301 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
18302 parent's partition, don't copy it by reference, as it gets freed
18303 on close.
18304
7dd4a573 183052009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 18306
18307 Preboot hooks support
18308
18309 * commands/boot.c (struct grub_preboot_t): new declaration
18310 (preboots_head): new variable
18311 (preboots_tail): likewise
18312 (grub_loader_register_preboot_hook): new function
18313 (grub_loader_unregister_preboot_hook): likewise
18314 (grub_loader_set): launch preboot hooks
18315 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
18316 (grub_loader_register_preboot_hook): new declaration
18317 (grub_loader_unregister_preboot_hook): likewise
18318
5af922b5 183192009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18320
18321 Warning fix
18322
7dd4a573 18323 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 18324 calling grub_dprintf
18325
a5562c30 183262009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
18327
18328 Bug and warning fixes
18329
7dd4a573 18330 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 18331 declaration
18332 * commands/test.c (test_parse): fixed bug with file tests and corrected
18333 declaration of find_file
18334
4006f85c 183352009-04-26 Pavel Roskin <proski@gnu.org>
18336
18337 * Makefile.in: Don't install empty manual pages if help2man is
18338 missing. Use help2man option for output, not shell redirection.
18339
5c77c3de 183402009-04-26 David S. Miller <davem@davemloft.net>
18341
18342 * util/grub-mkdevicemap.c (make_device_map): Add missing
18343 NESTED_FUNC_ATTR to process_device().
18344
033b10a8 183452009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18346
18347 Test command
18348
18349 * commands/test.c: rewritten to use bash-like test
18350
e4343593 183512009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18352
18353 Parttool autoloading and improvements
18354
7dd4a573 18355 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 18356 (parttool.lst): new target
18357 * genmk.rb: generate parttool-*
18358 (CLEANFILES): add #{parttool}
18359 (PARTTOOLFILES): new variable
18360 * genparttoollist.sh: new file
7dd4a573 18361 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 18362 (grub_pcpart_type): likewise
18363 * commands/parttool.c (helpmsg): new variable
18364 (grub_cmd_parttool): output help if not enough arguments are supplied
18365 autoload modules
18366 (GRUB_MOD_INIT(parttool)): use helpmsg
18367
0d312500 183682009-04-24 David S. Miller <davem@davemloft.net>
18369
7dd4a573 18370 Avoiding opening same device multiple times in device iterator.
0d312500 18371
18372 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 18373 and use it to build a list of partitions in iterate_disk() and
0d312500 18374 iterate_partition().
18375
ac20caff 18376 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
18377 on disk->data.
18378
0dcf7495 18379 * disk/ieee1275/nand.c (grub_nand_iterate): Return
18380 grub_devalias_iterate() result instead of unconditional 0.
18381 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
18382 Also, capture hook return value, either directly or via
18383 grub_children_iterate(), and propagate to caller.
18384 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
18385 grub_children_iterate): Return value is now 'int' instead of
18386 'grub_err_t'.
18387 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
18388 like a proper iterator, stopping when hooks return non-zero.
18389 (grub_devalias_iterate): Likewise.
18390
c8c08833 183912009-04-23 David S. Miller <davem@davemloft.net>
18392
18393 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
18394
f01005a8 183952009-04-22 David S. Miller <davem@davemloft.net>
18396
18397 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
18398 is larger than address_cells, use that value for address_cells too.
18399
4e8269da 18400 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
18401 IEEE1275_MAX_PATH_LEN): Define.
18402 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
18403 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
18404 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
18405 'devtype'. Explicitly NULL terminate devalias expansion.
18406
a1447506 18407 * util/sparc64/ieee1275/misc.c: New file.
18408 * util/sparc64/ieee1275/grub-setup.c: New file.
18409 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
18410 * util/sparc64/ieee1275/grub-mkimage.c: New file.
18411 * util/sparc64/ieee1275/grub-install.in: New file.
18412 * util/ieee1275/ofpath.c: New file.
18413 * util/ieee1275/devicemap.c: New file.
18414 * util/devicemap.c: New file.
18415 * util/deviceiter.c: New file.
18416 * kern/sparc64/ieee1275/init.c: New file.
18417 * include/grub/util/ofpath.h: New file.
18418 * include/grub/util/deviceiter.h: New file.
18419 * util/grub-mkdevicemap.c: Include deviceiter.h.
18420 Implement using grub_util_emit_devicemap_entry and
18421 grub_util_iterate_devices.
18422 * conf/i386-corebook.rmk: Build util/deviceiter.c and
18423 util/devicemap.c into grub-mkdevicemap
18424 * conf/i386-efi.rmk: Likewise.
18425 * conf/i386-ieee1275.rmk: Likewise.
18426 * conf/i386-pc.rmk: Likewise.
18427 * conf/powerpc-ieee1275.rmk: Likewise.
18428 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
18429 images and installation utilities. Build kernel as image
18430 instead of as elf binary. Use common rules as much as possible.
18431
7dd4a573 184322009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 18433
18434 Correct GPT definition
18435
7dd4a573 18436 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 18437 of "attrib" member
18438
c6c5219f 184392009-04-19 Felix Zielcke <fzielcke@z-51.de>
18440
18441 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
18442
0552ff9f 184432009-04-19 David S. Miller <davem@davemloft.net>
18444
18445 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
18446 (grub_rescue_cmd_linux): Rename to...
18447 (grub_cmd_linux): and fix prototype.
18448 (grub_rescue_cmd_initrd): Rename to...
18449 (grub_cmd_initrd): and fix prototype.
18450 (cmd_linux, cmd_initrd): New.
18451 (GRUB_MOD_INIT(linux)): Use grub_register_command().
18452 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
18453
d1a282fc 184542009-04-17 Pavel Roskin <proski@gnu.org>
18455
07c5039f 18456 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
18457 format.
18458 (grub_ohci_transfer): Likewise.
18459
b012002d 18460 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
18461
1bc09c35 18462 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
18463 return without a value. Fix inconsistent indentation.
18464
e0ff9126 18465 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
18466 match struct grub_fs.
18467
d1a282fc 18468 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
18469 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
18470 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
18471 * commands/lspci.c (grub_lspci_iter): Likewise.
18472
a96df3f2 184732009-04-16 Bean <bean123ch@gmail.com>
18474
18475 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
18476 value.
18477
41bb0fe9 184782009-04-15 Pavel Roskin <proski@gnu.org>
18479
18480 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
18481 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
18482 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
18483 definitions.
18484
596c6970 184852009-04-15 Felix Zielcke <fzielcke@z-51.de>
18486
18487 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 18488 that no multiple data or metadata areas are supported and `Unknown
596c6970 18489 metadata header'.
18490
7dd4a573 184912009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 18492
18493 Move loader out of the kernel
18494
18495 * kern/loader.c: moved to ...
18496 * commands/boot.c: ... moved here
18497 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
18498 * commands/boot.c (grub_cmd_boot): moved here. All users updated
18499 * include/grub/kernel.h (grub_machine_fini): export
18500 * include/grub/loader.h (grub_loader_is_loaded): update declaration
18501 (grub_loader_set): likewise
18502 (grub_loader_unset): likewise
18503 (grub_loader_boot): likewise
18504 * conf/common.rmk: new module boot.mod
18505 (pkglib_MODULES): add boot.mod
18506 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
18507 (grub_emu_SOURCES): likewise
18508 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
18509 (grub_emu_SOURCES): likewise
18510 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
18511 (grub_emu_SOURCES): likewise
18512 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
18513 (grub_emu_SOURCES): likewise
18514 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
18515 (grub_emu_SOURCES): likewise
7dd4a573 18516 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
18517 (grub_emu_SOURCES): likewise
0d5d5653 18518 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 18519 (grub_emu_SOURCES): likewise
0d5d5653 18520
7dd4a573 185212009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 18522
18523 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 18524
5999d619 18525 * kern/misc.c (grub_itoa): Removed function
18526 (grub_ltoa): likewise
18527 (grub_vsprintf): use grub_lltoa
18528
7dd4a573 185292009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 18530
18531 Restore grub-emu
18532
18533 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
18534 * conf/i386-coreboot.rmk: likewise
18535 * conf/i386-ieee1275.rmk: likewise
18536 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 18537
20318222 185382009-04-15 Felix Zielcke <fzielcke@z-51.de>
18539
18540 * INSTALL: Add that `./autogen.sh' needs to be run before
18541 `./configure.'.
18542
d05f0df3 185432009-04-14 Bean <bean123ch@gmail.com>
18544
18545 * Makefile.in (pkglib_DATA): Add handler.lst.
18546 (handler.lst): New rule.
18547
18548 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
18549 * conf/i386-coreboot.rmk: Likewise.
18550 * conf/i386-ieee1275.rmk: Likewise.
18551 * conf/i386-efi.rmk: Likewise.
18552 * conf/x86_64-efi.rmk: Likewise.
18553 * conf/powerpc-ieee1275.rmk: Likewise.
18554 * conf/sparc64-ieee1275.rmk: Likewise.
18555
18556 * genhandlerlist.sh: New file.
18557
18558 * genmk.rb: Add rules to generate handler.lst.
18559
18560 * include/grub/normal.h (grub_file_getline): New function definition.
18561 (read_handler_list): Likewise.
18562 (free_handler_list): Likewise.
18563
18564 * include/grub/term.h (grub_term_register_input): Add name parameter
18565 for auto generation of handler.lst.
18566 (grub_term_register_output): Likewise.
18567
18568 * normal/handler.c: New file.
18569
18570 * normal/main.c (get_line): Renamed to grub_file_getline.
18571 (read_config_file): Use the newly renamed grub_file_getline.
18572 (read_command_list): Likewise.
18573 (read_fs_list): Likewise.
18574 (grub_normal_execute): Call read_handler_list to parse handler.lst.
18575 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
18576
18577 * term/efi/console.c (grub_console_init): Add name parameter for auto
18578 generation of handler.lst.
18579 * term/gfxterm.c: Likewise.
18580 * term/i386/pc/at_keyboard.c: Likewise.
18581 * term/i386/pc/console.c: Likewise.
18582 * term/i386/pc/serial.c: Likewise.
18583 * term/i386/pc/vesafb.c: Likewise.
18584 * term/i386/pc/vga.c: Likewise.
18585 * term/i386/pc/vga_text.c: Likewise.
18586 * term/ieee1275/ofconsole.c: Likewise.
18587 * term/usb_keyboard.c: Likewise.
18588
33c846be 185892009-04-14 Bean <bean123ch@gmail.com>
18590
18591 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
18592 properly with null character.
18593
4484e01e 185942009-04-14 Felix Zielcke <fzielcke@z-51.de>
18595
18596 * configure: Remove.
18597 * config.h.in: Likewise.
f93d668e 18598 * stamp-h.in: Likewise.
4484e01e 18599 * DISTLIST: Likewise.
18600 * conf/common.mk: Likewise.
18601 * conf/i386-coreboot.mk: Likewise.
18602 * conf/i386-efi.mk: Likewise.
18603 * conf/i386-ieee1275.mk: Likewise.
18604 * conf/i386.mk: Likewise.
18605 * conf/i386-pc.mk: Likewise.
18606 * conf/powerpc-ieee1275.mk: Likewise.
18607 * conf/sparc64-ieee1275.mk: Likewise.
18608 * conf/x86_64-efi.mk: Likewise.
18609
18610 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
18611 develop on GRUB.
18612
7dd4a573 186132009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 18614 David S. Miller <davem@davemloft.net>
18615
18616 * util/hostdisk.c (make_device_name): Fix buffer length
18617 calculations.
18618
e25b5a8c 186192009-04-14 Felix Zielcke <fzielcke@z-51.de>
18620
18621 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
18622 <sys/param.h> and <sys/sysctl.h>.
18623 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
18624 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
18625 opening the device and reset them afterwards.
18626
1f1f580c 186272009-04-13 Pavel Roskin <proski@gnu.org>
18628
18629 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
18630 Reported by John Stanley <jpsinthemix@verizon.net>
18631
7ebc2d6b 186322009-04-13 Robert Millan <rmh@aybabtu.com>
18633
18634 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 18635 that name for menuentries when appropriate.
7ebc2d6b 18636
d8ba3667 186372009-04-13 Felix Zielcke <fzielcke@z-51.de>
18638
18639 * util/grub.d/10_freebsd.in: Add a missing `fi'.
18640
cba416eb 186412009-04-13 Robert Millan <rmh@aybabtu.com>
18642
18643 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
18644 to Linux, simply abort telling the user it's no longer supported.
18645
a547a745 186462009-04-13 Felix Zielcke <fzielcke@z-51.de>
18647
18648 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 18649 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 18650 `freebsd_loadenv' only when devices.hints exist.
18651
232a769c 186522009-04-13 Pavel Roskin <proski@gnu.org>
18653
18654 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
18655
c3012039 186562009-04-13 Felix Zielcke <fzielcke@z-51.de>
18657
18658 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
18659 partition number.
18660 (grub_drive): Likewise.
18661
234022fe 186622009-04-13 David S. Miller <davem@davemloft.net>
18663
18664 * kern/sparc64/ieee1275/ieee1275.c: New file.
18665 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
18666 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
18667 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
18668 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
18669 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
18670 grub_ieee1275_alloc_physmem): Declare new exported functions.
18671
d8e1836c 18672 * include/grub/sparc64/ieee1275/loader.h: New file.
18673 * include/grub/sparc64/ieee1275/memory.h: Likewise.
18674 * include/grub/sparc64/kernel.h: Likewise.
18675 * loader/sparc64/ieee1275/linux.c: Likewise.
18676
96bd81ec 18677 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
18678 (grub_fstest_SOURCES): Likewise.
18679
6a4737e5 18680 * util/hostdisk.c (make_device_name): Do not make any assumptions
18681 about the length of drive names.
18682
1d7a72fd 18683 * kern/dl.c (grub_dl_load_file): Close file immediately when
18684 we are done using it.
18685
56bc2471 186862009-04-12 David S. Miller <davem@davemloft.net>
18687
18688 * kern/misc.c (grub_ltoa): Fix cast when handling negative
18689 values. Noticed by Pavel Roskin.
18690
df38d0bb 18691 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
18692 target compiler.
7dd4a573 18693
e382e93a 18694 * genmk.rb: Add more flexible image type specification, also
18695 pass --strip-unneeded to objcopy.
18696 * conf/i386-pc.rmk: Use *_FORMAT.
18697 * conf/i386-pc.mk: Rebuilt.
18698
f5dbbca9 18699 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
18700 (OFDISK_HASH_SZ): Define.
18701 (ofdisk_hash): New hash table.
18702 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
18703 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
18704 instead of device phandle which is not unique.
18705
91c88b12 18706 * kern/sparc64/ieee1275/init.c: Delete, replace with...
18707 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
18708 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
18709 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
18710 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
18711 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
18712 GRUB_KERNEL_MACHINE_DATA_END): Define.
18713 (grub_kernel_image_size, grub_total_module_size): Declare.
18714
5b5d4aa5 187152009-04-12 Pavel Roskin <proski@gnu.org>
18716
7dd4a573 18717 * configure.ac: Change the logic when we check for target tools.
18718 Do it when the target is specified and it's different from the
18719 specified value of the host.
5b5d4aa5 18720
c91e1793 187212009-04-11 Felix Zielcke <fzielcke@z-51.de>
18722
18723 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
18724 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
18725 GNU/kFreeBSD. Check if a device is a character device. Use
18726 DIOCGMEDIASIZE to get the size.
18727 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
18728 support for GNU/kFreeBSD.
18729 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
18730 is a character device instead of a block device. Add support for
18731 FreeBSD device names.
18732
18733 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
18734 is a character device instead of a block device.
18735
18736 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
18737 is a character device instead of a block device.
18738
b1ac8644 187392009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
18740
18741 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
18742 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
18743 FreeBSD. Check if a device is a character device. Use
18744 DIOCGMEDIASIZE to get the size.
18745 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
18746 support for FreeBSD.
18747 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
18748 is a character device instead of a block device. Add support for
18749 FreeBSD device names.
18750
18751 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
18752 a character device instead of a block device.
18753 (grub_util_check_char_device): New function.
18754
18755 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
18756 a character device instead of a block device.
18757
18758 * include/grub/util/getroot.h (grub_util_check_char_device): New
18759 prototype.
18760
a3f7515a 187612009-04-11 David S. Miller <davem@davemloft.net>
18762
18763 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
18764 static libgcc.
18765 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
18766 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
18767 function, if present.
18768 (__bswapdi2): Likewise.
18769
0d44993d 18770 * include/grub/sparc64/ieee1275/boot.h: New file.
18771 * boot/sparc64/ieee1275/boot.S: Likewise.
18772 * boot/sparc64/ieee1275/diskboot.S: Likewise.
18773
ed3d2bc2 18774 * kern/misc.c (grub_ltoa): New function.
18775 (grub_vsprintf): Use it to format 'long' integers.
18776
d3bfb59c 187772009-04-10 David S. Miller <davem@davemloft.net>
18778
18779 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
18780 slots are of type grub_ieee1275_cell_t.
18781 (grub_nand_read): Likewise.
18782 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
18783 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
18784 macros are used to compare values in arg/ret block of the call.
18785 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18786 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
18787 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
18788 grub_ieee1275_instance_to_path, grub_ieee1275_write,
18789 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
18790 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
18791 grub_ieee1275_close, grub_ieee1275_set_property,
18792 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
18793 grub_ieee1275_cell_t.
18794 * kern/ieee1275/openfw.c (grub_map): Likewise.
18795 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
18796 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
18797
450e2238 18798 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
18799 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
18800 (grub_devalias_iterate): Likewise.
18801
7dd4a573 188022009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 18803
18804 UFS improvements
18805
18806 * fs/ufs.c (INODE_NBLOCKS): new definition
18807 (struct grub_ufs_dirent): added fields for non-BSD dirents
18808 (grub_ufs_get_file_block): fixed double indirect handling
18809 (grub_ufs_lookup_symlink): use more robust way to determine whether
18810 symlink is inline
18811 (grub_ufs_find_file): support for non-BSD dirents
18812 (grub_ufs_dir): support for non-BSD dirents
18813
e7e6862a 188142009-04-10 Bean <bean123ch@gnail.com>
18815
18816 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
18817 attribute, otherwise the size would be wrong for i386 platform.
18818
18819 * include/grub/pci.h (grub_pci_read_word): New inline function.
18820 (grub_pci_read_byte): Likewise.
18821 (grub_pci_write): Likewise.
18822 (grub_pci_write_word): Likewise.
18823 (grub_pci_write_byte): Likewise.
18824
18825 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
18826
18827 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
18828 (find_framebuf): Scan pci to locate the frame buffer address.
18829
18830 * commands/efi/fixvideo.c: New file.
18831
18832 * commands/efi/loadbios.c: Likewise.
18833
18834 * commands/memrw.c: Likewise.
18835
18836 * util/grub-dumpbios.in: Likewise.
18837
18838 * conf/common.rmk (grub-dumpbios): New utility.
18839 (pkglib_MODULES): New module memrw.mod.
18840 (memrw_mod_SOURCE): New macro.
18841 (memrw_mod_CFLAGS): Likewise.
18842 (memrw_mod_LDFLAGS): Likewise.
18843
7dd4a573 18844 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18845 fixvideo.mod.
18846 (loadbios_mod_SOURCE): New macro.
18847 (loadbios_mod_CFLAGS): Likewise.
18848 (loadbios_mod_LDFLAGS): Likewise.
18849 (fixvideo_mod_SOURCE): Likewise.
18850 (fixvideo_mod_CFLAGS): Likewise.
18851 (fixvideo_mod_LDFLAGS): Likewise.
18852
7dd4a573 18853 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18854 fixvideo.mod.
18855 (loadbios_mod_SOURCE): New macro.
18856 (loadbios_mod_CFLAGS): Likewise.
18857 (loadbios_mod_LDFLAGS): Likewise.
18858 (fixvideo_mod_SOURCE): Likewise.
18859 (fixvideo_mod_CFLAGS): Likewise.
18860 (fixvideo_mod_LDFLAGS): Likewise.
18861
af63ada2 188622009-04-08 Felix Zielcke <fzielcke@z-51.de>
18863
18864 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
18865
c2cdde70 188662009-04-07 David S. Miller <davem@davemloft.net>
18867
18868 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
18869 support for R_SPARC_OLO10 relocations. Fix compile warning for
18870 R_SPARC_WDISP30 case.
ea3f72cf 18871 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 18872
761319cf 188732009-04-06 Pavel Roskin <proski@gnu.org>
18874
1007d1f5 18875 * include/grub/misc.h (ARRAY_SIZE): New macro.
18876 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
18877 New macro.
18878 * loader/i386/linux.c (allocate_pages): Use free_pages().
18879 (grub_linux_unload): Don't use free_pages().
18880 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
18881 wrong index. Treat all other modes as text modes.
18882 (grub_cmd_linux): Initialize vid_mode unconditionally to
18883 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
18884
761319cf 18885 * commands/help.c (print_command_help): Use cmd->prio, not
18886 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
18887
ea761d40 188882009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 18889
ea761d40 18890 Parttool
18891
18892 * parttool/pcpart.c: new file
18893 * commands/parttool.c: likewise
18894 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
18895 (parttool_mod_SOURCES): new variable
18896 (parttool_mod_CFLAGS): likewise
18897 (parttool_mod_LDFLAGS): likewise
18898 (pcpart_mod_SOURCES): likewise
18899 (pcpart_mod_CFLAGS): likewise
18900 (pcpart_mod_LDFLAGS): likewise
7dd4a573 18901 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 18902 and parttool/pcpart.c
18903 * conf/i386-efi.rmk: likewise
18904 * conf/i386-ieee1275.rmk: likewise
18905 * conf/i386-pc.rmk: likewise
18906 * conf/powerpc-ieee1275.rmk: likewise
18907 * conf/sparc64-ieee1275.rmk: likewise
18908 * conf/x86_64-ieee1275.rmk: likewise
18909
05aaebfb 189102009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18911
18912 Support for mtime and further expandability of dir command
18913
18914 * include/grub/lib/datetime.h: moved to ...
7dd4a573 18915 * include/grub/datetime.h: ... moved here and added
05aaebfb 18916 declaration of grub_unixtime2datetime. All users updated
7dd4a573 18917 * include/grub/fs.h: new syntax for dir and mtime functions in
18918 struct grub_fs
05aaebfb 18919 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
18920 and GRUB_FSHELP_FLAGS_MASK
18921 * commands/ls.c (grub_ls_list_files): Write mtime in long format
18922 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
18923 (grub_ext2_mtime): new function
18924 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
18925 (grub_hfsplus_mtime): new function
18926 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
18927 (GRUB_UFS_ATTR_FILE): likewise
18928 (GRUB_UFS_ATTR_LNK): likewise
18929 (struct grub_ufs_sblock): new fields mtime
18930 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
18931 all users updated
18932 (grub_ufs_dir): mtime support
18933 (grub_ufs_mtime): new function
18934 * fs/affs.c (grub_affs_dir): use new dir syntax
18935 * fs/afs.c (grub_afs_dir): likewise
18936 * fs/cpio.c (grub_cpio_dir): likewise
18937 * fs/fat.c (grub_fat_find_dir): likewise
18938 * fs/hfs.c (grub_hfs_dir): likewise
18939 * fs/iso9660.c (grub_iso9660_dir): likewise
18940 * fs/jfs.c (grub_jfs_dir): likewise
18941 * fs/minix.c (grub_minix_dir): likewise
18942 * fs/ntfs.c (grub_ntfs_dir): likewise
18943 * fs/reiserfs.c (grub_reiserfs_dir): likewise
18944 * fs/sfs.c (grub_sfs_dir): likewise
18945 * fs/xfs.c (grub_xfs_dir): likewise
18946 * util/hostfs.c (grub_hostfs_dir): likewise
18947 * lib/datetime.c: moved to ...
18948 * normal/datetime.c: ... moved here
18949 (grub_unixtime2datetime): new function
18950 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 18951 * normal/completion.c (iterate_dir): use new dir syntax
18952 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 18953 last modification time of a volume
7dd4a573 18954 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 18955 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 18956 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 18957 (normal_mod_SOURCES): likewise
18958 (datetime_mod_SOURCES): Removed lib/datetime.c
18959 * conf/i386-efi.rmk: likewise
7dd4a573 18960 * conf/i386-ieee1275.rmk: likewise
05aaebfb 18961 * conf/i386-pc.rmk: likewise
18962 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 18963 * conf/sparc64-ieee1275.rmk: likewise
18964 * conf/x86_64-efi.rmk: likewise
05aaebfb 18965
8a7e1a14 189662009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 18969
18970 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 18971 on grub_fat_find_dir
18972 (grub_fat_find_dir): use grub_fat_iterate_dir
18973 (grub_fat_label): likewise
18974
04186a9c 189752009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18976
7dd4a573 18977 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 18978 and command.h
18979 remove extraneous kernel_elf_HEADERS
18980
da4c0bb6 189812009-04-04 Bean <bean123ch@gnail.com>
18982
18983 * include/grub/util/misc.h: Add dummy function fsync for mingw.
18984
18985 * util/misc.c: Likewise.
18986
54ad9555 189872009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
18988
18989 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
18990 instead of grub_printf.
18991
7a6bf9f2 189922009-04-03 Robert Millan <rmh@aybabtu.com>
18993
18994 * loader/i386/linux.c (grub_linux_setup_video): Fill
18995 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
18996 values from `mode info' structure instead of hardcoded
18997 values.
18998
3fcc2083 189992009-04-01 Pavel Roskin <proski@gnu.org>
19000
19001 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
19002 unused now.
19003 * genmk.rb: Likewise.
19004 * configure.ac: Likewise.
19005
5ec9740b 190062009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
19007
19008 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
19009 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
19010
5270cec8 190112009-04-01 David S. Miller <davem@davemloft.net>
19012
19013 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 19014 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 19015 (grub_setjmp): Mark with 'returns_twice' attribute.
19016 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
19017 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
19018 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
19019
9c3dd854 190202009-04-01 Robert Millan <rmh@aybabtu.com>
19021
19022 Reapply fix from 2008-07-28 which was accidentally reverted; also
19023 perform the same fix to a similar check in same function.
19024
19025 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19026 with the same number are found, just use issue a warning with
19027 grub_dprintf(), as this error has been reported to be non-fatal.
19028
0d818b7e 190292009-03-31 Pavel Roskin <proski@gnu.org>
19030
19031 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
19032 for cross-compilation.
19033
95646d92 190342009-03-30 Robert Millan <rmh@aybabtu.com>
19035
19036 Fix i386-ieee1275 build.
19037
19038 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
19039 Remove declaration.
19040
6a003ed1 190412009-03-30 Pavel Roskin <proski@gnu.org>
19042
19043 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
19044 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
19045 zero-terminated, rely only on the strlen value. Fix comparison
19046 of strings differing in length.
19047
92f33540 190482009-03-30 Robert Millan <rmh@aybabtu.com>
19049
19050 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
19051 checking for abi version. Improve error messages on BIOS to notify
19052 user about `linux16' command.
19053
a8c48fd5 190542009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19055
f968172e 19056 Leak fixes
a8c48fd5 19057
f968172e 19058 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
19059 in case of collision
19060 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 19061
9c323f09 190622009-03-29 Robert Millan <rmh@aybabtu.com>
19063
19064 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
19065 set `vid_mode' accordingly.
19066 (grub_linux_boot): Process `vid_mode' and set video mode.
19067
ae68f423 190682009-03-29 Robert Millan <rmh@aybabtu.com>
19069
19070 * util/grub.d/10_linux.in (linux_entry): New function.
19071 Factorize generation of Linux boot entries.
19072
5709cfc4 190732009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
19074
19075 Make the format of Environment Block plain text. The boot loader
19076 part is not tested well yet.
7dd4a573 19077
5709cfc4 19078 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
19079 (buffer): Removed.
19080 (envblk): Likewise.
19081 (usage): Remove "info" and "clear". Add "unset". Update the
19082 description of "set", as this does not delete variables any
19083 longer.
19084 (create_envblk_file): Complete rewrite.
19085 (open_envblk_file): Likewise.
19086 (cmd_info): Removed.
19087 (cmd_list): Likewise.
19088 (cmd_set): Likewise.
19089 (cmd_clear): Likewise.
19090 (list_variables): New function.
19091 (write_envblk): Likewise.
19092 (set_variables): Likewise.
19093 (unset_variables): Likewise.
19094 (main): Complete rewrite.
19095
19096 * commands/loadenv.c (buffer): Removed.
19097 (envblk): Likewise.
19098 (open_envblk_file): New function.
19099 (read_envblk_file): Complete rewrite.
19100 (grub_cmd_load_env): Likewise.
19101 (grub_cmd_list_env): Likewise.
19102 (struct blocklist): New struct.
19103 (free_blocklists): New function.
19104 (check_blocklists): Likewise.
19105 (write_blocklists): Likewise.
19106 (grub_cmd_save_env): Complete rewrite.
19107
19108 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
19109 a plain text signature.
19110 (GRUB_ENVBLK_MAXLEN): Removed.
19111 (struct grub_envblk): Complete rewrite.
19112 (grub_envblk_find): Removed.
19113 (grub_envblk_insert): Likewise.
19114 (grub_envblk_open): New prototype.
19115 (grub_envblk_set): Likewise.
19116 (grub_envblk_delete): Put const to VALUE.
19117 (grub_envblk_iterate): Put const to NAME and VALUE.
19118 (grub_envblk_close): New prototype.
19119 (grub_envblk_buffer): New inline function.
19120 (grub_envblk_size): Likewise.
19121
19122 * lib/envblk.c: Include grub/mm.h.
19123 (grub_env_find): Removed.
19124 (grub_envblk_open): New function.
19125 (grub_envblk_close): Likewise.
19126 (escaped_value_len): Likewise.
19127 (find_next_line): Likewise.
19128 (grub_envblk_insert): Removed.
19129 (grub_envblk_set): New function.
19130 (grub_envblk_delete): Complete rewrite.
19131 (grub_envblk_iterate): Likewise.
19132
a9368fd3 191332009-03-28 Robert Millan <rmh@aybabtu.com>
19134
19135 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
19136 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
19137 variables. Use 16-bit loader.
19138 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
19139 loader.
19140 * kern/i386/loader.S (grub_linux_boot): Rename to ...
19141 (grub_linux16_boot): ... this. Update all users.
19142 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
19143 (grub_linux_boot): ... this. Update all users.
19144
19145 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
19146 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
19147 commands to `linux16' and `initrd16'.
19148 (GRUB_MOD_FINI(linux)): Rename to ...
19149 (GRUB_MOD_FINI(linux16)): ... this.
19150
e4dd5a7e 191512009-03-24 Pavel Roskin <proski@gnu.org>
19152
19153 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
19154 not just for compilation.
19155
c04d6e05 191562009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
19157
19158 Move multiboot helper out of kernel
19159
19160 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
19161 `loader/i386/multiboot_helper.S'.
19162 * conf/i386-coreboot.rmk: Likewise
19163 * conf/i386-ieee1275.rmk: Likewise
19164
19165 * kern/i386/loader.S: Move multiboot helpers from here...
19166 * loader/i386/multiboot_helper.S: ...moved here
19167 * include/grub/i386/loader.h: Move declarations of multiboot
19168 helpers from here...
19169 * include/grub/i386/multiboot.h: ...moved here
19170 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
19171
42a5b3fc 191722009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19173
19174 * kern/env.c (grub_env_context_open): Added an argument to specify
19175 whether a new context inherits exported variables from current
19176 one. This is useful when making a sandbox to interpret a config
19177 file.
19178 All callers updated.
19179
19180 * include/grub/env.h (grub_env_context_open): Updated the prototype.
19181
b28bbc4e 191822009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19183
19184 * kern/env.c (grub_env_context_close): Fix memory leaks.
19185
f04f02e4 191862009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19187
19188 * normal/main.c (grub_normal_execute): Added an argument
19189 BATCH to specify if an interactive interface should be provided
19190 after reading a config file.
19191 All callers updated.
19192 (read_command_list): Prevent being executed twice.
19193 (read_fs_list): Likewise.
19194
42a5b3fc 19195 * include/grub/normal.h (grub_normal_execute): Updated the
19196 prototype.
f04f02e4 19197
41473ac2 191982009-03-22 Pavel Roskin <proski@gno.org>
19199
fbc00b0c 19200 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
19201 _start.
19202 * kern/i386/pc/startup.S: Likewise.
19203 * kern/i386/efi/startup.S: Likewise.
19204 * kern/i386/ieee1275/startup.S: Likewise.
19205 * kern/i386/coreboot/startup.S: Likewise.
19206 * kern/x86_64/efi/startup.S: Likewise.
19207
41473ac2 19208 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
19209 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
19210 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
19211
2274cc8f 192122009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
19213
19214 Bugfixes in multiboot for bugs uncovered by solaris kernel.
19215
19216 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
19217 limit detection.
19218 Use vaddr of correct segment for entry_point.
19219
b1b797cb 192202009-03-21 Bean <bean123ch@gmail.com>
19221
19222 * commands/blocklist.c: Add include file <grub/command.h>, remove
19223 <grub/normal.h> and <grub/arg.h>.
19224 (grub_cmd_blocklist): Use the new command interface.
19225 (GRUB_MOD_INIT): Likewise.
19226 (GRUB_MOD_FINI): Likewise.
19227 * commands/boot.c: Likewise.
19228 * commands/cat.c: Likewise.
19229 * commands/cmp.c: Likewise.
19230 * commands/configfile.c: Likewise.
19231 * commands/crc.c: Likewise.
19232 * commands/echo.c: Likewise.
19233 * commands/halt.c: Likewise.
19234 * commands/handler.c: Likewise.
19235 * commands/hdparm.c: Likewise.
19236 * commands/help.c: Likewise.
19237 * commands/hexdump.c: Likewise.
19238 * commands/loadenv.c: Likewise.
19239 * commands/ls.c: Likewise.
19240 * commands/lsmmap.c: Likewise.
19241 * commands/lspci.c: Likewise.
19242 * commands/loadenv.c: Likewise.
19243 * commands/read.c: Likewise.
19244 * commands/reboot.c: Likewise.
19245 * commands/search.c: Likewise.
19246 * commands/sleep.c: Likewise.
19247 * commands/test.c: Likewise.
19248 * commands/usbtest.c: Likewise.
19249 * commands/videotest.c: Likewise.
19250 * commands/i386/cpuid.c: Likewise.
19251 * commands/i386/pc/halt.c: Likewise.
19252 * commands/i386/pc/play.c: Likewise.
19253 * commands/i386/pc/pxecmd.c: Likewise.
19254 * commands/i386/pc/vbeinfo.c: Likewise.
19255 * commands/i386/pc/vbetest.c: Likewise.
19256 * commands/ieee1275/suspend.c: Likewise.
19257 * disk/loopback.c: Likewise.
19258 * font/font_cmd.c: Likewise.
19259 * hello/hello.c: Likewise.
19260 * loader/efi/appleloader.c: Likewise.
19261 * loader/efi/chainloader.c: Likewise.
19262 * loader/i386/bsd.c: Likewise.
19263 * loader/i386/efi/linux.c: Likewise.
19264 * loader/i386/ieee1275/linux.c: Likewise.
19265 * loader/i386/linux.c: Likewise.
19266 * loader/i386/pc/chainloader.c: Likewise.
19267 * loader/i386/pc/linux.c: Likewise.
19268 * loader/powerpc/ieee1275/linux.c: Likewise.
19269 * loader/multiboot_loader.c: Likewise.
19270 * term/gfxterm.c: Likewise.
19271 * term/i386/pc/serial.c: Likewise.
19272 * term/terminfo.c: Likewise.
19273
19274 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
19275 * term/i386/pc/vga.c: Likewise.
19276 * video/readers/jpeg.c: Likewise.
19277 * video/readers/png.c: Likewise.
19278 * video/readers/tga.c: Likewise.
19279
19280 * util/grub-fstest (cmd_loopback): Removed.
19281 (cmd_blocklist): Likewise.
19282 (cmd_ls): Likewise.
19283 (grub_register_command): Likewise.
19284 (grub_unregister_command): Likewise.
19285 (execute_command): Use grub_command_find to locate command and execute
19286 it.
19287
19288 * include/grub/efi/chainloader.h: Removed.
19289 * loader/efi/chainloader_normal.c: Likewise.
19290 * loader/i386/bsd_normal.c: Likewise.
19291 * loader/i386/pc/chainloader_normal.c: Likewise.
19292 * loader/i386/pc/multiboot_normal.c: Likewise.
19293 * loader/linux_normal.c: Likewise.
19294 * loader/multiboot_loader_normal.c: Likewise.
19295 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
19296
19297 * gencmdlist.sh: Scan new registration command grub_register_extcmd
19298 and grub_register_command_p1.
19299
19300 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
19301 kern/command.c, lib/arg.c and commands/extcmd.c.
19302 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
19303 (minicmd_mod_SOURCES): New variable.
19304 (minicmd_mod_CFLAGS): Likewise.
19305 (minicmd_mod_LDFLAGS): Likewise.
19306 (extcmd_mod_SOURCES): Likewise.
19307 (extcmd_mod_CFLAGS): Likewise.
19308 (extcmd_mod_LDFLAGS): Likewise.
19309 (boot_mod_SOURCES): Removed.
19310 (boot_mod_CFLAGS): Likewise.
19311 (boot_mod_LDFLAGS): Likewise.
19312
19313 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
19314 kern/corecmd.c.
19315 (kernel_img_HEADERS): Add command.h.
19316 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
19317 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
19318 and lib/arg.c.
19319 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
19320 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
19321 remove the corresponding normal mode command.
19322 (normal_mod_SOURCES): Remove normal/arg.c.
19323 * conf/i386-coreboot.rmk: Likewise.
19324 * conf/i386-efi.rmk: Likewise.
19325 * conf/i386-ieee1275.rmk: Likewise.
19326 * conf/powerpc-ieee1275.rmk: Likewise.
19327 * conf/x86_64-efi.rmk: Likewise.
19328
19329 * include/grub/arg.h: Move from here ...
19330 * include/grub/lib/arg.h: ... to here.
19331
19332 * normal/arg.c: Move from here ...
19333 * lib/arg.c: ... to here.
19334
19335 * commands/extcmd.c: New file.
19336 * commands/minicmd.c: Likewise.
19337 * include/grub/command.h: Likewise.
19338 * include/grub/extcmd.h: Likewise.
19339 * kern/command.c: Likewise.
19340 * kern/corecmd.c: Likewise.
19341
19342 * kern/list.c (grub_list_iterate): Return int instead of void.
19343 (grub_list_insert): New function.
19344 (grub_prio_list_insert): Likewise.
19345
19346 * kern/rescue.c (grub_rescue_command): Removed.
19347 (grub_rescue_command_list): Likewise.
19348 (grub_rescue_register_command): Likewise.
19349 (grub_rescue_unregister_command): Likewise.
19350 (grub_rescue_cmd_boot): Move to minicmd.c
19351 (grub_rescue_cmd_help): Likewise.
19352 (grub_rescue_cmd_info): Likewise.
19353 (grub_rescue_cmd_boot): Likewise.
19354 (grub_rescue_cmd_testload): Likewise.
19355 (grub_rescue_cmd_dump): Likewise.
19356 (grub_rescue_cmd_rmmod): Likewise.
19357 (grub_rescue_cmd_lsmod): Likewise.
19358 (grub_rescue_cmd_exit): Likewise.
19359 (grub_rescue_print_devices): Moved to corecmd.c.
19360 (grub_rescue_print_files): Likewise.
19361 (grub_rescue_cmd_ls): Likewise.
19362 (grub_rescue_cmd_insmod): Likewise.
19363 (grub_rescue_cmd_set): Likewise.
19364 (grub_rescue_cmd_unset): Likewise.
7d074e3c 19365 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 19366 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 19367 commands, remove grub_rescue_register_command calls.
b1b797cb 19368
7d074e3c 19369 * normal/command.c (grub_register_command): Removed.
b1b797cb 19370 (grub_unregister_command): Likewise.
19371 (grub_command_find): Likewise.
19372 (grub_iterate_commands): Likewise.
19373 (rescue_command): Likewise.
19374 (export_command): Moved to corecmd.c.
19375 (set_command): Removed.
19376 (unset_command): Likewise.
19377 (insmod_command): Likewise.
19378 (rmmod_command): Likewise.
19379 (lsmod_command): Likewise.
19380 (grub_command_init): Likewise.
19381
19382 * normal/completion.c (iterate_command): Use cmd->prio to check for
19383 active command.
19384 (complete_arguments): Use grub_extcmd_t structure to find options.
19385 (grub_normal_do_completion): Change function grub_iterate_commands to
19386 grub_command_iterate.
19387
19388 * normal/execute.c (grub_script_execute_cmd): No need to parse
19389 argument here.
19390
19391 * normal/main.c (grub_dyncmd_dispatcher): New function.
19392 (read_command_list): Register unload commands as dyncmd.
19393 (grub_cmd_normal): Use new command interface, register rescue,
19394 unregister normal at entry, register normal, unregister rescue at exit.
19395
19396 * include/grub/list.h (grub_list_test_t): New type.
19397 (grub_list_iterate): Return int instead of void.
19398 (grub_list_insert): New function.
19399 (GRUB_AS_NAMED_LIST_P): New macro.
19400 (GRUB_AS_PRIO_LIST): Likewise.
19401 (GRUB_AS_PRIO_LIST_P): Likewise.
19402 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
19403 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
19404 (grub_prio_list): New structure.
19405 (grub_prio_list_insert): New function.
19406 (grub_prio_list_remove): New inline function.
19407
19408 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
19409 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
19410 (GRUB_COMMAND_FLAG_MENU): Likewise.
19411 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19412 (GRUB_COMMAND_FLAG_TITLE): Likewise.
19413 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19414 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
19415 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
19416 (grub_command): Likewise.
19417 (grub_register_command): Likewise.
19418 (grub_command_find): Likewise.
19419 (grub_iterate_commands): Likewise.
19420 (grub_command_init): Likewise.
19421 (grub_arg_parse): Likewise.
19422 (grub_arg_show_help): Likewise.
19423
19424 * include/grub/rescue.h (grub_rescue_register_command): Removed.
19425 (grub_rescue_unregister_command): Likewise.
19426
19427 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
19428 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
19429 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
19430
19431 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
19432 grub_rescue_cmd_initrd.
19433 * include/grub/i386/loader.h: Likewise.
19434 * include/grub/x86_64/loader.h: Likewise.
19435
19436 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
19437
1f4147aa 194382009-03-21 Bean <bean123ch@gmail.com>
19439
19440 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
19441 instead of stat in mingw environment.
19442
19443 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
19444
19445 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
19446
19447 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
19448 AC_CONFIG_LINKS.
19449
2156d5ba 194502009-03-21 Bean <bean123ch@gmail.com>
19451
19452 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
19453 out of range error.
19454
177b82ca 194552009-03-18 Michel Dänzer <michel@daenzer.net>
19456
19457 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
19458 checking inode flags for EXT4_EXTENTS_FLAG.
19459
14aad807 194602009-03-18 Robert Millan <rmh@aybabtu.com>
19461
19462 * loader/i386/linux.c: Include `<grub/video.h>' and
19463 `<grub/i386/pc/vbe.h>'..
19464 (grub_linux_setup_video): New function. Loosely based on the EFI one.
19465 (grub_linux32_boot): Attempt to configure video settings with
19466 grub_linux_setup_video().
19467 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
19468 to avoid grub_console_fini() which would step out of graphical mode
19469 unconditionally.
19470
8cf83a27 194712009-03-14 Robert Millan <rmh@aybabtu.com>
19472
19473 Fix build on powerpc.
19474 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
19475
40164e75 194762009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
19477
19478 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
19479 background image command.
19480
c58bc32a 194812009-03-12 Colin D Bennett <colin@gibibit.com>
19482
19483 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
19484 (grub_gfxterm_putchar): Extract pairs of identical calls to
19485 draw_cursor out of conditional blocks.
19486
5415144a 194872009-03-11 Pavel Roskin <proski@gnu.org>
19488
19489 * fs/hfs.c (grub_hfs_strncasecmp): New function.
19490 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
19491
6394042e 194922009-03-11 Robert Millan <rmh@aybabtu.com>
19493
19494 * loader/i386/multiboot_elfxx.c
19495 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
19496
b7b50e5f 194972009-03-11 Felix Zielcke <fzielcke@z-51.de>
19498
19499 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
19500 `kern/handler.c'.
19501
1ca7fc96 195022009-03-11 Robert Millan <rmh@aybabtu.com>
19503
19504 * loader/i386/multiboot.c (code_size): New variable.
19505 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 19506 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 19507 4-byte alignment to MBI and others by increasing
7d074e3c 19508 `boot_loader_name_length' appropriately.
1ca7fc96 19509
19510 * loader/i386/multiboot_elfxx.c
19511 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
19512
a83ea1d2 195132009-03-09 Felix Zielcke <fzielcke@z-51.de>
19514
19515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
19516 `fs/ext2.c'.
19517
aa9f3bff 195182009-03-08 Robert Millan <rmh@aybabtu.com>
19519
19520 Make loader/i386/linux.c usable on i386-pc again.
19521
19522 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
19523 memory to heap.
19524 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
19525 `#error' stanza.
19526
d8b3b60e 195272009-03-07 Bean <bean123ch@gmail.com>
19528
19529 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
19530 allocation.
19531
b362c9e9 195322009-03-06 Robert Millan <rmh@aybabtu.com>
19533
19534 Fix display issue on terminals with screen size other than 80x25
19535 (e.g. gfxterm with resolution higher than 640x480).
19536
19537 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 19538 position relative to the center of the terminal instead of relying
b362c9e9 19539 on a hardcoded offset.
19540
9304eef1 195412009-03-04 Robert Millan <rmh@aybabtu.com>
19542
19543 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
19544 installed.
19545
19546 * Makefile.in (host_kernel): New variable.
19547 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
19548 scripts instead of just the windows one.
19549 * configure.ac: Initialize and AC_SUBST `host_kernel'.
19550
eabc95fb 195512009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 19552
19553 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
19554 `kern/handler.c'.
19555 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19556 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19557 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19559 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19560 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19561
ceb1223c 195622009-03-04 Felix Zielcke <fzielcke@z-51.de>
19563
19564 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
19565 or if there's no space for the disk label and print the partition number on a
19566 invalid magic.
19567
4910684a 195682009-03-04 Felix Zielcke <fzielcke@z-51.de>
19569
19570 * util/misc.c: Include <time.h>.
19571 (grub_millisleep): New function.
19572
7e9ca17a 195732009-03-04 Bean <bean123ch@gmail.com>
19574
19575 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
19576 another option -mno-red-zone.
19577
19578 * commands/handler.c: Change module description.
19579
19580 * kern/handler.c: Add missing space at the end of description line.
19581
19582 * kern/list.c: Likewise.
19583
f501677c 195842009-03-03 Robert Millan <rmh@aybabtu.com>
19585
19586 Move more components to the relocation area, and fix mbi pointer
19587 handling to use the destination rather than the origin (thanks to
19588 Vladimir Serbinenko for spotting).
19589
19590 * loader/i386/multiboot.c (mbi_dest): New variable.
19591 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
19592 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
19593 relocation area.
19594
9902d047 195952009-03-01 Bean <bean123ch@gmail.com>
19596
50fb7002 19597 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 19598 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
19599 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
19600 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
19601
19602 * loader/i386/efi/linux.c (acpi_guid): New variable.
19603 (acpi_guid): Likewise.
19604 (EBDA_SEG_ADDR): New constant.
19605 (LOW_MEM_ADDR): Likewise.
19606 (FAKE_EBDA_SEG): Likewise.
19607 (fake_bios_data): New function.
19608 (grub_linux_boot): Call fake_bios_data.
19609
71b9f361 196102009-03-01 Bean <bean123ch@gmail.com>
19611
19612 * commands/terminal.c: Removed.
19613
19614 * commands/handler.c: New file.
19615
19616 * include/grub/list.h: Likewise.
19617
19618 * include/grub/handler.h: Likewise.
19619
19620 * kern/list.c: Likewise.
19621
19622 * kern/handler.c: Likewise.
19623
19624 * kern/term.h: Include header file <grub/handler.h>.
19625 (grub_term_input): Move next field to the beginning.
19626 (grub_term_output): Likewise.
19627 (grub_term_input_class): New variable.
19628 (grub_term_output_class): Likewise.
19629 (grub_term_register_input): Changed to inline function.
19630 (grub_term_register_output): Likewise.
19631 (grub_term_unregister_input): Likewise.
19632 (grub_term_unregister_output): Likewise.
19633 (grub_term_set_current_input): Likewise.
19634 (grub_term_set_current_output): Likewise.
19635 (grub_term_get_current_input): Likewise.
19636 (grub_term_get_current_output): Likewise.
19637 (grub_term_iterate_input): Removed.
19638 (grub_term_iterate_output): Likewise.
19639
19640 * kern/term.c (grub_term_list_input): Removed.
19641 (grub_term_list_output): Likewise.
19642 (grub_term_input_class): New variable.
19643 (grub_term_output_class): Likewise.
50fb7002 19644 (grub_cur_term_input): Change variable as macro.
71b9f361 19645 (grub_cur_term_output): Likewise.
19646 (grub_term_register_input): Removed.
19647 (grub_term_register_output): Likewise.
19648 (grub_term_unregister_input): Likewise.
19649 (grub_term_unregister_output): Likewise.
19650 (grub_term_set_current_input): Likewise.
19651 (grub_term_set_current_output): Likewise.
19652 (grub_term_iterate_input): Likewise.
19653 (grub_term_iterate_output): Likewise.
19654 (grub_term_get_current_input): Likewise.
19655 (grub_term_get_current_output): Likewise.
19656
19657 * util/grub-editenv.c: Include header file <grub/handler.h>.
19658 (grub_term_get_current_input): Removed.
19659 (grub_term_get_current_output): Likewise.
19660 (grub_term_input_class): New variable.
50fb7002 19661 (grub_term_output_class): Likewise.
71b9f361 19662
19663 * util/grub-fstest.c (grub_term_get_current_input): Removed.
19664 (grub_term_get_current_output): Likewise.
19665 (grub_term_input_class): New variable.
50fb7002 19666 (grub_term_output_class): Likewise.
71b9f361 19667
19668 * util/grub-probe.c (grub_term_get_current_input): Removed.
19669 (grub_term_get_current_output): Likewise.
19670 (grub_term_input_class): New variable.
50fb7002 19671 (grub_term_output_class): Likewise.
71b9f361 19672
19673 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
19674 (grub_term_get_current_output): Likewise.
19675 (grub_term_input_class): New variable.
50fb7002 19676 (grub_term_output_class): Likewise.
71b9f361 19677
19678 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
19679 (terminal_mod_SOURCES): Likewise.
19680 (terminal_mod_CFLAGS): Likewise.
19681 (terminal_mod_LDFLAGS): Likewise.
19682
19683 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
19684 handler.c.
19685 (kernel_img_SOURCES): Add list.c and handler.c.
19686 (kernel_img_HEADERS): Add list.h and handler.h.
19687
19688 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
19689 handler.c.
19690 (kernel_mod_SOURCES): Add list.c and handler.c.
19691 (kernel_mod_HEADERS): Add list.h and handler.h.
19692
19693 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
19694 handler.c.
19695 (kernel_elf_SOURCES): Add list.c and handler.c.
19696 (kernel_elf_HEADERS): Add list.h and handler.h.
19697
19698 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
19699 handler.c.
19700 (kernel_elf_SOURCES): Add list.c and handler.c.
19701 (kernel_elf_HEADERS): Add list.h and handler.h.
19702
19703 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
19704 handler.c.
19705 (kernel_mod_SOURCES): Add list.c and handler.c.
19706 (kernel_mod_HEADERS): Add list.h and handler.h.
19707
19708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
19709 handler.c.
19710 (kernel_elf_SOURCES): Add list.c and handler.c.
19711 (kernel_elf_HEADERS): Add list.h and handler.h.
19712
8a31787f 197132009-02-27 Robert Millan <rmh@aybabtu.com>
19714
19715 Factorize elf32 / elf64 code in Multiboot loader. This will
19716 prevent it from getting out of sync again.
19717
19718 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
19719 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
19720 grub_multiboot_load_elf64): Move from here ...
19721 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
19722 grub_multiboot_load_elf): ... to here (new file).
19723
51cd3dfc 197242009-02-27 Robert Millan <rmh@aybabtu.com>
19725
19726 * util/grub.d/10_linux.in: Rename "single-user mode" to
19727 "recovery mode".
19728
6e8c9c3a 197292009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
19730
19731 Don't leak in SCSI code.
19732 * disk/scsi.c (grub_scsi_close): free `scsi'.
19733
4b6bf4f9 197342009-02-27 Robert Millan <rmh@aybabtu.com>
19735
19736 * loader/i386/pc/multiboot.c: Move from here ...
19737 * loader/i386/multiboot.c: ... to here. Update all users.
19738
b9413424 197392009-02-27 Robert Millan <rmh@aybabtu.com>
19740
19741 Patch from Alexandre Bique <bique.alexandre@gmail.com>
19742 * util/i386/pc/grub-setup.c (setup): Fix directory path.
19743
50fb7002 197442009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 19745
19746 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
19747 b-tree.
19748
8cc50345 197492009-02-27 Robert Millan <rmh@aybabtu.com>
19750
19751 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
19752 `0x' qualifier as 0 when base is specified as parameter).
19753
6e09b8b7 197542009-02-24 Bean <bean123ch@gmail.com>
19755
19756 * configure.ac: Check for -mcmodel=large in x86_64 target.
19757
19758 * include/grub/efi/api.h (efi_call_10): New macro.
19759 (efi_wrap_10): New function.
19760
19761 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
19762 (GRUB_PE32_REL_BASED_HIGH): Likewise.
19763 (GRUB_PE32_REL_BASED_LOW): Likewise.
19764 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
19765 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
19766 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
19767 (GRUB_PE32_REL_BASED_SECTION): Likewise.
19768 (GRUB_PE32_REL_BASED_REL): Likewise.
19769 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
19770 (GRUB_PE32_REL_BASED_DIR64): Likewise.
19771 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
19772
19773 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
19774 issue.
19775
19776 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
19777 (efi_wrap_10): New function.
19778
19779 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
19780
19781 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
19782 MB/MBP model (NV chipset).
19783 (devdata_devs): Add devpath_5 to the list.
19784
19785 * load/i386/efi/linux.c (video_base): Remove variable.
19786 (RGB_MASK): New macro.
19787 (RGB_MAGIC): Likewise.
19788 (LINE_MIN): Likewise.
19789 (LINE_MAX): Likewise.
19790 (FBTEST_STEP): Likewise.
19791 (FBTEST_COUNT): Likewise.
19792 (fb_list): New variable.
19793 (grub_find_video_card): Remove function.
19794 (find_framebuf): New function.
19795 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
19796 line length.
19797
19798 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
19799 problem for x86_64.
19800
74b21bee 198012009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
19802
19803 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
19804
19805 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
19806 coding tool name.
19807
a455f472 198082009-02-22 Robert Millan <rmh@aybabtu.com>
19809
19810 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
19811 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
19812 in our relocation, instead of using it directly from heap. Also
19813 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
19814
6374daf3 198152009-02-21 Robert Millan <rmh@aybabtu.com>
19816
19817 Implement USB keyboard support (based on patch by Marco Gerards)
19818
19819 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
19820 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
19821 (usb_keyboard_mod_LDFLAGS): New variables.
19822
19823 * term/usb_keyboard.c: New file.
19824
8fa4ea70 198252009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19826
19827 Corrected wrong declaration
19828
19829 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
19830
353976ac 198312009-02-14 Christian Franke <franke@computer.org>
19832
19833 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
19834 (grub_lspci_iter): Print class code and programming interface byte.
19835
6aa1169b 198362009-02-14 Christian Franke <franke@computer.org>
19837
19838 * gendistlist.sh: Ignore `.svn' directories.
19839
265372ca 198402009-02-14 Felix Zielcke <fzielcke@z-51.de>
19841
19842 * fs/fat.c: Add 2009 to Copyright line.
19843
9ff516f3 198442009-02-14 Christian Franke <franke@computer.org>
19845
19846 * commands/hdparm.c: New file. Provides `hdparm' command
19847 which sends ATA commands via grub_disk_ata_pass_through ().
19848
19849 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
19850
19851 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
19852 and <grub/cpu/io.h> to include/grub/ata.h.
19853 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
19854 (GRUB_CDROM_SECTOR_SIZE): Remove.
19855 (GRUB_ATA_*): Move to include/grub/ata.h.
19856 (GRUB_ATAPI_*): Likewise.
19857 (enum grub_ata_commands): Likewise.
19858 (enum grub_ata_timeout_milliseconds): Likewise.
19859 (struct grub_ata_device): Likewise.
19860 (grub_ata_regset): Likewise.
19861 (grub_ata_regget): Likewise.
19862 (grub_ata_regset2): Likewise.
19863 (grub_ata_regget2): Likewise.
19864 (grub_ata_check_ready): Likewise.
19865 (grub_ata_wait_not_busy): Remove static, exported in
19866 include/grub/ata.h.
19867 (grub_ata_wait_drq): Likewise.
19868 (grub_ata_pio_read): Likewise.
19869
19870 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
19871 function for hdparm.mod.
19872
19873 * include/grub/ata.h: New file, contains declarations from
19874 disk/ata.c.
19875 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
19876
19877 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
19878 (grub_disk_ata_pass_through): New exported variable.
19879
19880 * kern/disk.c (grub_disk_ata_pass_through): New variable.
19881
772e23da 198822009-02-13 Colin D Bennett <colin@gibibit.com>
19883
19884 Support multiple fallback entries, and provide an API to support
19885 executing default+fallback menu entries. Renamed the `terminal' menu
19886 viewer to `text'.
19887
19888 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
19889 variable declaration.
19890 (grub_menu_execute_callback): New structure declaration.
19891 (grub_menu_execute_callback_t): New typedef.
19892 (grub_menu_execute_with_fallback): New function declaration.
19893 (grub_menu_get_entry): Likewise.
19894 (grub_menu_get_timeout): Likewise.
19895 (grub_menu_set_timeout): Likewise.
19896
19897 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
19898
19899 * normal/menu.c (grub_wait_after_message): Moved to
19900 `normal/menu_text.c'.
19901 (draw_border): Likewise.
19902 (print_message): Likewise.
19903 (print_entry): Likewise.
19904 (print_entries): Likewise.
19905 (grub_menu_init_page): Likewise.
19906 (get_entry_number): Likewise.
19907 (print_timeout): Likewise.
19908 (run_menu): Likewise.
19909 (grub_menu_execute_entry): Likewise.
19910 (show_text_menu): Likewise.
19911 (get_and_remove_first_entry_number): New function.
19912 (grub_menu_execute_with_fallback): Likewise.
19913 (get_entry): Renamed to ...
19914 (grub_menu_get_entry): .. this and made it global.
19915 (get_timeout): Renamed to ...
19916 (grub_menu_get_timeout): ... this and made it global.
19917 (set_timeout): Renamed to ...
19918 (grub_menu_set_timeout): ... this and made it global.
19919 (grub_normal_terminal_menu_viewer): Renamed to ...
19920 (grub_normal_text_menu_viewer): ... this.
19921
19922 * normal/menu_text.c: New file. Extracted text-menu-specific code
19923 from normal/menu.c.
19924
19925 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
19926 (normal_mod_SOURCES): Likewise.
19927
19928 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19929 (normal_mod_SOURCES): Likewise.
19930
19931 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19932 (normal_mod_SOURCES): Likewise.
19933
19934 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
19935 (normal_mod_SOURCES): Likewise.
19936
19937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19938 (normal_mod_SOURCES): Likewise.
19939
19940 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19941 (normal_mod_SOURCES): Likewise.
19942
19943 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19944 (normal_mod_SOURCES): Likewise.
19945
16ac430e 199462009-02-11 Robert Millan <rmh@aybabtu.com>
19947
19948 * util/grub.d/00_header.in: Update old reference to `font' command.
19949
06ff20fc 199502009-02-10 Felix Zielcke <fzielcke@z-51.de>
19951
19952 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
19953
19954 Based on patch from Javier Martín.
19955
96da9407 199562009-02-09 Felix Zielcke <fzielcke@z-51.de>
19957
19958 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 19959 to avoid false positives with FAT.
96da9407 19960 (grub_fstest_SOURCES): Likewise.
19961 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19962 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19963 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19964 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19965 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19966 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19967
6dca6fe4 199682009-02-09 Felix Zielcke <fzielcke@z-51.de>
19969
06ff20fc 19970 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 19971 bpb.version_specific.fat12_or_fat16.fstype and
19972 bpb.version_specific.fat32.fstype.
19973
2550c62f 199742009-02-08 Robert Millan <rmh@aybabtu.com>
19975
be110b30 19976 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 19977
56978920 199782009-02-08 Robert Millan <rmh@aybabtu.com>
19979
19980 * Makefile.in (host_os, host_cpu): New variables.
19981 (target_os): Remove. Update all users.
19982
d64399b5 199832009-02-08 Marco Gerards <marco@gnu.org>
19984
19985 * Makefile.in (enable_grub_emu_usb): New variable.
19986 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
19987 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
19988 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
19989 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
19990 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
19991 `usbtest.mod' and `usbms.mod'.
19992 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
19993 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
19994 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
19995 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
19996 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
19997 variables.
19998
19999 * disk/usbms.c: New file.
20000
20001 * include/grub/usb.h: Likewise.
20002
20003 * include/grub/usbtrans.h: Likewise.
20004
20005 * include/grub/usbdesc.h: Likewise.
20006
20007 * bus/usb/usbtrans.c: Likewise.
20008
20009 * bus/usb/ohci.c: Likewise.
20010
20011 * bus/usb/uhci.c: Likewise.
20012
20013 * bus/usb/usbhub.c: Likewise.
20014
20015 * bus/usb/usb.c: Likewise.
20016
20017 * commands/usbtest.c: Likewise.
20018
20019 * util/usb.c: Likewise.
50fb7002 20020
d64399b5 20021 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
20022
20023 * configure.ac: Test for libusb presence.
50fb7002 20024
d64399b5 20025 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
20026
2b40d6bb 200272009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
20028
20029 * kern/mm.c: Add more comments.
20030
73a4ce81 200312009-02-08 Robert Millan <rmh@aybabtu.com>
20032
20033 Patch from Javier Martín.
20034 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
20035 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
20036
f821ce59 200372009-02-08 Robert Millan <rmh@aybabtu.com>
20038
20039 * fs/cpio.c: Split tar functionality to ...
20040 * fs/tar.c: ... here (new file). Update all users.
20041
aebfc4b0 200422009-02-07 Robert Millan <rmh@aybabtu.com>
20043
20044 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
20045 backward-incompatible features.
20046
20047 Based on patch from Javier Martín, with some adjustments.
20048
50fb7002 200492009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 20050
20051 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
20052
0bb5115e 200532009-02-07 Robert Millan <rmh@aybabtu.com>
20054
20055 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
20056 position of `disk/lvm.c' to ensure grub_init_all() always picks it
20057 after the RAID stuff.
20058
38a0f8e7 200592009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
20060
50fb7002 20061 Fixes problem when running vbetest command as reported by
38a0f8e7 20062 Vladimir Serbinenko <phcoder@gmail.com>.
20063
20064 * (grub_vbe_set_video_mode): Fixed problem with text modes.
20065
3143cc1c 200662009-02-04 Felix Zielcke <fzielcke@z-51.de>
20067
20068 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
20069 /dev/md/NpN style mdraid devices.
20070
9cba6fce 200712009-02-03 Felix Zielcke <fzielcke@z-51.de>
20072
20073 * util/unifont2pff.rb: Remove.
20074
e507a2c1 200752009-02-03 Felix Zielcke <fzielcke@z-51.de>
20076
20077 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
20078 `#'.
20079
d2c2b4cd 200802009-02-03 Felix Zielcke <fzielcke@z-51.de>
20081
20082 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
20083 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20084 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20085 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20087 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20088 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20089
b4315fb0 200902009-02-02 Christian Franke <franke@computer.org>
20091
20092 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
20093
de3aa260 200942009-02-01 Felix Zielcke <fzielcke@z-51.de>
20095
7c3ff286 20096 * INSTALL: Note that we now require at least autoconf 2.59 and
20097 that LZO is optional.
de3aa260 20098
825a182b 200992009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20100
20101 Base on patch on bug #24154 created by Tomas Tintera
20102 <trosos@seznam.cz>.
20103
20104 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
20105
a69ef770 201062009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20107
7c3ff286 20108 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 20109 <bero@arklinux.org>.
20110
20111 * normal/parser.y (script_init): Add missing semicolon.
20112
6fa42fa6 201132009-01-31 Colin D Bennett <colin@gibibit.com>
20114
7c3ff286 20115 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 20116 (free_menu_entry_classes): Added.
20117 (grub_normal_menu_addentry): Added class property handling.
20118 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
20119 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
20120
20121 * normal/menu_viewer.c: New file.
20122
20123 * normal/menu.c (run_menu_entry): Renamed to ...
20124 (grub_menu_execute_entry): ... this and made it as global.
20125 (grub_menu_run): Renamed to ...
20126 (show_text_menu): ... this and made it local.
20127 (show_text_menu): Adapt to new function names.
20128 (grub_normal_terminal_menu_viewer): New global variable.
20129
20130 * include/grub/menu.h: New file.
20131
20132 * include/grub/menu_viewer.h: New file.
20133
20134 * include/grub/normal.h: Added include to grub/menu.h.
20135 (grub_menu_entry): Moved to include/grub/menu.h.
20136 (grub_menu_entry_t): Likewise.
20137 (grub_menu): Likewise.
20138 (grub_menu_t): Likewise.
20139 (grub_normal_terminal_menu_viewer): Added.
20140 (grub_menu_execute_entry): Likewise.
20141 (grub_menu_run): Removed.
20142
20143 * DISTLIST: Added include/grub/menu.h.
20144 Added include/grub/menu_viewer.h.
20145 Added normal/menu_viewer.c.
20146
201472009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
20148
20149 * normal/execute.c (grub_script_execute_menuentry): Changed to use
20150 arglist for menutitle arguments.
20151
20152 * normal/main.c (grub_normal_menu_addentry): Likewise.
20153
20154 * normal/parser.y (menuentry): Likewise.
20155
20156 * normal/script.c (grub_script_create_cmdmenu): Likewise.
20157
20158 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
20159 (grub_script_create_cmdmenu): Likewise.
20160
20161 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
20162
20163 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
20164 changes.
20165
20166 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
20167
20168 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
20169
20170 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
20171
20172 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20173
20174 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20175
20176 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20177
56192c23 201782009-01-30 Christian Franke <franke@computer.org>
20179
20180 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
20181 in option help text.
20182
d72521b3 201832009-01-27 Pavel Roskin <proski@gnu.org>
20184
20185 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
20186
994b5e84 201872009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20188
20189 * commands/lsmmap.c: Add include to grub/machine/memory.h.
20190
20191 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
20192
20193 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
20194 unregister function.
20195
6a7eab2c 201962009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20197
20198 * disk/scsi.c (grub_scsi_read): Fix sign problem.
20199
20200 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
20201
20202 * util/grub-mkfont.c (usage): Fix typo.
20203
20204 * util/elf/grub-mkimage.c (load_modules): Fix warning.
20205
1806b56e 202062009-01-26 Daniel Mierswa <impulze@impulze.org>
20207
3fb18f09 20208 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
20209
336e1fb9 20210 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
20211
1806b56e 20212 * kern/misc.c (grub_strcasecmp): New function.
20213 (grub_strcasecmp): Use grub_size_t instead of int for length.
20214 Fix return value.
20215 * include/grub/misc.h: Update function prototypes.
20216
580b2a0f 202172009-01-26 Robert Millan <rmh@aybabtu.com>
20218
20219 * configure.ac: Fix cross-compilation check.
ef257b36 20220
d31c24f1 202212009-01-22 Christian Franke <franke@computer.org>
20222
20223 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
20224 (precision) digit string. Allow `.format2' without `format1' (width).
20225 Limit input chars for `%s' output to `format2' if specified. This is
20226 compatible with standard printf ().
20227
3138b44c 202282009-01-22 Christian Franke <franke@computer.org>
20229
20230 * disk/ata.c (grub_ata_wait_status): Replace by ...
20231 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
20232 other status bits may be invalid while BSY is asserted.
20233 (grub_ata_check_ready): New function.
20234 (grub_ata_cmd): Removed.
20235 (grub_ata_wait_drq): New function.
20236 (grub_ata_strncpy): Remove inline.
20237 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
20238 and error check now done by grub_ata_wait_drq ().
20239 (grub_ata_pio_write): Likewise.
20240 (grub_atapi_identify): Set DEV before check for !BSY. Use
20241 grub_ata_wait_drq () to wait for data.
20242 (grub_ata_device_initialize): Add status register check to
20243 detect missing SATA slave devices. Add debug messages.
20244 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
20245 (grub_atapi_packet): Set DEV before check for !BSY. Replace
20246 transfer loop by grub_ata_pio_write ().
20247 (grub_ata_identify): Set DEV before check for !BSY. Use
20248 grub_ata_wait_drq () to wait for data.
ef257b36 20249 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 20250 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
20251 read/write in one loop. Fix invalid command on write. Fix incomplete
20252 command on (size % batch) == 0. Add missing error check after write of
20253 last block. Add debug messages.
20254 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
20255
59a64ef6 202562009-01-19 Christian Franke <franke@computer.org>
20257
20258 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
20259 (GRUB_ATAPI_IREASON_*): Likewise.
20260 (grub_ata_pio_write): Fix timeout error return.
20261 (grub_atapi_identify): Add grub_ata_wait () after cmd.
20262 (grub_atapi_wait_drq): New function.
20263 (grub_atapi_packet): New parameter `size'.
20264 Use grub_atapi_wait_drq () and direct write instead of
20265 grub_ata_pio_write ().
20266 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
20267 reads the number of bytes requested by the device for each DRQ
20268 assertion.
20269 (grub_atapi_write): Remove old implementation, return not
20270 implemented instead.
20271
1cfe20b3 202722009-01-19 Christian Franke <franke@computer.org>
20273
20274 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
20275 of 512 to calculate data size.
20276 (grub_scsi_read12): Likewise.
20277 (grub_scsi_write10): Likewise.
20278 (grub_scsi_write12): Likewise.
20279 (grub_scsi_read): Adjust size according to blocksize.
20280 Add checks for invalid blocksize and unaligned transfer.
20281
bee5fe5d 202822009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
20283
20284 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
20285
ef257b36 20286 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 20287 width glyphs.
20288
3e643f8c 202892009-01-19 Robert Millan <rmh@aybabtu.com>
20290
20291 * config.guess: Update to latest version from config git.
20292 * config.sub: Likewise.
20293
4fa80998 202942009-01-17 Felix Zielcke <fzielcke@z-51.de>
20295
20296 * Makefile.in: Change font compilation to use new grub-mkfont instead
20297 of java version.
20298
20299 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
20300 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
20301 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20302 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20303 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
20304 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
20305 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
20306 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
20307 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
20308
7086085b 203092009-01-16 Christian Franke <franke@computer.org>
20310
20311 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
20312 (enum grub_ata_timeout_milliseconds): New enum.
20313 (grub_ata_wait_status): Add parameter milliseconds.
20314 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
20315 recovery from timed-out commands.
20316 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
20317 return grub_errno instead of REG_ERROR.
20318 (grub_ata_pio_write): Add parameter milliseconds.
20319 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
20320 Pass milliseconds to grub_ata_wait_status () and
20321 grub_ata_pio_read ().
20322 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
20323 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
20324 grub_ata_wait_status (). Fix IDENTIFY timeout check.
20325 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
20326 It is not suitable for device detection, because DEV bit is ignored,
20327 the command may run too long, and not all devices set the signature
20328 properly.
20329 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
20330 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
20331 Fix device selection, DEV bit must be set first to address the registers
20332 of the correct device.
20333 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
20334 grub_ata_pio_read/write ().
20335 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
20336 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
20337
4a412913 203382009-01-13 Carles Pina i Estany <carles@pina.cat>
20339
20340 * util/grub-editenv.c (main): Use fseeko(), not fseek().
20341
7795c55e 203422009-01-13 Bean <bean123ch@gmail.com>
d913988c 20343
20344 * util/grub-mkfont.c (write_font): forget to remove some debug code.
20345
7795c55e 203462009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 20347
20348 * Makefile.in: (enable_grub_mkfont): New variable.
20349 (freetype_cflags): Likewise.
20350 (freetype_libs): Likewise.
20351
20352 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
20353 (grub_mkfont_SOURCES): New variable.
20354 (grub_mkfont_CFLAGS): Likewise.
20355 (grub_mkfont_LDFLAGS): Likewise.
20356
20357 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
20358 library if `--enable-grub-mkfont' is requested.
20359 (enable_grub_mkfont): New variable.
20360 (freetype_cflags): Likewise.
20361 (freetype_libs): Likewise.
20362
20363 * util/grub-mkfont.c: New file.
20364
093af1fe 203652009-01-12 Christian Franke <franke@computer.org>
20366
20367 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
20368 mode check. Fix setting of compat_use[].
20369
f36cc108 203702009-01-10 Robert Millan <rmh@aybabtu.com>
20371
20372 Update a few copyright years which we forgot to do in 2008 (only for
20373 files whose changes made in 2008 were copyright-significant)
20374
20375 * Makefile.in: Add 2008 to Copyright line.
20376 * disk/ieee1275/ofdisk.c: Likewise.
20377 * disk/efi/efidisk.c: Likewise.
20378 * kern/dl.c: Likewise.
20379 * kern/sparc64/ieee1275/init.c: Likewise.
20380 * kern/mm.c: Likewise.
20381 * kern/efi/mm.c: Likewise.
20382 * boot/i386/pc/boot.S: Likewise.
20383 * genfslist.sh: Likewise.
20384 * fs/iso9660.c: Likewise.
20385 * fs/hfs.c: Likewise.
20386 * fs/jfs.c: Likewise.
20387 * fs/minix.c: Likewise.
20388 * fs/ufs.c: Likewise.
20389 * gensymlist.sh.in: Likewise.
20390 * genkernsyms.sh.in: Likewise.
20391 * include/grub/misc.h: Likewise.
20392 * include/grub/types.h: Likewise.
20393 * include/grub/symbol.h: Likewise.
20394 * include/grub/elf.h: Likewise.
20395 * include/grub/kernel.h: Likewise.
20396 * include/grub/disk.h: Likewise.
20397 * include/grub/dl.h: Likewise.
20398 * include/grub/i386/linux.h: Likewise.
20399 * include/grub/i386/pc/biosdisk.h: Likewise.
20400 * include/grub/efi/api.h: Likewise.
20401 * include/grub/efi/pe32.h: Likewise.
20402 * include/grub/util/misc.h: Likewise.
20403 * normal/execute.c: Likewise.
20404 * normal/arg.c: Likewise.
20405 * normal/completion.c: Likewise.
20406 * normal/lexer.c: Likewise.
20407 * normal/parser.y: Likewise.
20408 * normal/misc.c: Likewise.
20409 * commands/i386/pc/vbeinfo.c: Likewise.
20410 * commands/hexdump.c: Likewise.
20411 * commands/terminal.c: Likewise.
20412 * commands/ls.c: Likewise.
20413 * commands/help.c: Likewise.
20414 * partmap/pc.c: Likewise.
20415 * loader/efi/chainloader.c: Likewise.
20416 * loader/multiboot_loader.c: Likewise.
20417 * loader/i386/pc/multiboot2.c: Likewise.
20418 * term/efi/console.c: Likewise.
20419 * term/i386/pc/serial.c: Likewise.
20420 * util/lvm.c: Likewise.
20421 * util/console.c: Likewise.
20422 * util/i386/efi/grub-mkimage.c: Likewise.
20423 * util/raid.c: Likewise.
20424
7f02114b 204252009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
20426
20427 * commands/videotest.c: Removed include to grub/machine/memory.h.
20428
20429 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
20430 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
20431 (video_mod_SOURCES): Removed.
20432 (video_mod_CFLAGS): Likewise.
20433 (video_mod_LDFLAGS): Likewise.
20434 (gfxterm_mod_SOURCES): Likewise.
20435 (gfxterm_mod_CFLAGS): Likewise.
20436 (gfxterm_mod_LDFLAGS): Likewise.
20437 (videotest_mod_SOURCES): Likewise.
20438 (videotest_mod_CFLAGS): Likewise.
20439 (videotest_mod_LDFLAGS): Likewise.
20440 (bitmap_mod_SOURCES): Likewise.
20441 (bitmap_mod_CFLAGS): Likewise.
20442 (bitmap_mod_LDFLAGS): Likewise.
20443 (tga_mod_SOURCES): Likewise.
20444 (tga_mod_CFLAGS): Likewise.
20445 (tga_mod_LDFLAGS): Likewise.
20446 (jpeg_mod_SOURCES): Likewise.
20447 (jpeg_mod_CFLAGS): Likewise.
20448 (jpeg_mod_LDFLAGS): Likewise.
20449 (png_mod_SOURCES): Likewise.
20450 (png_mod_CFLAGS): Likewise.
20451 (png_mod_LDFLAGS): Likewise.
20452
20453 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
20454 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
20455 (video_mod_SOURCES): Added.
20456 (video_mod_CFLAGS): Likewise.
20457 (video_mod_LDFLAGS): Likewise.
20458 (videotest_mod_SOURCES): Likewise.
20459 (videotest_mod_CFLAGS): Likewise.
20460 (videotest_mod_LDFLAGS): Likewise.
20461 (bitmap_mod_SOURCES): Likewise.
20462 (bitmap_mod_CFLAGS): Likewise.
20463 (bitmap_mod_LDFLAGS): Likewise.
20464 (tga_mod_SOURCES): Likewise.
20465 (tga_mod_CFLAGS): Likewise.
20466 (tga_mod_LDFLAGS): Likewise.
20467 (jpeg_mod_SOURCES): Likewise.
20468 (jpeg_mod_CFLAGS): Likewise.
20469 (jpeg_mod_LDFLAGS): Likewise.
20470 (png_mod_SOURCES): Likewise.
20471 (png_mod_CFLAGS): Likewise.
20472 (png_mod_LDFLAGS): Likewise.
20473 (gfxterm_mod_SOURCES): Likewise.
20474 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 20475 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 20476
20477 * term/gfxterm.c: Removed include to grub/machine/memory.h,
20478 grub/machine/console.h.
20479
644fff97 204802009-01-04 Jerone Young <jerone@gmail.com>
20481
20482 Make on screen instructions clearer
20483
20484 Based on patch created by Jidanni <jidanni@jidanni.org>
20485
20486 * normal/menu.c: print clearer instructions on the screen
20487
1e901a75 204882009-01-02 Colin D Bennett <colin@gibibit.com>
20489
20490 New font engine.
34c44600 20491
1e901a75 20492 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
20493 build system and fixed gfxterm.c to work with different sized fonts.
20494
20495 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 20496
1e901a75 20497 * configure: Re-generated.
34c44600 20498
1e901a75 20499 * DISTLIST: Removed font/manager.c.
20500 Added font/font.c.
20501 Added font/font_cmd.c.
34c44600 20502
1e901a75 20503 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
20504 compilation.
34c44600 20505
1e901a75 20506 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 20507
20508 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 20509
20510 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 20511
1e901a75 20512 * normal/menu.c: Likewise.
34c44600 20513
1e901a75 20514 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
20515 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 20516
1e901a75 20517 * include/grub/font.h: Replaced with new file.
34c44600 20518
1e901a75 20519 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
20520 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
20521 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
20522 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
20523 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 20524 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 20525 fg_red, fg_green, fg_blue, fg_alpha.
20526 (grub_video_adapter): Removed blit_glyph.
34c44600 20527 (grub_video_blit_glyph): Removed.
20528
1e901a75 20529 * font/manager.c: Removed file.
34c44600 20530
20531 * font/font.c: New file.
20532
1e901a75 20533 * font/font_cmd.c: Likewise.
34c44600 20534
1e901a75 20535 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 20536
1e901a75 20537 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
20538 (grub_video_vbe_map_rgba): Likewise.
20539 (grub_video_vbe_unmap_color_int): Likewise.
20540 (grub_video_vbe_blit_glyph): Removed.
20541 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 20542
1e901a75 20543 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
20544 (get_pixel): Likewise.
34c44600 20545 (set_pixel): Likewise.
20546
1e901a75 20547 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 20548
1e901a75 20549 * term/gfxterm.c: Adapted to new font engine.
34c44600 20550
1e901a75 20551 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 20552
1e901a75 20553 * term/i386/pc/vga.c: Likewise.
34c44600 20554
1e901a75 20555 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 20556
1e901a75 20557 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 20558
1e901a75 20559 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 20560
1e901a75 20561 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 20562
1e901a75 20563 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 20564
1e901a75 20565 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 20566
1e901a75 20567 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 20568
1e901a75 20569 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 20570
1e901a75 20571 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
20572
20573 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 20574
1e901a75 20575 * util/grub-mkconfig_lib.in: Changed font extension.
20576
278922e8 205772008-12-28 Felix Zielcke <fzielcke@z-51.de>
20578
20579 * util/getroot.c (grub_util_get_grub_dev): Add support for
20580 /dev/md/dNNpNN style partitionable mdraid devices.
20581
3ced05cf 205822008-12-12 Alex Smith <alex@alex-smith.me.uk>
20583
20584 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
20585 at a time limit of the PXE TFTP API correctly.
20586 (grub_pxefs_close): Likewise.
20587
7fd0ee30 205882008-11-29 Robert Millan <rmh@aybabtu.com>
20589
34c44600 20590 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 20591 grub_ata_device_initialize() calls.
20592
34c44600 205932008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 20594
20595 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
20596 iteration failed.
20597 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
20598
89313780 205992008-11-28 Robert Millan <rmh@aybabtu.com>
20600
20601 Fix build on powerpc-ieee1275. Based on patch created by
20602 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
20603 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20604 `kern/ieee1275/mmap.c'.
20605 * include/grub/powerpc/ieee1275/memory.h: New file.
20606
15257703 20607 Provide grub-install on coreboot.
20608 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
20609 (grub_install_SOURCES): New variable.
20610 * util/i386/pc/grub-install.in: Add a few condition checks to make it
20611 usable on coreboot.
20612
9fc5388a 206132008-11-25 Felix Zielcke <fzielcke@z-51.de>
20614
20615 * util/grub-fstest.c (grub_term_get_current_input): Change return type
20616 to `grub_term_input_t'.
20617 (grub_term_get_current_output): Change return type to
20618 `grub_term_output_t'.
20619
bc3a2f31 206202008-11-22 Robert Millan <rmh@aybabtu.com>
20621
34c44600 20622 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 20623 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
20624 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
20625 grub_vga_text_cls().
20626
80fc88f2 20627 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 20628 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 20629
cbf36fd3 20630 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
20631 to 0x200000 (avoids trouble with some OFW implementations, and matches
20632 with the one in Yaboot).
20633 Reported by Manoel Abranches
20634
73e8e268 206352008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 20636
20637 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
20638 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
20639
73e8e268 20640 * util/grub-mkconfig_lib.in (grub_warn): New function.
20641 (convert_system_path_to_grub_path): Use grub_warn() when issuing
20642 warnings, to obtain consistent formatting.
20643 * util/grub.d/00_header.in: Likewise.
20644 * util/update-grub_lib.in: Likewise.
20645
e94045a1 20646 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 20647 Move comment text to `#error' stanza.
e94045a1 20648
79d29fd7 20649 Harmonize ieee1275's grub_available_iterate() with the generic
20650 grub_machine_mmap_iterate() interface (fixes a recently-introduced
20651 build problem on i386-ieee1275):
20652 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
20653 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
20654 parameter `type'. Update all users of this function.
20655 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20656 `kern/ieee1275/mmap.c'.
20657 * kern/ieee1275/init.c
20658 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
20659 with ...
20660 (grub_machine_mmap_iterate): ... this.
20661 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
20662 return type to `grub_err_t'. Update all implementations of this
20663 function prototype.
20664 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
20665 Likewise.
20666
60d6b16e 20667 Add `lsmmap' command (lists firmware-provided memory map):
20668 * commands/lsmmap.c: New file.
20669 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
20670 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
20671 variables.
20672 * conf/powerpc-ieee1275.rmk: Likewise.
20673 * conf/i386-coreboot.rmk: Likewise.
20674 * conf/i386-ieee1275.rmk: Likewise.
20675
ebaaf49b 206762008-11-19 Robert Millan <rmh@aybabtu.com>
20677
20678 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 20679 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
20680 constraints to initrd allocation (based on code from
20681 loader/i386/pc/linux.c). Without them, initrd was allocated too high
20682 for Linux to find it.
ebaaf49b 20683
dfab719f 206842008-11-14 Robert Millan <rmh@aybabtu.com>
20685
20686 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
20687 order to cope with duplicate slashes.
20688
10fc3eb9 206892008-11-14 Robert Millan <rmh@aybabtu.com>
20690
20691 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
20692 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
20693 don't want to mess with lower memory, because it is used in the Linux
20694 loader.
20695
20696 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 20697 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 20698 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
20699 is in our heap (probably as a result of it being corrupted during
2f2a3442 20700 decompression). Add #error instance with comment to explain why this
20701 loader isn't currently usable on PC/BIOS.
10fc3eb9 20702
e2e07847 207032008-11-14 Robert Millan <rmh@aybabtu.com>
20704
20705 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 20706 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 20707
fe8e8d69 207082008-11-12 Robert Millan <rmh@aybabtu.com>
20709
20710 Make loader/i386/linux.c buildable on i386-pc (although disabled).
20711
20712 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
20713 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
20714 from here ...
20715 * include/grub/i386/pc/memory.h: ... to here.
20716
976b07d0 207172008-11-12 Robert Millan <rmh@aybabtu.com>
20718
20719 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
20720 split).
20721
20722 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
20723 (grub_console_cur_color, grub_console_real_putchar)
20724 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
20725 (grub_console_setcolorstate, grub_console_setcolor)
20726 (grub_console_getcolor): Move from here ...
20727 * include/grub/i386/vga_common.h: ... to here (new file).
20728
20729 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
20730 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
20731 `<grub/i386/io.h>'.
20732 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
20733 `<grub/i386/vga_common.h>'.
20734
76679cd3 207352008-11-12 Robert Millan <rmh@aybabtu.com>
20736
20737 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
20738 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
20739 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
20740 variables.
20741 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
20742 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
20743
20744 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
20745 grub_console_init() with call to grub_vga_text_init().
20746 (grub_machine_fini): Replace call to
20747 grub_console_fini() with call to grub_vga_text_fini() and
20748 grub_at_keyboard_fini().
20749
20750 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
20751 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
20752 (grub_console_setcolorstate, grub_console_setcolor)
20753 (grub_console_getcolor): New function prototypes.
20754
20755 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
20756 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
20757 (grub_vga_text_setcursor): Static-ize.
20758 (grub_vga_text_term): New structure.
20759 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
20760
20761 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
20762 (grub_console_cur_color, grub_console_standard_color)
20763 (grub_console_normal_color, grub_console_highlight_color)
20764 (map_char, grub_console_putchar, grub_console_getcharwidth)
20765 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
20766 (grub_console_getcolor): Move from here ...
20767 * term/i386/vga_common.c: ... to here (same function names).
20768
95b841d3 207692008-11-12 Robert Millan <rmh@aybabtu.com>
20770
20771 Use newly-added Multiboot support in coreboot.
20772
20773 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
20774 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
20775
20776 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
20777 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
20778 (codestart): Store the MBI in `startup_multiboot_info' when we're
20779 being loaded using Multiboot.
20780
20781 * kern/i386/coreboot/init.c (grub_machine_init): Move
20782 grub_at_keyboard_init() call to beginning of function (useful for
20783 debugging). Call grub_machine_mmap_init() before attempting to use
20784 grub_machine_mmap_iterate().
20785 (grub_lower_mem, grub_upper_mem): Move from here ...
20786 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
20787 here (new file).
20788
20789 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
20790 function prototype.
20791
761ca975 207922008-11-12 Robert Millan <rmh@aybabtu.com>
20793
20794 Fix a regression introduced by the at_keyboard.mod split. Because
20795 some terminals are default on some platforms and non-default on
20796 others, the first terminal being registered determines which is
20797 going to be default.
20798
20799 * kern/term.c (grub_term_register_input): If this is the first
20800 terminal being registered, set it as the current one.
20801 (grub_term_register_output): Likewise.
20802
20803 * term/efi/console.c (grub_console_init): Do not call
20804 grub_term_set_current_output() or grub_term_set_current_input().
20805 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
20806 * term/i386/pc/console.c (grub_console_init): Likewise.
20807 (grub_console_fini): Do not call grub_term_set_current_input()
20808 (but leave grub_term_set_current_output() to restore text mode).
20809
6c529df7 208102008-11-10 Robert Millan <rmh@aybabtu.com>
20811
20812 * util/grub.d/00_header.in: Add backward compatibility check for
20813 versions of terminal.mod that don't understand `terminal_input' or
20814 `terminal_output'.
20815
132e4113 208162008-11-09 Robert Millan <rmh@aybabtu.com>
20817
20818 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
20819 `terminal_input' / `terminal_output', not `terminal'.
20820
ac293d50 208212008-11-08 Robert Millan <rmh@aybabtu.com>
20822
20823 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 20824 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 20825
0025933a 208262008-11-08 Robert Millan <rmh@aybabtu.com>
20827
20828 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 20829 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 20830 members. Update all users.
20831 * util/console.c (grub_ncurses_term): Split in ...
20832 (grub_ncurses_term_input): ... this, and ...
20833 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 20834 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 20835
37c86336 208362008-11-08 Robert Millan <rmh@aybabtu.com>
20837
20838 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
20839 (PKGDATA): Add $(pkgdata_SRCDIR).
20840 (pkglib_BUILDDIR): New variable.
20841 (pkgdata_SRCDIR): New variable.
20842 (build_env.mk): New target.
20843 (include_DATA): New variable.
20844 (install-local): Install $(include_DATA) files in $(includedir).
20845
b6c15a2d 208462008-11-07 Pavel Roskin <proski@gnu.org>
20847
d99d46f1 20848 * gendistlist.sh: Use C locale for sorting to ensure consistent
20849 output on all systems.
20850
b6c15a2d 20851 * util/grub.d/00_header.in: Remove incorrect space before
20852 "serial".
20853
c32ee8c9 208542008-11-07 Robert Millan <rmh@aybabtu.com>
20855
20856 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
20857 per specification.
20858 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
20859 * loader/multiboot_loader.c (find_multi_boot2_header): New function
20860 (based on find_multi_boot1_header).
20861 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
20862 using find_multi_boot2_header(), and abort if neither Multiboot or
20863 Multiboot headers were found.
20864
651c29b7 208652008-11-07 Robert Millan <rmh@aybabtu.com>
20866
20867 Modularize at_keyboard.mod:
20868
20869 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
20870 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20871 (at_keyboard_mod_LDFLAGS): New variables.
20872
20873 Actual terminal split:
20874
20875 * include/grub/term.h (struct grub_term): Split in ...
20876 (struct grub_term_input): ... this, and ...
20877 (struct grub_term_output): ... this. Update all users.
20878 (grub_term_set_current): Split in ...
20879 (grub_term_set_current_input): ... this, and ...
20880 (grub_term_set_current_output): ... this.
20881 (grub_term_get_current): Split in ...
20882 (grub_term_get_current_input): ... this, and ...
20883 (grub_term_get_current_output): ... this.
20884 (grub_term_register): Split in ...
20885 (grub_term_register_input): ... this, and ...
20886 (grub_term_register_output): ... this.
20887 (grub_term_unregister): Split in ...
20888 (grub_term_unregister_input): ... this, and ...
20889 (grub_term_unregister_output): ... this.
20890 (grub_term_iterate): Split in ...
20891 (grub_term_iterate_input): ... this, and ...
20892 (grub_term_iterate_output): ... this.
20893
20894 * kern/term.c (grub_term_list): Split in ...
20895 (grub_term_list_input): ... this, and ...
20896 (grub_term_list_output): ... this. Update all users.
20897 (grub_cur_term): Split in ...
20898 (grub_cur_term_input): ... this, and ...
20899 (grub_cur_term_output): ... this. Update all users.
20900 (grub_term_set_current): Split in ...
20901 (grub_term_set_current_input): ... this, and ...
20902 (grub_term_set_current_output): ... this.
20903 (grub_term_get_current): Split in ...
20904 (grub_term_get_current_input): ... this, and ...
20905 (grub_term_get_current_output): ... this.
20906 (grub_term_register): Split in ...
20907 (grub_term_register_input): ... this, and ...
20908 (grub_term_register_output): ... this.
20909 (grub_term_unregister): Split in ...
20910 (grub_term_unregister_input): ... this, and ...
20911 (grub_term_unregister_output): ... this.
20912 (grub_term_iterate): Split in ...
20913 (grub_term_iterate_input): ... this, and ...
20914 (grub_term_iterate_output): ... this.
20915
20916 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
20917 a check for input and one for output (and only attempt to get keys
20918 from user when input works).
20919
20920 * util/grub-probe.c (grub_term_get_current): Split in ...
20921 (grub_term_get_current_input): ... this, and ...
20922 (grub_term_get_current_output): ... this.
20923 * util/grub-fstest.c: Likewise.
20924 * util/i386/pc/grub-setup.c: Likewise.
20925 * util/grub-editenv.c: Likewise.
20926
20927 Portability adjustments:
20928
20929 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
20930 `term/i386/pc/at_keyboard.c'.
20931 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
20932 grub_keyboard_controller_init() (now handled by terminal .init).
20933 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
20934 grub_at_keyboard_init().
20935 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
20936 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
20937 at_keyboard.mod via input terminal interface).
20938 * include/grub/i386/coreboot/console.h: Convert into a stub for
20939 `<grub/i386/pc/console.h>'.
20940
20941 Migrate full terminals to new API:
20942
20943 * term/efi/console.c (grub_console_term): Split into ...
20944 (grub_console_term_input): ... this, and ...
20945 (grub_console_term_output): ... this. Update all users.
20946 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
20947 (grub_ofconsole_init): Split into ...
20948 (grub_ofconsole_init_input): ... this, and ...
20949 (grub_ofconsole_init_output): ... this.
20950 (grub_ofconsole_term): Split into ...
20951 (grub_ofconsole_term_input): ... this, and ...
20952 (grub_ofconsole_term_output): ... this. Update all users.
20953 * term/i386/pc/serial.c (grub_serial_term): Split into ...
20954 (grub_serial_term_input): ... this, and ...
20955 (grub_serial_term_output): ... this. Update all users.
20956 * term/i386/pc/console.c (grub_console_term): Split into ...
20957 (grub_console_term_input): ... this, and ...
20958 (grub_console_term_output): ... this. Update all users.
20959 (grub_console_term_input): Only enable it on PC/BIOS platform.
20960 (grub_console_init): Remove grub_keyboard_controller_init() call.
20961
20962 Migrate input terminals to new API:
20963
20964 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
20965 `i386' and `i386/pc' to enable build on x86_64 (this driver is
20966 i386-specific anyway).
20967 (grub_console_checkkey): Rename to ...
20968 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
20969 users.
20970 (grub_keyboard_controller_orig): New variable.
20971 (grub_console_getkey): Rename to ...
20972 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
20973 users.
20974 (grub_keyboard_controller_init): Static-ize. Save original
20975 controller value so that it can be restored ...
20976 (grub_keyboard_controller_fini): ... here (new function).
20977 (grub_at_keyboard_term): New structure.
20978 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
20979 functions.
20980
20981 Migrate output terminals to new API:
20982
20983 * term/i386/pc/vga.c (grub_vga_term): Change type to
20984 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20985 members. Update all users.
20986 * term/gfxterm.c (grub_video_term): Change type to
20987 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20988 members. Update all users.
20989 * include/grub/i386/pc/console.h (grub_console_checkkey)
20990 (grub_console_getkey): Do not export (no longer needed by gfxterm,
20991 etc).
20992
20993 Migrate `terminal' command and userland tools to new API:
20994
20995 * commands/terminal.c (grub_cmd_terminal): Split into ...
20996 (grub_cmd_terminal_input): ... this, and ...
20997 (grub_cmd_terminal_output): ... this.
20998 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
20999 `terminal_input' and `terminal_output'.
21000 * util/grub.d/00_header.in: Adjust `terminal' calls to new
21001 `terminal_input' / `terminal_output' API.
21002 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
21003 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
21004 provided ${GRUB_TERMINAL}, convert it).
21005
96e5d876 210062008-11-04 Robert Millan <rmh@aybabtu.com>
21007
21008 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
21009 for FreeBSD.
21010 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
21011
556f3775 210122008-11-03 Bean <bean123ch@gmail.com>
21013
21014 * kern/elf.c (grub_elf32_load): Revert to previous code.
21015 (grub_elf64_load): Likewise.
21016
21017 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
21018
926b9823 210192008-11-01 Robert Millan <rmh@aybabtu.com>
21020
21021 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
21022 (TARGET_CPPFLAGS): Likewise.
21023 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
21024
1432e958 210252008-11-01 Carles Pina i Estany <carles@pina.cat>
21026
21027 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
21028
dba3f844 210292008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 21030
21031 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
21032 addition of objects until the code is not going to be able to fail.
21033
dba3f844 210342008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 21035
21036 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
21037 (add a missing NULL check, and correct them by moving the pointer
21038 operations after the actual check).
21039
7ab28c21 210402008-10-29 Robert Millan <rmh@aybabtu.com>
21041
21042 * util/i386/pc/grub-install.in: Handle empty string as output from
21043 make_system_path_relative_to_its_root().
21044
1b7748eb 210452008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
21046
21047 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
21048 circular metadata worst case scenario. If the metadata is circular
21049 then copy the wrap in place.
21050 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
21051 project lib/format_text/layout.h
21052 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
21053
c9618ab2 210542008-10-03 Felix Zielcke <fzielcke@z-51.de>
21055
7a36edca 21056 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 21057
bf981c62 210582008-10-03 Felix Zielcke <fzielcke@z-51.de>
21059
21060 * util/update-grub_lib.in: Mention filename in warning message.
21061
6d994591 210622008-09-29 Felix Zielcke <fzielcke@z-51.de>
21063
21064 * NEWS: Update for rename of update-grub to grub-mkconfig.
21065
18ade780 210662008-09-29 Felix Zielcke <fzielcke@z-51.de>
21067
21068 * util/update-grub_lib.in: Copy to ...
21069 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 21070 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 21071 * util/update-grub.in: Rename to ...
21072 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
21073 option. Add `--output' option to allow users to specify the generated
21074 configuration file. Default to stdout.
21075 (update_grub_dir): Rename to ...
21076 (grub_mkconfig_dir): ... this.
21077 (grub_cfg): Default to an empty string.
21078 * conf/common.rmk (update-grub): Rename to ...
21079 (grub-mkconfig): ... this.
21080 (update-grub_lib): Copy to ...
21081 (grub-mkconfig_lib): ... this.
21082 (update-grub_SCRIPTS): Copy to ...
21083 (grub-mkconfig_SCRIPTS): ... this. Update all users.
21084 (update-grub_DATA): Rename to ...
21085 (grub-mkconfig_DATA): ... this.
21086
556ce6ac 210872008-09-28 Robert Millan <rmh@aybabtu.com>
21088
21089 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
21090 to `modified'. Add the real `created' field.
21091 (grub_iso9660_uuid): Use `modified' rather than `created' for
21092 constructing the UUID.
21093
210942008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 21095
21096 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
21097 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
21098
92274e85 210992008-09-28 Bean <bean123ch@gmail.com>
21100
21101 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
21102 Thanks to Christian Franke for finding this bug.
21103
add6f17a 211042008-09-25 Robert Millan <rmh@aybabtu.com>
21105
21106 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
21107 instances of grub_util_get_disk_name() (see previous commit).
21108
d2a367b8 211092008-09-25 Robert Millan <rmh@aybabtu.com>
21110
21111 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
21112 `util/i386/get_disk_name.c'.
21113 * conf/i386-efi.rmk: Likewise.
21114 * conf/x86_64-efi.rmk: Likewise.
21115 * conf/i386-coreboot.rmk: Likewise.
21116 * conf/i386-ieee1275.rmk: Likewise.
21117 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
21118 `util/ieee1275/get_disk_name.c'.
21119 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
21120 * util/ieee1275/get_disk_name.c: Remove file.
21121 * util/i386/get_disk_name.c: Remove file.
21122 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
21123 "hd%d" for device.map entries, rather than using
21124 grub_util_get_disk_name().
21125
81a06771 211262008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 21127
21128 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
21129 warning.
21130 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
21131
5a004279 211322008-09-24 Carles Pina i Estany <carles@pina.cat>
21133
21134 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
21135 Changed to 0x5100.
21136 (GRUB_TERM_PPAGE): Changed to 0x4900.
21137
397093d3 211382008-09-24 Robert Millan <rmh@aybabtu.com>
21139
21140 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
21141 macros (they were i386-pc specific).
21142 * include/grub/sparc64/ieee1275/console.h: Likewise.
21143 * include/grub/efi/console.h: Likewise.
21144
a91b6c7c 211452008-09-22 Bean <bean123ch@gmail.com>
21146
21147 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
21148 resident and in attribute list.
21149
21150 * include/grub/ntfs.h (BMP_LEN): Removed.
21151
c40fd116 211522008-09-22 Bean <bean123ch@gmail.com>
21153
81a06771 21154 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 21155 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
21156
21157 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
21158 error occurs, as grub_disk_open will call grub_disk_close, which will
21159 call p->close (scsi).
21160
81a06771 211612008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 21162
21163 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
21164 (AC_PREREQ): Bumped to 2.59.
21165 (AC_TRY_COMPILE): Replace obsolete macro with ...
21166 (AC_COMPILE_IFELSE): ... this.
21167 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
21168 (AC_LINK_IFELSE): ... this.
21169
5dc43410 211702008-09-21 Felix Zielcke <fzielcke@z-51.de>
21171
21172 * autogen.sh: Add a call to `gendistlist.sh'.
21173
9035dce4 211742008-09-19 Christian Franke <franke@computer.org>
21175
21176 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
21177 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
21178 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
21179 Export __enable_execute_stack() to modules.
21180 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
21181 New function.
21182
7fd75377 211832008-09-09 Felix Zielcke <fzielcke@z-51.de>
21184
040030b3 21185 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
21186 Sort the list.
21187
211882008-09-09 Felix Zielcke <fzielcke@z-51.de>
21189
21190 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 21191 #include <grub/util/hostdisk.h>.
21192
89d5ffcf 211932008-09-08 Robert Millan <rmh@aybabtu.com>
21194
21195 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
21196 segments when their filesz is zero (grub_file_read() interprets
81a06771 21197 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 21198 Use `lowest_segment' rather than 0 for calculating the current
21199 segment load address.
21200
40da438f 212012008-09-08 Robert Millan <rmh@aybabtu.com>
21202
21203 * util/hostdisk.c (open_device): Replace a grub_util_info() call
21204 with grub_dprintf("hostdisk", ...), as it was so verbose that it
21205 clobbered useful information.
21206
ddbf5556 212072008-09-08 Robert Millan <rmh@aybabtu.com>
21208
21209 * include/grub/util/biosdisk.h: Move to ...
21210 * include/grub/util/hostdisk.h: ... here. Update all users.
21211 * util/biosdisk.c: Move to ...
21212 * util/hostdisk.c: ... here. Update all users.
21213
783d0f48 212142008-09-07 Robert Millan <rmh@aybabtu.com>
21215
21216 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
21217 variables.
21218 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
21219 and length can be stored directly in the `mbi->mmap_addr' and
21220 `mbi->mmap_length' struct fields.
21221
548e2ea5 212222008-09-07 Robert Millan <rmh@aybabtu.com>
21223
21224 * conf/i386.rmk: New file. Provides declaration for building
21225 `cpuid.mod'.
21226 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
21227 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
21228 variables.
21229 Include `conf/i386.mk'.
21230 * conf/i386-efi.rmk: Likewise.
21231 * conf/x86_64-efi.rmk: Likewise.
21232 * conf/i386-coreboot.rmk: Likewise.
21233 * conf/i386-ieee1275.rmk: Likewise.
21234
0ea85a37 212352008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
21236
21237 Based on patch created by Colin D Bennett <colin@gibibit.com>.
21238 Adds optimization support for BGR based modes.
21239
21240 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
21241 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
21242 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21243 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21244 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21245 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21246 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21247 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21248 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21249 (grub_video_i386_vbeblit_index_index): Likewise.
21250 (grub_video_i386_vbeblit_replace_directN): Added.
21251 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
21252 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
21253 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
21254 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
21255 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
21256 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 21257 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 21258 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
21259 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
21260 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
21261 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
21262 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
21263 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
21264
21265 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
21266 (grub_video_i386_vbefill_R8G8B8): Likewise.
21267 (grub_video_i386_vbefill_index): Likewise.
21268 (grub_video_i386_vbefill_direct32): Added.
21269 (grub_video_i386_vbefill_direct24): Likewise.
21270 (grub_video_i386_vbefill_direct16): Likewise.
21271 (grub_video_i386_vbefill_direct8): Likewise.
21272
81a06771 21273 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 21274 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
21275 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
21276 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
21277 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
21278 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 21279
0ea85a37 21280 * video/video.c (grub_video_get_blit_format): Updated to use new
21281 blit formats. Added handling for 16 bit color modes.
81a06771 21282
21283 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 21284 fillers.
21285 (common_blitter): Updated to use new blitters.
21286
21287 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
21288 Removed.
21289 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
21290 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21291 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21292 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21293 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21294 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21295 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21296 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21297 (grub_video_i386_vbeblit_index_index): Likewise.
21298 (grub_video_i386_vbeblit_replace_directN): Added.
21299 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
21300 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
21301 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
21302 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
21303 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
21304 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
21305 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
21306 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
21307 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
21308 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
21309 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
21310 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
21311 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 21312
0ea85a37 21313 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
21314 (grub_video_i386_vbefill_R8G8B8): Likewise.
21315 (grub_video_i386_vbefill_index): Likewise.
21316 (grub_video_i386_vbefill_direct32): Added.
21317 (grub_video_i386_vbefill_direct24): Likewise.
21318 (grub_video_i386_vbefill_direct16): Likewise.
21319 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 21320
0ea85a37 21321 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
21322 types.
81a06771 21323
0ea85a37 21324 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
21325 types.
81a06771 21326
0ea85a37 21327 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
21328 blitter types.
81a06771 21329
0ea85a37 21330 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
21331 types.
21332
e8a83df6 213332008-09-06 Felix Zielcke <fzielcke@z-51.de>
21334
21335 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
21336 RAID level 1.
21337
6bcd8ee5 213382008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 21339
6bcd8ee5 21340 * fs/iso9660.c (grub_iso9660_date): New structure.
21341 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
21342 (grub_iso9660_uuid): New function.
c375ae58 21343
59261157 213442008-09-05 Bean <bean123ch@gmail.com>
21345
21346 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
21347
21348 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
21349 insensitive bit for names in Win32 and Win32 & DOS namespace.
21350
21351 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
21352
21353 * include/grub/types.h (LONG_MAX): Likewise.
21354
58b6645a 213552008-09-04 Felix Zielcke <fzielcke@z-51.de>
21356
4ee55921 21357 * util/getroot.c: Include <config.h>.
21358 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
21359 add support for /dev/md/N devices and handle LVM double dash escaping.
21360
213612008-09-04 Felix Zielcke <fzielcke@z-51.de>
21362
21363 * config.guess: Update to latest version from config git.
21364 * config.sub: Likewise.
58b6645a 21365
9124f65d 213662008-09-03 Robert Millan <rmh@aybabtu.com>
21367
21368 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
21369 `disk->total_sectors'.
21370
81a06771 213712008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 21372
21373 * include/grub/normal.h: Fixed incorrect comment for
21374 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
21375
81a06771 213762008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 21377
21378 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
21379 values with defines.
21380
21381 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
21382 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
21383 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
21384 (GRUB_VBE_MODEATTR_COLOR): Likewise.
21385 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
21386 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
21387 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
21388 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
21389 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
21390 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
21391 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
21392 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
21393 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
21394 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
21395 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
21396 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
21397 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
21398 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
21399 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
21400
93d5cbf8 214012008-08-31 Robert Millan <rmh@aybabtu.com>
21402
21403 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
21404 declaration.
21405 (grub_multiboot): Fix a few warnings.
21406
21751d50 214072008-08-31 Robert Millan <rmh@aybabtu.com>
21408
21409 * loader/i386/pc/multiboot.c: Update comment not to say that
21410 boot_device support is unimplemented.
21411
e27a75c5 214122008-08-31 Robert Millan <rmh@aybabtu.com>
21413
21414 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
21415 or memory map support are unimplemented.
21416
81a06771 214172008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 21418
21419 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
21420
81a06771 214212008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 21422
21423 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
21424 total video memory in 'vbeinfo' output; show color format details for
21425 each video mode.
21426
7c5d8d95 214272008-08-30 Pavel Roskin <proski@gnu.org>
21428
21429 * util/genmoddep.c: Remove for real this time.
21430 * DISTLIST: Remove util/genmoddep.c.
21431
4cebd25a 214322008-08-30 Robert Millan <rmh@aybabtu.com>
21433
21434 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
21435 as required by Multiboot spec (it was already 4-byte aligned, but
21436 only by chance).
21437
b497a269 214382008-08-29 Pavel Roskin <proski@gnu.org>
21439
e3925185 21440 * kern/powerpc/ieee1275/crt0.S: Rename to ...
21441 * kern/powerpc/ieee1275/startup.S: ... this.
21442 * conf/powerpc-ieee1275.rmk: Adjust for the above.
21443 * DISTLIST: Likewise.
21444
b497a269 21445 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
21446 grub/cpu/kernel.h. Add start label for consistency with other
21447 platforms. Add grub_prefix immediately after start. Add jump
21448 to the code after grub_prefix.
21449 * include/grub/powerpc/kernel.h: Provide valid values for
21450 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
21451
6e5a42fe 214522008-08-29 Bean <bean123ch@gmail.com>
21453
21454 * configure.ac: Change host_os to cygwin for mingw.
21455 (asprintf): New check for function.
21456
21457 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
21458 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
21459
21460 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 21461 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 21462 sync, sleep and grub_util_get_disk_size for mingw.
21463
21464 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
21465 to get size in mingw.
21466 (open_device): Use flag O_BINARY if it's defined.
21467 (find_root_device): Add dummy code for mingw.
21468
21469 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
21470 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
21471 (get_scsi_disk_name): Return 0 for mingw.
21472
21473 * util/hostfs.c: #include <grub/util/misc.h>.
21474 (grub_hostfs_open): Use "rb" flag to open file, use
21475 grub_util_get_disk_size to get disk size for mingw.
21476
21477 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
21478 (asprintf): New function if HAVE_ASPRINTF is not set.
21479 (sync): New function for mingw.
21480 (sleep): Likewise.
21481 (grub_util_get_disk_size): Likewise.
21482
ab3f2673 214832008-08-28 Pavel Roskin <proski@gnu.org>
21484
21485 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21486 kern/time.c.
21487
1c282483 214882008-08-28 Robert Millan <rmh@aybabtu.com>
21489
21490 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
21491
678e849c 214922008-08-28 Robert Millan <rmh@aybabtu.com>
21493
21494 Change find_grub_drive() syntax so it doesn't prevent it from
21495 detecting NULL names as errors.
21496
21497 * util/biosdisk.c (find_grub_drive): Move free slot search code
21498 from here ...
21499 (find_free_slot): ... to here.
21500 (read_device_map): Use find_free_slot() to search for free slots.
21501
965c75ca 215022008-08-27 Marco Gerards <marco@gnu.org>
21503
21504 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
21505 (scsi_mod_SOURCES): New variable.
21506 (scsi_mod_CFLAGS): Likewise
21507 (scsi_mod_LDFLAGS): Likewise.
21508
21509 * disk/scsi.c: New file.
21510
21511 * include/grub/scsi.h: Likewise.
21512
21513 * include/grub/scsicmd.h: Likewise.
21514
21515 * disk/ata.c: Include <grub/scsi.h>.
21516 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
21517 instead.
21518 (grub_ata_iterate): Skip ATAPI devices.
21519 (grub_ata_open): Only handle ATAPI devices.
21520 (struct grub_atapi_read): Removed.
21521 (grub_atapi_readsector): Likewise.
21522 (grub_ata_read): No longer handle ATAPI devices.
21523 (grub_ata_write): Likewise.
21524 (grub_atapi_iterate): New function.
21525 (grub_atapi_read): Likewise.
21526 (grub_atapi_write): Likewise.
21527 (grub_atapi_open): Likewise.
21528 (grub_atapi_close): Likewise.
21529 (grub_atapi_dev): New variable.
21530 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
21531 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
21532
21533 * include/grub/disk.h (enum grub_disk_dev_id): Add
21534 `GRUB_DISK_DEVICE_SCSI_ID'.
21535
c07ae501 215362008-08-26 Robert Millan <rmh@aybabtu.com>
21537
21538 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
21539 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
21540 descriptive.
21541
5ed20adc 215422008-08-23 Bean <bean123ch@gmail.com>
21543
21544 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
21545 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
21546 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
21547 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
21548 dm_nv.mod.
21549 (raid5rec_mod_SOURCES): New macro.
21550 (raid5rec_mod_CFLAGS): Likewise.
21551 (raid5rec_mod_LDFLAGS): Likewise.
21552 (raid6rec_mod_SOURCES): Likewise.
21553 (raid6rec_mod_CFLAGS): Likewise.
21554 (raid6rec_mod_LDFLAGS): Likewise.
21555 (mdraid_mod_SOURCES): Likewise.
21556 (mdraid_mod_CFLAGS): Likewise.
21557 (mdraid_mod_LDFLAGS): Likewise.
21558 (dm_nv_mod_SOURCES): Likewise.
21559 (dm_nv_mod_CFLAGS): Likewise.
21560 (dm_nv_mod_LDFLAGS): Likewise.
21561
21562 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
21563 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
21564 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
21565
21566 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
21567 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
21568
21569 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21570
21571 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21572
21573 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21574
21575 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21576
21577 * disk/raid5_recover.c: New file.
21578
21579 * disk/raid6_recover.c: Likewise.
21580
21581 * disk/mdraid_linux.c: Likewise.
21582
21583 * disk/dmraid_nvidia.c: Likewise.
21584
21585 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
21586 ULONG_MAX.
21587
21588 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
21589 calculate the size of raid device.
21590 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
21591 different layout of raid5.
21592 (grub_raid_scan_device): Remove code specific to mdraid.
21593 (grub_raid_list): New variable.
21594 (free_array): New function.
21595 (grub_raid_register): Likewise.
21596 (grub_raid_unregister): Likewise.
21597 (grub_raid_rescan): Likewise.
21598 (GRUB_MOD_INIT): Don't iterate device here.
21599 (GRUB_MOD_FINI): Use free_array to release resource.
21600
21601 * include/grub/raid.h: Remove macro and structure specific to mdraid.
21602 (grub_raid5_recover_func_t): New function variable type.
21603 (grub_raid6_recover_func_t): Likewise.
21604 (grub_raid5_recover_func): New variable.
21605 (grub_raid6_recover_func): Likewise.
21606 (grub_raid_register): New function.
21607 (grub_raid_unregister): Likewise.
21608 (grub_raid_rescan): Likewise.
21609 (grub_raid_block_xor): Likewise.
21610
21611 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
21612 (CMD_CRC): New macro.
21613 (part): Removed.
21614 (read_file): Handle device as well as file.
21615 (cmd_crc): New function.
21616 (fstest): Handle multiple disks.
21617 (options): Remove part, raw and long, add root and diskcount.
21618 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 21619 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 21620 add handling for the new options, support multiple disks.
21621
21622 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
21623
29c18915 216242008-08-23 Bean <bean123ch@gmail.com>
21625
21626 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
21627
21628 * genfslist.sh: Ignore kernel.mod.
21629
21630 * genpartmaplist.sh: Likewise.
21631
8415f261 216322008-08-23 Robert Millan <rmh@aybabtu.com>
21633
21634 * util/getroot.c (find_root_device): Skip anything that starts with
21635 a dot, not just directories. This avoids things like /dev/.tmp.md0.
21636
d5a7dc5b 216372008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 21638
d5a7dc5b 21639 * util/update-grub.in (GRUB_GFXMODE): Export variable.
21640 * util/grub.d/00_header.in: Allow the administrator to change default
21641 gfxmode via ${GRUB_GFXMODE}.
21642
380cfbb4 216432008-08-21 Felix Zielcke <fzielcke@z-51.de>
21644
21645 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
21646
c9baafe7 216472008-08-21 Robert Millan <rmh@aybabtu.com>
21648
21649 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
21650 loader.
21651 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
21652 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
21653
e290bef2 216542008-08-20 Carles Pina i Estany <carles@pina.cat>
21655
21656 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
21657 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
21658
f9dbfc96 216592008-08-19 Robert Millan <rmh@aybabtu.com>
21660
21661 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
21662 (struct grub_virtual_screen): Remove `cursor_color'.
21663 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
21664 initialization.
21665 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
21666
dd6bd6ab 216672008-08-18 Robert Millan <rmh@aybabtu.com>
21668
21669 Unify (identical) linux_normal.c files.
21670 * loader/i386/efi/linux_normal.c: Move from here ...
21671 * loader/linux_normal.c: ... to here. Update all users.
21672 * loader/i386/pc/linux_normal.c: Delete. Update all users.
21673 * loader/i386/ieee1275/linux_normal.c: Likewise.
21674
7f42f83e 216752008-08-18 Robert Millan <rmh@aybabtu.com>
21676
21677 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
21678 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
21679 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
21680 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
21681 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
21682 New macros.
21683 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
21684 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
21685 (GRUB_LINUX_CL_END_OFFSET): ... to here.
21686 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
21687 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
21688 (GRUB_EFI_CL_END_OFFSET): Rename to ...
21689 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
21690 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
21691 Initialize `params->video_cursor_x' and `params->video_cursor_y'
21692 portably using grub_getxy().
21693 Replace `-EFI' with `-bzImage' in boot message.
21694
38487ddb 216952008-08-17 Robert Millan <rmh@aybabtu.com>
21696
21697 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
21698
deceb3ec 216992008-08-17 Robert Millan <rmh@aybabtu.com>
21700
21701 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
21702
21703 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
21704 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
21705 (grub_machine_mmap_iterate): New function declaration.
21706 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
21707 structure.
21708 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
21709 macros.
21710
21711 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
21712 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
21713 Move e820 parsing from here ...
21714 * kern/i386/pc/mmap.c: New file.
21715 (grub_machine_mmap_iterate): ... to here.
21716
21717 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
21718 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
21719 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
21720 (grub_available_iterate): Redeclare to return `void', and redeclare
21721 its hook to use grub_uint64_t as addr and size parameters, and rename
21722 to ...
21723 (grub_machine_mmap_iterate): ... this. Update all users.
21724
21725 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
21726 to make it more readable. Rename to ...
21727 (grub_machine_mmap_iterate): ... this.
21728
21729 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
21730 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
21731 (grub_multiboot): Allocate an extra region after the payload, and fill
21732 it with a Multiboot memory map. Adjust a.out loader to calculate size
21733 with the extra space.
21734 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
21735 with the extra space.
21736
f8aa0f43 217372008-08-17 Carles Pina i Estany <carles@pina.cat>
21738
9807deb9 21739 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 21740
605f5bb6 217412008-08-17 Felix Zielcke <fzielcke@z-51.de>
21742
21743 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
21744 mdate-sh to the list `find' searches for.
21745 * DISTLIST: Regenerated.
21746
210db6c6 217472008-08-16 Felix Zielcke <fzielcke@z-51.de>
21748
21749 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
21750 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 21751 genmoddep.awk, gensymlist.sh.in.
21752 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 21753 * DISTLIST: Regenerated.
48cdbfd4 21754 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 21755
1082b929 217562008-08-16 Robert Millan <rmh@aybabtu.com>
21757
21758 * disk/raid.c (grub_raid_init): Handle/report errors set by
21759 grub_device_iterate().
21760 * disk/lvm.c (grub_lvm_init): Likewise.
21761
42ce5170 217622008-08-15 Bean <bean123ch@gmail.com>
21763
21764 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21765 and datehook.mod.
21766 (datetime_mod_SOURCES): New macro.
21767 (datetime_mod_CFLAGS): Likewise.
21768 (datetime_mod_LDFLAGS): Likewise.
21769 (date_mod_SOURCES): Likewise.
21770 (date_mod_CFLAGS): Likewise.
21771 (date_mod_LDFLAGS): Likewise.
21772 (datehook_mod_SOURCES): Likewise.
21773 (datehook_mod_CFLAGS): Likewise.
21774 (datehook_mod_LDFLAGS): Likewise.
21775
21776 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21777 and datehook.mod.
21778 (datetime_mod_SOURCES): New macro.
21779 (datetime_mod_CFLAGS): Likewise.
21780 (datetime_mod_LDFLAGS): Likewise.
21781 (date_mod_SOURCES): Likewise.
21782 (date_mod_CFLAGS): Likewise.
21783 (date_mod_LDFLAGS): Likewise.
21784 (datehook_mod_SOURCES): Likewise.
21785 (datehook_mod_CFLAGS): Likewise.
21786 (datehook_mod_LDFLAGS): Likewise.
21787
21788 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21789 and datehook.mod.
21790 (datetime_mod_SOURCES): New macro.
21791 (datetime_mod_CFLAGS): Likewise.
21792 (datetime_mod_LDFLAGS): Likewise.
21793 (date_mod_SOURCES): Likewise.
21794 (date_mod_CFLAGS): Likewise.
21795 (date_mod_LDFLAGS): Likewise.
21796 (datehook_mod_SOURCES): Likewise.
21797 (datehook_mod_CFLAGS): Likewise.
21798 (datehook_mod_LDFLAGS): Likewise.
21799
21800 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21801 and datehook.mod.
21802 (datetime_mod_SOURCES): New macro.
21803 (datetime_mod_CFLAGS): Likewise.
21804 (datetime_mod_LDFLAGS): Likewise.
21805 (date_mod_SOURCES): Likewise.
21806 (date_mod_CFLAGS): Likewise.
21807 (date_mod_LDFLAGS): Likewise.
21808 (datehook_mod_SOURCES): Likewise.
21809 (datehook_mod_CFLAGS): Likewise.
21810 (datehook_mod_LDFLAGS): Likewise.
21811
21812 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21813 and datehook.mod.
21814 (datetime_mod_SOURCES): New macro.
21815 (datetime_mod_CFLAGS): Likewise.
21816 (datetime_mod_LDFLAGS): Likewise.
21817 (date_mod_SOURCES): Likewise.
21818 (date_mod_CFLAGS): Likewise.
21819 (date_mod_LDFLAGS): Likewise.
21820 (datehook_mod_SOURCES): Likewise.
21821 (datehook_mod_CFLAGS): Likewise.
21822 (datehook_mod_LDFLAGS): Likewise.
21823
21824 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
21825
21826 * commands/date.c: New file.
21827
21828 * hook/datehook.c: Likewise.
21829
21830 * include/grub/lib/datetime.h: Likewise.
21831
21832 * include/grub/i386/cmos.h: Likewise.
21833
21834 * lib/datetime.c: Likewise.
21835
21836 * lib/i386/datetime.c: Likewise.
21837
21838 * lib/efi/datetime.c: Likewise.
21839
0e9242da 218402008-08-14 Robert Millan <rmh@aybabtu.com>
21841
21842 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
21843 (grub_mkelfimage_SOURCES): New variable.
21844 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
21845
21846 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
21847 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
21848 * conf/powerpc-ieee1275.rmk: Likewise.
21849 * conf/i386-ieee1275.rmk: Likewise.
21850
21851 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
21852 * kern/i386/coreboot/init.c: Likewise.
21853
21854 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
21855 with `<grub/cpu/kernel.h>'.
21856 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
21857 to ...
21858 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
21859 * kern/i386/coreboot/startup.S: Likewise.
21860
21861 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
21862 (GRUB_MOD_GAP): Remove.
21863 * include/grub/powerpc/kernel.h: New file.
21864 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
21865 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21866 * include/grub/i386/kernel.h: New file.
21867 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
21868 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
21869 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21870
21871 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
21872 `grub-mkelfimage'.
21873 Use --directory when invoking grub_mkimage.
21874
21875 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
21876 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
21877 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
21878 and GRUB_KERNEL_CPU_PREFIX.
21879
b86408f8 218802008-08-14 Felix Zielcke <fzielcke@z-51.de>
21881
d5e619ca 21882 * include/grub/err.h (grub_err_printf): New function prototype.
21883 * util/misc.c (grub_err_printf): New function.
21884 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
21885 grub_printf.
21886 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 21887
7161f0e0 218882008-08-13 Robert Millan <rmh@aybabtu.com>
21889
21890 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
21891
a1967522 218922008-08-13 Robert Millan <rmh@aybabtu.com>
21893
21894 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
21895 boot entry.
21896
371458b5 218972008-08-12 Robert Millan <rmh@aybabtu.com>
21898
21899 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
21900 of the relocation code from here ...
21901 (grub_multiboot): ... to here.
21902 (forward_relocator, backward_relocator): Move from here ...
21903 * kern/i386/loader.S (grub_multiboot_forward_relocator)
21904 (grub_multiboot_backward_relocator): ... to here.
21905 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
21906 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
21907 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
21908 (grub_multiboot_forward_relocator_end)
21909 (grub_multiboot_backward_relocator)
21910 (grub_multiboot_backward_relocator_end): New variables.
21911
05f9452b 219122008-08-12 Bean <bean123ch@gmail.com>
21913
21914 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
21915
20024ab0 219162008-08-11 Robert Millan <rmh@aybabtu.com>
21917
21918 * kern/i386/linuxbios/startup.S: Move from here ...
21919 * kern/i386/coreboot/startup.S: ... to here.
21920
21921 * kern/i386/linuxbios/init.c: Move from here ...
21922 * kern/i386/coreboot/init.c: ... to here.
21923
21924 * kern/i386/linuxbios/table.c: Move from here ...
21925 * kern/i386/coreboot/mmap.c: ... to here.
21926
21927 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
21928
e352e9cd 219292008-08-11 Robert Millan <rmh@aybabtu.com>
21930
21931 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
21932 errors. Leave it to the upper layer to handle them.
21933
2d05bc6a 219342008-08-09 Christian Franke <franke@computer.org>
21935
21936 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
21937 * conf/common.rmk: Install `grub-pe2elf' only if requested.
21938 Install `grub.d/10_windows' only on Cygwin.
21939 * configure.ac: Add subst of `target_os'.
21940 Check `target_os' also before setting TARGET_OBJ2ELF.
21941 Add `--enable-grub-pe2elf'.
21942
042bd419 219432008-08-08 Robert Millan <rmh@aybabtu.com>
21944
21945 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21946 (grub_last_time): Change type to grub_uint64_t.
21947 (grub_disk_open): Migrate code from to using grub_get_time_ms().
21948 (grub_disk_close): Likewise.
21949
21950 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21951 (run_menu): Migrate code from to using grub_get_time_ms().
21952
21953 * util/misc.c (grub_get_time_ms): New function.
21954
7f280db5 219552008-08-08 Marco Gerards <marco@gnu.org>
21956
21957 * disk/ata.c (grub_ata_regget): Change return type to
21958 `grub_uint8_t'.
21959 (grub_ata_regget2): Likewise.
21960 (grub_ata_wait_status): New function.
21961 (grub_ata_wait_busy): Removed function, updated all users to use
21962 `grub_ata_wait_status'.
21963 (grub_ata_wait_drq): Likewise.
21964 (grub_ata_cmd): New function.
21965 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
21966 error handling.
21967 (grub_ata_pio_write): Add error handling.
21968 (grub_atapi_identify): Likewise.
21969 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
21970 handling.
21971 (grub_ata_identify): Use `grub_ata_cmd' and improve error
21972 handling. Actually use the detected registers. Reorder the
21973 detection logic such that it is easier to read.
21974 (grub_ata_pciinit): Do not assign the same ID to each controller.
21975 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
21976 handling.
21977 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
21978
21979 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
21980
1fbc5e66 219812008-08-08 Marco Gerards <marco@gnu.org>
21982
21983 * NEWS: Update.
21984
819ce6c0 219852008-08-07 Bean <bean123ch@gmail.com>
21986
21987 * include/grub/x86_64/pci.h: New file.
21988
5c41d44d 219892008-08-07 Christian Franke <franke@computer.org>
21990
21991 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
21992 (TIMER2_GATE): Likewise.
21993 (grub_pit_wait): Add enable/disable of the timer2 gate
21994 bit of port 0x61. This fixes a possible infinite loop.
21995
5ebc275d 219962008-08-07 Bean <bean123ch@gmail.com>
21997
21998 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
21999 kern/i386/tsc.c and kern/i386/pit.c.
22000
22001 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
22002 x86_64 platform.
22003
22004 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
22005 <grub/i386/tsc.h>.
22006
22007 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
22008
e383b3d0 220092008-08-07 Bean <bean123ch@gmail.com>
22010
22011 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
22012
22013 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
22014
22015 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
22016 multiple inclusion. Add #include <grub/types.h>.
22017
1cbb58ac 220182008-08-06 Christian Franke <franke@computer.org>
22019
22020 * conf/common.rmk: Build and install `10_windows'.
22021 * util/grub.d/10_windows.in: New script.
22022
337f5a1e 220232008-08-06 Pavel Roskin <proski@gnu.org>
22024
22025 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
22026
057bc4ac 220272008-08-06 Robert Millan <rmh@aybabtu.com>
22028
22029 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
22030 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
22031
2b99f123 220322008-08-06 Bean <bean123ch@gmail.com>
22033
22034 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
22035 (grub_pxefs_fs_int): Remove dummy definition.
22036 (grub_pxefs_open): Use data->block_size to store the current block
22037 size setting.
22038 (grub_pxefs_read): Use block size stored in data->block_size. As the
22039 value of grub_pxe_blksize can be changed after the file is opened.
22040
9f0234cb 220412008-08-06 Bean <bean123ch@gmail.com>
22042
22043 * fs/i386/pc/pxe.c (curr_file): new variable.
22044 (grub_pxefs_open): Simply the handling of pxe file system. Don't
22045 require the dummy internal file system anymore.
22046 (grub_pxefs_read): Removed.
22047 (grub_pxefs_close): Likewise.
22048 (grub_pxefs_fs_int): Likewise.
22049 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
22050 connection when we switch file.
22051 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
22052
a55d42e0 220532008-08-06 Robert Millan <rmh@aybabtu.com>
22054
22055 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
22056 `halt.mod'.
22057 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
22058 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
22059
22060 * kern/i386/halt.c: New file.
22061 * kern/i386/reboot.c: Likewise.
22062 * include/grub/i386/reboot.h: Likewise.
22063 * include/grub/i386/halt.h: Likewise.
22064
22065 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
22066 Include `<grub/cpu/halt.h>'.
22067 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
22068 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
22069
22070 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
22071 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
22072 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
22073 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
22074 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
22075 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
22076 from here ...
22077 * include/grub/i386/at_keyboard.h: ... to here.
22078
24371d26 220792008-08-05 Robert Millan <rmh@aybabtu.com>
22080
22081 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
22082 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
22083 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
22084 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22085 `kern/generic/millisleep.c'.
22086
22087 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
22088 instead of grub_get_rtc().
22089 (grub_tsc_init): Initialize `tsc_boot_time'.
22090
22091 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
22092 (grub_machine_init): Use grub_tsc_init() rather than
22093 installing an RTC-based handler via grub_install_get_time_ms().
22094
22095 * kern/i386/pit.c: New file.
22096 * include/grub/i386/pit.h: Likewise.
22097
9e7007b3 220982008-08-05 Bean <bean123ch@gmail.com>
22099
22100 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
22101
22102 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
22103 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
22104 (pxe_mod_SOURCES): New macro.
22105 (pxe_mod_CFLAGS): Likewise.
22106 (pxe_mod_LDFLAGS): Likewise.
22107 (pxecmd_mod_SOURCES): Likewise.
22108 (pxecmd_mod_CFLAGS): Likewise.
22109 (pxecmd_mod_LDFLAGS): Likewise.
22110
22111 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
22112 (grub_pxe_call): Likewise.
22113
22114 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
22115
22116 * commands/i386/pc/pxecmd.c: New file.
22117
9f0234cb 22118 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 22119
22120 * include/grub/i386/pc/pxe.h: Likewise.
22121
6977d49f 221222008-08-05 Bean <bean123ch@gmail.com>
22123
22124 * util/console.c (grub_console_cur_color): New variable.
22125 (grub_console_standard_color): Likewise.
22126 (grub_console_normal_color): Likewise.
22127 (grub_console_highlight_color): Likewise.
22128 (color_map): Likewise.
22129 (use_color): Likewise.
22130 (NUM_COLORS): New macro.
22131 (grub_ncurses_setcolorstate): Handle color properly.
22132 (grub_ncurses_setcolor): Don't change color here, just remember the
22133 settings, color will be set in grub_ncurses_setcolorstate.
22134 (grub_ncurses_getcolor): New function.
22135 (grub_ncurses_init): Initialize color pairs.
22136 (grub_ncurses_term): New member grub_ncurses_getcolor.
22137
9c2ff3ee 221382008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 22139
9c2ff3ee 22140 High resolution timer support. Implemented for x86 CPUs using TSC.
22141 Extracted generic grub_millisleep() so it's linked in only as needed.
22142 This requires a Pentium compatible CPU; if the RDTSC instruction is
22143 not supported, then it falls back on the generic grub_get_time_ms()
22144 implementation that uses the machine's RTC.
22145
22146 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
22147 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22148 `kern/generic/millisleep.c'.
22149
22150 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
22151 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
22152
22153 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
22154 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
22155
22156 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22157
22158 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22159 `kern/generic/millisleep.c'.
22160
22161 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22162
22163 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
22164
22165 * kern/generic/rtc_get_time_ms.c: New file.
22166
22167 * kern/generic/millisleep.c: New file.
337f5a1e 22168
9c2ff3ee 22169 * kern/misc.c: Don't include
22170 <kern/time.h> anymore.
22171 (grub_millisleep_generic): Removed.
22172
22173 * commands/sleep.c (grub_interruptible_millisleep): Uses
22174 grub_get_time_ms() instead of grub_get_rtc().
22175
22176 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
22177 function.
22178 (grub_cpu_is_cpuid_supported): New inline function.
22179 (grub_cpu_is_tsc_supported): New inline function.
22180 (grub_tsc_init): New function prototype.
22181 (grub_tsc_get_time_ms): New function prototype.
22182
22183 * kern/i386/tsc.c (grub_get_time_ms): New file.
22184
22185 * include/grub/time.h: Include <grub/types.h.
22186 (grub_millisleep_generic): Removed.
22187 (grub_get_time_ms): New prototype.
22188 (grub_install_get_time_ms): New prototype.
22189 (grub_rtc_get_time_ms): New prototype.
22190
22191 * kern/time.c (grub_get_time_ms): New function.
22192 (grub_install_get_time_ms): New function.
22193
22194 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
22195 <grub/time.h> anymore.
22196 (grub_millisleep): Removed.
22197 (grub_machine_init): Call grub_tsc_init.
22198
22199 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
22200 get_time_ms() implementation.
22201
22202 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
22203 (ieee1275_get_time_ms): New function.
22204 (grub_machine_init): Install get_time_ms() implementation.
22205
22206 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
22207 (grub_machine_init): Call grub_tsc_init().
22208 (grub_millisleep): Removed.
bf06a93f 22209
9c2ff3ee 22210 * kern/ieee1275/init.c (grub_millisleep): Removed.
22211 (grub_machine_init): Install ieee1275_get_time_ms()
22212 implementation.
22213 (ieee1275_get_time_ms): New function.
22214 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
22215 real work.
22216
9ec92aaf 222172008-08-05 Marco Gerards <marco@gnu.org>
22218
22219 * disk/ata.c: Include <grub/pci.h>.
22220 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
22221 (grub_ata_initialize): Rewritten.
22222 (grub_ata_device_initialize): New function.
22223
8d23f507 222242008-08-04 Pavel Roskin <proski@gnu.org>
22225
22226 * kern/main.c: Include grub/mm.h.
22227
5e15ee3d 222282008-08-04 Robert Millan <rmh@aybabtu.com>
22229
22230 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
22231 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
22232 corruption problem).
22233
a9053f8f 222342008-08-04 Robert Millan <rmh@aybabtu.com>
22235
22236 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
22237 warnings introduced in my last commit.
22238
dd19c7d7 222392008-08-03 Robert Millan <rmh@aybabtu.com>
22240
22241 Make PCI available on all i386 architectures.
22242
22243 * include/grub/i386/pc/pci.h: Move from here ...
22244 * include/grub/i386/pci.h: ... to here.
22245
22246 * include/grub/i386/pc/pci.h: Remove.
22247 * include/grub/i386/efi/pci.h: Remove.
22248 * include/grub/x86_64/efi/pci.h: Remove.
22249
22250 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
22251 `<grub/cpu/pci.h>'.
22252
22253 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
22254 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
22255 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
22256
22257 * conf/i386-ieee1275.rmk: Likewise.
22258
e14a6184 222592008-08-03 Robert Millan <rmh@aybabtu.com>
22260
22261 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
22262 (grub_console_setcursor): Make it possible to set cursor off.
22263
52768e37 222642008-08-03 Robert Millan <rmh@aybabtu.com>
22265
22266 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
22267 of modules instead of assuming which platform provides what.
22268 * util/update-grub.in: Likewise.
22269
2d52f57f 222702008-08-03 Robert Millan <rmh@aybabtu.com>
22271
22272 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
22273 instead of `grub_install_dos_part' to determine whether a drive needs
22274 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 22275 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 22276
2a5cd121 222772008-08-02 Robert Millan <rmh@aybabtu.com>
22278
22279 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
22280
93808428 222812008-08-02 Robert Millan <rmh@aybabtu.com>
22282
22283 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
22284 of informational grub_dprintf() calls.
22285
3bd0a12a 222862008-08-02 Robert Millan <rmh@aybabtu.com>
22287
22288 * disk/memdisk.c (memdisk_size): Don't initialize.
22289 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
22290
22291 * include/grub/i386/pc/kernel.h
22292 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
22293 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
22294 (grub_memdisk_image_size, grub_arch_memdisk_addr)
22295 (grub_arch_memdisk_size): Remove.
22296
22297 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
22298 field (was only used to transfer a constant). Add `type' field to
22299 support multiple module types.
22300 (grub_module_iterate): New function.
22301
22302 * kern/device.c (grub_device_open): Do not hide error messages
22303 when grub_disk_open() fails. Use grub_print_error() instead.
22304
22305 * kern/i386/pc/init.c (grub_arch_modules_addr)
22306 (grub_arch_memdisk_size): Remove functions.
22307 (grub_arch_modules_addr): Return the module address in high memory
22308 (now that it isn't copied anymore).
22309
22310 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
22311 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
22312 decompression routine (grub_total_module_size already includes that
22313 now). Don't copy modules back to low memory.
22314
22315 * kern/main.c: Include `<grub/mm.h>'.
22316 (grub_load_modules): Split out (and use) ...
22317 (grub_module_iterate): ... this function, which iterates through
22318 module objects and runs a hook.
22319 Comment out grub_mm_init_region() call, as it would cause non-ELF
22320 modules to be overwritten.
22321
22322 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
22323 the memdisk image in its own region, make it part of the module list.
22324 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
22325 (main): Parse --memdisk|-m option, and pass user-provided path as
22326 parameter to generate_image().
22327 (add_segments): Pass `memdisk_path' down to load_modules().
22328 (load_modules): Embed memdisk image in module section when requested.
22329 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
22330 `header.type' instead of `header.offset'.
22331
22332 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
22333 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
22334 (memdisk_mod_LDFLAGS): New variables.
22335 * conf/i386-coreboot.rmk: Likewise.
22336 * conf/i386-ieee1275.rmk: Likewise.
22337
a927cc73 223382008-08-02 Robert Millan <rmh@aybabtu.com>
22339
22340 * loader/i386/pc/multiboot.c (playground, forward_relocator)
22341 (backward_relocator): New variables. Used to allocate and relocate
22342 the payload, respectively.
22343 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 22344 address, install the appropriate relocator code in each bound of
a927cc73 22345 the payload, and set the entry point such that
22346 grub_multiboot_real_boot() will jump to one of them.
22347
22348 * kern/i386/loader.S (grub_multiboot_payload_size)
22349 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
22350 (grub_multiboot_payload_entry_offset): New variables.
22351 (grub_multiboot_real_boot): Set cpu context to what the relocator
22352 expects, and jump to the relocator instead of the payload.
22353
22354 * include/grub/i386/loader.h (grub_multiboot_payload_size)
22355 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
22356 (grub_multiboot_payload_entry_offset): Export.
22357
b15d8a0c 223582008-08-01 Bean <bean123ch@gmail.com>
22359
22360 * normal/menu_entry.c (editor_getline): Don't return the original
22361 string as result, as it will be released by lexer once it has done
22362 using it.
22363
cdfb3d22 223642008-08-01 Robert Millan <rmh@aybabtu.com>
22365
22366 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
22367 within menuentries, not before them.
22368 util/grub.d/10_hurd.in: Likewise.
22369
9175e93d 223702008-08-01 Bean <bean123ch@gmail.com>
22371
22372 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
22373 (bufio_mod_SOURCES): New macro.
22374 (bufio_mod_CFLAGS): Likewise.
22375 (bufio_mod_LDFLAGS): Likewise.
22376
22377 * include/grub/bufio.h: New file.
22378
22379 * io/bufio.c: Likewise.
22380
22381 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
22382 (grub_video_reader_png): Use grub_buffile_open to open file.
22383
22384 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
22385 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
22386
22387 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
22388 (grub_video_reader_tga): Use grub_buffile_open to open file.
22389
22390 * font/manager.c: Include <grub/bufio.h>.
22391 (add_font): Use grub_buffile_open to open file.
22392
3d8383e7 223932008-07-31 Robert Millan <rmh@aybabtu.com>
22394
22395 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
22396 ELF segments, use a macro for arbitrarily accessing any of them instead
22397 of preparing a pointer that allows access to one at a time.
22398 (grub_multiboot_load_elf64): Likewise.
22399
16e641b6 224002008-07-31 Bean <bean123ch@gmail.com>
22401
22402 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
22403 GRUB_KERNEL_MACHINE_DATA_END.
22404
59198b72 224052008-07-30 Robert Millan <rmh@aybabtu.com>
22406
22407 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
22408 Increase from 0x50 to 0x60.
22409 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
22410 use UUIDs to identify the root drive for them. If that's not
22411 possible, abort.
22412 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
22413 check, for cross-disk installs.
22414
ae88bca3 224152008-07-30 Robert Millan <rmh@aybabtu.com>
22416
22417 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
22418 is non-empty, use it to set the `prefix' environment variable instead
22419 of the usual approach.
22420 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
22421 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
22422 environment variable instead of dummy make_install_device().
22423
22424 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
22425 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 22426 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 22427
22428 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
22429 New variable reference.
22430 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
22431 New macro. Defines offset of `grub_prefix' within startup.S (relative
22432 to `start').
22433 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
22434 section within startup.S (relative to `start').
22435 * include/grub/i386/coreboot/kernel.h: Likewise.
22436
22437 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
22438 Overwrite grub_prefix with its contents, at the beginning of the
22439 first segment.
22440 (main): Understand -p|--prefix.
22441
14f41dd1 224422008-07-30 Robert Millan <rmh@aybabtu.com>
22443
22444 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
22445
4ca049a3 224462008-07-30 Robert Millan <rmh@aybabtu.com>
22447
22448 * term/i386/pc/vga_text.c (grub_console_cls): Use
22449 grub_console_gotoxy() to go back to beginning of the screen.
22450 Found by Patrick Georgi <patrick.georgi@coresystems.de>
22451
2921d337 224522008-07-29 Christian Franke <franke@computer.org>
22453
22454 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22455 Add conversion of emulated mount points on Cygwin.
22456
b609876d 224572008-07-29 Christian Franke <franke@computer.org>
22458
22459 * util/update-grub.in: Add a check for admin
22460 group on Cygwin.
22461 Remove old `grub.cfg.new' before creation.
22462 Add `-f' to `mv' to handle the different filesystem
22463 semantics of Windows.
22464
e93e4679 224652008-07-29 Bean <bean123ch@gmail.com>
22466
22467 * normal/main.c (get_line): Fix buffer overflow bug.
22468
41694fd0 224692008-07-28 Robert Millan <rmh@aybabtu.com>
22470
22471 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
22472 (struct grub_apple_header): New struct. Describes the layout of
22473 the partmap header.
22474 (apple_partition_map_iterate): Check the header magic as well as the
22475 partition magic (which was already being checked).
22476
cfd0b4e6 224772008-07-28 Pavel Roskin <proski@gnu.org>
22478
22479 * genmk.rb: Add a warning to the beginning of the output that
22480 it's a generated file and should not be edited.
22481
93cce016 224822008-07-28 Robert Millan <rmh@aybabtu.com>
22483
22484 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22485 with the same number are found, just use issue a warning with
22486 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 22487
cd1df915 224882008-07-27 Robert Millan <rmh@aybabtu.com>
22489
22490 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
22491 information.
22492
b70a8427 224932008-07-27 Bean <bean123ch@gmail.com>
22494
22495 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
22496 (grub_fat_find_dir): Ignore case when comparing filename.
22497
8f5e379f 224982008-07-27 Bean <bean123ch@gmail.com>
22499
22500 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
22501 smallino, as it's more descriptive, and i8count can be confused with
22502 the other field count.
22503 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
22504 inode type.
22505
a85cd5a0 225062008-07-27 Bean <bean123ch@gmail.com>
22507
22508 * commands/crc.c: New file.
22509
22510 * lib/crc.c: Likewise.
22511
22512 * include/grub/lib/crc.h: Likewise.
22513
22514 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
22515
22516 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
22517 (hexdump): Move this function to ...
22518
22519 * lib/hexdump.c: ... here.
22520
22521 * include/grub/hexdump.h: Renamed to ...
22522
22523 * include/grub/lib/hexdump.h: ... this.
22524
22525 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
22526
22527 * util/grub-editenv.c: Likewise.
22528
22529 * include/envblk.h: Renamed to ...
22530
22531 * include/lib/envblk.h: ... this.
22532
22533 * util/envblk.c: Renamed to ...
22534
22535 * lib/envblk.c: ... this.
22536
22537 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
22538 lib/hexdump.c.
22539 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
22540 (pkglib_MODULES): Add crc.mod.
22541 (hexdump_mod_SOURCES): Add lib/hexdump.c.
22542 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
22543 (crc_mod_SOURCES): New macro.
22544 (crc_mod_CFLAGS): Likewise.
22545 (crc_mod_LDFLAGS): Likewise.
22546
22547 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
22548
22549 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22550
22551 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22552
22553 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22554
22555 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22556
c298def0 225572008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 22558
22559 * commands/help.c: Include <grub/term.h>.
22560 (TERM_WIDTH): Removed. Updated all users.
22561
cc349fb3 225622008-07-27 Pavel Roskin <proski@gnu.org>
22563
22564 * util/getroot.c (find_root_device): Rephrase a comment to avoid
22565 spurious warnings about a comment within a comment.
22566
9051607e 225672008-07-25 Robert Millan <rmh@aybabtu.com>
22568
22569 * util/getroot.c (find_root_device): Skip devices that match
22570 /dev/dm-[0-9]. This lets the real device be found for any type of
22571 abstraction (LVM, EVMS, RAID..).
22572 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
22573 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
22574 device is found first, find_root_device() will now skip it.
22575
01453bfc 225762008-07-24 Pavel Roskin <proski@gnu.org>
22577
22578 * include/grub/types.h: Use __builtin_bswap32() and
22579 __builtin_bswap64() with gcc 4.3 and newer.
22580
6af9849f 225812008-07-24 Christian Franke <franke@computer.org>
22582
3a0fa256 22583 * util/i386/pc/grub-install.in: If `--debug' is specified,
22584 pass `--verbose' to grub-setup.
22585 Abort script if make_system_path_relative_to_its_root() fails.
22586
7810e747 225872008-07-24 Bean <bean123ch@gmail.com>
22588
22589 * configure.ac: Fixed a bug caused by the previous cygwin patch,
22590 variable `target_platform' should be `platform'.
22591
42290e17 225922008-07-24 Bean <bean123ch@gmail.com>
22593
51cc5193 22594 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 22595 (grub_png_init_fixed_block): New function.
22596 (grub_png_decode_image_data): Handle fixed huffman code compression.
22597
2a8a80e4 225982008-07-24 Bean <bean123ch@gmail.com>
22599
22600 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
22601 (grub_pe2elf_SOURCES): New macro.
22602 (CLEANFILES): Add grub-pe2elf.
22603
22604 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
22605 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
22606 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
22607 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
22608 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
22609 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
22610 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
22611 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
22612 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
22613 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
22614 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
22615 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
22616 (GRUB_PE32_DT_FUNCTION): Likewise.
22617 (GRUB_PE32_REL_I386_DIR32): Likewise.
22618 (GRUB_PE32_REL_I386_REL32): Likewise.
22619 (grub_pe32_symbol): New structure.
22620 (grub_pe32_reloc): Likewise.
22621
22622 * util/grub-pe2elf.c: New file.
22623
22624 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
22625 start symbol in non pc platform.
22626
22627 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
22628
22629 The following patches are from Christian Franke.
22630
22631 * include/grub/dl.h: Remove .previous, gas supports this only
22632 for ELF format.
22633
22634 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
22635 Remove .type, gas supports this only for ELF format.
22636
22637 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
22638 nullbytes in symbol table. This fixes an infinite loop if table is
22639 zero filled.
22640
22641 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
22642 TARGET_IMG_LDFLAGS and EXEEXT.
22643
22644 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
22645 TARGET_IMG_LDFLAGS_AC.
22646 (grub_CHECK_STACK_ARG_PROBE): New function.
22647
22648 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
22649
22650 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
22651
22652 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
22653 to set TARGET_IMG_LD* accordingly.
22654 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
22655 Add call to grub_CHECK_STACK_ARG_PROBE.
22656 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
22657
22658 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
22659
22660 * genmk.rb: Add EXEEXT to CLEANFILES.
22661
12ccdb75 226622008-07-23 Robert Millan <rmh@aybabtu.com>
22663
22664 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
22665 define the codes for arrows and lines used for the menu).
22666 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
22667 as well.
22668
22669 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
22670 fonts, because the latter are too slow.
22671
18eeaf04 226722008-07-21 Bean <bean123ch@gmail.com>
22673
22674 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
22675 a20. Run keyboard test last, as it will cause macbook to halt.
22676
b095e2ad 226772008-07-18 Pavel Roskin <proski@gnu.org>
22678
22679 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
22680 load foreign architecture modules correctly anyway. Keep
22681 support for loading host architecture modules, whether we
22682 compile them or not.
22683
737feb35 226842008-07-17 Pavel Roskin <proski@gnu.org>
22685
3f4ce737 22686 * configure.ac: Use -m32 or -m64 regardless of whether we had to
22687 change target_cpu. The compiler default can mismatch target_cpu
22688 in any case.
22689
4ad2d049 22690 * disk/efi/efidisk.c: Fix format warnings on x86_64.
22691 * kern/efi/efi.c: Likewise.
22692
f6130a12 22693 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
22694 target compiler is functional.
22695 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
22696 are set up.
22697
58393a2d 22698 * configure.ac: Default to efi platform for x86_64-apple. Allow
22699 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
22700 adjustments from the rest, only do them if target is not
22701 explicitly given. Merge other adjustments with the final sanity
22702 check. Remove an extraneous check for supported CPU. Be
22703 specific which CPU and which platform is not supported.
22704
737feb35 22705 * configure.ac: Default to pc platform for x86_64.
22706
546f966a 227072008-07-17 Robert Millan <rmh@aybabtu.com>
22708
22709 Partial LinuxBIOS -> Coreboot rename.
22710
22711 * conf/i386-linuxbios.rmk: Renamed to ...
22712 * conf/i386-coreboot.rmk: ... this.
22713 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
22714 * configure.ac: Accept "coreboot" as input platform (but maintain
22715 compatibility with "linuxbios").
22716 * include/grub/i386/linuxbios: Renamed to ...
22717 * include/grub/i386/coreboot: ... this.
22718
20011694 227192008-07-17 Bean <bean123ch@gmail.com>
22720
22721 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 22722 (appleldr_mod_SOURCE): New variable.
20011694 22723 (appleldr_mod_CFLAGS): Likewise.
22724 (appleldr_mod_LDFLAGS): Likewise.
22725 (pci_mod_SOURCES): Likewise.
22726 (pci_mod_CFLAGS): Likewise.
22727 (pci_mod_LDFLAGS): Likewise.
22728 (lspci_mod_SOURCES): Likewise.
22729 (lspci_mod_CFLAGS): Likewise.
22730 (lspci_mod_LDFLAGS): Likewise.
22731
22732 * conf/x86_64-efi.rmk: New file.
22733
22734 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
22735 macro.
22736 (grub_efidisk_write): Likewise.
22737
22738 * include/efi/api.h (efi_call_0): New macro.
22739 (efi_call_1): Likewise.
22740 (efi_call_2): Likewise.
22741 (efi_call_3): Likewise.
22742 (efi_call_4): Likewise.
22743 (efi_call_5): Likewise.
22744 (efi_call_6): Likewise.
22745
22746 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
22747 grub_rescue_cmd_chainloader.
22748
22749 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
22750 (grub_pe32_optional_header): Change some fields based on i386 or
22751 x86_64 platform.
22752 (GRUB_PE32_PE32_MAGIC): Likewise.
22753
22754 * include/grub/efi/uga_draw.h: New file.
22755
22756 * include/grub/elf.h (STN_ABS): New constant.
22757 (R_X86_64_NONE): Relocation constant for x86_64.
22758 (R_X86_64_64): Likewise.
22759 (R_X86_64_PC32): Likewise.
22760 (R_X86_64_GOT32): Likewise.
22761 (R_X86_64_PLT32): Likewise.
22762 (R_X86_64_COPY): Likewise.
22763 (R_X86_64_GLOB_DAT): Likewise.
22764 (R_X86_64_JUMP_SLOT): Likewise.
22765 (R_X86_64_RELATIVE): Likewise.
22766 (R_X86_64_GOTPCREL): Likewise.
22767 (R_X86_64_32): Likewise.
22768 (R_X86_64_32S): Likewise.
22769 (R_X86_64_16): Likewise.
22770 (R_X86_64_PC16): Likewise.
22771 (R_X86_64_8): Likewise.
22772 (R_X86_64_PC8): Likewise.
22773
22774 * include/grub/i386/efi/pci.h: New file.
22775
22776 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
22777 Change it value based on platform.
22778 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
22779 (GRUB_E820_RAM): Likewise.
22780 (GRUB_E820_RESERVED): Likewise.
22781 (GRUB_E820_ACPI): Likewise.
22782 (GRUB_E820_NVS): Likewise.
22783 (GRUB_E820_EXEC_CODE): Likewise.
22784 (GRUB_E820_MAX_ENTRY): Likewise.
22785 (grub_e820_mmap): New structure.
22786 (linux_kernel_header): Change the efi field according to different
22787 kernel version, also field from linux_kernel_header.
22788
22789 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
22790
22791 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
22792 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
22793 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
22794 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
22795 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
22796 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
22797 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
22798 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
22799 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
22800 (GRUB_PCI_ADDR_IO_MASK): Likewise.
22801
22802 * include/grub/x86_64/efi/kernel.h: New file.
22803
22804 * include/grub/x86_64/efi/loader.h: Likewise.
22805
22806 * include/grub/x86_64/efi/machine.h: Likewise.
22807
22808 * include/grub/x86_64/efi/pci.h: Likewise.
22809
22810 * include/grub/x86_64/efi/time.h: Likewise.
22811
22812 * include/grub/x86_64/linux.h: Likewise.
22813
22814 * include/grub/x86_64/setjmp.h: Likewise.
22815
22816 * include/grub/x86_64/time.h: Likewise.
22817
22818 * include/grub/x86_64/types.h: Likewise.
22819
22820 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
22821 GRUB_TARGET_SIZEOF_VOID_P.
22822
22823 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
22824 (grub_efi_locate_handle): Likewise.
22825 (grub_efi_open_protocol): Likewise.
22826 (grub_efi_set_text_mode): Likewise.
22827 (grub_efi_stall): Likewise.
22828 (grub_exit): Likewise.
22829 (grub_reboot): Likewise.
22830 (grub_halt): Likewise.
22831 (grub_efi_exit_boot_services): Likewise.
22832 (grub_get_rtc): Likewise.
22833
22834 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
22835 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
22836 (grub_efi_allocate_pages): Wrap efi calls.
22837 (grub_efi_free_pages): Wrap efi calls.
22838 (grub_efi_get_memory_map): Wrap efi calls.
22839
22840 * kern/x86_64/dl.c: New file.
22841
22842 * kern/x86_64/efi/callwrap.S: Likewise.
22843
22844 * kern/x86_64/efi/startup.S: Likewise.
22845
22846 * loader/efi/appleloader.c: Likewise.
22847
22848 * loader/efi/chainloader.c (cmdline): New variable.
22849 (grub_chainloader_unload): Wrap efi calls.
22850 (grub_chainloader_boot): Likewise.
22851 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
22852 command line.
22853
22854 * loader/efi/chainloader_normal.c (chainloader_command):
22855 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
22856 command line.
22857
22858 * loader/i386/efi/linux.c (allocate_pages): Change allocation
22859 method.
22860 (grub_e820_add_region): New function.
22861 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
22862 booting.
22863 (grub_find_video_card): New function.
22864 (grub_linux_setup_video): New function.
22865 (grub_rescue_cmd_linux): Probe for video information.
22866
22867 * normal/x86_64/setjmp.S: New file.
22868
22869 * term/efi/console.c (map_char): New function.
22870 (grub_console_putchar): Map unicode char.
22871 (grub_console_checkkey): Wrap efi calls.
22872 (grub_console_getkey): Likewise.
22873 (grub_console_getwh): Likewise.
22874 (grub_console_gotoxy): Likewise.
22875 (grub_console_cls): Likewise.
22876 (grub_console_setcolorstate): Likewise.
22877 (grub_console_setcursor): Likewise.
22878
22879 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
22880
59652a20 228812008-07-16 Pavel Roskin <proski@gnu.org>
22882
ef294055 22883 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
22884 format strings.
22885
59652a20 22886 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
22887 pointer, not an integer. This fixes a warning and prevents
22888 precision loss on 64-bit systems.
22889 (relocate_addresses): Remove unneeded cast.
22890
afc3b5d7 228912008-07-15 Pavel Roskin <proski@gnu.org>
22892
506b2b3e 22893 * kern/i386/ieee1275/init.c: Include grub/cache.h.
22894
62ead89c 22895 * term/ieee1275/ofconsole.c: Disable code unused on i386.
22896
c4cd51d7 22897 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
22898 Fix comparison between signed and unsigned.
22899
0d3d8f28 22900 * include/grub/i386/ieee1275/console.h: Declare
22901 grub_console_init() and grub_console_fini().
22902
8804b286 22903 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
22904 It's empty and unused.
22905
ee01cf35 22906 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
22907 beginning to avoid warnings with some compilers.
22908
afc3b5d7 22909 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
22910 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
22911
e4e8eaa5 229122008-07-14 Pavel Roskin <proski@gnu.org>
22913
407aceb4 22914 * kern/env.c (grub_register_variable_hook): Don't copy empty
22915 string, it leaks memory. Pass "" to grub_env_set(), it should
22916 handle constant strings.
22917
e4e8eaa5 22918 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
22919 * commands/cmp.c (grub_cmd_cmp): Likewise.
22920 * kern/dl.c (grub_dl_flush_cache): Likewise.
22921 (grub_dl_load_core): Likewise.
22922 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
22923 (grub_elf64_load_phdrs): Likewise.
22924
d4e2dad3 229252008-07-13 Pavel Roskin <proski@gnu.org>
22926
22927 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
22928 between signed and unsigned.
22929 (LzmaEnc_Finish): Fix warning about an unused parameter.
22930
aa24b516 229312008-07-13 Bean <bean123ch@gmail.com>
22932
22933 * Makefile.in (enable_lzo): New rule.
22934
22935 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
22936
22937 * configure.ac (ENABLE_LZO): New option --enable-lzo.
22938
22939 * boot/i386/pc/lnxboot.S: #include <config.h>.
22940
22941 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 22942 its value according to the compression algorithm used, lzo or lzma.
aa24b516 22943
22944 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
22945 compression algorithm according to configure macro.
22946
22947 * kern/i386/pc/startup.S (codestart): Likewise.
22948
22949 * kern/i386/pc/lzma_decode.S: New file.
22950
22951 * include/grub/lib/LzFind.h: Likewise.
22952
22953 * include/grub/lib/LzHash.h: Likewise.
22954
22955 * include/grub/lib/LzmaDec.h: Likewise.
22956
22957 * include/grub/lib/LzmaEnc.h: Likewise.
22958
22959 * include/grub/lib/LzmaTypes.h: Likewise.
22960
22961 * lib/LzFind.c: Likewise.
22962
22963 * lib/LzmaDec.c: Likewise.
22964
22965 * lib/LzmaEnc.c: Likewise.
22966
4ae821ac 229672008-07-13 Bean <bean123ch@gmail.com>
22968
22969 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
22970 (grub_ext4_extent_header): New structure.
22971 (grub_ext4_extent): Likewise.
22972 (grub_ext4_extent_idx): Likewise.
22973 (grub_ext4_find_leaf): New function.
22974 (grub_ext2_read_block): Handle extents.
22975
9a745147 229762008-07-12 Robert Millan <rmh@aybabtu.com>
22977
22978 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
22979
d49a4cf6 229802008-07-11 Robert Millan <rmh@aybabtu.com>
22981
22982 * util/grub.d/40_custom.in: New file. Example on how to add custom
22983 entries to /etc/grub.d.
22984 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
22985 40_custom (implicitly, by merging all the grub.d rules).
22986
947414b4 229872008-07-11 Pavel Roskin <proski@gnu.org>
22988
0059cf6f 22989 * commands/read.c (grub_getline): Fix invalid memory access.
22990 Don't add newline to the variable value.
22991
947414b4 22992 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
22993 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
22994 (serial_hw_get_port): Check validity of the port number.
22995 (grub_cmd_serial): Check return value of serial_hw_get_port().
22996
62a02d00 229972008-07-07 Pavel Roskin <proski@gnu.org>
22998
22999 * boot/i386/pc/diskboot.S (notification_string): Replace
23000 "Loading kernel" with just "loading". This is shorter, less
23001 confusing and saves a few bytes for possible future changes.
23002
3e5581b0 230032008-07-05 Pavel Roskin <proski@gnu.org>
23004
ea387a48 23005 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
23006 size for ATAPI devices, they are undefined. Output sector
23007 number in decimal form.
23008
3e5581b0 23009 * disk/ata.c: Use named constants for status bits.
23010
fdecb8fd 230112008-07-04 Pavel Roskin <proski@gnu.org>
23012
bcd35b90 23013 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
23014 grub_addr_t before casting it to the void pointer to fix a
23015 warning. Non-addressable regions are discarded earlier.
23016 (grub_arch_modules_addr): Cast _end to grub_addr_t.
23017 * kern/i386/linuxbios/table.c: Include grub/misc.h.
23018 (check_signature): Don't shadow table_header.
23019 (grub_linuxbios_table_iterate): Cast numeric constants to
23020 grub_linuxbios_table_header_t.
23021 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
23022 grub_stop().
23023
af58ab3d 23024 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
23025 prevent warnings.
23026
1759aa57 23027 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
23028 pointer, which can cause warnings. Support 64-bit addresses.
23029
fdecb8fd 23030 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
23031 of sizeof(long). This fixes PowerPC image generation on x86_64.
23032
8516d2a8 230332008-07-04 Robert Millan <rmh@aybabtu.com>
23034
23035 This fixes a performance issue when pc & gpt partmap iterators
23036 didn't abort iteration even after our hook found what it was
fe987087 23037 looking for (often causing expensive probes of non-existent drives).
8516d2a8 23038
23039 Some callers relied on previous buggy behaviour, since they would
34c44600 23040 raise an error when their own hooks caused early abortion of its
8516d2a8 23041 iteration.
23042
23043 * kern/device.c (grub_device_open): Improve error message.
23044 * disk/lvm.c (grub_lvm_open): Likewise.
23045 * disk/raid.c (grub_raid_open): Likewise.
23046
23047 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
23048 when hook requests it, independently of grub_errno.
23049 (pc_partition_map_probe): Do not fail when find_func() caused
23050 early abortion of pc_partition_map_iterate().
23051
23052 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
23053 when hook requests it, independently of grub_errno.
23054 (gpt_partition_map_probe): Do not fail when find_func() caused
23055 early abortion of gpt_partition_map_iterate().
23056
23057 * kern/partition.c (grub_partition_iterate): Abort parent iteration
23058 when hook requests it, independently of grub_errno. Do not fail when
23059 part_map_iterate_hook() caused early abortion of p->iterate().
23060
23061 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
23062 when grub_partition_iterate() returned with non-zero.
23063
277d0de9 230642008-07-03 Pavel Roskin <proski@gnu.org>
23065
23066 * disk/ata.c (grub_ata_pio_write): Check status before writing,
23067 like we do in grub_ata_pio_read().
23068 (grub_ata_readwrite): Always write individual sectors. Fix the
23069 sector count for the remainder.
23070 (grub_ata_write): Enable writing to ATA devices. Correctly
23071 report error for ATAPI devices.
23072
d4c9b428 230732008-07-02 Pavel Roskin <proski@gnu.org>
23074
e43fc690 23075 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
23076 warning.
23077
f707af42 23078 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
23079 for every read sector, we already increment it for the whole
23080 batch. This fixes reading more than 256 sectors at once.
23081
11e16b15 23082 * util/grub-editenv.c (cmd_info): Cast argument to long
23083 explicitly. ptrdiff_t reduces to int on i386.
23084
cbabfdd4 23085 * util/grub-editenv.c (main): Be specific which parameter is
23086 missing.
23087
b8fbce0a 23088 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
23089 (memdisk): Make memdisk_orig_addr a pointer.
23090
c9c8e606 23091 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
23092 for file offsets, use grub_off_t instead. Fix printf format
23093 warnings.
23094
ca62e598 23095 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
23096 there. Real unexpected warnings should not drown in the noise
23097 about known problems.
23098
ce8d1766 23099 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
23100 grub_disk_addr_t for memory addresses.
23101
00c7a56a 23102 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
23103 explicitly to fix a warning.
23104
08d3ef09 23105 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
23106
cb71ba20 23107 * Makefile.in (MODULE_LDFLAGS): New variable.
23108 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
23109 the linker accepts --build-id=none.
23110 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
23111 MODULE_LDFLAGS.
23112 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
23113
d4c9b428 23114 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
23115 those in Linux XFS code. Provide a way to access 64-bit parent
23116 inode.
23117 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
23118 the end of struct grub_xfs_dir_header.
23119
d4156eee 231202008-07-02 Bean <bean123ch@gmail.com>
23121
23122 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
23123 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23124 and GRUB_IEEE1275_FLAG_NO_ANSI.
23125
23126 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
23127 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23128 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
23129
23130 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
23131 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
23132
23133 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
23134 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
23135
23136 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
23137 esc sequence on non ANSI terminal.
23138 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
23139
23140 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
23141 beginning of file.
23142
2270f77b 231432008-07-02 Bean <bean123ch@gmail.com>
23144
23145 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
23146 (grub_editenv_SOURCES): New variable.
23147 (pkglib_MODULES): Add loadenv.mod.
23148 (loadenv_mod_SOURCES): New variable.
23149 (loadenv_mod_CFLAGS): Likewise.
23150 (loadenv_mod_LDFLAGS): Likewise.
23151
23152 * include/grub/envblk.h: New file.
23153
23154 * util/envblk.c: New file.
23155
23156 * util/grub-editenv.c: New file.
23157
23158 * commands/loadenv.c: New file.
23159
0e9e51ec 231602008-07-01 Pavel Roskin <proski@gnu.org>
23161
d89b7634 23162 * include/multiboot2.h (struct multiboot_tag_module): Use char,
23163 not unsigned char. This fixes warnings and is consistent with
23164 other tags.
23165
bf1835b1 23166 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
23167
8222a04b 23168 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
23169
6a42d99d 23170 * term/tparm.c (analyze): Always set *popcount.
23171
10b159d1 23172 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
23173 cast to fix a warning.
23174
b8789f6c 23175 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
23176 cast to suppress a warning.
23177
29d7e38a 23178 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
23179 grub_fshelp_read_file() expects.
23180
f341f669 23181 * fs/fat.c: Fix UUID calculation on big-endian systems. We
23182 write uuid as a 32-bit value in CPU byte order, so declare and
23183 use it as such.
23184
0e9e51ec 23185 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
23186 long if the format specifier expects it.
23187 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
23188 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23189 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
23190 long to fix a warning.
23191 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
23192 grub_dprintf() arguments to fix warnings.
23193
3aefa857 231942008-06-30 Pavel Roskin <proski@gnu.org>
23195
56c7668b 23196 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
23197 install_bsd_part immediately before core.img is embedded or
23198 modified on disk. This fixes core.img verification if core.img
23199 cannot be embedded.
23200
3aefa857 23201 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
23202 core_path to calculate the blocklist.
23203 Patch from Javier Martín <lordhabbit@gmail.com>
23204
5444088d 232052008-06-29 Robert Millan <rmh@aybabtu.com>
23206
23207 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
23208 block to disk block.
23209 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
23210 Patch from Niels Böhm <bitbucket@arcor.de>
23211
674835c8 232122008-06-29 Robert Millan <rmh@aybabtu.com>
23213
23214 * util/update-grub_lib.in (font_path): Search for fonts in
23215 /boot/grub first, which is more likely to be readable (we aren't
23216 deciding where fonts live, just looking for them).
23217
f527dbc8 232182008-06-26 Pavel Roskin <proski@gnu.org>
23219
6c2d8df6 23220 * util/biosdisk.c (read_device_map): Don't leave dead map
23221 entries for devices failing stat() check.
23222
f527dbc8 23223 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
23224 core_path_dev for the core.img path on the target device.
23225
aebe3d13 232262008-06-26 Robert Millan <rmh@aybabtu.com>
23227
23228 * disk/fs_uuid.c: New file.
23229 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
23230 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
23231 (fs_uuid_mod_LDFLAGS): New variables.
23232 * include/grub/disk.h (grub_disk_dev_id): Add
23233 `GRUB_DISK_DEVICE_UUID_ID'.
23234 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
23235 implement iterate().
23236
37aaf354 232372008-06-26 Robert Millan <rmh@aybabtu.com>
23238
23239 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
23240 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
23241 Linux image includes no initrd.
23242
25ff262a 232432008-06-21 Javier Martín <lordhabbit@gmail.com>
23244
23245 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
23246 call to resolve the core image location that effectively appended the
23247 name twice.
23248
76a2bd44 232492008-06-21 Robert Millan <rmh@aybabtu.com>
23250
23251 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
23252 call from here ...
23253
23254 * util/grub.d/10_hurd.in: ... to here ...
23255 * util/grub.d/10_linux.in: ... and here.
23256
650e1c79 232572008-06-19 Robert Millan <rmh@aybabtu.com>
23258
fe987087 23259 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 23260 after it has been set by grub_machine_set_prefix().
23261
6ce63911 232622008-06-19 Robert Millan <rmh@aybabtu.com>
23263
23264 * commands/search.c (search_label, search_fs_uuid, search_file): Print
23265 search result when not saving to variable, not the other way around.
23266 When saving to variable, abort iteration as soon as a match is found.
23267
73940cec 232682008-06-19 Robert Millan <rmh@aybabtu.com>
23269
23270 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
23271 check for partition that provides /boot/grub. Its logic is flawed,
23272 as it prevents prepare_grub_to_access_device() from being called
23273 multiple times.
23274
3c62a39d 232752008-06-19 Robert Millan <rmh@aybabtu.com>
23276
23277 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
23278 "insmod" command directly when abstraction modules are needed,
fe987087 23279 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 23280 since it had already been processed).
23281
47395a42 232822008-06-19 Pavel Roskin <proski@gnu.org>
23283
23284 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
23285 changed. This is needed in case GRUB_LIBDIR changes.
23286 * conf/i386-ieee1275.rmk: Likewise.
23287 * conf/i386-linuxbios.rmk: Likewise.
23288 * conf/i386-pc.rmk: Likewise.
23289 * conf/powerpc-ieee1275.rmk: Likewise.
23290
a145ac2d 232912008-06-18 Pavel Roskin <proski@gnu.org>
23292
23293 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
23294 kernel_elf_symlist.c to symlist.c for consistency with other
23295 architectures. Update all users.
23296 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23297
7847c51e 232982008-06-18 Robert Millan <rmh@aybabtu.com>
23299
23300 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
23301 it in prefix.
23302
23303 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
23304 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
23305 a RAID device, run setup() for all members independently on whether
23306 LVM abstraction is being used.
23307 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
23308 If grub-mkimage has set `*install_dos_part == -2', don't override this
23309 value.
23310 Perform *install_dos_part adjustments independently on whether
23311 we're embedding or not.
23312 Clarify error message when image is too big for embedding.
23313 Remove duplicate *install_dos_part stanza.
23314
b23e5644 233152008-06-17 Robert Millan <rmh@aybabtu.com>
23316
23317 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
23318 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
23319 variables.
23320 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
23321 values in grub_ofconsole_normal_color and
23322 grub_ofconsole_highlight_color (they're not directly related to
23323 background and foreground).
23324 (grub_ofconsole_setcolorstate): Extract background and foreground
23325 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
23326
0aac2f79 233272008-06-17 Robert Millan <rmh@aybabtu.com>
23328
23329 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
23330 /boot/grub for the check in last commit, not /boot (they could be
23331 different partitions).
23332
3cca7ef3 233332008-06-16 Robert Millan <rmh@aybabtu.com>
23334
23335 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
23336 asked to setup access for the same partition that provides /boot,
23337 don't bother using UUIDs since our root already has the value we
23338 want.
23339
347396d8 233402008-06-16 Robert Millan <rmh@aybabtu.com>
23341
23342 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
23343 I2O devices.
23344 Patch from Sven Mueller <sven@debian.org>.
23345
991477f8 233462008-06-16 Robert Millan <rmh@aybabtu.com>
23347
23348 * util/update-grub.in: Check for $EUID instead of $UID.
23349 Reported by Vincent Zweije.
23350
d31a32a1 233512008-06-16 Bean <bean123ch@gmail.com>
23352
fe987087 23353 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 23354 (grub_ext2_read_block): Likewise.
23355 (grub_ext2_read_inode): Likewise.
23356 (grub_ext2_mount): Likewise.
23357 (grub_ext2_close): Likewise.
23358 (grub_ext3_get_journal): Removed.
23359
fe987087 23360 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 23361 (grub_reiserfs_read_symlink): Likewise.
23362 (grub_reiserfs_mount): Likewise.
23363 (grub_reiserfs_open): Likewise.
23364 (grub_reiserfs_read): Likewise.
23365 (grub_reiserfs_close): Likewise.
23366 (grub_reiserfs_get_journal): Removed.
23367
23368 * fs/fshelp.c (grub_fshelp_read): Removed.
23369 (grub_fshelp_map_block): Likewise.
23370
23371 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
23372 (grub_fshelp_journal): Likewise.
23373 (grub_fshelp_read): Likewise.
23374 (grub_fshelp_map_block): Likewise.
23375
3540a760 233762008-06-16 Pavel Roskin <proski@gnu.org>
23377
23378 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
23379 floating point anymore.
23380 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
23381
95614c84 233822008-06-15 Pavel Roskin <proski@gnu.org>
23383
23384 * commands/ls.c (grub_ls_list_files): Use integer calculations
23385 for human readable format, avoid floating point use.
23386 * kern/misc.c (grub_ftoa): Remove.
23387 (grub_vsprintf): Remove floating point support.
23388
50465dd6 233892008-06-15 Robert Millan <rmh@aybabtu.com>
23390
fe6b695a 23391 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 23392 devices.
23393 Reported by Max Vozeler.
23394
a9207284 233952008-06-15 Robert Millan <rmh@aybabtu.com>
23396
23397 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
23398 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
23399 skipped later.
23400 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
23401 the beginning of the prefix.
23402
23403 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
23404 It is assumed that if we have a memdisk, grub-mkimage has set
23405 grub_prefix to include the "(memdisk)" drive in it.
23406
a7cbd45a 234072008-06-15 Robert Millan <rmh@aybabtu.com>
23408
23409 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
23410 Initialize keyboard controller after registering the terminal, so that
23411 grub_printf() can be called from grub_keyboard_controller_init().
23412
21cf716a 234132008-06-15 Robert Millan <rmh@aybabtu.com>
23414
23415 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
23416 extent-btree which is written as big endian on disk.
23417 Reported by Alain Greppin <al@chilibi.org>.
23418
23a64d8e 234192008-06-14 Robert Millan <rmh@aybabtu.com>
23420
23421 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
23422 * util/i386/pc/grub-install.in (modules): Likewise.
23423
d687651c 234242008-06-13 Pavel Roskin <proski@gnu.org>
23425
23426 * commands/ls.c (grub_ls_list_files): Fix format warnings.
23427
dfe9ddd4 234282008-06-13 Bean <bean123ch@gmail.com>
23429
23430 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
23431
23432 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
23433
23434 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
23435 to indicate sparse block.
23436
16ae7781 234372008-06-12 Pavel Roskin <proski@gnu.org>
23438
e6d1a308 23439 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
23440 number, grub_fshelp_read() does it for us.
23441
16ae7781 23442 * fs/fshelp.c (grub_fshelp_read): New function. Implement
23443 linear disk read with journal translation.
23444 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
23445 * include/grub/fshelp.h: Declare grub_fshelp_read().
23446
40fd3a2b 234472008-06-09 Pavel Roskin <proski@gnu.org>
23448
23449 * fs/minix.c (grub_minix_mount): Handle error reading
23450 superblock.
23451
f5679726 234522008-06-08 Robert Millan <rmh@aybabtu.com>
23453
23454 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
23455 don't append the RAID prefix afterwards.
23456 Reported by Clint Adams.
23457
ce525529 234582008-06-08 Robert Millan <rmh@aybabtu.com>
23459
23460 Based on description from Pavel:
23461 * kern/disk.c (grub_disk_check_range): Rename to ...
23462 (grub_disk_adjust_range): ... this. Add a comment explaining the
23463 tasks performed by this function.
23464
ad4936a0 234652008-06-08 Robert Millan <rmh@aybabtu.com>
23466
23467 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
23468 `num_serial' (for consistency with other variables).
23469 (struct grub_ntfs_data): Add `uuid' member.
23470 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
23471 (grub_ntfs_uuid): New function.
23472 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
23473
dc20b0f9 234742008-06-07 Pavel Roskin <proski@gnu.org>
23475
23476 * util/biosdisk.c (open_device): Revert last change to the
23477 function, it broke installation. The sector needs to be
23478 different dependent on which device is opened.
23479
c5e3cfba 234802008-06-06 Robert Millan <rmh@aybabtu.com>
23481
23482 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
23483 rest of GRUB, and breakage doesn't happen if its value were modified.
23484
23485 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23486 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
23487 a constant (same value).
23488 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
23489 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
23490
26a1f8c4 234912008-06-06 Robert Millan <rmh@aybabtu.com>
23492
23493 * util/biosdisk.c (open_device): Do not modify sector offset when
23494 accessing a partition. kern/disk.c already handles this for us.
23495
25d6b327 234962008-06-06 Robert Millan <rmh@aybabtu.com>
23497
23498 * util/grub-emu.c (grub_machine_init): Move code in this function from
23499 here ...
23500 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
23501 segfault in case grub_printf() is called).
23502
23503 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
23504 grub_probe. Update all users not to explicitly add it again.
23505 (grub_device): New variable; contains corresponding device for grubdir.
23506 (fs_module, partmap_module, devabstraction_module): Pass
23507 `--device ${grub_device}' to grub_probe to avoid traversing /dev
23508 every time.
23509
9ece62fb 235102008-06-05 Robert Millan <rmh@aybabtu.com>
23511
23512 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
23513 is found, print it (same layout as with labels).
23514
1ad36d37 235152008-06-04 Robert Millan <rmh@aybabtu.com>
23516
23517 * util/biosdisk.c (get_drive): Rename to ...
23518 (find_grub_drive): ... this. Update all users.
23519
23520 (get_os_disk): Rename to ...
23521 (convert_system_partition_to_system_disk): ... this. Update all users.
23522
23523 (find_drive): Rename to ...
23524 (find_system_device): ... this. Update all users.
23525
e6a30859 235262008-06-04 Robert Millan <rmh@aybabtu.com>
23527
23528 * util/biosdisk.c (get_os_disk): Handle IDA devices.
23529 * util/grub-mkdevicemap.c (get_mmc_disk_name)
23530 (make_device_map): Likewise.
23531
00c108a4 235322008-06-01 Robert Millan <rmh@aybabtu.com>
23533
23534 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
23535 before dereferencing it.
23536
23537 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
23538 union with fat12/fat16-specific ones. Add some new fields, including
23539 `num_serial' for both versions.
23540 (struct grub_fat_data): Add `uuid' member.
23541 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
23542 names. Initialize `data->uuid' using `num_serial'.
23543 (grub_fat_uuid): New function.
23544 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
23545
23546 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
23547 (grub_reiserfs_uuid): New function.
23548 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
23549 member.
23550
23551 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
23552 (grub_xfs_uuid): New function.
23553 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
23554
1385c5bb 235552008-06-01 Robert Millan <rmh@aybabtu.com>
23556
23557 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
23558 code that is backward compatible with pre-uuid search command.
23559
c682dfd7 235602008-05-31 Robert Millan <rmh@aybabtu.com>
23561
23562 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
23563 floppies after everything else, to ensure floppy drive isn't accessed
23564 unnecessarily (patch from Bean).
23565
b7db5d47 235662008-05-31 Robert Millan <rmh@aybabtu.com>
23567
23568 * commands/search.c (search_label, search_fs_uuid, search_file): Do
23569 not print device names when we were asked to set a variable.
23570
6e037aa9 235712008-05-31 Robert Millan <rmh@aybabtu.com>
23572
23573 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
23574 using "cursor-on" and "cursor-off" commands (understood at least by
23575 the Open Firmware flavour on OLPC).
23576
41305bc8 235772008-05-31 Michael Gorven <michael@gorven.za.net>
23578
23579 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
23580 on and off sequences.
23581
69ba137e 235822008-05-31 Robert Millan <rmh@aybabtu.com>
23583
23584 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
23585 * util/update-grub.in: Likewise.
23586
520ae21b 235872008-05-30 Pavel Roskin <proski@gnu.org>
23588
23589 * util/biosdisk.c (linux_find_partition): Simplify logic and
23590 make the code more universal. Keep special processing for
23591 devfs, but use a simple rule for all other devices. If the
23592 device ends with a number, append 'p' and the partition number.
23593 Otherwise, append only the partition number.
23594
5786569b 235952008-05-30 Robert Millan <rmh@aybabtu.com>
23596
23597 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
23598 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
23599 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
23600 the `root' parameter to Linux.
23601
51500452 236022008-05-30 Robert Millan <rmh@aybabtu.com>
23603
23604 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
23605 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
23606 --fs_uuid with --fs-uuid.
23607 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
23608 all filesystems support them).
23609
811d3878 236102008-05-30 Robert Millan <rmh@aybabtu.com>
23611
23612 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 23613 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 23614
cab63c95 236152008-05-30 Robert Millan <rmh@aybabtu.com>
23616
23617 * util/grub.d/00_header.in: Remove obsolete comment referencing
23618 convert_system_path_to_grub_path().
23619 * util/update-grub.in: Likewise.
23620 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
23621 (convert_system_path_to_grub_path): Add a warning message explaining
23622 that this function is deprecated. Rely on is_path_readable_by_grub()
23623 for the readability checks.
23624 (font_path): Use is_path_readable_by_grub() for the readability
23625 check rather than convert_system_path_to_grub_path().
23626
972e2f7a 236272008-05-30 Robert Millan <rmh@aybabtu.com>
23628
23629 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
23630 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
23631 converting it first.
23632 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
23633 grub.cfg for access to font file, and afterwards call it again to set
23634 the root device.
23635
62191274 236362008-05-30 Robert Millan <rmh@aybabtu.com>
23637
23638 * commands/search.c (options): Add --fs_uuid option.
23639 (search_fs_uuid): New function.
23640 (grub_cmd_search): Fix --set argument passing.
23641 Use search_fs_uuid() when requested via --fs_uuid.
23642 (grub_search_init): Update help message.
23643 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
23644 and redeclare it as an array of 16-bit words.
23645 (grub_ext2_uuid): New function.
23646 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
23647 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
23648 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
23649 (GRUB_DEVICE_BOOT_UUID): New variables.
23650 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
23651 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
23652 whenever possible.
23653 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
23654 just assume `root' variable has the right value.
23655 * util/grub.d/10_linux.in: Likewise.
23656 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
23657 via PRINT_FS_UUID.
23658 (main): Recognise `-t fs_uuid' argument.
23659
01b73ec8 236602008-05-30 Robert Millan <rmh@aybabtu.com>
23661
23662 * util/biosdisk.c (map): Redefine structure to hold information
23663 about GRUB drive name.
fe6b695a 23664 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 23665 drive names.
23666 (call_hook): Remove.
23667 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
23668 member. Assume drive has partitions.
23669 (grub_util_biosdisk_open): Access device names via `.device' struct
23670 member.
23671 (open_device): Likewise.
23672 (find_drive): Likewise.
23673 (read_device_map): Adjust map[] usage to match the new struct
23674 definition. Don't check for duplicates (still possible, but not cheap
23675 anymore).
23676 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
23677 (make_device_name): Remove assumption of BIOS-like drive names.
23678
22f16596 236792008-05-30 Pavel Roskin <proski@gnu.org>
23680
23681 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
23682 compiling execute.c doesn't need grub_script.tab.h anymore.
23683 (normal/command.c_DEPENDENCIES): Likewise.
23684 (normal/function.c_DEPENDENCIES): Likewise.
23685 * conf/i386-ieee1275.rmk: Likewise.
23686 * conf/i386-linuxbios.rmk: Likewise.
23687 * conf/i386-pc.rmk: Likewise.
23688 * conf/powerpc-ieee1275.rmk: Likewise.
23689 * conf/sparc64-ieee1275.rmk: Likewise.
23690
528ad8f2 236912008-05-29 Pavel Roskin <proski@gnu.org>
23692
d1dff95d 23693 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
23694 when scanning metadata for volume group name.
23695
528ad8f2 23696 * include/grub/script.h: Don't include grub_script.tab.h. It's
23697 a generated file, which may only be included from the files with
23698 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
23699 use union YYSTYPE, as the later allows forward declaration.
23700 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
23701
47248e08 237022008-05-29 Robert Millan <rmh@aybabtu.com>
23703
23704 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
23705 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
23706 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
23707 (grub_console_checkkey): Add grub_dprintf() call to report unknown
23708 scan codes.
23709
ee632529 237102008-05-29 Robert Millan <rmh@aybabtu.com>
23711
23712 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
23713 control key combinations.
23714
eee96e08 237152008-05-29 Robert Millan <rmh@aybabtu.com>
23716
23717 * util/powerpc/ieee1275/grub-install.in: Move from here ...
23718 * util/ieee1275/grub-install.in: ... to here.
23719 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
23720 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
23721 (grub_install_SOURCES): Likewise.
23722
da9a6a94 237232008-05-29 Robert Millan <rmh@aybabtu.com>
23724
23725 * fs/affs.c: Update copyright year.
23726 * fs/ext2.c: Likewise.
23727 * fs/fshelp.c: Likewise.
23728 * fs/hfsplus.c: Likewise.
23729 * fs/ntfs.c: Likewise.
23730 * fs/xfs.c: Likewise.
23731 * include/grub/fshelp.h: Likewise.
23732 * util/grub-mkdevicemap.c: Likewise.
23733
12e65f3a 237342008-05-28 Robert Millan <rmh@aybabtu.com>
23735
23736 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
23737 might need to be fatfs to support some firmware implementations
23738 (e.g. OFW or EFI).
23739
23023641 237402008-05-28 Robert Millan <rmh@aybabtu.com>
23741
23742 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
23743 devices.
23744 * util/grub-mkdevicemap.c (get_mmc_disk_name)
23745 (make_device_map): Likewise.
23746
887d2619 237472008-05-20 Bean <bean123ch@gmail.com>
23748
23749 * fs/fshelp.c (grub_fshelp_map_block): New function.
23750 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
23751 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
23752
23753 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
23754 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
23755 (grub_fshelp_journal): New structure.
23756 (grub_fshelp_map_block): New function prototype.
23757 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
23758 (grub_fshelp_map_block): Likewise.
23759
23760 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
23761 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
23762 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
23763 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
23764 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
23765 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
23766 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
23767 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
23768 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
23769 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
23770 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
23771 (grub_ext2_sblock): New members for journal support.
23772 (grub_ext3_journal_header): New structure.
23773 (grub_ext3_journal_revoke_header): Likewise.
23774 (grub_ext3_journal_block_tag): Likewise.
23775 (grub_ext3_journal_sblock): Likewise.
23776 (grub_fshelp_node): New members logfile and journal.
23777 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
23778 grub_fshelp_map_block to get real block number.
23779 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
23780 number.
23781 (grub_ext2_read_inode): Likewise.
23782 (grub_ext3_get_journal): New function.
23783 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
23784 (grub_ext2_close): Release memory used by journal.
23785
23786 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
23787 (REISERFS_MAGIC_DESC_BLOCK): New macro.
23788 (grub_reiserfs_transaction_header): Renamed to
23789 grub_reiserfs_description_block, replace field data with real_blocks.
23790 (grub_reiserfs_commit_block): New structure.
23791 (grub_reiserfs_data): New member journal.
23792 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
23793 number.
23794 (grub_reiserfs_read_symlink): Likewise.
23795 (grub_reiserfs_iterate_dir): Likewise.
23796 (grub_reiserfs_open): Likewise.
23797 (grub_reiserfs_read): Likewise.
23798 (grub_reiserfs_get_journal): New function.
23799 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
23800 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
23801 using grub_reiserfs_get_journal.
23802 (grub_reiserfs_close): Release memory used by journal.
23803
23804 * fs/affs.c (grub_affs_read_block): Change block type to
23805 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
23806
23807 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
23808
23809 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
23810
23811 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
23812
23813 * fs/udf.c (grub_udf_read_block): Change block type to
23814 grub_disk_addr_t. Use type cast to avoid warning.
23815
23816 * fs/xfs.c (grub_xfs_read_block): Likewise.
23817
b7c6bed5 238182008-05-16 Christian Franke <franke@computer.org>
23819
23820 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
23821 to ensure that break with ESC will always work.
23822 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
23823 Remove ESC from keyboard queue.
23824
eedf167f 238252008-05-16 Christian Franke <franke@computer.org>
23826
23827 * util/biosdisk.c: [__CYGWIN__] Add includes.
23828 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
23829 (get_os_disk): Move variable declarations to OS specific
23830 parts to avoid warning.
23831 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
23832 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
23833 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
23834 Cygwin.
23835 * util/getroot.c: [__CYGWIN__] Add includes.
23836 (strip_extra_slashes): Fix "/" case.
23837 [__CYGWIN__] (get_win32_path): New function.
23838 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
23839 [__CYGWIN__] (find_root_device): Disable.
23840 [__CYGWIN__] (get_bootsec_serial): New function.
23841 [__CYGWIN__] (find_cygwin_root_device): Likewise.
23842 [__linux__] (grub_guess_root_device): Add early returns to simplify
23843 structure.
23844 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
23845 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
23846 check for Linux only.
23847
a079699e 238482008-05-15 Bean <bean123ch@gmail.com>
23849
23850 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
23851 keyboard hang problem in apple's intel mac.
23852
1cf4059a 238532008-05-09 Robert Millan <rmh@aybabtu.com>
23854
23855 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
23856 devices.
23857 * util/grub-mkdevicemap.c (get_virtio_disk_name)
23858 (make_device_map): Likewise.
23859 Reported by Aurelien Jarno <aurel32@debian.org>
23860
ed759390 238612008-05-07 Ian Campbell <ijc@hellion.org.uk>
23862
23863 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
23864 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
23865 (make_device_map): Output entries for xvd type disks.
23866
b56c4eaa 238672008-05-07 Robert Millan <rmh@aybabtu.com>
23868
23869 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
23870 devices.
23871 * util/grub-mkdevicemap.c (get_cciss_disk_name)
23872 (make_device_map): Likewise.
23873 Reported by Roland Dreier <rdreier@cisco.com>
23874
7f8866ed 238752008-05-07 Robert Millan <rmh@aybabtu.com>
23876
23877 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
23878 grub_strstr() call. Correct a few mistakes in failure path handling.
23879
b0346e0f 238802008-05-06 Robert Millan <rmh@aybabtu.com>
23881
23882 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23883 Do not print a trailing slash (therefore, the root directory is an
23884 empty string).
23885 (convert_system_path_to_grub_path): Do not remove trailing slash
23886 from make_system_path_relative_to_its_root() output.
23887
23888 * util/i386/pc/grub-install.in: Add trailing slash to output from
23889 make_system_path_relative_to_its_root().
23890
6cf12cbd 238912008-05-06 Robert Millan <rmh@aybabtu.com>
23892
23893 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
23894 ensures that output lines aren't intermangled with those sent to
23895 stderr (via grub_util_info()).
23896 * util/grub-probe.c (grub_refresh): Likewise.
23897 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
23898
0fbb3117 238992008-05-05 Christian Franke <franke@computer.org>
23900
23901 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
23902 Add Cygwin device names.
23903 (get_ide_disk_name) [__CYGWIN__]: Likewise.
23904 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
23905 (check_device): Return error instead of success on empty name.
23906 (make_device_map): Move label inside linux specific code to
23907 prevent compiler warning.
23908
8124cdb7 239092008-04-30 Robert Millan <rmh@aybabtu.com>
23910
23911 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
23912 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
23913 first boot option.
23914 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
23915
094c01d0 239162008-04-29 Robert Millan <rmh@aybabtu.com>
23917
23918 * docs/grub.cfg: New file (example GRUB configuration).
23919
f4b1fc02 239202008-04-26 Robert Millan <rmh@aybabtu.com>
23921
329ce2a5 23922 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
23923 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
23924 and `disk/ieee1275/nand.c'.
f4b1fc02 23925
25f16ec1 239262008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 23927
25f16ec1 23928 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
23929 i386-linuxbios.
23930
23931 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
23932 change the buffer size to 4096 for cdrom device.
23933
23934 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
23935 and nand.mod.
23936 (_linux_mod_SOURCES): New variable.
23937 (_linux_mod_CFLAGS): Likewise.
23938 (_linux_mod_LDFLAGS): Likewise.
23939 (linux_mod_SOURCES): Likewise.
23940 (linux_mod_CFLAGS): Likewise.
23941 (linux_mod_LDFLAGS): Likewise.
23942 (nand_mod_SOURCES): Likewise.
23943 (nand_mod_CFLAGS): Likewise.
23944 (nand_mod_LDFLAGS): Likewise.
23945
23946 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
23947 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
23948 type property. (nand device in olpc don't have this property)
23949
23950 * include/grub/disk.h (grub_disk_dev_id): New macro
23951 GRUB_DISK_DEVICE_NAND_ID.
23952
23953 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
23954 function prototype.
23955 (grub_rescue_cmd_initrd): Likewise.
23956
23957 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
23958 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
23959 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 23960
25f16ec1 23961 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
23962 GRUB_MACHINE_IEEE1275 is defined.
23963
23964 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
23965 Use NESTED_FUNC_ATTR attribute on the hook parameter.
23966
23967 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
23968 on nested function heap_init.
23969 (grub_upper_mem): New variable for i386-ieee1275.
23970 (grub_get_extended_memory): New function for i386-ieee1275.
23971 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
23972
23973 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
23974 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
23975 property.
f19dbdb7 23976
25f16ec1 23977 * loader/i386/ieee1275/linux.c: New file.
23978
23979 * loader/i386/ieee1275/linux_normal.c: New file.
23980
23981 * disk/ieee1275/nand.c: New file.
23982
e89d61e9 239832008-04-18 Thomas Schwinge <tschwinge@gnu.org>
23984
23985 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
23986 value.
23987 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
23988
602566f6 239892008-04-18 Robert Millan <rmh@aybabtu.com>
23990
23991 Restructures early code path on ieee1275 to unify grub_main() as
23992 the first C function that is executed in every platform.
23993
23994 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
23995 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
23996 cmain().
23997 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
23998 * kern/ieee1275/cmain.c (cmain): Rename to ...
23999 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
24000 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
24001 at the beginning.
24002
57490c2b 240032008-04-18 Robert Millan <rmh@aybabtu.com>
24004
24005 * util/update-grub.in: Fix syntax error when setting
24006 `GRUB_PRELOAD_MODULES'.
24007 Reported by Stephane Chazelas <stephane@artesyncp.com>
24008
1977517d 240092008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
24010
24011 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
24012 section into account, newer toolchains generate unique build ids
24013 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 24014 we want build ids to be preserved
1977517d 24015 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
24016 far from other sections don't cause the raw binary images grow
24017 size
24018
bfb1f1a2 240192008-04-15 Robert Millan <rmh@aybabtu.com>
24020
24021 * disk/lvm.c: Update copyright year.
24022 * kern/misc.c: Likewise.
24023
01979850 240242008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24025
24026 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 24027 there is no memory left for physical volume name.
01979850 24028
0a1150e2 240292008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24030
24031 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
24032 volume name mapping to support bigger than 9 character names properly.
24033
82ead3fe 240342008-04-13 Robert Millan <rmh@aybabtu.com>
24035
24036 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
24037 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
24038
e54a72f5 240392008-04-13 Christian Franke <franke@computer.org>
24040
24041 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
24042 to create a floppy emulation boot CD when non emulation mode
24043 does not work.
24044 Enable Joliet CD filesystem extension.
24045
9fe86034 240462008-04-13 Robert Millan <rmh@aybabtu.com>
24047
24048 * kern/misc.c (grub_strncat): Fix off-by-one error.
24049 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
24050
24051 * kern/env.c (grub_env_context_close): Clear current context, not
24052 previous one.
24053 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
24054
24055 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
24056
7ceeee39 240572008-04-13 Robert Millan <rmh@aybabtu.com>
24058
24059 Improve robustness when handling LVM.
24060
24061 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 24062 (and leave `*p' unmodified).
7ceeee39 24063 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
24064 through it.
24065 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
24066 iterating through it.
24067 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
24068 through it.
fe6b695a 24069 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 24070 when due) on each grub_lvm_getvalue() or grub_strstr() call.
24071 Don't assume `vg->pvs != NULL' when iterating through it.
24072
58cd3d85 240732008-04-13 Robert Millan <rmh@aybabtu.com>
24074
24075 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
24076 * genmk.rb (partmap): New variable.
24077 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
24078 (#{partmap}): New target rule.
24079 * genpartmaplist.sh: New file.
24080 * Makefile.in (pkglib_DATA): Add partmap.lst.
24081 (partmap.lst): New target rule.
24082 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
24083 modules (including all partition maps), instead of preloading them.
24084
78b51059 240852007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
24086
24087 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
24088 `linux-boot-prober' (if installed) to detect other operating
24089 systems which are installed on the computer and add them to
24090 the boot menu.
24091 * conf/common.rmk: Build and install 30_os-prober.
24092
a91627b4 240932008-04-12 Robert Millan <rmh@aybabtu.com>
24094
24095 * kern/powerpc/ieee1275/init.c: Move from here ...
24096 * kern/ieee1275/init.c: ... to here. Update all users.
24097
24098 * kern/powerpc/ieee1275/cmain.c: Move from here ...
24099 * kern/ieee1275/cmain.c: ... to here. Update all users.
24100
24101 * kern/powerpc/ieee1275/openfw.c: Move from here ...
24102 * kern/ieee1275/openfw.c: ... to here. Update all users.
24103
24104 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
24105 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
24106
322562ea 241072008-04-10 Pavel Roskin <proski@gnu.org>
24108
24109 * configure.ac: Always use "_cv_" in cache variables for
24110 compatibility with Autoconf 2.62.
24111
a02a73c5 241122008-04-07 Robert Millan <rmh@aybabtu.com>
24113
24114 Revert grub/machine/init.h addition by Pavel (since it breaks on
24115 i386-ieee1275 and others):
24116 * util/i386/pc/misc.c: Remove grub/machine/init.h.
24117 * util/powerpc/ieee1275/misc.c: Likewise.
24118
25c024b1 241192008-04-07 Robert Millan <rmh@aybabtu.com>
24120
24121 * util/grub-probe.c (probe): Improve error message.
24122
3cbd2f98 241232008-04-07 Robert Millan <rmh@aybabtu.com>
24124
24125 * util/biosdisk.c (read_device_map): Skip devices that don't exist
24126 (this prevents the presence of a bogus entry from ruining the whole
24127 thing).
24128
87a297bf 241292008-04-06 Pavel Roskin <proski@gnu.org>
24130
36747a62 24131 * util/biosdisk.c: Include grub/util/biosdisk.h.
24132 * util/grub-fstest.c (execute_command): Make static.
24133 * util/grub-mkdevicemap.c (check_device): Likewise.
24134 * util/i386/pc/misc.c: Include grub/machine/init.h.
24135 * util/powerpc/ieee1275/misc.c: Likewise.
24136 * util/lvm.c: Include grub/util/lvm.h.
24137 * util/misc.c: Include grub/kernel.h, grub/misc.h and
24138 grub/cache.h.
24139 * util/raid.c: Include grub/util/raid.h.
24140 (grub_util_getdiskname): Make static.
24141
87a297bf 24142 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
24143 grub_hostfs_fini(), as they are called from grub_init_all() and
24144 grub_fini_all() respectively. This fixes an infinite loop in
24145 grub-fstest due to double registration of hostfs.
24146 Reported by Christian Franke <Christian.Franke@t-online.de>
24147
f6ce7629 241482008-04-05 Pavel Roskin <proski@gnu.org>
24149
24150 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
24151 all 8 functions. Otherwise, probe function 0 only.
24152
070e49e4 241532008-04-04 Pavel Roskin <proski@gnu.org>
24154
8b088a4c 24155 * commands/lspci.c (grub_lspci_iter): Print the bus number
24156 correctly.
24157
4f657021 24158 * commands/lspci.c (grub_pci_classes): Fix typos.
24159 (grub_lspci_iter): Don't print func twice. Print vendor ID
24160 before device ID, as it's normally done.
24161
070e49e4 24162 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
24163 Fix signedness warnings.
24164 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
24165 Likewise.
24166 * util/ieee1275/get_disk_name.c: Include config.h so that
24167 _GNU_SOURCE is defined and getline() is declared. Mark an
24168 unused argument as such. Fix a signedness warning.
24169
ba7328dc 241702008-04-02 Pavel Roskin <proski@gnu.org>
24171
26887f22 24172 * genkernsyms.sh.in: Use more robust assignments for CC and
24173 srcdir. Quote srcdir.
24174 * gensymlist.sh.in: Likewise. Assert at the compile time that
24175 the symbol table is not empty.
24176
ba7328dc 24177 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
24178 * fs/cpio.c (grub_cpio_read): Likewise.
24179
0f582c6b 241802008-04-01 Pavel Roskin <proski@gnu.org>
24181
4b6e1995 24182 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
24183 * disk/host.c (grub_host_open): Likewise.
24184 * disk/loopback.c (grub_loopback_open): Likewise.
24185 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
24186 disk->id as in disk/host.c, not a multi-character constant.
24187
828a2768 24188 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
24189 later is obsolete, potentially dangerous and sets a bad example.
24190 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
24191 * util/misc.c (grub_util_get_image_size): Likewise.
24192
2bb4fb47 24193 * disk/loopback.c (options): Improve help for "--partitions".
24194
0f582c6b 24195 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
24196 options to align them with the short options, e.g. "echo -e".
24197
a33224e0 241982008-03-31 Bean <bean123ch@gmail.com>
24199
24200 * video/reader/png.c (grub_png_data): New member is_16bit and
24201 image_data.
24202 (grub_png_decode_image_header): Detect 16 bit png image.
24203 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
24204 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
24205 (grub_video_reader_png): Release memory occupied by image_data.
24206
24207 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
24208 4096 bytes.
24209 (grub_nfs_mount): Skip the test for sector per cluster.
24210
24211 * include/grub/ntfs.h (MAX_SPC): Removed.
24212
86cb4f54 242132008-03-31 Bean <bean123ch@gmail.com>
24214
24215 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
24216 (grub_probe_SOURCES): Add fs/afs.c.
24217 (grub_fstest_SOURCES): Likewise.
24218 (afs_mod_SOURCES): New variable.
24219 (afs_mod_CFLAGS): Likewise.
24220 (afs_mod_LDFLAGS): Likewise.
24221
24222 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
24223 (grub_emu_SOURCES): Likewise.
24224
24225 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24226
24227 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24228
24229 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24230
24231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24232
24233 * fs/afs.c: New file.
24234
17c74c21 242352008-03-30 Pavel Roskin <proski@gnu.org>
24236
4cb68e89 24237 * disk/host.c: Include grub/misc.h to fix a warning.
24238 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
24239 warnings about implicit declarations.
24240
8790bb04 24241 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
24242 variable.
24243 * include/grub/i386/loader.h: Change declaration of
24244 grub_linux_boot() to match what grub_loader_set() expects.
24245 * util/getroot.c (grub_guess_root_device): Return const char* to
24246 fix a warning.
24247 * util/grub-probe.c (probe): Fix a warning about uninitialized
24248 abstraction_name variable.
24249 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
24250 second argument as unused to fix a warning.
24251
9a3f3296 24252 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
24253 missing grub_error() call.
24254
0ecef90d 24255 * util/update-grub_lib.in: Define datarootdir, since Autoconf
24256 2.60 and newer uses it to define datadir.
24257
0bf6d401 24258 * commands/sleep.c: Fix warning about implicit declaration.
24259 * disk/memdisk.c: Likewise.
24260 * loader/aout.c: Likewise.
24261 * loader/i386/bsd_normal.c: Likewise.
24262 * util/grub-probe.c: Likewise.
24263
7cdacf97 24264 * commands/i386/cpuid.c (has_longmode): Make static.
24265 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
24266 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
24267
17c74c21 24268 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
24269 GDT. This is more robust, as %ds can change.
24270 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
24271 calling real_to_prot().
24272 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
24273
80a3e68b 242742008-03-28 Pavel Roskin <proski@gnu.org>
24275
24276 * kern/i386/pc/startup.S: Assert that uncompressed functions
24277 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
24278 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
24279 code, as they push parts of the code (error handlers) beyond
24280 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
24281 code as correctness and size.
24282
77bcd272 242832008-03-28 Pavel Roskin <proski@gnu.org>
24284
24285 * kern/i386/pc/startup.S
24286 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
24287 data block address to the real mode, keep offset minimal. This
24288 works around a bug in AWARD BIOS on old Athlon systems, which
24289 makes CD detection hang.
24290
c5dfd43b 242912008-03-26 Pavel Roskin <proski@gnu.org>
24292
24293 * normal/color.c (grub_parse_color_name_pair): Make `name' a
24294 const.
24295 * include/grub/normal.h: Add grub_parse_color_name_pair()
24296 declaration.
24297
bf962df2 242982008-03-24 Bean <bean123ch@gmail.com>
24299
24300 * disk/i386/pc/biosdisk.c (cd_start): Removed.
24301 (cd_count): Removed.
24302 (cd_drive): New variable.
24303 (grub_biosdisk_get_drive): Don't check for (cdN) device.
24304 (grub_biosdisk_call_hook): Likewise.
24305 (grub_biosdisk_iterate): Change cdrom detection method.
24306 (grub_biosdisk_open): Replace cd_start with cd_drive.
24307 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
24308 detect cdrom device.
24309
24310 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
24311 Removed.
24312 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
24313 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
24314 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
24315 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
24316 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
24317 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
24318 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
24319 (grub_biosdisk_cdrp): New structure.
24320 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
24321
24322 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
24323
24324 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
24325 device.
24326
24327 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
24328 New function.
24329
68e7fc7a 243302008-03-20 Robert Millan <rmh@aybabtu.com>
24331
24332 Remove 2 TiB limit in ata.mod.
24333 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
24334 (grub_ata_dumpinfo): Print sector count with 0x%llx.
24335 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
24336 grub_uint64_t instead of grub_uint32_t.
24337
38ad2cf5 243382008-03-05 Bean <bean123ch@gmail.com>
24339
24340 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
24341 (grub_multiboot): Set boot device.
24342
24343 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
24344
2b89344e 243452008-03-02 Bean <bean123ch@gmail.com>
24346
24347 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
24348 symlink_buffer.
24349
87a95d1f 243502008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
24351
24352 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
24353 texinfo.tex.
24354
24355 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
24356 modified.
24357
24358 * docs/fdl.texi: New file.
f19dbdb7 24359
87a95d1f 24360 * docs/mdate-sh: New file. Copied from gnulib.
24361 * docs/texinfo.tex: Likewise.
24362
24363 * config.guess: Updated from gnulib.
24364 * install-sh: Likewise.
24365
7dc15d8e 243662008-02-28 Robert Millan <rmh@aybabtu.com>
24367
24368 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
24369 (aout_mod_SOURCES): New variable.
24370 (aout_mod_CFLAGS): Likewise.
24371 (aout_mod_LDFLAGS): Likewise.
24372
24373 * conf/i386-ieee1275.rmk: Likewise.
24374
b00ab696 243752008-02-28 Robert Millan <rmh@aybabtu.com>
24376
24377 * util/update-grub.in: Reorganise terminal validity check. Accept
24378 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
24379 Based on suggestion by Franklin PIAT.
24380
79ca2d78 243812008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
24382
24383 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
24384 function.
24385 * util/getroot.c (grub_util_check_block_device): New function that
24386 returns the given argument if it is a block device and returns NULL else.
24387 * util/grub-probe.c (argument_is_device): New variable.
24388 (probe): Promote device_name from a variable to an argument. Receive
24389 device_name from grub_util_check_block_device() if path is NULL and from
24390 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 24391 (options): Introduce new parameter '-d, --device'.
79ca2d78 24392 (main): Add description of the new parameter to the help screen.
24393 Rename path variable to argument. Set argument_is_device if the '-d'
24394 option is given. Pass argument to probe() depending on
24395 argument_is_device.
24396
0d16e571 243972008-02-24 Bean <bean123ch@gmail.com>
24398
24399 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
24400 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
24401 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
24402 (GRUB_ISO9660_VOLDESC_PART): Likewise.
24403 (GRUB_ISO9660_VOLDESC_END): Likewise.
24404 (grub_iso9660_primary_voldesc): New member escape.
24405 (grub_iso9660_data): New member joliet.
24406 (grub_iso9660_convert_string): New function.
24407 (grub_iso9660_mount): Detect joliet extension.
24408 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
24409 (grub_iso9660_iso9660_label): Likewise.
24410
24411 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
24412 (grub_setup_SOURCES): Add fs/udf.c.
24413 (grub_fstest_SOURCES): Likewise.
24414 (udf_mod_SOURCES): New variable.
24415 (udf_mod_CFLAGS): Likewise.
24416 (udf_mod_LDFLAGS): Likewise.
24417
24418 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
24419 (grub_emu_SOURCES): Likewise.
24420
24421 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24422
24423 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24424
24425 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24426
24427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24428
24429 * fs/udf.c: New file.
24430
8a594a17 244312008-02-24 Robert Millan <rmh@aybabtu.com>
24432
24433 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
24434 (normal/lexer.c_DEPENDENCIES): New variables.
24435 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24436 (normal/lexer.c_DEPENDENCIES): Likewise.
24437 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
24438 (normal/lexer.c_DEPENDENCIES): Likewise.
24439 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
24440 (normal/lexer.c_DEPENDENCIES): Likewise.
24441 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24442 (normal/lexer.c_DEPENDENCIES): Likewise.
24443 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24444 (normal/lexer.c_DEPENDENCIES): Likewise.
24445
2dc33c03 244462008-02-23 Robert Millan <rmh@aybabtu.com>
24447
24448 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
24449 since they were intended to be in hex. This didn't break previously
24450 because of a bug in gpt_partition_map_iterate() (see below).
24451
24452 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
24453 when checking the validity of GPT header.
24454 Remove `partno', since it always provides the same information as `i'.
24455
f6f4cfb0 244562008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
24457
24458 * include/grub/efi/time.h: Fix a wrong comment.
24459
79ff665f 244602008-02-19 Pavel Roskin <proski@gnu.org>
24461
24462 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
24463 message.
24464
d38e24c2 244652008-02-19 Bean <bean123ch@gmail.com>
24466
24467 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
24468 (aout_mod_SOURCES): New variable.
24469 (aout_mod_CFLAGS): Likewise.
24470 (aout_mod_LDFLAGS): Likewise.
24471 (_bsd_mod_SOURCES): New variable.
24472 (_bsd_mod_CFLAGS): Likewise.
24473 (_bsd_mod_LDFLAGS): Likewise.
24474 (bsd_mod_SOURCES): New variable.
24475 (bsd_mod_CFLAGS): Likewise.
24476 (bsd_mod_LDFLAGS): Likewise.
24477
24478 * include/grub/aout.h: New file.
24479
24480 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
24481
24482 * include/grub/i386/bsd.h: New file.
24483
24484 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
24485 to make it public.
24486
24487 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
24488 function is called, so that it's possible to change it inside the hook.
24489 (grub_elf64_load): Likewise.
24490 (grub_elf_file): Don't close the file if elf header is not found.
24491 (grub_elf_close): Close the file if grub_elf_file fails (The new
24492 grub_elf_file won't close it).
24493 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
24494 (grub_elf64_size): Likewise.
24495
24496 * kern/i386/loader.S (grub_unix_real_boot): New function.
24497
24498 * loader/aout.c: New file.
24499
24500 * loader/i386/bsd.c: New file.
24501
24502 * loader/i386/bsd_normal.c: New file.
24503
24504 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
24505
24506 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 24507 can test other formats.
d38e24c2 24508
b93bdb0f 245092008-02-19 Robert Millan <rmh@aybabtu.com>
24510
24511 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
24512 (grub_gpt_partition_type_empty): Redefine with macro from
24513 `<grub/gpt_partition.h>'.
24514 (gpt_partition_map_iterate): Adjust partition type comparison.
24515
24516 Export `entry' as partmap-specific `part.data' struct.
24517 (grub_gpt_header, grub_gpt_partentry): Move from here ...
24518
24519 * include/grub/gpt_partition.h (grub_gpt_header)
24520 (grub_gpt_partentry): ... to here (new file).
24521
24522 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
24523
24524 (grub_gpt_partition_type_bios_boot): New const variable, defined
24525 with macro from `<grub/gpt_partition.h>'.
24526
24527 (setup): Replace `first_start' with `embed_region', which keeps
24528 track of the embed region (and is partmap-agnostic).
24529
24530 Replace find_first_partition_start() with find_usable_region(),
24531 which finds a usable region for embedding using partmap-specific
24532 knowledge (supports PC/MSDOS and GPT).
24533
24534 Fix all assumptions that the embed region start at sector 1, using
24535 `embed_region.start' from now on. Similarly, use `embed_region.end'
24536 rather than `first_start' to calculate available size.
24537
24538 In grub_util_info() message, replace "into after the MBR" with an
24539 indication of the specific sector our embed region starts at.
24540
66cb40f6 245412008-02-19 Robert Millan <rmh@aybabtu.com>
24542
24543 * DISTLIST: Replace `commands/ieee1275/halt.c' and
24544 `commands/ieee1275/reboot.c' with `commands/halt.c' and
24545 `commands/reboot.c'.
24546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
24547 (halt_mod_SOURCES): Likewise.
24548 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
24549 (halt_mod_SOURCES): Likewise.
24550
b7202015 245512008-02-17 Christian Franke <franke@computer.org>
24552
24553 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
24554
32b0fc49 245552008-02-17 Robert Millan <rmh@aybabtu.com>
24556
24557 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
24558 set `first_start' to 0 for non-PC/MSDOS partition maps.
24559
aca63502 245602008-02-16 Robert Millan <rmh@aybabtu.com>
24561
24562 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
24563 do not assume partition map is PC/MSDOS before performing checks that
24564 are specific to that layout.
24565
0de8be86 245662008-02-13 Robert Millan <rmh@aybabtu.com>
24567
24568 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
24569 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
24570 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
24571
c3db8364 245722008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
24573
24574 * configure.ac: Only a cosmetic change on the handling of
24575 -fno-stack-protector.
24576
f714229e 245772008-02-12 Alexandre Boeglin <alex@boeglin.org>
24578
c3db8364 24579 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
24580 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
24581 reboot.c.
f714229e 24582 (grub_install_SOURCES): Add halt.mod and reboot.mod.
24583 (halt_mod_SOURCES): New variable.
24584 (halt_mod_CFLAGS): Likewise.
24585 (halt_mod_LDFLAGS): Likewise.
24586 (reboot_mod_SOURCES): Likewise.
24587 (reboot_mod_CFLAGS): Likewise.
24588 (reboot_mod_LDFLAGS): Likewise.
24589
c3db8364 24590 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
24591 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
24592 reboot.c.
f714229e 24593 (halt_mod_SOURCES): Likewise.
24594 (reboot_mod_SOURCES): Likewise.
24595
c3db8364 24596 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
24597 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 24598 (reboot_mod_SOURCES): Likewise.
24599
24600 * commands/i386/pc/reboot.c: merge this file ...
24601
24602 * commands/ieee1275/reboot.c: ... and this file ...
24603
24604 * commands/reboot.c: ... to this file.
c3db8364 24605 Add some precompiler directive to include the correct header for
24606 each machine.
f714229e 24607
24608 * commands/ieee1275/halt.c: move this file ...
24609
24610 * commands/halt.c: ... to here.
c3db8364 24611 Add some precompiler directive to include the correct header for
24612 each machine.
f714229e 24613
24614 * include/grub/efi/efi.h (grub_reboot): New function declaration.
24615 (grub_halt): Likewise.
24616
24617 * kern/efi/efi.c (grub_reboot): New function.
24618 (grub_halt): Likewise.
24619
c74493e0 246202008-02-12 Robert Millan <rmh@aybabtu.com>
24621
24622 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
24623 /dev (like it is done for /dev/mapper). This doesn't provide support
24624 for EVMS, but at least it is now easy to identify the problem when it
24625 arises.
24626
d0db4b04 246272008-02-11 Robert Millan <rmh@aybabtu.com>
24628
24629 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
24630 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
24631 comparing it with -1, not 0.
24632
bf748642 246332008-02-10 Robert Millan <rmh@aybabtu.com>
24634
24635 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
24636 `disk/lvm.c'.
24637 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24638 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24639
24640 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
24641 `disk/lvm.c' to the end of the list.
24642 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24643 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24644
b5db202a 246452008-02-10 Robert Millan <rmh@aybabtu.com>
24646
24647 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
24648 grub_print_error() instead. This will let user know why we're entering
24649 rescue mode.
24650 Based on suggestions from Sam Morris.
24651
83abee31 246522008-02-10 Alexandre Boeglin <alex@boeglin.org>
24653
24654 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
24655 on remaining N args, instead of "--" arg N times.
24656
78d5a08b 246572008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
24658
24659 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
24660 (fill_with_default_glyph): Changed to use unknown_glyph for fill
24661 pattern for unknown glyphs.
24662
68807e5f 246632008-02-09 Robert Millan <rmh@aybabtu.com>
24664
24665 * configure.ac: Probe for `help2man'.
24666 * Makefile.in (builddir): New variable.
24667 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
24668 or otherwise add a few flags/options to it.
24669 (install-local): For every executable utility or script that is
24670 installed, invoke $(HELP2MAN) to install a manpage based on --help
24671 output.
24672
24673 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
24674 that it doesn't prevent --help from working in build tree.
24675
24676 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
24677 with `bug-grub@gnu.org'.
24678 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
24679 * util/update-grub.in (usage): New function.
24680 Implement proper argument check, with support for --help and --version
24681 (as well as existing -y).
24682
246832008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 24684
24685 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
24686 avoid overwriting previous output.
24687 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
24688
c1962162 246892008-02-09 Robert Millan <rmh@aybabtu.com>
24690
24691 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
24692 drawing the menu.
24693
3dac2e3f 246942008-02-09 Robert Millan <rmh@aybabtu.com>
24695
24696 * commands/sleep.c: New file.
24697 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
24698 (sleep_mod_SOURCES): New variable.
24699 (sleep_mod_CFLAGS): Likewise.
24700 (sleep_mod_LDFLAGS): Likewise.
24701
7a634e08 247022008-02-09 Robert Millan <rmh@aybabtu.com>
24703
24704 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
24705 situations in which we can deduce the RAID size and the superblock
24706 doesn't match it.
24707
b92f0c18 247082008-02-09 Robert Millan <rmh@aybabtu.com>
24709
24710 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
24711 and return a grub_diskmemberlist_t composed of LVM physical volumes.
24712 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
24713
24714 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
24715 and return a grub_diskmemberlist_t composed of physical array members.
24716 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
24717
24718 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
24719 prototype.
24720 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
24721 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
24722 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
24723
24724 * util/grub-probe.c (probe): Move partmap probing code from here ...
24725 (probe_partmap): ... to here.
24726 (probe): Use probe_partmap() once for the disk we're probing, and
24727 additionally, when such disk contains a memberlist() struct member,
24728 once for each disk that is contained in the structure returned by
24729 memberlist().
24730
91a4bf68 247312008-02-09 Robert Millan <rmh@aybabtu.com>
24732
24733 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
24734 environment variable to 'all' in order to obtain debug output from
24735 non-util/ code.
24736 * util/i386/pc/grub-setup.c (main): Likewise.
24737
a96f9caa 247382008-02-08 Robert Millan <rmh@aybabtu.com>
24739
24740 * disk/raid.c (grub_raid_scan_device): Check for
24741 `array->device[sb.this_disk.number]' rather than for
24742 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 24743 guaranteed to be accessible.
a96f9caa 24744
b37a9222 247452008-02-08 Robert Millan <rmh@aybabtu.com>
24746
24747 * disk/raid.c: Update copyright.
24748 * fs/cpio.c: Likewise.
24749 * include/grub/raid.h: Likewise.
24750 * loader/i386/pc/multiboot.c: Likewise.
24751 * util/hostfs.c: Likewise.
24752
5626aee1 247532008-02-08 Robert Millan <rmh@aybabtu.com>
24754
24755 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
24756 to a grub_disk_t array.
24757 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
24758 `device[x]'.
24759 (grub_raid_scan_device): Replace `device[x].name' accesses with
24760 `device[x]->name'. Simplify initialization of `array->device[x]'.
24761
554f0187 247622008-02-08 Robert Millan <rmh@aybabtu.com>
24763
24764 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
24765 grub_dprintf() calls.
24766 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
24767 error message.
24768
1ec8425d 247692008-02-07 Christian Franke <franke@computer.org>
24770
24771 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
24772 instead of fseek and ftell to support large files.
24773 (grub_hostfs_read): Likewise.
24774
f2156fda 247752008-02-07 Robert Millan <rmh@aybabtu.com>
24776
24777 Patch from Jeroen Dekkers.
24778 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 24779 failure, since successfully reading all array members might not be
f2156fda 24780 required.
24781
9216e0e7 247822008-02-06 Robert Millan <rmh@aybabtu.com>
24783
24784 * util/grub-probe.c (probe): Simplify partmap probing (with the
24785 assumption that the first word up to the underscore equals to
24786 the module name).
24787
b0dfd29a 247882008-02-06 Christian Franke <franke@computer.org>
24789
24790 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
24791 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
24792 last block of a cpio or tar stream.
24793 Check for "TRAILER!!!" instead of any empty data
24794 block to detect last block of a cpio stream.
24795 (grub_cpio_dir): Fix constness of variable np.
24796 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
24797 cpio or tar trailer is detected. This fixes a crash
24798 on open of a non existing file.
24799
c32865bf 248002008-02-05 Bean <bean123ch@gmail.com>
24801
24802 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
24803 address of entry.
24804 (grub_multiboot_load_elf64): Likewise.
24805 (grub_multiboot): Initialize mbi structure.
24806
24807 * util/grub-fstest.c: Don't include unused header file script.h.
24808
fe6b695a 24809 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 24810 of file.
24811 (grub_fstest_SOURCES): Likewise.
24812
409480b7 248132008-02-05 Robert Millan <rmh@aybabtu.com>
24814
24815 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
24816 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
24817 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
24818 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
24819
24820 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
24821 (translation_table): Replace hardcoded values with macros
24822 provided by `<grub/term.h>'.
24823
24824 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
24825 (keyboard_map): Correct/add a few values, with macros provided
24826 by `<grub/term.h>'.
24827 (keyboard_map_shift): Zero values that don't differ from their
24828 `keyboard_map' equivalents.
24829 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
24830 Discard the second scan code that is always sent by Caps lock.
24831 Only use `keyboard_map_shift' when it provides a non-zero value,
24832 otherwise fallback to `keyboard_map'.
24833
99fadbaa 248342008-02-04 Bean <bean123ch@gmail.com>
24835
24836 * Makefile.in (enable_grub_fstest): New variable.
24837
24838 * conf/common.rmk (grub_fstest_init.lst): New rule.
24839 (grub_fstest_init.h): Likewise.
24840 (grub_fstest_init.c): Likewise.
24841 (util/grub-fstest.c_DEPENDENCIES): New variable.
24842 (grub_fstest_SOURCES): Likewise.
24843
24844 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
24845
24846 * util/grub-fstest.c: New file.
24847
bf567c50 248482008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24849
24850 Make grub-setup handle a separate root device.
f19dbdb7 24851
bf567c50 24852 * util/i386/pc/grub-setup.c (setup): Always open the root device,
24853 so that the root device can be compared with the destination
24854 device.
24855 When embedding the core image, if the root and destination devices
24856 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
24857 0xFF.
24858 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 24859
9be6b98b 248602008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24861
24862 Add support for having a grub directory in a different drive. This
24863 is still only the data handling part.
f19dbdb7 24864
9be6b98b 24865 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
24866 (codestart): Save %dh in GRUB_ROOT_DRIVE.
24867 (grub_root_drive): New variable.
24868
24869 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
24870 instead of GRUB_BOOT_DRIVE to construct a device name. Set
24871 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
24872 as it was.
24873
24874 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
24875
24876 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
24877 macro.
24878 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
24879
24880 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
24881 is bogus, because PXE booting does not specify any drive
24882 correctly.
24883
24884 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
24885 am not sure if this is really correct.
24886
24887 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
24888 is always identical to the boot drive when booting from a CD.
24889
24890 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
24891 longer.
24892 (root_drive): New variable.
24893 (real_start): Unconditionally set %dh to ROOT_DRIVE.
24894 (setup_sectors): Push %dx right after popping it, because %dh will
24895 be modified later.
24896 (copy_buffer): Restore %dx.
24897
e0ca0677 248982008-02-03 Robert Millan <rmh@aybabtu.com>
24899
24900 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
24901 use `cdboot.img' for cdrom images.
24902
3b3f6629 249032008-02-03 Robert Millan <rmh@aybabtu.com>
24904
24905 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
24906 only setup gfxterm when `font' command has succeeded.
24907
d42b3672 249082008-02-03 Robert Millan <rmh@aybabtu.com>
24909
24910 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
24911 (grub_rescue_cmd_multiboot_loader)
24912 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
24913
fa370ea6 249142008-02-03 Pavel Roskin <proski@gnu.org>
24915
e0c5dacb 24916 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 24917 %edx and %esi from stack only after grub_gate_a20() is called.
24918 grub_gate_a20() clobbers %edx.
24919
f2a76e1d 249202008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24921
24922 * configure.ac (AC_INIT): Bumped to 1.96.
24923
24924 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
24925 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
24926 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
24927 video/readers/png.c.
24928
90fd32d1 249292008-02-03 Bean <bean123ch@gmail.com>
9be665dd 24930
24931 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
24932 (cdboot_img_SOURCES): New variable.
24933 (cdboot_img_ASFLAGS): New variable.
24934 (cdboot_img_LDFLAGS): New variable.
24935
24936 * boot/i386/pc/cdboot.S: New file.
24937
24938 * disk/i386/pc/biosdisk.c (cd_start): New variable.
24939 (cd_count): Likewise.
24940 (grub_biosdisk_get_drive): Add support for cd device.
24941 (grub_biosdisk_call_hook): Likewise.
24942 (grub_biosdisk_iterate): Likewise.
24943 (grub_biosdisk_open): Likewise.
24944 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
24945 (grub_biosdisk_rw): Support reading from cd device.
24946 (GRUB_MOD_INIT): Iterate cd devices.
24947
24948 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
24949 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
24950 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
24951
24952 * kern/i386/pc/init.c (make_install_device): Check for cd device.
24953
4020aa53 249542008-02-02 Robert Millan <rmh@aybabtu.com>
24955
24956 * commands/read.c: New file.
24957 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
24958 (read_mod_SOURCES): New variable.
24959 (read_mod_CFLAGS): Likewise.
24960 (read_mod_LDFLAGS): Likewise.
24961
e03a1132 249622008-02-02 Robert Millan <rmh@aybabtu.com>
24963
24964 * normal/main.c (grub_normal_execute): Check for `menu->size' when
24965 determining whether menu has to be displayed.
24966
58c69220 249672008-02-02 Marco Gerards <marco@gnu.org>
24968
24969 * bus/pci.c: New file.
24970
24971 * include/grub/pci.h: Likewise.
24972
24973 * include/grub/i386/pc/pci.h: Likewise.
24974
24975 * commands/lspci.c: Likewise.
24976
24977 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
24978 `lspci.mod'.
24979 (pci_mod_SOURCES): New variable.
24980 (pci_mod_CFLAGS): Likewise.
24981 (pci_mod_LDFLAGS): Likewise.
24982 (lspci_mod_SOURCES): Likewise.
24983 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 24984 (lspci_mod_LDFLAGS): Likewise.
58c69220 24985
c004e1b4 249862008-02-02 Bean <bean123ch@gmail.com>
24987
24988 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
24989 (grub_ufs_get_file_block): Fix indirect block calculation problem.
24990
24991 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
24992 (grub_xfs_btree_node): New structure.
24993 (grub_xfs_btree_root): New structure.
24994 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
24995 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
24996 (GRUB_XFS_EXTENT_BLOCK): Likewise.
24997 (GRUB_XFS_EXTENT_SIZE): Likewise.
24998 (grub_xfs_read_block): Support btree format type.
24999 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
25000 Use directory block as basic unit.
25001
25002 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
25003
25004 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
25005 __attribute__ ((__regparm__ (1))).
25006
f95562bf 250072008-02-01 Robert Millan <rmh@aybabtu.com>
25008
25009 Correct a mistake in previous commit.
25010
25011 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
25012 top.
25013 (normal/command.c_DEPENDENCIES): New variable.
25014
7d31f41f 250152008-02-01 Robert Millan <rmh@aybabtu.com>
25016
25017 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
25018 top.
25019 (normal/command.c_DEPENDENCIES): New variable.
25020 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
25021 * conf/i386-ieee1275.rmk: Likewise.
25022 * conf/i386-linuxbios.rmk: Likewise.
25023 * conf/i386-pc.rmk: Likewise.
25024 * conf/sparc64-ieee1275.rmk: Likewise.
25025 * conf/powerpc-ieee1275.rmk: Likewise.
25026 (grub_emu_SOURCES): Add `fs/fshelp.c'.
25027
25028 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
25029
60b6be74 250302008-02-01 Robert Millan <rmh@aybabtu.com>
25031
25032 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
25033 call at beginning of function.
25034
078522ab 250352008-01-31 Pavel Roskin <proski@gnu.org>
25036
25037 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 25038 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
25039 (grub_mkrescue_SOURCES): Likewise.
078522ab 25040 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
25041
ccaa8a5f 250422008-01-30 Robert Millan <rmh@aybabtu.com>
25043
25044 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
25045 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
25046 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
25047 (grub_probe_SOURCES): ... to here.
25048
25049 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
25050 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
25051 * conf/i386-ieee1275.rmk: Likewise.
25052 * conf/i386-linuxbios.rmk: Likewise.
25053 * conf/powerpc-ieee1275.rmk: Likewise.
25054
ae5a9cd7 250552008-01-30 Tristan Gingold <gingold@free.fr>
25056
25057 * kern/rescue.c: Silently accept empty lines.
25058
70bc2ef2 250592008-01-29 Bean <bean123ch@gmail.com>
25060
25061 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
25062 (real_code_2): Code cleanup and change comment style.
25063 (move_memory): Avoid using 32-bit address mode.
25064
6a4d50ea 250652008-01-29 Bean <bean123ch@gmail.com>
25066
25067 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
25068 (png_mod_SOURCES): New variable.
25069 (png_mod_CFLAGS): Likewise.
25070 (png_mod_LDFLAGS): Likewise.
25071
25072 * video/readers/png.c: New file.
25073
11cc30ac 250742008-01-28 Robert Millan <rmh@aybabtu.com>
25075
25076 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
25077 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
25078 `ifndef GRUB_MOD_GAP' hack.
25079 * util/elf/grub-mkimage.c (add_segments): Likewise.
25080
3abc589f 250812008-01-27 Robert Millan <rmh@aybabtu.com>
25082
25083 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
25084 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 25085 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 25086
e1907778 250872008-01-27 Robert Millan <rmh@aybabtu.com>
25088
25089 Get grub-emu to build again (including parallel builds).
25090
25091 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
25092 Split into ...
25093 (util/grub-emu.c_DEPENDENCIES): ... this, ...
25094 (normal/execute.c_DEPENDENCIES): ... this, ...
25095 (grub-emu_DEPENDENCIES): ... and this.
25096
25097 * conf/i386-efi.rmk: Likewise.
25098 * conf/i386-linuxbios.rmk: Likewise.
25099 * conf/i386-ieee1275.rmk: Likewise.
25100 * conf/powerpc-ieee1275.rmk: Likewise.
25101 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
25102
2216b101 251032008-01-27 Robert Millan <rmh@aybabtu.com>
25104
25105 * NEWS: Add a few items.
25106
f75172d9 251072008-01-27 Robert Millan <rmh@aybabtu.com>
25108
25109 Fix parallel builds with grub-emu. Based on earlier commit for
25110 grub-probe and grub-setup.
25111
25112 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25113 (util/grub-emu.c_DEPENDENCIES): ... this.
25114 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25115 (util/grub-emu.c_DEPENDENCIES): ... this.
25116 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25117 (util/grub-emu.c_DEPENDENCIES): ... this.
25118 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25119 (util/grub-emu.c_DEPENDENCIES): ... this.
25120 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25121 (util/grub-emu.c_DEPENDENCIES): ... this.
25122
3f51de77 251232008-01-27 Pavel Roskin <proski@gnu.org>
25124
25125 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
25126 to create a gap between _end and the modules added to the image
25127 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
25128 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
25129 * util/elf/grub-mkimage.c (add_segments): Likewise.
25130
2033f53e 251312008-01-26 Pavel Roskin <proski@gnu.org>
25132
25133 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
25134 just return an error.
25135
22da1f6f 251362008-01-26 Bean <bean123ch@gmail.com>
25137
25138 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
25139 (grub_reiserfs_get_item): Save offset of the next item.
25140 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
25141
2a9525e6 251422008-01-25 Robert Millan <rmh@aybabtu.com>
25143
25144 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
25145 make all filesystem sources appear together (possibly fixing omissions
25146 while at it).
25147 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25148 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25149 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25151
25152 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
25153 add `kern/file.c'.
25154 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
25155 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25156 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
25157 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25158
25159 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
25160 (probe): Add a sanity check to make sure of our ability to read
25161 requested files when probing for filesystem type.
25162
25163 * genmk.rb: Update copyright year (2007).
25164
25165 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
25166 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
25167 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
25168 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
25169 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
25170 : Remove function prototypes.
25171
b95f71b5 251722008-01-25 Robert Millan <rmh@aybabtu.com>
25173
25174 Revert my previous commits (based on wrong assumption of how grub_errno
25175 works).
25176
fe6b695a 25177 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 25178 * kern/file.c (grub_file_open): Likewise.
25179
d08bbb49 251802008-01-24 Pavel Roskin <proski@gnu.org>
25181
25182 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
25183 that hang if GRUB tries to setup colors.
25184 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
25185 colors for firmwares that don't support it.
25186 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
25187 Recognize Open Hack'Ware, set flags to work around its
25188 limitations.
25189
605e36ed 251902008-01-24 Robert Millan <rmh@aybabtu.com>
25191
25192 * kern/file.c (grub_file_open): Do not account previous failures of
25193 unrelated functions when grub_errno is checked for.
25194 Reported by Oleg Strikov.
25195
bac332a1 251962008-01-24 Bean <bean123ch@gmail.com>
25197
25198 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
25199 (grub_ufs_sblock): New member volume name.
25200 (grub_ufs_find_file): Fix string copy bug.
25201 (grub_ufs_label): Implement this function properly.
25202
25203 * fs/hfs.c (grub_hfs_cnid_type): New enum.
25204 (grub_hfs_iterate_records): Use the correct file number for extents
25205 and catalog file. Fix problem in next index calculation.
25206 (grub_hfs_find_node): Replace recursive function call with loop.
25207 (grub_hfs_iterate_dir): Replace recursive function call with loop.
25208
15c80c09 252092008-01-23 Robert Millan <rmh@aybabtu.com>
25210
25211 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
25212 `<grub/symbol.h>' and `<grub/multiboot.h>'.
25213 (grub_multiboot2_real_boot): New function prototype.
25214
25215 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
25216 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
25217
25218 * kern/i386/ieee1275/init.c (grub_os_area_addr)
25219 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
25220
305338fd 252212008-01-23 Robert Millan <rmh@aybabtu.com>
25222
25223 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
25224 #ifdef'ed out grub_printf().
25225
3ea52685 252262008-01-23 Robert Millan <rmh@aybabtu.com>
25227
25228 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
25229 grub_dprintf calls, since they make "debug=all" mode unusable.
25230 (grub_console_checkkey): Likewise.
25231
5882ae4b 252322008-01-23 Robert Millan <rmh@aybabtu.com>
25233
25234 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25235 `term/i386/pc/at_keyboard.c'.
25236 (pkglib_MODULES): Add `serial.mod'.
25237 (serial_mod_SOURCES): New variable.
25238 (serial_mod_CFLAGS): Likewise.
25239 (serial_mod_LDFLAGS): Likewise.
25240
25241 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
25242 `<grub/powerpc/ieee1275/console.h>'.
25243 (grub_keyboard_controller_init): New function prototype.
25244 (grub_console_checkkey): Likewise.
25245 (grub_console_getkey): Likewise.
25246
25247 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
25248 keyboard on i386.
25249
25250 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
25251 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
25252
06ab5303 252532008-01-23 Robert Millan <rmh@aybabtu.com>
25254
25255 * kern/i386/pc/init.c (make_install_device): When memdisk image is
25256 present, "(memdisk)/boot/grub" becomes the default prefix.
25257
25258 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
25259 a memdisk tarball with all the modules. Add --overlay=DIR option that
25260 allows users to overlay additional files into the image.
25261
dbb475a4 252622008-01-23 Robert Millan <rmh@aybabtu.com>
25263
25264 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
25265 and `machine/memory.h'.
25266 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
25267 (_multiboot_mod_SOURCES): New variable.
25268 (_multiboot_mod_CFLAGS): Likewise.
25269 (_multiboot_mod_LDFLAGS): Likewise.
25270 (multiboot_mod_SOURCES): Likewise.
25271 (multiboot_mod_CFLAGS): Likewise.
25272 (multiboot_mod_LDFLAGS): Likewise.
25273
25274 * include/grub/i386/ieee1275/loader.h: New file.
25275
25276 * include/grub/i386/ieee1275/machine.h: Likewise.
25277
25278 * include/grub/i386/ieee1275/memory.h: Likewise.
25279
25280 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
25281 variable declaration.
25282 (grub_os_area_size): Likewise.
25283
25284 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
25285 (grub_lower_mem, grub_upper_mem): New variables.
25286 (grub_stop_floppy): New function (just to make
25287 grub_multiboot2_real_boot() happy).
25288
25289 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
25290 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
25291 (grub_stop): New function.
25292 Include `"../realmode.S"' and `"../loader.S"'.
25293
25294 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
25295 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
25296
25297 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
25298 rely on grub_multiboot2_real_boot() for final boot.
25299
25638629 253002008-01-22 Robert Millan <rmh@aybabtu.com>
25301
25302 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
25303 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
25304 device that doesn't look like an SD card.
25305 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25306 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
25307 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
25308 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
25309 found.
25310
9dad816d 253112008-01-22 Robert Millan <rmh@aybabtu.com>
25312
25313 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
25314 avoid claiming over our own code.
25315
34842f2d 253162008-01-22 Bean <bean123ch@gmail.com>
25317
25318 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
25319 (jpeg_mod_SOURCES): New variable.
25320 (jpeg_mod_CFLAGS): Likewise.
25321 (jpeg_mod_LDFLAGS): Likewise.
25322
25323 * video/readers/jpeg.c : New file.
25324
44023a28 253252008-01-22 Bean <bean123ch@gmail.com>
25326
25327 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
25328 there are no more items.
25329
bc2d8ac6 253302008-01-21 Robert Millan <rmh@aybabtu.com>
25331
25332 * kern/mm.c (grub_mm_init_region): Improve debug message.
25333
261bd4bc 253342008-01-21 Robert Millan <rmh@aybabtu.com>
25335
25336 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
25337 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
25338 address.
25339 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
25340 a C macro.
25341 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
25342 Indicates start of upper memory.
25343 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
25344 (generate_image): Abort when image size is big enough to corrupt
25345 upper memory.
25346
25347 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
25348 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
25349 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
25350 instead of hardcoding 0xA0000.
25351 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
25352 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
25353 instead of hardcoding 0xA0000.
25354
f970b55e 253552008-01-21 Robert Millan <rmh@aybabtu.com>
25356
25357 * disk/memdisk.c (memdisk_size): New variable.
25358 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
25359 `memdisk_size'.
25360 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
25361 image to dynamic memory.
25362 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
25363 `memdisk_size'. Free memdisk block.
25364
1a8b0526 253652008-01-21 Robert Millan <rmh@aybabtu.com>
25366
25367 Fix detection of very small filesystems (like tar).
25368
25369 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
25370 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
25371 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
25372 a problem with this disk).
25373
6e9b4aab 253742008-01-21 Robert Millan <rmh@aybabtu.com>
25375
25376 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
25377 on grub_biosdisk_rw_standard() error.
25378
0d8837b2 253792008-01-21 Robert Millan <rmh@aybabtu.com>
25380
25381 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
25382 recent changes.
25383 * kern/elf.c: Likewise.
25384 * kern/ieee1275/ieee1275.c: Likewise.
25385 * kern/powerpc/ieee1275/openfw.c: Likewise.
25386 * term/ieee1275/ofconsole.c: Likewise.
25387
ffd36e34 253882008-01-21 Robert Millan <rmh@aybabtu.com>
25389
25390 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
25391
3f0093d0 25392 * include/grub/kernel.h (grub_arch_memdisk_addr)
25393 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 25394
3f0093d0 25395 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
25396 (grub_arch_memdisk_size): ... to here.
ffd36e34 25397
6c391b21 253982008-01-21 Robert Millan <rmh@aybabtu.com>
25399
25400 Mostly based on bugfix from Bean.
25401
25402 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
25403 attribute with hook() parameter.
25404 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
25405 declaration.
25406 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
25407 attribute with hook() parameter.
25408 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
25409 declaration.
25410
55a581dc 254112008-01-21 Robert Millan <rmh@aybabtu.com>
25412
25413 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
25414 (pkglib_MODULES): Add `memdisk.mod'.
25415 (memdisk_mod_SOURCES): New variable.
25416 (memdisk_mod_CFLAGS): Likewise.
25417 (memdisk_mod_LDFLAGS): Likewise.
25418
25419 * disk/memdisk.c: New file.
25420
25421 * include/grub/disk.h (grub_disk_dev_id): Add
25422 `GRUB_DISK_DEVICE_MEMDISK_ID'.
25423
25424 * include/grub/i386/pc/kernel.h
25425 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
25426 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
25427 (grub_kernel_image_size): New variable declaration.
25428 (grub_total_module_size): Likewise.
25429 (grub_memdisk_image_size): Likewise.
25430
25431 * include/grub/i386/pc/memory.h
25432 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
25433
25434 * include/grub/kernel.h: Include `<grub/symbol.h>'.
25435 (grub_arch_memdisk_addr): New variable declaration.
25436 (grub_arch_memdisk_size): Likewise.
25437
25438 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
25439 (grub_arch_memdisk_size): Likewise.
25440
25441 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
25442 (codestart): Replace hardcoded `0x100000' with
25443 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
25444
25445 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
25446 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
25447 not NULL, append the contents of the file it refers to, at the end of
25448 the compressed kernel image. Initialize `grub_memdisk_image_size'
25449 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
25450 (options): Add "memdisk"|'m' option.
25451 (main): Parse --memdisk|-m option, and pass user-provided path as
25452 parameter to generate_image().
25453
3d7f54c9 254542008-01-20 Robert Millan <rmh@aybabtu.com>
25455
25456 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
25457 grub_dprintf() calls from here ...
25458 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
25459
0bf74728 254602008-01-20 Robert Millan <rmh@aybabtu.com>
25461
25462 Fix detection of "real mode" when /options/real-mode? doesn't exist.
25463
25464 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
25465 declaration.
25466 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
25467 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
25468 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 25469 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 25470 property).
25471 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
25472 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
25473
33bf70a7 254742008-01-19 Robert Millan <rmh@aybabtu.com>
25475
fe6b695a 25476 Get rid of confusing function (superseded by
33bf70a7 25477 `grub_ieee1275_get_integer_property')
25478 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
25479 prototype.
25480 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
25481 function.
25482 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
25483 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 25484 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 25485
e2da7d26 254862008-01-19 Robert Millan <rmh@aybabtu.com>
25487
25488 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
25489 command after "shut-down", since implementations differ on which
25490 the command for halt is.
25491
59f1fd8d 254922008-01-19 Robert Millan <rmh@aybabtu.com>
25493
25494 * include/grub/i386/linuxbios/console.h: Add header protection.
25495 (grub_keyboard_controller_init): New function prototype.
25496 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
25497 (KEYBOARD_COMMAND_READ): Likewise.
25498 (KEYBOARD_COMMAND_WRITE): Likewise.
25499 (KEYBOARD_SCANCODE_SET1): Likewise.
25500 (grub_keyboard_controller_write): New function.
25501 (grub_keyboard_controller_read): Likewise.
25502 (grub_keyboard_controller_init): Likewise.
25503
25504 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
25505 (grub_console_init): On coreboot/LinuxBIOS, call
25506 grub_keyboard_controller_init().
25507
5f5a7c15 255082008-01-19 Robert Millan <rmh@aybabtu.com>
25509
25510 PowerPC changes provided by Pavel Roskin.
25511
25512 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
25513 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
25514 don't rely on cmain() doing it.
25515 * kern/i386/ieee1275/startup.S (_start): Store %eax in
25516 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
25517
1210e168 255182008-01-16 Robert Millan <rmh@aybabtu.com>
25519
25520 * include/grub/i386/linuxbios/memory.h
25521 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
25522 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
25523 receive `table_header' as argument. Instead, probe for it in the
25524 known memory ranges where it can be present.
25525 (grub_available_iterate): Do not pass a fixed `table_header' address
25526 to grub_linuxbios_table_iterate().
25527
3d04eab8 255282008-01-15 Robert Millan <rmh@aybabtu.com>
25529
25530 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
25531 * conf/i386-ieee1275.rmk: New file.
25532 * include/grub/i386/ieee1275/console.h: Likewise.
25533 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
25534 * include/grub/i386/ieee1275/kernel.h: Likewise.
25535 * include/grub/i386/ieee1275/time.h: Likewise.
25536 * kern/i386/ieee1275/init.c: Likewise.
25537 * kern/i386/ieee1275/startup.S: Likewise.
25538
d1bc1b73 255392008-01-15 Robert Millan <rmh@aybabtu.com>
25540
25541 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
25542 when pointers are 32-bit (but still do set it to one when they are
25543 64-bit).
25544
66a65807 255452008-01-15 Robert Millan <rmh@aybabtu.com>
25546
25547 * include/grub/ieee1275/ieee1275.h
25548 (grub_ieee1275_get_integer_property): New function prototype.
25549
25550 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
25551 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 25552 grub_ieee1275_get_property() to handle endianness.
66a65807 25553
25554 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
25555 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 25556 where appropriate.
66a65807 25557 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
25558 (grub_map): Likewise.
25559 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
25560
a83ccafd 255612008-01-15 Bean <bean123ch@gmail.com>
25562
25563 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
25564 (grub_script_execute_cmdline): Reset grub_errno.
25565
25566 * normal/main.c (read_config_file): Reset grub_errno.
25567
25568 * normal/parse.y (script_init): New.
25569 (script): Move function and menuentry here.
25570 (delimiter): New.
25571 (command): Add delimiter at the end of command.
25572 (commands): Adjust to match the new command.
25573 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 25574 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 25575 (if): Use the new commands.
25576
25577 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
25578
df6ecfc6 255792008-01-15 Robert Millan <rmh@aybabtu.com>
25580
25581 * normal/menu.c (run_menu): Move timeout message from here ...
25582 (print_timeout): ... to here.
25583 (run_menu): Use print_timeout() once during initial draw to print
25584 the whole message, and again in every clock tick to update only
25585 the number of seconds.
25586
87ae25eb 255872008-01-15 Robert Millan <rmh@aybabtu.com>
25588
25589 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
25590 actual size of `available' from grub_ieee1275_get_property(), and
25591 restrict parsing to that bound.
25592
47bf09a4 255932008-01-15 Christian Franke <franke@computer.org>
25594
25595 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
25596 (argp_program_version): Remove variable.
25597 (argp_program_bug_address): Likewise.
25598 (options): Convert from struct argp_option to struct option.
25599 (struct arguments): Remove.
25600 (parse_opt): Remove.
25601 (usage): New function.
25602 (main): Replace struct args members by simple variables.
25603 Replace argp_parse() by getopt_long().
25604 Add switch to evaluate options.
25605 Add missing "(...)" around root_dev in prefix string.
25606
c86f1469 256072008-01-14 Robert Millan <rmh@aybabtu.com>
25608
25609 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
25610 for grub_ieee1275_exit(), in order to improve portability.
25611
e622c559 256122008-01-14 Robert Millan <rmh@aybabtu.com>
25613
25614 * util/grub.d/10_linux.in (prefix): Define.
25615 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
25616
44cb1ec8 256172008-01-13 Pavel Roskin <proski@gnu.org>
25618
25619 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
25620 grub_errno if no errors have been detected.
25621
1eb8c802 256222008-01-12 Robert Millan <rmh@aybabtu.com>
25623
25624 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
25625 (grub_util_get_dev_abstraction): New function prototype.
25626
25627 * util/getroot.c: Include `<grub/util/getroot.h>'
25628 (grub_util_get_grub_dev): Move detection of abstraction type to ...
25629 (grub_util_get_dev_abstraction): ... here (new function).
25630
25631 * util/grub-probe.c: Convert PRINT_* to an enum. Add
25632 `PRINT_ABSTRACTION'.
25633 (probe): Probe for abstraction type when requested.
25634 (main): Understand `--target=abstraction'.
25635
25636 * util/i386/efi/grub-install.in: Add abstraction module to core
25637 image when it is found to be necessary.
25638 * util/i386/pc/grub-install.in: Likewise.
25639 * util/powerpc/ieee1275/grub-install.in: Likewise.
25640
25641 * util/update-grub_lib.in (font_path): Return system path without
25642 converting to GRUB path.
25643 * util/update-grub.in: Convert system path returned by font_path()
25644 to a GRUB path. Use `grub-probe -t abstraction' to determine what
25645 abstraction module is needed for loading fonts (if any). Export
25646 that as `GRUB_PRELOAD_MODULES'.
25647 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
25648 insmod commands).
25649
52bd3de9 256502008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
25651
25652 Remove some unused code from reiserfs.
f19dbdb7 25653
52bd3de9 25654 * fs/reiserfs.c (struct grub_reiserfs_key)
25655 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
25656 (struct grub_reiserfs_node_body): Removed.
25657 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
25658 Likewise.
25659 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25660 Likewise.
25661 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25662 Likewise.
25663 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25664 Likewise.
25665 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
25666 Likewise.
25667 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
25668 Likewise.
25669 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25670 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25671 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25672
2f80039d 256732008-01-10 Robert Millan <rmh@aybabtu.com>
25674
25675 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
25676 Determines if a file is garbage left by packaging systems, etc.
25677 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
25678 for processing /etc/grub.d scripts.
25679 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
25680 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
25681 as a condition for processing Linux images.
25682
87888032 256832008-01-10 Pavel Roskin <proski@gnu.org>
25684
25685 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
25686 to compile reiserfs.c on PowerPC.
25687
7e54fced 256882008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 25689
25690 * kern/device.c (grub_device_iterate): Do not abort device iteration
25691 when one of the devices cannot be opened.
25692 * kern/disk.c (grub_disk_open): Do not account previous failures of
25693 unrelated functions when grub_errno is checked for.
25694
5aa541e6 256952008-01-08 Robert Millan <rmh@aybabtu.com>
25696
25697 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
25698 `! grub_linux_is_bzimage', change order of address comparison to make
25699 it more intuitive, and improve "too big zImage" error message.
25700
7076340d 257012008-01-08 Robert Millan <rmh@aybabtu.com>
25702
25703 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
25704 `$(update-grub_DATA)'.
25705 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
25706 targets.
25707
9ca70333 257082008-01-07 Robert Millan <rmh@aybabtu.com>
25709
25710 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
25711 which instruction is modified by grub-setup during installation
25712 (since it wasn't obvious by only looking at this file).
25713
38ccf575 257142008-01-07 Robert Millan <rmh@aybabtu.com>
25715
25716 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
25717 listing actual TODO items.
25718
f5db4291 257192008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25720
868967cf 25721 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
25722 correctly.
25723 (grub_reiserfs_get_key_offset): Likewise.
25724 (grub_reiserfs_set_key_offset): Likewise.
25725 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 25726 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 25727
25728 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
25729 better to remove the bitfield version completely.
f19dbdb7 25730
868967cf 257312008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25732
f5db4291 25733 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
25734 allocated from the heap, due to the fshelp implementation.
25735 (grub_reiserfs_dir): Free NODE, due to the same reason.
25736
492e6d9d 257372008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25738
25739 Mostly from Vincent Pelletier:
f19dbdb7 25740
492e6d9d 25741 * fs/reiserfs.c: New file.
f19dbdb7 25742
492e6d9d 25743 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
25744 (reiserfs_mod_SOURCES): New variable.
25745 (reiserfs_mod_CFLAGS): Likewise.
25746 (reiserfs_mod_LDFLAGS): Likewise.
25747
25748 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
25749 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
25750 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
25751 normal/color.c.
25752
9ce3e7c1 257532008-01-06 Robert Millan <rmh@aybabtu.com>
25754
25755 * normal/color.c: Remove `<grub/env.h>'.
25756
f3b58148 257572008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
25758
25759 * include/grub/normal.h: Include <grub/env.h>.
25760
7ac3bcfa 257612008-01-05 Robert Millan <rmh@aybabtu.com>
25762
25763 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
25764 usage example with `(hd0,1)'.
fb358190 25765 Reported by Samuel Thibault.
7ac3bcfa 25766
c8ee99d7 257672008-01-05 Robert Millan <rmh@aybabtu.com>
25768
25769 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
25770 (grub_linux_boot_zimage): Rename to ...
25771 (grub_linux_boot): ... this.
25772 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
25773 (grub_linux_boot_zimage): Conditionalize zImage copy.
25774
25775 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
25776 (grub_linux_boot_bzimage): Remove prototype.
25777 (grub_linux_boot_zimage): Rename to ...
25778 (grub_linux_boot): ... this.
25779
25780 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
25781 (grub_linux_boot): Remove function.
25782
0ece25b1 257832008-01-05 Robert Millan <rmh@aybabtu.com>
25784
25785 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
25786 (grub_env_write_color_highlight): Likewise.
25787 (grub_wait_after_message): Likewise.
25788
25789 * normal/color.c: New file.
25790
25791 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25792 (normal_mod_DEPENDENCIES): Likewise.
25793
25794 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25795 (normal_mod_DEPENDENCIES): Likewise.
25796
25797 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25798 (normal_mod_DEPENDENCIES): Likewise.
25799
25800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25801 (normal_mod_DEPENDENCIES): Likewise.
25802
25803 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
25804 for waiting after a message is printed.
25805 * normal/main.c (read_config_file): Likewise.
25806 (grub_normal_init): Register grub_env_write_color_normal() and
25807 grub_env_write_color_highlight() hooks. Mark `color_normal' and
25808 `color_highlight' variables as global.
25809
25810 * normal/menu.c (grub_wait_after_message): New function.
25811 (grub_color_menu_normal): New variable. Replaces ...
25812 (GRUB_COLOR_MENU_NORMAL): ... this macro.
25813 (grub_color_menu_highlight): New variable. Replaces ...
25814 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
25815 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
25816 `GRUB_TERM_COLOR_STANDARD'.
25817 (print_message): Use `grub_setcolorstate' to reload colors. Rename
25818 `normal_code' and `highlight_code' to `old_color_normal' and
25819 `old_color_highlight', respectively.
25820 (grub_menu_init_page): Update colors when drawing the menu, based on
25821 `menu_color_normal' and `menu_color_highlight' variables.
25822 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
25823 a message is printed.
25824
182dd4e5 258252008-01-05 Robert Millan <rmh@aybabtu.com>
25826
25827 * kern/env.c (grub_env_context_open): Propagate hooks for global
25828 variables to new context.
25829
25830 * kern/main.c (grub_set_root_dev): Export `root' variable.
25831
ddf8f6ad 258322008-01-05 Robert Millan <rmh@aybabtu.com>
25833
25834 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 25835 discs unconditionally, since udev and others have options to provide
ddf8f6ad 25836 them.
25837
d8b43d9b 258382008-01-05 Robert Millan <rmh@aybabtu.com>
25839
25840 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
25841
2bff2de3 258422008-01-04 Christian Franke <franke@computer.org>
25843
25844 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
25845 of eisa_mmap.
25846
97eab917 258472008-01-03 Pavel Roskin <proski@gnu.org>
25848
25849 * kern/i386/linuxbios/init.c: Put "void" to all function
25850 declarations with no arguments.
25851 * kern/powerpc/ieee1275/init.c: Likewise.
25852 * term/i386/pc/at_keyboard.c: Likewise.
25853 * term/i386/pc/vga_text.c: Likewise.
25854 * util/grub-mkdevicemap.c: Likewise.
25855
b9416d00 258562008-01-02 Robert Millan <rmh@aybabtu.com>
25857
25858 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
25859 message when loaded image is out of bounds.
25860 (grub_multiboot_load_elf64): Likewise.
25861
92695df9 258622008-01-02 Pavel Roskin <proski@gnu.org>
25863
25864 * util/grub.d/10_linux.in: Try version without ".old" when
25865 looking for initrd. It's better to use initrd from the newer
25866 kernel of the same version than no initrd at all.
25867
d98d9cad 258682008-01-01 Robert Millan <rmh@aybabtu.com>
25869
25870 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
25871
dbfdce36 258722008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
25873
f19dbdb7 25874 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 25875 grub_video_get_active_render_target.
25876 (grub_video_adapter): Added unmap_color and get_active_render_target.
25877
f19dbdb7 25878 * video/video.c: Added grub_video_unmap_color and
dbfdce36 25879 grub_video_get_active_render_target.
25880 (grub_video_get_info): Changed method to accept NULL pointer as an
25881 argument to allow detection of active video adapter.
25882
25883 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
25884 grub_video_vbe_unmap_color_int.
25885 Added grub_video_vbe_unmap_color and
25886 grub_video_vbe_get_active_render_target.
25887 (grub_video_vbe_adapter): Added unmap_color and
25888 get_active_render_target.
25889
f19dbdb7 25890 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 25891 with grub_video_vbe_unmap_color_int.
25892
25893 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
25894 (DEFAULT_NORMAL_COLOR): Likewise.
25895 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
25896 (DEFAULT_FG_COLOR): Removed.
25897 (DEFAULT_BG_COLOR): Likewise.
25898 (DEFAULT_CURSOR_COLOR): Changed value.
25899 (grub_virtual_screen): Added standard_color_setting,
25900 normal_color_setting, highlight_color_setting and term_color.
25901 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
25902 (bitmap_width): Added.
25903 (bitmap_height): Likewise.
25904 (bitmap): Likewise.
25905 (set_term_color): Likewise.
25906 (grub_virtual_screen_setup): Changed to use new terminal coloring
25907 settings.
25908 (grub_gfxterm_init): Added init for bitmap.
25909 (grub_gfxterm_fini): Added destroy for bitmap.
25910 (redraw_screen_rect): Updated to use background bitmap and new
25911 terminal coloring.
25912 (scroll_up): Added optimization for case when there is no bitmap.
25913 (grub_gfxterm_cls): Fixed to use correct background color.
25914 (grub_virtual_screen_setcolorstate): Changed to use new terminal
25915 coloring.
25916 (grub_virtual_screen_setcolor): Likewise.
25917 (grub_virtual_screen_getcolor): Added.
25918 (grub_gfxterm_background_image_cmd): Likewise.
25919 (grub_video_term): Added setcolor and getcolor.
25920 (MOD_INIT): Added registration of background_image command.
25921 (MOD_TERM): Added unregistration for background_image command.
25922
c3c20931 259232007-12-30 Pavel Roskin <proski@gnu.org>
25924
25925 * loader/multiboot_loader.c: Fix multiboot command
25926 unregistration. Fix all typos in the word "multiboot".
25927
df266716 259282007-12-29 Pavel Roskin <proski@gnu.org>
94239199 25929
25930 * util/grub.d/10_linux.in: Refactor search for initrd. Add
25931 support for initrd names used in Fedora.
25932
fc6e896c 259332007-12-26 Bean <bean123ch@gmail.com>
25934
25935 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
25936 (cpio_mod_SOURCES): New variable.
25937 (cpio_mod_CFLAGS): Likewise.
25938 (cpio_mod_LDFLAGS): Likewise.
25939
25940 * fs/cpio.c: New file.
25941
25942 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
25943
25944 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25945
25946 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25947
25948 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25949
533110ad 259502007-12-25 Robert Millan <rmh@aybabtu.com>
25951
25952 * include/grub/term.h (struct grub_term): Add `getcolor' function.
25953 (grub_getcolor): New function.
25954
25955 * kern/term.c (grub_getcolor): New function.
25956 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
25957 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
25958 (print_entry): Set normal and highlight colors to
25959 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
25960 respectively, before printing and restore them to old
25961 values afterwards.
25962 (grub_menu_init_page): Likewise. Fill an additional colored space
25963 that would otherwise be left blank.
25964
25965 * term/efi/console.c (grub_console_getcolor): New function.
25966 (struct grub_console_term.getcolor): New variable.
25967 * term/i386/pc/console.c (grub_console_getcolor): New function.
25968 (struct grub_console_term.getcolor): New variable.
25969 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
25970 (struct grub_console_term.getcolor): New variable.
25971
25972 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
25973 (struct grub_console_term.setcolor): Remove variable.
25974 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
25975 (struct grub_console_term.setcolor): Remove variable.
25976 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
25977 (struct grub_console_term.setcolor): Remove variable.
25978 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
25979 (struct grub_console_term.setcolor): Remove variable.
25980
4931827f 259812007-12-25 Robert Millan <rmh@aybabtu.com>
25982
25983 * configure.ac: Search for possible unifont.hex locations, and
25984 define UNIFONT_HEX if found.
25985
25986 * Makefile.in (UNIFONT_HEX): Define variable.
25987 (DATA): Rename to ...
25988 (PKGLIB): ... this. Update all users.
25989 (PKGDATA): New variable.
25990 (pkgdata_IMAGES): Rename to ...
25991 (pkglib_IMAGES): ... this. Update all users.
25992 (pkgdata_MODULES): Rename to ...
25993 (pkglib_MODULES): ... this. Update all users.
25994 (pkgdata_PROGRAMS): Rename to ...
25995 (pkglib_PROGRAMS): ... this. Update all users.
25996 (pkgdata_DATA): Rename to ...
25997 (pkglib_DATA): ... this. Update all users.
25998 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
25999 (unicode.pff, ascii.pff): New rules.
26000 (all-local): Add `$(PKGDATA)' dependency.
26001 (install-local): Process `$(PKGDATA)'.
26002
26003 * util/update-grub_lib.in (font_path): Search for *.pff files in
26004 a few more locations, including `${pkgdata}'.
26005
57e57e31 260062007-12-23 Robert Millan <rmh@aybabtu.com>
26007
26008 Patch from Bean <bean123ch@gmail.com>:
26009 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
26010 `size'.
26011
4bc72aa9 260122007-12-21 Bean <bean123ch@gmail.com>
26013
26014 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
26015 (ntfscomp_mod_SOURCES): New variable.
26016 (ntfscomp_mod_CFLAGS): Likewise.
26017 (ntfscomp_mod_LDFLAGS): Likewise.
26018
26019 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
26020 (grub_probe_SOURCES): Likewise.
26021 (grub_emu_SOURCES): Likewise.
26022
26023 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26024 (grub_emu_SOURCES): Likewise.
26025
26026 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26027 (grub_emu_SOURCES): Likewise.
26028
26029 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26030 (grub_emu_SOURCES): Likewise.
26031
26032 * fs/ntfs.c (grub_ntfscomp_func): New variable.
26033 (read_run_list): Renamed to grub_ntfs_read_run_list.
26034 (decomp_nextvcn): Moved to ntfscomp.c.
26035 (decomp_getch): Likewise.
26036 (decomp_get16): Likewise.
26037 (decomp_block): Likewise.
26038 (read_block): Likewise.
26039 (read_data): Partially moved to ntfscomp.c.
26040 (fixup): Change unsigned to grub_uint16_t.
26041 (read_mft): Change unsigned long to grub_uint32_t.
26042 (read_attr): Likewise.
26043 (read_data): Likewise.
26044 (read_run_data): Likewise.
26045 (read_run_list): Likewise.
26046 (read_mft): Likewise.
26047
26048 * fs/ntfscomp.c: New file.
26049
26050 * include/grub/ntfs.h: New file.
26051
af680a87 260522007-12-16 Robert Millan <rmh@aybabtu.com>
26053
26054 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
26055 IDE disk check, since Linux is known to support 20 IDE disks.
26056 Reported by Colin Watson.
26057
84be7599 260582007-12-15 Bean <bean123ch@gmail.com>
26059
26060 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
26061 (lnxboot_img_SOURCES): New variable.
26062 (lnxboot_img_ASFLAGS): Likewise.
26063 (lnxboot_img_LDFLAGS): Likewise.
26064
26065 * boot/i386/pc/lnxboot.S: New file.
26066
6af9db01 260672007-11-24 Pavel Roskin <proski@gnu.org>
26068
26069 * configure.ac: Test if '--build-id=none' is supported by the
26070 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
26071 objcopy to generate incorrect binary files (binutils
26072 2.17.50.0.18-1 as shipped by Fedora 8).
26073 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
26074 linking, so that build ID doesn't break the test.
26075
7361cfe6 260762007-11-24 Pavel Roskin <proski@gnu.org>
26077
26078 * include/grub/i386/time.h: use "void" in the argument list
26079 of grub_cpu_idle().
26080 * include/grub/powerpc/time.h: Likewise.
26081 * include/grub/sparc64/time.h: Likewise.
26082
1593e10c 260832007-11-18 Christian Franke <franke@computer.org>
26084
26085 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
26086 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
26087 This fixes the problem that function keys did not work in grub-emu.
26088
3b8db1a8 260892007-11-18 Christian Franke <franke@computer.org>
26090
26091 * disk/host.c (grub_host_open): Remove attribute unused from
26092 name parameter. Add check for "host". This fixes the problem
26093 that grub-emu does not find partitions.
26094
2e29408d 260952007-11-18 Christian Franke <franke@computer.org>
26096
26097 * util/hostfs.c (is_dir): New function.
26098 (grub_hostfs_dir): Handle missing dirent.d_type case.
26099 (grub_hostfs_read): Add missing fseek().
26100 (grub_hostfs_label): Clear label pointer. This fixes a crash
26101 of grub-emu on "ls (host)".
26102
398cd047 261032007-11-18 Christian Franke <franke@computer.org>
26104
26105 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
26106 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
26107 to 64 bit boundary by default.
26108
c405c391 261092007-11-18 Bean <bean123ch@gmail.com>
26110
26111 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
26112 (hexdump_mod_SOURCES): New variable.
26113 (hexdump_mod_CFLAGS): Likewise.
26114 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 26115
c405c391 26116 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26117
26118 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26119
26120 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26121
26122 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26123
26124 * include/grub/hexdump.h: New file.
26125
26126 * commands/hexdump.c: New file.
26127
5cced7fd 261282007-11-10 Robert Millan <rmh@aybabtu.com>
26129
26130 * commands/i386/pc/play.c (beep_off): Switch order of arguments
26131 in grub_outb() calls.
26132 (beep_on): Likewise.
26133
8b714eb0 261342007-11-10 Christian Franke <franke@computer.org>
26135
26136 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
26137 (grub_menu_run): Likewise.
26138
ce0f1839 261392007-11-10 Robert Millan <rmh@aybabtu.com>
26140
26141 * include/grub/i386/efi/machine.h: New file.
26142 * include/grub/i386/linuxbios/machine.h: Likewise.
26143 * include/grub/i386/pc/machine.h: Likewise.
26144 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26145 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26146
26147 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
26148 (serial_hw_io_addr): New variable.
26149 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
26150 instead of `(unsigned short *) 0x400'.
26151
270c237d 261522007-11-10 Bean <bean123ch@gmail.com>
26153
26154 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
26155
a87783bf 261562007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26157
26158 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
26159 (vga_mod_SOURCES): Added.
26160 (vga_mod_CFLAGS): Likewise.
26161 (vga_mod_LDFLAGS): Likewise.
26162
26163 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
26164 grub_outb() calls.
26165 (set_map_mask): Likewise.
26166 (set_read_map): Likewise.
26167 (set_read_address): Likewise.
26168 (vga_font): Removed variable.
26169 (get_vga_glyph): Removed function.
26170 (invalidate_char): Likewise.
26171 (write_char): Changed to use grub_font_get_glyph() for font
26172 information.
26173 (grub_vga_putchar): Likewise.
26174 (grub_vga_getcharwidth): Likewise.
26175
6433b448 261762007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26177
26178 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
26179 flags.
26180 (pxeboot_img_LDFLAGS): Likewise.
26181 (diskboot_img_LDFLAGS): Likewise.
26182 (kernel_img_LDFLAGS): Likewise.
26183
49178511 261842007-11-06 Robert Millan <rmh@aybabtu.com>
26185
26186 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
26187 in grub_outb() calls.
26188 (serial_hw_init): Likewise.
26189
53b052de 261902007-11-05 Robert Millan <rmh@aybabtu.com>
26191
26192 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
26193 spaces. Skip non-regular files.
26194
5ab33bba 261952007-11-05 Robert Millan <rmh@aybabtu.com>
26196
26197 * kern/disk.c (grub_disk_firmware_fini)
26198 (grub_disk_firmware_is_tainted): New variables.
26199
26200 * include/grub/disk.h (grub_disk_firmware_fini)
26201 (grub_disk_firmware_is_tainted): Likewise.
26202
26203 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
26204 (grub_disk_biosdisk_fini): ... to here.
26205 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
26206 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
26207 is set. Register grub_disk_biosdisk_fini() in
26208 `grub_disk_firmware_fini'.
26209
26210 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
26211 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
26212 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
26213 to finish existing firmware disk interface.
26214
26215 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
26216 (ata_mod_SOURCES): New variable.
26217 (ata_mod_CFLAGS): Likewise.
26218 (ata_mod_LDFLAGS): Likewise.
26219
0149ab7c 262202007-11-05 Robert Millan <rmh@aybabtu.com>
26221
26222 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
26223 (grub_ata_wait): Reimplement using grub_millisleep().
26224
26225 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
26226 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
26227
be7ac41e 262282007-11-03 Marco Gerards <marco@gnu.org>
26229
26230 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
26231 (CRTC_ADDR_PORT): New macro.
26232 (CRTC_DATA_PORT): Likewise.
26233 (CRTC_CURSOR): Likewise.
26234 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26235 (CRTC_CURSOR_ADDR_LOW): Likewise.
26236 (update_cursor): New function.
26237 (grub_console_real_putchar): Call `update_cursor'.
26238 (grub_console_gotoxy): Likewise.
26239 (grub_console_cls): Set the default color when clearing the
26240 screen.
26241 (grub_console_setcursor): Implemented.
26242
bb06ab2e 262432007-11-03 Marco Gerards <marco@gnu.org>
26244
26245 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
26246 become activate.
26247 (grub_ata_pio_write): Likewise.
26248
26249 (grub_atapi_identify): Wait after issuing an ATA command.
26250 (grub_atapi_packet): Likewise.
26251 (grub_ata_identify): Likewise.
26252 (grub_ata_readwrite): Likewise.
26253
cf8f780b 262542007-11-03 Marco Gerards <marco@gnu.org>
26255
26256 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
26257 (grub_ata_pio_write): Likewise.
26258 (grub_ata_readwrite): Use `grub_error', instead of
26259 returning `grub_errno'.
26260
ed649e54 262612007-11-03 Marco Gerards <marco@gnu.org>
26262
26263 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
26264 grub_ata_pio_write once for every single sector, instead of for
26265 multiple sectors.
26266
ca25d8f0 262672007-10-31 Robert Millan <rmh@aybabtu.com>
26268
26269 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
26270
26271 * conf/i386-linuxbios.rmk: New file.
26272
26273 * kern/i386/pc/hardware.c: Likewise.
26274 * term/i386/pc/at_keyboard.c: Likewise.
26275 * term/i386/pc/vga_text.c: Likewise.
26276
26277 * include/grub/i386/linuxbios/boot.h: Likewise.
26278 * include/grub/i386/linuxbios/console.h: Likewise.
26279 * include/grub/i386/linuxbios/init.h: Likewise.
26280 * include/grub/i386/linuxbios/kernel.h: Likewise.
26281 * include/grub/i386/linuxbios/loader.h: Likewise.
26282 * include/grub/i386/linuxbios/memory.h: Likewise.
26283 * include/grub/i386/linuxbios/serial.h: Likewise.
26284 * include/grub/i386/linuxbios/time.h: Likewise.
26285
26286 * kern/i386/linuxbios/init.c: Likewise.
26287 * kern/i386/linuxbios/startup.S: Likewise.
26288 * kern/i386/linuxbios/table.c: Likewise.
26289
e911ecc1 262902007-10-31 Marco Gerards <marco@gnu.org>
26291
26292 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
26293 (ata_mod_SOURCES): New variable.
26294 (ata_mod_CFLAGS): Likewise.
26295 (ata_mod_LDFLAGS): Likewise.
26296
26297 * disk/ata.c: New file.
26298
26299 * include/grub/disk.h (grub_disk_dev_id): Add
26300 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 26301
7f66d0e0 263022007-10-31 Robert Millan <rmh@aybabtu.com>
26303
26304 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
26305 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
26306
26307 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
26308 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
26309
26310 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
26311 `<grub/types.h>'.
26312
26313 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
26314
5cd7dd46 263152007-10-27 Robert Millan <rmh@aybabtu.com>
26316
3236ca65 26317 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 26318
2ebfc90f 263192007-10-22 Robert Millan <rmh@aybabtu.com>
26320
26321 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
26322 `"../realmode.S"'.
26323 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
26324
73fcb0f3 263252007-10-22 Robert Millan <rmh@aybabtu.com>
26326
26327 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
26328 (pkgdata_MODULES): Add `biosdisk.mod'.
26329 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
26330 variables.
26331
26332 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
26333 (grub_biosdisk_init): Replace with ...
26334 (GRUB_MOD_INIT(biosdisk)): ... this.
26335 (grub_biosdisk_fini): Replace with ...
26336 (GRUB_MOD_FINI(biosdisk)): ... this.
26337
26338 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
26339 (grub_machine_init): Remove call to grub_biosdisk_init().
26340 (grub_machine_fini): Remove call to grub_machine_fini().
26341
26342 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
26343
3381d274 263442007-10-22 Robert Millan <rmh@aybabtu.com>
26345
26346 * include/grub/time.h: New file.
26347 * include/grub/i386/time.h: Likewise.
26348 * include/grub/powerpc/time.h: Likewise.
26349 * include/grub/sparc64/time.h: Likewise.
26350
26351 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
26352 instances to ...
26353 (KERNEL_MACHINE_TIME_HEADER): ... this.
26354 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
26355 instances to ...
26356 (KERNEL_MACHINE_TIME_HEADER): ... this.
26357 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
26358 instances to ...
26359 (KERNEL_MACHINE_TIME_HEADER): ... this.
26360
26361 * kern/i386/efi/init.c: Include `<grub/time.h>'.
26362 (grub_millisleep): New function.
26363 * kern/i386/pc/init.c: Include `<grub/time.h>'.
26364 (grub_millisleep): New function.
26365 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
26366 Remove `grub/machine/time.h' include.
26367 (grub_millisleep): New function.
26368 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
26369 Remove `grub/machine/time.h' include.
26370 (grub_millisleep): New function.
26371
26372 * include/grub/misc.h (grub_div_roundup): New function.
26373
26374 * kern/misc.c: Include `<grub/time.h>'.
26375 (grub_millisleep_generic): New function.
26376
26377 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
26378 Add `time.h'.
26379 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
26380 Add `time.h'.
26381 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
26382 `machine/time.h'. Add `time.h'.
26383 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26384
a39a0312 263852007-10-21 Robert Millan <rmh@aybabtu.com>
26386
26387 * include/grub/misc.h (grub_max): New function.
26388
2aad70e2 263892007-10-21 Robert Millan <rmh@aybabtu.com>
26390
26391 * util/misc.c (grub_util_info): Call fflush() before returning.
26392
54b71c4b 263932007-10-20 Robert Millan <rmh@aybabtu.com>
26394
26395 * genmk.rb (Image): Copy `extra_flags' from here ...
26396 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
26397
26398 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
26399 to `argc' and `args' arguments.
26400
a979f513 264012007-10-17 Robert Millan <rmh@aybabtu.com>
26402
26403 * kern/i386/loader.S: New file.
26404
26405 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
26406 * kern/i386/loader.S (grub_linux_prot_size)... to here.
26407 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
26408 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
26409 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
26410 * kern/i386/loader.S (grub_linux_real_addr)... to here.
26411 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
26412 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
26413 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
26414 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
26415 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
26416 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
26417 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
26418 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
26419
26420 * kern/i386/realmode.S: New file.
26421
26422 * kern/i386/pc/startup.S (protstack): Moved from here ...
26423 * kern/i386/realmode.S (protstack)... to here.
26424 * kern/i386/pc/startup.S (gdt): Moved from here ...
26425 * kern/i386/realmode.S (gdt)... to here.
26426 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
26427 * kern/i386/realmode.S (prot_to_real)... to here.
26428
26429 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
26430 `kern/i386/realmode.S'.
26431
825fc8fd 264322007-10-17 Robert Millan <rmh@aybabtu.com>
26433
26434 * include/grub/i386/loader.h: New file.
26435
26436 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
26437 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26438 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26439 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26440 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
26441 * include/grub/i386/loader.h (grub_linux_prot_size)
26442 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26443 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26444 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26445 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
26446
26447 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
26448
e179b2f4 264492007-10-15 Robert Millan <rmh@aybabtu.com>
26450
26451 * normal/misc.c (grub_normal_print_device_info): Do not probe for
26452 filesystem when dev->disk is unset.
26453 Do probe for filesystem even when dev->disk->has_partitions is set.
26454 In case a filesystem is found, always report it.
26455 In case it isn't, if dev->disk->has_partitions is set, report that
26456 a partition table was found instead of reporting that no filesystem
26457 could be identified.
26458
5db82af6 264592007-10-12 Robert Millan <rmh@aybabtu.com>
26460
26461 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
26462 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
26463
68f6ac74 26464 * include/grub/types.h (grub_host_to_target16): New macro.
26465 (grub_host_to_target32): Likewise.
26466 (grub_host_to_target64): Likewise.
26467 (grub_target_to_host16): Likewise.
26468 (grub_target_to_host32): Likewise.
26469 (grub_target_to_host64): Likewise.
5db82af6 26470
26471 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26472 Renamed from to ...
26473 (GRUB_MOD_ALIGN): ...this. Update all users.
26474
68f6ac74 26475 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
26476 grub_host_to_target32.
26477 Replace grub_be_to_cpu32 with grub_target_to_host32.
26478 (load_modules): Likewise.
26479 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
26480 Replace grub_be_to_cpu32 with grub_target_to_host32.
26481 Replace grub_cpu_to_be16 with grub_host_to_target16.
26482 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 26483
3cf497cc 264842007-10-12 Robert Millan <rmh@aybabtu.com>
26485
26486 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
26487 * util/elf/grub-mkimage.c: ... here.
26488
26489 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
26490 `util/powerpc/ieee1275/grub-mkimage.c'.
26491
c8cc3692 264922007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 26493
c8cc3692 26494 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
26495 and make it easier to figure out.
26496 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
26497 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
26498 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
26499 leave us with less than HEAP_MIN_SIZE total heap.
26500 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 26501
5c58b791 265022007-10-03 Robert Millan <rmh@aybabtu.com>
26503
26504 * include/grub/i386/io.h: New file.
26505 * commands/i386/pc/play.c (inb): Removed.
26506 (outb): Removed.
26507 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26508 with grub_outb().
afcd2ef8 26509 * term/i386/pc/serial.c (inb): Removed.
26510 (outb): Removed.
26511 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26512 with grub_outb().
26513 * term/i386/pc/vga.c (inb): Removed.
26514 (outb): Removed.
26515 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26516 with grub_outb().
5c58b791 26517
1a477ed6 265182007-10-02 Robert Millan <rmh@aybabtu.com>
26519
26520 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
26521 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26522 Reported by Marcin Kurek.
26523
6b5d80fa 265242007-09-07 Robert Millan <rmh@aybabtu.com>
26525
26526 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
26527 SmartFirmware version updates (as released by Sven Luther), and avoid
26528 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
26529 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
26530 known broken.
26531
5618afbf 265322007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26533
26534 From Hitoshi Ozeki:
26535 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
26536 when merging two regions.
26537
6139dcd9 265382007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26539
508e39ee 26540 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
26541 * normal/completion.c (grub_normal_do_completion): Likewise.
26542 Reported by Hitoshi Ozeki.
26543
265442007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 26545
6139dcd9 26546 Do not use devices at boot in chainloading.
f19dbdb7 26547
6139dcd9 26548 * loader/i386/pc/chainloader.c (boot_drive): New variable.
26549 (boot_part_addr): Likewise.
26550 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
26551 with BOOT_DRIVE and BOOT_PART_ADDR.
26552 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
26553 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
26554
38da6516 265552007-08-29 Robert Millan <rmh@aybabtu.com>
26556
26557 Patch from Simon Peter <dn.tlp@gmx.net>:
26558 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
26559 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
26560 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
26561 util/i386/pc/grub-setup.c_DEPENDENCIES.
26562 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
26563 util/grub-probe.c_DEPENDENCIES.
26564 * conf/powerpc-ieee1275.rmk: Likewise.
26565
29d0928c 265662007-08-28 Robert Millan <rmh@aybabtu.com>
26567
26568 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
26569 to tell grub-mkdevicemap how to name devices.
26570 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
26571 feature).
26572
26573 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
26574 util/i386/get_disk_name.c.
26575 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
26576 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
26577 util/ieee1275/get_disk_name.c.
26578
26579 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
26580
26581 * DISTLIST: Add util/i386/get_disk_name.c and
26582 util/ieee1275/get_disk_name.c.
26583
26584 * util/grub-mkdevicemap.c: Replace device naming logic with
26585 grub_util_get_disk_name() calls.
26586
5a0d3cca 265872007-08-20 Robert Millan <rmh@aybabtu.com>
26588
26589 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
26590 (so that it works for both plural and singular quantities).
26591
8b72db2f 265922007-08-05 Robert Millan <rmh@aybabtu.com>
26593
26594 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
26595 so that [xz] isn't taken into account when determining order.
26596
352466bf 265972007-08-02 Marco Gerards <marco@gnu.org>
26598
26599 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
26600 `include/multiboot2.h', `include/grub/elfload.h',
26601 `include/multiboot.h', `include/grub/multiboot.h',
26602 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
26603 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
26604 `kern/elf.c', `loader/multiboot_loader.c',
26605 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
26606 `loader/i386/pc/multiboot2.c',
26607 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
26608 `util/i386/pc/grub-mkrescue.in'. Remove
26609 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
26610 `include/grub/i386/pc/util/biosdisk.h' and
26611 `include/grub/powerpc/ieee1275/multiboot.h'.
26612
8f096014 266132007-08-02 Bean <bean123ch@gmail.com>
26614
26615 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
26616 (ntfs_mod_SOURCES): New variable.
26617 (ntfs_mod_CFLAGS): Likewise.
26618 (ntfs_mod_LDFLAGS): Likewise.
26619
26620 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
26621 (grub_probe_SOURCES): Likewise.
26622 (grub_emu_SOURCES): Likewise.
26623
26624 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
26625 (grub_emu_SOURCES): Likewise.
26626
26627 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
26628 (grub_emu_SOURCES): Likewise.
f19dbdb7 26629
8f096014 26630 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
26631
26632 * fs/ntfs.c: New file.
26633
9959f7db 266342007-08-02 Bean <bean123ch@gmail.com>
26635
26636 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
26637
26638 * file.h (grub_file): Likewise.
26639
26640 * fshelp.h (grub_fshelp_read_file): Likewise.
26641
26642 * util/i386/pc/grub-setup.c (setup): Likewise.
26643 (save_first_sector): Likewise.
26644 (save_blocklists): Likewise.
f19dbdb7 26645
9959f7db 26646 * fs/affs.c (grub_affs_read_file): Likewise.
26647
26648 * fs/ext2.c (grub_ext2_read_file): Likewise.
26649
26650 * fs/fat.c (grub_fat_read_data): Likewise.
26651
26652 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
26653
26654 * fs/hfs.c (grub_hfs_read_file): Likewise.
26655
26656 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
26657
26658 * fs/jfs.c (grub_jfs_read_file): Likewise.
26659
26660 * fs/minix.c (grub_minix_read_file): Likewise.
26661
26662 * fs/sfs.c (grub_sfs_read_file): Likewise.
26663
26664 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 26665
9959f7db 26666 * fs/xfs.c (grub_xfs_read_file): Likewise.
26667
26668 * command/blocklist.c (read_blocklist): Likewise.
26669 (print_blocklist): Likewise.
26670
0a203f83 266712007-08-02 Marco Gerards <marco@gnu.org>
26672
26673 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
26674 `util/hostfs.c'.
26675
26676 * disk/host.c: New file.
26677
26678 * util/hostfs.c: Likewise.
26679
26680 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
26681 return `GRUB_ERR_BAD_FS'.
26682 * fs/sfs.c (grub_sfs_mount): Likewise.
26683 * fs/xfs.c (grub_xfs_mount): Likewise.
26684
26685 * include/grub/disk.h (enum grub_disk_dev_id): Add
26686 `GRUB_DISK_DEVICE_HOST_ID'.
26687
26688 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
26689
e5dfe777 266902007-07-24 Jerone Young <jerone@gmail.com>
26691
f19dbdb7 26692 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 26693 modules for compilation.
26694 * conf/powerpc-ieee1275.rmk: Likewise.
26695
26696 * include/multiboot.h: Move multiboot definitions to one file. Rename
26697 many definitions to not get grub specific.
26698 * include/multiboot2.h: Create header with multiboot 2 definitions.
26699 * include/grub/multiboot.h: Header for grub specific function
26700 prototypes and definitions.
26701 * include/grub/multiboot2.h: Likewise.
26702 * include/grub/multiboot_loader.h: Likewise.
26703 * include/grub/i386/pc/multiboot.h: Removed.
26704 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
26705
26706 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
26707 and 2 to allow for one multiboot and module commands.
26708 * loader/multiboot2.c: Add multiboot2 functionality.
26709 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
26710 and definition names.
26711 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
26712 2 functions.
26713 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
26714 ieee1275 specific multiboot2 code.
26715
26716 * kern/i386/pc/startup.S: Change headers and definition names for
26717 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
26718
daf0f0ba 267192007-07-22 Robert Millan <rmh@aybabtu.com>
26720
26721 * geninitheader.sh: Process file specified in first parameter rather
26722 than hardcoding grub_modules_init.lst.
fe6b695a 26723 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 26724 than hardcoding grub_modules_init.h.
26725
26726 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
26727 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
26728 grub_probe_init.[ch] and grub_setup_init.[ch].
26729
26730 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
26731 grub_modules_init.h with grub_emu_init.h.
26732 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
26733 grub_probe_init.[ch] files.
26734 * conf/i386-efi.rmk: Likewise.
26735 * conf/i386-pc.rmk: Likewise.
26736 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
26737 grub_setup_init.[ch] files.
26738
26739 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
26740 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
26741 to initialize modules rather than a list of hardcoded functions.
26742 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
26743 grub_init_all() to initialize modules rather than a list of hardcoded
26744 functions.
26745
54cdc1cc 267462007-07-22 Robert Millan <rmh@aybabtu.com>
26747
26748 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26749 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
26750
ad0686cc 267512007-07-22 Robert Millan <rmh@aybabtu.com>
26752
26753 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26754 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
26755 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
26756 flag when running on SmartFirmware.
26757 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
26758 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
26759 was set.
26760
26761 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26762 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
26763 rather than decreasing it.
26764
26765 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
26766 there's not enough space to do it, fail in the same way as when it
26767 can't be done because there are no partitions.
26768
26769 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
26770 when nvsetenv failed.
26771
969c02ec 267722007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
26773
26774 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
26775 because this rule is automatically generated.
26776 (grub-mkrescue): Removed for the same reason as above.
26777
5a79f472 267782007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
26779
26780 Migrate to GNU General Public License Version 3.
f19dbdb7 26781
5a79f472 26782 * COPYING: Replaced with the plain text version of GPLv3.
26783
26784 * config.guess: Updated from gnulib.
26785 * config.sub: Likewise.
26786
26787 * geninit.sh: Output a GPLv3 copyright notice.
26788 * geninitheader.sh: Likewise.
26789 * genmodsrc.sh: Likewise.
26790 * gensymlist.sh.in: Likewise.
26791
26792 * boot/i386/pc/boot.S: Upgraded to GPLv3.
26793 * boot/i386/pc/diskboot.S: Likewise.
26794 * boot/i386/pc/pxeboot.S: Likewise.
26795 * commands/blocklist.c: Likewise.
26796 * commands/boot.c: Likewise.
26797 * commands/cat.c: Likewise.
26798 * commands/cmp.c: Likewise.
26799 * commands/configfile.c: Likewise.
26800 * commands/echo.c: Likewise.
26801 * commands/help.c: Likewise.
26802 * commands/ls.c: Likewise.
26803 * commands/search.c: Likewise.
26804 * commands/terminal.c: Likewise.
26805 * commands/test.c: Likewise.
26806 * commands/videotest.c: Likewise.
26807 * commands/i386/cpuid.c: Likewise.
26808 * commands/i386/pc/halt.c: Likewise.
26809 * commands/i386/pc/play.c: Likewise.
26810 * commands/i386/pc/reboot.c: Likewise.
26811 * commands/i386/pc/vbeinfo.c: Likewise.
26812 * commands/i386/pc/vbetest.c: Likewise.
26813 * commands/ieee1275/halt.c: Likewise.
26814 * commands/ieee1275/reboot.c: Likewise.
26815 * commands/ieee1275/suspend.c: Likewise.
26816 * disk/loopback.c: Likewise.
26817 * disk/lvm.c: Likewise.
26818 * disk/raid.c: Likewise.
26819 * disk/efi/efidisk.c: Likewise.
26820 * disk/i386/pc/biosdisk.c: Likewise.
26821 * disk/ieee1275/ofdisk.c: Likewise.
26822 * font/manager.c: Likewise.
26823 * fs/affs.c: Likewise.
26824 * fs/ext2.c: Likewise.
26825 * fs/fat.c: Likewise.
26826 * fs/fshelp.c: Likewise.
26827 * fs/hfs.c: Likewise.
26828 * fs/hfsplus.c: Likewise.
26829 * fs/iso9660.c: Likewise.
26830 * fs/jfs.c: Likewise.
26831 * fs/minix.c: Likewise.
26832 * fs/sfs.c: Likewise.
26833 * fs/ufs.c: Likewise.
26834 * fs/xfs.c: Likewise.
26835 * hello/hello.c: Likewise.
26836 * include/grub/acorn_filecore.h: Likewise.
26837 * include/grub/arg.h: Likewise.
26838 * include/grub/bitmap.h: Likewise.
26839 * include/grub/boot.h: Likewise.
26840 * include/grub/cache.h: Likewise.
26841 * include/grub/device.h: Likewise.
26842 * include/grub/disk.h: Likewise.
26843 * include/grub/dl.h: Likewise.
26844 * include/grub/elfload.h: Likewise.
26845 * include/grub/env.h: Likewise.
26846 * include/grub/err.h: Likewise.
26847 * include/grub/file.h: Likewise.
26848 * include/grub/font.h: Likewise.
26849 * include/grub/fs.h: Likewise.
26850 * include/grub/fshelp.h: Likewise.
26851 * include/grub/gzio.h: Likewise.
26852 * include/grub/hfs.h: Likewise.
26853 * include/grub/kernel.h: Likewise.
26854 * include/grub/loader.h: Likewise.
26855 * include/grub/lvm.h: Likewise.
26856 * include/grub/misc.h: Likewise.
26857 * include/grub/mm.h: Likewise.
26858 * include/grub/net.h: Likewise.
26859 * include/grub/normal.h: Likewise.
26860 * include/grub/parser.h: Likewise.
26861 * include/grub/partition.h: Likewise.
26862 * include/grub/pc_partition.h: Likewise.
26863 * include/grub/raid.h: Likewise.
26864 * include/grub/rescue.h: Likewise.
26865 * include/grub/script.h: Likewise.
26866 * include/grub/setjmp.h: Likewise.
26867 * include/grub/symbol.h: Likewise.
26868 * include/grub/term.h: Likewise.
26869 * include/grub/terminfo.h: Likewise.
26870 * include/grub/tparm.h: Likewise.
26871 * include/grub/types.h: Likewise.
26872 * include/grub/video.h: Likewise.
26873 * include/grub/efi/api.h: Likewise.
26874 * include/grub/efi/chainloader.h: Likewise.
26875 * include/grub/efi/console.h: Likewise.
26876 * include/grub/efi/console_control.h: Likewise.
26877 * include/grub/efi/disk.h: Likewise.
26878 * include/grub/efi/efi.h: Likewise.
26879 * include/grub/efi/pe32.h: Likewise.
26880 * include/grub/efi/time.h: Likewise.
26881 * include/grub/i386/linux.h: Likewise.
26882 * include/grub/i386/setjmp.h: Likewise.
26883 * include/grub/i386/types.h: Likewise.
26884 * include/grub/i386/efi/kernel.h: Likewise.
26885 * include/grub/i386/efi/loader.h: Likewise.
26886 * include/grub/i386/efi/time.h: Likewise.
26887 * include/grub/i386/pc/biosdisk.h: Likewise.
26888 * include/grub/i386/pc/boot.h: Likewise.
26889 * include/grub/i386/pc/chainloader.h: Likewise.
26890 * include/grub/i386/pc/console.h: Likewise.
26891 * include/grub/i386/pc/init.h: Likewise.
26892 * include/grub/i386/pc/kernel.h: Likewise.
26893 * include/grub/i386/pc/loader.h: Likewise.
26894 * include/grub/i386/pc/memory.h: Likewise.
26895 * include/grub/i386/pc/multiboot.h: Likewise.
26896 * include/grub/i386/pc/serial.h: Likewise.
26897 * include/grub/i386/pc/time.h: Likewise.
26898 * include/grub/i386/pc/vbe.h: Likewise.
26899 * include/grub/i386/pc/vbeblit.h: Likewise.
26900 * include/grub/i386/pc/vbefill.h: Likewise.
26901 * include/grub/i386/pc/vbeutil.h: Likewise.
26902 * include/grub/i386/pc/vga.h: Likewise.
26903 * include/grub/ieee1275/ieee1275.h: Likewise.
26904 * include/grub/ieee1275/ofdisk.h: Likewise.
26905 * include/grub/powerpc/libgcc.h: Likewise.
26906 * include/grub/powerpc/setjmp.h: Likewise.
26907 * include/grub/powerpc/types.h: Likewise.
26908 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
26909 * include/grub/powerpc/ieee1275/console.h: Likewise.
26910 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
26911 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26912 * include/grub/powerpc/ieee1275/loader.h: Likewise.
26913 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
26914 * include/grub/powerpc/ieee1275/time.h: Likewise.
26915 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
26916 * include/grub/sparc64/libgcc.h: Likewise.
26917 * include/grub/sparc64/setjmp.h: Likewise.
26918 * include/grub/sparc64/types.h: Likewise.
26919 * include/grub/sparc64/ieee1275/console.h: Likewise.
26920 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26921 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26922 * include/grub/sparc64/ieee1275/time.h: Likewise.
26923 * include/grub/util/biosdisk.h: Likewise.
26924 * include/grub/util/getroot.h: Likewise.
26925 * include/grub/util/lvm.h: Likewise.
26926 * include/grub/util/misc.h: Likewise.
26927 * include/grub/util/raid.h: Likewise.
26928 * include/grub/util/resolve.h: Likewise.
26929 * io/gzio.c: Likewise.
26930 * kern/device.c: Likewise.
26931 * kern/disk.c: Likewise.
26932 * kern/dl.c: Likewise.
26933 * kern/elf.c: Likewise.
26934 * kern/env.c: Likewise.
26935 * kern/err.c: Likewise.
26936 * kern/file.c: Likewise.
26937 * kern/fs.c: Likewise.
26938 * kern/loader.c: Likewise.
26939 * kern/main.c: Likewise.
26940 * kern/misc.c: Likewise.
26941 * kern/mm.c: Likewise.
26942 * kern/parser.c: Likewise.
26943 * kern/partition.c: Likewise.
26944 * kern/rescue.c: Likewise.
26945 * kern/term.c: Likewise.
26946 * kern/efi/efi.c: Likewise.
26947 * kern/efi/init.c: Likewise.
26948 * kern/efi/mm.c: Likewise.
26949 * kern/i386/dl.c: Likewise.
26950 * kern/i386/efi/init.c: Likewise.
26951 * kern/i386/efi/startup.S: Likewise.
26952 * kern/i386/pc/init.c: Likewise.
26953 * kern/i386/pc/lzo1x.S: Likewise.
26954 * kern/i386/pc/startup.S: Likewise.
26955 * kern/ieee1275/ieee1275.c: Likewise.
26956 * kern/powerpc/cache.S: Likewise.
26957 * kern/powerpc/dl.c: Likewise.
26958 * kern/powerpc/ieee1275/cmain.c: Likewise.
26959 * kern/powerpc/ieee1275/crt0.S: Likewise.
26960 * kern/powerpc/ieee1275/init.c: Likewise.
26961 * kern/powerpc/ieee1275/openfw.c: Likewise.
26962 * kern/sparc64/cache.S: Likewise.
26963 * kern/sparc64/dl.c: Likewise.
26964 * kern/sparc64/ieee1275/init.c: Likewise.
26965 * kern/sparc64/ieee1275/openfw.c: Likewise.
26966 * loader/efi/chainloader.c: Likewise.
26967 * loader/efi/chainloader_normal.c: Likewise.
26968 * loader/i386/efi/linux.c: Likewise.
26969 * loader/i386/efi/linux_normal.c: Likewise.
26970 * loader/i386/pc/chainloader.c: Likewise.
26971 * loader/i386/pc/chainloader_normal.c: Likewise.
26972 * loader/i386/pc/linux.c: Likewise.
26973 * loader/i386/pc/linux_normal.c: Likewise.
26974 * loader/i386/pc/multiboot.c: Likewise.
26975 * loader/i386/pc/multiboot_normal.c: Likewise.
26976 * loader/powerpc/ieee1275/linux.c: Likewise.
26977 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26978 * normal/arg.c: Likewise.
26979 * normal/cmdline.c: Likewise.
26980 * normal/command.c: Likewise.
26981 * normal/completion.c: Likewise.
26982 * normal/execute.c: Likewise.
26983 * normal/function.c: Likewise.
26984 * normal/lexer.c: Likewise.
26985 * normal/main.c: Likewise.
26986 * normal/menu.c: Likewise.
26987 * normal/menu_entry.c: Likewise.
26988 * normal/misc.c: Likewise.
26989 * normal/parser.y: Likewise.
26990 * normal/script.c: Likewise.
26991 * normal/i386/setjmp.S: Likewise.
26992 * normal/powerpc/setjmp.S: Likewise.
26993 * normal/sparc64/setjmp.S: Likewise.
26994 * partmap/acorn.c: Likewise.
26995 * partmap/amiga.c: Likewise.
26996 * partmap/apple.c: Likewise.
26997 * partmap/gpt.c: Likewise.
26998 * partmap/pc.c: Likewise.
26999 * partmap/sun.c: Likewise.
27000 * term/gfxterm.c: Likewise.
27001 * term/terminfo.c: Likewise.
27002 * term/efi/console.c: Likewise.
27003 * term/i386/pc/console.c: Likewise.
27004 * term/i386/pc/serial.c: Likewise.
27005 * term/i386/pc/vesafb.c: Likewise.
27006 * term/i386/pc/vga.c: Likewise.
27007 * term/ieee1275/ofconsole.c: Likewise.
27008 * util/biosdisk.c: Likewise.
27009 * util/console.c: Likewise.
27010 * util/genmoddep.c: Likewise.
27011 * util/getroot.c: Likewise.
27012 * util/grub-emu.c: Likewise.
27013 * util/grub-mkdevicemap.c: Likewise.
27014 * util/grub-probe.c: Likewise.
27015 * util/lvm.c: Likewise.
27016 * util/misc.c: Likewise.
27017 * util/raid.c: Likewise.
27018 * util/resolve.c: Likewise.
27019 * util/update-grub.in: Likewise.
27020 * util/update-grub_lib.in: Likewise.
27021 * util/grub.d/00_header.in: Likewise.
27022 * util/grub.d/10_hurd.in: Likewise.
27023 * util/grub.d/10_linux.in: Likewise.
27024 * util/i386/efi/grub-install.in: Likewise.
27025 * util/i386/efi/grub-mkimage.c: Likewise.
27026 * util/i386/pc/grub-install.in: Likewise.
27027 * util/i386/pc/grub-mkimage.c: Likewise.
27028 * util/i386/pc/grub-mkrescue.in: Likewise.
27029 * util/i386/pc/grub-setup.c: Likewise.
27030 * util/i386/pc/misc.c: Likewise.
27031 * util/powerpc/ieee1275/grub-install.in: Likewise.
27032 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
27033 * util/powerpc/ieee1275/misc.c: Likewise.
27034 * video/bitmap.c: Likewise.
27035 * video/video.c: Likewise.
27036 * video/i386/pc/vbe.c: Likewise.
27037 * video/i386/pc/vbeblit.c: Likewise.
27038 * video/i386/pc/vbefill.c: Likewise.
27039 * video/i386/pc/vbeutil.c: Likewise.
27040 * video/readers/tga.c: Likewise.
27041
3572d015 270422007-07-02 Robert Millan <rmh@aybabtu.com>
27043
27044 * conf/i386-efi.rmk: Replace obsolete reference to
27045 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
27046 with util/getroot.c.
27047 * conf/powerpc-ieee1275.rmk: Likewise.
27048 * conf/sparc64-ieee1275.rmk: Likewise.
27049
27050 * util/grub-emu.c (main): Fix unchecked pointer handling.
27051
2c2a681b 270522007-07-02 Robert Millan <rmh@aybabtu.com>
27053
27054 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
27055 invocation to fail, in order to support partition-less media.
27056
27057 * util/i386/pc/grub-install.in: Likewise.
27058
27059 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
27060 which fs or partmap modules are needed (akin to its sister scripts).
27061
27062 Also use grub-probe to get rid of unportable /proc/mounts check.
27063
27064 Print the same informational message that the other scripts do, before
fe6b695a 27065 exiting.
2c2a681b 27066
6193defe 270672007-06-23 Robert Millan <rmh@aybabtu.com>
27068
fe6b695a 27069 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 27070 a font file can be found and, if so, echo the GRUB path to it.
27071
27072 * util/update-grub.in: Handle multiple terminals depending on user
27073 input, platform availability and font file presence. Propagate
27074 variables of our findings to /etc/grub.d/ children.
27075
27076 * util/grub.d/00_header.in: Handle multiple terminals, based on
27077 environment setup by update-grub.
27078
eface1dc 270792007-06-23 Robert Millan <rmh@aybabtu.com>
27080
ba50d28f 27081 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 27082
bf697e28 270832007-06-21 Robert Millan <rmh@aybabtu.com>
27084
27085 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
27086 indicate end of data section in kernel image.
27087 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
27088 GRUB_KERNEL_MACHINE_DATA_END.
27089
27090 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
27091 space for it.
27092 * kern/i386/efi/startup.S: Likewise.
27093
27094 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
27095 during image generation. Implement --prefix option to override this
27096 patch.
27097 * util/i386/efi/grub-mkimage.c: Likewise.
27098
27099 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
27100 code to make path relative to its root into a separate function.
27101
27102 * util/i386/pc/grub-install.in: Use newly provided
27103 make_system_path_relative_to_its_root() to convert ${grubdir}, then
27104 pass the result to grub-install --prefix.
27105
baa574b4 271062007-06-13 Robert Millan <rmh@aybabtu.com>
27107
27108 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
27109 DEFAULT_DEVICE_MAP.
27110 * util/grub-emu.c: Use above definitions from misc.h instead of
27111 defining them.
27112 * util/grub-mkdevicemap.c: Likewise.
27113 * util/i386/pc/grub-setup.c: Likewise.
27114 * util/grub-probe.c: Likewise.
27115 (probe): Abort with grub_util_error() when either
27116 grub_guess_root_device or grub_util_get_grub_dev fails.
27117
0215dcbf 271182007-06-12 Robert Millan <rmh@aybabtu.com>
27119
27120 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
27121 "pager" assignment.
27122 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
27123 "pcdata".
27124 * util/grub-probe.c (probe): Likewise for "drive_name".
27125
8af2ab7b 271262007-06-11 Robert Millan <rmh@aybabtu.com>
27127
27128 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
27129 not just the cdrom one.
27130
59d31694 271312007-06-11 Robert Millan <rmh@aybabtu.com>
27132
27133 * util/i386/pc/grub-mkrescue.in: Add "set -e".
27134 Add --pkglibdir=DIR option to override pkglibdir.
27135 Mention --image-type=TYPE in help output.
27136 Fix --grub-mkimage (it was a no-op).
fe6b695a 27137 Abort gracefully when no parameter is given.
59d31694 27138
7ee367e4 271392007-06-11 Robert Millan <rmh@aybabtu.com>
27140
27141 * util/i386/pc/grub-mkrescue.in: New file.
27142 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
27143 * Makefile.in: Handle bin_SCRIPTS.
27144
29b0ed46 271452007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
27146
27147 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
27148 list of video modes.
27149
c0f90770 271502007-06-06 Robert Millan <rmh@aybabtu.com>
27151
27152 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
27153 file doesn't exist, or if it is in a filesystem grub can't read.
27154
27155 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
27156 not abort if GRUB_DRIVE could not be defined. Rearrange generated
27157 header comment to fit in 80 columns when the variables are resolved.
27158
27159 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
27160 could be identified by update-grub. Remove redundant check for
fe6b695a 27161 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 27162 handles that).
27163
fb36dc26 271642007-06-04 Robert Millan <rmh@aybabtu.com>
27165
27166 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
27167
27168 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
27169
27170 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
27171
0c68c93e 271722007-06-04 Robert Millan <rmh@aybabtu.com>
27173
27174 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
27175
27176 * include/grub/partition.h: Declare grub_apple_partition_map_init and
27177 grub_apple_partition_map_fini.
27178
27179 * util/biosdisk.c
27180 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
27181 to access >2 TiB disks).
27182
27183 Print disk->total_sectors with %llu instead of %lu, since this
27184 variable is always 64-bit (prevents wrong disk size from being displayed
27185 on either >2 TiB disk or big-endian CPU).
27186
27187 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
27188 into a generic case that supports all (sane) partition maps.
27189
27190 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
27191 breaks big-endian.
27192
27193 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
27194 and grub_apple_partition_map_fini() after that.
27195
0f23eb74 271962007-06-01 Robert Millan <rmh@aybabtu.com>
27197
27198 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
27199
27200 * util/grub.d/00_header.in: Only enable gfxterm when
27201 convert_system_path_to_grub_path() succeeds.
27202
42c71976 272032007-05-20 Robert Millan <rmh@aybabtu.com>
27204
27205 * util/update-grub_lib.in: New file.
27206 * DISTLIST: Add update-grub_lib.in.
27207 * conf/common.rmk: Generate update-grub_lib and install it in
27208 $(lib_DATA).
27209 * Makefile.in: Add install routine for $(lib_DATA).
27210
27211 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
27212 function provided by update-grub_lib to support arbitrary paths of
27213 unifont.pff.
27214 * util/update-grub.in: Use convert_system_path_to_grub_path() to
27215 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
27216
5beb2291 272172007-05-19 Robert Millan <rmh@aybabtu.com>
27218
27219 * commands/i386/cpuid.c: New module.
27220 * DISTLIST: Add it.
27221 * conf/i386-efi.rmk: Enable cpuid.mod.
27222 * conf/i386-pc.rmk: Likewise.
27223
7262eca1 272242007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27225
27226 * kern/disk.c (grub_disk_read): Check return value of
27227 grub_realloc().
27228
260ba823 272292007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27230
27231 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
27232 arrays.
27233 * disk/raid.c (grub_raid_open): Likewise.
27234
1ecb6cf2 272352007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27236
27237 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
27238 stack instead of on the heap.
27239
27240 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
27241 before doing a read on it.
27242
27243 * configure.ac: Only use -fno-stack-protector for the target
27244 environment.
f19dbdb7 27245
21c8cbb1 272462007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27247
27248 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
27249 __attribute_ ((unused)) to mode_type argument.
27250
27251 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 27252
21c8cbb1 27253 * kern/misc.c (memcmp): Fix prototype.
27254
27255 * include/grub/partition.h [GRUB_UTIL]
27256 (grub_gpt_partition_map_init): Add prototype.
27257 (grub_gpt_partition_map_fini): Likewise.
27258
27259 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
27260 at the right place.
27261
27262 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
27263 (grub_fat_read_data): Likewise.
27264 (grub_fat_find_dir): Likewise.
27265
27266 * font/manager.c (find_glyph): Make table a const.
27267 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 27268
849d55d3 272692007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
27270
27271 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
27272 code, first search for device in /dev/mapper, then in /dev.
27273 (grub_util_get_grub_dev): New function.
27274 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
27275 prototype.
27276 * util/grub-probe.c (probe): Remove check for RAID, call
27277 grub_util_get_grub_dev() instead of
27278 grub_util_biosdisk_get_grub_dev().
27279 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
27280 grub_util_biosdisk_get_grub_dev().
27281 * util/i386/pc/grub-setup.c (main): Likewise.
27282
8fff7c2f 272832007-05-16 Robert Millan <rmh@aybabtu.com>
27284
27285 * DISTLIST: Update for the latest changes.
27286 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
27287 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
27288 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
27289 grub/util/biosdisk.h.
27290 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
27291 grub/util/biosdisk.h.
27292
48e12b52 272932007-05-16 Robert Millan <rmh@aybabtu.com>
27294
27295 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
27296
46b9d128 272972007-05-16 Robert Millan <rmh@aybabtu.com>
27298
27299 * util/i386/efi/grub-install.in: New.
27300 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
27301 newly added grub-install.
27302 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
27303 include.
27304 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
27305 grub/util/biosdisk.h.
27306 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
27307 grub/util/biosdisk.h.
27308
2d1a40a9 273092007-05-16 Robert Millan <rmh@aybabtu.com>
27310
27311 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
27312 * include/grub/util/biosdisk.h: ... here.
27313 * util/i386/pc/biosdisk.c: Moved to ...
27314 * util/biosdisk.c: ... here.
27315 * util/i386/pc/getroot.c: Moved to ...
27316 * util/getroot.c: ... here.
27317 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
27318 * util/grub-mkdevicemap.c: ... here.
27319 * util/i386/pc/grub-probe.c: Moved to ...
27320 * util/grub-probe.c: ... here.
27321
9e26e3bc 273222007-05-15 Robert Millan <rmh@aybabtu.com>
27323
27324 * util/update-grub.in: Remove duplicated line in grub.cfg header
27325 message.
27326
57f96397 273272007-05-13 Robert Millan <rmh@aybabtu.com>
27328
27329 * util/update-grub.in: Fix a few assumptions about the devices holding
27330 /, /boot and /boot/grub being the same.
27331 * util/grub.d/00_header.in: Likewise.
27332 * util/grub.d/10_hurd.in: Likewise.
27333 * util/grub.d/10_linux.in: Likewise.
27334
27335 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
27336 patterns. Use that to define the `.old' suffix as older than `'.
27337
27338 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
27339
27340 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
27341 the grub.cfg header message.
27342
2e610d62 273432007-05-11 Robert Millan <rmh@aybabtu.com>
27344
27345 * util/update-grub.in: Create device.map if it doesn't already exist,
27346 before attempting to run grub-probe.
27347 Check for grub-probe and grub-mkdevicemap with the same code
27348 grub-install is using.
27349 Remove test mode.
27350
3f6a10ef 273512007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
27352
27353 * Makefile.in: Add the datarootdir autoconf variable.
27354
02e7b75e 273552007-05-09 Robert Millan <rmh@aybabtu.com>
27356
27357 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 27358 fail gracefully if dev->disk->partition == NULL.
02e7b75e 27359
75f396cc 273602007-05-07 Robert Millan <rmh@aybabtu.com>
27361
27362 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
27363 determine partition map module.
27364 * util/i386/pc/grub-install.in: Use this feature to decide which
27365 partition module to load, instead of hardcoding pc and gpt.
27366
da65cb36 273672007-05-07 Robert Millan <rmh@aybabtu.com>
27368
27369 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
27370 source directory differs from build directory.
27371
b57d6a91 273722007-05-05 Robert Millan <rmh@aybabtu.com>
27373
27374 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
27375 initialisation.
27376
509d00f1 273772007-05-05 Robert Millan <rmh@aybabtu.com>
27378
27379 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
27380
c48f23ef 273812007-05-05 Robert Millan <rmh@aybabtu.com>
27382
27383 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
27384 command-line arguments via ${GRUB_CMDLINE_LINUX}.
27385
20b97658 273862007-05-05 Robert Millan <rmh@aybabtu.com>
27387
27388 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
27389 (grub_probe_SOURCES): Likewise.
27390 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
27391 GPT and initialize dos_part and bsd_part accordingly.
27392 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
27393 install_bsd_part.
27394 (main): Activate gpt module for use during partition identification,
27395 and deactivate it afterwards.
27396 * util/i386/pc/grub-install.in: Add gpt module to core.img.
27397 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
27398 partition identification, and deactivate it afterwards.
27399
99123174 274002007-05-05 Robert Millan <rmh@aybabtu.com>
27401
27402 * term/i386/pc/console.c (grub_console_fini): Call
27403 grub_term_set_current() before grub_term_unregister().
27404
ebd97f6e 274052007-05-04 Robert Millan <rmh@aybabtu.com>
27406
27407 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
27408 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
27409 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
27410 and update-grub_DATA.
27411 * conf/common.rmk: Build and install update-grub components.
27412 * conf/common.mk: Regenerate.
27413 * util/update-grub.in: New. Core of update-grub.
27414 * util/grub.d/00_header.in: New. Generates grub.cfg header.
27415 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
27416 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
27417 * util/grub.d/README: New. Document grub.d directory layout.
27418
b06a264d 274192007-05-01 Robert Millan <rmh@aybabtu.com>
27420
27421 * util/grub-emu.c: Move initialization functions
27422 grub_util_biosdisk_init() and grub_init_all() before
27423 grub_util_biosdisk_get_grub_dev(), which relies on them.
27424
41f0050e 274252007-04-19 Robert Millan <rmh@aybabtu.com>
27426
27427 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
27428 it is used later.
27429
04582bb3 274302007-04-18 Jerone Young <jerone@gmail.com>
27431
f19dbdb7 27432 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 27433 stanza.
27434
08db4632 274352007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 27436
08db4632 27437 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
27438 continue on and look for device node with real device name.
27439
801b76be 274402007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 27441
fe6b695a 27442 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 27443 ability.
27444 * Makefile.in: Add autoconf package transformation code.
27445 * util/i386/pc/grub-install.in: Likewise.
27446 * util/powerpc/ieee1275/grub-install.in: Likewise.
27447
6795c4e1 274482007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
27449
27450 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
27451 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
27452 (EXT2_REVISION): Likewise.
27453 (EXT2_INODE_SIZE): Likewise.
27454 (struct grub_ext2_block_group): Added a missing member
27455 "used_dirs".
27456 (grub_ext2_read_inode): Divide by the inode size in a superblock
27457 instead of 128 to obtain INODES_PER_BLOCK.
27458 Use the macro EXT2_INODE_SIZE instead of directly using
27459 SBLOCK->INODE_SIZE.
27460
d70af616 274612007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
27462
27463 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
27464 superblock instead of the structure size to compute an
27465 offset. This fixes the problem that GRUB could not read a
27466 filesystem when inode size is different from 128-byte.
27467
3b801603 274682007-03-05 Marco Gerards <marco@gnu.org>
27469
27470 * normal/main.c (read_config_file): When "menu" is not set, create
27471 an initial context.
27472
4785bfe4 274732007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27474
27475 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
27476 (HEAP_LIMIT): New macro.
27477 (grub_claim_heap): Claim memory up to `heaplimit'.
27478
a0cbb023 274792007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27480
27481 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
27482 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
27483 (_start): Likewise.
27484 (grub_arch_modules_addr): Return address after `_end'.
27485 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
27486 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
27487 (add_segments): Calculate `_end' from phdr size and location.
27488 (ALIGN_UP): Moved to ...
27489 * include/grub/misc.h: here.
27490 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27491 New macro.
27492 (GRUB_IEEE1275_MODULE_BASE): Removed.
27493
fd7d8eba 274942007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27495
27496 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
27497 loop boundary.
27498
9b09e6fc 274992007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27500
27501 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
27502 All users updated.
27503 (grub_elf64_load_hook_t): Likewise.
27504 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
27505 debug output.
27506
3ce27299 275072007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27508
27509 * kern/mm.c: Update copyright.
27510 (grub_mm_debug): Correct syntax error.
27511 (grub_mm_dump_free): New function.
27512 (grub_debug_free): Call `grub_free'.
27513 * include/grub/mm.h: Update copyright.
27514 (grub_mm_dump_free): Add declaration.
27515
077d5fee 275162007-02-12 Hollis Blanchard <hollis@penguinppc.org>
27517
27518 * include/grub/ieee1275/ieee1275.h: Update copyright.
27519 * kern/powerpc/ieee1275/init.c: Likewise.
27520 * kern/powerpc/ieee1275/openfw.c: Likewise.
27521
27522 * loader/powerpc/ieee1275/linux.c: Likewise.
27523 * include/grub/elfload.h: Likewise.
27524 * kern/elf.c: Likewise.
27525 (grub_elf32_load): Pass `base' and `size' parameters. Update all
27526 callers.
27527 (grub_elf64_load): Likewise.
27528 (grub_elf32_load_segment): Move to a nested function.
27529 (grub_elf64_load_segment): Likewise.
27530
dc946850 275312007-02-12 Hollis Blanchard <hollis@penguinppc.org>
27532
27533 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
27534 prototype.
27535 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
27536 (grub_heap_len): Likewise.
27537 (HEAP_SIZE): New macro.
27538 (grub_claim_heap): New function.
27539 (grub_machine_init): Don't claim heap directly. Call
27540 `grub_claim_heap'.
27541 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
27542 (grub_available_iterate): New function.
27543
baa2a121 275442007-02-03 Thomas Schwinge <tschwinge@gnu.org>
27545
27546 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
27547 * configure.ac: Use it for testing the HOST and TARGET compilers.
27548
4fe9862e 275492006-12-13 Thomas Schwinge <tschwinge@gnu.org>
27550
27551 * Makefile.in (enable_grub_emu): New variable.
27552 * configure.ac (--enable-grub-emu): New option.
27553 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
27554 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
27555 * conf/i386-pc.rmk: Likewise.
27556 * conf/powerpc-ieee1275.rmk: Likewise.
27557 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
27558
a8aa5762 275592006-12-12 Marco Gerards <marco@gnu.org>
27560
27561 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
27562
27563 * kern/env.c (grub_env_unset): Don't free the member `value' when
27564 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
27565 pointer.
27566
27567 * normal/main.c (current_menu): Removed.
27568 (free_menu): Unset the `menu' environment variable.
27569 (grub_normal_menu_addentry): Make use of the environment variable
27570 `menu', instead of using the global `current_menu'. Allocate
27571 memory for the sourcecode of this entry.
27572 (read_config_file): New argument `nested', changed all callers.
27573 Only in the case of a new context, initialize a new menu. Set the
27574 `menu' environment variable.
27575 (grub_normal_execute): Don't set and unset the environment
27576 variable `menu' here anymore. Only free the menu when leaving the
27577 context.
27578
27579 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
27580 leak.
27581
957b3a3e 275822006-12-11 Marco Gerards <marco@gnu.org>
27583
27584 * normal/menu_entry.c (run): Fix off by one bug so the last line
27585 is executed. Move the loader check to outside the loop.
27586
ef875714 275872006-12-08 Hollis Blanchard <hollis@penguinppc.org>
27588
27589 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
27590
4e739985 275912006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
27592
27593 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
27594 the number of sectors. Reported by Andrey Shuvikov
27595 <mr_hyro@yahoo.com>.
f19dbdb7 27596
790707f2 275972006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
27598
27599 * kern/disk.c (grub_disk_read): When there is a read error, always
27600 try to read only the necessary data.
f19dbdb7 27601
790707f2 27602 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
27603 disk/raid.c.
27604 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
27605 prototype.
27606 [GRUB_UTIL] (grub_raid_fini): Likewise.
27607 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 27608 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 27609 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
27610 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
27611 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
27612 and grub_raid_fini().
f19dbdb7 27613
03e58196 276142006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
27615
27616 * include/grub/types.h (__unused): Rename to UNUSED.
27617 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
27618 (grub_elf64_size): Likewise.
f19dbdb7 27619
ae4f23bf 276202006-11-03 Hollis Blanchard <hollis@penguinppc.org>
27621
27622 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
27623 grub_error_push and grub_error_pop in the error-handling path.
27624 (grub_elf32_load_segment): Only call grub_file_read with non-zero
27625 length.
27626
2166cc83 276272006-11-03 Hollis Blanchard <hollis@penguinppc.org>
27628
27629 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
27630 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27631 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27632 (kernel_elf_SOURCES): Likewise.
27633 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
27634 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
27635 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27636 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27637 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
27638 (elf_mod_SOURCES): New variable.
27639 (elf_mod_CFLAGS): Likewise.
27640 (elf_mod_LDFLAGS): Likewise.
27641 * include/grub/types.h (__unused): New macro.
27642 * include/grub/elfload.h: New file.
27643 * kern/elf.c: Likewise.
27644 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
27645 (ELF32_LOADMASK): New macro.
27646 (ELF64_LOADMASK): Likewise.
27647 (vmlinux): Removed.
27648 (grub_linux_load32): New function.
27649 (grub_linux_load64): Likewise.
27650 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
27651 Use grub_elf_t instead of grub_file_t.
27652
a09d5aa5 276532006-11-02 Hollis Blanchard <hollis@penguinppc.org>
27654
27655 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
27656 `catch_result' to struct set_color_args.
27657
d976fc51 276582006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
27659
27660 * normal/menu.c: Include grub/script.h.
27661 * normal/menu_entry.c: Likewise.
27662 * include/grub/normal.h: Do not include grub/script.h.
27663
67507549 276642006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27665
27666 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
27667
69203a99 276682006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27669
27670 * kern/disk.c (grub_disk_open): Print debug messages when opening a
27671 disk.
27672 (grub_disk_close): Print debug messages when closing a disk.
27673 (grub_disk_read): Print debug messages when disk read fails.
27674 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
27675 filesystem type.
27676 * kern/partition.c: Include misc.h.
27677 (grub_partition_iterate): Print debug messages when detecting
27678 partition type.
27679
e2b8278c 276802006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27681
27682 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
27683 is negative.
27684 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
27685
97b2f2ff 276862006-10-26 Hollis Blanchard <hollis@penguinppc.org>
27687
27688 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27689 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
27690
6555d655 276912006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
27692
27693 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
27694 instead of sizeof(lv). Patch by Michael Guntsche.
27695
4d42b77f 276962006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
27697
27698 * disk/lvm.c: Rename VGS to VG_LIST.
27699 (grub_lvm_iterate): Change VGS->LV to VG-LV.
27700 (grub_lvm_open): Likewise.
27701 Thanks to Michael Guntsche for finding this bug.
27702
5d74d927 277032006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27704
27705 * configure.ac (AC_INIT): Bumped to 1.95.
27706
a1bb27e4 277072006-10-14 Robert Millan <rmh@aybabtu.com>
27708
27709 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
27710 with "/dev/.static/dev/md".
27711
e0994b8b 277122006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
27713
27714 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
27715 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
27716 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
27717 DRIVE_NAME are always freed.
27718
27719 * util/i386/pc/biosdisk.c (make_device_name): Add one into
27720 DOS_PART, as a DOS partition is counted from one instead of zero
27721 now. Reported by Robert Millan.
27722
ddd5cee9 277232006-10-14 Robert Millan <rmh@aybabtu.com>
27724
27725 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
27726 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
27727 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
27728 string returned by grub_guess_root_device.
27729 * util/i386/pc/grub-setup.c: Likewise.
27730 * util/i386/pc/grub-probefs.c: Likewise.
27731
27732 * util/i386/pc/grub-probefs.c: Rename to ...
27733 * util/i386/pc/grub-probe.c: ... this.
27734 * DISTLIST: Remove grub-probefs, add grub-probe.
27735 * conf/i386-efi.rmk: Likewise.
27736 * conf/i386-pc.rmk: Likewise.
27737 * util/i386/pc/grub-install.in: Likewise.
27738
27739 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
27740 choose which information we want to print.
27741
2b002173 277422006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
27743
27744 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
27745 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
27746 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
27747 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
27748 video/readers/tga.c and video/i386/pc/vbeutil.c.
27749
277502006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
27751
27752 Added support for RAID and LVM.
f19dbdb7 27753
2b002173 27754 * disk/lvm.c: New file.
27755 * disk/raid.c: Likewise.
27756 * include/grub/lvm.h: Likewise.
f19dbdb7 27757 * include/grub/raid.h: Likewise.
2b002173 27758 * include/grub/util/lvm.h: Likewise.
27759 * include/grub/util/raid.h: Likewise.
27760 * util/lvm.c: Likewise.
27761 * util/raid.c: Likewise.
27762
27763 * include/grub/disk.h (grub_disk_dev_id): Add
27764 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
27765 (grub_disk_get_size): New prototype.
27766 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
27767 returns a partition.
27768 (grub_disk_get_size): New function.
f19dbdb7 27769
2b002173 27770 * kern/i386/pc/init.c (make_install_device): Copy the prefix
27771 verbatim if grub_install_dos_part is -2.
27772
27773 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
27774 and LVM devices.
27775
27776 * util/i386/pc/grub-setup.c (setup): New argument
27777 MUST_EMBED. Force embedding of GRUB when the argument is
27778 true. Close FILE before returning.
27779 (main): Add support for RAID and LVM.
f19dbdb7 27780
2b002173 27781 * conf/common.rmk: Add RAID and LVM modules.
27782 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
27783 util/lvm.c.
27784 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
27785
27786 * kern/misc.c (grub_strstr): New function.
27787 * include/grub/misc.h (grub_strstr): New prototype.
27788
050548d0 277892006-10-10 Tristan Gingold <tristan.gingold@bull.net>
27790
27791 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
27792
da849d2d 277932006-10-05 Tristan Gingold <tristan.gingold@bull.net>
27794
27795 * kern/misc.c (grub_strtoull): Guess the base only if not
27796 specified.
27797
97b2f2ff 277982006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 27799
27800 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
27801 PowerMac support.
27802
97b2f2ff 278032006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 27804
27805 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
27806
27807 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
27808 Remove `flags' argument. All callers changed.
27809 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
27810 (IEEE1275_IHANDLE_INVALID): New variable.
27811 (IEEE1275_CELL_INVALID): New variable.
27812 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27813 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
27814 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
27815 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
27816 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
27817 codes from Open Firmware. All callers updated.
27818 (grub_ieee1275_next_property): Directly return Open Firmware return
27819 code.
27820 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27821 Standardize error checking from `grub_ieee1275_get_property'.
27822 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
27823 `devalias' to `aliases'. Correct comments. Consolidate error paths.
27824
97b2f2ff 278252006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 27826
27827 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
27828 `instance_to_package_args' to `instance_to_path_args'.
27829
27830 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
27831 `grub_ieee1275_chosen'.
27832
27833 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
27834 `grub_ieee1275_interpret'.
27835
97b2f2ff 278362006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 27837
27838 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
27839
97b2f2ff 278402006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 27841
27842 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
27843 (__cmpdi): Likewise.
27844
27845 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
27846 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
27847 `grub_ssize_t'.
27848
02bb8acc 27849 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 27850
27851 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
27852 to type `grub_ssize_t'.
27853 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
27854
7f9a8531 278552006-09-22 Marco Gerards <marco@gnu.org>
27856
27857 * normal/script.c (grub_script_create_cmdmenu): Skip leading
27858 newlines.
27859
b5ef1102 278602006-09-22 Marco Gerards <marco@gnu.org>
27861
27862 * commands/echo.c: New file.
27863
27864 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
27865
27866 * conf/common.rmk (echo_mod_SOURCES): New variable.
27867 (echo_mod_CFLAGS): Likewise.
27868 (echo_mod_LDFLAGS): Likewise.
27869
2cff3677 278702006-09-22 Marco Gerards <marco@gnu.org>
27871
27872 * normal/main.c (get_line): Malloc memory instead of using
27873 preallocated memory. Removed the arguments `cmdline' and
27874 `max_len'. Updated all callers.
27875
6ba4688b 278762006-09-22 Marco Gerards <marco@gnu.org>
27877
27878 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
27879 (normal_mod_DEPENDENCIES): Likewise.
27880
27881 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
27882 (normal_mod_DEPENDENCIES): Likewise.
27883
27884 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
27885
e02ac02c 278862006-09-22 Johan Rydberg <jrydberg@gnu.org>
27887
27888 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
27889 programs.
27890 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
27891 (normal_mod_DEPENDENCIES): Likewise.
27892 * conf/i386-pc.mk: Regenerate.
27893 * conf/i386-efi.mk: Likewise
27894 * conf/common.mk: Likewise.
27895 * conf/powerpc-ieee1275.mk: Likewise.
27896 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 27897
8d252e44 278982006-09-22 Robert Millan <rmh@aybabtu.com>
27899
27900 Sync with i386 version.
27901 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
27902 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
27903
209bf7ac 279042006-09-21 Robert Millan <rmh@aybabtu.com>
27905
27906 Import from GRUB Legacy (lib/device.c):
27907 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
27908 (init_device_map) [__linux__]: Add support for I2O devices.
27909
6b146090 279102006-09-14 Marco Gerards <marco@gnu.org>
27911
27912 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
27913 `-melf_i386'.
27914
e38600a8 279152006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 27916
27917 * util/i386/pc/grub-install.in: Skip menu.lst when removing
27918 /boot/grub/*.lst.
78fa1790 27919
2952da5d 27920 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 27921
2952da5d 27922 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
27923 before adding it to device.map.
27924
01b82a64 279252006-08-15 Johan Rydberg <jrydberg@gnu.org>
27926
fe6b695a 27927 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 27928 compiles a file; using the -MD option.
27929 * conf/common.mk: Regenerate.
27930 * conf/i386-pc.mk: Likewise.
27931 * conf/i386-efi.mk: Likewise.
27932 * conf/powerpc-ieee1275.mk: Likewise.
27933 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 27934
1064790d 279352006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
27936
27937 Move the prototypes of grub_setjmp and grub_longjmp to
27938 cpu/setjmp.h, so that each architecture may specify different
27939 attributes.
f19dbdb7 27940
1064790d 27941 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
27942 (grub_longjmp): Likewise.
27943 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
27944 (grub_longjmp): Likewise.
27945 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
27946 (grub_longjmp): Likewise.
27947
27948 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
27949 [!GRUB_UTIL] (grub_longjmp): Removed.
27950
29dda3ed 279512006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
27952
27953 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
27954 "color!" method does not return any value.
27955
ad2a06ed 279562006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27957
27958 * include/grub/bitmap.h: New file.
27959
27960 * include/grub/i386/pc/vbeutil.h: Likewise.
27961
27962 * video/bitmap.c: Likewise.
27963
27964 * video/readers/tga.c: Likewise.
27965
27966 * video/i386/pc/vbeutil.c: Likewise.
27967
27968 * commands/videotest.c: Code cleanup and updated to reflect to new
27969 video API.
27970
27971 * term/gfxterm.c: Likewise.
27972
27973 * video/video.c: Likewise.
27974
27975 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
27976 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
27977 (bitmap_mod_SOURCES): New entry.
27978 (bitmap_mod_CFLAGS): Likewise.
27979 (bitmap_mod_LDFLAGS): Likewise.
27980 (tga_mod_SOURCES): Likewise.
27981 (tga_mod_CFLAGS): Likewise.
27982 (tga_mod_LDFLAGS): Likewise.
27983
27984 * include/grub/video.h (grub_video_blit_operators): New enum type.
27985 (grub_video_render_target): Changed as forward declaration and moved
27986 actual definition to be video driver specific.
27987 (grub_video_adapter.blit_bitmap): Added blitting operator.
27988 (grub_video_adapter.blit_render_target): Likewise.
27989 (grub_video_blit_bitmap): Likewise.
27990 (grub_video_blit_render_target): Likewise.
27991
27992 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
27993 driver specific render target definition.
27994 (grub_video_vbe_map_rgba): Added driver internal helper.
27995 (grub_video_vbe_unmap_color): Updated to use
27996 grub_video_i386_vbeblit_info.
27997 (grub_video_vbe_get_video_ptr): Likewise.
27998
27999 * include/grub/i386/pc/vbeblit.h
28000 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
28001 grub_video_i386_vbeblit_info.
28002 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28003 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28004 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28005 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28006 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28007 (grub_video_i386_vbeblit_index_index): Likewise.
28008 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
28009 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28010 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28011 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
28012 operator.
28013 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
28014 operator.
28015
28016 * video/i386/pc/vbeblit.c: Updated to reflect changes on
28017 include/grub/i386/pc/vbeblit.h.
28018
28019 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
28020 Updated to use grub_video_i386_vbeblit_info.
28021 (grub_video_i386_vbefill_R8G8B8): Likewise.
28022 (grub_video_i386_vbefill_index): Likewise.
28023 (grub_video_i386_vbefill): Added generic filler.
28024
28025 * video/i386/pc/vbefill.c: Updated to reflect changes on
28026 include/grub/i386/pc/vbefill.h.
28027
28028 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
28029 grub_video_i386_vbeblit_info.
28030 (grub_video_vbe_unmap_color): Likewise.
28031 (grub_video_vbe_blit_glyph): Likewise.
28032 (grub_video_vbe_scroll): Likewise.
28033 (grub_video_vbe_draw_pixel): Removed function.
28034 (grub_video_vbe_get_pixel): Likewise.
28035 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
28036 updated code to use it.
28037 (common_blitter): Added common blitter for render target and bitmap.
28038 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
28039 (grub_video_vbe_blit_render_target): Likewise.
28040
bc8c036d 280412006-07-30 Johan Rydberg <jrydberg@gnu.org>
28042
28043 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
28044 is in text mode if there is no console control protocol instance
28045 available.
28046
684a8eff 280472006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28048
28049 * include/grub/video.h: Code cleanup.
28050
28051 * include/grub/i386/pc/vbe.h: Likewise.
28052
28053 * video/i386/pc/vbe.c: Likewise.
28054
28055 * video/i386/pc/vbeblit.c: Likewise.
28056
28057 * video/i386/pc/vbefill.c: Likewise.
28058
28059 * video/video.c: Likewise. Also added more comments.
28060
5915059b 280612006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28062
28063 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
28064 (struct grub_biosdisk_dap): Likewise.
28065
28066 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
28067 linkage settings for all functions.
28068
90ce5d56 280692006-07-12 Marco Gerards <marco@gnu.org>
28070
28071 * configure.ac (--enable-mm-debug): Fix typo.
28072
28073 * genkernsyms.sh.in: Use proper quoting for `CC'.
28074
43e7f879 280752006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
28076
28077 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
28078 (normal_mod_ASFLAGS): Remove "-m32".
28079
4889bdec 280802006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
28081
28082 * util/misc.c: Include config.h.
28083 [!HAVE_MEMALIGN]: Do not include malloc.h.
28084 (grub_memalign): Use posix_memalign, if present. Then, use
28085 memalign, if present. Otherwise, emit an error.
28086
28087 * util/grub-emu.c: Do not include malloc.h.
28088
28089 * include/grub/util/misc.h: Include unistd.h. This is required for
28090 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
28091 D. Eades III <hde@foobar-qux.org>.
28092
28093 * configure.ac (AC_GNU_SOURCE): Added.
28094 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
28095 type.
28096
fd39d4da 280972006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
28098
28099 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
28100 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
28101
b786f3b5 281022006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
28103
28104 * include/grub/types.h (grub_host_addr_t): Rename to
28105 grub_target_addr_t.
28106 (grub_host_off_t): Rename to grub_target_off_t.
28107 (grub_host_size_t): Rename to grub_target_size_t.
28108 (grub_host_ssize_t): Rename to grub_target_ssize_t.
28109 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
28110
28111 * include/grub/kernel.h (struct grub_module_header): Change type
28112 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
28113 (grub_module_info): Likewise.
f19dbdb7 28114
051988bb 281152006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28116
28117 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
28118 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
28119 Velazquez <jesus.velazquez@gmail.com>.
28120
deae281b 281212006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28122
28123 Count partitions from 1 instead of 0 in the string representation
28124 of partitions. Still use 0-based internally.
f19dbdb7 28125
deae281b 28126 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
28127 (sun_partition_map_iterate): Use grub_partition_t instead of
28128 struct grub_partition *. Cast DESC->START_CYLINDER to
28129 grub_uint64_t after converting the endian.
28130 (sun_partition_map_probe): Subtract 1 for PARTNUM.
28131 (sun_partition_map_get_name): Add 1 to P->INDEX.
28132
28133 * partmap/pc.c (grub_partition_parse): Subtract 1 for
28134 PCDATA->DOS_PART.
28135 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
28136
28137 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
28138 zero instead of one.
28139 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
28140 (gpt_partition_map_get_name): Add 1 into P->INDEX.
28141
28142 * partmap/apple.c (apple_partition_map_iterate): Change the type
28143 of POS to unsigned.
28144 (apple_partition_map_probe): Subtract 1 for PARTNUM.
28145 (apple_partition_map_get_name): Add 1 into P->INDEX.
28146
28147 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
28148 of POS to unsigned.
28149 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
28150 calculate the offset of a partition.
28151 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
28152 (amiga_partition_map_get_name): Add 1 into P->INDEX.
28153
28154 * partmap/acorn.c (acorn_partition_map_find): Change the type of
28155 SECTOR to grub_disk_addr_t.
28156 (acorn_partition_map_iterate): Likewise.
28157 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
28158 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
28159 top.
28160 (acorn_partition_map_get_name): Add 1 into P->INDEX.
28161
28162 * kern/i386/pc/init.c (make_install_device): Add 1 into
28163 GRUB_INSTALL_DOS_PART.
28164
28165 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
28166 conditional.
28167
524a1e6a 281682006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28169
28170 Clean up the code to support 64-bit addressing in disks and
28171 files. This change is not enough for filesystems yet.
f19dbdb7 28172
524a1e6a 28173 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
28174 type of "start" to grub_uint64_t.
28175 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
28176 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
28177 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
28178 convert addresses.
28179
28180 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
28181 to grub_disk_addr_t.
28182
28183 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
28184 string.
28185
28186 * partmap/pc.c (pc_partition_map_iterate): Likewise.
28187
28188 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
28189 to char *.
28190
28191 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
28192
28193 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
28194
28195 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
28196
28197 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
28198 to grub_off_t, to detect an error from grub_file_seek.
28199 (grub_multiboot_load_elf32): Likewise.
28200
28201 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
28202 maximum unsigned long value when an overflow is detected.
28203 (grub_strtoull): New function.
28204 (grub_divmod64): Likewise.
28205 (grub_lltoa): use grub_divmod64.
28206
28207 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
28208 grub_disk_addr_t.
28209 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
28210 the pointer to next character. Use grub_strtoull instead of
28211 grub_strtoul.
28212 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
28213 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
28214 respectively.
28215
fe6b695a 28216 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 28217 return value is signed.
28218 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
28219 test if OFFSET is less than zero, as OFFSET is unsigned now.
28220
28221 * kern/disk.c (struct grub_disk_cache): Change the type of
28222 "sector" to grub_disk_addr_t.
28223 (grub_disk_cache_get_index): Change the type of SECTOR to
28224 grub_disk_addr_t. Calculate the hash with SECTOR casted to
28225 unsigned after shifting.
28226 (grub_disk_cache_invalidate): Change the type of SECTOR to
28227 grub_disk_addr_t.
28228 (grub_disk_cache_unlock): Likewise.
28229 (grub_disk_cache_store): Likewise.
28230 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
28231 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
28232 grub_disk_addr_t and grub_uint64_t, respectively.
28233 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
28234 body, as the value of OFFSET is tweaked by
28235 grub_disk_check_range. Change the types of START_SECTOR, LEN and
28236 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
28237 respectively.
28238 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
28239 body, as the value of OFFSET is tweaked by
28240 grub_disk_check_range. Change the types of LEN and N to
28241 grub_size_t.
28242
28243 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
28244 and "saved_offset" to grub_off_t.
28245 (test_header): Cast BUF to char *.
28246 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
28247 to char *.
28248 (grub_gzio_read): Change the types of OFFSET and SIZE to
28249 grub_off_t and grub_size_t, respectively.
28250
28251 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
28252 Removed.
28253 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
28254 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
28255 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
28256 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
28257 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
28258
28259 * include/grub/types.h (grub_off_t): Unconditionally set to
28260 grub_uint64_t.
28261 (grub_disk_addr_t): Changed to grub_uint64_t.
28262
28263 * include/grub/partition.h (struct grub_partition): Change the
28264 types of "start", "len" and "offset" to grub_disk_addr_t,
28265 grub_uint64_t and grub_disk_addr_t, respectively.
28266 (grub_partition_get_start): Return grub_disk_addr_t.
28267 (grub_partition_get_len): Return grub_uint64_t.
28268
28269 * include/grub/misc.h (grub_strtoull): New prototype.
28270 (grub_divmod64): Likewise.
28271
28272 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
28273 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
28274 grub_off_t, respectively.
28275 All callers and references changed.
28276
28277 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
28278 grub_size_t in "read".
28279 All callers and references changed.
28280
28281 * include/grub/file.h (struct grub_file): Change the types of
28282 "offset" and "size" to grub_off_t and grub_off_t,
28283 respectively. Change the type of SECTOR to grub_disk_addr_t in
28284 "read_hook".
28285 (grub_file_read): Change the type of LEN to grub_size_t.
28286 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
28287 grub_off_t.
28288 (grub_file_size): Return grub_off_t.
28289 (grub_file_tell): Likewise.
28290 All callers and references changed.
28291
28292 * include/grub/disk.h (struct grub_disk_dev): Change the types of
28293 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
28294 "write".
28295 (struct grub_disk): Change the type of "total_sectors" to
28296 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 28297 "read_hook".
524a1e6a 28298 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
28299 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
28300 (grub_disk_write): Likewise.
28301 All callers and references changed.
28302
28303 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
28304 char * for grub_strncmp to silence gcc.
28305 (grub_iso9660_mount): Likewise.
28306 (grub_iso9660_mount): Likewise.
28307 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
28308 return statement.
28309 (grub_iso9660_iterate_dir): Likewise.
28310 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
28311
28312 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
28313 LEN to grub_disk_addr_t and grub_size_t, respectively.
28314
28315 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
28316
28317 * fs/jfs.c (grub_jfs_read_file): Likewise.
28318
28319 * fs/minix.c (grub_jfs_read_file): Likewise.
28320
28321 * fs/sfs.c (grub_jfs_read_file): Likewise.
28322
28323 * fs/ufs.c (grub_jfs_read_file): Likewise.
28324
28325 * fs/xfs.c (grub_jfs_read_file): Likewise.
28326
28327 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
28328 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
28329 respectively.
28330
28331 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
28332 BLKNR to -1 instead of returning GRUB_ERRNO.
28333 (grub_ext2_read_file): Change the types of SECTOR and
28334 LEN to grub_disk_addr_t and grub_size_t, respectively.
28335
28336 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
28337 LEN to grub_disk_addr_t and grub_size_t, respectively.
28338
28339 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
28340 grub_file_read.
28341
28342 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
28343 string. Do not cast SECTOR explicitly.
28344
28345 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
28346 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
28347 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
28348 grub_disk_addr_t and grub_size_t, respectively. If the sector is
28349 over 2TB and LBA mode is not supported, raise an error.
28350 (get_safe_sectors): New function.
28351 (grub_biosdisk_read): Use get_safe_sectors.
28352 (grub_biosdisk_write): Likewise.
28353
28354 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
28355 (grub_efidisk_write): Likewise.
28356
28357 * disk/loopback.c (delete_loopback): Cosmetic changes.
28358 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
28359 correctly.
28360 (grub_loopback_open): Likewise.
28361 (grub_loopback_read): Likewise. Also, change the type of POS to
28362 grub_off_t, and fix the usage of grub_memset.
28363
28364 * commands/i386/pc/play.c: Include grub/machine/time.h.
28365
28366 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
28367 print FILE->SIZE.
28368
28369 * commands/configfile.c: Include grub/env.h.
28370
28371 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
28372 GRUB_ERRNO directly instead. Change the type of POS to
28373 grub_off_t. Follow the coding standard.
28374
28375 * commands/blocklist.c: Include grub/partition.h.
28376 (grub_cmd_blocklist): Return an error if the underlying device is
28377 not a disk. Take the starting sector of a partition into account,
28378 if a partition is used.
28379
28380 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
28381 a length field.
28382 (lba_mode): Support 64-bit addresses.
28383 (chs_mode): Likewise.
28384 (copy_buffer): Adapted to the new offsets of a length field and a
28385 segment field.
28386 (blocklist_default_start): Allocate 64-bit space.
28387
28388 * boot/i386/pc/boot.S (force_lba): Removed.
28389 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 28390 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 28391 space.
28392 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
28393 is useless.
28394 (lba_mode): Refactored to support a 64-bit address. More size
28395 optimization.
28396 (setup_sectors): Likewise.
28397
53af98ad 283982006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28399
28400 * DISTLIST: Added include/grub/i386/linux.h. Removed
28401 include/grub/i386/pc/linux.h
28402
28403 * configure.ac (AC_INIT): Bumped to 1.94.
28404
28405 * config.guess: Updated from gnulib.
28406 * config.sub: Likewise.
28407 * install-sh: Likewise.
28408 * mkinstalldirs: Likewise.
28409
b4c1940a 284102006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28411
28412 * conf/common.rmk (grub_modules_init.lst): Depended on
28413 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
28414 MODSRCFILES.
28415
28416 * genmk.rb (PModule::rule): Reverted the previous change.
28417
cfca1cfd 284182006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28419
28420 * conf/common.rmk (grub_modules_init.lst): Depends on
28421 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
28422 that the target does not exist before producing.
28423 (grub_modules_init.h): Remove the target before generating.
28424 (grub_emu_init.c): Likewise.
28425
28426 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
28427
aa6d7826 284282006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
28429
28430 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
28431 for the target-specific tests. Make sure that we also have the
28432 up-to-date target variables for those tests.
28433
26c607b9 284342006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28435
28436 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
28437 (PModule::rule): Likewise.
28438
0162321a 284392006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28440
28441 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
28442 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
28443 target-specific flags should be prefixed.
28444 (PModule::rule): Likewise.
28445
6c826348 284462006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
28447
28448 * configure.ac (CMP): Check if cmp is available explicitly.
28449
b977bf01 284502006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
28451
28452 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
28453 (target_cpu): New variable.
28454 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 28455
b977bf01 28456 * util/i386/pc/grub-install.in (host_cpu): Removed.
28457 (target_cpu): New variable.
28458 (pkglibdir): Use target_cpu instead of host_cpu.
28459
28460 * util/genmoddep.c: Removed.
f19dbdb7 28461
b977bf01 28462 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
28463 instead of GRUB_HOST_SIZEOF_VOID_P.
28464 * kern/dl.c: Likewise.
28465
28466 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
28467 ...
28468 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28469 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28470 (GRUB_TARGET_SIZEOF_LONG): ... this.
28471 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28472 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28473 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28474 to ...
28475 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28476 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28477 (GRUB_TARGET_SIZEOF_LONG): ... this.
28478 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28479 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28480 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28481 to ...
28482 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28483 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28484 (GRUB_TARGET_SIZEOF_LONG): ... this.
28485 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28486 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28487
28488 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
28489 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
28490 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
28491 instead of GRUB_HOST_SIZEOF_LONG.
28492 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
28493 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
28494 GRUB_CPU_WORDS_BIGENDIAN.
28495 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
28496 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
28497 grub_host_ssize_t.
28498
28499 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
28500 (genmoddep_SOURCES): Likewise.
28501 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
28502 (genmoddep_SOURCES): Likewise.
28503 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
28504 (genmoddep_SOURCES): Likewise.
28505 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
28506 Likewise.
28507 (genmoddep_SOURCES): Likewise.
28508
28509 * genmoddep.awk: New file.
28510
28511 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
28512 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
28513 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
28514 (PModule::rule): Likewise.
28515 (Program::rule): Likewise.
28516 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
28517 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
28518 respectively.
28519
28520 * configure.ac: Rewritten intensively to use host and target
28521 instead of build and host, respectively.
28522
28523 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
28524 (host_cpu): Removed.
28525 (target_cpu): New variable.
28526 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
28527 (BUILD_CC): Removed.
28528 (BUILD_CFLAGS): Likewise.
28529 (BUILD_CPPFLAGS): Likewise.
28530 (TARGET_CC): New variable.
28531 (TARGET_CFLAGS): Likewise.
28532 (TARGET_CPPFLAGS): Likewise.
28533 (TARGET_LDFLAGS): Likewise.
28534 (AWK): Likewise.
28535 (include): Use target_cpu instead of host_cpu.
28536 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 28537
b977bf01 28538 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
28539
f09771a1 285402006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
28541
28542 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
28543 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
28544 field 'false' to 'exec_on_false'.
28545 (grub_script_create_cmdif): Renamed argument names to reflect above
28546 changes.
28547
28548 * normal/execute.c (grub_script_execute_cmdif): Likewise.
28549
28550 * normal/script.c (grub_script_create_cmdif): Likewise.
28551
118f4fb3 285522006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
28553
28554 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
28555 top.
28556 (grub_hfsplus_btree_recptr): Likewise.
28557 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
28558 FILEBLOCK both to pass a block number and store next block
28559 number.
28560 (grub_hfsplus_read_block): Rewritten heavily to support an extent
28561 overflow file correctly. Specify errors appropriately, because
28562 fshelp expects that GRUB_ERRNO is set when fails. Reuse
28563 grub_hfsplus_btree_recptr to get the pointer to a found key.
28564 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
28565 is found.
28566
28567 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
28568 linux.mod.
28569 (_linux_mod_SOURCES): New variable.
28570 (_linux_mod_CFLAGS): Likewise.
28571 (_linux_mod_LDFLAGS): Likewise.
28572 (linux_mod_SOURCES): Likewise.
28573 (linux_mod_CFLAGS): Likewise.
28574 (linux_mod_LDFLAGS): Likewise.
28575
28576 * DISTLIST: Added loader/i386/efi/linux.c,
28577 loader/i386/efi/linux_normal.c and
28578 include/grub/i386/efi/loader.h.
28579
28580 * loader/i386/efi/linux.c: New file.
28581 * loader/i386/efi/linux_normal.c: Likewise.
28582 * include/grub/i386/efi/loader.h: Likewise.
28583
89a7d726 285842006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
28585
28586 * commands/blocklist.c: New file.
28587
28588 * DISTLIST: Added commands/blocklist.c.
28589
28590 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 28591 color for the background, and a darker color for the foreground.
89a7d726 28592 (grub_console_checkkey): Return READ_KEY.
28593 (grub_console_cls): Set the background to
28594 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
28595
28596 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
28597
28598 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
28599 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
28600
28601 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
28602 prototype.
28603
28604 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
28605 BG. The spec is wrong again.
28606
28607 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
28608 prototype.
28609 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
28610
28611 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
28612 commands/blocklist.c.
28613 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 28614
89a7d726 28615 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
28616 (blocklist_mod_SOURCES): New variable.
28617 (blocklist_mod_CFLAGS): Likewise.
28618 (blocklist_mod_LDFLAGS): Likewise.
28619
75c8f258 286202006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
28621
28622 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
28623 duplication.
28624 (lba_mode): Use %eax more intensively to reduce the code size.
28625
da2eb181 286262006-05-20 Marco Gerards <marco@gnu.org>
28627
28628 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
28629
28630 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
28631 for `menuentry'.
28632 (script): Accept leading newlines.
28633 (newlines): New rule to describe 0 or more newlines.
28634 (commands): Accept `command' with trailing newline. Fixed the
28635 order in which arguments were passed to `grub_script_add_cmd'.
28636 Accept commands separated by newlines.
28637 (function): Changed to accept newlines.
28638 (menuentry) Rewritten.
28639
28640 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
28641 front of the list, instead of to the end.
28642
577b4050 286432006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
28644
28645 * util/i386/pc/grub-install.in (bindir): New variable.
28646 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
28647 Shaver <lbgwjl@gmail.com>.
28648
0d6e1189 286492006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
28650
28651 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
28652 grub/machine/linux.h
28653 * loader/i386/pc/linux.c: Likewise.
28654
28655 * include/grub/i386/pc/linux.h: Moved to ...
28656 * include/grub/i386/linux.h: ... here.
28657
28658 * include/grub/i386/linux.h (struct linux_kernel_params): New
28659 struct.
f19dbdb7 28660
31b86e9f 286612006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
28662
28663 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
28664 checking.
28665 (grub_video_vbe_blit_glyph): Likewise.
28666 (grub_video_vbe_blit_bitmap): Likewise.
28667 (grub_video_vbe_blit_render_target): Likewise.
28668
83b984de 286692006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
28670
28671 * configure.ac (--with-platform): Properly quote the square
28672 brackets.
28673
5f0413bd 286742006-05-08 Marco Gerards <marco@gnu.org>
28675
28676 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
28677 this...
28678 (kernel_elf_HEADERS): ...to this. Updated all users.
28679 (grubof_symlist.c): Renamed from this...
28680 (kernel_elf_symlist.c): ...to this. Updated all users.
28681 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
28682 (grubof_SOURCES): Renamed from this...
28683 (kernel_elf_SOURCES): ...to this.
28684 (grubof_HEADERS): Renamed from this...
28685 (kernel_elf_HEADERS): ...to this.
28686 (grubof_CFLAGS): Renamed from this...
28687 (kernel_elf_CFLAGS): ...to this.
28688 (grubof_ASFLAGS): Renamed from this...
28689 (kernel_elf_ASFLAGS): ...to this.
28690 (grubof_LDFLAGS): Renamed from this...
28691 (kernel_elf_LDFLAGS): ...to this.
28692
28693 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
28694 this...
28695 (kernel_elf_HEADERS): ...to this. Updated all users.
28696 (grubof_symlist.c): Renamed from this...
28697 (kernel_elf_symlist.c): ...to this. Updated all users.
28698 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
28699 (grubof_SOURCES): Renamed from this...
28700 (kernel_elf_SOURCES): ...to this.
28701 (grubof_HEADERS): Renamed from this...
28702 (kernel_elf_HEADERS): ...to this.
28703 (grubof_CFLAGS): Renamed from this...
28704 (kernel_elf_CFLAGS): ...to this.
28705 (grubof_ASFLAGS): Renamed from this...
28706 (kernel_elf_ASFLAGS): ...to this.
28707 (grubof_LDFLAGS): Renamed from this...
28708 (kernel_elf_LDFLAGS): ...to this.
28709
28710 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
28711 `kernel.elf' instead of `grubof'.
28712
05568c2e 287132006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
28714
28715 Add --with-platform to configure. Use pkglibdir instead of
28716 pkgdatadir. This is reported by Roger Leigh.
28717
28718 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
28719 (host_vendor): Likewise.
28720 (host_os): Likewise.
28721 (pkgdatadir): Likewise.
28722 (platform): New variable.
28723 (pkglibdir): Likewise.
28724 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 28725
05568c2e 28726 * util/i386/pc/grub-install.in (datadir): Removed.
28727 (host_vendor): Likewise.
28728 (host_os): Likewise.
28729 (pkgdatadir): Likewise.
28730 (platform): New variable.
28731 (pkglibdir): Likewise.
28732 Use PKGLIBDIR instead of PKGDATADIR.
28733
28734 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
28735 instead of GRUB_DATADIR.
28736 (main): Likewise.
28737 * util/i386/pc/grub-mkimage.c (usage): Likewise.
28738 (main): Likewise.
28739 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28740 (main): Likewise.
28741
28742 * configure.ac (--with-platform): New option.
28743 Use PLATFORM instead of HOST_VENDOR to specify a platform.
28744
28745 * Makefile.in: Include a makefile based on PLATFORM instead of
28746 HOST_VENDOR.
28747 (pkgdatadir): Not appended by the machine type.
28748 (pkglibdir): Appended by the machine type.
28749 (host_vendor): Removed.
28750 (platform): New variable.
28751 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
28752 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
28753 (uninstall): Likewise.
28754
4e93851c 287552006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
28756
28757 Use the environment context in the menu. Remove the commands
28758 "default" and "timeout", and use variables instead.
f19dbdb7 28759
4e93851c 28760 * normal/menu.c: Include grub/env.h.
28761 (print_entry): Cast TITLE to silence gcc.
28762 (get_timeout): New function.
28763 (set_timeout): Likewise.
28764 (get_entry_number): Likewise.
28765 (run_menu): Use a default entry, a fallback entry and a timeout
28766 in the environment variables "default", "fallback" and
28767 "timeout". Also, tweak the default entry if it is not within the
28768 current menu entries.
28769 (grub_menu_run): Use a fallback entry in the environment variable
28770 "fallback".
28771
28772 * normal/main.c (read_config_file): Do not initialize
28773 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
28774 NEWMENU->TIMEOUT.
28775 (grub_normal_execute): Use a data slot to store the menu.
28776
28777 * include/grub/normal.h (struct grub_menu): Removed default_entry,
28778 fallback_entry and timeout.
28779 (struct grub_menu_list): Removed.
28780 (grub_menu_list_t): Likewise.
28781 (struct grub_context): Likewise.
28782 (grub_context_t): Likewise.
28783 (grub_context_get): Likewise.
28784 (grub_context_get_current_menu): Likewise.
28785 (grub_context_push_menu): Likewise.
28786 (grub_context_pop_menu): Likewise.
28787 (grub_default_init): Likewise.
28788 (grub_default_fini): Likewise.
28789 (grub_timeout_init): Likewise.
28790 (grub_timeout_fini): Likewise.
28791
28792 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
28793 and timeout.mod.
28794 (normal_mod_SOURCES): Removed normal/context.c.
28795
28796 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
28797 commands/default.c, commands/timeout.c and normal/context.c.
28798 (normal_mod_SOURCES): Removed normal/context.c.
28799
28800 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
28801 commands/timeout.c and normal/context.c.
28802 (normal_mod_SOURCES): Removed normal/context.c.
28803
28804 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
28805 commands/default.c, commands/timeout.c and normal/context.c.
28806 (normal_mod_SOURCES): Removed normal/context.c.
28807
28808 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
28809 timeout.mod.
28810 (default_mod_SOURCES): Removed.
28811 (default_mod_CFLAGS): Likewise.
28812 (default_mod_LDFLAGS): Likewise.
28813 (timeout_mod_SOURCES): Removed.
28814 (timeout_mod_CFLAGS): Likewise.
28815 (timeout_mod_LDFLAGS): Likewise.
28816
28817 * DISTLIST: Removed commands/default.c, commands/timeout.c and
28818 normal/context.c.
28819
28820 * commands/default.c: Removed.
28821 * commands/timeout.c: Likewise.
28822 * normal/context.c: Likewise.
28823
1eb9cc1d 288242006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
28825
28826 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
28827
385bd9c1 288282006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
28829
28830 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
28831 "next" to "prev" for readability.
28832 (struct grub_env_sorted_var): New struct.
28833 (grub_env_context): Renamed to ...
28834 (initial_context): ... this.
28835 (grub_env_var_context): Renamed to ...
28836 (current_context): ... this.
28837 (grub_env_find): Look only at CURRENT_CONTEXT.
28838 (grub_env_context_open): Rewritten to copy exported variables from
28839 previous context.
28840 (grub_env_context_close): Rewritten according to the new
28841 scheme. Also, add an assertion to prevent the initial context from
28842 removed.
28843 (grub_env_insert): Removed the code for the sorted list.
28844 (grub_env_remove): Likewise.
28845 (grub_env_export): Simply mark the variable with
28846 GRUB_ENV_VAR_GLOBAL.
28847 (grub_env_set): A cosmetic change for naming consistency.
28848 (grub_env_get): Likewise.
28849 (grub_env_unset): Likewise.
28850 (grub_env_iterate): Rewritten to sort variables within this
28851 function.
28852 (grub_register_variable_hook): Fixed for naming consistency. Call
28853 grub_env_find again, only if NAME is not found at the first time.
28854 (mangle_data_slot_name): New function.
28855 (grub_env_set_data_slot): Likewise.
28856 (grub_env_get_data_slot): Likewise.
28857 (grub_env_unset_data_slot): Likewise.
28858
28859 * include/grub/env.h (grub_env_var_type): New enum.
28860 (GRUB_ENV_VAR_LOCAL): New constant.
28861 (GRUB_ENV_VAR_GLOBAL): Likewise.
28862 (GRUB_ENV_VAR_DATA): Likewise.
28863 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
28864 "type".
28865 (grub_env_set): Replace VAR with NAME for consistency.
28866 (grub_register_variable_hook): Likewise.
28867 (grub_env_export): Specify the name of the argument.
28868 (grub_env_set_data_slot): New prototype.
28869 (grub_env_get_data_slot): Likewise.
28870 (grub_env_unset_data_slot): Likewise.
28871
7f362539 288722006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28873
28874 Extend the loader so that GRUB can accept a loader which comes
28875 back to GRUB when a loaded image exits. Also, this change adds
28876 support for a chainloader on EFI.
f19dbdb7 28877
7f362539 28878 * term/efi/console.c: Include grub/misc.h.
28879 (grub_console_checkkey): Display a scan code on the top for
28880 debugging. This will be removed once the EFI port gets stable.
28881 Correct the scan code mapping.
28882
28883 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
28884 allocate memory from larger regions, in order to reduce the number
28885 of allocated regions. Otherwise, the MacOSX loader panics.
28886 (filter_memory_map): Avoid less than 1MB for compatibility with
28887 other loaders.
28888 (add_memory_regions): Allocate from the tail of a region, if
28889 possible, to avoid allocating a region near to 1MB, for the MacOSX
28890 loader.
28891
28892 * kern/efi/init.c (grub_efi_set_prefix): Specify
28893 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
28894
28895 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
28896 argument IMAGE_HANDLE and specify it to get a loaded image.
28897 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
28898 grub_efi_get_loaded_image.
fe6b695a 28899 (grub_efi_get_filename): Divide the length by the size of
7f362539 28900 grub_efi_char16_t.
28901 (grub_efi_get_device_path): New function.
28902 (grub_efi_print_device_path): Print End Device Path nodes. Divide
28903 the length by the size of grub_efi_char16_t for a file path device
28904 path node.
28905
28906 * kern/loader.c (grub_loader_noreturn): New variable.
28907 (grub_loader_set): Accept a new argument NORETURN. Set
28908 GRUB_LOADER_NORETURN to NORETURN.
28909 All callers changed.
28910 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
28911 grub_machine_fini.
28912
28913 * include/grub/efi/efi.h (grub_efi_get_device_path): New
28914 prototype.
28915 (grub_efi_get_loaded_image): Take an argument to specify an image
28916 handle.
28917
28918 * include/grub/loader.h (grub_loader_set): Added one more argument
28919 NORETURN.
28920
28921 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
28922 instead of grub_efi_open_protocol.
28923 (grub_efidisk_get_device_name): Likewise.
28924 (grub_efidisk_close): Print a newline.
28925 (grub_efidisk_get_device_handle): Fixed to use
28926 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
28927 GRUB_EFI_DEVICE_PATH_TYPE.
28928
28929 * disk/efi/efidisk.c (device_path_guid): Moved to ...
28930 * kern/efi/efi.c (device_path_guid): ... here.
28931
28932 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
28933 chain.mod.
28934 (kernel_mod_HEADERS): Added efi/disk.h.
28935 (_chain_mod_SOURCES): New variable.
28936 (_chain_mod_CFLAGS): Likewise.
28937 (_chain_mod_LDFLAGS): Likewise.
28938 (chain_mod_SOURCES): Likewise.
28939 (chain_mod_CFLAGS): Likewise.
28940 (chain_mod_LDFLAGS): Likewise.
28941
28942 * DISTLIST: Added include/grub/efi/chainloader.h,
28943 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
28944
28945 * include/grub/efi/chainloader.h: New file.
28946 * loader/efi/chainloader.c: Likewise.
28947 * loader/efi/chainloader_normal.c: Likewise.
28948
c0111d6e 289492006-04-30 Marco Gerards <marco@gnu.org>
28950
28951 * commands/configfile.c (grub_cmd_source): New function.
28952 (GRUB_MOD_INIT): Register the commands `source' and `.'.
28953 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
28954
df5341da 289552006-04-30 Marco Gerards <marco@gnu.org>
28956
28957 * normal/execute.c (grub_script_execute_cmd): Change the return
28958 type to `grub_err_t'. Correctly return the error.
28959 (grub_script_execute_cmdline): In case a command line is not a
28960 command or a function, try to interpret it as an assignment.
28961
f85934bd 289622006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28963
28964 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
28965 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
28966 skip a node whose name is obviously invalid as UTF-16,
28967 i.e. contains a NUL character. Stop the iteration when the last
28968 directory entry is found. Instead of using the return value of
28969 grub_hfsplus_btree_iterate_node, store the value in RET and use
28970 it, because the iterator can be stopped by the last directory
28971 entry.
28972
8f8a2cf8 289732006-04-30 Marco Gerards <marco@gnu.org>
28974
28975 * include/grub/env.h (grub_env_export): New prototype. Reported
28976 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
28977
a27e84ce 289782006-04-30 Marco Gerards <marco@gnu.org>
28979
28980 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
28981 size of the extents in a catalog file record.
28982
eaef0553 289832006-04-29 Marco Gerards <marco@gnu.org>
28984
28985 * commands/configfile.c (grub_cmd_configfile): Execute the
28986 configfile within its own context.
28987
28988 * include/grub/env.h (grub_env_context_open): New prototype.
28989 (grub_env_context_close): Likewise.
28990
28991 * kern/env.c (grub_env): Removed.
28992 (grub_env_sorted): Likewise.
28993 (grub_env_context): New variable.
28994 (grub_env_var_context): Likewise.
28995 (grub_env_find): Search both the active context and the global
28996 context.
28997 (grub_env_context_open): New function.
28998 (grub_env_context_close): Likewise.
28999 (grub_env_insert): Likewise.
29000 (grub_env_remove): Likewise.
29001 (grub_env_export): Likewise.
29002 (grub_env_set): Changed to use helper functions to avoid code
29003 duplication.
29004 (grub_env_iterate): Rewritten so both the current context and the
29005 global context are being used.
29006
29007 * normal/command.c (export_command): New function.
29008 (grub_command_init): Register the `export' function.
29009
7b455f4d 290102006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
29011
29012 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
29013 explicitly to suppress gcc's warnings.
29014 * fs/fat.c (grub_fat_find_dir): Likewise.
29015 (grub_fat_label): Likewise.
29016 * fs/xfs.c (grub_xfs_read_inode): Likewise.
29017 (grub_xfs_mount): Likewise.
29018 (grub_xfs_label): Likewise.
29019 * fs/affs.c (grub_affs_mount): Likewise.
29020 (grub_affs_label): Likewise.
29021 (grub_affs_iterate_dir): Likewise.
29022 * fs/sfs.c (grub_sfs_mount): Likewise.
29023 (grub_sfs_iterate_dir): Likewise.
29024 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
29025 * fs/hfs.c (grub_hfs_mount): Likewise.
29026 (grub_hfs_cmp_catkeys): Likewise.
29027 (grub_hfs_find_dir): Likewise.
29028 (grub_hfs_dir): Likewise.
29029 (grub_hfs_label): Likewise.
29030 * fs/jfs.c (grub_jfs_mount): Likewise.
29031 (grub_jfs_opendir): Likewise.
29032 (grub_jfs_getent): Likewise.
29033 (grub_jfs_lookup_symlink): Likewise.
29034 (grub_jfs_label): Likewise.
29035 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
29036 (grub_hfsplus_iterate_dir): Likewise.
29037 (grub_hfsplus_btree_iterate_node): Made static.
29038
29039 * util/grub-emu.c (prefix): New variable.
29040 (grub_machine_set_prefix): New function.
29041 (main): Do not set the environment variable "prefix" here. Only
29042 set PREFIX, which is used later by grub_machine_set_prefix.
29043
29044 * include/grub/video.h: Do not include grub/symbol.h.
29045 (grub_video_register): Not exported. This symbol is not defined in
29046 the kernel.
29047 (grub_video_unregister): Likewise.
29048 (grub_video_iterate): Likewise.
29049 (grub_video_setup): Likewise.
29050 (grub_video_restore): Likewise.
29051 (grub_video_get_info): Likewise.
29052 (grub_video_get_blit_format): Likewise.
29053 (grub_video_set_palette): Likewise.
29054 (grub_video_get_palette): Likewise.
29055 (grub_video_set_viewport): Likewise.
29056 (grub_video_get_viewport): Likewise.
29057 (grub_video_map_color): Likewise.
29058 (grub_video_map_rgb): Likewise.
29059 (grub_video_map_rgba): Likewise.
29060 (grub_video_fill_rect): Likewise.
29061 (grub_video_blit_glyph): Likewise.
29062 (grub_video_blit_bitmap): Likewise.
29063 (grub_video_blit_render_target): Likewise.
29064 (grub_video_scroll): Likewise.
29065 (grub_video_swap_buffers): Likewise.
29066 (grub_video_create_render_target): Likewise.
29067 (grub_video_delete_render_target): Likewise.
29068 (grub_video_set_active_render_target): Likewise.
29069
29070 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
29071 Undefined.
29072 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
29073
29074 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
29075 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29076 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29077 instead of $(srcdir)/genkernsyms.sh.
29078
29079 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
29080 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29081 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29082 instead of $(srcdir)/genkernsyms.sh.
29083
29084 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
29085 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29086 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29087 instead of $(srcdir)/genkernsyms.sh.
29088
29089 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
29090 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29091 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29092 instead of $(srcdir)/genkernsyms.sh.
29093
29094 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
29095 genkernsyms.sh.
29096
29097 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
29098 genkernsyms.sh.
29099 (gensymlist.sh): New target.
29100 (genkernsyms.sh): Likewise.
29101
29102 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
29103 genkernsyms.sh.in and gensymlist.sh.in.
29104
29105 * genkernsyms.sh: Removed.
29106 * gensymlist.sh: Likewise.
f19dbdb7 29107
7b455f4d 29108 * genkernsyms.sh.in: New file.
29109 * gensymlist.sh.in: Likewise.
29110
1885bb27 291112006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29112
29113 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
29114 clobber "prefix", since we may have already set it manually.
29115
71538dff 291162006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29117
29118 * kern/misc.c (abort): New alias for grub_abort.
29119
2965c7cc 291202006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
29121
29122 A new machine-specific function "grub_machine_set_prefix" is
29123 defined. This is called after loading modules, so that a prefix
29124 initialization can use modules. Also, this change adds an
29125 intensive debugging feature for the memory manager via the
29126 configure option "--enable-mm-debug".
f19dbdb7 29127
2965c7cc 29128 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
29129 PART.LEN.
29130
29131 * kern/sparc64/ieee1275/init.c (abort): Removed.
29132 (grub_stop): Likewise.
29133 (grub_exit): New function.
29134 (grub_set_prefix): Renamed to ...
29135 (grub_machine_set_prefix): ... this.
29136 (grub_machine_init): Do not call grub_set_prefix.
29137
29138 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
29139 (grub_machine_set_prefix): ... this.
29140 (grub_machine_init): Do not call grub_set_prefix.
29141
29142 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
29143 (grub_machine_init): Do not set the prefix here.
29144
29145 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
29146
29147 * kern/efi/init.c: Include grub/mm.h.
29148 (grub_efi_set_prefix): New function.
29149
29150 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
29151 (grub_efi_get_filename): New function.
29152 (grub_print_device_path): Renamed to ...
29153 (grub_efi_print_device_path): ... this.
29154
29155 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
29156 [MM_DEBUG] (grub_realloc): Likewise.
29157 [MM_DEBUG] (grub_free): Likewise.
29158 [MM_DEBUG] (grub_memalign): Likewise.
29159 [MM_DEBUG] (grub_mm_debug): New variable.
29160 [MM_DEBUG] (grub_debug_malloc): New function.
29161 [MM_DEBUG] (grub_debug_free): New function.
29162 [MM_DEBUG] (grub_debug_realloc): New function.
29163 [MM_DEBUG] (grub_debug_memalign): New function.
29164
29165 * kern/misc.c (grub_abort): Print a newline to distinguish
29166 the message.
29167
29168 * kern/main.c (grub_main): Call grub_machine_set_prefix and
29169 grub_set_root_dev after loading modules. This is necessary when
29170 setting a prefix depends on modules.
29171
29172 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
29173 (grub_efi_print_device_path): ... this.
29174 (grub_efi_get_filename): New prototype.
29175 (grub_efi_set_prefix): Likewise.
29176
29177 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
29178 and grub/disk.h.
29179 (grub_efidisk_get_device_handle): New prototype.
29180 (grub_efidisk_get_device_name): Likewise.
29181
29182 * include/grub/mm.h: Include config.h.
29183 (MM_DEBUG): Removed.
29184 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
29185 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
29186 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
29187 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
29188 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
29189 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
29190 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
29191 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
29192 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
29193
29194 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
29195
29196 * disk/efi/efidisk.c: Include grub/partition.h.
29197 (iterate_child_devices): New function.
29198 (add_device): First, compare only last device path nodes, so that
29199 devices are sorted by the types.
29200 (grub_efidisk_get_device_handle): New function.
29201 (grub_efidisk_get_device_name): Likewise.
29202
29203 * configure.ac (--enable-mm-debug): New option to enable the
29204 memory manager debugging feature. This makes the binary much
29205 bigger, so is disabled by default.
29206
9cacaa17 292072006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
29208
29209 Use grub_abort instead of grub_stop, and grub_exit must be
29210 define in each architecture now. Also, this change adds support
29211 for EFI disks.
f19dbdb7 29212
9cacaa17 29213 * util/i386/pc/grub-probefs.c: Include grub/term.h.
29214 (grub_getkey): New function.
29215 (grub_term_get_current): Likewise.
29216
29217 * util/i386/pc/grub-setup.c: Include grub/term.h.
29218 (grub_getkey): New function.
29219 (grub_term_get_current): Likewise.
29220
29221 * util/misc.c (grub_stop): Renamed to ...
29222 (grub_exit): ... this.
29223
29224 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
29225 (grub_exit): ... this.
29226 (grub_machine_init): Use grub_abort instead of abort.
29227 (grub_stop): Removed.
29228
29229 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
29230 abort.
29231
29232 * kern/i386/pc/startup.S (grub_exit): New function.
29233 (cold_reboot): New label.
29234
29235 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
29236 (grub_efi_init): Call grub_efidisk_init.
29237 (grub_efi_fini): Call grub_efidisk_fini.
29238
29239 * kern/efi/efi.c: Include grub/mm.h.
29240 (grub_efi_console_control_guid): Renamed to ...
29241 (console_control_guid): ... this.
29242 (grub_efi_loaded_image_guid): Renamed to ...
29243 (loaded_image_guid): ... this.
29244 (grub_efi_locate_handle): New function.
29245 (grub_efi_open_protocol): Likewise.
29246 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
29247 GRUB_EFI_CONSOLE_CONTROL_GUID.
29248 (grub_efi_exit): Removed.
29249 (grub_stop): Likewise.
29250 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
29251 (grub_exit): New function.
29252 (grub_print_device_path): Likewise.
29253
29254 * kern/rescue.c (grub_rescue_cmd_exit): New function.
29255 (grub_enter_rescue_mode): Register "exit".
29256
29257 * kern/misc.c (grub_real_dprintf): A cosmetic change.
29258 (grub_abort): New function.
29259
29260 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
29261
29262 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
29263
29264 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
29265
29266 * include/grub/efi/efi.h (grub_efi_exit): Removed.
29267 (grub_print_device_path): New prototype.
29268 (grub_efi_locate_handle): Likewise.
29269 (grub_efi_open_protocol): Likewise.
29270
29271 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
29272 * disk/efi/efidisk.c: Likewise.
29273
29274 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
29275
29276 * include/grub/efi/console_control.h
29277 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
29278
29279 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
29280 last 8 bytes as an array.
29281 (GRUB_EFI_DISK_IO_GUID): New macro.
29282 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
29283 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
29284 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
29285 grub_uint8_t.
29286 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
29287 (struct grub_efi_device_path): Rename the member "sub_type" to
29288 "subtype".
29289 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
29290 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
29291 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
29292 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
29293 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
29294 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
29295 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
29296 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
29297 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
29298 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
29299 (struct grub_efi_pci_device_path): New structure.
29300 (grub_efi_pci_device_path_t): New type.
29301 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
29302 (struct grub_efi_pccard_device_path): New structure.
29303 (grub_efi_pccard_device_path_t): New type.
29304 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
29305 (struct grub_efi_memory_mapped_device_path): New structure.
29306 (grub_efi_memory_mapped_device_path_t): New type.
29307 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
29308 (struct grub_efi_vendor_device_path): New structure.
29309 (grub_efi_vendor_device_path_t): New type.
29310 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
29311 (struct grub_efi_controller_device_path): New structure.
29312 (grub_efi_controller_device_path_t): New type.
29313 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
29314 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
29315 (struct grub_efi_acpi_device_path): New structure.
29316 (grub_efi_acpi_device_path_t): New type.
29317 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
29318 (struct grub_efi_expanded_acpi_device_path): New structure.
29319 (grub_efi_expanded_acpi_device_path_t): New type.
29320 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
29321 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
29322 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
29323 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
29324 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
29325 (struct grub_efi_atapi_device_path): New structure.
29326 (grub_efi_atapi_device_path_t): New type.
29327 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
29328 (struct grub_efi_fibre_channel_device_path): New structure.
29329 (grub_efi_fibre_channel_device_path_t): New type.
29330 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
29331 (struct grub_efi_1394_device_path): New structure.
29332 (grub_efi_1394_device_path_t): New type.
29333 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
29334 (struct grub_efi_usb_device_path): New structure.
29335 (grub_efi_usb_device_path_t): New type.
29336 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
29337 (struct grub_efi_usb_class_device_path): New structure.
29338 (grub_efi_usb_class_device_path_t): New type.
29339 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
29340 (struct grub_efi_i2o_device_path): New structure.
29341 (grub_efi_i2o_device_path_t): New type.
29342 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
29343 (struct grub_efi_mac_address_device_path): New structure.
29344 (grub_efi_mac_address_device_path_t): New type.
29345 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
29346 (struct grub_efi_ipv4_device_path): New structure.
29347 (grub_efi_ipv4_device_path_t): New type.
29348 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
29349 (struct grub_efi_ipv6_device_path): New structure.
29350 (grub_efi_ipv6_device_path_t): New type.
29351 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
29352 (struct grub_efi_infiniband_device_path): New structure.
29353 (grub_efi_infiniband_device_path_t): New type.
29354 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
29355 (struct grub_efi_uart_device_path): New structure.
29356 (grub_efi_uart_device_path_t): New type.
29357 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
29358 (struct grub_efi_vendor_messaging_device_path): New structure.
29359 (grub_efi_vendor_messaging_device_path_t): New type.
29360 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
29361 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
29362 (struct grub_efi_hard_drive_device_path): New structure.
29363 (grub_efi_hard_drive_device_path_t): New type.
29364 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
29365 (struct grub_efi_cdrom_device_path): New structure.
29366 (grub_efi_cdrom_device_path_t): New type.
29367 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
29368 (struct grub_efi_vendor_media_device_path): New structure.
29369 (grub_efi_vendor_media_device_path_t): New type.
29370 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
29371 (struct grub_efi_file_path_device_path): New structure.
29372 (grub_efi_file_path_device_path_t): New type.
29373 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
29374 (struct grub_efi_protocol_device_path): New structure.
29375 (grub_efi_protocol_device_path_t): New type.
29376 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
29377 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
29378 (struct grub_efi_bios_device_path): New structure.
29379 (grub_efi_bios_device_path_t): New type.
29380 (struct grub_efi_disk_io): New structure.
29381 (grub_efi_disk_io_t): New type.
29382 (struct grub_efi_block_io_media): New structure.
29383 (grub_efi_block_io_media_t): New type.
29384 (struct grub_efi_block_io): New structure.
29385 (grub_efi_block_io_t): New type.
29386
29387 * include/grub/misc.h (grub_stop): Removed.
29388 (grub_exit): New prototype.
29389 (grub_abort): Likewise.
29390
29391 * include/grub/disk.h (enum grub_disk_dev_id): Added
29392 GRUB_DISK_DEVICE_EFIDISK_ID.
29393
29394 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
29395 disk/efi/efidisk.c.
29396 (kernel_syms.lst): Remove the target if an error occurs.
29397
49986a9f 293982006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
29399
29400 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
29401 as it was simply too buggy.
29402
970d3b8a 294032006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
29404
29405 * kern/misc.c (grub_lltoa): New function.
29406 (grub_vsprintf): Added support for the long long suffix,
29407 i.e. "ll".
29408
ff04ec24 294092006-04-20 Hollis Blanchard <hollis@penguinppc.org>
29410
29411 * Makefile.in (LDFLAGS): Add variable.
29412 (LD): Remove variable.
29413 * configure.ac: Add -m32 to LDFLAGS.
29414 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
29415 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
29416 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
29417 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
29418 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
29419 variables.
29420 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
29421 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
29422 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
29423
37e5e1a4 294242006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
29425
29426 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
29427 length for unknown glyph.
29428
c352d8dd 294292006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
29430
2eab1c0d 29431 Add support for pre-loaded modules into the EFI port.
f19dbdb7 29432
2eab1c0d 29433 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
29434 completely. Accept one more argument DIR. The caller has changed.
29435
29436 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
29437
29438 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
29439 (grub_efi_loaded_image_guid): New variable.
29440 (grub_efi_get_loaded_image): New function.
29441 (grub_arch_modules_addr): Likewise.
29442
29443 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
29444 prototype.
29445
29446 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
29447 (struct grub_efi_loaded_image): New structure.
29448 (grub_efi_loaded_image_t): New type.
29449
294502006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 29451
c352d8dd 29452 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
29453 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
29454 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
29455
6d01d6b4 294562006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
29457
29458 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
29459
976a4ea0 294602006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
29461
29462 * DISTLIST: Added include/grub/efi/console.h,
29463 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
29464 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
29465
29466 * include/grub/efi/console.h: New file.
29467 * include/grub/efi/time.h: Likewise.
29468 * include/grub/i386/efi/kernel.h: Likewise.
29469 * kern/efi/init.c: Likewise.
29470 * kern/efi/mm.c: Likewise.
29471 * term/efi/console.c: Likewise.
f19dbdb7 29472
976a4ea0 29473 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
29474 (grub_stop): Removed.
29475 (grub_get_rtc): Likewise.
29476 (grub_machine_init): Simply call grub_efi_init.
29477 (grub_machine_fini): Call grub_efi_fini.
29478
29479 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
29480 (grub_efi_output_string): Removed.
29481 (grub_efi_stall): New function.
29482 (grub_stop): Likewise.
29483 (grub_get_rtc): Likewise.
29484
29485 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
29486 (grub_efi_stall): New prototype.
29487 (grub_efi_allocate_pages): Likewise.
29488 (grub_efi_free_pages): Likewise.
29489 (grub_efi_get_memory_map): Likewise.
29490 (grub_efi_mm_init): Likewise.
29491 (grub_efi_mm_fini): Likewise.
29492 (grub_efi_init): Likewise.
29493 (grub_efi_fini): Likewise.
29494
29495 * include/grub/i386/efi/time.h: Do not include
29496 grub/symbol.h. Include grub/efi/time.h.
29497 (GRUB_TICKS_PER_SECOND): Removed.
29498 (grub_get_rtc): Likewise.
29499
29500 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
29501 Added padding. The EFI spec is buggy.
29502 (GRUB_EFI_BLACK): New macro.
29503 (GRUB_EFI_BLUE): Likewise.
29504 (GRUB_EFI_GREEN): Likewise.
29505 (GRUB_EFI_CYAN): Likewise.
29506 (GRUB_EFI_RED): Likewise.
29507 (GRUB_EFI_MAGENTA): Likewise.
29508 (GRUB_EFI_BROWN): Likewise.
29509 (GRUB_EFI_LIGHTGRAY): Likewise.
29510 (GRUB_EFI_BRIGHT): Likewise.
29511 (GRUB_EFI_DARKGRAY): Likewise.
29512 (GRUB_EFI_LIGHTBLUE): Likewise.
29513 (GRUB_EFI_LIGHTGREEN): Likewise.
29514 (GRUB_EFI_LIGHTCYAN): Likewise.
29515 (GRUB_EFI_LIGHTRED): Likewise.
29516 (GRUB_EFI_LIGHTMAGENTA): Likewise.
29517 (GRUB_EFI_YELLOW): Likewise.
29518 (GRUB_EFI_WHITE): Likewise.
29519 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
29520 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
29521 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
29522 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
29523 (GRUB_EFI_BACKGROUND_RED): Likewise.
29524 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
29525 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
29526 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
29527 (GRUB_EFI_TEXT_ATTR): Likewise.
29528
29529 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
29530 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
29531 (kernel_mod_HEADERS): Added efi/time.h.
29532
83709125 295332006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
29534
29535 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
29536 include/grub/efi/api.h, include/grub/efi/console_control.h,
29537 include/grub/efi/efi.h, include/grub/efi/pe32.h,
29538 include/grub/i386/efi/time.h, kern/efi/efi.c,
29539 kern/i386/efi/init.c, kern/i386/efi/startup.S,
29540 and util/i386/efi/grub-mkimage.c.
29541
29542 * Makefile.in (RMKFILES): Added i386-efi.rmk.
29543
29544 * genmk.rb (PModule#rule): Do not export symbols if
29545 #{prefix}_EXPORTS is set to "no".
29546
29547 * conf/i386-efi.mk: New file.
29548 * conf/i386-efi.rmk: Likewise.
29549 * include/grub/efi/api.h: Likewise.
29550 * include/grub/efi/console_control.h: Likewise.
29551 * include/grub/efi/efi.h: Likewise.
29552 * include/grub/efi/pe32.h: Likewise.
29553 * include/grub/i386/efi/time.h: Likewise.
29554 * kern/efi/efi.c: Likewise.
29555 * kern/i386/efi/init.c: Likewise.
29556 * kern/i386/efi/startup.S: Likewise.
29557 * util/i386/efi/grub-mkimage.c: Likewise.
29558
295592006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 29560
29561 * include/grub/script.h: Include <grub/parser.h> and
29562 "grub_script.tab.h".
29563 (struct grub_lexer_param): New struct.
29564 (struct grub_parser_param): Likewise.
29565 (grub_script_create_arglist): Pass the state in an argument.
29566 (grub_script_add_arglist): Likewise.
29567 (grub_script_create_cmdline): Likewise.
29568 (grub_script_create_cmdblock): Likewise.
29569 (grub_script_create_cmdif): Likewise.
29570 (grub_script_create_cmdmenu): Likewise.
29571 (grub_script_add_cmd): Likewise.
29572 (grub_script_arg_add): Likewise.
29573 (grub_script_lexer_ref): Likewise.
29574 (grub_script_lexer_deref): Likewise.
29575 (grub_script_lexer_record_start): Likewise.
29576 (grub_script_lexer_record_stop): Likewise.
29577 (grub_script_mem_record): Likewise.
29578 (grub_script_mem_record_stop): Likewise.
29579 (grub_script_malloc): Likewise.
29580 (grub_script_yylex): Likewise.
29581 (grub_script_yyparse): Likewise.
29582 (grub_script_yyerror): Likewise.
29583 (grub_script_yylex): Likewise.
29584 (grub_script_lexer_init): Return the state.
29585
29586 * normal/lexer.c (grub_script_lexer_state): Removed variable.
29587 (grub_script_lexer_done): Likewise.
29588 (grub_script_lexer_getline): Likewise.
29589 (grub_script_lexer_refs): Likewise.
29590 (script): Likewise.
29591 (newscript): Likewise.
29592 (record): Likewise.
29593 (recording): Likewise.
29594 (recordpos): Likewise.
29595 (recordlen): Likewise.
29596 (grub_script_lexer_init): Return the state instead of setting
29597 global variables.
29598 (grub_script_lexer_ref): Use the newly added argument for state
29599 instead of globals.
29600 (grub_script_lexer_deref): Likewise.
29601 (grub_script_lexer_record_start): Likewise.
29602 (grub_script_lexer_record_stop): Likewise.
29603 (recordchar): Likewise.
29604 (nextchar): Likewise.
29605 (grub_script_yylex2): Likewise.
29606 (grub_script_yylex): Likewise.
29607 (grub_script_yyerror): Likewise.
29608
29609 * normal/parser.y (func_mem): Removed variable.
29610 (menu_entry): Likewise.
29611 (err): Likewise.
29612 (%lex-param): New parser option.
29613 (%parse-param): Likewise.
29614 (script): Always return the AST.
29615 (argument): Pass the state around.
29616 (arguments): Likewise.
29617 (grubcmd): Likewise.
29618 (commands): Likewise.
29619 (function): Likewise.
29620 (menuentry): Likewise.
29621 (if_statement): Likewise.
29622 (if): Likewise.
29623
29624 * normal/script.c (grub_script_memused): Removed variable.
29625 (grub_script_parsed): Likewise.
29626 (grub_script_malloc): Added a state argument. Use that instead of
29627 global variables.
29628 (grub_script_mem_record): Likewise.
29629 (grub_script_mem_record_stop): Likewise.
29630 (grub_script_arg_add): Likewise.
29631 (grub_script_add_arglist): Likewise.
29632 (grub_script_create_cmdline): Likewise.
29633 (grub_script_create_cmdif): Likewise.
29634 (grub_script_create_cmdmenu): Likewise.
29635 (grub_script_add_cmd): Likewise.
29636 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 29637
e2a8c904 296382006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 29639
29640 * normal/command.c (grub_command_init): Remove the title command.
29641
29642 * normal/lexer.c (grub_script_yylex): Renamed from this...
29643 (grub_script_yylex2): ... to this.
29644 (grub_script_yylex): New function. Temporary
29645 introduced to filter some tokens.
29646 (grub_script_yyerror): Print a newline.
29647
29648 * normal/main.c (read_config_file): Output information about the
29649 lines that contain errors. Wait for a key after all lines have
29650 been processed. Don't return an empty menu.
29651
29652 * normal/parser.y (func_mem): Don't initialize.
29653 (menu_entry): Likewise.
29654 (err): New variable.
29655 (script): Don't return anything when an error was encountered.
29656 (ws, returns): Removed rules.
29657 (argument): Disabled concatenated variable support.
29658 (arguments): Remove explicit separators.
29659 (grubcmd): Likewise.
29660 (function): Likewise.
29661 (menuentry): Likewise.
29662 (if): Likewise.
29663 (commands): Likewise. Add error handling.
29664
29665 * normal/script.c (grub_script_create_cmdline): If
29666 `grub_script_parsed' is 0, assume the parser encountered an error.
29667
c9a86192 296682006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
29669
29670 * configure.ac: Add support for EFI. Fix the typo
29671 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
29672
70f3b243 296732006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
29674
29675 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
29676 foreign multibyte characters should be shown correctly.
29677
65f201ad 296782006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
29679
29680 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
29681 calculation.
29682 (read_config_file): Made it to close file before returning.
29683
b4b93674 296842006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
29685
29686 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
29687 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
29688 video/i386/pc/vbefill.c.
29689
29690 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
29691 video/i386/pc/vbefill.c.
29692
29693 * include/grub/video.h (grub_video_blit_format): New enum.
29694 (grub_video_mode_info): Added new member blit_format.
29695 (grub_video_get_blit_format): New function prototype.
29696
29697 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
29698 function prototype.
29699 (grub_video_vbe_map_rgb): Likewise.
29700 (grub_video_vbe_unmap_color): Likewise.
29701
29702 * include/grub/i386/pc/vbeblit.h: New file.
29703
29704 * include/grub/i386/pc/vbefill.h: New file.
29705
29706 * video/video.c (grub_video_get_blit_format): New function.
29707 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
29708 (grub_video_vbe_map_rgb): Likewise.
29709 (grub_video_vbe_unmap_color): Likewise.
29710
29711 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
29712 optimized fills.
29713 (grub_video_vbe_blit_render_target): Changed to use more optimized
29714 blits.
29715 (grub_video_vbe_setup): Added detection for optimized settings.
29716 (grub_video_vbe_create_render_target): Likewise.
29717
29718 * video/i386/pc/vbeblit.c: New file.
29719
29720 * video/i386/pc/vbefill.c: New file.
29721
c2379b9c 297222006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
29723
29724 * font/manager.c (grub_font_get_glyph): Removed font fixup from
29725 here...
29726
29727 * util/unifont2pff.rb: ... and moved it to here. Improved argument
29728 parsing to support both hex and dec ranges. If filename was missing
29729 show usage information.
29730
bd0d7896 297312006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
29732
29733 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
29734 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
29735
29736 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
29737 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
29738 (video_mod_SOURCES): Added.
29739 (video_mod_CFLAGS): Likewise.
29740 (video_mod_LDFLAGS): Likewise.
29741 (gfxterm_mod_SOURCES): Likewise.
29742 (gfxterm_mod_CFLAGS): Likewise.
29743 (gfxterm_mod_LDFLAGS): Likewise.
29744 (videotest_mod_SOURCES): Likewise.
29745 (videotest_mod_CFLAGS): Likewise.
29746 (videotest_mod_LDFLAGS): Likewise.
29747 (vesafb_mod_SOURCES): Removed.
29748 (vesafb_mod_CFLAGS): Likewise.
29749 (vesafb_mod_LDFLAGS): Likewise.
29750 (vga_mod_SOURCES): Likewise.
29751 (vga_mod_CFLAGS): Likewise.
29752 (vga_mod_LDFLAGS): Likewise.
29753
29754 * commands/videotest.c: New file.
29755
29756 * font/manager.c (fill_with_default_glyph): Modified to use
29757 grub_font_glyph.
29758 (grub_font_get_glyph): Likewise.
29759 (fontmanager): Renamed from this...
29760 (font_manager): ... to this.
29761
29762 * include/grub/font.h (grub_font_glyph): Added new structure.
29763 (grub_font_get_glyph): Modified to use grub_font_glyph.
29764
29765 * include/grub/misc.h (grub_abs): Added as inline function.
29766
29767 * include/grub/video.h: New file.
29768
29769 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
29770 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
29771 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
29772 (grub_vbe_get_controller_info): Renamed from this...
29773 (grub_vbe_bios_get_controller_info): ... to this.
29774 (grub_vbe_get_mode_info): Renamed from this...
29775 (grub_vbe_bios_get_mode_info): ... to this.
29776 (grub_vbe_set_mode): Renamed from this...
29777 (grub_vbe_bios_set_mode): ... to this.
29778 (grub_vbe_get_mode): Renamed from this...
29779 (grub_vbe_bios_get_mode): ... to this.
29780 (grub_vbe_set_memory_window): Renamed from this...
29781 (grub_vbe_bios_set_memory_window): ... to this.
29782 (grub_vbe_get_memory_window): Renamed from this...
29783 (grub_vbe_bios_get_memory_window): ... to this.
29784 (grub_vbe_set_scanline_length): Renamed from this...
29785 (grub_vbe_set_scanline_length): ... to this.
29786 (grub_vbe_get_scanline_length): Renamed from this...
29787 (grub_vbe_bios_get_scanline_length): ... to this.
29788 (grub_vbe_set_display_start): Renamed from this...
29789 (grub_vbe_bios_set_display_start): ... to this.
29790 (grub_vbe_get_display_start): Renamed from this...
29791 (grub_vbe_bios_get_display_start): ... to this.
29792 (grub_vbe_set_palette_data): Renamed from this...
29793 (grub_vbe_bios_set_palette_data): ... to this.
29794 (grub_vbe_set_pixel_rgb): Removed.
29795 (grub_vbe_set_pixel_index): Likewise.
29796
29797 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
29798 from this...
29799 (grub_vbe_bios_get_controller_info): ... to this.
29800 (grub_vbe_get_mode_info): Renamed from this...
29801 (grub_vbe_bios_get_mode_info): ... to this.
29802 (grub_vbe_set_mode): Renamed from this...
29803 (grub_vbe_bios_set_mode): ... to this.
29804 (grub_vbe_get_mode): Renamed from this...
29805 (grub_vbe_bios_get_mode): ... to this.
29806 (grub_vbe_set_memory_window): Renamed from this...
29807 (grub_vbe_bios_set_memory_window): ... to this.
29808 (grub_vbe_get_memory_window): Renamed from this...
29809 (grub_vbe_bios_get_memory_window): ... to this.
29810 (grub_vbe_set_scanline_length): Renamed from this...
29811 (grub_vbe_set_scanline_length): ... to this.
29812 (grub_vbe_get_scanline_length): Renamed from this...
29813 (grub_vbe_bios_get_scanline_length): ... to this.
29814 (grub_vbe_set_display_start): Renamed from this...
29815 (grub_vbe_bios_set_display_start): ... to this.
29816 (grub_vbe_get_display_start): Renamed from this...
29817 (grub_vbe_bios_get_display_start): ... to this.
29818 (grub_vbe_set_palette_data): Renamed from this...
29819 (grub_vbe_bios_set_palette_data): ... to this.
29820 (grub_vbe_bios_get_controller_info): Fixed problem with registers
29821 getting corrupted after calling it. Added more pushes and pops.
29822 (grub_vbe_bios_set_mode): Likewise.
29823 (grub_vbe_bios_get_mode): Likewise.
29824 (grub_vbe_bios_get_memory_window): Likewise.
29825 (grub_vbe_bios_set_scanline_length): Likewise.
29826 (grub_vbe_bios_get_scanline_length): Likewise.
29827 (grub_vbe_bios_get_display_start): Likewise.
29828 (grub_vbe_bios_set_palette_data): Likewise.
29829
29830 * normal/cmdline.c (cl_set_pos): Refresh the screen.
29831 (cl_insert): Likewise.
29832 (cl_delete): Likewise.
29833
29834 * term/gfxterm.c: New file.
29835
29836 * term/i386/pc/vesafb.c: Removed file.
29837
29838 * video/video.c: New file.
29839
29840 * video/i386/pc/vbe.c (real2pm): Added new function.
29841 (grub_video_vbe_draw_pixel): Likewise.
29842 (grub_video_vbe_get_video_ptr): Likewise.
29843 (grub_video_vbe_get_pixel): Likewise
29844 (grub_video_vbe_init): Likewise.
29845 (grub_video_vbe_fini): Likewise.
29846 (grub_video_vbe_setup): Likewise.
29847 (grub_video_vbe_get_info): Likewise.
29848 (grub_video_vbe_set_palette): Likewise.
29849 (grub_video_vbe_get_palette): Likewise.
29850 (grub_video_vbe_set_viewport): Likewise.
29851 (grub_video_vbe_get_viewport): Likewise.
29852 (grub_video_vbe_map_color): Likewise.
29853 (grub_video_vbe_map_rgb): Likewise.
29854 (grub_video_vbe_map_rgba): Likewise.
29855 (grub_video_vbe_unmap_color): Likewise.
29856 (grub_video_vbe_fill_rect): Likewise.
29857 (grub_video_vbe_blit_glyph): Likewise.
29858 (grub_video_vbe_blit_bitmap): Likewise.
29859 (grub_video_vbe_blit_render_target): Likewise.
29860 (grub_video_vbe_scroll): Likewise.
29861 (grub_video_vbe_swap_buffers): Likewise.
29862 (grub_video_vbe_create_render_target): Likewise.
29863 (grub_video_vbe_delete_render_target): Likewise.
29864 (grub_video_vbe_set_active_render_target): Likewise.
29865 (grub_vbe_set_pixel_rgb): Remove function.
29866 (grub_vbe_set_pixel_index): Likewise.
29867 (index_color_mode): Remove static variable.
29868 (active_mode): Likewise.
29869 (framebuffer): Likewise.
29870 (bytes_per_scan_line): Likewise.
29871 (grub_video_vbe_adapter): Added new static variable.
29872 (framebuffer): Likewise.
29873 (render_target): Likewise.
29874 (initial_mode): Likewise.
29875 (mode_in_use): Likewise.
29876 (mode_list): Likewise.
29877
5f97350b 298782006-03-10 Marco Gerards <marco@gnu.org>
29879
29880 * configure.ac (AC_INIT): Bumped to 1.93.
29881
29882 * DISTLIST: Added `include/grub/hfs.h'.
29883
a3c5c6f8 298842006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
29885
29886 * boot/i386/pc/boot.S (general_error): Before looping, try INT
29887 18H, which might help the BIOS falling back to next boot media.
29888
6de53d26 298892006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
29890
29891 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
29892 Poe Chen <poe.poechen@gmail.com>.
29893
77c4a393 298942006-01-17 Marco Gerards <marco@gnu.org>
29895
29896 * include/grub/normal.h: Include <grub/script.h>.
29897 (grub_command_list): Removed struct.
29898 (grub_command_list_t): Removed type.
29899 (grub_menu_entry): Remove members `num' and `command_list'. Add
29900 members `commands' and `sourcecode'.
29901 * include/grub/script.h: Add inclusion guards.
29902 (grub_script_cmd_menuentry): New struct.
29903 (grub_script_execute_menuentry): New prototype.
29904 (grub_script_lexer_record_start): Likewise.
29905 (grub_script_lexer_record_stop): Likewise.
29906 * normal/execute.c (grub_script_execute_menuentry): New function.
29907 * normal/lexer.c (record, recording, recordpos, recordlen): New
29908 variables.
29909 (grub_script_lexer_record_start): New function.
29910 (grub_script_lexer_record_stop): Likewise.
29911 (recordchar): Likewise.
29912 (nextchar): Likewise.
29913 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
29914 2048 as the buffer size. Add the tokens `menuentry' and `@'.
29915 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
29916 (current_menu): New variable.
29917 (free_menu): Mainly rewritten.
29918 (grub_normal_menu_addentry): New function.
29919 (read_config_file): Rewritten.
29920 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 29921 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 29922 the menu entry.
29923 (run): Mainly rewritten.
29924 * normal/parser.y (menu_entry): New variable.
29925 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
29926 (menuentry): New rule.
29927 (command): Add `menuentry'.
29928 (if_statement): Allow additional returns before `fi'.
29929 * normal/script.c (grub_script_create_cmdmenu): New function.
29930
144f1f98 299312006-01-03 Marco Gerards <marco@gnu.org>
29932
29933 * INSTALL: GNU Bison is required.
29934 * configure.ac: Rewritten the test to detect Bison.
29935 * Makefile.in (YACC): New variable. Reported by Xun Sun
29936 <xun.sun.cn@gmail.com>.
29937
af4b2d89 299382006-01-03 Marco Gerards <marco@gnu.org>
29939
29940 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
29941 the HFS+ filesystem to filesystem blocks.
29942 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
29943 GCC warning is silenced.
29944
15643b71 299452006-01-03 Marco Gerards <marco@gnu.org>
29946
29947 * partmap/apple.c (apple_partition_map_iterate): Convert the data
29948 read from disk from big endian to host byte order.
29949
00905879 299502006-01-03 Hollis Blanchard <hollis@penguinppc.org>
29951
29952 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
29953 documentation.
29954 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
29955 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
29956 embedded HFS+ filesystem.
29957 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
29958 (grub_hfs_sblock): Move from here...
29959 * include/grub/hfs.h: To here... New file.
29960 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
29961 documentation.
29962 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
29963 New macros.
29964 (grub_hfsplus_volheader): Change type of member `magic' to
29965 `grub_uint16_t'.
29966 (grub_hfsplus_data): Add new member `embedded_offset'.
29967 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
29968 returned block.
29969 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
29970 Calculate the offset.
29971
8899bc3e 299722005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29973
29974 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
29975 Removed.
29976 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
29977
ae8c0277 299782005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29979
29980 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
29981 ENV->NAME is NULL after allocating ENV->VALUE.
29982
07084456 299832005-12-25 Marco Gerards <marco@gnu.org>
29984
29985 * kern/env.c (grub_env_set): Rewritten the error handling code.
29986
4750f5f1 299872005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29988
29989 * geninit.sh: Made more robust, and more portable.
29990
50214199 299912005-12-25 Marco Gerards <marco@gnu.org>
29992
29993 Add support for Apple HFS+ filesystems.
f19dbdb7 29994
50214199 29995 * fs/hfsplus.c: New file.
29996
29997 * DISTLIST: Added `fs/hfsplus.c'.
29998
29999 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
30000 (hfsplus_mod_SOURCES): New variable.
30001 (hfsplus_mod_CFLAGS): Likewise.
30002 (hfsplus_mod_LDFLAGS): Likewise.
30003 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
30004 (grub_setup_SOURCES): Likewise.
30005 (grub_mkdevicemap_SOURCES): Likewise.
30006 (grub_emu_SOURCES): Likewise.
30007 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30008
30009 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
30010
30011 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
30012
befaed6c 300132005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30014
30015 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
30016 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
30017 include/grub/parser.h, include/grub/script.h, kern/parser.c,
30018 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
30019 normal/lexer.c, normal/parser.y, normal/script.c, and
30020 partmap/gpt.c.
30021 Removed kern/sparc64/cache.c.
30022
30023 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
30024 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
30025 grub_emu_init.c.
30026
30027 * configure.ac (AC_INIT): Bumped to 1.92.
30028
6a124103 300292005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
30030
30031 * kern/err.c (grub_error_push): Added new function to support error
30032 stacks.
30033 (grub_error_pop): Likewise.
30034 (grub_error_stack_items): New local variable to support error stacks.
30035 (grub_error_stack_pos): Likewise.
30036 (grub_error_stack_assert): Likewise.
30037 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
30038 stack depth.
30039 (grub_print_error): Added support to print errors from error stack.
30040
30041 * include/grub/err.h (grub_error_push): Added function prototype.
30042 (grub_error_pop): Likewise.
30043
be973c1b 300442005-12-09 Hollis Blanchard <hollis@penguinppc.org>
30045
30046 * configure.ac: Accept `powerpc64' as host_cpu.
30047 (amd64): Rename to `biarch32'.
30048
30049 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
30050 non-cacheline-aligned addresses.
30051
30052 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
30053 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
30054 if `size' is non-zero.
30055
b04216ab 300562005-12-03 Marco Gerards <mgerards@xs4all.nl>
30057
30058 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
30059 and `cd' to make sure the filename is not prefixed with a
30060 directory name.
30061 (pkgdata_MODULES): Add `gpt.mod'.
30062 (gpt_mod_SOURCES): New variable.
30063 (gpt_mod_CFLAGS): Likewise.
30064 (gpt_mod_LDFLAGS): Likewise.
30065
30066 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
30067
30068 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
30069 New macro.
30070
30071 * partmap/gpt.c: New file.
30072
30073 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
30074 GPT partition map is detected.
30075
41730ed9 300762005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
30077
30078 * commands/i386/pc/play.c: New file.
30079 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
30080 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
30081 macros.
f19dbdb7 30082
95dc3643 300832005-11-27 Marco Gerards <mgerards@xs4all.nl>
30084
30085 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
30086 ((unused))' to silence gcc warning.
30087
1569ec51 300882005-11-26 Hollis Blanchard <hollis@penguinppc.org>
30089
30090 * configure.ac: Correct `AC_PROG_YACC' test.
30091
9abde152 300922005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30093
30094 * util/powerpc/ieee1275/grub-install.in: Run the mount point
30095 check before installing files.
30096
44b83271 300972005-11-22 Mike Small <smallm@panix.com>
30098
30099 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
30100 number regex so multidigit numbers are recognized correctly.
30101
301022005-11-22 Mike Small <smallm@panix.com>
30103
30104 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
30105 debugging message before attempting to claim memory.
30106 (grub_rescue_cmd_initrd): Add a claim debugging message and try
30107 multiple addresses in case of failure.
30108
9c12956b 301092005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30110
30111 * term/tparm.c (get_space): Remove empty `if' statement.
30112
30113 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
30114
30115 * kern/parser.c (check_varstate): Rename `state' to 's'.
30116
aeaf81d9 301172005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30118
30119 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
30120 variable definitions to the beginning of each function. Sort stack
30121 variables by size.
30122 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
30123 `buf' argument to `char *'.
30124
79bbb63f 301252005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30126
30127 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
30128 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 30129 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 30130 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30131 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30132 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30133 configfile.mod, search.mod, gzio.mod and test.mod.
30134 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30135 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30136 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30137 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30138 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30139 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30140 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30141 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30142 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30143 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30144 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30145 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30146 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30147 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30148 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30149 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30150 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30151 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30152 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30153 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30154 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30155 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30156 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
30157
30158 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
30159 `grep --include'.
30160 (pkgdata_MODULES): Add test.mod.
30161
233b1628 301622005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30163
30164 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
30165 appending to variables with "+=".
30166 (PModule): Use full pathname to generate *.lst filenames.
30167
30168 * Makefile.in: Fixed list rules moved from genmk.rb.
30169 (.DELETE_ON_ERROR): New special target.
30170 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
30171
30172 * conf/i386-pc.rmk: Include conf/common.mk.
30173 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 30174 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 30175 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30176 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30177 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30178 configfile.mod, search.mod, gzio.mod and test.mod.
30179 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30180 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30181 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30182 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30183 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30184 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30185 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30186 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30187 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30188 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30189 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30190 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30191 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30192 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30193 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30194 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30195 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30196 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30197 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30198 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30199 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30200 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30201 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
30202 here...
30203 * conf/common.rmk: ... to here. New file.
30204
30205 * conf/common.mk: New file.
30206
16f820c8 302072005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
30208
30209 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
30210 (grub_script.tab.c): ... here.
30211
30212 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
30213 (grub_script.tab.c): ... here.
30214
30215 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
30216 (grub_script.tab.c): ... here.
30217
30218 * normal/command.c (grub_command_find): Fixed a memory leak of
30219 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
30220
63ba1554 302212005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30222
30223 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
30224 "@" which marks the start of a comment on ARM.
30225 (VARIABLE): Likewise.
30226
7f67dc13 302272005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30228
79bbb63f 30229 Add support for Linux/ADFS partition tables.
7f67dc13 30230
30231 * partmap/acorn.c: New file.
30232
30233 * include/grub/acorn_filecore.h: Likewise.
30234
30235 * DISTLIST: Added `partmap/acorn.c' and
30236 `include/grub/acorn_filecore.h'.
f19dbdb7 30237
7f67dc13 30238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30239 `partmap/acorn.c'.
30240 (pkgdata_MODULES): Add `acorn.mod'.
30241 (acorn_mod_SOURCES): New variable.
30242 (acorn_mod_CFLAGS): Likewise.
30243
30244 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
30245 `partmap/acorn.c'.
30246 (pkgdata_MODULES): Add `acorn.mod'.
30247 (acorn_mod_SOURCES): New variable.
30248 (acorn_mod_CFLAGS): Likewise.
30249
30250 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
30251 (pkgdata_MODULES): Add `acorn.mod'.
30252 (acorn_mod_SOURCES): New variable.
30253 (acorn_mod_CFLAGS): Likewise.
30254 (acorn_mod_LDFLAGS): Likewise.
30255
30256 * include/types.h (grub_disk_addr_t): New typedef.
30257
6d099807 302582005-11-13 Marco Gerards <mgerards@xs4all.nl>
30259
30260 * geninit.sh: New file.
30261
30262 * geninitheader.sh: Likewise.
30263
30264 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
30265 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
30266 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
30267 * commands/configfile.c (grub_configfile_init)
30268 (grub_configfile_fini): Likewise.
30269 * commands/default.c (grub_default_init, grub_default_fini):
30270 Likewise.
30271 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
30272 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
30273 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
30274 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
30275 Likewise.
30276 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
30277 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
30278 Likewise.
30279 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 30280 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 30281 Likewise.
30282 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
30283 Likewise.
fe6b695a 30284 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 30285 Likewise.
30286 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
30287 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
30288 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
30289 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
30290 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
30291 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
30292 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
30293 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
30294 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
30295 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
30296 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
30297 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
30298 * partmap/amiga.c (grub_amiga_partition_map_init)
30299 (grub_amiga_partition_map_fini): Likewise.
30300 * partmap/apple.c (grub_apple_partition_map_init)
30301 (grub_apple_partition_map_fini): Likewise.
30302 * partmap/pc.c (grub_pc_partition_map_init)
30303 (grub_pc_partition_map_fini): Likewise.
30304 * partmap/sun.c (grub_sun_partition_map_init,
30305 grub_sun_partition_map_fini): Likewise.
30306 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
30307 Likewise.
30308
30309 * util/grub-emu.c: Include <grub_modules_init.h>.
30310 (main): Don't initialize and de-initialize any modules directly,
30311 use `grub_init_all' and `grub_fini_all' instead.
30312
30313 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
30314 `grub_vesafb_mod_init'.
30315 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
30316 all users.
30317 * term/i386/pc/vga.c (grub_vga_init): Renamed to
30318 `grub_vga_mod_init'. Updated all users.
30319 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 30320
6d099807 30321 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
30322 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
30323 rules.
30324
30325 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
30326 Generate a function to initialize the module in utilities.
30327 Updated all callers.
30328 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
30329 initialize the module in utilities. Updated all callers.
30330
9046bcf0 303312005-11-09 Hollis Blanchard <hollis@penguinppc.org>
30332
30333 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
30334 escape sequence and a literal ^L to clear the screen.
30335
30336 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
30337 when returning from Open Firmware.
30338
d13ea639 303392005-11-09 Hollis Blanchard <hollis@penguinppc.org>
30340
30341 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
30342 (grub_ofconsole_height): Likewise.
30343 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
30344 manually insert a '\n'.
30345 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
30346 `grub_ofconsole_height'. Return early if these are already set.
30347
a8fcf206 303482005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
30349
30350 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
30351 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
30352 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
30353 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
30354 and `normal/script.c'.
30355 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30356 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30357 (test_mod_SOURCES): New variable.
30358 (test_mod_CFLAGS): Likewise.
30359 (test_mod_LDFLAGS): Likewise.
30360 (pkgdata_MODULES): Add `test.mod'.
30361 (grub_script.tab.c): New rule.
30362 (grub_script.tab.h): Likewise.
30363
b6b32745 303642005-11-07 Marco Gerards <mgerards@xs4all.nl>
30365
30366 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30367 `commands/test.c', `normal/execute.c', `normal/lexer.c',
30368 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30369 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30370 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30371 (test_mod_SOURCES): New variable.
30372 (test_mod_CFLAGS): Likewise.
30373 (pkgdata_MODULES): Add `test.mod'.
30374 (grub_script.tab.c): New rule.
30375 (grub_script.tab.h): Likewise.
30376
daac212a 303772005-11-06 Marco Gerards <mgerards@xs4all.nl>
30378
30379 Add initial scripting support.
30380
30381 * commands/test.c: New file.
30382 * include/grub/script.h: Likewise.
30383 * normal/execute.c: Likewise.
30384 * normal/function.c: Likewise.
30385 * normal/lexer.c: Likewise.
30386 * normal/parser.y: Likewise.
30387 * normal/script.c: Likewise.
30388
30389 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 30390
daac212a 30391 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
30392 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
30393 `normal/function.c' and `normal/script.c'.
30394 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30395 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 30396 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
30397 variables.
daac212a 30398 (pkgdata_MODULES): Add `test.mod'.
30399 (grub_script.tab.c): New rule.
30400 (grub_script.tab.h): Likewise.
30401
30402 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
30403
30404 * include/grub/normal.h (grub_test_init): New prototype.
30405 (grub_test_fini): Likewise.
f19dbdb7 30406
daac212a 30407 * normal/command.c: Include <grub/script.h>.
30408 (grub_command_execute): Rewritten.
f19dbdb7 30409
daac212a 30410 * util/grub-emu.c (main): Call `grub_test_init' and
30411 `grub_test_fini'.
30412
77500b2b 304132005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30414
30415 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
30416 to 0.
30417 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
30418 there are no pending characters.
30419
e45deb9e 304202005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30421
30422 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
30423 `grub_strndup' to drop device arguments. Replace unnecessary
30424 `grub_strndup' with `grub_strdup'.
30425
4ce32619 304262005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30427
30428 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
30429 `debug' environment variable has been set.
30430
304312005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 30432
4ce32619 30433 * Makefile.in (install-local): Use $(DATA).
30434 (uninstall): Likewise.
30435 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
30436 (sbin_UTILITIES): ... to here.
30437 (sbin_SCRIPTS): New variable.
30438 (grub_install_SOURCES): New variable.
30439 * util/powerpc/ieee1275/grub-install.in: New file.
30440 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
30441 variable.
30442 (add_segments): Call `grub_util_get_path'.
30443
25fe6f03 304442005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
30445
30446 From Timothy Baldwin:
30447 * commands/ls.c (grub_ls_list_files): Close FILE with
30448 grub_file_close.
30449 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
30450
04ccf3ec 304512005-10-24 Marco Gerards <mgerards@xs4all.nl>
30452
30453 * include/grub/parser.h: New file.
30454
30455 * kern/parser.c: Likewise.
30456
30457 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
30458 (grub_setup_SOURCES): Likewise.
30459 (grub_probefs_SOURCES): Likewise.
30460 (grub_emu_SOURCES): Likewise.
30461 (kernel_img_HEADERS): Add `parser.h'.
30462
30463 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30464 (grub_emu_SOURCES): Add `kern/parser.c'.
30465 (grubof_SOURCES): Likewise.
30466
30467 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30468 (grubof_SOURCES): Add `kern/parser.c'.
30469
30470 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
30471
30472 * kern/misc.c (grub_split_cmdline): Removed function.
30473
30474 * kern/rescue.c: Include <grub/parser.h>.
30475 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
30476 of `grub_split_cmdline'.
30477
30478 * normal/command.c: Include <grub/parser.h>.
30479 (grub_command_execute): Use `grub_parser_split_cmdline' instead
30480 of `grub_split_cmdline'.
30481
30482 * normal/completion.c: Include <grub/parser.h>.
30483 (cmdline_state): New variable.
30484 (iterate_dir): End the filename with a quote depending on the
30485 command line state.
30486 (get_state): new function.
30487 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
30488 split the arguments and determine the current argument. When the
30489 argument string is not quoted, escape all spaces.
30490
6d8f4b0e 304912005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30492
30493 * normal/sparc64/setjmp.S: New file.
30494
15cf03ed 304952005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30496
30497 * include/grub/sparc64/libgcc.h: New file.
30498 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
30499 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
30500 normal/sparc64/setjmp.c.
30501
03e8661a 305022005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30503
30504 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
30505 * kern/sparc64/cache.S: New file.
30506 * kern/sparc64/cache.c: Removed.
30507 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
30508 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
30509 -mtune=ultrasparc.
30510 (COMMON_LDFLAGS): Add -melf64_sparc.
30511 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
30512 (grubof_SOURCES): Use cache.S instead of cache.c.
30513 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
30514 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
30515 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
30516 commented though.
30517 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
30518 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
30519 (linux_mod_CFLAGS): Commented out.
30520 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
30521 out because module isn't built.
30522 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
30523 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
30524 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
30525 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
30526 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
30527 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
30528 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
30529 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
30530 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
30531 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
30532 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30533 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30534 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
30535 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
30536
34eeec8a 305372005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
30538
30539 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
30540 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
30541 longer, because HFS should not be used on PC.
30542
708367a3 305432005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30544
30545 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
30546 consistently within the loop.
30547
6fa1251a 305482005-10-15 Marco Gerards <mgerards@xs4all.nl>
30549
30550 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
30551 directory can not be read.
30552
4801580b 305532005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30554
30555 * configure.ac (AC_INIT): Increase the version number to 1.91.
30556
30557 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
30558 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
30559 term/i386/pc/serial.c.
30560
219ad426 305612005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30562
30563 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
30564 file size must be permitted.
30565
30566 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
30567 between %ah and %al.
30568
688e5699 305692005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30570
30571 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
30572 grub_uint64_t.
30573 Call the hook with a NUL-terminated filename.
30574 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
30575 grub_cpu_to_be32.
30576
30577 * kern/term.c (cursor_state): New variable.
30578 (grub_term_set_current): Reset the cursor state on a new
30579 terminal.
30580 (grub_setcursor): Rewritten to use CURSOR_STATE.
30581 (grub_getcursor): New function.
30582
30583 * include/grub/term.h (grub_getcursor): New prototype.
30584
30585 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
30586 integers on ARM. Reported by Timothy Baldwin
30587 <T.E.Baldwin99@members.leeds.ac.uk>.
30588
bb34586c 305892005-10-11 Marco Gerards <mgerards@xs4all.nl>
30590
30591 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
30592 allocated.
30593 (grub_sfs_dir): Likewise.
30594
9a909877 305952005-10-09 Marco Gerards <mgerards@xs4all.nl>
30596
30597 Add support for the SFS filesystem.
30598
30599 * fs/sfs.c: New file.
30600
30601 * DISTLIST: Added `fs/sfs.c'.
30602
30603 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
30604 (grub_probefs_SOURCES): Likewise.
30605 (grub_emu_SOURCES): Likewise.
30606 (pkgdata_MODULES): Add `sfs.mod'.
30607 (sfs_mod_SOURCES): New variable.
30608 (sfs_mod_CFLAGS): Likewise.
30609 (sfs_mod_LDFLAGS): Likewise.
30610
30611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
30612 (pkgdata_MODULES): Add `sfs.mod'.
30613 (sfs_mod_SOURCES): New variable.
30614 (sfs_mod_CFLAGS): Likewise.
30615
30616 * util/grub-emu.c (main): Call `grub_sfs_init' and
30617 `grub_sfs_fini'.
30618
30619 * include/grub/fs.h (grub_sfs_init): New prototype.
30620 (grub_sfs_fini): Likewise.
30621
57bdbde3 306222005-10-07 Marco Gerards <mgerards@xs4all.nl>
30623
30624 Add support for the AFFS filesystem.
30625
30626 * fs/affs.c: New file.
30627
30628 * DISTLIST: Added `fs/affs.c'.
30629
30630 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
30631 (grub_probefs_SOURCES): Likewise.
30632 (grub_emu_SOURCES): Likewise.
30633 (pkgdata_MODULES): Add `affs.mod'.
30634 (affs_mod_SOURCES): New variable.
30635 (affs_mod_CFLAGS): Likewise.
30636 (affs_mod_LDFLAGS): Likewise.
30637
30638 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
30639 (pkgdata_MODULES): Add `affs.mod'.
30640 (affs_mod_SOURCES): New variable.
30641 (affs_mod_CFLAGS): Likewise.
30642
30643 * util/grub-emu.c (main): Call `grub_affs_init' and
30644 `grub_affs_fini'.
30645
30646 * include/grub/fs.h (grub_affs_init): New prototype.
30647 (grub_affs_fini): Likewise.
30648
047b67e0 306492005-10-01 Marco Gerards <mgerards@xs4all.nl>
30650
30651 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
30652
59b8208a 306532005-10-01 Marco Gerards <mgerards@xs4all.nl>
30654
30655 * configure.ac: Accept `x86_64' as host_cpu. In that case add
30656 `-m32' to CFLAGS.
30657
30658 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
30659 linking.
f19dbdb7 30660
59b8208a 30661 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
30662 (COMMON_LDFLAGS): New variable.
30663 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
30664 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
30665 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
30666 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
30667 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
30668 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
30669 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
30670 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
30671 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
30672 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
30673 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
30674 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
30675 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
30676 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
30677 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
30678 variables.
30679 (normal_mod_ASFLAGS): Add `-m32'.
30680
30681 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
30682 (grub_host_size_t, grub_host_ssize_t): New types.
30683 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 30684 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 30685 `GRUB_HOST_SIZEOF_VOID_P'.
30686
30687 * include/grub/kernel.h (struct grub_module_header): Type of
30688 member offset changed to `grub_host_off_t'. Type of member size
30689 changed to `grub_host_size_t'.
30690 (struct grub_module_info): Type of member offset changed to
30691 `grub_host_off_t'. Type of member size changed to
30692 `grub_host_size_t'.
30693
b4093103 306942005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
30695
30696 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 30697
b4093103 30698 * kern/i386/pc/startup.S (multiboot_header): New label.
30699 (multiboot_entry): Likewise.
30700 (multiboot_trampoline): Likewise.
30701
30702 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30703 Increased to 0x4A0.
30704
30705 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
30706 put parentheses after a question mark.
30707 [!GRUB_UTIL] (my_mod): New variable.
30708
30709 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
30710
b2499b29 307112005-09-28 Marco Gerards <mgerards@xs4all.nl>
30712
30713 Adds support for the XFS filesystem. Btrees are not supported
30714 yet.
30715
30716 * fs/xfs.c: New file.
30717
30718 * DISTLIST: Added `fs/xfs.c'.
30719
30720 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
30721 (grub_probefs_SOURCES): Likewise.
30722 (grub_emu_SOURCES): Likewise.
30723 (pkgdata_MODULES): Add `xfs.mod'.
30724 (xfs_mod_SOURCES): New variable.
30725 (xfs_mod_CFLAGS): Likewise.
30726
30727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
30728 (pkgdata_MODULES): Add `xfs.mod'.
30729 (xfs_mod_SOURCES): New variable.
30730 (xfs_mod_CFLAGS): Likewise.
30731
30732 * util/grub-emu.c (main): Call `grub_xfs_init' and
30733 `grub_xfs_fini'.
30734
30735 * include/grub/fs.h (grub_xfs_init): New prototype.
30736 (grub_xfs_fini): Likewise.
30737
f19dbdb7 30738
83d37a62 307392005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
30740
30741 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
30742 color modes, allow greater than 16 colors to be configured as
30743 a default palette.
30744
47d2d65e 307452005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30746
30747 * normal/completion.c (complete_arguments): Add the qualifier
30748 const into OPTIONS.
30749
30750 From Omniflux <omniflux+lists@omniflux.com>:
30751 * include/grub/terminfo.h: New file.
30752 * include/grub/tparm.h: Likewise.
30753 * include/grub/i386/pc/serial.h: Likewise.
30754 * term/terminfo.c: Likewise.
30755 * term/tparm.c: Likewise.
30756 * term/i386/pc/serial.c: Likewise.
30757 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
30758 serial.mod.
30759 (terminfo_mod_SOURCES): New variable.
30760 (terminfo_mod_CFLAGS): Likewise.
30761 (serial_mod_SOURCES): Likewise.
30762 (serial_mod_CFLAGS): Likewise.
30763
48b671ff 307642005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
30765
30766 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
30767 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
30768 and kern/powerpc/ieee1275/cmain.c, respectively.
30769
30770 * boot/powerpc/ieee1275/crt0.S: Moved to ...
30771 * kern/powerpc/ieee1275/crt0.S: ... here.
30772
30773 * boot/powerpc/ieee1275/cmain.c: Moved to ...
30774 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 30775
48b671ff 30776 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
30777 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
30778 instead of boot/powerpc/ieee1275/crt0.S and
30779 boot/powerpc/ieee1275/cmain.c, respectively.
30780
30781 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
30782 sectors. It was not used anyway.
30783
09fc77a7 307842005-08-30 Hollis Blanchard <hollis@penguinppc.org>
30785
30786 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
30787 `unused parameter' warning.
30788
003789c7 307892005-08-30 Hollis Blanchard <hollis@penguinppc.org>
30790
30791 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
30792 function.
30793 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
30794 getcharwidth.
30795
67f44c86 307962005-08-28 Marco Gerards <metgerards@student.han.nl>
30797
30798 * include/grub/normal.h (enum grub_completion_type): Added
30799 `GRUB_COMPLETION_TYPE_ARGUMENT'.
30800
30801 * normal/cmdline.c (print_completion): Handle
30802 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
30803 * normal/menu_entry.c (store_completion): Likewise.
30804
30805 * normal/completion.c (complete_arguments): New function.
30806 (grub_normal_do_completion): Call `complete_arguments' when the
30807 current words start with a dash.
30808
0b5abe02 308092005-08-27 Marco Gerards <metgerards@student.han.nl>
30810
30811 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
30812 `gzio.mod' instead of `io.mod').
30813
d9864ee1 308142005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
30815
30816 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
30817 (DISTDIRS): Added io and video.
30818 Rewrite the search routine to make an output consistently.
30819
30820 * DISTLIST: Added conf/sparc64-ieee1275.mk,
30821 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
30822 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
30823 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
30824 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
30825 util/powerpc/ieee1275/misc.c.
f19dbdb7 30826
d9864ee1 30827 * include/grub/gzio.h: New file.
30828 * io/gzio.c: Likewise.
f19dbdb7 30829
d9864ee1 30830 * kern/file.c (grub_file_close): Call grub_device_close only if
30831 FILE->DEVICE is not NULL.
30832
30833 * include/grub/mm.h [!NULL] (NULL): New macro.
30834
30835 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
30836
30837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
30838 (pkgdata_MODULES): Added gzio.mod.
30839 (gzio_mod_SOURCES): New variable.
30840 (gzio_mod_CFLAGS): Likewise.
30841
30842 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
30843 (pkgdata_MODULES): Added gzio.mod.
30844 (gzio_mod_SOURCES): New variable.
30845 (gzio_mod_CFLAGS): Likewise.
30846
30847 * commands/cat.c: Include grub/gzio.h.
30848 (grub_cmd_cat): Use grub_gzfile_open instead of
30849 grub_file_open.
f19dbdb7 30850
d9864ee1 30851 * commands/cmp.c: Include grub/gzio.h.
30852 (grub_cmd_cmp): Use grub_gzfile_open instead of
30853 grub_file_open.
30854
30855 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
30856 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
30857 grub_file_open.
30858 (grub_rescue_cmd_module): Likewise.
30859
fa46f4b5 308602005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30861
30862 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
30863 kern/sparc64/ieee1275/init.c because it contains _start.
30864 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
30865
e9211b5d 308662005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30867
30868 * configure.ac: Add support for sparc64 host with ieee1275
30869 firmware.
30870 * configure: Generated from configure.ac.
30871 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
30872 instead of int.
30873 (grub_ofdisk_read): Likewise.
30874 (grub_ofdisk_open): Use %p to print pointer values, and cast the
30875 pointers as (void *) to remove a warning.
30876 (grub_ofdisk_close): Likewise.
30877 (grub_ofdisk_read): Likewise.
30878 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
30879 returns, so make it return void to remove a warning.
30880 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
30881 Corresponding prototype change.
30882 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
30883 values, and cast the pointers as (void *) to remove a warning.
30884 (grub_mm_dump): Likewise.
30885 * conf/sparc64-ieee1275.mk: New file.
30886 * conf/sparc64-ieee1275.rmk: Likewise.
30887 * include/grub/sparc64/setjmp.h: Likewise.
30888 * include/grub/sparc64/types.h: Likewise.
30889 * include/grub/sparc64/ieee1275/console.h: Likewise.
30890 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30891 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30892 * include/grub/sparc64/ieee1275/time.h: Likewise.
30893 * kern/sparc64/cache.c: Likewise.
30894 * kern/sparc64/dl.c: Likewise.
30895 * kern/sparc64/ieee1275/init.c: Likewise.
30896 * kern/sparc64/ieee1275/openfw.c: Likewise.
30897
385c6a92 308982005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
30899
30900 * util/console.c (grub_ncurses_putchar): If C is greater than
30901 0x7f, set C to a question mark.
30902 (grub_ncurses_getcharwidth): New function.
30903 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
30904 getcharwidth.
30905
30906 * normal/menu.c (print_entry): Made aware of Unicode. First,
30907 convert TITLE to UCS-4, and predict the cursor position by
30908 grub_getcharwidth.
30909
30910 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
30911 const to SRC.
30912 * kern/misc.c (grub_utf16_to_utf8): Likewise.
30913
16ccb8b1 309142005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30915
30916 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
30917 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
30918 grub_strcat.
30919
30920 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
30921 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
30922 grub_strcpy and grub_strlen. Take it into account that a space
30923 character is inserted as a delimiter.
30924
6a85ce79 309252005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30926
30927 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 30928 invalid magic in the error.
6a85ce79 30929
30930 * commands/search.c: New file.
f19dbdb7 30931
6a85ce79 30932 * util/grub-emu.c (main): Call grub_search_init and
30933 grub_search_fini.
30934
30935 * kern/rescue.c (grub_rescue_print_disks): Removed.
30936 (grub_rescue_print_devices): New function.
30937 (grub_rescue_cmd_ls): Use grub_device_iterate with
30938 grub_rescue_print_devices instead of grub_disk_dev_iterate with
30939 grub_rescue_print_disks.
30940
30941 * kern/partition.c (grub_partition_iterate): Return the result of
30942 PARTMAP->ITERATE instead of GRUB_ERRNO.
30943
30944 * kern/device.c: Include grub/partition.h.
30945 (grub_device_iterate): New function.
30946
30947 * include/grub/partition.h (grub_partition_iterate): Return int
30948 instead of grub_err_t.
30949
30950 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
30951 prototype.
30952 [GRUB_UTIL] (grub_search_fini): Likewise.
30953
30954 * include/grub/device.h (grub_device_iterate): New prototype.
30955
30956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30957 commands/search.c.
30958 (pkgdata_MODULES): Added search.mod.
30959 (search_mod_SOURCES): New variable.
30960 (search_mod_CFLAGS): Likewise.
30961
30962 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
30963 (pkgdata_MODULES): Added search.mod.
30964 (search_mod_SOURCES): New variable.
30965 (search_mod_CFLAGS): Likewise.
30966
30967 * commands/ls.c (grub_ls_list_disks): Renamed to ...
30968 (grub_ls_list_devices): ... this, and use grub_device_iterate.
30969 All callers changed.
30970
30971 * DISTLIST: Added commands/search.c.
30972
ef095434 309732005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30974
30975 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
30976 conversion.
30977 (grub_getcharwidth): New function.
30978
30979 * kern/misc.c (grub_utf8_to_ucs4): New function.
30980
30981 * include/grub/term.h (struct grub_term): Added a new member
30982 "getcharwidth".
30983 (grub_getcharwidth): New prototype.
30984
30985 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
30986
30987 * term/i386/pc/console.c (map_char): New function. Segregated from
30988 grub_console_putchar.
30989 (grub_console_putchar): Use map_char.
30990 (grub_console_getcharwidth): New function.
30991 (grub_console_term): Specified grub_console_getcharwidth as
30992 getcharwidth.
30993
30994 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
30995 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
30996
30997 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
30998 GRUB_ERRNO.
30999 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
31000 on grub_strtoul completely.
31001 (write_char): Declare local variables in the beginning of the
31002 function.
31003 (grub_vesafb_getcharwidth): New function.
31004 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
31005 getcharwidth.
31006
1f0a95e4 310072005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
31008
31009 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
31010 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
31011 commands/i386/pc/vbetest.c.
31012
31013 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
31014 call grub_vbe_get_controller_info again, because the returned
31015 information is volatile.
31016 (grub_vbe_set_video_mode): Mostly rewritten.
31017 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
31018 grub_vbe_status_t correctly.
31019 (grub_vbe_get_video_mode_info): Likewise.
31020 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
31021 several if statements.
31022
31023 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
31024 * commands/i386/pc/vbeinfo.c: ... this.
31025
31026 * commands/i386/pc/vbe_test.c: Renamed to ...
31027 * commands/i386/pc/vbetest.c: ... this.
31028
31029 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
31030 ...
31031 (grub_cmd_vbeinfo): ... this. Save video modes before
31032 iterating. Skip a video mode, if it is not available, not enough
31033 information is given or it is monochrome. Show the memory
31034 model. Leave the interpretation of MODEVAR to grub_strtoul
31035 completely.
31036 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
31037 (GRUB_MOD_FINI): Likewise.
31038
31039 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
31040 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
31041 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
31042 duplicated grub_env_get. Leave the interpretation of MODEVAR to
31043 grub_strtoul completely.
31044 (real2pm): Removed.
31045 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
31046 (GRUB_MOD_FINI): Likewise.
31047
31048 * normal/misc.c: Include grub/mm.h.
31049
31050 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
31051 vbe_list_modes with vbetest.mod and vbeinfo.mod.
31052 (vbe_list_modes_mod_SOURCES): Removed.
31053 (vbe_list_modes_mod_CFLAGS): Likewise.
31054 (vbe_test_mod_SOURCES): Likewise.
31055 (vbe_test_mod_CFLAGS): Likewise.
31056 (vbeinfo_mod_SOURCES): New variable.
31057 (vbeinfo_mod_CFLAGS): Likewise.
31058 (vbetest_mod_SOURCES): Likewise.
31059 (vbetest_mod_CFLAGS): Likewise.
31060
992ffbbe 310612005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
31062
31063 * normal/misc.c: New file.
31064
31065 * DISTLIST: Added normal/misc.c.
f19dbdb7 31066
992ffbbe 31067 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
31068 DISK to HOOK. Call HOOK with DISK.
31069 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31070 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31071 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31072
31073 * normal/menu_entry.c (struct screen): Added a new member
31074 "completion_shown".
31075 (completion_buffer): New global variable.
31076 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
31077 (store_completion): New function.
31078 (complete): Likewise.
31079 (clear_completions): Likewise.
31080 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
31081 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
31082 a tab, call complete.
31083
31084 * normal/completion.c (disk_dev): Removed.
31085 (print_simple_completion): Likewise.
31086 (print_partition_completion): Likewise.
31087 (print_func): New global variable.
31088 (add_completion): Do not take the arguments WHAT or PRINT any
31089 longer. Added a new argument TYPE. Instead of printing directly,
31090 call PRINT_FUNC if not NULL.
31091 All callers changed.
31092 (complete_device): Use a local variable DEV instead of
31093 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
31094 (grub_normal_do_completion): Take a new argument HOOK. Do not
31095 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
31096 empty string, return NULL instead.
31097 All callers changed.
31098
31099 * normal/cmdline.c (print_completion): New function.
31100
31101 * kern/partition.c (grub_partition_iterate): Add an argument DISK
31102 to HOOK.
31103 All callers changed.
31104
31105 * kern/disk.c (grub_print_partinfo): Removed.
31106
31107 * include/grub/partition.h (struct grub_partition_map): Add a new
31108 argument DISK into HOOK of ITERATE.
31109 (grub_partition_iterate): Add a new argument DISK to HOOK.
31110
31111 * include/grub/normal.h (enum grub_completion_type): New enum.
31112 (grub_completion_type_t): New type.
31113 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
31114 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
31115 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
31116 (GRUB_COMPLETION_TYPE_FILE): Likewise.
31117 (grub_normal_do_completion): Added a new argument HOOK.
31118 (grub_normal_print_device_info): New prototype.
31119
31120 * include/grub/disk.h (grub_print_partinfo): Removed.
31121
31122 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
31123 (normal_mod_SOURCES): Likewise.
31124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31125 (normal_mod_SOURCES): Likewise.
31126
31127 * commands/ls.c (grub_ls_list_disks): Use
31128 grub_normal_print_device_info instead of grub_print_partinfo. Free
31129 PNAME.
31130 (grub_ls_list_files): Use grub_normal_print_device_info instead of
31131 duplicating the code.
31132
0bd41162 311332005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31134
31135 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 31136 follow GCS more precisely.
31137 * commands/i386/pc/vbe_test.c: Likewise.
31138 * include/grub/i386/pc/vbe.h: Likewise.
31139 * term/i386/pc/vesafb.c: Likewise.
31140 * video/i386/pc/vbe.c: Likewise.
0bd41162 31141
6323696a 311422005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31143
31144 * DISTLIST: Added term/i386/pc/vesafb.c
31145 DISTLIST: Added video/i386/pc/vbe.c
31146 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
31147 DISTLIST: Added commands/i386/pc/vbe_test.c.
31148 * commands/i386/pc/vbe_list_modes.c: New file.
31149 * commands/i386/pc/vbe_test.c: Likewise.
31150 * term/i386/pc/vesafb.c: Likewise.
31151 * video/i386/pc/vbe.c: Likewise.
31152 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
31153 (grub_vbe_probe) Added prototype.
31154 (grub_vbe_set_video_mode) Likewise.
31155 (grub_vbe_get_video_mode) Likewise.
31156 (grub_vbe_get_video_mode_info) Likewise.
31157 (grub_vbe_set_pixel_rgb) Likewise.
31158 (grub_vbe_set_pixel_index) Likewise.
31159 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
31160 (pkgdata_MODULES): Added vesafb.mod.
31161 (pkgdata_MODULES): Added vbe_list_modes.mod.
31162 (pkgdata_MODULES): Added vbe_test.mod.
31163 (vbe_mod_SOURCES): Added.
31164 (vbe_mod_CFLAGS): Likewise.
31165 (vesafb_mod_SOURCES): Likewise.
31166 (vesafb_mod_CFLAGS): Likewise.
31167 (vbe_list_modes_mod_SOURCES): Likewise.
31168 (vbe_list_modes_mod_CFLAGS): Likewise.
31169 (vbe_test_mod_SOURCES): Likewise.
31170 (vbe_test_mod_CFLAGS): Likewise.
31171
0a74e62f 311722005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
31173
0a74e62f 31174 * normal/command.c (grub_command_execute): If INTERACTIVE is
31175 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
31176 CMDLINE. Disable the pager if INTERACTIVE is true.
31177 All callers are changed.
31178
31179 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
31180 before reading a config file.
31181 * normal/main.c (read_config_file): Even if a command is not
31182 found, register it if it is within an entry.
31183
31184 * util/grub-emu.c: Include sys/types.h and unistd.h.
31185 (options): Added --hold.
31186 (struct arguments): Added a new member "hold".
31187 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
31188 missing.
31189 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
31190 cleared by a debugger, if it is not zero.
31191
31192 * include/grub/normal.h (grub_command_execute): Add an argument
31193 INTERACTIVE.
31194
e51f85ae 311952005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
31196
31197 * DISTLIST: Added include/grub/i386/pc/vbe.h.
31198
e9c6f39b 311992005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
31200
31201 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
31202 program with another one, because the old one didn't detect a bug
31203 in gcc-3.4. Always use regparm 2, because the new test is still
31204 not enough for gcc-4.0. Someone must investigate a simple test
31205 case which detects a bug in gcc-4.0.
31206
8de3495c 312072005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
31208
31209 * DISTLIST: Added normal/completion.c.
31210
31211 * normal/completion.c: New file.
f19dbdb7 31212
8de3495c 31213 * term/i386/pc/console.c (grub_console_getwh): New function.
31214 (grub_console_term): Assign grub_console_getwh to getwh.
31215
31216 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
31217 function is defined in normal/completion.c as
31218 grub_normal_do_completion.
31219 (grub_cmdline_get): Use grub_normal_do_completion instead of
31220 grub_tab_complete.
31221
31222 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
31223 returns non-zero, otherwise return 0.
31224 (grub_partition_iterate): First, probe the partition map. Then,
31225 call ITERATE only for this partition map.
31226
31227 * kern/misc.c (grub_strncmp): Rewritten.
31228
31229 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
31230 returns non-zero. Otherwise return 0.
31231
31232 * include/grub/partition.h (grub_partition_map_iterate): Return
31233 int instead of void.
31234
31235 * include/grub/normal.h (grub_normal_do_completion): New prototype.
31236
31237 * include/grub/misc.h (grub_strncmp): Change the type of N to
31238 grub_size_t.
31239
31240 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
31241 of void.
31242
31243 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 31244 unsigned explicitly before comparing it with I.
8de3495c 31245
31246 * kern/main.c (grub_env_write_root): Add the attribute unused into
31247 VAR.
31248
31249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31250 normal/completion.c.
31251 (normal_mod_SOURCES): Likewise.
31252 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31253 (normal_mod_SOURCES): Likewise.
31254
31255 * normal/command.c (grub_iterate_commands): If ITERATE returns
31256 non-zero, return one immediately.
31257
e85e144b 312582005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
31259
31260 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
31261 * kern/i386/pc/startup.S: Updated Global Descriptor table's
31262 descriptions.
31263 (grub_vbe_get_controller_info): New function.
31264 (grub_vbe_get_mode_info): Likewise.
31265 (grub_vbe_set_mode): Likewise.
31266 (grub_vbe_get_mode): Likewise.
31267 (grub_vbe_set_memory_window): Likewise.
31268 (grub_vbe_get_memory_window): Likewise.
31269 (grub_vbe_set_scanline_length): Likewise.
31270 (grub_vbe_get_scanline_length): Likewise.
31271 (grub_vbe_set_display_start): Likewise.
31272 (grub_vbe_get_display_start): Likewise.
31273 (grub_vbe_set_palette_data): Likewise.
31274 * include/grub/i386/pc/vbe.h: New file.
31275
c46153d2 312762005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31277
31278 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
31279 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
31280 * DISTLIST: Likewise.
31281 * kern/ieee1275/of.c: Moved to ...
31282 * kern/ieee1275/ieee1275.c: ... here.
31283
0cb90c45 312842005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31285
31286 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
31287 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
31288 Pass 0 as `end' parameter to grub_strtoul().
31289
a19fb360 312902005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31291
31292 * include/grub/powerpc/ieee1275/console.h: Do not include
31293 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
31294 ifdef.
31295 (grub_console_cur_color): Remove i386-specific prototype.
31296 (grub_console_real_putchar): Likewise.
31297 (grub_console_checkkey): Likewise.
31298 (grub_console_getkey): Likewise.
31299 (grub_console_getxy): Likewise.
31300 (grub_console_gotoxy): Likewise.
31301 (grub_console_cls): Likewise.
31302 (grub_console_setcursor): Likewise.
31303 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
31304 Include <grub/machine/console.h>.
31305 * term/ieee1275/ofconsole.c: Likewise.
31306
4ac9bd04 313072005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
31308
31309 * Makefile.in (LIBLZO): New variable.
31310
31311 * configure.ac: Check for LZO version 2.
31312
31313 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
31314 lzo/lzo1x.h instead of lzo1x.h.
31315
31316 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
31317 of -llzo.
31318
31319 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
31320 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
31321
31322 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
31323 copying the data from PARTITION to P.
31324
f4917dfd 313252005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31326
31327 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
31328 negative, unload the module.
31329
31330 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
31331 map is "pc_partition_map" but not "pc".
31332 (usage): Fix the description. The options are --boot-image and
31333 --core-image but not --boot-file or --core-file.
31334 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
31335 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
31336 DEFAULT_DIRECTORY.
31337
31338 * util/i386/pc/grub-install.in: Do not specify --boot-file or
31339 --core-file. Specify INSTALL_DEVICE as an argument.
31340
31341 * util/console.c: Include config.h.
31342 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
31343 [HAVE_NCURSES_H]: Include ncurses.h.
31344 [HAVE_CURSES_H]: Include curses.h.
31345 [!A_NORMAL] (A_NORMAL): Defined as zero.
31346 [!A_STANDOUT] (A_STANDOUT): Likewise.
31347
31348 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
31349 -lncurses.
31350 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
31351
31352 * configure.ac: Check for curses libraries and headers.
31353
31354 * Makefile.in (LIBCURSES): New variable.
31355
31356 * genmk.rb (Script::rule): Set the executable bits.
31357
31358 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
31359 name of the PC partition map is "pc_partition_map" but not "pc".
31360
0e143073 313612005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31362
31363 * util/i386/pc/grub-install.in (grub_probefs): New variable.
31364 (modules): Likewise.
31365 (usage): Added descriptions for --modules and --grub-probefs.
31366 Handle --modules and --grub-probefs. Save the arguments in MODULES
31367 and GRUB_PROBEFS, respectively.
31368 Auto-detect a filesystem module against GRUBDIR. If the result is
31369 empty and modules are not specified explicitly, abort the
31370 installation. Add the result to MODULES.
31371
31372 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
31373 disk/powerpc/ieee1275/ofdisk.c,
31374 include/grub/powerpc/ieee1275/init.h and
31375 term/powerpc/ieee1275/ofconsole.c.
31376 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
31377 term/ieee1275/ofconsole.c.
31378
31379 * include/grub/powerpc/ieee1275/console.h: Resurrected.
31380
31381 * COPYING: Upgraded to the latest version. Only the address of the
31382 FSF office has changed.
f19dbdb7 31383
efd6e6d5 313842005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31385
31386 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
31387 kern/ieee1275.c with kern/ieee1275/of.c.
31388
31389 * kern/ieee1275.c: Moved to ...
31390 * kern/ieee1275/of.c: ... here.
31391
8ceafda2 313922005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
31393
31394 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 31395 readability.
8ceafda2 31396
31397 * config.guess: Updated to the latest version from gnulib.
31398 * config.sub: Likewise.
31399 * install.sh: Likewise.
31400 * mkinstalldirs: Likewise.
31401
31402 * include/grub/console.h: Removed. This file is arch-specific. Do
31403 not put this in include/grub.
31404
31405 * include/grub/i386/pc/console.h: Resurrected.
31406
31407 * util/console.c: Include grub/machine/console.h instead of
31408 grub/console.h.
31409 * util/grub-emu.c: Likewise.
31410
267f6cd9 314112005-08-04 Marco Gerards <metgerards@student.han.nl>
31412
31413 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
31414 hardcoded value.
f19dbdb7 31415
267f6cd9 31416 From Vincent Pelletier <subdino2004@yahoo.fr>
31417 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
31418 Redefined to use grub_getwh.
31419 (grub_term): New member named getwh.
31420 (grub_getwh): New prototype.
31421 * kern/term.c (grub_getwh): New function.
31422 * term/i386/pc/console.c (grub_console_getwh): New function.
31423 (grub_console_term): New member `getwh'.
31424 * term/i386/pc/vga.c (grub_vga_getwh): New function.
31425 (grub_vga_term): New member `getwh'.
0b5abe02 31426 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 31427 grub_ssize_t.
31428 (grub_ofconsole_getw): New function.
31429 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
31430 (grub_ofconsole_term): New field named getwh and new initial
31431 value.
31432
3be7266d 314332005-08-03 Hollis Blanchard <hollis@penguinppc.org>
31434
31435 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
31436 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
31437 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
31438 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
31439 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
31440 of <grub/machine/ieee1275.h>.
31441 * commands/ieee1275/reboot.c: Likewise.
31442 * boot/powerpc/ieee1275/ieee1275.c: Move ...
31443 * kern/ieee1275.c: ... to here. All users updated. Change all
31444 parameter structs to use new type `grub_ieee1275_cell_t'.
31445 * term/powerpc/ieee1275/ofconsole.c: Move ...
31446 * term/ieee1275/ofconsole.c: ... to here. All users updated.
31447 * disk/powerpc/ieee1275/ofdisk.c: Move ...
31448 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
31449 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
31450 to return int.
31451 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
31452 Remove unused prototypes. All users updated.
31453 * include/grub/powerpc/ieee1275/console.h: Removed.
31454 * include/grub/powerpc/ieee1275/ieee1275.h: Define
31455 `grub_ieee1275_cell_t'.
31456 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
31457 Cast comparisons with -1 to the correct type.
31458 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
31459 type to match `grub_ieee1275_entry_fn'.
31460
8b5f3938 314612005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
31462
31463 * DISTLIST: Added util/i386/pc/grub-probefs.c.
31464
31465 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
31466 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
31467 partmap/sun.c.
31468 (grub_probefs_SOURCES): New variable.
31469
31470 * util/i386/pc/grub-probefs.c: New file.
31471
31472 * util/i386/pc/grub-setup.c (main): Call
31473 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
31474 grub_hfs_init and grub_jfs_init to initialize the system. Call
31475 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
31476 grub_pc_partition_map_fini to finish the system.
31477
ea409713 314782005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
31479
31480 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
31481 function.
31482 (grub_multiboot_load_elf32): Likewise.
31483 (grub_multiboot_is_elf64): Likewise.
31484 (grub_multiboot_load_elf64): Likewise.
31485 (grub_multiboot_load_elf): Likewise.
31486 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
31487 an ELF32 or ELF64 file.
31488 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
31489
31490 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
31491 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
31492 NULL before calling FS->LABEL.
31493 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
31494 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
31495 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
31496 before calling FS->LABEL.
31497
141a288b 314982005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
31499
31500 * util/i386/pc/grub-install.in (datadir): New variable.
31501 (libdir): Removed.
31502 (pkgdatadir): New variable.
31503 (pkglibdir): Removed.
31504
0d5f8a54 315052005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
31506
31507 * DISTLIST: Added util/i386/pc/grub-install.in.
31508
31509 * util/i386/pc/grub-install.in: New file.
31510
31511 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
31512 (grub_install_SOURCES): Likewise.
31513
31514 * genmk.rb: Added support for scripts.
31515 (Script): New class.
31516 (scripts): New variable.
31517
31518 * Makefile.in (install-local): Install sbin_SCRIPTS by
31519 INSTALL_SCRIPT.
31520 (uninstall): Remove sbin_SCRIPTS.
31521
31522 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
31523 device, try to get a GRUB device by
31524 grub_util_biosdisk_get_grub_dev.
31525 Free DEST_DEV.
31526
31527 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
31528 description for --device-map.
31529
5f968e1e 315302005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
31531
31532 Change the semantics of variable hooks. They now return strings
31533 instead of error values.
f19dbdb7 31534
5f968e1e 31535 * util/i386/pc/grub-setup.c: Include grub/env.h.
31536 (setup): Use grub_device_set_root instead of grub_env_set.
31537
31538 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
31539 grub_env_get instead of grub_device_set_root and
31540 grub_device_get_root, respectively.
31541
31542 * kern/main.c (grub_env_write_root): New function.
31543 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
31544 grub_env_set instead of grub_device_set_root.
31545
31546 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
31547 many variables.
31548 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
31549 rather than calling ENV->WRITE_HOOK afterwards.
31550 (grub_env_get): Return the result of ENV->READ_HOOK rather than
31551 passing a pointer of a pointer.
31552 (grub_register_variable_hook): Change the types of "read_hook" and
31553 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
31554 respectively.
31555 Allocate the default empty string on the heap, because this string
31556 may be freed later.
31557
31558 * kern/device.c: Include grub/env.h.
31559 (grub_device_set_root): Removed.
31560 (grub_device_get_root): Likewise.
31561 (grub_device_open): Use grub_env_get instead of
31562 grub_device_get_root.
31563
31564 * include/grub/env.h (grub_env_read_hook_t): New type.
31565 (grub_env_write_hook_t): Likewise.
31566 (grub_env_var): Change the types of "read_hook" and "write_hook"
31567 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
31568 (grub_register_variable_hook): Likewise.
31569
31570 * include/grub/device.h (grub_device_set_root): Removed.
31571 (grub_device_set_root): Likewise.
31572
31573 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
31574 make sure that DIRNAME terminates with '/', so that
31575 grub_fat_find_dir will fail if PATH is not a directory.
31576
31577 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
31578 from DIRNAME.
31579 Use the qualifier auto for print_files and print_files_long.
31580 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
31581 as a regular file.
31582 Put a newline only if there is no error.
31583 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
31584 used.
31585
896f0afd 315862005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
31587
31588 * kern/partition.c (grub_partition_probe): Initialize PART to
31589 NULL. Otherwise, when no partition map is registered, this returns
31590 a garbage.
31591
b28b81b2 315922005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
31593
31594 * partmap/apple.c (apple_partition_map_iterate): Check if POS
31595 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
31596 valid.
31597
5f3607e0 315982005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
31599
31600 * commands/ls.c (grub_ls_list_disks): Print the filesystem
31601 information on each device, if it does not have partitions. Print
31602 "Device" instead of "Disk", because this function is not specific
31603 to disk devices.
31604
31605 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
31606 static to ensure that it is put on the memory rather than a
31607 register.
31608
502c87e8 316092005-07-17 Yoshinori Okuji <okuji@enbug.org>
31610
31611 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
31612 (grub_cat_init): Likewise.
31613 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
31614 (options): Likewise.
31615 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31616 (grub_configfile_init): Likewise.
31617 * font/manager.c (GRUB_MOD_INIT): Likewise.
31618 * commands/help.c (GRUB_MOD_INIT): Likewise.
31619 (grub_help_init): Likewise.
31620 * normal/command.c (grub_command_init): Likewise.
31621 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
31622 * disk/loopback.c (grub_loop_init): Likewise.
31623 (GRUB_MOD_INIT): Likewise.
31624 * commands/ls.c (grub_ls_init): Likewise.
31625 (GRUB_MOD_INIT): Likewise.
31626 (options): Likewise.
31627 * commands/boot.c (grub_boot_init): Likewise.
31628 (GRUB_MOD_INIT): Likewise.
31629 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
31630 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
31631 (GRUB_MOD_INIT): Likewise.
31632 * commands/cmp.c (grub_cmp_init): Likewise.
31633 (GRUB_MOD_INIT): Likewise.
31634
31635 * normal/arg.c: Use <> instead of "" to include header files.
31636 (SHORT_ARG_HELP): New macro.
31637 (SHORT_ARG_USAGE): Likewise.
31638 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
31639 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
31640 descriptions.
31641 (find_short): Check if C is 'h' or 'u' explicitly.
31642 (grub_arg_show_help): Use space characters instead of tabs. Treat
31643 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
31644 are shown with --help and --usage only if they are not used for
31645 the command itself.
31646 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
31647 'h' and 'u'.
31648
31649 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
31650 const into "longarg". Change the type of "shortarg" to int.
31651
f806d18e 316522005-07-17 Yoshinori Okuji <okuji@enbug.org>
31653
31654 * boot/i386/pc/boot.S (boot_drive_check): New label.
31655
31656 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
31657 macro.
31658
31659 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
31660 which do not pass a boot drive correctly. Copied from GRUB Legacy.
31661
e293232b 316622005-07-17 Yoshinori Okuji <okuji@enbug.org>
31663
31664 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
31665 When turning off Gate A20, skip the check and return immediately,
31666 because this is not fatal usually.
31667
ebedfd00 316682005-07-17 Yoshinori Okuji <okuji@enbug.org>
31669
31670 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
31671 be 0x7C00 instead of 0x8000.
31672
31673 * boot/i386/pc/pxeboot.S: Rewritten.
31674
31675 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
31676 EXT_C.
31677 (gate_a20_check_state): Read a byte from 0x108000. Invert the
31678 result.
31679
654fc59f 316802005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
31681
31682 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
31683 robustness. This routine now supports a BIOS call and System
31684 Control Port A to modify the gate A20.
31685
31686 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31687 Increased to 0x440.
31688
09f9923f 316892005-07-12 Hollis Blanchard <hollis@penguinppc.org>
31690
31691 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
31692 device path and resulting ihandle.
31693 (grub_ofdisk_close): dprintf the ihandle being closed.
31694 (grub_ofdisk_read): dprintf function parameters.
31695 * kern/mm.c (grub_mm_init_region): Likewise.
31696 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
31697 (grub_linux_boot): dprintf the Linux entry point, initrd address and
31698 size, and boot arguments.
31699 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
31700 before loading into memory.
31701 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
31702 before loading into memory.
31703
7ef504d8 317042005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
31705
31706 * kern/mm.c: Added much documentation.
31707 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
31708 8, set to 5 instead of 8.
31709
e0f050c2 317102005-07-10 Yoshinori Okuji <okuji@enbug.org>
31711
31712 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
31713
31714 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
31715 (grub_mkdevicemap_SOURCES): New variable.
31716
31717 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
31718 lib/device.c of GRUB Legacy.
31719
7224189a 317202005-07-10 Yoshinori Okuji <okuji@enbug.org>
31721
31722 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
31723 instead of PATH is NULL.
31724
68c864eb 317252005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
31726
31727 * commands/cmp.c (BUFFER_SIZE): New macro.
31728 (grub_cmd_cmp): Close the right file at the right time. Compare
31729 only data just read. Don't report files of different size as
31730 identical. Dynamically allocate buffers. Move variable
31731 declarations at the beginning of function.
31732
e6f3e614 317332005-07-09 Yoshinori Okuji <okuji@enbug.org>
31734
31735 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
31736 reverse.
31737
f8f1559a 317382004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
31739
31740 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
31741 when backspace is pressed at beginning of line.
31742
39c9d41d 317432005-07-03 Yoshinori Okuji <okuji@enbug.org>
31744
31745 * DISTLIST: Added genfslist.sh.
31746
31747 * normal/main.c (fs_module_list): New variable.
31748 (autoload_fs_module): New function.
31749 (read_fs_list): Likewise.
31750 (grub_normal_execute): Call read_fs_list.
31751
31752 * kern/fs.c (grub_fs_autoload_hook): New variable.
31753 (grub_fs_probe): Added support for auto-loading.
31754
31755 * include/grub/normal.h (struct grub_fs_module_list): New struct.
31756 (grub_fs_module_list_t): New type.
31757
31758 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
31759 (grub_fs_autoload_hook): New prototype.
31760
31761 * genfslist.sh: New file.
f19dbdb7 31762
39c9d41d 31763 * genmk.rb: Added a rule to generate a filesystem list.
31764
121c1d83 317652005-06-30 Marco Gerards <metgerards@student.han.nl>
31766
31767 * configure.ac: Fix the test for cross-compiling.
31768
31769 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
31770 define GRUB_UTIL anymore.
31771
31772 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
31773 so this function works on other systems than just big endian.
31774 (load_modules): Likewise.
31775 (add_segments): Likewise.
31776
e75d76e1 317772005-06-23 Hollis Blanchard <hollis@penguinppc.org>
31778
31779 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
31780 contains `l' modifier, get a long from va_arg().
31781
50b5a0a7 317822005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
31783
31784 * kern/mm.c (grub_free): If the next free block which is being
31785 merged is the first free block, set the first block to the block
31786 being freed.
31787 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
31788
89371b20 317892005-05-08 Hollis Blanchard <hollis@penguinppc.org>
31790
31791 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
31792 `grub_ieee1275_chosen'.
31793
168d6e58 317942005-05-08 Hollis Blanchard <hollis@penguinppc.org>
31795
31796 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
31797 (grub_ieee1275_chosen): New variable.
31798 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
31799 `chosen'.
31800 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
31801 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31802 Rename first argument to `phandle' for consistency.
31803 (grub_ieee1275_get_property_length): Likewise.
31804 (grub_ieee1275_next_property): Likewise. Change type of first argument
31805 to grub_ieee1275_phandle_t.
31806 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
31807 Move export next to declaration.
31808 (grub_ieee1275_chosen): New variable.
31809 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
31810 Correct cosmetic typo.
31811 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
31812 `grub_ieee1275_chosen'.
31813 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
31814 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
31815 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
31816 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
31817 `grub_ieee1275_chosen'.
31818
ca5baa3f 318192005-05-10 Hollis Blanchard <hollis@penguinppc.org>
31820
31821 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
31822 /chosen/bootargs.
31823 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
31824 /chosen/bootargs as "variable=value" pairs.
31825
708b345f 318262005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
31827
31828 * include/grub/misc.h (grub_dprintf): New macro.
31829 (grub_real_dprintf): New prototype.
31830 (grub_strword): Likewise.
31831 (grub_iswordseparator): Likewise.
31832 * kern/misc.c (grub_real_dprintf): New function.
31833 (grub_strword): Likewise.
31834 (grub_iswordseparator): Likewise.
31835
f4c5e67c 318362005-04-30 Hollis Blanchard <hollis@penguinppc.org>
31837
31838 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
31839 (roundup): Remove macro.
31840 (grub_ieee1275_flags): Make static.
31841 (grub_ieee1275_realmode): Remove.
31842 (grub_ieee1275_test_flag): New function.
31843 (grub_ieee1275_set_flag): Likewise.
31844 (find_options): Rename to `grub_ieee1275_find_options'; update
31845 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
31846 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
31847 (cmain): New prototype.
31848 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
31849 `grub_ieee1275_flags' directly.
31850 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
31851 machine/biosdisk.h.
31852 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
31853 Don't include grub/machine/init.h.
31854 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
31855 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31856 Remove prototype.
31857 (grub_ieee1275_realmode): Likewise.
31858 (grub_ieee1275_flag): New enum.
31859 (grub_ieee1275_test_flag): New prototype.
31860 (grub_ieee1275_set_flag): New prototype.
31861 * include/grub/powerpc/ieee1275/init.h: Remove file.
31862 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
31863 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
31864 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
31865 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
31866 comment.
31867 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
31868 `grub_ieee1275_test_flag'.
31869 (grub_ieee1275_encode_devname): Likewise.
31870
ed16607e 318712005-04-21 Hollis Blanchard <hollis@penguinppc.org>
31872
31873 * include/grub/powerpc/ieee1275/ieee1275.h
31874 (grub_ieee1275_encode_devname): New prototype.
31875 (grub_ieee1275_get_filename): Likewise.
31876 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
31877 function.
31878 (grub_set_prefix): Likewise.
31879 (grub_machine_init): Call grub_set_prefix.
31880 * kern/powerpc/ieee1275/openfw.c: Fix typos.
31881 (grub_parse_type): New enum.
31882 (grub_ieee1275_get_devargs): New function.
31883 (grub_ieee1275_get_devname): Likewise.
31884 (grub_ieee1275_parse_args): Likewise.
31885 (grub_ieee1275_get_filename): Likewise.
31886 (grub_ieee1275_encode_devname): Likewise.
31887
be369920 318882005-03-30 Marco Gerards <metgerards@student.han.nl>
31889
31890 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
31891 `grub_loader_unset'.
31892
a5ce3a4a 318932005-03-26 Hollis Blanchard <hollis@penguinppc.org>
31894
31895 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
31896 instead of grub_ieee1275_interpret.
31897 (grub_halt_init): New function.
31898 (grub_halt_fini): Likewise.
31899 (GRUB_MOD_INIT): Correct message grammar.
31900 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
31901 instead of grub_ieee1275_interpret.
31902 (grub_reboot_init): New function.
31903 (grub_reboot_fini): Likewise.
31904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
31905 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
31906 util/i386/pc/misc.c with commands/ieee1275/halt.c,
31907 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
31908 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
31909 function.
31910 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
31911 Add prototype.
31912 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
31913 prototype.
31914 (grub_halt): Likewise.
31915 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
31916 (cmain): Remove __attribute__((unused)).
31917 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
31918 (grub_heap_len): Likewise.
31919 (grub_machine_fini): New function.
31920 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
31921 (grub_halt): Likewise.
31922 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
31923 function.
31924 * util/powerpc/ieee1275/misc.c: New file.
31925
0058f771 319262005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
31927
31928 * DISTLIST: New file.
31929 * gendistlist.sh: Likewise.
f19dbdb7 31930
0058f771 31931 * Makefile.in (COMMON_DISTFILES): Removed.
31932 (BOOT_DISTFILES): Likewise.
31933 (CONF_DISTFILES): Likewise.
31934 (DISK_DISTFILES): Likewise.
31935 (FS_DISTFILES): Likewise.
31936 (INCLUDE_DISTFILES): Likewise.
31937 (KERN_DISTFILES): Likewise.
31938 (LOADER_DISTFILES): Likewise.
31939 (TERM_DISTFILES): Likewise.
31940 (UTIL_DISTFILES): Likewise.
31941 (DISTFILES): Likewise.
31942 (uninstall): Uninstall files in $(pkgdata_DATA).
31943 (DISTLIST): New target.
31944 (distdir): Use the contents of the file DISTLIST to get a list of
31945 distributed files.
31946
46b3b8a5 319472005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
31948
31949 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
31950 descriptor. This is ported from GRUB Legacy.
31951
31952 * gencmdlist.sh: Added an extra semicolon to make it work with
31953 old sed versions. Reported by Robert Bihlmeyer
31954 <robbe@orcus.priv.at>.
31955
5822ff87 319562005-03-08 Yoshinori Okuji <okuji@enbug.org>
31957
31958 Automatic loading of commands is supported.
f19dbdb7 31959
5822ff87 31960 * normal/main.c (read_command_list): New function.
31961 (grub_normal_execute): Call read_command_list.
31962
31963 * normal/command.c (grub_register_command): Return zero or CMD.
31964 Allocate CMD->NAME from the heap.
31965 Initialize CMD->MODULE_NAME to zero.
31966 Find the same name as well. If the same command is found and it is
31967 a dummy command, overwrite members. If it is not a dummy command,
31968 return zero.
31969 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
31970 (grub_command_find): If a dummy command is found, load a module
31971 and retry to find a command only once.
31972
31973 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
31974 make sure that each command is loaded.
31975
31976 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
31977 macro.
31978 (struct grub_command): Remove const from the member `name'.
31979 Add a new member `module_name'.
31980 (grub_register_command): Return grub_command_t.
31981
31982 * commands/help.c (grub_cmd_help): Call grub_command_find to make
31983 sure that each command is loaded.
31984
31985 * genmk.rb (PModule::rule): Specify a module name without the
31986 suffix ".mod" to gencmdlist.sh.
31987
7b1f4b57 319882005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
31989
31990 * gencmdlist.sh: New file.
f19dbdb7 31991
7b1f4b57 31992 * genmk.rb (PModule::rule): Generate a rule for a command list.
31993 Clean command.lst.
31994 Generate command.lst from $(COMMANDFILES).
31995
31996 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
31997 (DATA): Added $(pkgdata_DATA).
31998 (install-local): Install files in $(pkgdata_DATA).
31999
062aaf39 320002005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32001
32002 * term/i386/pc/vga.c (debug_command): Removed.
32003 (GRUB_MOD_INIT): Do not register the command "debug".
32004
32005 From Hollis Blanchard:
32006 * commands/configfile.c: New file.
32007 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32008 commands/configfile.c.
32009 (pkgdata_MODULES): Added configfile.mod.
32010 (configfile_mod_SOURCES): New variable.
32011 (configfile_mod_CFLAGS): Likewise.
32012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32013 commands/configfile.c.
32014 (pkgdata_MODULES): Added configfile.mod.
32015 (configfile_mod_SOURCES): New variable.
32016 (configfile_mod_CFLAGS): Likewise.
32017 * util/grub-emu.c (main): Call grub_configfile_init and
32018 grub_configfile_fini.
32019 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
32020 prototype.
32021 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 32022
cee01aa6 320232005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32024
32025 * normal/arg.c (grub_arg_show_help): Do not show the bug report
32026 address.
32027
32028 * commands/help.c (grub_cmd_help): Do not print newlines after
32029 the last command in print_command_help.
32030
93f3a1d8 320312005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32032
32033 * commands/default.h: New file.
32034 * commands/timeout.h: Likewise.
32035 * normal/context.c: Likewise.
f19dbdb7 32036
93f3a1d8 32037 * util/misc.c: Do not include sys/times.h.
32038 Include sys/time.h and grub/machine/time.h.
32039 (grub_get_rtc): Rewritten with gettimeofday.
32040
32041 * util/grub-emu.c (main): Call grub_default_init and
32042 grub_timeout_init before grub_normal_init, and call
32043 grub_timeout_fini and grub_default_fini after grub_main.
32044
32045 * util/console.c (grub_ncurses_checkkey): Return the read
32046 character or -1.
32047
32048 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
32049 timeouts.
32050
32051 * normal/main.c (read_config_file): Push MENU. If this fails,
32052 print an error and wait for a user input.
32053 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
32054 If a menu is empty or an error occurs, pop MENU.
32055 (grub_normal_execute): Pop and free MENU after grub_menu_run
32056 returns.
32057
32058 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
32059
32060 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
32061 include time.h.
32062 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32063 without GRUB_UTIL.
32064 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
32065 time.h.
32066 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32067 without GRUB_UTIL.
32068
32069 * include/grub/normal.h (struct grub_menu_list): New struct.
32070 (grub_menu_list_t): New type.
32071 (struct grub_context): New struct.
32072 (grub_context_t): New type.
32073 (grub_register_command): Got rid of EXPORT_FUNC.
32074 (grub_unregister_command): Likewise.
32075 (grub_context_get): New prototype.
32076 (grub_context_get_current_menu): Likewise.
32077 (grub_context_push_menu): Likewise.
32078 (grub_context_pop_menu): Likewise.
32079 [GRUB_UTIL] (grub_default_init): Likewise.
32080 [GRUB_UTIL] (grub_default_fini): Likewise.
32081 [GRUB_UTIL] (grub_timeout_init): Likewise.
32082 [GRUB_UTIL] (grub_timeout_fini): Likewise.
32083
32084 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
32085 commands/timeout.c and normal/context.c.
32086 (pkgdata_MODULES): Added default.mod and timeout.mod.
32087 (normal_mod_SOURCES): Added normal/context.c.
32088 (default_mod_SOURCES): New variable.
32089 (default_mod_CFLAGS): Likewise.
32090 (timeout_mod_SOURCES): Likewise.
32091 (timeout_mod_CFLAGS): Likewise.
32092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
32093 conf/i386-pc.rmk.
32094 (pkgdata_MODULES): Added default.mod and timeout.mod.
32095 (normal_mod_SOURCES): Added normal/context.c.
32096 (default_mod_SOURCES): New variable.
32097 (default_mod_CFLAGS): Likewise.
32098 (timeout_mod_SOURCES): Likewise.
32099 (timeout_mod_CFLAGS): Likewise.
32100
32101 * Makefile.in (all-local): Added $(MKFILES).
32102
4ed2e1dd 321032005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
32104
32105 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
32106 (grub_emu_SOURCES): Likewise.
32107 (pkgdata_MODULES): Add `sun.mod'.
32108 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32109 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32110 `partmap/sun.c'.
32111 (pkgdata_MODULES): Add `sun.mod'.
32112 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32113 * include/grub/partition.h (grub_sun_partition_map_init): New
32114 prototype.
32115 (grub_sun_partition_map_fini): Likewise.
32116 * partmap/sun.c: New file.
32117 * util/grub-emu.c (main): Initialize and de-initialize the sun
32118 partitionmap support.
32119
4d4e372e 321202005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
32121
32122 This implements an Emacs-like menu entry editor.
f19dbdb7 32123
4d4e372e 32124 * normal/menu_entry.c: New file.
f19dbdb7 32125
4d4e372e 32126 * util/console.c (grub_ncurses_putchar): Translate some Unicode
32127 characters to ASCII.
32128 (saved_char): New variable.
32129 (grub_ncurses_checkkey): Rewritten completely.
32130 (grub_ncurses_getkey): Likewise.
32131 (grub_ncurses_init): Call raw instead of cbreak.
32132
32133 * normal/menu.c (print_entry): Do not put a space.
32134 (init_page): Renamed to ...
32135 (grub_menu_init_page): ... this. All callers changed.
32136 (edit_menu_entry): Removed.
32137 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
32138
32139 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
32140
32141 * kern/misc.c (grub_vprintf): Call grub_refresh.
32142
32143 * normal/menu.c (DISP_LEFT): Renamed to ...
32144 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
32145 * normal/menu.c (DISP_UP): Renamed to ...
32146 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
32147 * normal/menu.c (DISP_RIGHT): Renamed to ...
32148 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
32149 * normal/menu.c (DISP_DOWN): Renamed to ...
32150 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
32151 * normal/menu.c (DISP_HLINE): Renamed to ...
32152 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
32153 * normal/menu.c (DISP_VLINE): Renamed to ...
32154 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
32155 * normal/menu.c (DISP_UL): Renamed to ...
32156 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
32157 * normal/menu.c (DISP_UR): Renamed to ...
32158 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
32159 * normal/menu.c (DISP_LL): Renamed to ...
32160 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
32161 * normal/menu.c (DISP_LR): Renamed to ...
32162 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
32163 * normal/menu.c (TERM_WIDTH): Renamed to ...
32164 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
32165 * normal/menu.c (TERM_HEIGHT): Renamed to ...
32166 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
32167 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
32168 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
32169 * normal/menu.c (TERM_MARGIN): Renamed to ...
32170 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
32171 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
32172 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
32173 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
32174 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
32175 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
32176 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
32177 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
32178 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
32179 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
32180 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
32181 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
32182 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
32183 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
32184 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
32185 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
32186 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
32187 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
32188 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
32189 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
32190 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
32191 All callers changed.
32192
32193 * include/grub/normal.h: New prototype.
32194
32195 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32196 normal/menu_entry.c.
32197 (normal_mod_SOURCES): Likewise.
32198 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32199 (normal_mod_SOURCES): Likewise.
32200
e6b92c8a 322012005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
32202
32203 * include/grub/normal.h (grub_halt_init): New prototype.
32204 (grub_halt_fini): Likewise.
32205 (grub_reboot_init): Likewise.
32206 (grub_reboot_fini): Likewise.
32207
32208 * util/grub-emu.c: Include signal.h.
32209 (main_env): New global variable.
32210 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
32211 catch C-c.
32212 (grub_machine_fini): New function.
32213 (main): Call grub_halt_init and grub_reboot_init before
32214 grub_main, and grub_reboot_fini and grub_halt_fini after it.
32215 Call setjmp with MAIN_ENV to go back afterwards.
32216 Call grub_machine_fini right before return.
32217
32218 * include/grub/util/misc.h: Include setjmp.h.
32219 (main_env): New prototype.
32220
32221 * include/grub/kernel.h (grub_machine_fini): New prototype.
32222 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
32223 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
32224
32225 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
32226 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
32227 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 32228
e6b92c8a 32229 * util/i386/pc/misc.c: New file.
f19dbdb7 32230
e6b92c8a 32231 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32232 util/i386/pc/misc.c, commands/i386/pc/halt.c and
32233 commands/i386/pc/reboot.c.
32234
c642636f 322352005-02-14 Guillem Jover <guillem@hadrons.org>
32236
32237 * include/grub/dl.h (grub_dl_check_header): New prototype.
32238 (grub_arch_dl_check_header): Change return type to grub_err_t,
32239 remove size parameter and export function. Update all callers.
32240 * kern/dl.c (grub_dl_check_header): New function.
32241 (grub_dl_load_core): Use `grub_dl_check_header' instead of
32242 `grub_arch_dl_check_header'. Check ELF type. Check if sections
32243 are inside the core.
32244 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
32245 independent ELF header checks.
32246 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32247 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
32248 `grub_dl_check_header' instead of explicit checks. Check for the
32249 ELF type.
32250 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
32251 `grub_dl_check_header' instead of explicit checks. Remove arch
32252 specific ELF header checks.
32253
e6b92c8a 32254 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
32255 argument SIZE.
32256
5eabe94b 322572005-02-13 Hollis Blanchard <hollis@penguinppc.org>
32258
32259 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
32260 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
32261
1b14a681 322622005-02-12 Hollis Blanchard <hollis@penguinppc.org>
32263
32264 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 32265 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 32266 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 32267 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 32268 * partmap/amiga.c (amiga_partition_map_iterate): Return
32269 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
32270 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32271
aca108aa 322722005-02-01 Guillem Jover <guillem@hadrons.org>
32273
32274 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
32275 help info.
32276
c9f9c556 322772005-01-31 Marco Gerards <metgerards@student.han.nl>
32278
32279 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
32280 Removed prototype.
32281 (grub_rescue_cmd_linux): New prototype.
32282 (grub_rescue_cmd_initrd): Likewise.
32283 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
32284 `bi_rec'.
32285 (grub_linux_release_mem): Release the memory for the initrd.
32286 (grub_load_linux): Renamed from this...
32287 (grub_rescue_cmd_linux): ...To this. Changed all callers.
32288 Changed `entry' not to be static. Loop over memory regions to
32289 find another one when the default fails.
32290 (grub_rescue_cmd_initrd): New function.
32291 (grub_linux_init): Remove function.
32292 (grub_linux_fini): Likewise.
32293 (GRUB_MOD_INIT): Register `initrd'.
32294 (GRUB_MOD_FINI): Unregister `initrd'.
32295 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
32296 Function removed.
32297 (grub_linux_normal_fini): Likewise.
32298 (GRUB_MOD_INIT): Register `initrd'.
32299 (GRUB_MOD_FINI): Unregister `initrd'.
32300
990cf3aa 323012005-01-31 Marco Gerards <metgerards@student.han.nl>
32302
32303 * commands/help.c: New file.
32304 * normal/arg.c (show_help): Renamed to...
32305 (grub_arg_show_help): ... this.
32306 * commands/i386/pc/halt.c: New file.
32307 * commands/i386/pc/reboot.c: Likewise.
32308 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
32309 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
32310 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
32311 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
32312 variables.
32313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32314 `commands/help.c'.
32315 (pkgdata_MODULES): Add `help.mod'.
32316 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
32317 * grub/i386/pc/init.h (grub_reboot): New prototype.
32318 (grub_halt): Likewise.
32319 * include/grub/normal.h (grub_arg_show_help): New prototype.
32320 (grub_help_init): Likewise.
32321 (grub_help_fini): Likewise.
32322 * util/grub-emu.c (main): Initialize and deinitialize the help
32323 command.
32324
32325 * normal/cmdline.c (grub_cmdline_get): Doc fix.
32326
32327 * normal/command.c (grub_command_init): Fixed the description of
32328 the `set' and `unset' commands.
32329
323302005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 32331
32332 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
32333 function.
32334 * commands/ieee1275/halt.c: New file.
32335 * commands/ieee1275/reboot.c: Likewise.
32336 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
32337 `__attribute__ ((unused))'. Some GCS related fixed.
32338 (grub_suspend_init) [GRUB_UTIL]: Function removed.
32339 (grub_suspend_fini): Likewise.
32340 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
32341 and `halt.mod'.
32342 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
32343 (halt_mod_CFLAGS): New variables.
32344 * include/grub/powerpc/ieee1275/ieee1275.h
32345 (grub_ieee1275_interpret): New prototype.
32346
1ab09cc7 323472005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
32348
32349 * include/grub/misc.h (memmove): New prototype.
32350 (memcpy): Likewise.
32351
8b8cbdb2 323522005-01-22 Hollis Blanchard <hollis@penguinppc.org>
32353
32354 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
32355 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
32356
e3741a27 323572005-01-22 Marco Gerards <metgerards@student.han.nl>
32358
32359 * kern/misc.c (grub_strndup): Function rewritten.
32360
776bd780 323612005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
32362
32363 * normal/menu.c (TERM_WIDTH): Macro redefined.
32364 (TERM_TOP_BORDER_Y): Likewise.
32365 (draw_border): Replaced while-loop by a for-loop. Make the number
32366 of lines consistent with the number of lines displayed in
32367 print_entries. Added a margin below the rectangle.
32368 (print_entry): Make the entry fit in the rectangle.
32369 (print_entries): Display the scroll arrows next to the right
32370 border.
32371
78026bce 323722005-01-21 Marco Gerards <metgerards@student.han.nl>
32373
32374 * fs/minix.c (grub_minix_find_file): Reserve more space for
32375 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
32376 `grub_strncpy' to copy `path' into it.
32377
67bbaf0f 323782005-01-21 Marco Gerards <metgerards@student.han.nl>
32379
32380 Add the loopback device, a device via which files can be accessed
32381 as devices.
f19dbdb7 32382
67bbaf0f 32383 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
32384 (pkgdata_MODULES): Add loopback.mod.
32385 (loopback_mod_SOURCES): New variable.
32386 (loopback_mod_CFLAGS): Likewise.
32387 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32388 `disk/loopback.c'.
32389 (pkgdata_MODULES): Add loopback.mod.
32390 (loopback_mod_SOURCES): New variable.
32391 (loopback_mod_CFLAGS): Likewise.
32392 * disk/loopback.c: new file.
32393 * include/grub/normal.h (grub_loop_init): New prototype.
32394 (grub_loop_fini): New prototype.
32395 * util/grub-emu.c (main): Initialize and de-initialize loopback
32396 support.
32397 * include/grub/disk.h (grub_disk_dev_id): Add
32398 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
32399
6f1c18bd 324002005-01-20 Hollis Blanchard <hollis@penguinppc.org>
32401
32402 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
32403 function.
32404 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
32405 (suspend_mod_SOURCES): New variable.
32406 (suspend_mod_CFLAGS): Likewise.
32407 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
32408 New prototype.
32409 * commands/ieee1275/suspend.c: New file.
32410
b38551da 324112005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
32412
32413 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 32414 ((unused))' to `__attribute__ ((used))'.
b38551da 32415 (GRUB_MOD_FINI): Likewise.
32416 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
32417 * genmk.rb (PModule): Assign space to common symbols when linking
32418 modules.
32419
777aff39 324202005-01-20 Marco Gerards <metgerards@student.han.nl>
32421
32422 * include/grub/mm.h (grub_mm_init_region): Change the type of the
32423 `unsigned' arguments to `grub_size_t'.
32424 (grub_malloc): Likewise.
32425 (grub_realloc): Likewise.
32426 (grub_memalign): Likewise.
32427 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
32428 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32429 * util/misc.c (grub_malloc): Likewise.
32430 (grub_realloc): Likewise.
32431 * kern/mm.c (get_header_from_pointer): Change the casts to
32432 `unsigned' into a cast to `grub_size_t'.
32433
32434 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
32435 point to `currnode' when `currnode' is changed.
32436
32437 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
32438 Schottelius <nico-linux@schottelius.org>.
32439
d0ff18e1 324402005-01-09 Hollis Blanchard <hollis@penguinppc.org>
32441
32442 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
32443 (note_path): Remove variable.
32444 (GRUB_IEEE1275_NOTE_NAME): New macro.
32445 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
32446 (grub_ieee1275_note_hdr): New structure.
32447 (grub_ieee1275_note_desc): Likewise.
32448 (grub_ieee1275_note): Likewise.
32449 (load_note): Remove `dir' argument. All callers updated. Remove
32450 `note_img' and `path'. Do not load a file from `note_path'.
32451 Initialize a struct grub_ieee1275_note and write that to `out'.
32452 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
32453
4ca7004c 324542005-01-05 Marco Gerards <metgerards@student.han.nl>
32455
32456 * util/misc.c (grub_util_read_image): Revert last change. It
32457 called `grub_util_read_at', which seeks from the beginning of the
32458 file.
32459
0b412211 324602005-01-04 Hollis Blanchard <hollis@penguinppc.org>
32461
32462 * TODO: Add note about endianness in grub-mkimage.
32463 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
32464 section.
32465 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
32466 (grub_mkimage_SOURCES): New target.
32467 * include/grub/kernel.h (grub_start_addr): Remove variable.
32468 (grub_end_addr): Likewise.
32469 (grub_total_module_size): Likewise.
32470 (grub_kernel_image_size): Likewise.
32471 (GRUB_MODULE_MAGIC): New constant.
32472 (grub_module_info): New structure.
32473 (grub_arch_modules_addr): New prototype.
32474 (grub_get_end_addr): Remove prototype.
32475 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
32476 * include/grub/powerpc/ieee1275/kernel.h: New file.
32477 * include/grub/util/misc.h (grub_util_get_fp_size): New
32478 prototype.
32479 (grub_util_read_at): Likewise.
32480 (grub_util_write_image_at): Likewise.
32481 * kern/main.c (grub_get_end_addr): Remove function.
32482 (grub_load_modules): Call grub_arch_modules_addr instead of using
32483 grub_end_addr. Look for a grub_module_info struct in memory. Use
32484 the grub_module_info fields instead of calling grub_get_end_addr
32485 as loop conditions. Move grub_add_unused_region code here.
32486 (grub_add_unused_region): Remove function.
32487 * kern/i386/pc/init.c: Include grub/cache.h.
32488 (grub_machine_init): Remove call to grub_get_end_addr. Remove
32489 one call to add_mem_region.
32490 (grub_arch_modules_addr): New function.
32491 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
32492 (grub_total_module_size): Likewise.
32493 Include grub/machine/kernel.h.
32494 (grub_arch_modules_addr): New function.
32495 * util/grub-emu.c (grub_end_addr): Remove variable.
32496 (grub_total_module_size): Likewise.
32497 (grub_arch_modules_addr): New function.
32498 * util/misc.c: Include unistd.h.
32499 (grub_util_get_fp_size): New function.
32500 (grub_util_read_at): Likewise.
32501 (grub_util_write_image_at): Likewise.
32502 (grub_util_read_image): Call grub_util_read_at.
32503 (grub_util_write_image): Call grub_util_write_image_at.
32504 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
32505 additional memory in kernel_img for a struct grub_module_info.
32506 Fill in that grub_module_info.
32507 * util/powerpc/ieee1275/grub-mkimage.c: New file.
32508
458786f8 325092005-01-03 Hollis Blanchard <hollis@penguinppc.org>
32510
32511 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
32512 New function.
32513 * include/grub/powerpc/ieee1275/ieee1275.h
32514 (grub_ieee1275_milliseconds): New prototype.
32515 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
32516 Change to 1000.
32517 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
32518 grub_ieee1275_milliseconds.
32519
ac507d1b 325202005-01-03 Hollis Blanchard <hollis@penguinppc.org>
32521
32522 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
32523 variable.
32524 (find_options): New function.
32525 (cmain): Call find_options.
32526 * include/grub/powerpc/ieee1275/ieee1275.h
32527 (grub_ieee1275_realmode): New extern variable.
32528 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
32529 grub_map if grub_ieee1275_realmode is false.
32530
6b8fd1c4 325312004-12-29 Marco Gerards <metgerards@student.han.nl>
32532
32533 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
32534 lines are inserted and make it work like readline. Reported by
32535 Vincent Pelletier <subdino2004@yahoo.fr>.
32536
8514a1e0 325372004-12-28 Marco Gerards <metgerards@student.han.nl>
32538
32539 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
32540
32541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
32542 `kern/powerpc/cache.S'.
32543
924b6140 325442004-12-27 Marco Gerards <metgerards@student.han.nl>
32545
32546 * genmk.rb: Handle the `Program' class in the main loop. Written
32547 by Johan Rydberg <jrydberg@gnu.org>.
32548 (Program): New class.
32549 (programs): New variable.
32550 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
32551 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
32552 instead of "grub/kernel.h". Include <grub/machine/init.h>.
32553 (help_arch): Function removed.
32554 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
32555 `powerpc/libgcc.h' and `loader.h'.
32556 (pkgdata_PROGRAMS): New variable.
32557 (sbin_UTILITIES): Variable removed.
32558 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
32559 (grubof_SOURCES): Variable re-defined so it only includes the
32560 core functionality.
32561 (grubof_CFLAGS): Remove `-DGRUBOF'.
32562 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
32563 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
32564 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
32565 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
32566 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
32567 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
32568 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
32569 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
32570 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
32571 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
32572 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
32573 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
32574 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
32575 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
32576 (pc_mod_CFLAGS): New variables.
32577 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
32578 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
32579 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
32580 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
32581 Moved from here...
32582 * include/grub/i386/pc/init.h (grub_os_area_addr)
32583 (rub_os_area_size): ... to here.
32584 * include/grub/powerpc/ieee1275/ieee1275.h
32585 (grub_ieee1275_entry_fn): Export symbol.
32586 * include/grub/powerpc/ieee1275/init.h: New file.
32587 * include/grub/powerpc/libgcc.h: Likewise.
32588 * include/grub/cache.h: Likewise.
32589 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
32590 <hollis@penguinppc.org>.
32591 * kern/dl.c: Include <grub/cache.h>.
32592 (grub_dl_flush_cache): New function.
32593 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
32594 for this module.
32595 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
32596 (grub_console_init): Removed prototypes.
32597 (grub_machine_init): Don't initialize the modules anymore.
32598 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
32599 static.
32600 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
32601 Macro undef removed.
32602 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
32603 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
32604 relocation `R_PPC_REL32'. Return an error when the relocation is
32605 unknown.
32606 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
32607 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
32608 * util/misc.c (grub_arch_sync_caches): Likewise.
32609
e4b47e0c 326102004-12-19 Marco Gerards <metgerards@student.han.nl>
32611
32612 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
32613 `symlist.c', add `grubof_symlist.c'.
32614 (symlist.c): Variable removed.
32615 (grubof_HEADERS): Variable added.
32616 (grubof_symlist.c): New target.
32617 (kernel_syms.lst): Use `grubof_HEADERS' instead of
32618 `kernel_img_HEADERS'.
32619 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
32620 * kern/powerpc/dl.c: New file.
32621 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
32622 Function removed.
32623 (grub_arch_dl_relocate_symbols): Likewise.
32624 (grub_register_exported_symbols): Likewise.
32625
4ceb3636 326262004-12-13 Marco Gerards <metgerards@student.han.nl>
32627
32628 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
32629 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
32630 to fail instead. Reported by Vincent Pelletier
32631 <subdino2004@yahoo.fr>.
32632
32633 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
32634 it is not allocated. Reported by Vincent Pelletier
32635 <subdino2004@yahoo.fr>.
32636
32637 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
32638 output so the output looks better.
f19dbdb7 32639
3f1578fe 326402004-12-04 Marco Gerards <metgerards@student.han.nl>
32641
32642 Modulize the partition map support and add support for the amiga
32643 partition map.
f19dbdb7 32644
3f1578fe 32645 * commands/ls.c: Include <grub/partition.h> instead of
32646 <grub/machine/partition.h>.
32647 * kern/disk.c: Likewise.
32648 * kern/rescue.c: Likewise.
32649 * loader/i386/pc/chainloader.c: Likewise.
32650 * normal/cmdline.c: Likewise.
32651 * kern/powerpc/ieee1275/init.c: Likewise.
32652 (grub_machine_init): Call `grub_pc_partition_map_init',
32653 `grub_amiga_partition_map_init' and
32654 `grub_apple_partition_map_init'.
32655 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
32656 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
32657 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
32658 `partition.h' and `pc_partition.h'.
32659 (grub_setup_SOURCES): Remove
32660 `disk/i386/pc/partition.c'. Add `kern/partition.c',
32661 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
32662 (grub_emu_SOURCES): Likewise.
32663 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
32664 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
32665 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
32666 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
32667 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
32668 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
32669 (grubof_SOURCES): Likewise.
32670 * disk/i386/pc/partition.c: File removed.
32671 * disk/powerpc/ieee1275/partition.c: Likewise.
32672 * include/grub/powerpc/ieee1275/partition.h: Likewise.
32673 * include/grub/i386/pc/partition.h: Likewise.
32674 * kern/partition.c: New file.
32675 * partmap/amiga.c: Likewise.
32676 * partmap/apple.c: Likewise.
32677 * partmap/pc.c: Likewise.
32678 * include/grub/partition.h: Likewise..
32679 * include/grub/pc_partition.h: Likewise.
32680 * util/grub-emu.c: Include <grub/partition.h> instead of
32681 <grub/machine/partition.h>.
32682 (main): Call `grub_pc_partition_map_init',
32683 `grub_amiga_partition_map_init' and
32684 `grub_apple_partition_map_init' and deinitialize afterwards.
32685 * util/i386/pc/biosdisk.c: Include `#include
32686 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
32687 `<grub/machine/partition.h>'.
32688 * util/i386/pc/grub-setup.c: Likewise.
32689 * util/i386/pc/biosdisk.c: Likewise.
32690 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
32691 partition information in case of a PC partition.
32692 * util/i386/pc/grub-setup.c: Include `#include
32693 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
32694 `<grub/machine/partition.h>'.
32695 (setup): Only access the PC specific partition information in case
32696 of a PC partition.
32697
0ef4ced9 326982004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 32699
0ef4ced9 32700 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
32701 (grub_longjmp): Likewise.
32702 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
32703 20.
32704 * normal/powerpc/setjmp.S: New file.
32705 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
32706 `normal/powerpc/setjmp.S'.
32707 (grubof_CFLAGS): Add `-DGRUBOF'.
32708 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
32709 [GRUB_UTIL && !GRUBOF].
f19dbdb7 32710
19950e29 327112004-11-16 Marco Gerards <metgerards@student.han.nl>
32712
32713 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
32714 property named `name'. Correctly handle the error returned by
32715 `grub_ieee1275_finddevice' if a device can not be opened.
32716
a2fea427 327172004-11-02 Hollis Blanchard <hollis@penguinppc.org>
32718
32719 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
32720 `actual' for negativity.
32721 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
32722 kern/fshelp.c.
32723
41ea0ea3 327242004-11-01 Marco Gerards <metgerards@student.han.nl>
32725
32726 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
32727 (PAGE_OFFSET): New macro.
32728 (CRTC_ADDR_PORT): Likewise.
32729 (CRTC_DATA_PORT): Likewise.
32730 (START_ADDR_HIGH_REGISTER): Likewise.
32731 (START_ADDR_LOW_REGISTER): Likewise.
32732 (GRAPHICS_ADDR_PORT): Likewise.
32733 (GRAPHICS_DATA_PORT): Likewise.
32734 (READ_MAP_REGISTER): Likewise.
32735 (INPUT_STATUS1_REGISTER): Likewise.
32736 (INPUT_STATUS1_VERTR_BIT): Likewise.
32737 (page): New variable.
32738 (wait_vretrace): New function.
32739 (set_read_map): Likewise.
32740 (set_start_address): Likewise.
32741 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
32742 the right page.
32743 (check_vga_mem): Take the page into account.
32744 (write_char): Likewise.
32745 (write_cursor): Likewise.
32746 (scroll_up): Likewise. Copy the page to the page that is not
32747 shown and switch between both pages.
32748 (grub_vga_putchar): Fix off by one error.
32749 (grub_vga_cls): Wait for the vertical retrace. Take the page into
32750 account.
32751
ad0bd20b 327522004-11-01 Marco Gerards <metgerards@student.han.nl>
32753
32754 Add support for iso9660 (including rockridge).
f19dbdb7 32755
ad0bd20b 32756 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
32757 (iso9660_mod_SOURCES): New variable.
32758 (iso9660_mod_CFLAGS): Likewise.
32759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
32760 * include/grub/fs.h (grub_iso9660_init): New prototype.
32761 * util/grub-emu.c (main): Call `grub_iso9660_init'.
32762 * fs/iso9660.c: New file.
32763
32764 * include/grub/misc.h (grub_strncat): New prototype.
32765 * kern/misc.c (grub_strncat): New function.
f19dbdb7 32766
ad0bd20b 32767 * fs/hfs.c (grub_hfs_mount): Translate the error
32768 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
32769 * fs/jfs.c (grub_jfs_mount): Likewise.
32770 * fs/ufs.c (grub_ufs_mount): Likewise.
32771
a5477a59 327722004-10-28 Hollis Blanchard <hollis@penguinppc.org>
32773
32774 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
32775 which initialized BAT registers.
32776 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
32777 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
32778 Move from here...
32779 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
32780 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
32781 ... to here.
32782 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
32783 (grub_mapclaim): Likewise.
32784 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
32785 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
32786 hand.
32787
9304c1f8 327882004-10-19 Hollis Blanchard <hollis@penguinppc.org>
32789
32790 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
32791 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
32792 -ffreestanding and -msoft-float.
32793
86f4ae25 327942004-10-15 Hollis Blanchard <hollis@penguinppc.org>
32795
32796 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
32797 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
32798 set in grub_ieee1275_flags.
32799
38912228 328002004-10-14 Hollis Blanchard <hollis@penguinppc.org>
32801
32802 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
32803 prototype.
32804 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
32805 grub_console_init first.
32806 Change the memory range used for grub_ieee1275_claim and
32807 grub_mm_init_region.
32808 Print an error message if the claim fails.
32809 Include <grub/misc.h>.
32810
d1923dc8 328112004-10-13 Hollis Blanchard <hollis@penguinppc.org>
32812
32813 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
32814 Call grub_children_iterate for device nodes of type `scsi',
32815 `ide', or `ata'.
32816 (grub_ofdisk_open): Remove manual device alias resolution.
32817 Fix memory leak when device cannot be opened.
f19dbdb7 32818 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 32819 (grub_children_iterate): New prototype.
32820 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
32821 New function.
32822 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32823 Return -1 if args.size was -1.
32824
4512e4f3 328252004-10-11 Hollis Blanchard <hollis@penguinppc.org>
32826
32827 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
32828 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
32829 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
32830 Open Firmware's memory for it; claim memory from _start to _end.
32831 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
32832 (_end): New extern.
32833 (_start): Zero BSS from __bss_start to _end.
32834 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32835 New extern.
32836 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
32837
4d61feb0 328382004-10-11 Hollis Blanchard <hollis@penguinppc.org>
32839
ad0bd20b 32840 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
32841 -1 if args.base was -1.
4d61feb0 32842
026fa2f9 328432004-10-08 Hollis Blanchard <hollis@penguinppc.org>
32844
32845 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
32846 escape sequence instead of a literal ^L. Also call
32847 grub_ofconsole_gotoxy.
32848
9f2220ef 328492004-10-03 Hollis Blanchard <hollis@penguinppc.org>
32850
32851 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
32852 void * arguments to grub_addr_t. All callers updated. Also make
32853 the `result' argument optional.
32854 (grub_ieee1275_release): change void * arguments to grub_addr_t.
32855 All callers updated.
32856
8a572cd7 328572004-09-22 Hollis Blanchard <hollis@penguinppc.org>
32858
32859 * commands/ls.c (grub_ls_list_files): Use the string following the
32860 initial ')', if present, as the filesystem path.
32861 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
32862
32863 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
32864
18aa81f2 328652004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
32866
32867 Make the source code of the menu interface more readable.
f19dbdb7 32868
18aa81f2 32869 * normal/menu.c: Include grub/mm.h.
32870 (TERM_WIDTH): New macro.
32871 (TERM_HEIGHT): Likewise.
32872 (TERM_INFO_HEIGHT): Likewise.
32873 (TERM_MARGIN): Likewise.
32874 (TERM_SCROLL_WIDTH): Likewise.
32875 (TERM_TOP_BORDER_Y): Likewise.
32876 (TERM_LEFT_BORDER_X): Likewise.
32877 (TERM_BORDER_WIDTH): Likewise.
32878 (TERM_MESSAGE_HEIGHT): Likewise.
32879 (TERM_BORDER_HEIGHT): Likewise.
32880 (TERM_NUM_ENTRIES): Likewise.
32881 (TERM_FIRST_ENTRY_Y): Likewise.
32882 (TERM_ENTRY_WIDTH): Likewise.
32883 (TERM_CURSOR_X): Likewise.
32884 (draw_border): Use macros instead of magic numbers.
32885 (print_entry): Likewise.
32886 (print_entries): Likewise.
32887 (run_menu): Likewise. Also, handle the key 'e'.
32888 (run_menu_entry): Ignore empty command lines.
32889 (print_message): Added a new argument EDIT. If EDIT is true,
32890 print a different message.
32891 (init_page): Likewise.
32892 (edit_menu_entry): New function. Not implemented yet.
32893
b47efe30 328942004-09-17 Marco Gerards <metgerards@student.han.nl>
32895
32896 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
32897 can be loaded from normal mode.
f19dbdb7 32898
b47efe30 32899 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
32900 `multiboot.mod'.
32901 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
32902 (multiboot_mod_CFLAGS): New variables.
32903 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 32904 * loader/i386/pc/multiboot_normal.c: Likewise.
32905
b47efe30 32906 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
32907 attribute `unused'.
f19dbdb7 32908
b47efe30 32909 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
32910 `fdiro' to read the mode information from instead of `diro'.
32911
32912 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
32913 looking up a symlink.
32914
32915 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
32916 macro.
32917 * normal/command.c (grub_command_execute): Don't parse the
32918 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
32919 flags of the command.
32920
32921 * normal/menu.c (grub_menu_run): Fix typo.
32922
da75ac71 329232004-09-14 Hollis Blanchard <hollis@penguinppc.org>
32924
32925 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
32926
32927 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
32928 `y + 1' instead of `y - 1'.
32929
32930 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 32931
062b24c2 329322004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
32933
32934 From Hollis Blanchard <hollis@penguinppc.org>:
32935 * kern/misc.c (memmove): New alias for grub_memmove.
32936 (memcmp): New alias for grub_memcmp.
32937 (memset): New alias for grub_memset.
f19dbdb7 32938 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 32939 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 32940 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 32941 (grub_ieee1275_get_property): Likewise.
f19dbdb7 32942
8ddad845 329432004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
32944
32945 Added normal mode command `chainloader' as module chain.mod, which
32946 depends on normal.mod and _chain.mod.
f19dbdb7 32947
8ddad845 32948 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
32949 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
32950 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
32951 Deleted prototype.
32952 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
32953 but arguments parsing moved to ...
32954 (grub_chainloader_cmd): ... here. New function.
32955 * include/grub/i386/pc/chainloader.h: New file.
32956 * loader/i386/pc/chainloader_normal.c: Likewise.
32957
2c1f4ce3 329582004-09-11 Marco Gerards <metgerards@student.han.nl>
32959
32960 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
32961 (grub_mkimage_LDFLAGS): Likewise.
32962 (grub_emu_SOURCES): Likewise.
32963 (kernel_img_HEADERS): Added fshelp.h.
32964 * fs/ext2.c: Include <grub/fshelp.h>.
32965 (FILETYPE_REG): New macro.
32966 (FILETYPE_INO_REG): Likewise.
32967 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
32968 Changed all users.
32969 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
32970 all users.
32971 (grub_fshelp_node): New struct.
32972 (grub_ext2_data): Added member `diropen'. Changed member `inode'
32973 to a pointer.
32974 (grub_ext2_get_file_block): Removed function.
32975 (grub_ext2_read_block): New function.
32976 (grub_ext2_read_file): Replaced parameter `data' by `node'.
32977 This function was written.
32978 (grub_ext2_mount): Read the root inode. Create a diropen struct.
32979 (grub_ext2_find_file): Removed function.
32980 (grub_ext2_read_symlink): New function.
32981 (grub_ext2_iterate_dir): Likewise.
32982 (grub_ext2_open): Rewritten.
32983 (grub_ext2_dir): Rewritten.
32984 * include/grub/fshelp.h: New file.
32985 * fs/fshelp.c: Likewise.
32986
3c52136a 329872004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
32988
32989 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
32990 (print_message): Add a missing newline.
32991 (run_menu): Added timeout support.
32992 (run_menu_entry): New local function.
32993 (grub_menu_run): Added support for booting.
32994
32995 * kern/loader.c (grub_loader_is_loaded): New function.
32996
32997 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
32998 (grub_get_rtc): Exported.
32999
33000 * include/grub/i386/pc/time.h: Include grub/symbol.h.
33001 (grub_get_rtc): Exported.
33002
33003 * include/grub/normal.h (struct grub_command_list): Remove
33004 constant from the member `command'.
33005
33006 * include/grub/loader.h (grub_loader_is_loaded): Declared.
33007
33008 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
33009
33010 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
33011
aa033560 330122004-08-28 Marco Gerards <metgerards@student.han.nl>
33013
33014 Add support for the JFS filesystem.
33015
33016 * fs/jfs.c: New file.
33017 * include/grub/fs.h (grub_jfs_init): New prototype.
33018 (grub_jfs_fini): New prototype.
33019 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
33020 (grub_emu_SOURCES): Likewise.
33021 (pkgdata_MODULES): Add jfs.mod.
33022 (jfs_mod_SOURCES): New variable.
33023 (jfs_mod_CFLAGS): Likewise.
33024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
33025 (grubof_SOURCES): Likewise.
33026 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
33027
33028 * fs/fat.c (grub_fat_find_dir): Convert the filename little
33029 endian to the host endian.
33030 (grub_fat_utf16_to_utf8): Move function from there...
33031 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 33032 the endianness of the source string anymore.
aa033560 33033 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
33034
94bc45af 330352004-08-24 Marco Gerards <metgerards@student.han.nl>
33036
33037 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
33038 (grub_boot_fini) [GRUB_UTIL]: Likewise.
33039 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
33040 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 33041
94bc45af 33042 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
33043 (grub_hfs_iterate_dir): Make the function static. Add prototypes
33044 for `node_found' and `it_dir'.
33045 (grub_hfs_dir): Add prototype for `dir_hook'.
33046
33047 * fs/minix.c (grub_minix_get_file_block): Add prototype for
33048 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
33049 and `indir32' to silence a gcc warning.
33050
33051 * include/grub/fs.h (grub_hfs_init): New prototype.
33052 (grub_hfs_fini): Likewise.
f19dbdb7 33053
33054
97543f08 330552004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
33056
33057 Each disk device has its own id now. This is useful to make use
33058 of multiple disk devices.
f19dbdb7 33059
97543f08 33060 * include/grub/disk.h (grub_disk_dev_id): New enum.
33061 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
33062 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
33063
33064 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
33065 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33066
33067 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
33068 GRUB_DISK_DEVICE_OFDISK_ID as an id.
33069
33070 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
33071 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33072
33073 * include/grub/disk.h (struct grub_disk_dev): Added a new member
33074 "id" which is used by the cache manager.
33075
33076 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
33077 of just "GRUB".
33078
64372eb4 330792004-08-18 Marco Gerards <metgerards@student.han.nl>
33080
33081 * fs/hfs.c: New file.
33082 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
33083 (grub_emu_SOURCES): Likewise.
33084 (pkgdata_MODULES): Add hfs.mod.
33085 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
33086 (grubof_SOURCES): Likewise.
33087 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
33088
33089 * include/grub/misc.h (grub_strncasecmp): Add prototype.
33090 * kern/misc.c (grub_strncasecmp): Add function.
33091
cc61b58f 330922004-08-14 Marco Gerards <metgerards@student.han.nl>
33093
33094 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
33095 with parentheses.
33096
33097 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
33098 (grub_ext2_dir): In case the directory entry type is unknown, read
33099 it from the inode.
33100
0ef123f6 331012004-08-02 Peter Bruin <pjbruin@dds.nl>
33102
33103 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
33104 grub_load_linux instead of grub_rescue_cmd_linux as second
33105 argument of grub_rescue_register_command.
33106
33107 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
33108
a447c5df 331092004-07-27 Marco Gerards <metgerards@student.han.nl>
33110
33111 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
33112 function.
33113 * commands/boot.c: Remove the check for `GRUB_UTIL'.
33114 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33115 `loader/powerpc/ieee1275/linux.c',
33116 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
33117 * include/grub/powerpc/ieee1275/ieee1275.h
33118 (grub_ieee1275_release): New prototype.
33119 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
33120 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
33121 normal, boot, linux and linux_normal.
33122 * loader/powerpc/ieee1275/linux.c: New file.
33123 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33124
5a9e3546 331252004-07-12 Marco Gerards <metgerards@student.han.nl>
33126
33127 * normal/arg.c (grub_arg_parse): Correct error handling after
33128 reallocating the argumentlist (check if `argl' is not null instead
33129 of checking if `args' is not null).
33130 * kern/mm.c (grub_realloc): Return the same pointer when using the
33131 same region, instead of returning the header address.
33132
e15199cb 331332004-07-11 Marco Gerards <metgerards@student.han.nl>
33134
33135 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
33136 one block instead of two when looking for the initial partition.
33137 (grub_partition_probe): Initialize the local variable `p' with 0.
33138 Use base 10 for the grub_strtoul call.
33139 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
33140 need for one local variable.
33141 (grub_strtoul): Don't add the new value to `num', instead of that
33142 just assign it.
33143
020616c2 331442004-07-11 Marco Gerards <metgerards@student.han.nl>
33145
33146 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
33147 (pxeboot_img_SOURCES): New variable.
33148 (pxeboot_img_ASFLAGS): Likewise.
33149 (pxeboot_img_LDFLAGS): Likewise.
33150 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
33151 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
33152 <lode_leroy@hotmail.com>.
33153
6c51eb64 331542004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33155
33156 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
33157 there was no input.
33158
cfb12aff 331592004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33160
33161 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
33162 the history buffer logic.
33163
6eabba74 331642004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33165
33166 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
33167 (FILETYPE_INO_SYMLINK): New macros.
33168 (grub_ext2_find_file): Check if the node is a directory using the
33169 inode stat information instead of using the filetype in the
33170 dirent. Exclude the first character of an absolute symlink.
33171 (grub_ext2_dir): Mask out the filetype part of the mode member of
33172 the inode.
33173
66e19ef8 331742004-05-24 Marco Gerards <metgerards@student.han.nl>
33175
33176 Add support for UFS version 1 and 2. Add support for the minix
33177 filesystem version 1 and 2, both the variants with 14 and 30 long
33178 filenames.
f19dbdb7 33179
66e19ef8 33180 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
33181 fs/minix.c.
33182 (grub_emu_SOURCES): Likewise.
33183 (pkgdata_MODULES): Add ufs.mod and minix.mod.
33184 (ufs_mod_SOURCES): New variable.
33185 (ufs_mod_CFLAGS): Likewise.
33186 (minix_mod_SOURCES): Likewise.
33187 (minix_mod_CFLAGS): Likewise.
33188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
33189 fs/minix.c.
33190 (grubof_SOURCES): Likewise.
33191 * fs/ufs.c: New file.
33192 * fs/minix.c: New file.
33193 * include/grub/fs.h (grub_ufs_init): New prototype.
33194 (grub_ufs_fini): Likewise.
33195 (grub_minix_init): Likewise.
33196 (grub_minix_fini): Likewise.
33197 * util/grub-emu.c (main): Initialize and deinitialize UFS and
33198 minix fs.
33199
cc2e748a 332002004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
33201
33202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
33203 commands/ls.c, commands/terminal.c, commands/boot.c,
33204 commands/cmp.c and commands/cat.c.
33205 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
33206
33207 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
33208 "env.h"
33209
4b13b216 332102004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33211
33212 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
33213 and grub_, respectively. Because the conversion is trivial and
33214 mechanical, I omit the details here. Please refer to the CVS
33215 if you need more information.
33216
6a142551 332172004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33218
33219 * include/pupa: Renamed to ...
33220 * include/grub: ... this.
33221 * util/i386/pc/pupa-mkimage.c: Renamed to ...
33222 * util/i386/pc/grub-mkimage.c: ... this.
33223 * util/i386/pc/pupa-setup.c: Renamed to ...
33224 * util/i386/pc/grub-setup.c: ... this.
33225 * util/pupa-emu.c: Renamed to ...
33226 * util/grub-emu.c: ... this.
33227
e56cdf21 332282004-03-29 Marco Gerards <metgerards@student.han.nl>
33229
33230 Add support for the newworld apple macintosh (PPC). This has been
33231 tested on the powerbook 2000 only. It only adds support for
33232 generic ieee1275 functions, console and disk support. This should
33233 be easy to port to other architectures with support for Open
33234 Firmware.
f19dbdb7 33235
e56cdf21 33236 * configure.ac: Accept the powerpc as host_cpu. In the case of
33237 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
33238 specific tests are only executed while building for the i386.
33239 Inverse test for crosscompile.
33240 * genmk.rb (Utility): Allow assembler files.
33241 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
33242 * conf/powerpc-ieee1275.rmk: New file.
33243 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
33244 * disk/powerpc/ieee1275/partition.c: Likewise.
33245 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
33246 * include/pupa/powerpc/ieee1275/console.h: Likewise.
33247 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
33248 * include/pupa/powerpc/ieee1275/time.h: Likewise.
33249 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
33250 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
33251 * include/pupa/powerpc/ieee1275/loader.h
33252 * include/pupa/powerpc/setjmp.h: Likewise.
33253 * include/pupa/powerpc/types.h: Likewise.
33254 * kern/powerpc/ieee1275/init.c: Likewise.
33255 * kern/powerpc/ieee1275/openfw.c: Likewise.
33256 * term/powerpc/ieee1275/ofconsole.c: Likewise.
33257
33258 These files were written by Johan Rydberg
33259 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 33260
e56cdf21 33261 * boot/powerpc/ieee1275/cmain.c: New file.
33262 * boot/powerpc/ieee1275/crt0.S: Likewise.
33263 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
33264 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
33265
8c8cc205 332662004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
33267
33268 * Makefile.in: Update copyright.
33269 * genmodsrc.sh: Likewise.
33270 * gensymlist.sh: Likewise.
33271 * term/i386/pc/vga.c: Indent correctly.
33272
33273 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
33274 bugreporting address.
33275 * util/i386/pc/pupa-setup.c (usage): Likewise,
33276 (main): Call pupa_ext2_init and pupa_ext2_fini.
33277
f19dbdb7 33278 * fs/fat.c (log2): Renamed to ...
8c8cc205 33279 (fat_log2): ... this.
33280 All callers changed.
33281 * kern/misc.c (memcpy): Alias to pupa_memmove.
33282 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
33283 lvalue cast.
33284 * util/console.c (pupa_ncurses_fini): Return 0.
33285
33286 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
33287 Move fail label here.
33288 [__GNU__]: Don't warn when using stat.
33289 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
33290 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
33291 long int. Use strtol instead of strtoul.
f19dbdb7 33292
db1771cf 332932004-03-14 Marco Gerards <metgerards@student.han.nl>
33294
33295 * commands/boot.c: New file.
33296 * commands/cat.c: Likewise.
33297 * commands/cmp.c: Likewise.
33298 * commands/ls.c: Likewise.
33299 * commands/terminal.c: Likewise.
33300 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
33301 (pupa_register_command): Changed interface to match the new
33302 argument parser.
33303 (pupa_command_execute): Changed (almost rewritten) so it uses
33304 pupa_split_command. Added support for setting variables using the
33305 syntax `foo=bar'.
33306 (rescue_command): Changed to work with the new argument parser.
33307 (terminal_command): Moved from here to commands/terminal.c.
33308 (set_command): New function.
33309 (unset_command): New function.
33310 (insmod_command): New function.
33311 (rmmod_command): New function.
33312 (lsmod_command): New function.
33313 (pupa_command_init): Don't initialize the command terminal
33314 anymore. Initialize the commands set, unset, insmod, rmmod and
33315 lsmod.
33316 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
33317 (kernel_img_HEADERS): Add arg.h and env.h.
33318 (pupa_mkimage_LDFLAGS): Add kern/env.c.
33319 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
33320 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
33321 normal/arg.c.
33322 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
33323 terminal.mod.
33324 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
33325 (boot_mod_SOURCES): New variable.
33326 (terminal_mod_SOURCES): Likewise.
33327 (ls_mod_SOURCES): Likewise.
33328 (cmp_mod_SOURCES): Likewise.
33329 (cat_mod_SOURCES): Likewise.
33330
33331 * normal/arg.c: New file.
33332 * kern/env.c: Likewise.
33333 * include/pupa/arg.h: Likewise.
33334 * include/pupa/env.h: Likewise.
33335 * font/manager.c (font_command): Changed to match argument parsing
33336 interface changes.
33337 (PUPA_MOD_INIT): Likewise.
33338 * hello/hello.c (pupa_cmd_hello): Likewise.
33339 (PUPA_MOD_INIT): Likewise.
33340 * include/pupa/disk.h: Include <pupa/device.h>.
33341 (pupa_print_partinfo): New prototype.
33342 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
33343 (pupa_dl_get_prefix): Likewise.
33344 * include/pupa/misc.h: Include <pupa/err.h>.
33345 (pupa_isgraph): New prototype.
33346 (pupa_isdigit): Likewise.
33347 (pupa_split_cmdline): Likewise.
33348 * include/pupa/normal.h: Include <pupa/arg.h>.
33349 (pupa_command): Changed the prototype of the member `func' to
33350 match the argument parsing interface. Added member `options'.
33351 (pupa_register_command): Updated to match function.
33352 (pupa_arg_parse): New prototype.
33353 (pupa_hello_init) [PUPA_UTIL]: New prototype.
33354 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
33355 (pupa_ls_init) [PUPA_UTIL]: Likewise.
33356 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
33357 (pupa_cat_init) [PUPA_UTIL]: Likewise.
33358 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
33359 (pupa_boot_init) [PUPA_UTIL]: Likewise.
33360 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
33361 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
33362 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
33363 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
33364 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
33365 * kern/disk.c: Include <pupa/file.h>.
33366 (pupa_print_partinfo): New function.
33367 * kern/dl.c: Include <pupa/env.h>.
33368 (pupa_dl_dir): Variable removed.
33369 (pupa_dl_load): Use the environment variable `prefix' instead of
33370 the variable pupa_dl_dir.
33371 (pupa_dl_set_prefix): Function removed.
33372 (pupa_dl_get_prefix): Likewise.
33373 * kern/i386/pc/init.c: Include <pupa/env.h>.
33374 (pupa_machine_init): Use the environment variable `prefix' instead of
33375 using pupa_dl_set_prefix to set the prefix.
33376 * kern/main.c: Include <pupa/env.h>.
33377 (pupa_set_root_dev): Use the environment variable `prefix' instead of
33378 using pupa_dl_get_prefix to get the prefix.
33379 * kern/misc.c: Include <pupa/env.h>.
33380 (pupa_isdigit): New function.
33381 (pupa_isgraph): Likewise.
33382 (pupa_ftoa): Likewise.
33383 (pupa_vsprintf): Added support for printing values of the type
33384 `double'. Make it possible to format variable output when using
33385 formatting like `%1.2%f'.
33386 (pupa_split_cmdline): New function.
33387 * kern/rescue.c: Include <pupa/env.h>.
33388 (next_word): Removed function.
33389 (pupa_rescue_cmd_prefix): Likewise.
33390 (pupa_rescue_cmd_set): New function.
33391 (pupa_rescue_cmd_unset): New function.
33392 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
33393 split the command line instead of splitting it here. Added
33394 support for setting variables using the syntax `foo=bar'. Don't
33395 initialize the prefix command anymore. Initialized the set and
33396 unset commands.
33397 * normal/cmdline.c: Include <pupa/env.h>.
33398 (pupa_tab_complete): Added prototypes for print_simple_completion,
33399 print_partition_completion, add_completion, iterate_commands,
33400 iterate_dev, iterate_part and iterate_dir. Moved code to print
33401 partition information from here to kern/disk.c.
fe6b695a 33402 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 33403 * normal/main.c: Include <pupa/env.h>.
33404 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
33405 instead of using pupa_dl_get_prefix to get the prefix.
33406 * term/i386/pc/vga.c: Include <pupa/arg.h>.
33407 (check_vga_mem): Cast pointers to `void *' to silence a gcc
33408 warning.
33409 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
33410 (pupa_vga_setcolor): Declare unused variables with `__attribute__
33411 ((unused))' to silence a gcc warning.
33412 (pupa_vga_setcolor): Likewise.
33413 (debug_command): Changed to match argument parsing
33414 interface changes.
33415 * util/pupa-emu.c: Include <pupa/env.h>.
33416 (options): Added 0's for unused fields to silence a gcc warning.
33417 (argp): Likewise.
33418 (main): Use the environment variable `prefix' instead of using
33419 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
33420 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
33421 and terminal.
33422
33423 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
33424 * util/misc.c: Include <malloc.h>.
33425 (pupa_malloc): Rewritten so errors are correctly reported.
33426 (pupa_realloc): Likewise.
33427 (pupa_memalign): Likewise.
33428 (pupa_mm_init_region): Declare unused variables with
33429 `__attribute__ ((unused))' to silence a gcc warning.
33430 * normal/i386/setjmp.S: Remove tab at the end of the file to
33431 silence a gcc warning.
33432 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
33433 variables with `__attribute__ ((unused))' to silence a gcc
33434 warning.
33435 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
33436 local variable i unsigned to silence a gcc warning.
33437
33438 * kern/term.c: Include <pupa/misc.h>.
33439 (pupa_more_lines): New variable.
33440 (pupa_more): Likewise.
33441 (pupa_putcode): When the pager is active pause at the end of every
33442 screen.
33443 (pupa_set_more): New function.
33444 * include/pupa/term.h (pupa_set_more): New prototype.
33445
33446
3b1139cb 334472004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
33448
33449 Now this project is GRUB 2 rather than PUPA. The location of
33450 the CVS repository was moved to GRUB's.
f19dbdb7 33451
3b1139cb 33452 * configure.ac: Use bug-grub as the reporting address.
33453 Use GRUB instead of PUPA.
33454 Change the version number to 1.90.
33455
8367695c 334562004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
33457
33458 * genkernsyms.sh: Updated copyright information.
33459 * genmk.rb: Likewise.
33460 * genmodsrc.sh: Likewise.
33461 * gensymlist.sh: Likewise.
33462 * boot/i386/pc/boot.S: Likewise.
33463 * boot/i386/pc/diskboot.S: Likewise.
33464 * disk/i386/pc/biosdisk.c: Likewise.
33465 * disk/i386/pc/partition.c: Likewise.
33466 * font/manager.c: Likewise.
33467 * fs/ext2.c: Likewise.
33468 * fs/fat.c: Likewise.
33469 * include/pupa/boot.h: Likewise.
33470 * include/pupa/device.h: Likewise.
33471 * include/pupa/disk.h: Likewise.
33472 * include/pupa/dl.h: Likewise.
33473 * include/pupa/elf.h: Likewise.
33474 * include/pupa/err.h: Likewise.
33475 * include/pupa/file.h: Likewise.
33476 * include/pupa/font.h: Likewise.
33477 * include/pupa/fs.h: Likewise.
33478 * include/pupa/kernel.h: Likewise.
33479 * include/pupa/loader.h: Likewise.
33480 * include/pupa/misc.h: Likewise.
33481 * include/pupa/mm.h: Likewise.
33482 * include/pupa/net.h: Likewise.
33483 * include/pupa/normal.h: Likewise.
33484 * include/pupa/rescue.h: Likewise.
33485 * include/pupa/setjmp.h: Likewise.
33486 * include/pupa/symbol.h: Likewise.
33487 * include/pupa/term.h: Likewise.
33488 * include/pupa/types.h: Likewise.
33489 * include/pupa/i386/setjmp.h: Likewise.
33490 * include/pupa/i386/types.h: Likewise.
33491 * include/pupa/i386/pc/biosdisk.h: Likewise.
33492 * include/pupa/i386/pc/boot.h: Likewise.
33493 * include/pupa/i386/pc/console.h: Likewise.
33494 * include/pupa/i386/pc/init.h: Likewise.
33495 * include/pupa/i386/pc/kernel.h: Likewise.
33496 * include/pupa/i386/pc/linux.h: Likewise.
33497 * include/pupa/i386/pc/loader.h: Likewise.
33498 * include/pupa/i386/pc/memory.h: Likewise.
33499 * include/pupa/i386/pc/multiboot.h: Likewise.
33500 * include/pupa/i386/pc/partition.h: Likewise.
33501 * include/pupa/i386/pc/time.h: Likewise.
33502 * include/pupa/i386/pc/vga.h: Likewise.
33503 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
33504 * include/pupa/util/getroot.h: Likewise.
33505 * include/pupa/util/misc.h: Likewise.
33506 * include/pupa/util/resolve.h: Likewise.
33507 * kern/device.c: Likewise.
33508 * kern/disk.c: Likewise.
33509 * kern/dl.c: Likewise.
33510 * kern/err.c: Likewise.
33511 * kern/file.c: Likewise.
33512 * kern/fs.c: Likewise.
33513 * kern/loader.c: Likewise.
33514 * kern/main.c: Likewise.
33515 * kern/misc.c: Likewise.
33516 * kern/mm.c: Likewise.
33517 * kern/rescue.c: Likewise.
33518 * kern/term.c: Likewise.
33519 * kern/i386/dl.c: Likewise.
33520 * kern/i386/pc/init.c: Likewise.
33521 * kern/i386/pc/lzo1x.S: Likewise.
33522 * kern/i386/pc/startup.S: Likewise.
33523 * loader/i386/pc/chainloader.c: Likewise.
33524 * loader/i386/pc/linux.c: Likewise.
33525 * loader/i386/pc/multiboot.c: Likewise.
33526 * normal/cmdline.c: Likewise.
33527 * normal/command.c: Likewise.
33528 * normal/main.c: Likewise.
33529 * normal/menu.c: Likewise.
33530 * normal/i386/setjmp.S: Likewise.
33531 * term/i386/pc/console.c: Likewise.
33532 * term/i386/pc/vga.c: Likewise.
33533 * util/console.c: Likewise.
33534 * util/genmoddep.c: Likewise.
33535 * util/misc.c: Likewise.
33536 * util/pupa-emu.c: Likewise.
33537 * util/resolve.c: Likewise.
33538 * util/unifont2pff.rb: Likewise.
33539 * util/i386/pc/biosdisk.c: Likewise.
33540 * util/i386/pc/getroot.c: Likewise.
33541 * util/i386/pc/pupa-mkimage.c: Likewise.
33542 * util/i386/pc/pupa-setup.c: Likewise.
33543
e6eced71 335442004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
33545
33546 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
33547 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
33548 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
33549 reading and reset it after reading.
33550 (pupa_ext2_close): Return PUPA_ERR_NONE.
33551
33552 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
33553 Correct value.
33554 (struct linux_kernel_header): Add kernel_version and
33555 initrd_addr_max.
33556 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
33557 pupa_file_read succeeds.
33558 (pupa_rescue_cmd_initrd): Implement.
33559
5aded270 335602003-12-03 Marco Gerards <metgerards@student.han.nl>
33561
33562 * fs/ext2.c (pupa_ext2_label): New function.
33563 (pupa_ext2_fs): Added label.
33564 * fs/fat.c (pupa_fat_label): New function.
33565 (pupa_fat_fs): Added label.
33566 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
33567
33568 * kern/misc.c (pupa_strndup): New function.
33569 * include/pupa/misc.h (pupa_strndup): New prototype.
33570
33571 * include/pupa/normal.h: Include <pupa/err.h>.
33572 (pupa_set_history): New prototype.
33573 (pupa_iterate_commands): New prototype.
33574 * normal/cmdline.c: Include <pupa/machine/partition.h>,
33575 <pupa/disk.h>, <pupa/file.h>.
33576 (hist_size): New variable.
33577 (hist_lines): Likewise.
33578 (hist_end): Likewise.
33579 (hist_used): Likewise.
33580 (pupa_set_history): New function.
33581 (pupa_history_get): Likewise.
33582 (pupa_history_add): Likewise.
33583 (pupa_history_replace): Likewise.
33584 (pupa_tab_complete): Likewise.
33585 (pupa_cmdline_run): Added tab completion and history buffer. Tab
33586 completion shows partitionnames while completing partitions, this
33587 feature was suggested by Jeff Bailey.
33588 * normal/command.c (pupa_iterate_commands): New function.
33589 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
33590 (pupa_normal_init): Initialize history buffer.
33591 (PUPA_MOD_INIT): Likewise.
33592 (pupa_normal_fini): Free the history buffer.
33593 (PUPA_MOD_FINI): Likewise.
33594
33595 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
33596 key.
33597
33598 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
33599 * configure.ac [i386]: Check for regparam bug.
33600 (NESTED_FUNC_ATTR) [! i386]: Defined.
33601
1f7315a3 336022003-11-17 Marco Gerards <metgerards@student.han.nl>
33603
33604 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
33605 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
33606 (pupa_emu_SOURCES): New variable.
33607 (pupa_emu_LDFLAGS): Likewise.
33608 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
33609 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
33610 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
33611 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
33612 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
33613 (pupa_jmp_buf): New typedef.
33614 (pupa_setjmp) [PUPA_UTIL]: New macro.
33615 (pupa_longjmp) [PUPA_UTIL]: Likewise.
33616 * include/pupa/term.h (struct pupa_term): New member `refresh'.
33617 (pupa_refresh): New prototype.
33618 * include/pupa/util/getroot.h: New file.
33619 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
33620 it.
33621 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
33622 (pupa_rescue_cmd_cat): Likewise.
33623 (pupa_rescue_cmd_ls): Likewise.
33624 (pupa_rescue_cmd_testload): Likewise.
33625 (pupa_rescue_cmd_lsmod): Likewise.
33626 * normal/cmdline.c (pupa_cmdline_get): Likewise.
33627 * normal/menu.c (run_menu): Likewise.
33628 * kern/term.c (pupa_cls): Likewise.
33629 (pupa_refresh): New function.
33630 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
33631 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
33632 * util/console.c: New file.
f19dbdb7 33633
1f7315a3 33634 * util/i386/pc/getroot.c: New file.
33635 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
33636 (pupa_putchar): New function.
33637 (pupa_refresh): Likewise.
33638 (xgetcwd): Function moved to ...
33639 (strip_extra_slashes): Likewise.
33640 (get_prefix): Likewise.
f19dbdb7 33641 * util/i386/pc/getroot.c: ... here.
1f7315a3 33642 (find_root_device): Function moved and renamed to...
33643 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
33644 Changed all callers.
33645 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
33646 and renamed to...
33647 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
33648 Changed all callers.
33649 * util/misc.c (pupa_memalign): New function.
33650 (pupa_mm_init_region): Likewise.
33651 (pupa_register_exported_symbols): Likewise.
33652 (pupa_putchar): Function removed.
33653 * util/pupa-emu.c: New file.
33654
9a5c1ade 336552003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
33656
33657 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
33658 (_multiboot_mod_SOURCES): New variable.
33659 (_multiboot_mod_CFLAGS): Likewise.
33660 * loader/i386/pc/multiboot.c: New file.
33661 * include/pupa/i386/pc/multiboot.h: Likewise.
33662 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
33663 (pupa_multiboot_real_boot): New function.
33664 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
33665 (pupa_multiboot_real_boot): New prototype.
33666 (pupa_rescue_cmd_multiboot): Likewise
33667 (pupa_rescue_cmd_module): Likewise.
33668
33669 * kern/loader.c (pupa_loader_set): Continue when
33670 pupa_loader_unload_func() fails.
33671 (pupa_loader_unset): New function.
33672 * include/pupa/loader.h (pupa_loader_unset): New prototype.
33673
33674 * kern/misc.c (pupa_stpcpy): New function.
33675 * include/pupa/misc.h (pupa_stpcpy): New prototype.
33676
8e72a9c0 336772003-11-12 Marco Gerards <metgerards@student.han.nl>
33678
33679 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
33680 for available extensions.
33681
33682 * include/pupa/i386/pc/time.h: New file.
33683 * kern/disk.c: Include <pupa/machine/time.h>.
33684 (PUPA_CACHE_TIMEOUT): New macro.
33685 (pupa_last_time): New variable.
33686 (pupa_disk_open): Flush the cache when there was a timeout.
33687 (pupa_disk_close): Reset the timer.
33688 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
33689 pupa_currticks.
33690 * util/misc.c: Include <sys/times.h>
33691 (pupa_get_rtc): New function.
33692
c4adbd32 336932003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33694
33695 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
33696 as blocks.
33697 (pupa_ext2_get_file_block): Use blocks member.
33698
33699 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
33700 first block. Return -1 instead of pupa_errno on error.
33701
bfd30f06 337022003-10-27 Marco Gerards <metgerards@student.han.nl>
33703
33704 * README: In the pupa-mkimage example use _chain instead of chain
33705 and ext2 instead of fat.
33706 * TODO: Replace ext2fs with jfs as an example. Add an item for
33707 adding journal playback for ext2fs.
33708 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
33709 (pkgdata_MODULES): Added ext2.mod.
33710 (ext2_mod_SOURCES): New variable.
33711 (ext2_mod_CFLAGS): Likewise.
33712 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
33713 * include/pupa/misc.h (pupa_strncpy): New prototype.
33714 (pupa_strcat): Likewise.
33715 (pupa_strncmp): Likewise.
33716 * kern/misc.c (pupa_strcat): Enable function.
33717 (pupa_strncpy): New function.
33718 (pupa_strncmp): Likewise.
33719 * fs/ext2.c: New file.
f19dbdb7 33720
bfd30f06 33721 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
33722 when the read failed before retrying.
33723 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
33724 (_FILE_OFFSET_BITS): Likewise.
33725 * configure.ac: Added AC_SYS_LARGEFILE.
33726
98d15063 337272003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
33728
33729 * genmk.rb (PModule#rule): Make sure to get only symbol names
33730 from the output of nm.
59cad637 33731 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 33732
18d9c7cd 337332003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
33734
33735 I forgot to check in these changes for a long time. This adds
33736 incomplete support for VGA console, and this is still very
33737 buggy. Also, a lot of consideration is required for I18N,
33738 UNICODE, and VGA font issues. Therefore, assume that this is
33739 such that "better than nothing".
f19dbdb7 33740
18d9c7cd 33741 * font/manager.c: New file.
33742 * include/pupa/font.h: Likewise.
33743 * include/pupa/i386/pc/vga.h: Likewise.
33744 * term/i386/pc/vga.c: Likewise.
33745 * util/unifont2pff.rb: Likewise.
33746
33747 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
33748 (pkgdata_MODULES): Added vga.mod and font.mod.
33749 (vga_mod_SOURCES): New variables.
33750 (vga_mod_CFLAGS): Likewise.
33751 (font_mod_SOURCES): Likewise.
33752 (font_mod_CFLAGS): Likewise.
33753
33754 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
33755
33756 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 33757 (struct pupa_term): Added init and fini.
18d9c7cd 33758 Changed the argument of putchar to pupa_uint32_t.
33759
33760 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
33761 (pupa_console_real_putchar): New prototype.
33762 (pupa_console_putchar): Removed.
33763 (pupa_console_checkkey): Exported.
33764 (pupa_console_getkey): Likewise.
33765
33766 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
33767 characters.
33768
33769 * kern/term.c (pupa_term_set_current): Rewritten.
33770 (pupa_putchar): Likewise.
33771 (pupa_putcode): New function.
33772
33773 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
33774 (pupa_console_real_putchar): ... this.
33775 (pupa_vga_set_mode): New function.
33776 (pupa_vga_get_font): Likewise.
33777
33778 * normal/command.c: Include pupa/term.h.
33779 (terminal_command): New function.
33780 (pupa_command_init): Register the command "terminal".
33781
33782 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
33783 (DISP_UP): Likewise.
33784 (DISP_RIGHT): Likewise.
33785 (DISP_DOWN): Likewise.
33786 (DISP_HLINE): Likewise.
33787 (DISP_VLINE): Likewise.
33788 (DISP_UL): Likewise.
33789 (DISP_UR): Likewise.
33790 (DISP_LL): Likewise.
33791 (DISP_LR): Likewise.
33792
33793 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 33794
977329f5 337952003-02-08 NIIBE Yutaka <gniibe@m17n.org>
33796
33797 * util/resolve.c (pupa_util_resolve_dependencies): BUG
33798 FIX. Reverse the path_list.
33799
33800 * include/pupa/normal.h: Export pupa_register_command and
33801 pupa_unregister_command.
33802
33803 * hello/hello.c (pupa_cmd_hello): New module.
33804 * conf/i386-pc.rmk: Added hello.mod.
33805
1f5ab428 338062003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
33807
33808 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 33809
1f5ab428 33810 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
33811 (compress_kernel): New variable.
33812 (generate_image): Heavily modified to support compressing a
33813 large part of the core image.
33814
33815 * util/misc.c (pupa_util_read_image): Fix a file descriptor
33816 leak.
33817 (pupa_util_load_image): New function.
33818
33819 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
33820 (pupa_compressed_size): New variable.
33821 (codestart): Enable Gate A20 here.
33822 Decompress the compressed part of the core image.
33823 Rearrange the code to put functions and variables which are
33824 required for initialization in the non-compressed part.
33825 Include lzo1x.S.
33826
33827 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
33828 here.
33829
33830 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
33831
f19dbdb7 33832 * include/pupa/i386/pc/kernel.h
1f5ab428 33833 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
33834 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
33835 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
33836 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
33837 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
33838
33839 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
33840
33841 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
33842 (Utility#rule): Likewise.
33843
33844 * configure.ac: Check if LZO is available.
33845
ce5bf700 338462003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
33847
33848 * include/pupa/normal.h: New file.
33849 * include/pupa/setjmp.h: Likewise.
33850 * include/pupa/i386/setjmp.h: Likewise.
33851 * normal/cmdline.c: Likewise.
33852 * normal/command.c: Likewise.
33853 * normal/main.c: Likewise.
33854 * normal/menu.c: Likewise.
33855 * normal/i386/setjmp.S: Likewise.
f19dbdb7 33856
ce5bf700 33857 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
33858 (pupa_rescue_cmd_initrd): Likewise.
33859
33860 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
33861 Likewise.
33862
33863 * kern/i386/pc/startup.S (translation_table): New variable.
33864 (translate_keycode): New function.
33865 (pupa_console_getkey): Call translate_keycode.
33866
33867 * kern/rescue.c (attempt_normal_mode): New function.
33868 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
33869 it failed, print a message.
33870
33871 * kern/mm.c (pupa_real_malloc): Print more information when a
33872 free magic is broken.
33873 (pupa_free): If the first free header is not free actually, set
33874 it to P.
33875
33876 * kern/main.c (pupa_load_normal_mode): Just load the module
33877 "normal".
33878 (pupa_main): Don't print the message
33879 "Entering into rescue mode..." here.
33880
33881 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
33882 Declared.
33883 (pupa_rescue_cmd_initrd): Likewise.
33884 (pupa_rescue_cmd_initrd): Likewise.
33885
33886 * include/pupa/symbol.h (FUNCTION): Specify the type.
33887 (VARIABLE): Likewise.
33888
33889 * include/pupa/err.h (pupa_err_t): Added
33890 PUPA_ERR_UNKNOWN_COMMAND.
33891
33892 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
33893 (pupa_dl_get_prefix): Likewise.
33894
33895 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
33896 Added _chain.mod and _linux.mod instead of chain.mod and
33897 linux.mod.
33898 (chain_mod_SOURCES): Renamed to ...
33899 (_chain_mod_SOURCES): ... this.
33900 (chain_mod_CFLAGS): Renamed to ...
33901 (_chain_mod_CFLAGS): ... this.
33902 (linux_mod_SOURCES): Renamed to ...
33903 (_linux_mod_SOURCES): ... this.
33904 (linux_mod_CFLAGS): Renamed to ...
33905 (_linux_mod_CFLAGS): ... this.
33906 (normal_mod_SOURCES): New variable.
33907 (normal_mod_CFLAGS): Likewise.
33908 (normal_mod_ASFLAGS): Likewise.
33909
339102003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
33911
33912 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
33913 possible.
33914
fe6b695a 33915 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 33916 recursively.
33917 (pupa_dl_unref): Unrefer depending modules recursively.
33918 Don't call pupa_dl_unload implicitly, because PUPA can crash if
33919 a module is unloaded before one depending on that module is
33920 unloaded.
33921 (pupa_dl_unload): Unload depending modules explicitly,
33922 if possible.
33923
c04da074 339242003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
33925
33926 * include/pupa/i386/pc/linux.h: New file.
33927 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 33928
c04da074 33929 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
33930 Removed.
33931 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
33932 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
33933 of PUPA_CHAINLOADER_BOOT_SECTOR.
33934
33935 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
33936 (pupa_linux_prot_size): New variable.
33937 (pupa_linux_tmp_addr): Likewise.
33938 (pupa_linux_real_addr): Likewise.
33939 (pupa_linux_boot_zimage): New function.
33940 (pupa_linux_boot_bzimage): Likewise.
33941
33942 * kern/i386/pc/init.c (struct mem_region): New structure.
33943 (MAX_REGIONS): New macro.
33944 (mem_regions): New variable.
33945 (num_regions): Likewise.
33946 (pupa_os_area_addr): Likewise.
33947 (pupa_os_area_size): Likewise.
33948 (pupa_lower_mem): Likewise.
33949 (pupa_upper_mem): Likewise.
33950 (add_mem_region): New function.
33951 (compact_mem_regions): Likewise.
33952 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
33953 the size of the conventional memory and that of so-called upper
33954 memory (before the first memory hole).
33955 Instead of adding each found region to free memory, use
33956 add_mem_region and add them after removing overlaps.
33957 Also, add only 1/4 of the upper memory to free memory. The rest
33958 is used for loading OS images. Maybe this is ad hoc, but this
33959 makes it much easier to relocate OS images when booting.
33960
33961 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
33962 (pupa_enter_rescue_mode): Don't register initrd and module.
33963
33964 * kern/mm.c: Include pupa/dl.h.
33965
33966 * kern/main.c: Include pupa/file.h and pupa/device.h.
33967
33968 * kern/loader.c (pupa_loader_load_module_func): Removed.
33969 (pupa_loader_load_module): Likewise.
33970
33971 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
33972 ``.o''.
33973
33974 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
33975 (pupa_linux_tmp_addr): Likewise.
33976 (pupa_linux_real_addr): Likewise.
33977 (pupa_linux_boot_zimage): Likewise.
33978 (pupa_linux_boot_bzimage): Likewise.
33979
33980 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
33981 (pupa_upper_mem): Likewise.
33982 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
33983 module is too dangerous.
33984
33985 * include/pupa/loader.h (pupa_os_area_addr): Declared.
33986 (pupa_os_area_size): Likewise.
33987 (pupa_loader_set): Remove the first argument. Loader doesn't
33988 manage modules or initrd any longer.
33989 (pupa_loader_load_module): Removed.
33990
33991 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
33992 (linux_mod_SOURCES): New variable.
33993 (linux_mod_CFLAGS): Likewise.
33994
a13f9237 339952003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
33996
33997 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
33998 the length of a blocklist correctly.
33999
34000 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
34001 Use ioctl only if the OS file is a block device.
34002 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
34003 not very useful for normal files.
34004
34005 * kern/main.c (pupa_set_root_dev): New function.
34006 (pupa_load_normal_mode): Likewise.
34007 (pupa_main): Call those above.
34008
34009 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
34010 pupa_uint16_t.
34011
34012 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
34013
a5ffe966 340142003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34015
34016 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
34017 (setup): Configure the installed partition information and the
34018 dl prefix.
34019
34020 * loader/i386/pc/chainloader.c (my_mod): New variable.
34021 (pupa_chainloader_unload): New function.
34022 (pupa_rescue_cmd_chainloader): Refer itself.
34023 (PUPA_MOD_INIT): Save its own module in MY_MOD.
34024
34025 * kern/i386/pc/startup.S (install_partition): Removed.
34026 (version_string): Likewise.
34027 (config_file): Likewise.
34028 (pupa_install_dos_part): New variable.
34029 (pupa_install_bsd_part): Likewise.
34030 (pupa_prefix): Likewise.
34031 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
34032
34033 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
34034 and pupa/misc.h.
34035 (make_install_device): New function.
34036 (pupa_machine_init): Set the dl prefix.
34037
34038 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
34039 (buf): Renamed to ...
34040 (linebuf): ... this.
34041 (pupa_rescue_cmd_prefix): New function.
34042 (pupa_rescue_cmd_insmod): Likewise.
34043 (pupa_rescue_cmd_rmmod): Likewise.
34044 (pupa_rescue_cmd_lsmod): Likewise.
34045 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
34046 rmmod and lsmod.
34047
34048 * kern/mm.c (pupa_memalign): If failed even after invalidating
34049 disk caches, unload unneeded modules and retry.
34050
34051 * kern/misc.c (pupa_memmove): New function.
34052 (pupa_memcpy): Removed.
34053 (pupa_strcpy): New function.
34054 (pupa_itoa): Made static.
34055
34056 * kern/dl.c (pupa_dl_iterate): New function.
34057 (pupa_dl_ref): Likewise.
34058 (pupa_dl_unref): Likewise.
34059 (pupa_dl_unload): Return if succeeded or not.
34060 (pupa_dl_unload_unneeded): New function.
34061 (pupa_dl_unload_all): Likewise.
34062 (pupa_dl_init): Renamed to ...
34063 (pupa_dl_set_prefix): ... this.
34064 (pupa_dl_get_prefix): New function.
34065
34066 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
34067 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
34068 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34069 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34070 (pupa_install_dos_part): Declared.
34071 (pupa_install_bsd_part): Likewise.
34072 (pupa_prefix): Likewise.
34073 (pupa_boot_drive): Likewise.
34074
34075 * include/pupa/types.h: Fix a typo.
34076
34077 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
34078 pupa_memmove.
34079 (pupa_memmove): Declared.
34080 (pupa_strcpy): Likewise.
34081
34082 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
34083 pupa_mod_init takes one argument, its own module.
34084 (pupa_dl_unload_unneeded): Declared.
34085 (pupa_dl_unload_all): Likewise.
34086 (pupa_dl_ref): Likewise.
34087 (pupa_dl_unref): Likewise.
34088 (pupa_dl_iterate): Likewise.
34089 (pupa_dl_init): Renamed to ...
34090 (pupa_dl_set_prefix): ... this.
34091 (pupa_dl_get_prefix): Declared.
34092
34093 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 34094 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 34095 unloaded.
34096 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
34097 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
34098
34099 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
34100 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
34101
012d7999 341022003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34103
34104 * util/i386/pc/pupa-setup.c (setup): Define the internal
34105 function find_first_partition_start at the top level, because GCC
34106 3.0.x cannot compile internal functions in deeper scopes
34107 correctly.
34108 (find_root_device): Use lstat instead of stat.
34109 Don't follow symbolic links.
34110 Fix the path-constructing code.
34111
34112 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
34113 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
34114 by a BLKGETSIZE ioctl first, because block devices don't fill
34115 the member st_mode of the structure stat on Linux.
34116 [__linux__] (linux_find_partition): Use a temporary buffer
34117 REAL_DEV for the working space. Copy it to DEV before returning.
34118 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
34119 buffer cache consistent.
34120 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
34121 strncmp. The previous value was merely wrong.
34122 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
34123
34124 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
34125 FAT size is 12. The previous value was merely wrong.
34126
34127 * kern/main.c (pupa_main): Don't split the starting message from
34128 newlines.
34129
34130 * kern/term.c (pupa_putchar): Put CR after LF instead of before
34131 LF, because BIOS goes crazy about character attributes in this
34132 case.
34133
1cc73a62 341342003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34135
34136 * include/i386/pc/util/biosdisk.h: New file.
34137 * util/i386/pc/biosdisk.c: Likewise.
34138 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 34139
1cc73a62 34140 * Makefile.in (INCLUDE_DISTFILES): Added
34141 include/pupa/i386/pc/util/biosdisk.h.
34142 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
34143 directory util/i386/pc.
34144 (install-local): Added a rule for sbin_UTILITIES.
34145 (uninstall): Likewise.
34146
34147 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
34148
34149 * util/misc.c (xrealloc): New function.
34150 (pupa_malloc): Likewise.
34151 (pupa_free): Likewise.
34152 (pupa_realloc): Likewise.
34153 (pupa_stop): Likewise.
34154 (pupa_putchar): Likewise.
34155
34156 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
34157
34158 * include/pupa/util/misc.h (xrealloc): Declared.
34159
34160 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
34161 macro.
34162 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
34163 (PUPA_BOOT_MACHINE_BPB_END): ... this.
34164
34165 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
34166 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34167
34168 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
34169 way should be implemented.
34170 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34171
34172 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
34173 the size of NAME for safety.
34174 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
34175 0x88.
34176
34177 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
34178 (pupa_setup_SOURCES): Likewise.
34179
34180 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
34181
08b70fe8 341822002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34183
34184 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
34185 bunch of pushl's from pusha, because this destroys the return
34186 value.
34187
62ddcc8f 341882002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34189
34190 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
34191 This means that any missing prototypes could be fatal. Also, you
34192 must take care when writing assembly code. See the comments at
34193 the beginning of startup.S, for more details.
f19dbdb7 34194
62ddcc8f 34195 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
34196 compilation mechanism.
34197 (pupa_chainloader_real_boot): Likewise.
34198 (pupa_biosdisk_rw_int13_extensions): Likewise.
34199 (pupa_biosdisk_rw_standard): Likewise.
34200 (pupa_biosdisk_check_int13_extensions): Likewise.
34201 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
34202 (pupa_biosdisk_get_diskinfo_standard): Likewise.
34203 (pupa_get_memsize): Likewise.
34204 (pupa_get_mmap_entry): Likewise.
34205 (pupa_console_putchar): Likewise.
34206 (pupa_console_setcursor): Likewise.
34207 (pupa_getrtsecs): Use pushl instead of push.
34208
34209 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
34210 memory instead of the stack for a mmap entry, because some
34211 BIOSes may ignore the maximum size and overflow.
34212
34213 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
34214
34215 * genmk.rb (PModule#rule): Compile automatically generated
34216 sources with module-specific CFLAGS as well as other sources.
34217
9962ed99 342182002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34219
34220 * configure.ac: Check ld.
34221 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
34222 respectively, before checking endianness and sizes.
34223
34224 * Makefile.in (LD): New variable.
f19dbdb7 34225
abdfc3c5 342262002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34227
34228 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
34229
6a161fa9 342302002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34231
34232 * Changelog: New file.
34233