]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
[grub2.git] / ChangeLog
CommitLineData
b1969b30
VS
12011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
4 badfs.
5 Reported by: TiCPU.
6
cf0eaf13
VS
72011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10 members errors.
11
1f060f39
GS
122011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13
14 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
15 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
16
a21e5672
GS
172011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
18
19 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
20 openbsd and netbsd types being in part_bsd module.
21
c88172fa
VS
222011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
25 (_FILE_OFFSET_BITS): Likewise.
26 Reported by: Seth Goldberg.
27
53798c4b
GS
282011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
29
30 * configure.ac: Check for libdevmapper header.
31
e7121b69
VS
322011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
35 avoid aliasing.
36 (fzap_lookup): Likewise.
37 (dnode_get): Likewise.
38 (make_mdn): Likewise.
39 (zfs_mount): Likewise.
40 (fzap_iterate): Use temporary pointer to avoid aliasing.
41 (grub_zfs_read): Likewise.
42 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
43 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
44 pointers to avoid aliasing.
45 (grub_cmd_xnu_kernel64): Likewise.
46 (grub_xnu_load_driver): Likewise.
47
fc836af9
VS
482011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
51 aliasing warning.
52 (grub_cmd_terminal_output): Likewise.
53 Reported and tested by: Grégoire Sutre.
54
f9f37648
VS
552011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
58 warning.
59 Reported and tested by: Grégoire Sutre.
60
ec1dfd63
VS
612011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * configure.ac: Do CPU substitution even if it's specified explicitly.
64 Reported and tested by: Alain Greppin.
65
9462775a
VS
662011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
69 Reported and tested by: Alain Greppin.
70
0fd48e35
VS
712011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
72
73 Satisfy some bison versions need for inttypes.h.
74
75 * grub-core/lib/posix_wrap/inttypes.h: New file.
76 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
77 (int16_t): Likewise.
78 (int32_t): Likewise.
79 (int64_t): Likewise.
80 Reported and tested by: Alain Greppin.
81
43f1bc83
VS
822011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
85 Silence spurious warning.
86 Reported and tested by: Alain Greppin.
87
64d1f041
SJ
882011-01-07 Szymon Janc <szymon@janc.net.pl>
89
90 * docs/grub.texi (Support automatic decompression): Update with xz
91 decompression support.
92
25953e10
SJ
932011-01-07 Szymon Janc <szymon@janc.net.pl>
94
95 Improve loaders' kernel command line handling.
96
97 * grub-core/lib/cmdline.c: New file.
98 * include/grub/lib/cmdline.h: Likewise.
99 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
100 grub_create_loader_cmdline to create kernel command line.
101 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
102 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
103 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
104 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
105 (linux): Add lib/cmdline.c on common.
106
e72d259f
VS
1072011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
110 inopos might be unaligned.
111
c0cf26da
VS
1122011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
115 endian transformations.
116 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
117 Based on report by: Doug Nazar.
118
0ca09e6c
DN
1192011-01-07 Doug Nazar <nazard.michi@gmail.com>
120
121 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
122 array->members[i].start_sector.
123 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
124
014b6806
VS
1252011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
128 Reported and tested by: Grégoire Sutre.
129
415502c2
CW
1302011-01-06 Colin Watson <cjwatson@ubuntu.com>
131
132 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
133 avoid causing test failures by clearing the screen.
134
71b6a2b7
CW
1352011-01-06 Colin Watson <cjwatson@ubuntu.com>
136
137 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
138 Fix prefix check to handle the case where dir ends with a slash
139 (most significantly, "/" itself).
140 Reported by: Michael Vogt.
141
b3f8d28a
VS
1422011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
143
144 Run terminfo_cls on initing terminfo output to clear the screen and
145 move the cursor to (0,0).
146
147 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
148 Call grub_terminfo_output_init.
149 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
150 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
151 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
152
4c3e4f37
VS
1532011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
156 only when needed.
157
488f71f1
VS
1582011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
161 CTRL.
162
18a38098
VS
1632011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
164
165 The E820 type 5 is BADRAM, not EXEC_CODE.
166
167 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
168 (GRUB_E820_BADRAM): New define.
169 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
170 into reserved. Propagate BADRAM.
171 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
172 (GRUB_E820_BADRAM): New define.
173
9eae2084
VS
1742011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
177 Ignore the memory post-4G.
178 (grub_relocator_firmware_alloc_region): Additional debug statement.
179
ebc71d28
VS
1802011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
183 names.
184 Reported by: David Pravec.
185
446fa400
VS
1862011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
189 BIOSes.
190
a0159f37
VS
1912011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
194 Prevent overflow.
195 (grub_reed_solomon_recover): Likewise.
196
e5146ca1
VS
1972011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
200
2012011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
202
203 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
204 variable.
205
5b1bdf12
CW
2062011-01-04 Colin Watson <cjwatson@ubuntu.com>
207
208 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
209 descriptions of extract_legacy_entries_source and
210 extract_legacy_entries_configfile.
211 Reported by: Seung Soo, Ha.
212
99d925aa
CW
2132011-01-03 Colin Watson <cjwatson@ubuntu.com>
214
215 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
216 on devices that do not implement function 0.
217
4af0504b
DV
2182011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
219
220 * grub-core/fs/hfsplus.c: Make parent unsigned.
221 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
222 overflows.
223 (grub_hfsplus_cmp_extkey): Likewise
224
469ee10a
VS
2252011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * util/grub-install.in: Correctly use bootloader_id and not
228 GRUB_DISTRIBUTOR on efibootmgr line.
229
323a8e9c
VS
2302011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
233
1b394975
IC
2342010-12-31 Ian Campbell <ijc@hellion.org.uk>
235
236 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
237 Xen and reorder menu item wording to make it clearer that this entry
238 will launch Xen. Print separate messages when loading Xen and
239 Linux.
240
275bff5f
VS
2412010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
244 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
245 loop in case of incorrect amiga partmap.
246
307806cb
VS
2472010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
250 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
251 Reported by:EHeM.
252
b12b923e
VS
2532010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
256 spurious warning.
257 Reported by: crocket
258
14b48a19
VS
2592010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
262 Preload EFIemu.
263 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
264
693db2df
VS
2652010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
268 is loaded
269 (grub_cmd_xnu_kextdir): Likewise.
270 (grub_cmd_xnu_splash): Likewise.
271
c7638645
VS
2722010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
273
274 Avoid using Reed-Solomon with 0 redundancy.
275
276 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
277 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
278 or 0 redundancy.
279 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
280 (grub_reed_solomon_recover): Likewise.
281
25dd4780
VS
2822010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
283
284 Don't use disk subsystem in freebsd_boot.
285
286 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
287 (freebsd_biosdev): Likewise.
288 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
289 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
290
0b2db943
VS
2912010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
292
293 Handling of files of unknown size is currently limited. They can't be
294 used e.g. for initrd or modules. Moreover gzip handling of not
295 easily seekable files is buggy. Disable unknown file size for now. May
296 be inefficient but works.
297
298 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
299 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
300
5c408d0f
MP
3012010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
302
303 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
304 floppy probe.
305
190a011a
JD
3062010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
307
308 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
309
022d01b8
SL
3102010-12-25 Shea Levy <shlevy>
311
312 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
313
c4855fdc
VS
3142010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
317 Windows Server 2008.
318 Reported by: Devin Giddings.
319
0354b867
VS
3202010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
323 writing an error message because of async power management.
324 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
325 (grub_reboot): Likewise.
326
ab66c69f
JU
3272010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
328
329 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
330 keep unit tests from failing when they shouldn't.
331
1426ef35
CW
3322010-12-21 Colin Watson <cjwatson@ubuntu.com>
333
334 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
335 previous patch increased the size of the RS code by 20 bytes (at
336 least with gcc-4.4), so increase this by 20 bytes to match.
337 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
338
20641b6b
CW
3392010-12-21 Colin Watson <cjwatson@ubuntu.com>
340
341 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
342 scratch area. Make sure to initialise chosen in standalone mode as
343 well as non-standalone.
344 Reported by: Robert Hooker and Andy Whitcroft.
345 Tested by: Andy Whitcroft.
346
d060ad60
CW
3472010-12-21 Colin Watson <cjwatson@ubuntu.com>
348
349 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
350 constructing a new unescaped string and passing it to grub_xputs in
351 one go, rather than passing characters to grub_printf one at a time.
352
b889cfad
CW
3532010-12-21 Colin Watson <cjwatson@ubuntu.com>
354
355 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
356 initialising utf16.
357
4e01b6c8
CW
3582010-12-21 Colin Watson <cjwatson@ubuntu.com>
359
360 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
361 comment. Add an extra layer of quotation, requiring the output of
362 this function to be used in a printf format string.
363 (gettext_printf): New function.
364 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
365 Extract translatable strings from here-documents and use a temporary
366 variable instead, so that xgettext can find them.
367 * util/grub.d/10_kfreebsd.in: Likewise.
368 * util/grub.d/10_linux.in: Likewise.
369 * util/grub.d/20_linux_xen.in: Likewise.
370
371 * po/grub.d.sed: New file.
372 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
373 arguments. Set c-format flags on all strings extracted from
374 util/grub.d/ (xgettext refuses to include these itself for strings
375 it extracted from a shell file, but these really are c-format).
376
5318fe98
VS
3772010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
380 Avoid next pointing to nowhere.
381
6c85b743
VS
3822010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
383
384 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
385 rather than assuming than rootblock is exactly in the middle.
386 (grub_affs_label): Likewise.
387
a2a08a35
VS
3882010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
391 reserved_first_sector to 0.
392 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
393 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
394 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
395
7059d1ec
VS
3962010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
397
398 Fix handling of UTF-16 UDF labels.
399
400 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
401 (read_string): .. here.
402 (grub_udf_label): Use read_string.
403
30aff4cb
BC
4042010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
405
406 * grub-core/normal/menu_entry.c (run): Execute commands from menu
407 editor under argument scope.
408 Reported by: Jordan Uggla
409
5cf86f4b
VS
4102010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
413
32570200
CW
4142010-12-18 Colin Watson <cjwatson@ubuntu.com>
415
416 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
417 line, and other keys scroll an entire page (previous handling was
418 for \r and \n to scroll a page and other keys to scroll two lines).
419
e1dffcf2
VS
4202010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
423 Set ptrdest to correct get_physical_target_address rather than
424 incorrect get_virtual_current_address.
425
b04298cf 4262010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
427
428 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
429 correct cat to grub_uint8_t * rather than grub_uint32_t *.
430
5367ecd3
CW
4312010-12-10 Colin Watson <cjwatson@ubuntu.com>
432
433 * .bzrignore: Ignore grub-core/rs_decoder.S.
434
1fb430f8
CW
4352010-12-10 Colin Watson <cjwatson@ubuntu.com>
436
437 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
438 .mo/.mo.gz opening sequence to ...
439 (grub_mofile_open_lang): ... here.
440 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
441 * util/grub.d/00_header.in (grub_lang): Include country part of
442 locale.
443 Reported by: Mario Limonciello.
444
a94a6671
RM
4452010-12-09 Robert Millan <rmh@gnu.org>
446
447 * NEWS: Document addition of ZFS support.
448
24b7938b
CW
4492010-12-04 Colin Watson <cjwatson@ubuntu.com>
450
451 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
452 rather than `/ 2', as the latter requires -Wa,--divide which would
453 require bumping our minimum binutils version.
454
bddc3ef6
BC
4552010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
456
457 * util/grub-script-check.c (main): Print script line number on
458 error.
459
bf78d5b2
RM
4602010-12-01 Robert Millan <rmh@gnu.org>
461
462 * grub-core/fs/zfs/zfs.c: New file.
463 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
464 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
465 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
466 * grub-core/fs/zfs/zfsinfo.c: Likewise.
467
468 * include/grub/zfs/dmu.h: Likewise.
469 * include/grub/zfs/dmu_objset.h: Likewise.
470 * include/grub/zfs/dnode.h: Likewise.
471 * include/grub/zfs/dsl_dataset.h: Likewise.
472 * include/grub/zfs/dsl_dir.h: Likewise.
473 * include/grub/zfs/sa_impl.h: Likewise.
474 * include/grub/zfs/spa.h: Likewise.
475 * include/grub/zfs/uberblock_impl.h: Likewise.
476 * include/grub/zfs/vdev_impl.h: Likewise.
477 * include/grub/zfs/zap_impl.h: Likewise.
478 * include/grub/zfs/zap_leaf.h: Likewise.
479 * include/grub/zfs/zfs.h: Likewise.
480 * include/grub/zfs/zfs_acl.h: Likewise.
481 * include/grub/zfs/zfs_znode.h: Likewise.
482 * include/grub/zfs/zil.h: Likewise.
483 * include/grub/zfs/zio.h: Likewise.
484 * include/grub/zfs/zio_checksum.h: Likewise.
485
486 * Makefile.util.def: Build ZFS into libgrubmods.
487 * grub-core/Makefile.core.def: Build zfs.mod.
488
3f0f3831
SJ
4892010-11-30 Szymon Janc <szymon@janc.net.pl>
490
491 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
492 variable.
493 * grub-core/commands/wildcard.c (match_files): Likewise.
494
3a4253b2
RM
4952010-11-30 Robert Millan <rmh@gnu.org>
496
497 * grub-core/loader/i386/bsd.c
498 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
499 whether kernel is loaded using grub_loader_is_loaded(), rather
500 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
501 certain error conditions.
502
8c317b27
RM
5032010-11-30 Robert Millan <rmh@gnu.org>
504
c5c9cd3e
RM
505 * grub-core/commands/echo.c: Include `<grub/term.h>'.
506 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 507
49d3ab46
VS
5082010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
509
510 Avoid using tricks for initialising endian variables.
511
512 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
513 Make const.
514 (GRUB_MOD_INIT): Don't byte-swap.
515 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
516 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
517 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
518 (grub_swap_bytes32_compile_time): Likewise.
519 (grub_cpu_to_le32_compile_time): Likewise.
520 (grub_cpu_to_le16_compile_time): Likewise.
521
f420a804
VS
5222010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * util/grub-setup.c (setup): Stop recommending --force. People who
525 understand the dangers of blocklists are able to find this option
526 anyway and the ones who don't shouldn't use it anyway.
527
4e7db17b
RM
5282010-11-26 Robert Millan <rmh@gnu.org>
529
530 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
531 Update all users.
532
9be57a0d
CW
5332010-11-26 Colin Watson <cjwatson@ubuntu.com>
534
535 Fix LVM-on-RAID probing.
536
537 * util/grub-probe.c (probe): Remember which disk was detected as
538 RAID (perhaps an LVM physical volume). Use that disk's raidname
539 rather than that of the top-level disk.
540
2c7859b3 5412010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 542
d7647bb6
BC
543 Fix cmdline argument quotes for setparams command of menuentry
544 definitions.
7e623b0d
BC
545
546 * grub-core/commands/menuentry.c (setparams_prefix): Use single
547 quotes for arguments.
f866fe80 548 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 549 grub_strchrsub function instead.
f866fe80 550
7955bea0 551 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 552
74f72a64
CW
5532010-11-24 Colin Watson <cjwatson@ubuntu.com>
554
555 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
556 effort by skipping "." and ".." entries up-front.
557 Suggested by: Michael Lazarev.
558
5a407278
CW
5592010-11-24 Colin Watson <cjwatson@ubuntu.com>
560
561 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
562 ldflags to ldadd, to fix link line ordering.
563 (none_decompress): Likewise.
564
3030d8ec
CW
5652010-11-24 Colin Watson <cjwatson@ubuntu.com>
566
567 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
568 platforms.
569 (grub-emu-lite): Remove kern/emu/cache.S.
570
b7fbac12
CW
5712010-11-23 Colin Watson <cjwatson@ubuntu.com>
572
573 * util/deviceiter.c (compare_devices): If the by-id link for a
574 device couldn't be resolved, fall back to sorting by the by-id link
575 rather than segfaulting.
576 Reported and tested by: Daniel Mierswa.
577
5225f328
CW
5782010-11-23 Colin Watson <cjwatson@ubuntu.com>
579
580 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
581 ldflags, to fix link line ordering.
582
038b3ce8
CW
5832010-11-23 Colin Watson <cjwatson@ubuntu.com>
584
585 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
586 linkers are picky about this.
587
bf16e98e
CW
5882010-11-23 Colin Watson <cjwatson@ubuntu.com>
589
590 * grub-core/Makefile.am (command.lst): Adjust sed expression
591 ordering so that extended and priority commands aren't treated as
592 ordinary commands.
593
7242bab6
CW
5942010-11-23 Colin Watson <cjwatson@ubuntu.com>
595
596 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
597 Remove byte-swapping function calls, which are not valid in
598 structure initialisers.
599 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
600 non-const.
601 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
602 grub_gpt_partition_type_bios_boot.
603
14e8b279
CW
6042010-11-22 Colin Watson <cjwatson@ubuntu.com>
605
606 Fix test program build on GNU/kFreeBSD.
607
608 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
609 $(LIBNVPAIR)' library dependencies.
610
e6f63338 6112010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
612
613 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
614
cf8ffc38
CW
6152010-11-22 Colin Watson <cjwatson@ubuntu.com>
616
617 * util/grub-install.in: Remove excessive quoting that broke
618 installations to RAID devices.
619
7f8b0fd7
VS
6202010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
623 bootloader version instead of 0.
624
dfd240b1
VS
6252010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
628 warning.
629
7b61e609
VS
6302010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
633 retrieve the metadat sector if size isn't known.
634 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
635
9dfe92d0
RM
6362010-11-18 Robert Millan <rmh@gnu.org>
637
638 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
639 with grub_memcmp().
640
41cc919e
VS
6412010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
644 arrow.
645 Reported by: Jordan Uggla.
646
1afcc914
VS
6472010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
648
649 Make better UTF compliant.
650
651 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
652 sequences as incorrect.
653 (grub_is_valid_utf8): Likewise.
654 (grub_utf8_to_ucs4): Likewise.
655 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
656 (grub_ucs4_to_utf8_alloc): Likewise.
657 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
658
f1808884
VS
6592010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
660
661 Make legacy_source behave like source.
662
663 * grub-core/commands/legacycfg.c (legacy_file): Don't call
664 grub_show_menu.
665 (grub_cmd_legacy_source): Call grub_show_menu if needed.
666
24ec575b
CW
6672010-11-16 Colin Watson <cjwatson@debian.org>
668
669 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
670 (-Wunused implies -Wunused-parameter, but not vice versa).
671
72b7c7aa
CW
6722010-11-16 Colin Watson <cjwatson@ubuntu.com>
673
674 * configure.ac: Make error messages less confusing by testing for
675 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
676 accepted, but produces a diagnostic if something else is wrong).
677
e98937aa
VS
6782010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
681 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
682 (now unused).
683 (grub_keyboard_controller_init)
684 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
685 read the initial state since controller isn't inited yet.
686
f6bbabc3
VS
6872010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
690 allocate_regbeg may need to create new chunk header.
691
22e7dbb2
VS
6922010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
693
694 Fix quoting in legacy parser.
695
696 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
697 single quotes.
698 (grub_legacy_parse): Likewise.
699 Reported by: Jordan Uggla.
700 Tested by: Jordan Uggla.
701
03f80960
VS
7022010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
703
704 Don't add -lgcc on i386 and x86_64.
705
706 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
707 * conf/Makefile.common (LDADD_KERNEL): Likewise.
708 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
709
779dc15b
VS
7102010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * configure.ac: Add -Wno-trampolines when supported.
713
d20a3b37
MV
7142010-11-14 Modestas Vainius <modax@debian.org>
715
716 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
717 fakeraid.
718
e5360933
GC
7192010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
720
721 Add generic logical block size support for UDF.
722
723 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
724 (GRUB_UDF_BLKSZ): Removed.
725 (struct grub_udf_data): New field "lbshift" to hold the logical block
726 size of the file system in log2 format. All users updated.
727 (sblocklist): Change type to unsigned.
728 (grub_udf_mount): Change type of "sblklist" to unsigned.
729 Move AVDP search before VRS recognition, because the latter requires
730 knowledge of the logical block size, which is detected during the
731 former.
732 Detect and validate logical block size during AVDP search, adding
733 support for block sizes 512, 1024 and 4096.
734 Make VRS recognition independent of block size.
735
cb0229c5
GC
7362010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
737
738 Properly handle deleted files on UDF.
739
740 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
741 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
742 set.
743
406858a8
GC
7442010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
745
746 Support reading files larger than 2 GiB.
747
748 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
749 "offset" to grub_off_t.
750 (grub_udf_read_file): Likewise for parameter "pos".
751
130da6a7
VS
7522010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
755 unavailable.
756 (Simple configuration): Refer to Changes from GRUB Legacy about
757 save_env availability.
758
65e93f6b
VS
7592010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * util/grub-install.in: Ignore empty partition table detection
762 instead of trying to include part_ module.
763
1fd08bf1
VS
7642010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
767 LVM on RAID support.
768
de1a024f
VS
7692010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
770
771 Properly define WORDS_BIGENDIAN in wrapped environments.
772
773 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
774 definition.
775 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
776
777 Reported by: Manoel Rebelo Abranches.
778 Tested by: Manoel Rebelo Abranches.
779
bc5dd0b9
VS
7802010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * util/grub-mkconfig.in: Fix quoting.
783
58c184be
VS
7842010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
785
786 Support big ext2 files.
787
788 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
789 (grub_ext2_read_block): Support triple indirect blocks.
790 (grub_ext2_read_file): Use 64-bit types and read size_high.
791 (grub_ext2_open): Read size_high.
792 Reported by: Ximin Luo.
793 Tested by: Manoel Rebelo Abranches.
794
5f0c02b3
VS
7952010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * util/grub-install.in: Handle filenames containing spaces.
798 Reported by: Jordan Uggla.
799 Tested by: Jordan Uggla.
800
4417aae6
VS
8012010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * util/grub-mkconfig.in (grub_script_check): New variable.
804 Use grub_script_check instead of grub-script-check.
805 Reported by: Barry Jackson.
806
7625a68e
VS
8072010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * docs/grub.texi (menu): Correct the order.
810 Reported by: D. Hugh Redelmeier.
811
10001ac5
VS
8122010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
815 jump.
816
9c4cf53b
MRA
8172010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
818
10001ac5
VS
819 * include/grub/elfload.h (grub_elf32_size): New parameter.
820 All users updated.
9c4cf53b
MRA
821 Return maximum segments alignment.
822 (grub_elf64_size): Likewise.
823 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
824 Return maximum segments alignment.
825 (grub_elf64_size): Likewise.
826 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
827 (grub_linux_claimmap_iterate): New function. Uses the
828 "available" property in the "memory" node for memory allocation
829 for kernel in the PowerPC loader.
9c4cf53b
MRA
830 (grub_linux_load32): Correctly find linux entry point offset.
831 (grub_linux_load64): Likewise.
832
d2bf06bf
RM
8332010-11-07 Robert Millan <rmh@gnu.org>
834
835 On mips-yeeloong, build with -march=loongson2f when this flag is
836 available (GCC >= 4.4).
837 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
838 `-march=mips3'.
839 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
840 or otherwise add -march=mips3.
841
898c99a2
BC
8422010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
843
87220a68
BC
844 Suppress shell expansion on echo '*' and echo "*" like cases.
845 Reported by: Jordan Uggla.
898c99a2
BC
846
847 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
848 string arguments before shell expansion.
849 * tests/grub_cmd_echo.in: New testcases.
850
4f9b406a
RM
8512010-11-07 Robert Millan <rmh@gnu.org>
852
853 * conf/mips-qemu-mips.rmk: Remove stale file from previous
854 transition.
855
80c6d25e
VS
8562010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * grub-core/kern/emu/hostdisk.c
859 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
860
4a1a0153
VS
8612010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
864 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
865 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
866
34706ddc
VS
8672010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
870
6972dea9
VS
8712010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * util/grub-install.in: Replace useless recomendation to pass
874 --modules with a recomendation to report a bug.
875
9c693bd6
VS
8762010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
877
878 Properly register serial terminfo.
879 Reported by: Jordan Uggla
880
881 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
882 const.
883 (grub_serial_terminfo_output_template): Likewise.
884 (grub_cmd_serial): Register "serial" with terminfo.
885 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
886 grub_serial_terminfo_output.
887
6c9e4c0c
RM
8882010-11-05 Robert Millan <rmh@gnu.org>
889
890 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
891 needed).
892
b9b3839f
RM
8932010-11-05 Robert Millan <rmh@gnu.org>
894
895 On Yeeloong, pass machine type information to Linux.
896
897 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
898 (LOONGSON_MACHTYPE): New macro, set to
899 "machtype=lemote-yeeloong-2f-8.9inches".
900 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
901 additional argument to Linux.
902
1a3aaff4
RM
9032010-11-04 Robert Millan <rmh@gnu.org>
904
905 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
906 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
907 (its SATA disks are detected as slaveless IDE master drives on
908 kFreeBSD).
909 Reported by Carsten Aulbert.
910
a75f4f62
CW
9112010-11-02 Colin Watson <cjwatson@ubuntu.com>
912
913 * util/bin2h.c (main): Fix spelling error in generated output.
914
33b4b0c6
GS
9152010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
916
917 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
918
2b36fbf4
VS
9192010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
922 vga= option is supplied.
923
74aaf558
VS
9242010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
927 * util/grub.d/10_kfreebsd.in: Likewise.
928 * util/grub.d/10_linux.in: Likewise.
929 * util/grub.d/20_linux_xen.in: Likewise.
930
6428dec3
VS
9312010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
934 argument as an argument to no-argument option.
935
f8729d98
VS
9362010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * util/grub.d/10_linux.in: Add missing load_video with explicit
939 GRUB_GFXPAYLOAD_LINUX.
940
89d68fa6
VS
9412010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
944
3a1197cd
VS
9452010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
948 elements with invlid index.
949 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
950 * grub-core/disk/raid.c (insert_array): Automatically reallocate
951 members.
952 * include/grub/raid.h (grub_raid_member): New struct.
953 (grub_raid_array): Transform devices and start_sector into usage of
954 grub_raid_member. All users updated
955 (allocated_devs): New member.
956
71574288
VS
9572010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
960 is modified
961
8d40ec65
BC
9622010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
963
964 NetBSD build fix for getline function conflict from gnulib.
965
966 * Makefile.util.def (libgrubkern.a): New library for grub kernel
967 components that depend on gnulib headers.
968 (libgrubmods.a): Renamed from earlier libgrub.a.
969 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
970
95b9257e
VS
9712010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
974 install rather than creating a broken install.
975
26c53dc6
VS
9762010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * util/grub-setup.c (argp): Remove misleading example of installing to
979 a partition.
980
4171b3c5
VS
9812010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * util/grub-setup.c (setup): Clarify the error message.
984
18568d18
VS
9852010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
988
4f6a2e21
VS
9892010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/kern/emu/misc.c
992 (grub_make_system_path_relative_to_its_root)
993 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
994
9952010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
996
997 * grub-core/kern/emu/misc.c
998 (grub_make_system_path_relative_to_its_root): Revert r2882.
999
e138c458
VS
10002010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1001
1002 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
1003 useless field head. All users updated.
1004 (free_subchunk): Correct handling of IN_REGION subchunk.
1005
0cbcdf0e
CW
10062010-10-22 Colin Watson <cjwatson@ubuntu.com>
1007
1008 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
1009 (Supported kernels): Likewise.
1010
b65ea155
GS
10112010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1012
1013 Make mktemp invocations portable.
1014
1015 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
1016 exit if mktemp fails.
1017 * tests/grub_script_blockarg.in: Likewise.
1018 * tests/partmap_test.in: Likewise.
1019 * tests/util/grub-shell-tester.in: Likewise.
1020 * tests/util/grub-shell.in: Likewise.
1021 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1022 * Makefile.am: Likewise, and chain shell commands with `&&'
1023 instead of ';'.
1024 * util/grub-mkrescue.in: Use the same explicit template as above, and
1025 exit if mktemp fails.
1026
05f43cdd
BC
10272010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
1028
1029 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
1030 Linux kernel, reported by Dennis Schridde.
1031
800e6a9b
SJ
10322010-10-17 Szymon Janc <szymon@janc.net.pl>
1033
1034 * grub-core/normal/auth.c (grub_auth_check_authentication):
1035 Set-but-not-used variable removed.
1036
d82df574
VS
10372010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1038
1039 * docs/grub.texi (GNU/Linux): Document APM unavailability with
1040 32-bit linux protocol.
1041
7bced458
VS
10422010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
1045 cursor shape for sanity.
1046
5b027690
VS
10472010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 * docs/grub.texi (Installation): Document buggy BIOS install.
1050
ba5f65cf
VS
10512010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * docs/grub.texi (Installation): Indent.
1054
fdf2ec9c
VS
10552010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * util/grub-setup.c (setup): New parameter allow_floppy.
1058 (arguments): New member allow_floppy.
1059 (argp_parser): Handle --allow-floppy.
1060 (main): Pass allow_floppy.
1061 * util/grub-install.in: New option --allow-floppy passed though to
1062 grub-setup.
1063
861dfd4c
VS
10642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 * util/grub-install.in: Handle partitionless disks.
1067
f77a8c24
VS
10682010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * util/grub-setup.c (setup): Don't clean blocklists before readability
1071 verfification.
1072
27d9ee32
VS
10732010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * docs/grub.texi (Installation): Document embedding zone. Remove
1076 obsolete grub-install example.
1077
6bdda8f8
SJ
10782010-10-16 Szymon Janc <szymon@janc.net.pl>
1079
1080 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
1081 Set-but-not-used variable ifdef'ed.
1082 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
1083 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
1084 variable removed.
1085 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
1086 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
1087 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
1088 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
1089 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
1090 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
1091 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
1092 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
1093 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1094 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
1095 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
1096 Likewise.
1097
e19b016b
VS
10982010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
1101 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
1102 enum value.
1103
6c8d3002
VS
11042010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
1107 synonym to _S5_. Needed for some DSDTs.
1108
c32b51c9
VS
11092010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 Userspace ACPI parser debugging.
1112
1113 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
1114 headers and add relevant defines. Don't include standard headers.
1115 (main) [GRUB_DSDT_TEST]: New function.
1116 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
1117 Don't declare functions.
1118
fbfbeb39
VS
11192010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 Remove dead grub_efi_mm_fini.
1122
1123 * grub-core/kern/efi/mm.c (allocated_page): Removed.
1124 (ALLOCATED_PAGES_SIZE): Likewise.
1125 (MAX_ALLOCATED_PAGES): Likewise.
1126 (allocated_pages): Likewise.
1127 (grub_efi_allocate_pages): Don't record allocated pages.
1128 (grub_efi_free_pages): Likewise.
1129 (grub_efi_mm_init): Likewise.
1130 (grub_efi_mm_fini): Removed.
1131
65f7ed7c
VS
11322010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
1135 (grub_efi_mm_init): Take into account the memory map size increase.
1136
24977b44
VS
11372010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
1140 (serial_hw_put): Wait based on real time rather than port reads. Don't
1141 roken ports.
1142 * include/grub/serial.h (grub_serial_port): New field broken.
1143
1eb01cd2
RM
11442010-10-16 Robert Millan <rmh@gnu.org>
1145
1146 * grub-core/kern/emu/misc.c
1147 (grub_make_system_path_relative_to_its_root): Fix premature return
1148 when processing non-root ZFS filesystems.
5f8b440b 1149 Reported by Sergio Talens-Oliag.
1eb01cd2 1150
2d5fed60
RM
11512010-10-15 Robert Millan <rmh@gnu.org>
1152
1153 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
1154 guarantee compressed ones are processed first.
1155
d0f4c1ea
VS
11562010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
1159 grub_efiemu_autocore.
1160
d87c681f
VS
11612010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
1164 rather than 0x1b.
1165 (grub_console_getkey): Use correct jae opcode rather than ja.
1166
219b3564
RM
11672010-10-12 Robert Millan <rmh@gnu.org>
1168
1169 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
1170 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
1171 variable. All references updated.
1172
1173 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
1174
20c6bb7e
VS
11752010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 Correctly distinguish mdraid flavours.
1178
1179 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
1180 (insert_array): New argument raid.
1181 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
1182 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
1183 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
1184
74baff84
VS
11852010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
1188 handling of special keys.
1189
3ef068df 11902010-10-02 Aleš Nesrsta <starous@volny.cz>
1191
c7980ad9
VS
1192 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
1193 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 1194
a9455194 11952010-10-02 Aleš Nesrsta <starous@volny.cz>
1196
c7980ad9
VS
1197 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
1198 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
1199 users updated.
a9455194 1200 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 1201 Use right endpoint when querying descriptor.
a9455194 1202
441cfe65
VS
12032010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 Clear out 0x80 color bit on EFI.
1206 Tested by: decoder
1207 Reported by: decoder and meta tech.
1208
1209 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
1210 (grub_console_setcolorstate): Clear out 0x80 bit.
1211 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
1212 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
1213 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
1214
bf26bcc4
VS
12152010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
1218 Set to "auto".
1219
6e3c515d
VS
12202010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
1223 mo_file after freeing.
1224
e6d983ba
VS
12252010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
1228
74ccb5b5
VS
12292010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
1232 flags.
1233
17821956
VS
12342010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
1237 usage.
1238
ee74fa48
VS
12392010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 Put terminfo into core on ieee1275 and yeeloong (needed for console).
1242
1243 * gentpl.py: New groups terminfoinkernel and terminfomodule.
1244 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
1245 and terminfo.h when needed.
1246 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
1247 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
1248 (terminfo): Enable only on terminfokernel.
1249 (extcmd): Likewise.
1250 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
1251 * include/grub/lib/arg.h: Likewise.
1252 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
1253 incorrect usage of ->.
1254
aa438e68
VS
12552010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
1258 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
1259
57994012
VS
12602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 Fix coreboot compilation.
1263
1264 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1265 Take VBE info into account even if only text is supported.
1266 (fill_vbe_info): Take into account the case when only VGA text
1267 is supported.
1268 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
1269 on coreboot, multiboot and qemu.
1270
2a406611
VS
12712010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
1274 debug messages.
1275 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
1276
d33613fc
VS
12772010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
1280 parameters.
1281
44a1b432
VS
12822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
1285 if they were BSD-style.
1286
edde54e6
VS
12872010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 * grub-core/boot/i386/pc/lnxboot.S: Replace
1290 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
1291 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
1292
b65830fa
VS
12932010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 Write embedding zone using Reed-Solomon.
1296
1297 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
1298 * grub-core/Makefile.am (rs_decoder.S): New target.
1299 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
1300 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
1301 (multiboot): Move to RS part.
1302 (post_reed_solomon): New label.
1303 (grub_boot_drive): Move to non-RS part since it's modified in memory
1304 on boot.
1305 Include rs_decoder.S.
1306 * grub-core/lib/reed_solomon.c: New file.
1307 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
1308 New definition.
1309 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
1310 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
1311 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
1312 * include/grub/partition.h (grub_partition_map): Change prototype of
1313 embed to allow returning additional sectors.
1314 * include/grub/reed_solomon.h: New file.
1315 * util/grub-setup.c (setup): Handle Reed-Solomon.
1316
0b4b227f
CW
13172010-09-28 Colin Watson <cjwatson@ubuntu.com>
1318
1319 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
1320 i386 and x86-64 definedness tests.
1321
f772623b
YB
13222010-09-27 Yves Blusseau <blusseau@zetam.org>
1323
1324 Fix generation of kernel_syms.lst
1325
1326 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
1327 ASM_PREFIX
1328
8e57a6ca
RM
13292010-09-26 Robert Millan <rmh@gnu.org>
1330
1331 Support degraded ZFS arrays in "grub-probe -t device" resolution.
1332
1333 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
1334 the pool is an array of devices, iterate through it and return the
1335 first device that passes a stat() test (instead of blindly returning
1336 the first one).
1337
f9130836
RM
13382010-09-26 Robert Millan <rmh@gnu.org>
1339
1340 Build fixes for GNU/kFreeBSD.
1341
1342 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
1343 to programs that require ZFS conversion.
1344 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
1345 kernels that don't have FLOPPY_MAJOR.
1346
96510faf
BC
13472010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
1348
1349 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
1350
449333eb
BC
13512010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
1352
1353 Fix grub-emu build.
1354
1355 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
1356 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
1357 mdraid09 and mdraid1x.
1358
e1fd1939
CW
13592010-09-24 Colin Watson <cjwatson@ubuntu.com>
1360
1361 Re-enable grub-extras.
1362
1363 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
1364 avoid confusing Automake. Run autogen only twice, once for the top
1365 level and once for grub-core. Add Makefile.util.def and
1366 Makefile.core.def from extra modules to the appropriate autogen
1367 invocations. If Makefile.common exists in an extra module, include
1368 it in both Makefile.util.am and grub-core/Makefile.core.am;
1369 similarly, include any Makefile.util.common file in Makefile.util.am
1370 and any Makefile.core.common file in grub-core/Makefile.core.am.
1371 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
1372 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
1373 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
1374 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
1375
1376 * gentpl.py (gvar_add): Turn GVARS into a set.
1377 (global_variable_initializers): Sort global variables on output.
1378 (vars_init): New function.
1379 (first_time): Likewise.
1380 (library): Ensure that non-global variable initialisations are
1381 emitted before the first time we emit code for a library block.
1382 Append to variables rather than setting them. Only emit
1383 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
1384 each conditional path.
1385 (program): installdir() emits an Autogen macro, so must be passed to
1386 var_add rather than gvar_add.
1387 (data): Likewise.
1388 (script): Likewise.
1389 (rules): New function, centralising handling for different target
1390 types. Set up Guile association lists for first_time and vars_init,
1391 and send most output to a diversion so that variable initialisations
1392 can be emitted first.
1393 (module_rules): Use new rules function.
1394 (kernel_rules): Likewise.
1395 (image_rules): Likewise.
1396 (library_rules): Likewise.
1397 (program_rules): Likewise.
1398 (script_rules): Likewise.
1399 (data_rules): Likewise.
1400
1401 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
1402
1403 * .bzrignore: Add contrib and grub-core/contrib. Remove
1404 grub-core/Makefile.gcry.am.
1405
1d12cf29
YB
14062010-09-24 Yves Blusseau <blusseau@zetam.org>
1407
1408 * grub-core/lib/LzFind.c: Add missing include.
1409 * grub-core/lib/LzmaEnc.c: Likewise.
1410 * grub-core/script/lexer.c: Likewise.
1411 * grub-core/script/yylex.l: Likewise.
1412 * util/grub-macho2img.c: Likewise.
1413 * util/grub-menulst2cfg.c: Likewise.
1414 * util/grub-mklayout.c: Likewise.
1415 * util/grub-mkpasswd-pbkdf2.c
1416 * util/grub-mkrelpath.c: Likewise.
1417 * util/resolve.c: Likewise.
1418
dd363028
BC
14192010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
1420
1421 * Makefile.util.def (example_unit_test): Add
1422 grub-core/gnulib/libgnu.a.
1423
f5a109e2
GS
14242010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
1425
1426 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
1427
6d0fa83c
VS
14282010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 Support xz compression on yeeloong.
1431
1432 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
1433 * configure.ac: Check for LZMA.
1434 * grub-core/Makefile.core.def (xz_decompress): New target.
1435 (none_decompress): Likewise.
1436 * grub-core/boot/decompressor/minilib.c: New file.
1437 * grub-core/boot/decompressor/none.c: Likewise.
1438 * grub-core/boot/decompressor/xz.c: Likewise.
1439 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
1440 * grub-core/kern/mips/cache_flush.S: Likewise.
1441 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
1442 * grub-core/kern/mips/startup.S: Move first stage to ...
1443 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
1444 nomacro.
1445 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
1446 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
1447 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
1448 Allocate statically.
1449 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
1450 Allocate statically or use scratch. Don't check CRC32.
1451 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
1452 Allocate statically. Don't check CRC32.
1453 * include/grub/decompressor.h: New file.
1454 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
1455 Removed.
1456 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
1457 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
1458 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
1459 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
1460 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
1461 * util/grub-mkimage.c (grub_compression_t): New type.
1462 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
1463 (image_target_desc): New field default_compression.
1464 (image_targets): Adjust yeeloong targets.
1465 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
1466 (compress_kernel): New parameter comp.
1467 (generate_image): Likewise. Handle new compression case.
1468 (options): New option --compression
1469 (help): Likewise.
1470 (main): Handle new option.
1471
1b655af6
GS
14722010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
1473
1474 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
1475
8f03f0b5
CW
14762010-09-22 Colin Watson <cjwatson@ubuntu.com>
1477
1478 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
1479 typo in __i386__ conditional.
1480
7835dfd3
VS
14812010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
1484 include.
1485
e255597e
VS
14862010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1487
6d0fa83c 1488 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
1489
1490 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
1491 new tags as supported.
1492 (acpiv2_size): New function.
1493 (grub_multiboot_get_mbi_size): Take new tags into account.
1494 (grub_multiboot_make_mbi): Add new tags.
1495 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 1496
6cc14051 14972010-09-21 Aleš Nesrsta <starous@volny.cz>
1498
1499 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
1500 Added missing configuration of USB device.
1501
df7769d8
CW
15022010-09-21 Colin Watson <cjwatson@ubuntu.com>
1503
1504 * grub-core/normal/menu_entry.c (run): Make sure we always return
1505 a value.
1506
b031012d
CW
15072010-09-21 Colin Watson <cjwatson@ubuntu.com>
1508
1509 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
1510 NumberOfPages is UINT64 according to the UEFI specification, not
1511 UINTN. Fix printf format.
1512
174de8f3
CW
15132010-09-21 Colin Watson <cjwatson@ubuntu.com>
1514
1515 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
1516 `err' to grub_usb_err_t.
1517 Reported and tested by: KESHAV P.R.
1518
d7dbe923
CW
15192010-09-21 Colin Watson <cjwatson@ubuntu.com>
1520
1521 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
1522 tpart non-const, so that we can assign to it. (Since this is a
1523 typedef, the constness refers to the pointer rather than what it
1524 points to.)
1525
8d5e2af3
CW
15262010-09-21 Colin Watson <cjwatson@ubuntu.com>
1527
1528 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
1529 $(top_srcdir)/grub-core/gnulib as well as
1530 $(top_builddir)/grub-core/gnulib.
1531 Reported by: KESHAV P.R.
1532
5c527783
CW
15332010-09-21 Colin Watson <cjwatson@ubuntu.com>
1534
1535 * util/grub-install.in: Fix the bootloader ID option to be
1536 consistently --bootloader-id, not --bootloader_id.
1537 Reported by: KESHAV P.R.
1538
d309a16e
CW
15392010-09-21 Colin Watson <cjwatson@ubuntu.com>
1540
1541 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
1542 check hash checksum." consistently translatable.
1543
b830cd16
YB
15442010-09-21 Yves Blusseau <blusseau@zetam.org>
1545
1546 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
1547 $(top_builddir).
1548
c4fe27a8
CW
15492010-09-21 Colin Watson <cjwatson@ubuntu.com>
1550
1551 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
1552 (GRUB_MOD_INIT): Register sha1sum command.
1553 (GRUB_MOD_FINI): Unregister sha1sum command.
1554
a4c1d277
YB
15552010-09-21 Yves Blusseau <blusseau@zetam.org>
1556
1557 Keep boot and grub directory names in sync with utils scripts
1558
1559 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
1560 * config.h.in: Add previous macros.
1561 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
1562 * util/grub-install.in: Use $bootdir and $grubdir variables.
1563
4eff79d2
CW
15642010-09-21 Colin Watson <cjwatson@ubuntu.com>
1565
1566 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
1567 convert partition names to disk names if the new `convert' parameter
1568 is set.
1569 (grub_util_biosdisk_get_grub_dev): If opening the disk device
1570 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
1571 disk in its own right. This can happen with Xen disk images.
1572
934d7e44
YB
15732010-09-21 Yves Blusseau <blusseau@zetam.org>
1574
1575 * util/grub-editenv.c: Update strings to avoid warnings when generating
1576 grub.pot file.
1577 * util/grub-setup.c: Likewise.
934d7e44 1578
df3367cc
VS
15792010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * configure.ac: Change version to 1.99~beta0.
1582
77a94e98
VS
15832010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
1586 Add BADRAM.
1587 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
1588 Likewise.
1589 * include/multiboot.h: Resynced with specification.
1590 * include/multiboot2.h: Likewise.
1591
269004c1
CW
15922010-09-21 Colin Watson <cjwatson@ubuntu.com>
1593
1594 Fix po directory handling.
1595
1596 * configure.ac: Create po/Makefile.in rather than po/Makefile.
1597 * grub-core/gnulib/Makefile.am: Import gettext module.
1598 * m4/gnulib-cache.m4: Likewise.
1599 * m4/gnulib-comp.m4: Likewise.
1600 * m4/gettext.m4: New file, from gnulib.
1601 * m4/glibc2.m4: Likewise.
1602 * m4/iconv.m4: Likewise.
1603 * m4/intdiv0.m4: Likewise.
1604 * m4/intl.m4: Likewise.
1605 * m4/intldir.m4: Likewise.
1606 * m4/intlmacosx.m4: Likewise.
1607 * m4/intmax.m4: Likewise.
1608 * m4/inttypes-pri.m4: Likewise.
1609 * m4/lcmessage.m4: Likewise.
1610 * m4/lib-ld.m4: Likewise.
1611 * m4/lib-link.m4: Likewise.
1612 * m4/lib-prefix.m4: Likewise.
1613 * m4/lock.m4: Likewise.
1614 * m4/nls.m4: Likewise.
1615 * m4/po.m4: Likewise.
1616 * m4/printf-posix.m4: Likewise.
1617 * m4/progtest.m4: Likewise.
1618 * m4/threadlib.m4: Likewise.
1619 * m4/uintmax_t.m4: Likewise.
1620 * m4/visibility.m4: Likewise.
1621 * po/Makefile.am: Remove.
1622 * po/Makefile.in.in: New file, from gettext.
1623 ($(DOMAIN).pot-update): Support POTFILES-shell.
1624 * po/Makevars: New file.
1625 * po/POTFILES-shell: Rename to ...
1626 * po/POTFILES-shell.in: ... this. Update.
1627 * po/POTFILES: Rename to ...
1628 * po/POTFILES.in: ... this. Update.
1629 * po/Rules-quot: New file, from gettext.
1630 * po/boldquot.sed: Likewise.
1631 * po/en@boldquot.header: Likewise.
1632 * po/en@quot.header: Likewise.
1633 * po/insert-header.sin: Likewise.
1634 * po/quot.sed: Likewise.
1635 * po/remove-potcdate.sin: Likewise.
1636
3e0fa5d0
VS
16372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
1640
ade9bd66
VS
16412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * util/grub.d/20_linux_xen.in: Use submenus.
1644
fc55cc4c
VS
16452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 Support submenus.
1648
1649 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
1650 parameter submenu. All users updated.
1651 * grub-core/normal/main.c (free_menu): Rename to ...
1652 (grub_normal_free_menu): ... this. Made global.
1653 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
1654 if requested.
1655 * grub-core/normal/menu_entry.c (screen): New field submenu.
1656 (make_screen): Set submenu.
1657 (run): Open new context if requested.
1658 * include/grub/menu.h (grub_menu_entry): New field submenu.
1659 * include/grub/normal.h (grub_normal_free_menu): New proto.
1660
600cedf7
VS
16612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 Menu entries extractor.
1664
1665 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
1666 variants.
1667 (GRUB_MOD_INIT): Register new variants.
1668 (GRUB_MOD_FINI): Unregister new variants.
1669 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
1670 into grub_cmd_legacy_source.
1671 (grub_cmd_legacy_source): Implement extractor variants.
1672 (GRUB_MOD_INIT): Register new variants.
1673 (GRUB_MOD_FINI): Unregister new variants.
1674 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
1675 as an extractor.
1676 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
1677 search as an extractor.
1678 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
1679 test as an extractor.
1680 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
1681 as an extractor.
1682 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
1683 (grub_env_new_context): New function.
1684 (grub_env_context_open): Likewise.
1685 (grub_env_extractor_open): Likewise.
1686 (grub_env_extractor_close): Likewise.
1687 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
1688 grub_extractor_level.
1689 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
1690 * include/grub/env.h (grub_env_extractor_open): New proto.
1691 (grub_env_extractor_close): Likewise.
1692 * include/grub/normal.h (grub_extractor_level): New external variable.
1693
7bda3a87
VS
16942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 Make cutmem accept a region specification.
1697 Suggested by: Samuel Thibault
1698
1699 * grub-core/mmap/mmap.c (parsemem): New function.
1700 (grub_cmd_cutmem): Handle new arguments.
1701
2ea57f88
VS
17022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 New command cutmem.
1705
1706 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
1707 (GRUB_MOD_INIT): Register new command.
1708 (GRUB_MOD_FINI): Unregister new command.
1709
74342e31
VS
17102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 Support some annoying BSD and Minix subpartitions.
1713
1714 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
1715 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
1716 Properly handle concatenation.
1717 * grub-core/kern/device.c (grub_device_iterate): Likewise.
1718 * grub-core/normal/completion.c (iterate_partition): Likewise.
1719 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
1720 contain partition. All users updated.
1721 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
1722 struct.
1723 (grub_openbsdlabel_partition_map): Likewise.
1724 (bsdlabel_partition_map_iterate): Rename to ..
1725 (iterate_real): ... this. New arguments sector, freebsd and pmap.
1726 (bsdlabel_partition_map_iterate): New function.
1727 (netopenbsdlabel_partition_map_iterate): Likewise.
1728 (netbsdlabel_partition_map_iterate): Likewise.
1729 (openbsdlabel_partition_map_iterate): Likewise.
1730 (GRUB_MOD_INIT): Register new partmaps.
1731 (GRUB_MOD_FINI): Unregister new partmaps.
1732 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
1733 (grub_partition_msdos_iterate): ... this. All users updated.
1734 Don't support embedding other than in a minix partition.
1735 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
1736 proto.
1737 * include/grub/partition.h (grub_partition): New field msdostype.
1738 * util/grub-install.in: Handle openbsd and netbsd types being in
1739 part_bsd module.
1740
1e8d555b
VS
17412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1742
1743 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
1744
1745 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
1746 * grub-core/Makefile.core.def (mdraid): Renamed to ...
1747 (mdraid09): ... this.
1748 (mdraid1x): New module.
1749 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
1750 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
1751
899d8af4
VS
17522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
1755 vsprintf.
1756
40901acd
CW
17572010-09-20 Colin Watson <cjwatson@ubuntu.com>
1758
1759 * grub-core/commands/efi/lsefimmap.c: Correct header.
1760 * NEWS: Update.
1761
dfe3b247
CW
17622010-09-20 Colin Watson <cjwatson@ubuntu.com>
1763
1764 * util/grub-editenv.c (argp_parser): Don't pass translated strings
1765 as printf format strings; the translations might contain '%' which
1766 could cause a crash.
1767 (main): Likewise.
1768 * util/grub-fstest.c (argp_parser): Likewise.
1769 * util/grub-setup.c (argp_parser): Likewise.
1770 (main): Likewise.
1771
3286a4b4
VS
17722010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 Use argp in grub-fstest.
1775
1776 * util/grub-fstest.c: Don't include getopt.h.
1777 Include argp.h.
1778 (root): New variable.
1779 (args_count): Likewise.
1780 (nparm): Likewise.
1781 (num_disks): Likewise.
1782 (images): Likewise.
1783 (cmd): Likewise.
1784 (debug_str): Likewise.
1785 (args): Likewise.
1786 (options): Transformed to argp.
1787 (usage): Removed.
1788 (main): Split argument parsing into ...
1789 (argp_parser): ... this. Changed to argp format.
1790 (argp): New variable.
1791 (main): Use argp_parse.
1792
3dccbe4b
TG
17932010-09-20 Tristan Gingold <gingold@free.fr>
17942010-09-20 Robert Millan <rmh.grub@aybabtu.com>
17952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/commands/efi/lsefimmap.c: New file.
1798 * grub-core/Makefile.core.def (lsefimmap): New module.
1799 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
1800
38c259a7
VS
18012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 Pause the execution (10s max) if any errors are displayed so the user
1804 has a chance to see them.
1805
1806 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
1807 (grub_print_error): Increment grub_err_printed_errors.
1808 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
1809 execution if any errors were displayed.
1810 (show_menu): Remove old code for pause.
1811 * grub-core/normal/menu_entry.c (run): Likewise.
1812 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
1813 users updated.
1814 (grub_normal_get_char_counter): Likewise.
1815 * include/grub/err.h (grub_err_printed_errors): New external variable.
1816 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
1817
f218b09c
VS
18182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 Support multiboot VBE info.
1821
1822 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1823 Take VBE info into account.
1824 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
1825 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1826 Call fill_vbe_info when appropriate.
1827 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
1828 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
1829 as supported.
1830 (grub_multiboot_get_mbi_size): Take new tags into account.
1831 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
1832 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1833 Call fill_vbe_tag when appropriate.
1834 (grub_multiboot_make_mbi): Properly align tags.
1835 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
1836 function.
1837 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
1838 proto.
1839 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
1840
a9cc5438
VS
18412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 Suport manual terminal geometry specification.
1844
1845 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
1846 Save state in grub_ofconsole_terminfo_output.
1847 (grub_ofconsole_term): Use grub_terminfo_getwh.
1848 (grub_ofconsole_getwh): Removed.
1849 * grub-core/term/serial.c (grub_serial_getwh): Removed.
1850 (grub_serial_term): Use grub_terminfo_getwh.
1851 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
1852 (options): New struct.
1853 (OPTION_*): New enum.
1854 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
1855 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
1856 width and height.
1857 (grub_terminfo_getwh): New proto.
1858 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
1859
1a8fed20
VS
18602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 Handle legacy "terminal" command.
1863
1864 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
1865 and FLAG_TERMINAL.
1866 (legacy_commands): Add terminal and title.
1867 (grub_legacy_parse): Handle terminal. Simplify title handling.
1868
41e9c57d
VS
18692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
1872 parameters overflow.
1873
61c874c5
CW
18742010-09-20 Colin Watson <cjwatson@ubuntu.com>
1875
1876 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
1877 widthspec.h.
1878
1879 * docs/grub.texi (Shell-like scripting): Document `!'.
1880 (Network): Simplify using new i386-pc-pxe format. Mention
1881 grub-mknetdir.
1882
1883 * NEWS: Update.
1884
943682b4
CW
18852010-09-20 Colin Watson <cjwatson@ubuntu.com>
1886
1887 * Makefile.am (SUBDIRS): Restore "."; it's important to force
1888 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
1889 when needed.
1890
6d3d698d
CW
18912010-09-20 Colin Watson <cjwatson@ubuntu.com>
1892
1893 * grub-core/commands/efi/lsefisystab.c: Correct header.
1894 * grub-core/commands/efi/lssal.c: Likewise.
1895 * grub-core/commands/testload.c: Likewise.
1896
c982589f
CW
18972010-09-20 Colin Watson <cjwatson@ubuntu.com>
1898
1899 * util/grub-mkrescue.in: Add explicit root argument to --set to
1900 prevent the UUID being interpreted as an argument to --set (matches
1901 previous change to prepare_grub_to_access_device).
1902
a63c31b6
CW
19032010-09-20 Colin Watson <cjwatson@ubuntu.com>
1904
1905 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
1906 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
1907 the verbosity of later #ifs.
1908 (find_partition_start): Define this function on FreeBSD too.
1909 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
1910 function.
1911 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
1912 on FreeBSD.
1913
6439b8ee
YB
19142010-09-20 Yves Blusseau <blusseau@zetam.org>
1915
1916 * util/grub-editenv.c: Use argp instead of getopt.
1917
c5930ec8
YB
19182010-09-20 Yves Blusseau <blusseau@zetam.org>
1919
1920 * util/grub-setup.c: Use argp instead of getopt.
1921
15c69261
YB
19222010-09-20 Yves Blusseau <blusseau@zetam.org>
1923
1924 Use gnulib-tool to create gnulib source files.
1925
1926 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
1927 grub-core/gnulib directories
1928 * .bzignore: Add **/.deps and autogenerated gnulib files
1929 * configure.ac: Assign auxiliary directory to build-aux, add invocation
1930 of gnulib macros, add grub-core/gnulib/Makefile
1931 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
1932 include m4 directory to aclocal.
1933 * Makefile.util.def: Remove direct compilation of gnulib source files
1934 and use the new grub-core/gnulib/libgnu.a.
1935 * build-aux/config.rpath: move config.rpath from top directory to
1936 build-aux
1937 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
1938 in gnulib headers
1939 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
1940 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
1941 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
1942 header.
1943 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
1944 string.
1945
e511c9f5
YB
19462010-09-20 Yves Blusseau <blusseau@zetam.org>
1947
1948 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
1949 grub-core/genmod.sh and grub-core/gensyminfo.sh
1950
c2dede05
BC
19512010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
1952
1953 Add a test for echo command options.
1954
1955 * tests/grub_cmd_echo.in: New test.
1956 * Makefile.util.def: Rules for new test.
1957
c55f5018
SJ
19582010-09-20 Szymon Janc <szymon@janc.net.pl>
1959
1960 Remove crc.mod and move crc command to hashsum.mod.
1961 Remove lib/crc.c - users updated to use gcrypt implementation.
1962
1963 * grub-core/commands/crc.c: Removed.
1964 * grub-core/Makefile.core.def (crc): Module removed.
1965 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
1966 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
1967 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
1968 * grub-core/lib/crc.c: Removed.
1969 * include/grub/lib/crc.h: Removed.
1970 * Makefile.util.def (crc): Remove lib/crc.c
1971 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
1972 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
1973 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
1974 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
1975 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
1976 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
1977
e0337366
VS
19782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
1981
742f9232
VS
19822010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 Split config.h for util and core.
1985
1986 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
1987 (ADDR32): Likewise.
1988 (DATA32): Likewise.
1989 (BSS_START_SYMBOL): Likewise.
1990 (END_SYMBOL): Likewise.
1991 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
1992 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
1993 * config.h.in: New file.
1994 * configure.ac: Use config-util.h as config define file.
1995 Rename MACHINE into GRUB_MACHINE. All users updated.
1996 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
1997 updated.
1998 (NESTED_FUNC_ATTR): Likewise.
1999 Substitue new variables.
2000 (COND_HAVE_ASM_USCORE): New conditional.
2001 * grub-core/Makefile.am (ASM_PREFIX): New variable.
2002 (kernel_syms.lst): Use ASM_PREFIX.
2003 * grub-core/kern/emu/console.c: Include config-util.h.
2004 * grub-core/kern/emu/misc.c: Likewise.
2005 * grub-core/kern/emu/mm.c: Likewise.
2006 * include/grub/emu/misc.h: Likewise.
2007 * include/grub/libgcc.h: Likewise.
2008
39feb0e8
VS
20092010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
2012 constants usage.
2013 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
2014 Fix GRUB_TERM_KEY_* constants usage.
2015 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
2016
9af6dac3
VS
20172010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
2020 print pointer.
2021 * grub-core/bus/usb/uhci.c: Remove empty define.
2022 (grub_uhci_check_transfer): Add missing cast.
2023 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
2024 print pointer.
2025 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
2026 PRIuGRUB_SIZE.
2027 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
2028
d6d94820
VS
20292010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * grub-core/Makefile.core.def (legacycfg): Add
2032 lib/i386/pc/vesa_modes_table.c on emu.
2033
3572f2b6
BC
20342010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2035
2036 Reduce number of temporary files generated by build system.
2037
2038 * grub-core/gencmdlist.sh: Removed.
2039 * grub-core/genfslist.sh: Removed.
2040 * grub-core/genhandlerlist.sh: Removed.
2041 * grub-core/genmodsrc.sh: Removed.
2042 * grub-core/genpartmaplist.sh: Removed.
2043 * grub-core/genparttoollist.sh: Removed.
2044 * grub-core/gentermiinallist.sh: Removed.
2045 * grub-core/genvideolist.sh: Removed.
2046
2047 * grub-core/genmod.sh.in: New file.
2048 * grub-core/gensyminfo.sh.in: New file.
2049
2050 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
2051 * conf/Makefile.extra-dist: Update with new files.
2052 * gentpl.py: Remove rules related to unnecessary temporary files.
2053 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
2054 and und-* files.
2055 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
2056 genmod.sh scripts.
2057 * grub-core/bus/usb/uhci.c: Remove empty #define.
2058 * grub-core/genmoddep.awk: Updated with new syminfo format.
2059 * util/bash-completion.d/Makefile.am: Add config.log to
2060 CLEANFILES.
2061
c836b030
YB
20622010-09-19 Yves Blusseau <blusseau@zetam.org>
2063
2064 * Makefile.util.def: Add forgotten $(LIBINTL) library.
2065
2f4e8053
BC
20662010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2067
2068 * util/grub-mkconfig.in: Check the config script for syntax errors
2069 before saving.
2070
75831c34
CW
20712010-09-19 Colin Watson <cjwatson@ubuntu.com>
20722010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * Makefile.util.def (grub-install): Use util/grub-install.in on all
2075 platforms.
2076 * util/grub-install.in: Add EFI and IEEE1275 support.
2077 * util/i386/efi/grub-install.in: Removed.
2078 * util/ieee1275/grub-install.in: Likewise.
2079
eaf41b25
VS
20802010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
2083 (grub_cmd_cmosclean): Likewise.
2084 (GRUB_MOD_INIT): Register command cmosclean.
2085 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
2086 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
2087
1a9130dd
CPE
20882010-09-18 Carles Pina i Estany <carles@pina.cat>
20892010-09-18 Aleš Nesrsta <starous@volny.cz>
20902010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 Add keyboard layouts support.
2093
2094 * Makefile.util.def (grub-mklayout): New file.
2095 (grub-kbdcomp): New script.
2096 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
2097 Add keyboard_layouts.h.
2098 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
2099 commands/boot.c on yeeloong.
2100 (keylayouts): New module.
2101 * grub-core/bus/usb/ohci.c
2102 * grub-core/bus/usb/uhci.c
2103 * grub-core/bus/usb/usbhub.c (rescan): New variable.
2104 (grub_usb_add_hub): Poll interrupt pipe for device handling.
2105 (attach_root_port): Likewise.
2106 (poll_nonroot_hub): Likewise.
2107 (grub_usb_poll_devices): Likewise.
2108 (detach_device): Close transfer.
2109 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
2110 function.
2111 (grub_usb_bulk_setup_readwrite): Likewise.
2112 (grub_usb_bulk_finish_readwrite): Likewise.
2113 * grub-core/commands/keylayouts.c: New file.
2114 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
2115 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
2116 aliases.
2117 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
2118 support scancode 2.
2119 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
2120 * include/grub/keyboard_layouts.h: New file.
2121 * util/grub-mklayout.c: New file.
2122 * util/grub-kbdcomp.in: Likewise.
2123
a1d84a5e
VS
21242010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 Unify memory types.
2127
2128 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
2129 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
2130 types.
2131 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
2132 (grub_upper_mem): Likewise.
2133 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
2134 * include/grub/memory.h (grub_memory_type_t): New enum.
2135 All users updated.
2136
9696382e
VS
21372010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/Makefile.core.def (lsapm): New module.
2140 * grub-core/commands/i386/pc/lsapm.c: New file.
2141 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
2142 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
2143 Likewise.
2144 * include/grub/i386/pc/apm.h: New file.
2145 * include/multiboot.h (multiboot_apm_info): New struct.
2146
21472010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 GRUB-legacy configuration file support.
2150
2151 * Makefile.util.def (grub-menulst2cfg): New util.
2152 * docs/man/grub-menulst2cfg.h2m: New file.
2153 * grub-core/Makefile.core.def (legacycfg): New module.
2154 * grub-core/commands/legacycfg.c: New file.
2155 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
2156 (grub_normal_add_menu_entry): ... this.
2157 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
2158 (grub_normal_set_password): ...this.
2159 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
2160 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
2161 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
2162 * grub-core/lib/legacy_parse.c: New file.
2163 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
2164 * include/grub/i386/pc/vesa_modes_table.h: New file.
2165 * include/grub/legacy_parse.h: Likewise.
2166 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
2167 * util/grub-menulst2cfg.c: New file.
2168
bf8d1338
CW
21692010-09-17 Colin Watson <cjwatson@ubuntu.com>
2170
2171 * grub-core/kern/emu/hostdisk.c
2172 (convert_system_partition_to_system_disk): Initialise node.
2173
9c0bad2e
CW
21742010-09-17 Colin Watson <cjwatson@ubuntu.com>
2175
2176 * grub-core/kern/emu/hostdisk.c
2177 (convert_system_partition_to_system_disk): Fix devmapper memory pool
2178 leak.
2179 Reported and based on patch by: Modestas Vainius.
2180
a939d135
CW
21812010-09-17 Colin Watson <cjwatson@ubuntu.com>
2182
2183 Fix DM-RAID probing with recent versions of device-mapper udev
2184 rules.
2185
2186 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
2187 canonicalise device paths under /dev/mapper/.
2188 (convert_system_partition_to_system_disk): Compare the
2189 uncanonicalised path to /dev/mapper/ rather than the canonicalised
2190 path, since device nodes under /dev/mapper/ are often symlinks.
2191
0f7ee3c9
YB
21922010-09-17 Yves Blusseau <blusseau@zetam.org>
2193
2194 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
2195
10854d0d
YB
21962010-09-16 Yves Blusseau <blusseau@zetam.org>
2197
2198 * configure.ac: Avoid some annoying error messages if freetype-config
2199 program is not found.
2200
108538d8
CW
22012010-09-16 Colin Watson <cjwatson@ubuntu.com>
2202
2203 Support RAID on virtio devices, and others.
2204
2205 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
2206 Rename to ...
2207 [__MINGW32__] (grub_find_device): ... this.
2208 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
2209 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
2210 reasonable default if dir is NULL.
2211 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
2212 ...
2213 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
2214 (grub_guess_root_device): Update callers.
2215 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
2216
2217 * util/raid.c (grub_util_getdiskname): Remove.
2218 (grub_util_raid_getmembers): Use grub_find_device rather than
2219 grub_util_getdiskname.
2220
e5bfc130
CW
22212010-09-16 Colin Watson <cjwatson@ubuntu.com>
2222
2223 * docs/grub.texi (serial): Remove obsolete comment about GRUB
2224 needing to be compiled with serial support.
2225 (ls): Indicate that multiple files are accepted.
2226 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
2227 indicate that multiple files are accepted.
2228
be458ae2
CW
22292010-09-16 Colin Watson <cjwatson@ubuntu.com>
2230
2231 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
2232 libgrub_a_init.c, and util/bash-completion.d/grub.
2233
cb731b5e
VS
22342010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * util/grub-setup.c (setup): Fix incorrect container semantics.
2237
35139e8a
VS
22382010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
2241 misusage.
2242 Reported by: J. Nick Terry
2243
e50fca4a
VS
22442010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 Move embedding routines to partmap sources files.
2247
2248 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
2249 [GRUB_UTIL]: New variable.
2250 (gpt_partition_map_iterate): Set part.parent.
2251 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
2252 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
2253 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
2254 New function.
2255 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
2256 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
2257 (grub_partition_map) [GRUB_UTIL]: New field embed.
2258 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
2259 (setup): Use ->embed.
2260
f00478b7
VS
22612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
2264 function.
2265 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
2266 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
2267
2b94e3ff
YB
22682010-09-15 Yves Blusseau <blusseau@zetam.org>
2269
2270 Add function to get completions from usage.
2271
2272 * util/bash-completion.d/grub-completion.bash.in: Add function to get
2273 completions from usage. Use LC_ALL=C to get options properly.
2274
2e04a006
VS
22752010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/gnulib/basename-lgpl.c: Imported.
2278 * grub-core/gnulib/basename.c: Likewise.
2279 * grub-core/gnulib/dirname-lgpl.c: Likewise.
2280 * grub-core/gnulib/dirname.c: Likewise.
2281 * grub-core/gnulib/dirname.h: Likewise.
2282 * grub-core/gnulib/stripslash.c: Likewise.
2283
5dcdf93a
VS
22842010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * grub-core/gnulib/error.c: Resynced.
2287 * grub-core/gnulib/getopt.c: Likewise.
2288 * grub-core/gnulib/getopt_int.h: Likewise.
2289 * grub-core/gnulib/regex.h: Likewise.
2290 * grub-core/gnulib/regex_internal.c: Likewise.
2291 * grub-core/gnulib/regex_internal.h: Likewise.
2292
014f47b7
SJ
22932010-09-15 Szymon Janc <szymon@janc.net.pl>
2294
2295 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
2296 CRC calculations and validity checks.
2297 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
2298 calculations.
2299
dd521a4a
SJ
23002010-09-15 Szymon Janc <szymon@janc.net.pl>
2301
2302 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
2303
79c4eeb9
VS
23042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 Fix incorrect echo options handling.
2307 Reported by: Yves Blusseau.
2308
2309 * include/grub/command.h (grub_command_flags_t): New flags
2310 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
2311 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
2312 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
2313
ed80f7d5
VS
23142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
2317 users updated.
2318 (GRUB_COMMAND_FLAG_MENU): Likewise.
2319 (GRUB_COMMAND_FLAG_BOTH): Likewise.
2320 (GRUB_COMMAND_FLAG_TITLE): Removed.
2321 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
2322 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
2323 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
2324 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
2325 (grub_command_flags_t): New enum. All users updated.
2326
5fe7620a
SG
23272010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
2328
2329 Fix solaris compilation.
2330
2331 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
2332 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
2333 (grub-emu-list): Likewise.
2334
545b752f
VS
23352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 Remove deprecated root command.
2338
2339 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
2340 updated.
2341
6c1a338c
VS
23422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * util/i386/pc/grub-setup.c: Merge this ...
2345 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
2346 * util/grub-setup.c: ... into this.
2347 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
2348 New struct.
2349
23502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
2353 possible.
2354
d2ea4551
VS
23552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
2358 allocate p.
2359
3c3b5040
VS
23602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2363 explicit root argument to set to prevent UUID to be interpreted as
2364 argument to set.
2365
b71c3fae
VS
23662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
2369
275433e6
VS
23702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 Don't export grub_gate_a20.
2373
2374 * grub-core/kern/i386/pc/init.c: Remove leftovers.
2375 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
2376 to ...
2377 (grub_gate_a20): ... this. All users updated.
2378 * include/grub/i386/pc/init.h: Removed. All users updated.
2379
a5dbb1f1
VS
23802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 Create euro.pf2 which supports most European languages.
2383
2384 * Makefile.am (grubdata_DATA): Add euro.pf2.
2385 (euro.pf2): New target.
2386 (CLEANFILES): Add euro.pf2.
2387
62a747cb
VS
23882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * configure.ac: Disable emu-usb by default to prevent inadvertent
2391 device takeover.
2392
608e43b1
VS
23932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 Disable usbserial on grub-emu since our libusb code isn't good enough
2396 yet.
2397
2398 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
2399 (usbserial_pl2303): Likewise.
2400 (usbserial_ftdi): Likewise.
2401
94564f81
VS
24022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * include/grub/disk.h (grub_disk): Remove has_partitions.
2405 All users updated.
2406 * disk/loopback.c (grub_loopback): Remove has_partitions.
2407 All users updated.
2408 (options): Remove partitions. All users updated.
2409 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
2410 * util/i386/pc/grub-setup.c (setup): copy partition table only when
2411 actual partition table is found.
2412
3352800b
VS
24132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 Remove readability checks (too many false negatives).
2416
2417 * util/grub-install.in: Remove readability checks.
2418 * util/grub-mkconfig.in: Likewise.
2419 * util/grub.d/10_hurd.in: Likewise.
2420 * util/grub.d/10_kfreebsd.in: Likewise.
2421 * util/grub.d/10_linux.in: Likewise.
2422 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
2423 way.
2424
2419f17a
VS
24252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 Enable acpi shutdown on all ACPI platforms.
2428
2429 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
2430 on coreboo, multiboot and EFI.
2431 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
2432 (grub_acpi_halt): Likewise.
2433 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
2434 (grub_cmd_halt): Don't call grub_acpi_halt directly.
2435 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
2436 * grub-core/lib/i386/halt.c (grub_halt)
2437 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
2438
0575c7c3
VS
24392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
2442 context.
2443
54ac3cd1
VS
24442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * grub-core/video/efi_gop.c: Fix over-80-chars line.
2447 * grub-core/video/efi_uga.c: Likewise.
2448
b2a30ac5
VS
24492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 Filter devaliases and never open same device twice.
2452
2453 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
2454 (last_ihandle): Likewise.
2455 (ofdisk_hash_ent): New member shortest.
2456 (ofdisk_hash_add): Add canonical path too.
2457 (scan): New function.
2458 (grub_ofdisk_iterate): Iterate over hashed entries.
2459 (compute_dev_path): Don't add :0.
2460 (grub_ofdisk_open): Don't really open the disk.
2461 (grub_ofdisk_close): Avoid closing unrelated disk.
2462 (grub_ofdisk_read): Implement reopen logic.
2463 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
2464 New function.
2465 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
2466 New proto.
2467
fb53b340
VS
24682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 Fix sparc64.
2471
2472 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
2473 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
2474 right address. Add sparc64_ieee1275_ldflags.
2475 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
2476 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
2477 to grub_host_to_target_addr
2478 (load_image): Likewise.
2479
f452b040
VS
24802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/normal/completion.c (complete_file): Handle device
2483 containing slash.
2484 Fix based on patch by Doug Nazar.
2485
9b5b2541
VS
24862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 grub-mknetdir script.
2489
2490 * Makefile.util.def (grub-mknetdir): New module.
2491 * tests/util/grub-shell.in: Support boot=net
2492 * util/grub-mknetdir.in: New file.
2493
9d2be652
VS
24942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 videoinfo on non-vbe.
2497
2498 * grub-core/Makefile.core.def (vbeinfo): Removed.
2499 (vbetest): Removed.
2500 (videoinfo): New module.
2501 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
2502 * grub-core/commands/i386/pc/vbetest.c: Removed.
2503 * grub-core/commands/videoinfo.c: New file.
2504 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
2505 specification.
2506 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
2507 as vbetest.
2508 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
2509 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
2510 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
2511 mode_number. New parameter mode. All users updated.
2512 (grub_video_gop_iterate): New function.
2513 (grub_video_efi_gop): New member iterate.
2514 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
2515 (grub_vbe_set_video_mode): Remove setting useless fields.
2516 (vbe2videoinfo): New function.
2517 (grub_video_vbe_iterate): Likewise.
2518 (grub_video_vbe_setup): Use vbe2videoinfo.
2519 (grub_video_vbe_print_adapter_specific_info): New function.
2520 (grub_video_vbe_adapter): New fields iterate and
2521 print_adapter_specific_info.
2522 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
2523 All users updated.
2524 (grub_video_mode_info): New field mode_number.
2525 (grub_video_adapter): New fields iterate and
2526 print_adapter_specific_info.
2527
179503f5
TG
25282010-09-13 Tristan Gingold <gingold@free.fr>
25292010-09-13 Robert Millan <rmh.grub@aybabtu.com>
25302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/commands/efi/lsefisystab.c: New file.
2533 * grub-core/commands/efi/lssal.c: Likewise.
2534 * grub-core/Makefile.core.def (lsacpi): New module.
2535 (lsefisystab): Likewise.
2536 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
2537 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
2538 (grub_efi_sal_system_table): New struct.
2539 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
2540 (grub_efi_sal_system_table_memory_descriptor): Likewise.
2541 (grub_efi_sal_system_table_platform_features): Likewise.
2542 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
2543 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
2544 (grub_efi_sal_system_table_ap_wakeup): Likewise.
2545 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
2546
cf9827de
VS
25472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 Support explicit user claim that a device is BIOS-visible.
2550
2551 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
2552 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
2553 * grub-core/kern/emu/hostdisk.c
2554 (convert_system_partition_to_system_disk): Support mdX.
2555 (find_system_device): New parameter add. All users updated.
2556 (grub_util_biosdisk_is_present): New function.
2557 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
2558 proto.
2559
53f0eb1f
VS
25602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 Search hints support.
2563
2564 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
2565 All users updated.
2566
b23ffd70
YB
25672010-09-13 Yves Blusseau <blusseau@zetam.org>
2568
2569 Bash completion script for util commands
2570
2571 * Makefile.am: Add util/bash-completion.d directory
2572 * configure.ac: Likewise.
2573 * util/bash-completion.d/Makefile.am: New file.
2574 * util/bash-completion.d/grub-completion.bash.in: Likewise.
2575
d547dc28
VS
25762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
2579 (print_backlog): set backlog_ucs4 and backlog_glyphs.
2580 Reported by: Yves Blusseau.
2581
2fc8ccb9
VS
25822010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
2585 partition size and offset.
2586
d8a84076
VS
25872010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
2590
84fb3b3d
VS
25912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
2594
768ec2e2
VS
25952010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
2598 (grub_xvasprintf): Likewise.
2599
4870900f
VS
26002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
2603
faca6bec
VS
26042010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
2607 args ending with NULL.
2608
26092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
2610
2611 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
2612 pointer.
2613
3c70f225
SJ
26142010-09-11 Szymon Janc <szymon@janc.net.pl>
2615
2616 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
2617
4df7996d
VS
26182010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 Shutdown using ACPI.
2621
2622 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
2623 * grub-core/commands/acpihalt.c: New file.
2624 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
2625 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
2626 (grub_acpi_halt): New proto.
2627 (GRUB_ACPI_SLP_EN): New const.
2628 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
2629 (GRUB_ACPI_OPCODE_*): New enum.
2630 (GRUB_ACPI_EXTOPCODE_*): Likewise.
2631
126b4c32
TG
26322010-09-11 Tristan Gingold <gingold@free.fr>
26332010-09-11 Robert Millan <rmh.grub@aybabtu.com>
26342010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * commands/lsacpi.c: New file.
2637 * grub-core/Makefile.core.def (lsacpi): New module.
2638 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
2639 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
2640 (grub_acpi_madt_entry_header): New struct.
2641 (grub_acpi_madt): Likewise.
2642 (grub_acpi_madt_entry_interrupt_override): Likewise.
2643 (grub_acpi_madt_entry_sapic): Likewise.
2644 (grub_acpi_madt_entry_lsapic): Likewise.
2645 (grub_acpi_madt_entry_platform_int_source): Likewise.
2646 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
2647 (PRIuGRUB_UINT32_T): Likewise.
2648 (PRIxGRUB_UINT64_T): Likewise.
2649
1aa4fe88
VS
26502010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 Implement loading palette on ieee1275_fb.
2653
2654 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
2655 (have_setcolors): Likewise.
2656 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
2657 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
2658 (grub_video_ieee1275_set_palette): Implement.
2659
25761e13
VS
26602010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
26612010-09-11 Colin Watson <cjwatson@ubuntu.com>
2662
2663 * util/grub-install.in (grub_partition): New variable.
2664 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
2665 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
2666 Fixes a bug reported by Yves Blusseau.
2667
050abaea
VS
26682010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 Fix emu on mipsel.
2671
2672 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
2673 =grub_cpu_flush_cache on all mips and not only yeeloong.
2674 * configure.ac (COND_mips): New conditional.
2675 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
2676 platforms.
2677 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
2678 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
2679 [GRUB_LINKER_HAVE_INIT]: New function.
2680 (grub_emu_post_init): Likewise.
2681 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
2682 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
2683 * include/grub/cache.h (_mips): Include mips/cache.h.
2684 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
2685 LVM and RAID prototypes.
2686 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
2687 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
2688 function.
2689
5ed7d816
CW
26902010-09-10 Colin Watson <cjwatson@ubuntu.com>
2691
2692 * util/grub-install.in: Don't try to verify core.img until after
2693 running grub-mkimage to create it.
2694
90367e04
RM
26952010-09-10 Robert Millan <rmh@gnu.org>
2696
2697 * util/grub.d/10_hurd.in: Add misc readability checks.
2698 * util/grub.d/10_kfreebsd.in: Likewise.
2699 * util/grub.d/10_linux.in: Likewise.
2700
c452fa66
CW
27012010-09-10 Colin Watson <cjwatson@ubuntu.com>
2702
2703 * util/grub-install.in: ${imgext} won't be defined here until the
2704 install branch is merged. For the meantime, only verify core.img on
2705 i386-pc and sparc64-ieee1275 platforms.
2706
c38fe9f4
RM
27072010-09-10 Robert Millan <rmh@gnu.org>
2708
2709 Solaris support in grub_find_zpool_from_dir(). Thanks
2710 Seth Goldberg for referring to getextmntent() facility.
2711
2712 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
2713 `sys/mkdev.h'.
2714 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
2715 `<sys/mnttab.h>'.
2716 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
2717 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
2718 method for finding zpool name.
2719
905f7773
CW
27202010-09-10 Colin Watson <cjwatson@ubuntu.com>
2721
2722 grub-fstest needs the host and hostfs modules while other utilities
2723 actively require those modules to be absent, so grub-fstest needs
2724 its own initialisation and finalisation code.
2725
2726 * Makefile.am (grub_fstest.pp): New target.
2727 (grub_fstest_init.lst): Likewise.
2728 (grub_fstest_init.c): Likewise.
2729 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
2730
fb90b546
RM
27312010-09-10 Robert Millan <rmh@gnu.org>
2732
2733 * configure.ac: Check for `struct statfs.f_fstypename' and
2734 `struct statfs.f_mntfromname'.
2735
2736 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
2737 kFreeBSD-specific code.
2738
66d4bea5
RM
27392010-09-10 Robert Millan <rmh@gnu.org>
2740
2741 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
2742 on ZFS. Now non-main filesystems are supported as / too.
2743
b6a690ee
CW
27442010-09-09 Colin Watson <cjwatson@ubuntu.com>
2745
2746 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
2747 and grub-core/disk/host.c to ...
2748 (grub-fstest): ... here. Having the host disk implementation
2749 present confuses grub-probe and other utility programs.
2750
2751 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
2752 when writing to a file, not when writing to stdout.
2753
8901b00c 27542010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
2755
2756 * tests/partmap_test.in: New test for partitions.
2757 * Makefile.util.def: Rules for new test.
2758
7bf45fdd
RM
27592010-09-09 Robert Millan <rmh@gnu.org>
2760
2761 * util/grub-probe.c (probe): Fix a pair of unhandled error
2762 conditions.
2763
4dfbc574
RM
27642010-09-09 Robert Millan <rmh@gnu.org>
2765
2766 Basic Btrfs support (detection and UUID).
2767
2768 * grub-core/fs/btrfs.c: New file.
2769 * Makefile.util.def (library): Register btrfs.c.
2770 * grub-core/Makefile.core.def: Likewise.
2771
6b8e78ae
RM
27722010-09-08 Robert Millan <rmh@gnu.org>
2773
2774 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
2775 with (optional) parameters to specify device and relative path.
2776 * util/grub-install.in: Use is_path_readable_by_grub() to
2777 verify readability of a few critical files.
2778 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
2779 verify readability of grub.cfg.new.
2780
27f21a8b
VS
27812010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 Split minix.mod into minix.mod and minix2.mod.
2784
2785 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
2786 * grub-core/Makefile.core.def (minix2): New module.
2787 * grub-core/fs/minix.c: Use definitions instead of runtime version
2788 checking.
2789 * grub-core/fs/minix2.c: New file.
2790
c0e53ea5
YB
27912010-09-08 Yves Blusseau <blusseau@zetam.org>
2792
2793 Add new --boot-directory option to replace --root-directory
2794
2795 * util/grub-install.in: Add new --boot-directory option
2796 * util/grub-reboot.in: Likewise.
2797 * util/grub-set-default.in: Likewise.
2798
b9fe6ea2
YB
27992010-09-08 Yves Blusseau <blusseau@zetam.org>
2800
2801 * util/grub-mkconfig.in: Use new variable.
2802
d87aedff
YB
28032010-09-08 Yves Blusseau <blusseau@zetam.org>
2804
2805 * configure.ac: Define some useful variables.
2806
e55e8495
VS
28072010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2810 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
2811 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
2812 Use terminfo and don't use cursor-on/cursor-off unless it's known
2813 to work.
2814 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
2815 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
2816
6fa6d675
CW
28172010-09-08 Colin Watson <cjwatson@ubuntu.com>
2818
2819 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
2820 starts with "(,", fill the drive containing the loaded image in
2821 between those two characters, but expect that a full partition
2822 specification including partition map names will follow.
2823
92f2aef0
RM
28242010-09-08 Robert Millan <rmh@gnu.org>
2825
2826 * configure.ac: Remove `--enable-grub-fstest' option.
2827 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
2828
2829 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
2830 `grub-fstest' instead of `grub-probe' for readability verification.
2831 * util/grub-probe.c (probe): Remove readability verification kludge.
2832
99fd620d
RM
28332010-09-08 Robert Millan <rmh@gnu.org>
2834
2835 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
2836 initializing `GRUB_FS'.
2837
058e30ac 28382010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
2839
2840 Not command (!) support to GRUB script.
2841
2842 * tests/grub_script_not.in: New test.
2843 * Makefile.util.def: Rules for new test.
2844
2845 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2846 ! command as a special case.
2847 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
2848
b61d05ed 28492010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2850
058e30ac 2851 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
2852 grub_free.
b61d05ed 2853
4d69c786 28542010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2855
2856 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
2857
aa3119c4 28582010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2859
2860 * docs/grub.texi (Shell-like scripting): Documentation for break,
2861 continue, shift and return commands.
2862
db0f7e3d
VS
28632010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 Rename CD-ROM to cd on BIOS.
2866
2867 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
2868 "cd".
2869 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
2870
88b87c93
VS
28712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
2874 * util/grub-probe.c (main): Likewise.
2875 * util/i386/pc/grub-setup.c (main): Likewise.
2876 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2877 Reported and debugged by: alexxy
2878
294f324d
VS
28792010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
2882 diagnostic info.
2883
d7ee3441
JS
28842010-09-05 Jo Shields <directhex@apebox.org>
2885
2886 * util/grub.d/30_os-prober.in: Add missing classes.
2887
d7e06c1f
VS
28882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * docs/grub.texi (Theme file format): Document new position format.
2891
fc157e53
VS
28922010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
2895 a table. Use @code instead of @verbatim.
2896
506e9a1c
CB
28972010-09-05 Colin D Bennett <colin@gibibit.com>
2898
2899 Gfxmenu documentation.
2900
2901 * docs/grub.texi (Theme file format): New chapter.
2902
f0aff67c
SJ
29032010-09-05 Szymon Janc <szymon@janc.net.pl>
2904
2905 * grub-core/Makefile.core.def (xzio): New module.
2906 * grub-core/io/xzio.c: New file.
2907 * grub-core/lib/xzembed/xz.h: New file (from xembed).
2908 * grub-core/lib/xzembed/xz_config.h: Likewise.
2909 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
2910 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
2911 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
2912 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
2913 * grub-core/lib/xzembed/xz_private.h: Likewise.
2914 * grub-core/lib/xzembed/xz_stream.h: Likewise.
2915 * include/grub/file.h (grub_file_filter_id): New compression filter
2916 GRUB_FILE_FILTER_XZIO.
2917
82a85062
VS
29182010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
2921 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
2922 size.
2923
3579415d
VS
29242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
2927 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
2928
5124ae6d
VS
29292010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 Uncompressed checksum support.
2932
2933 * grub-core/commands/hashsum.c (options): Add option --uncompress.
2934 (check_list): New parameter uncompress.
2935 (grub_cmd_hashsum): Handle --uncompress.
2936
9aadb3d1
VS
29372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 Reintroduce testload.
2940
2941 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
2942 from here ...
2943 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
2944 (GRUB_MOD_INIT): New function.
2945 (GRUB_MOD_FINI): Likewise.
2946 * grub-core/Makefile.core.def (testload): New module.
2947
a17792c3
SJ
29482010-09-05 Szymon Janc <szymon@janc.net.pl>
2949
2950 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
2951 (uint8_t): New type.
2952 (uint16_t): Likewise.
2953 (uint32_t): Likewise.
2954 (uint64_t): Likewise.
2955
b81e40a3
SJ
29562010-09-05 Szymon Janc <szymon@janc.net.pl>
2957
2958 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
2959
fc2ef117
VS
29602010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
2963 Made static.
2964 (grub_gzfile_open): Removed. All users updated.
2965 (GRUB_MOD_INIT): New function.
2966 (GRUB_MOD_FINI): Likewise.
2967 * grub-core/kern/file.c (grub_file_filters_all): New variable.
2968 (grub_file_filters_enabled): Likewise.
2969 (grub_file_open): Handle filters.
2970 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
2971 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
2972 * include/grub/file.h (grub_file_filter_id_t): New type.
2973 (grub_file_filter_t): Likewise.
2974 (grub_file_filters_all): New extern variable.
2975 (grub_file_filters_enabled): Likewise.
2976 (grub_file_filter_register): New inline function.
2977 (grub_file_filter_unregister): Likewise.
2978 (grub_file_filter_disable): Likewise.
2979 (grub_file_filter_disable_compression): Likewise.
2980 * include/grub/gzio.h: Removed.
2981
35ee15e0
BC
29822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2983
2984 Filename expansion support for wildcards in GRUB script.
2985
2986 * tests/grub_script_expansion.in: New test.
2987 * Makefile.util.def: Rule for new test.
2988
2989 * grub-core/commands/wildcard.c: New file, implements filename
2990 expansion support for GRUB script.
2991 * grub-core/Makefile.core.def: Rule update for regexp.mod.
2992 * grub-core/script/argv.c: Cosmetic changes.
2993 * grub-core/script/execute.c (grub_script_arglist_to_argv):
2994 Refactored to perform wildcard expansion on arguments.
2995 * include/grub/script_sh.h (grub_script_wildcard_translator): New
2996 struct.
2997
2998 * tests/util/grub-shell.in: Fix quoting for read input.
2999
5f0c4aca
BC
30002010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3001
3002 Support for updating environment variables with matched substrings
3003 of regexp.
3004
3005 * tests/grub_cmd_regexp.in: New test.
3006 * Makefile.util.def: Rule for new test.
3007
3008 * grub-core/commands/regexp.c: New option -s to update environment
3009 variables with regexp matches.
3010
3759a35f
SJ
30112010-09-04 Szymon Janc <szymon@janc.net.pl>
3012
3013 * include/grub/file.h (grub_file): New member not_easly_seekable.
3014 (grub_file_seekable): New inline function.
3015 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
3016 easily seekable.
3017 (grub_gzio_open): Set not_easly_seekable.
3018 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
3019 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
3020
ed8c6dec
BC
30212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3022
3023 Support for options to appear multiple times on cmdline.
3024
3025 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
3026 * grub-core/commands/extcmd.c: Support for repeatable option.
3027 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
3028 repeatable option support.
3029
3030 Refactor menuentry into a regular command.
3031
3032 * grub-core/commands/menuentry.c: New file, menuentry command
3033 implementation.
3034 * grub-core/Makefile.core.def: Rule update for normal.mod.
3035 * grub-core/normal/main.c: Moved menuentry creation to
3036 grub-core/commands/menuentry.c.
3037 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
3038 (grub_menu_execute_entry_real): Removed.
3039 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
3040 function.
3041 (grub_script_execute_menuentry): Removed.
3042 * grub-core/script/parser.y (menuentry): Removed.
3043 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
3044 * grub-core/script/yylex.l (menuentry): Removed.
3045 * include/grub/menu.h (grub_menu_init): New prototype.
3046 (grub_menu_fini): New prototype.
3047 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
3048 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
3049 (grub_script_execute_sourcecode): New prototype.
3050
dacd0cf0
BC
30512010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3052
3053 "return" command for GRUB script functions.
3054
3055 * tests/grub_script_return.in: New test.
3056 * Makefile.util.def: Rules for new test.
3057
3058 * grub-core/script/execute.c (grub_script_return): New function.
3059 * grub-core/script/main.c: Register/unregister return commaond.
3060 * include/grub/script_sh.h (grub_script_return): New prototype.
3061
52e72f9d
BC
30622010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3063
3064 "setparams" command to update positional parameters.
3065
3066 * tests/grub_script_setparams.in: New test.
3067 * Makefile.util.def: Rules for new test.
3068
3069 * grub-core/script/argv.c (grub_script_argv_make): New function.
3070 * grub-core/script/execute.c (replace_scope): New function.
3071 (grub_script_setparams): New function.
3072 * grub-core/script/lexer.c: Remove unused variables.
3073 * grub-core/script/main.c: Register/unregister setparams command.
3074 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
3075 (grub_script_setparams): New prototype.
3076
25b60c91
BC
30772010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3078
3079 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
3080 grub_free order.
3081
37e7bf68
BC
30822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3083
3084 Support for passing block of commands as an argument to extcmds.
3085
3086 * Makefile.util.def: Rules for new test.
3087 * tests/grub_script_blockarg.in: New test.
3088 * grub-core/tests/test_blockarg.c: New file, block argument
3089 command used in the test.
3090
3091 * include/grub/extcmd.h (grub_extcmd_context): New struct.
3092 (grub_register_extcmd_prio): New function prototype.
3093 (grub_extcmd_dispatcher): New function prototype.
3094 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
3095 type.
3096 * include/grub/script_sh.h (struct grub_script): New members
3097 `children', `next_siblings' and `refcnt' for block arguments and
3098 reference counting.
3099 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
3100 (grub_script_arg): New member `script' for block argument.
3101 (grub_script_argv): New member `script' for block argument.
3102 (grub_parser_param): New member `scripts' for block argument.
3103 (grub_script_mem_free): New extern function prototype.
3104 (grub_script_ref): New function prototype.
3105 (grub_script_unref): New function prototype.
3106
3107 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
3108 extcmd form to support block arguments.
3109 * grub-core/script/argv.c: Block arguments support.
3110 * grub-core/script/execute.c: Likewise.
3111 * grub-core/script/lexer.c: Likewise.
3112 * grub-core/script/main.c: Likewise.
3113 * grub-core/script/script.c: Likewise.
3114 * grub-core/script/parser.y: Likewise. New `block' and `block0'
3115 non-terminals.
3116
3117 * grub-core/commands/acpi.c: Update extcmd implementations with
3118 grub_extcmd_context_t.
3119 * grub-core/commands/cat.c: Likewise.
3120 * grub-core/commands/echo.c: Likewise.
3121 * grub-core/commands/extcmd.c: Likewise.
3122 * grub-core/commands/hashsum.c: Likewise.
3123 * grub-core/commands/hdparm.c: Likewise.
3124 * grub-core/commands/help.c: Likewise.
3125 * grub-core/commands/hexdump.c: Likewise.
3126 * grub-core/commands/i386/cpuid.c: Likewise.
3127 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3128 * grub-core/commands/i386/pc/halt.c: Likewise.
3129 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3130 * grub-core/commands/iorw.c: Likewise.
3131 * grub-core/commands/keystatus.c: Likewise.
3132 * grub-core/commands/loadenv.c: Likewise.
3133 * grub-core/commands/ls.c: Likewise.
3134 * grub-core/commands/lspci.c: Likewise.
3135 * grub-core/commands/memrw.c: Likewise.
3136 * grub-core/commands/probe.c: Likewise.
3137 * grub-core/commands/search_wrap.c: Likewise.
3138 * grub-core/commands/setpci.c: Likewise.
3139 * grub-core/commands/sleep.c: Likewise.
3140 * grub-core/disk/loopback.c: Likewise.
3141 * grub-core/hello/hello.c: Likewise.
3142 * grub-core/loader/i386/bsd.c: Likewise.
3143 * grub-core/loader/xnu.c: Likewise.
3144 * grub-core/term/gfxterm.c: Likewise.
3145 * grub-core/term/serial.c: Likewise.
3146 * grub-core/tests/lib/functional_test.c: Likewise.
3147
888d1500
BC
31482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3149
3150 Multi-line quoted strings support.
3151
3152 * grub-core/script/lexer.c (append_newline): Removed.
3153 (grub_script_lexer_yywrap): Refactored.
3154 (grub_script_lexer_init): Refactored.
3155 * grub-core/script/yylex.l (yywrap): New function.
3156 (grub_lexer_resplit): New function.
3157 (grub_lexer_unput): New function.
3158 * include/grub/script_sh.h (grub_lexer_param): New members, unput
3159 and resplit.
3160 * tests/grub_script_echo1.in: Added few more testcases.
3161
dda060dd
VS
31622010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 * grub-core/kern/misc.c: Don't add abort alias in utils.
3165 Reported by: echoline.
3166
6556eba9
BC
31672010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
3168
3169 Add missing files into "make dist" tarball for other platforms.
3170
3171 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
3172 * conf/Makefile.common (dist_noinst_DATA): New variable.
3173 * conf/Makefile.extra-dist: Added missing make dist files.
3174 * grub-core/Makefile.core.def: Likewise.
3175
c8e7bf5f
VS
31762010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 Compress grub_prefix.
3179
3180 * grub-core/boot/i386/pc/lnxboot.S: Use
3181 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
3182 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
3183 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
3184 GRUB_MACHINE_PREFIX_END. All users updated.
3185 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
3186 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
3187 + 0x40.
3188 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3189 * util/grub-mkimage.c (image_target_desc): Change data_end to
3190 prefix_end. All users updated.
3191
a7c00cdb
VS
31922010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
3195 value.
3196 (grub_openbsd_boot): Likewise.
3197 (grub_netbsd_boot): Likewise.
3198 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
3199 (grub_xnu_boot): Likewise.
3200
9f915872
VS
32012010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3202
3203 * configure.ac: Clean LIBS variable after tests.
3204
efa1bee7
CW
32052010-09-02 Colin Watson <cjwatson@ubuntu.com>
3206
3207 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
3208
61d720e5
VS
32092010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
3212 echo if libdevmapper will be used.
3213
ef8e0ec8
IT
32142010-09-02 Ian Turner <Ian.Turner@deshaw.com>
3215
3216 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
3217 constant for the same file.
3218
03e261d8
VS
32192010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
3222
c2a4eba6
CW
32232010-09-02 Colin Watson <cjwatson@ubuntu.com>
3224
3225 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
3226 grub-core/*.pp.
3227
9056cbf3
CW
32282010-09-02 Colin Watson <cjwatson@ubuntu.com>
3229
3230 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
3231 required by the boot protocol.
3232
3233 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
3234 ebp and edi members.
3235 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
3236 state.ebp and state.edi.
3237 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
3238 %ebp and %edi according to grub_relocator32_ebp and
3239 grub_relocator32_edi respectively.
3240 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
3241 and state.edi.
3242
529cc99a
VS
32432010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 Add i386-pc-pxe image target.
3246
3247 * util/grub-mkimage.c (image_target_desc): New enum value
3248 IMAGE_I386_PC_PXE.
3249 (image_targets): New target i386-pc-pxe.
3250 (generate_image): Handle i386-pc-pxe image.
3251
9a093920
VS
32522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 Fix grub_pxe_scan.
3255
3256 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
3257 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
3258 All users updated.
3259 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
3260 (grub_pxe_pxenv): Correct type.
3261
f9cefc4e
CW
32622010-09-01 Colin Watson <cjwatson@ubuntu.com>
3263
3264 * NEWS: Document most of the important changes since 1.98.
3265
4066f57f
CW
32662010-09-01 Colin Watson <cjwatson@ubuntu.com>
3267
3268 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
3269 generated manual page) a little.
3270
da2891f9
CW
32712010-09-01 Colin Watson <cjwatson@ubuntu.com>
3272
3273 * docs/grub.texi: Add myself as an author.
3274
ad717fae
VS
32752010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
3276
3277 * Makefile.util.def (libgrub.a): Add missing sunpc.
3278 Reported by: Seth Goldberg.
3279
eefe8abd
VS
32802010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 Interrupt wrapping and code simplifications.
3283
9494ef9a
VS
3284 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
3285 x86_noieee1275 which are functionaly equivalent in this case.
3286 (grub-install): Make source on each platform explicit. Enable on
3287 all noemu.
3288 * gentpl.py (x86_efi_pc): Removed group.
3289 (x86_noefi): Likewise.
3290 (i386_noefi): Likewise.
3291 (x86_noieee1275): Likewise.
3292 (i386_noieee1275): Likewise.
3293 (i386_noefi_noieee1275): Likewise.
3294 (i386_pc_qemu_coreboot): Likewise.
3295 (i386_coreboot_multiboot): Likewise.
3296 (i386_pc_coreboot_multiboot_qemu): Likewise.
3297 (x86_noefi_mips): Likewise.
3298 (noieee1275): Likewise.
3299 (ieee1275_mips): Likewise.
3300 (noemu_noieee1275): Likewise.
3301 (cmos): New group.
3302 (usb): Likewise.
3303 (videoinkernel): Likewise.
3304 (videomodules): Likewise.
eefe8abd 3305 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
3306 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
3307 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
3308 include/grub/loader.h, include/grub/msdos_partition.h,
3309 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
3310 include/grub/machine/console.h, include/grub/machine/vga.h,
3311 include/grub/machine/vbe.h, include/grub/machine/init.h,
3312 include/grub/machine/kernel.h, include/grub/cpu/time.h,
3313 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 3314 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
3315 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
3316 * grub-core/Makefile.core.def (kernel): Explicit the source for
3317 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
3318 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
3319 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
3320 Use videoinkernel tag.
3321 (usb): Enable on all usb.
3322 (usbserial_common): Likewise.
3323 (usbserial_pl2303): Likewise.
3324 (usbserial_ftdi): Likewise.
3325 (uhci): Enable on all x86.
3326 (ohci): Enable on all pci.
3327 (cmostest): Enable on all CMOS.
3328 (acpi): Include commands/acpi.c on all platforms.
3329 (halt): Add relevant lib/*/halt.c.
3330 (hdparm): Enable on all pci.
3331 (lspci): Likewise.
3332 (usbtest): Enable on all usb.
3333 (ata): Enable on all pci.
3334 (ata_pthru): Likewise.
3335 (usbms): Enable on all usb.
3336 (usb_keyboard): Likewise.
3337 (font): Use tag videomodules.
3338 (bufio): Likewise.
3339 (datetime): Use tag cmos. Enable on all noemu.
3340 (mmap): Use tags common and x86.
3341 (gfxterm): Use tag videomodules.
3342 (bitmap): Likewise.
3343 (bitmap_scale): Likewise.
3344 (video_fb): Likewise.
3345 (video): Likewise.
3346 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
3347 adjust padding accordingly. All users updated.
3348 (grub_ohci_transaction): Fix bad format specification.
3349 (GRUB_MOD_INIT): Add asserts for struct size.
3350 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
3351 (grub_alloc_td): Likewise.
3352 (grub_free_queue): Likewise.
3353 (grub_uhci_transfer): Likewise.
3354 (grub_uhci_transaction): Fix bad format specification.
3355 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
3356 (grub_usb_bulk_readwrite): Likewise.
3357 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
3358 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
3359 Made static.
3360 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
3361 Made static.
3362 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
3363 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
3364 Transformed into C.
3365 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
3366 Moved from here ...
3367 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
3368 ... here. Transformed into C. Made static.
3369 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
3370 Moved from here ...
3371 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
3372 ... here. Transformed into C. Made static.
3373 * grub-core/kern/i386/pc/startup.S
3374 (grub_biosdisk_check_int13_extensions): Moved from here ...
3375 * grub-core/disk/i386/pc/biosdisk.c
3376 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
3377 Made static.
3378 * grub-core/kern/i386/pc/startup.S
3379 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
3380 * grub-core/disk/i386/pc/biosdisk.c
3381 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
3382 Transformed into C. Made static.
3383 * grub-core/kern/i386/pc/startup.S
3384 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
3385 * grub-core/disk/i386/pc/biosdisk.c
3386 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
3387 Transformed into C. Made static.
3388 * grub-core/kern/i386/pc/startup.S
3389 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
3390 * grub-core/disk/i386/pc/biosdisk.c
3391 (grub_biosdisk_get_diskinfo_standard): ... here.
3392 Transformed into C. Made static.
3393 * grub-core/kern/i386/pc/startup.S
3394 (grub_biosdisk_get_num_floppies): Moved from here ...
3395 * grub-core/disk/i386/pc/biosdisk.c
3396 (grub_biosdisk_get_num_floppies): ... here.
3397 Transformed into C. Made static.
3398 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
3399 New function.
3400 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
3401 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
3402 Transformed into C. Made static.
3403 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
3404 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
3405 Transformed into C. Made static.
3406 * grub-core/kern/i386/ieee1275/init.c: Removed.
3407 * grub-core/kern/i386/misc.S: Likewise.
3408 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
3409 Splitted from here ...
3410 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
3411 Transformed into C. Made static. All users updated.
3412 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
3413 Transformed into C. Made static. All users updated.
3414 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
3415 Moved from here...
3416 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
3417 Transformed into C. Made static. All users updated.
3418 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
3419 Moved from here...
3420 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
3421 Transformed into C. Made static. All users updated.
3422 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
3423 Removed (replaced by C version).
3424 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
3425 Moved from here...
3426 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
3427 Transformed into C. Made static.
3428 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
3429 Moved from here...
3430 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
3431 ... here. Transformed into C.
3432 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
3433 Moved from here...
3434 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
3435 ... here. Transformed into C.
3436 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
3437 Moved from here...
3438 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
3439 ... here. Transformed into C. Made static.
3440 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
3441 Moved from here...
3442 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
3443 ... here. Transformed into C.
21ed554b
VS
3444 * grub-core/kern/i386/pc/startup.S
3445 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
3446 * grub-core/video/i386/pc/vbe.c
3447 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
3448 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
3449 Moved from here...
3450 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
3451 ... here. Transformed into C.
3452 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
3453 Moved from here...
3454 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
3455 ... here. Transformed into C.
3456 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
3457 Moved from here...
3458 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
3459 ... here. Transformed into C.
3460 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
3461 Moved from here...
3462 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
3463 ... here. Transformed into C.
3464 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
3465 Moved from here...
3466 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
3467 ... here. Transformed into C. Made static.
3468 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
3469 Moved from here...
3470 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
3471 ... here. Transformed into C. Made static.
3472 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
3473 Moved from here...
3474 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
3475 ... here. Transformed into C. Made static.
3476 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
3477 pxe_rm_entry as third argument.
3478 (grub_bios_interrupt): New function.
3479 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
3480 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
3481 of calling grub_stop.
3482 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
3483 * grub-core/lib/efi/halt.c (grub_halt): ...here.
3484 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
3485 * grub-core/lib/emu/halt.c (grub_halt): ... here.
3486 * grub-core/lib/i386/halt.c: Moved from here ...
3487 * grub-core/lib/i386/halt.c: ... here.
3488 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
3489 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
3490 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
3491 grub_stop_floppy.
3492 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
3493 * include/grub/i386/coreboot/init.h: Removed.
3494 * include/grub/i386/multiboot/init.h: Likewise.
3495 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
3496 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
3497 * include/grub/i386/pc/int.h: New file.
3498 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
3499 (grub_pxe_scan): Removed.
3500 (grub_pxe_call): Update prototype.
3501 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
3502 prototypes.
3503 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
3504 * include/grub/i386/qemu/init.h: Removed.
3505 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
3506 noreturn.
3507 (grub_halt): Likewise.
3508 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
3509 (grub_reboot): Likewise.
3510 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
3511 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
3512 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
3513
215dd471
RM
35142010-08-30 Robert Millan <rmh@gnu.org>
3515
3516 * NEWS: Document addition of ZFS support in `grub-install' and
3517 `grub-mkconfig'.
3518
ebd65b82
BC
35192010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
3520
3521 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
3522 dprintf output.
3523
11721d19
VS
35242010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 Remove leftover embedding of font objects.
3527
3528 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3529 * util/grub-install.in (font): Removed.
3530 * util/grub-mkimage.c (generate_image): Remove font support. All users
3531 updated.
3532
37837d4e
VS
35332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 Remove leftover embedding of font objects.
3536
3537 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3538 * util/grub-install.in (font): Removed.
3539 * util/grub-mkimage.c (generate_image): Remove font support. All users
3540 updated.
3541
b4c1aae0
VS
35422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 3545 Reported by: Ian Turner
b4c1aae0 3546
8920a08d
VS
35472010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
3550 timeout to avoid indefinite boot stalling.
3551
f21db033
VS
35522010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
3555 (grub_env_write_color_highlight): Likewise.
3556
9a9de209
VS
35572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * grub-core/normal/term.c (print_more): Return to normal and not
3560 to standard state after printing "---MORE---".
3561
3dca01d7
VS
35622010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
3565 Mask out the bit 0x80 since it has other meaning that specifiing color.
3566
0b986c40
VS
35672010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 New relocator. Allows for more kernel support and more straightforward
3570 loader writing.
3571
3572 * Makefile.am (BOOTTARGET): New variable.
3573 (QEMU32): Likewise.
3574 (linux.init.x86_64): New target.
3575 (linux.init.i386): Likewise.
3576 (multiboot.elf): Likewise.
3577 (kfreebsd.elf): Likewise.
3578 (kfreebsd.aout): Likewise.
3579 (pc-chainloader.elf): Likewise.
3580 (pc-chainloader.bin): Likewise.
3581 (ntldr.elf): Likewise.
3582 (ntldr.bin): Likewise.
3583 (multiboot2.elf): Likewise.
3584 (kfreebsd.init.x86_64): Likewise.
3585 (kfreebsd.init.i386): Likewise.
3586 (knetbsd.init.i386): Likewise.
3587 (kopenbsd.init.i386): Likewise.
3588 (knetbsd.init.x86_64): Likewise.
3589 (kopenbsd.init.x86_64): Likewise.
3590 (linux-initramfs.i386): Likewise.
3591 (linux-initramfs.x86_64): Likewise.
3592 (kfreebsd-mfsroot.i386.img): Likewise.
3593 (knetbsd.image.i386): Likewise.
3594 (kopenbsd.image.i386): Likewise.
3595 (kopenbsd.image.x86_64): Likewise.
3596 (knetbsd.miniroot-image.i386.img): Likewise.
3597 (kfreebsd-mfsroot.x86_64.img): Likewise.
3598 (knetbsd.image.x86_64): Likewise.
3599 (knetbsd.miniroot-image.x86_64.img): Likewise.
3600 (kfreebsd-mfsroot.i386.gz): Likewise.
3601 (bootcheck-kfreebsd-i386): Likewise.
3602 (kfreebsd-mfsroot.x86_64.gz): Likewise.
3603 (bootcheck-kfreebsd-x86_64): Likewise.
3604 (knetbsd.miniroot-image.i386.gz): Likewise.
3605 (bootcheck-knetbsd-i386): Likewise.
3606 (bootcheck-kopenbsd-i386): Likewise.
3607 (bootcheck-kopenbsd-x86_64): Likewise.
3608 (knetbsd.miniroot-image.x86_64.gz): Likewise.
3609 (bootcheck-knetbsd-x86_64): Likewise.
3610 (bootcheck-linux-i386): Likewise.
3611 (bootcheck-linux-x86_64): Likewise.
3612 (bootcheck-linux16-i386): Likewise.
3613 (bootcheck-linux16-x86_64): Likewise.
3614 (bootcheck-multiboot): Likewise.
3615 (bootcheck-multiboot2): Likewise.
3616 (bootcheck-kfreebsd-aout): Likewise.
3617 (bootcheck-pc-chainloader): Likewise.
3618 (bootcheck-ntldr): Likewise.
3619 (CLEANFILES): Add new targets.
3620 (BOOTCHECKS): New variable.
3621 (.PHONY): Add bootchecks.
3622 (SUCCESSFUL_BOOT_STRING): New variable.
3623 (BOOTCHECK_TIMEOUT): Likewise.
3624 (bootcheck): New target
3625 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
3626 * configure.ac: Correct efiemu excuse.
3627 * docs/grub.texi (Supported kernels): New chapter.
3628 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
3629 include/grub/mm_private.h. Simplify inclusion of
3630 include/grub/boot.h, include/grub/loader.h
3631 and include/grub/msdos_partition.h
3632 (KERNEL_HEADER_FILES) [i386_coreboot]:
3633 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
3634 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
3635 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
3636 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
3637 include/grub/machine/loader.h.
3638 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
3639 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
3640 extra_dist.
3641 (pci.mod): Enable on i386-multiboot.
3642 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
3643 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
3644 i386-qemu.
3645 (relocator.mod): Rewritten.
3646 (aout.mod): Enable on all x86.
3647 (bsd.mod): Likewise.
3648 (ntldr.mod): New module.
3649 (linux.mod): Use loader/i386/linux.c on all x86.
3650 (xnu.mod): Enable on all x86.
3651 (vga_text.mod): disable on EFI and QEMU.
3652 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
3653 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
3654 * grub-core/efiemu/loadcore.c: Likewise.
3655 * grub-core/efiemu/main.c: Likewise.
3656 (grub_efiemu_exit_boot_services): Removed.
3657 (grub_efiemu_finish_boot_services): Likewise.
3658 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
3659 function.
3660 * grub-core/efiemu/i386/nocfgtables.c: New file.
3661 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
3662 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
3663 (grub_efi_finish_boot_services): Moved from here ...
3664 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
3665 Fille finish memory map and related data.
3666 (finish_mmap_buf): New variable.
3667 (grub_efi_uintn_t finish_mmap_size): Likewise.
3668 (grub_efi_uintn_t finish_key): Likewise.
3669 (grub_efi_uintn_t finish_desc_size): Likewise.
3670 (grub_efi_uint32_t finish_desc_version): Likewise.
3671 (grub_efi_is_finished): Likewise.
3672 (grub_efi_get_memory_map): Use saved memory map if EFI is already
3673 finished.
3674 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
3675 (grub_elf64_phdr_iterate): Likewise.
3676 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
3677 (grub_os_area_size): Likewise.
3678 (grub_machine_init): Don't reserve os area.
3679 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
3680 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3681 * grub-core/kern/i386/loader.S: Removed.
3682 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
3683 (grub_os_area_size): Likewise.
3684 (grub_machine_init): Don't reserve os area.
3685 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3686 Don't call grub_dl_unload_all.
3687 Don't include loader.S.
3688 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3689 Declare the memory after _end as available.
3690 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 3691 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 3692 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
3693 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
3694 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
3695 * include/grub/mm_private.h (grub_mm_header): ... here.
3696 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
3697 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
3698 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
3699 (grub_mm_region): ..here. Removed addr. Added pre_size.
3700 All users updated.
3701 * grub-core/kern/mm.c (base): Renamed to ...
3702 (grub_mm_base): ... this. Made global.
3703 (grub_real_malloc): Alloc from end of region.
3704 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
3705 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
3706 * grub-core/kern/powerpc/cache_flush.S: ... here.
3707 * grub-core/lib/efi/relocator.c: New file.
3708 * grub-core/lib/i386/relocator.c: Rewritten.
3709 * grub-core/lib/i386/relocator16.S: New file.
3710 * grub-core/lib/i386/relocator32.S: Likewise.
3711 * grub-core/lib/i386/relocator64.S: Likewise.
3712 * grub-core/lib/i386/relocator_asm.S: Rewritten.
3713 * grub-core/lib/i386/relocator_common.S: New file.
3714 * grub-core/lib/ieee1275/relocator.c: Likewise.
3715 * grub-core/lib/mips/relocator.c: Rewritten.
3716 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
3717 stylistic adjustments.
3718 * grub-core/lib/powerpc/relocator.c: New file.
3719 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
3720 * grub-core/lib/relocator.c: Rewritten.
3721 * grub-core/lib/x86_64/relocator_asm.S: New file.
3722 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
3723 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
3724 (bsd_tag): New struct.
3725 (tags): New variable.
3726 (tags_last): Likewise.
3727 (netbsd_module): New struct.
3728 (netbsd_mods): New variable.
3729 (netbsd_mods_last): Likewise.
3730 (openbsd_opts): New parameter "serial".
3731 (OPENBSD_SERIAL_ARG): New definition.
3732 (netbsd_opts): New parameter "serial".
3733 (NETBSD_SERIAL_ARG): New definition.
3734 (grub_freebsd_add_meta): Reorganised into ...
3735 (grub_bsd_add_meta): ...this. All users updated.
3736 (grub_freebsd_add_mmap): Reorganised into ...
3737 (generate_e820_mmap): ...this...
3738 (grub_bsd_add_mmap): ...and this. All users updated.
3739 (grub_freebsd_list_modules): Use tags.
3740 (grub_netbsd_add_meta_module): New function.
3741 (grub_netbsd_list_modules): Likewise.
3742 (grub_freebsd_boot): Use relocator and finish EFI.
3743 (grub_openbsd_boot): Likewise.
3744 (grub_netbsd_setup_video): New function.
3745 (grub_netbsd_add_modules): Likewise.
3746 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
3747 and finish EFI.
3748 (grub_bsd_unload): Unload tags.
3749 (grub_bsd_load_aout): Use relocator.
3750 (grub_bsd_elf32_size_hook): New function.
3751 (grub_bsd_elf32_hook): Use relocator.
3752 (grub_bsd_elf64_size_hook): New function.
3753 (grub_bsd_elf64_hook): Use relocator.
3754 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
3755 (grub_bsd_load): Zero-out openbsd_ramdisk.
3756 (grub_bsd_load): Use relocator.
3757 (grub_cmd_openbsd): Support serial.
3758 (grub_cmd_netbsd): Support modules.
3759 (grub_cmd_freebsd_module): Use relocator.
3760 (grub_netbsd_module_load): New function.
3761 (grub_cmd_netbsd_module): Likewise.
3762 (grub_cmd_openbsd_ramdisk): Likewise.
3763 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
3764 kopenbsd_ramdisk.
3765 (GRUB_MOD_FINI): Unregister new commands.
3766 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
3767 (grub_freebsd_load_elfmodule_obj): Use relocator.
3768 (grub_freebsd_load_elfmodule): Likewise.
3769 (grub_freebsd_load_elf_meta): Likewise.
3770 (grub_netbsd_load_elf_meta): New function.
3771 (grub_openbsd_find_ramdisk): Likewise.
3772 * grub-core/loader/i386/bsd_helper.S: Removed.
3773 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
3774 * grub-core/loader/i386/bsd_trampoline.S: Removed.
3775 * grub-core/loader/i386/efi/linux.c: Likewise.
3776 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
3777 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
3778 (DEFAULT_VIDEO_MODE): Likewise.
3779 (real_mode_target): New variable.
3780 (prot_mode_target): Likewise.
3781 (initrd_mem_target): Likewise.
3782 (relocator): Likewise.
3783 (efi_mmap_buf): Likewise.
3784 (efi_mmap_size): Likewise.
3785 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
3786 (free_pages): Use relocator.
3787 (allocate_pages): Account for efi_mmap and use relocator. Return error.
3788 (grub_linux_setup_video): Return error.
3789 (grub_linux_trampoline_start): Removed.
3790 (grub_linux_trampoline_end): Likewise.
3791 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
3792 andd video parameters depending on firmware.
3793 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
3794 [GRUB_MACHINE_EFI]: Pass EFI parameters.
3795 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
3796 (grub_cmd_initrd): Use relocator.
3797 * grub-core/loader/i386/linux_trampoline.S: Removed.
3798 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
3799 (elf_sec_entsize): Likewise.
3800 (elf_sec_shstrndx): Likewise.
3801 (elf_sections): Likewise.
3802 (grub_multiboot_load): Use relocator.
3803 (grub_multiboot_get_mbi_size): Account for sections.
3804 (grub_multiboot_make_mbi): Use relocator and support sections.
3805 (grub_multiboot_add_elfsyms): New function.
3806 (grub_multiboot_free_mbi): Free sections.
3807 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
3808 (grub_linux_real_target): Likewise.
3809 (grub_linux_real_chunk): Likewise.
3810 (grub_linux16_prot_size): Likewise.
3811 (grub_linux16_boot): Use relocator.
3812 (grub_linux_unload): Unload relocator.
3813 (grub_cmd_linux): Use relocator.
3814 (grub_cmd_initrd): Likewise.
3815 * grub-core/loader/i386/pc/ntldr.c: New file.
3816 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
3817 Don't try to guess CPU frequency.
3818 (grub_xnu_set_video): Stretch bitmap.
3819 (grub_xnu_boot): Use relocator.
3820 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
3821 (grub_linux_unload): Free relocator.
3822 (grub_linux_load32): Use relocator.
3823 (grub_linux_load64): Likewise.
3824 (grub_cmd_initrd): Likewise.
3825 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
3826 (grub_multiboot_unload): Unload relocator.
3827 (grub_cmd_multiboot): Use relocator.
3828 (grub_cmd_module): Likewise.
3829 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
3830 Use relocator and support sections.
3831 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
3832 (elf_sec_entsize): Likewise.
3833 (elf_sec_shstrndx): Likewise.
3834 (elf_sections): Likewise.
3835 (grub_multiboot_load): Use relocator.
3836 (grub_multiboot_get_mbi_size): Account for sections.
3837 (grub_multiboot_make_mbi): Use relocator and support sections.
3838 (grub_multiboot_add_elfsyms): New function.
3839 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
3840 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
3841 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
3842 Prototype changed. All users updated.
3843 (grub_xnu_align_heap): Simplified.
3844 (grub_xnu_writetree_toheap): Likewise.
3845 (grub_xnu_unload): Unload relocator.
3846 (grub_cmd_xnu_kernel): Use relocator.
3847 (grub_cmd_xnu_kernel64): Likewise.
3848 (grub_xnu_register_memory): Simplified.
3849 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
3850 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
3851 EFI is finished.
3852 (grub_console_checkkey): Likewise.
3853 (grub_console_getkey): Likewise.
3854 (grub_console_getwh): Likewise.
3855 (grub_console_getxy): Likewise.
3856 (grub_console_gotoxy): Likewise.
3857 (grub_console_cls): Likewise.
3858 (grub_console_setcolorstate): Likewise.
3859 (grub_console_setcursor): Likewise.
3860 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
3861 * grub-core/tests/boot/kbsd.init-i386.S: New file.
3862 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
3863 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
3864 * grub-core/tests/boot/kernel-8086.S: Likewise.
3865 * grub-core/tests/boot/kernel-i386.S: Likewise.
3866 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
3867 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
3868 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
3869 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
3870 * grub-core/tests/boot/knetbsd.cfg: Likewise.
3871 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
3872 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
3873 * grub-core/tests/boot/linux.cfg: Likewise.
3874 * grub-core/tests/boot/linux.init-i386.S: Likewise.
3875 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
3876 * grub-core/tests/boot/linux16.cfg: Likewise.
3877 * grub-core/tests/boot/multiboot.cfg: Likewise.
3878 * grub-core/tests/boot/multiboot2.cfg: Likewise.
3879 * grub-core/tests/boot/ntldr.cfg: Likewise.
3880 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
3881 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
3882 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
3883 New definition.
3884 * include/grub/dl.h (grub_dl_unload_all): Removed.
3885 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
3886 (grub_efi_finish_boot_services): Change prototype.
3887 (grub_efi_is_finished): New variable.
3888 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
3889 Changed prototype.
3890 (grub_efiemu_finish_boot_services): Removed.
3891 (grub_machine_efiemu_init_tables): New prototype.
3892 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
3893 (grub_elf64_phdr_iterate): Likewise.
3894 * include/grub/i386/bsd.h: Include relocator.h.
3895 (freebsd_tag_header): New struct.
3896 (grub_openbsd_bios_mmap): Removed.
3897 (grub_unix_real_boot): Removed.
3898 (grub_freebsd_load_elfmodule32): Changed prototype.
3899 (grub_freebsd_load_elfmodule_obj64): Likewise.
3900 (grub_freebsd_load_elf_meta32): Likewise.
3901 (grub_freebsd_load_elf_meta64): Likewise.
3902 (grub_freebsd_add_meta): Removed.
3903 (grub_netbsd_load_elf_meta32): New prototype.
3904 (grub_netbsd_load_elf_meta64): Likewise.
3905 (grub_bsd_add_meta): Likewise.
3906 (grub_openbsd_ramdisk_descriptor): New struct.
3907 (grub_openbsd_find_ramdisk32): New prototype.
3908 (grub_openbsd_find_ramdisk64): Likewise.
3909 * include/grub/i386/coreboot/loader.h: Removed.
3910 * include/grub/i386/efi/loader.h: Likewise.
3911 * include/grub/i386/ieee1275/loader.h: Likewise.
3912 * include/grub/i386/linux.h (linux_kernel_header): Change void *
3913 to grub_uint32_t.
3914 * include/grub/i386/loader.h: Removed.
3915 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
3916 value.
3917 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
3918 (grub_phys_addr_t): New type.
3919 (grub_vtop): New inline function.
3920 (grub_map_memory): Likewise.
3921 (grub_unmap_memory): Likewise.
3922 * include/grub/i386/multiboot/loader.h: Removed.
3923 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
3924 (NETBSD_BTINFO_CONSOLE): New definition.
3925 (NETBSD_BTINFO_SYMTAB): Likewise.
3926 (NETBSD_BTINFO_MODULES): Likewise.
3927 (NETBSD_BTINFO_FRAMEBUF): Likewise.
3928 (grub_netbsd_bootinfo): New struct.
3929 (grub_netbsd_btinfo_common): Use explicit bitsize.
3930 (grub_netbsd_btinfo_mmap_entry): Removed.
3931 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
3932 (grub_netbsd_btinfo_bootdisk): New struct.
3933 (grub_netbsd_btinfo_symtab): Likewise.
3934 (grub_netbsd_btinfo_serial): Likewise.
3935 (grub_netbsd_btinfo_modules): Likewise.
3936 (grub_netbsd_btinfo_framebuf): Likewise.
3937 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
3938 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
3939 Likewise.
3940 (grub_openbsd_bootargs): Use explicit bitsize.
3941 (grub_openbsd_bootarg_console): New struct.
3942 (GRUB_OPENBSD_COM_MAJOR): New definition.
3943 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
3944 * include/grub/i386/pc/efiemu.h: Removed.
3945 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
3946 * include/grub/i386/qemu/loader.h: Removed.
3947 * include/grub/i386/relocator.h: Rewritten.
3948 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
3949 * include/grub/mips/memory.h: New file.
3950 * include/grub/mips/multiboot.h: Rewritten.
3951 * include/grub/mips/relocator.h: Rewritten.
3952 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
3953 (grub_vtop): New function.
3954 (grub_map_memory): Likewise.
3955 (grub_unmap_memory): Likewise.
3956 * include/grub/misc.h (ALIGN_DOWN): New definition.
3957 * include/grub/mm.h (grub_mm_check_real): New proto.
3958 (GRUB_MM_CHECK): New definition.
3959 * include/grub/mm_private.h: New file.
3960 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
3961 (grub_multiboot_get_mbi_size): Removed.
3962 (grub_multiboot_make_mbi): Change prottype.
3963 (grub_multiboot_set_accepts_video): New proto.
3964 (grub_multiboot_add_elfsyms): Likewise.
3965 (grub_multiboot_payload_eip): New variable.
3966 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
3967 New prototype.
3968 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
3969 New definition.
3970 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
3971 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
3972 * include/grub/powerpc/ieee1275/loader.h: Removed.
3973 * include/grub/powerpc/memory.h: New file.
3974 * include/grub/powerpc/relocator.h: Likewise.
3975 * include/grub/relocator.h: Likewise.
3976 * include/grub/relocator_private.h: Likewise.
3977 * include/grub/sparc64/ieee1275/loader.h: Removed.
3978 * include/grub/x86_64/memory.h: New file.
3979 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
3980 (grub_xnu_heap_malloc): Likewise.
3981 (grub_xnu_heap_real_start): Removed.
3982 (grub_xnu_heap_start): Likewise.
3983 (grub_xnu_relocator): New variable.
3984 (grub_xnu_heap_target_start): Likewise.
3985 * tests/util/grub-shell.in: Support non-pc.
3986 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 3987
5303b85d
VS
39882010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3989
3990 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
3991 on malloc error.
3992 (grub_bidi_logical_to_visual): Check that malloc succeded.
3993 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
3994 puts.
3995 (grub_xputs_normal): Likewise.
3996
d768d159
VS
39972010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3998
3999 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
4000 extra_dist.
4001
40022010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/efiemu/runtime/efiemu.sh: Removed.
4005
5bf84df4
VS
40062010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
4009
3626810e
VS
40102010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
4013 dprintf.
4014
a7363f53
BC
40152010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
4016
4017 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
4018
902f75f6
VS
40192010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * grub-core/normal/term.c (print_more): Fix a memory leak.
4022 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
4023 (grub_xputs_normal): Likewise.
4024
3c707967
VS
40252010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
4028 the begining of the string
4029
2053cc07
VS
40302010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * grub-core/script/script.c (grub_script_parse): Free parsed on
4033 failure.
4034
46422ebf
VS
40352010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
4038 on failure.
4039
9e0fa3f6
VS
40402010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
4043 return.
4044
3393cf16
VS
40452010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
4048 (scroll_up): Fix a memory leak.
4049
b17540cb
VS
40502010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
4053 errors.
4054
67140446
VS
40552010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 Handle USB pendrives exposed as floppies.
4058
4059 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
4060 floppy.
4061 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
4062 Check for partitions on all devices.
4063
e35e46fc
VS
40642010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
4067 (readkey): Likewise.
4068
d24c6190
BC
40692010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
4070
4071 Multiple variable names support to "export" command.
4072
4073 * normal/context.c (grub_cmd_export): "export" command supports
4074 multiple variable names.
4075
04ddcc6a
ST
40762010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
4077
4078 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
4079 --target=drive output to Mach device name.
4080
0c8b61d8
BC
40812010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
4082
4083 New Automake based build system for GRUB.
4084
4085 * ABOUT-NLS: New file.
4086 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
4087 in Makefile.util.def file.
4088 * Makefile.util.def: New file. Autogen build definitions file for
4089 GRUB host utils.
4090 * conf/Makefile.common: New file. Common variables for GRUB host
4091 utils and target modules.
4092 * conf/Makefile.extra-dist: New file. Extra files for make dist.
4093 * docs/Makefile.am: New file. Automake file for docs.
4094 * gentpl.py: New file. Python script to generate Autogen
4095 template.
4096 * grub-core/Makefile.am: New file. GRUB target modules' rules
4097 that doesn't fit in Makefile.core.def file.
4098 * grub-core/Makefile.core.def: New file. Autogen build
4099 definitions file for GRUB target modules.
4100 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
4101 specific setjmp.S file.
4102 * po/Makefile.am: New file.
4103
4104 * .bzrignore: New ignores.
4105 * INSTALL: New requirements, without Ruby.
4106 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
4107 * autogen.sh: Updated to invoke autogen as necessary.
4108 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
4109 and defines for Automake conditionals.
4110 * geninit.sh: Refactoring.
4111
4112 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
4113 necessary.
4114 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
4115 New prototype.
4116
4117 * include/grub/test.h: Fix functional test modules' naming.
4118 * grub-core/tests/example_functional_test.c: Fix test module name.
4119
4120 * util/misc.c: Hosted versions' of grub functions for libgrub.a
4121 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
4122 * util/grub-editenv.c: Likewise.
4123 * util/grub-fstest.c: Likewise.
4124 * util/grub-mkdevicemap.c: Likewise.
4125 * util/grub-mkfont.c: Likewise.
4126 * util/grub-mkimage.c: Likewise.
4127 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4128 * util/grub-probe.c: Likewise.
4129 * util/grub-script-check.c: Likewise.
4130 * util/i386/pc/grub-setup.c: Likewise.
4131 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4132
4133 * tests/util/grub-shell.in: Fix override directory path.
4134 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
4135 * util/import_gcry.py: Create Makefile.gcry.def file instead.
4136
4137 * util/lvm.c: Update #includes.
4138 * util/raid.c: Likewise.
4139 * util/resolve.c: Likewise.
4140 * grub-core/bus/emu/pci.c: Likewise.
4141 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
4142 * grub-core/lib/posix_wrap/string.h: Likewise.
4143 * grub-core/kern/emu/main.c: Likewise.
4144
4145 * grub-core/gensymlist.sh: New file. Script for generating kernel
4146 symbols file.
4147 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
4148
4149 * grub-core/gentrigtables.c: Fix unused variable warnings.
4150
4151 * Makefile.in: Removed.
4152 * conf/any-emu.rmk: Removed.
4153 * conf/common.rmk: Removed.
4154 * conf/i386-coreboot.rmk: Removed.
4155 * conf/i386-efi.rmk: Removed.
4156 * conf/i386-ieee1275.rmk: Removed.
4157 * conf/i386-multiboot.rmk: Removed.
4158 * conf/i386-pc.rmk: Removed.
4159 * conf/i386-qemu.rmk: Removed.
4160 * conf/i386.rmk: Removed.
4161 * conf/mips-yeeloong.rmk: Removed.
4162 * conf/mips.rmk: Removed.
4163 * conf/powerpc-ieee1275.rmk: Removed.
4164 * conf/sparc64-ieee1275.rmk: Removed.
4165 * conf/tests.rmk: Removed.
4166 * conf/x86-efi.rmk: Removed.
4167 * conf/x86_64-efi.rmk: Removed.
4168 * gendistlist.sh: Removed.
4169 * geninitheader.sh: Removed.
4170 * genkernsyms.sh.in: Removed.
4171 * genmk.rb: Removed.
4172 * gensymlist.sh.in: Removed.
4173 * mkinstalldirs: Removed.
4174 * boot: Moved ...
4175 * grub-core/boot: ... to here.
4176 * bus: Moved ...
4177 * grub-core/bus: ... to here.
4178 * commands: Moved ...
4179 * grub-core/commands: ... to here.
4180 * disk: Moved ...
4181 * grub-core/disk: ... to here.
4182 * efiemu: Moved ...
4183 * grub-core/efiemu: ... to here.
4184 * font: Moved ...
4185 * grub-core/font: ... to here.
4186 * fs: Moved ...
4187 * grub-core/fs: ... to here.
4188 * gencmdlist.sh: Moved ...
4189 * grub-core/gencmdlist.sh: ... to here.
4190 * genemuinit.sh: Moved ...
4191 * grub-core/genemuinit.sh: ... to here.
4192 * genemuinitheader.sh: Moved ...
4193 * grub-core/genemuinitheader.sh: ... to here.
4194 * genfslist.sh: Moved ...
4195 * grub-core/genfslist.sh: ... to here.
4196 * genhandlerlist.sh: Moved ...
4197 * grub-core/genhandlerlist.sh: ... to here.
4198 * genmoddep.awk: Moved ...
4199 * grub-core/genmoddep.awk: ... to here.
4200 * genmodsrc.sh: Moved ...
4201 * grub-core/genmodsrc.sh: ... to here.
4202 * genpartmaplist.sh: Moved ...
4203 * grub-core/genpartmaplist.sh: ... to here.
4204 * genparttoollist.sh: Moved ...
4205 * grub-core/genparttoollist.sh: ... to here.
4206 * genterminallist.sh: Moved ...
4207 * grub-core/genterminallist.sh: ... to here.
4208 * gentrigtables.c: Moved ...
4209 * grub-core/gentrigtables.c: ... to here.
4210 * genvideolist.sh: Moved ...
4211 * grub-core/genvideolist.sh: ... to here.
4212 * gettext: Moved ...
4213 * grub-core/gettext: ... to here.
4214 * gfxmenu: Moved ...
4215 * grub-core/gfxmenu: ... to here.
4216 * gnulib: Moved ...
4217 * grub-core/gnulib: ... to here.
4218 * hello: Moved ...
4219 * grub-core/hello: ... to here.
4220 * hook: Moved ...
4221 * grub-core/hook: ... to here.
4222 * io: Moved ...
4223 * grub-core/io: ... to here.
4224 * kern: Moved ...
4225 * grub-core/kern: ... to here.
4226 * lib: Moved ...
4227 * grub-core/lib: ... to here.
4228 * loader: Moved ...
4229 * grub-core/loader: ... to here.
4230 * mmap: Moved ...
4231 * grub-core/mmap: ... to here.
4232 * normal: Moved ...
4233 * grub-core/normal: ... to here.
4234 * partmap: Moved ...
4235 * grub-core/partmap: ... to here.
4236 * parttool: Moved ...
4237 * grub-core/parttool: ... to here.
4238 * script: Moved ...
4239 * grub-core/script: ... to here.
4240 * term: Moved ...
4241 * grub-core/term: ... to here
4242 * tests/example_functional_test.c: Moved ...
4243 * grub-core/tests/example_functional_test.c: ... to here.
4244 * tests/lib/functional_test.c: Moved ...
4245 * grub-core/tests/lib/functional_test.c: ... to here.
4246 * tests/lib/test.c: Moved ...
4247 * grub-core/tests/lib/test.c: ... to here.
4248 * video: Moved ...
4249 * grub-core/video: ... to here.
4250
645586e6
BC
42512010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
4252
4253 Replace --enable-grub-emu-modules with grub-emu-lite.
4254
4255 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
4256 cache.S.
4257
4258 * include/grub/emu/misc.h (grub_emu_init): New prototype.
4259 * kern/emu/full.c: New file. For grub-emu specific initialization.
4260 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
4261 * kern/emu/main.c: Call initialization function grub_emu_init.
4262
4263 * Makefile.in: Include grub-emu-lite in install.
4264 * commands/parttool.c: Use grub_no_autoload to differentiate
4265 between grub-emu and grub-emu-lite.
4266 * include/grub/misc.h: New variable grub_no_autoload.
4267
4268 * conf/any-emu.rmk: New rules for grub-emu-lite.
4269 * configure.ac: Remove --enable-grub-emu-modules.
4270 * genmk.rb: Cleanup unnecessary rules.
4271 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
4272
4273 * normal/main.c: Don't load list files on grub-emu-lite.
4274 * util/misc.c (grub_arch_sync_caches): Removed.
4275
f86a4030
CW
42762010-08-23 Colin Watson <cjwatson@ubuntu.com>
4277
4278 * kern/mips/startup.S (grub_prefix): Update comment to refer to
4279 grub-mkimage rather than grub-mkelfimage.
4280 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
4281
06776944
VS
42822010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
4285 a key after CapsLock or NumLock. It's just a qemu bug.
4286
df262419
VS
42872010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
4290 needed by libusb wrapper.
4291
b40ea81b
ST
42922010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4293
4294 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
4295
dee50575
VS
42962010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
4299 --nounzip is passed.
4300
fb1d7b79
VS
43012010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 USB hotunplugging and USB serial support.
4304
4305 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
4306 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
4307 (grub_uhci_transfer): Respect timeout and set *actual.
4308 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
4309 non-standard length.
4310 (grub_usb_device_attach): Autoload modules.
4311 (GRUB_MOD_INIT): Set grub_term_poll_usb.
4312 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
4313 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
4314 users updated.
4315 (grub_usb_add_hub): Fill nports and children.
4316 (attach_root_port): Receive hub instead of controller.
4317 All users updated. Fill hub->devices.
4318 (grub_usb_root_hub): Allocate hub->devices.
4319 (detach_device): New function.
4320 (poll_nonroot_hub): Fill children and detach devices.
4321 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
4322 actual arguments. All users updated.
4323 (grub_usb_bulk_read_extended): New function.
4324 * bus/usb/serial/common.c: New file.
4325 * bus/usb/serial/ftdi.c: Likewise.
4326 * bus/usb/serial/pl2303.c: Likewise.
4327 * commands/terminal.c (handle_command): Support wildcard.
4328 * commands/usbtest.c: Output "Unknown" instead of empty string.
4329 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
4330 (usbserial_common_mod_SOURCES): New variable.
4331 (usbserial_common_mod_CFLAGS): Likewise.
4332 (usbserial_common_mod_LDFLAGS): Likewise.
4333 (pkglib_MODULES): Add usbserial_pl2303.mod.
4334 (usbserial_pl2303_mod_SOURCES): New variable.
4335 (usbserial_pl2303_mod_CFLAGS): Likewise.
4336 (usbserial_pl2303_mod_LDFLAGS): Likewise.
4337 (pkglib_MODULES): Add usbserial_ftdi.mod.
4338 (usbserial_ftdi_mod_SOURCES): New variable.
4339 (usbserial_ftdi_mod_CFLAGS): Likewise.
4340 (usbserial_ftdi_mod_LDFLAGS): Likewise.
4341 (pkglib_MODULES): Add serial.mod.
4342 (serial_mod_SOURCES): New variable.
4343 (serial_mod_CFLAGS): Likewise.
4344 (serial_mod_LDFLAGS): Likewise.
4345 * conf/i386-pc.rmk: Likewise.
4346 * conf/mips-yeeloong.rmk: Likewise.
4347 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
4348 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
4349 * disk/usbms.c (first_available_slot): New variable.
4350 (grub_usbms_attach): Don't reuse free slots due to potential cache
4351 problems.
4352 * include/grub/serial.h: Moved to ..
4353 * include/grub/ns8250.h: ...this.
4354 * include/grub/serial.h: New file.
4355 * include/grub/term.h (grub_term_poll_usb): New variable.
4356 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
4357 readkey. All users updated.
4358 (grub_terminfo_output_state): Pass term to put.
4359 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
4360 (grub_usb_controller_dev): Add timeout and actual arguments to
4361 transfer. All users updated.
4362 (grub_usb_interface): New field detach_data.
4363 (grub_usb_device): New fields children and nports.
4364 (grub_usb_ep_type_t): New type.
4365 (grub_usb_get_ep_type): New function.
4366 (grub_usb_bulk_read_extended): Likewise.
4367 * include/grub/usbdesc.h (grub_usb_desc): New type.
4368 * include/grub/usbserial.h: New file.
4369 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
4370 * kern/term.c (grub_term_poll_usb): New variable.
4371 (grub_getkey): Call grub_term_poll_usb if set.
4372 (grub_checkkey): Likewise.
4373 (grub_getkeystatus): Likewise.
4374 * term/serial.c: Moved controller-specific parts to ...
4375 * term/ns8250.c: ... here.
4376 * term/serial.c: Mostly rewritten.
4377 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
4378 according to spec.
4379
21a313de
RM
43802010-08-20 Robert Millan <rmh@gnu.org>
4381
4382 Make kFreeBSD code more generic to support ext2fs as root, ufs as
4383 a separate module and maybe other interesting combinations.
4384
4385 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
4386 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
4387 (kfreebsd_entry): Add generic filesystem module load routine.
4388 Map GRUB `ext2' to kFreeBSD `ext2fs'.
4389
63c734a6
CW
43902010-08-20 Colin Watson <cjwatson@ubuntu.com>
4391
4392 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
4393 "numcenter" (I misunderstood the purpose of this entry).
4394 * docs/grub.texi (sendkey): Likewise.
4395
c4d16542
CW
43962010-08-20 Colin Watson <cjwatson@ubuntu.com>
4397
4398 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
4399 status flag options; simply omitting the option is equivalent and
4400 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
4401 (keysym_table): Rename "num5numlock" to "numlock".
4402 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
4403 can uniformly say that only the last of multiple `sendkey'
4404 invocations has any effect.
4405 * docs/grub.texi (sendkey): New section.
4406
93541d66
CW
44072010-08-19 Colin Watson <cjwatson@ubuntu.com>
4408
4409 * commands/i386/pc/sendkey.c (options): Fix three typos.
4410
b4ece5e1
VS
44112010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 Implement sendkey support.
4414
4415 * commands/i386/pc/sendkey.c: New file.
4416 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
4417 (sendkey_mod_SOURCES): New variable.
4418 (sendkey_mod_CFLAGS): Likewise.
4419 (sendkey_mod_LDFLAGS): Likewise.
4420
51f1f5af
CW
44212010-08-18 Colin Watson <cjwatson@ubuntu.com>
4422
4423 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
4424 fix warnings from Autoconf.
4425
9da94e05
CW
44262010-08-18 Colin Watson <cjwatson@ubuntu.com>
4427
4428 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
4429 to avoid false positives with some assemblers that output things
4430 like "someprefix_func" as part of their output.
4431
729a0f2e
RM
44322010-08-15 Robert Millan <rmh@gnu.org>
4433
4434 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
4435 errors.
4436 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
4437 grub_get_libzfs_handle() errors.
4438
f3710e08
RM
44392010-08-14 Robert Millan <rmh@gnu.org>
4440
4441 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
4442 filesystem is not ZFS.
4443
7a3c13de
BC
44442010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4445
4446 Fix for misspelled color names defaulting to black/black (bug
4447 reported by Doug Nazar)
4448
4449 * include/grub/normal.h (grub_parse_color_name_pair): Add return
4450 status to prototype.
4451 * normal/color.c (grub_parse_color_name_pair): Return failure
4452 status.
4453 (grub_env_write_color_normal): Ignore bad color names.
4454 (grub_env_write_color_highlight): Likewise.
4455 * normal/main.c (GRUB_MOD_INIT): Set default color names.
4456
ab8ba50d
BC
44572010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4458
4459 "shift" command support to GRUB script.
4460
4461 * include/grub/script_sh.h (grub_script_shift): New prototype.
4462 * script/execute.c (grub_script_shift): New function.
4463 * script/main.c (grub_script_init): Register shift command.
4464 (grub_script_fini): Unregister shift command.
4465 * util/grub-script-check.c (grub_script_cmd_shift): New function.
4466
4467 * tests/grub_script_shift.in: New testcase.
4468 * conf/tests.rmk: Rules for new testcase.
4469
4d61999e
BC
44702010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4471
4472 "continue" command support to GRUB script.
4473
4474 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
4475 (grub_script_break): Continue support.
4476 * script/main.c (grub_script_init): Register continue command.
4477 (grub_script_fini): Unregister continue command.
4478
4479 * tests/grub_script_continue.in: New testcase.
4480 * conf/tests.rmk: Rules for new testcase.
4481
4df51e00
BC
44822010-08-12 BVK Chaitanya <bvk@dbook>
4483
4484 "break" command support to GRUB script.
4485
4486 * conf/common.rmk: Rule updates to grub-script-check.
4487 * include/grub/misc.h (grub_min): New function.
4488 * include/grub/script_sh.h (grub_script_init): New prototype.
4489 (grub_script_fini): New prototype.
4490 (grub_script_break): New prototype.
4491 * script/main.c (grub_script_init): New function.
4492 (grub_script_fini): New function.
4493 * script/execute.c (grub_script_break): New function.
4494 * normal/main.c: Calls to grub_script_{init,fini}.
4495 * util/grub-script-check.c (grub_script_break): New function.
4496
4497 * tests/grub_script_break.in: New testcase.
4498 * conf/tests.rmk: Rules for new test case.
4499
f12c8420
BC
45002010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4501
4502 Function parameters support to GRUB script.
4503
4504 * script/yylex.l (VARIABLE): Regular expression update.
4505 * script/function.c (grub_script_function_call): Moved ...
4506 * script/execute.c (grub_script_function_call): ... to here.
4507 (grub_script_execute_arglist_to_argv): Removed.
4508 (grub_script_arglist_to_argv): New function.
4509 * script/argv.c: New file.
4510 (grub_script_argv_free): New function.
4511 (grub_script_argv_next): Likewise.
4512 (grub_script_argv_append): Likewise.
4513 (grub_script_argv_split_append): Likewise.
4514 * include/grub/script_sh.h (grub_script_argv): New struct.
4515 (grub_script_argv_free): New function.
4516 (grub_script_argv_next): Likewise.
4517 (grub_script_argv_append): Likewise.
4518 (grub_script_argv_split_append): Likewise.
4519
4520 * conf/common.rmk (normal.mod): New source script/argv.c.
4521
4522 * tests/grub_script_echo1.in: More tests.
4523 * tests/grub_script_vars1.in: Likewise.
4524 * tests/grub_script_functions.in: New test case.
4525 * conf/tests.rmk: Rules for new testcase.
4526
8022b748
BC
45272010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4528
4529 Remove grub_script_cmdblock struct.
4530
4531 * include/grub/script_sh.h: Remove grub_script_cmdblock.
4532 * script/parser.y: Likewise.
4533 * script/execute.c: Rename cmdblock suffix to cmdlist.
4534 * script/script.c: Likewise.
4535 * util/grub-script-check.c: Likewise.
4536
79a6ba61
YB
45372010-08-11 Yves Blusseau <blusseau@zetam.org>
4538
4539 * .bzrignore: add grub-macho2img
4540
d04b9414
VS
45412010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
4544
f947ab49
VS
45452010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 Remove the dump of sm712 initialisation sequence.
4548
4549 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
4550 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
4551 (GRUB_VGA_IO_MISC_WRITE): Likewise.
4552 (GRUB_VGA_CR_*): Added many registers.
4553 (GRUB_VGA_SR_*): Likewise.
4554 (GRUB_VGA_GR_*): Likewise.
4555 (grub_vga_write_arx): New function.
4556 (grub_video_hw_config): New struct.
4557 (grub_vga_set_geometry): New function.
4558 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
4559 GRUB_PCI_CLASS_SUBCLASS_VGA.
4560 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
4561 * video/sm712.c (grub_sm712_write_reg): New function
4562 (grub_sm712_read_reg): Likewise.
4563 (grub_sm712_sr_write): Likewise.
4564 (grub_sm712_gr_write): Likewise.
4565 (grub_sm712_cr_write): Likewise.
4566 (grub_sm712_write_arx): Likewise.
4567 (grub_sm712_cr_shadow_write): Likewise.
4568 (grub_sm712_write_dda_lookup): Likewise.
4569 (grub_video_sm712_setup): Initialise the video rather then
4570 blindly replay the dump.
4571 (main) [TEST]: Add a routine to be able to compile as standalone for
4572 tests.
4573 * video/sm712_init.c (sm712_init): Removed.
4574 (sm712_sr_seq1): New array.
4575 (sm712_sr_seq2): Likewise.
4576
f0206638
VS
45772010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * include/grub/vga.h: Add missing grub/pci.h include.
4580
2764da3b
YB
45812010-08-10 Yves Blusseau <blusseau@zetam.org>
4582
4583 * util/grub-macho2img.c (main): fix typo
4584
cf0c775e
VS
45852010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
4588 (grub_vga_gr_read): Likewise.
4589 (grub_vga_cr_write): Likewise.
4590 (grub_vga_cr_read): Likewise.
4591 (grub_vga_sr_write): Likewise.
4592 (grub_vga_sr_read): Likewise.
4593 (grub_vga_palette_read): Likewise.
4594 (grub_vga_palette_write): Likewise.
4595 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
4596 (grub_sm712_sr_read): New function.
4597 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
4598 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
4599
07f360e9
RM
46002010-08-09 Robert Millan <rmh@gnu.org>
4601
4602 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
4603 out unused variables on non-ZFS build.
4604
346c2072
RM
46052010-08-08 Robert Millan <rmh@gnu.org>
4606
4607 Fix path generation for sub-filesystems in ZFS.
4608
4609 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
4610 missing slash.
4611
71175420
RM
46122010-08-08 Robert Millan <rmh@gnu.org>
4613
4614 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
4615
0d8286f3
RM
46162010-08-08 Robert Millan <rmh@gnu.org>
4617
4618 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
4619 exist, issue a proper error message (rely on `ls' for translated
4620 strings).
4621
55dd2924
RM
46222010-08-08 Robert Millan <rmh@gnu.org>
4623
4624 Fix grub-probe invocation.
4625
4626 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
4627
d3dd9e80
RM
46282010-08-04 Robert Millan <rmh@gnu.org>
4629
4630 * configure.ac: Remove checks for getfsstat() and getmntany().
4631 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
4632 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
4633 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
4634 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
4635 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
4636 function.
4637 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
4638 via find_mount_point_from_dir() and getfsstat() / getmntany().
4639
0de22aa9
RM
46402010-08-04 Robert Millan <rmh@gnu.org>
4641
4642 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4643 (grub_find_zpool_from_mount_point): Merge into ...
4644 (grub_find_zpool_from_dir): ... this.
4645 * kern/emu/misc.c: Likewise.
4646
4647 * kern/emu/misc.c
4648 (grub_make_system_path_relative_to_its_root): Replace
4649 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
4650 with grub_find_zpool_from_dir().
4651 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
4652
62858144
RM
46532010-08-04 Robert Millan <rmh@gnu.org>
4654
4655 Support OpenSolaris in ZFS device resolution.
4656
4657 * configure.ac: Check for getmntany().
4658 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
4659 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
4660 support.
4661
9dd6fd50
RM
46622010-08-03 Robert Millan <rmh@gnu.org>
4663
4664 Fix grub-emu build.
4665
4666 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
4667 * include/grub/emu/misc.h: ... here.
4668
4669 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
4670 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
4671
4672 * util/misc.c: Remove `<grub/util/libzfs.h>'.
4673 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
4674 (grub_get_libzfs_handle): Move to ...
4675 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
4676 (grub_get_libzfs_handle): ... here.
4677
c9f7ff97
BC
46782010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
4679
4680 * script/execute.c (grub_script_execute_cmdline): Check for NULL
4681 as command name case.
4682
a870a783
CW
46832010-08-02 Colin Watson <cjwatson@ubuntu.com>
4684
4685 * disk/raid.c (insert_array): Select unique numbers for named arrays
4686 as well, for use as keys in the disk cache.
4687
c7db243b
RM
46882010-08-01 Robert Millan <rmh@gnu.org>
4689
4690 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
4691 kFreeBSD device name, except on ZFS where the filesystem label is
4692 used.
4693 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
4694 `/boot/zfs/zpool.cache'.
4695 Set mountfrom kernel variable using ${kfreebsd_device}.
4696
f7abdefb
RM
46972010-08-01 Robert Millan <rmh@gnu.org>
4698
4699 Make it even harder to use uninitialized `libzfs_handle' (and
4700 make the interface a bit simpler).
4701
4702 * include/grub/util/misc.h (grub_util_init_libzfs)
4703 (libzfs_handle): Remove.
4704 (grub_get_libzfs_handle): New prototype.
4705
4706 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
4707 attribute.
4708 (grub_util_init_libzfs): Remove.
4709 (grub_get_libzfs_handle): New function.
4710
4711 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
4712 grub_get_libzfs_handle() to obtain a libzfs handle instead of
4713 accessing `libzfs_handle' directly.
4714
c882acc0
RM
47152010-08-01 Robert Millan <rmh@gnu.org>
4716
4717 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4718 (grub_find_zpool_from_mount_point): New function prototypes.
4719
4720 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
4721 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
4722
4723 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
4724 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
4725 `static' attribute.
4726
4727 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
4728 finding zpool from mount point into ...
4729 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
4730
4731 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
4732 requested path is part of a ZFS pool, use
4733 grub_find_zpool_from_mount_point() to detect its filesystem name,
4734 and generate a path with `/fsname@path' syntax.
4735
8bfe31d8
CW
47362010-08-01 Colin Watson <cjwatson@ubuntu.com>
4737
4738 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
4739 (void) rather than () so that this is a proper prototype.
4740
553df63d
VS
47412010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
4744
8687cf07
VS
47452010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
4748 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
4749
ea9be8ea
CW
47502010-08-01 Colin Watson <cjwatson@ubuntu.com>
4751
4752 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
4753
6eea041a
CW
47542010-08-01 Colin Watson <cjwatson@ubuntu.com>
4755
4756 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
4757
2cfb45df
CW
47582010-08-01 Colin Watson <cjwatson@ubuntu.com>
4759
4760 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
4761 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
4762 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
4763 disable gfxpayload.
4764 (Shell-like scripting): Add real content.
4765 (Serial terminal): Suggest `terminal_input serial; terminal_output
4766 serial' rather than putting the two commands on separate lines,
4767 since console input will be inoperative after the first command.
4768 (menuentry): Document --class, --users, and --hotkey options.
4769 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
4770 Vladimir Serbinenko).
4771
7decd202
VS
47722010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
47732010-08-01 Colin Watson <cjwatson@ubuntu.com>
4774
4775 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
4776
c882acc0
RM
47772010-08-01 Robert Millan <rmh@gnu.org>
4778
4779 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4780 (grub_find_zpool_from_mount_point): New function prototypes.
4781
4782 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
4783 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
4784
4785 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
4786 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
4787 `static' attribute.
4788
4789 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
4790 finding zpool from mount point into ...
4791 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
4792
4793 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
4794 requested path is part of a ZFS pool, use
4795 grub_find_zpool_from_mount_point() to detect its filesystem name,
4796 and generate a path with `/fsname@path' syntax.
4797
deb0caa3
RM
47982010-08-01 Robert Millan <rmh@gnu.org>
4799
4800 Prevent accidental use of uninitialized libzfs_handle.
4801
4802 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
4803 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
4804 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
4805
ce04ef47
CW
48062010-08-01 Colin Watson <cjwatson@ubuntu.com>
4807
4808 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
4809 util/grub.d/10_linux.in). Fixes Debian bug #591093.
4810
ebf53056
RM
48112010-08-01 Robert Millan <rmh@gnu.org>
4812
4813 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 4814
3710bb6b
RM
48152010-07-31 Robert Millan <rmh@gnu.org>
4816
4817 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
4818
8072efeb
RM
48192010-07-31 Robert Millan <rmh@gnu.org>
4820
4821 * kern/emu/misc.c: Add missing license header.
4822
3169f4c7
RM
48232010-07-31 Robert Millan <rmh@gnu.org>
4824
4825 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
4826
4827 * include/grub/util/libnvpair.h: Include `<config.h>'.
4828 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
4829 declaring libnvpair prototypes ourselves.
4830 * include/grub/util/libzfs.h: Include `<config.h>'.
4831 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
4832 declaring libzfs prototypes ourselves.
4833
4834 (libzfs_handle): Moved to ...
4835 * include/grub/util/misc.h (libzfs_handle): ... here.
4836 Include `<grub/util/libzfs.h>'.
4837
c9a00aee
RM
48382010-07-30 Robert Millan <rmh@gnu.org>
4839
4840 * include/grub/emu/misc.h: Add missing license header.
4841
a184f9c8
RM
48422010-07-30 Robert Millan <rmh@gnu.org>
4843
4844 Enable `grub-probe -t device' resolution on ZFS.
4845
4846 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
4847 * include/grub/util/libnvpair.h: New file.
4848 * include/grub/util/libzfs.h: New file.
4849
4850 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
4851 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
4852 `<grub/util/libnvpair.h>'.
4853 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
4854
4855 (find_mount_point_from_dir): New static function.
4856 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
4857 function.
4858 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
4859 find_root_device_from_libzfs() before ressorting to find_root_device().
4860
4861 * include/grub/util/misc.h (grub_util_init_libzfs): New function
4862 prototype.
4863 * util/misc.c: Include `<grub/util/libzfs.h>'.
4864 (grub_util_init_libzfs): New function.
4865 [HAVE_LIBZFS] (libzfs_handle): New global variable.
4866 [HAVE_LIBZFS] (fini_libzfs): New static function.
4867 (grub_util_init_libzfs): New function.
4868 * util/grub-probe.c (main): Call grub_util_init_libzfs().
4869
f7790cdd
RM
48702010-07-30 Robert Millan <rmh@gnu.org>
4871
4872 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
4873 (xmalloc, xrealloc, xstrdup, xasprintf): Add
4874 `warn_unused_result' attribute.
4875 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
4876 (grub_xasprintf, grub_xvasprintf): Likewise.
4877 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
4878
0806b63c
RM
48792010-07-29 Robert Millan <rmh@gnu.org>
4880
4881 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
4882 (probe): Handle `PRINT_FS_LABEL'.
4883 (main): Handle `-t fs_label'.
4884
9f841f5c
RM
48852010-07-29 Robert Millan <rmh@gnu.org>
4886
4887 * configure.ac: Remove grub-mkisofs checks.
4888
46371121
VS
48892010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * util/ieee1275/grub-install.in: Don't use empty grub_device.
4892 Reported by: Lennart Sorensen.
4893
48942010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
4897 prior to terminal_input/terminal_output separation. It's been over 1.5
4898 years and those versions weren't widely deployed.
4899
a9600892
CW
49002010-07-22 Colin Watson <cjwatson@ubuntu.com>
4901
4902 * disk/raid.c (insert_array): Don't count named arrays when looking
4903 for unused array numbers.
697e053c 4904 Reported and tested by: Michael Guntsche.
a9600892 4905
c03507df
CW
49062010-07-20 Colin Watson <cjwatson@ubuntu.com>
4907
4908 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
4909 implementation of this so that grub-emu links again, with a note
4910 that this should support hotplugging in the future.
4911
b26f1c11
CW
49122010-07-20 Colin Watson <cjwatson@ubuntu.com>
4913
4914 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
4915
efc9d7f1
CW
49162010-07-20 Colin Watson <cjwatson@ubuntu.com>
4917
4918 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
4919 handle on failure.
4920 (grub_loopback_close): Remove empty function.
4921 (grub_loopback_dev): Remove close method.
4922
dd8ff5c9
CW
49232010-07-20 Colin Watson <cjwatson@ubuntu.com>
4924
4925 Disable EFI cursor when the EFI console becomes inactive.
4926
4927 * term/efi/console.c (grub_efi_console_init): New function.
4928 (grub_efi_console_fini): New function.
4929 (grub_console_term_output): Register init and fini methods.
4930
5e3bec67
VS
49312010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 * tests/util/grub-shell-tester.in: Remove bashism and declare as
4934 sh script.
4935
afaec079
VS
49362010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * disk/loopback.c (grub_loopback): Replace filename with file.
4939 (delete_loopback): Handle new semantics.
4940 (grub_cmd_loopback): Likewise.
4941 (grub_loopback_iterate): Likewise.
4942 (grub_loopback_close): Likewise.
4943
a6a11f3c
VS
49442010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
4947 with -p "".
4948 Reported by: Tito Keitel.
4949
64a638b0
VS
49502010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * docs/grub.texi (Naming convention): Document new naming convention.
4953
ab8ba957
VS
49542010-07-20 Vadim Solomin <vadic052@gmail.com>
49552010-07-20 Colin Watson <cjwatson@ubuntu.com>
4956
4957 Generate device.map in something closer to the old ordering.
4958
4959 * util/deviceiter.c (struct device): New declaration.
4960 (compare_file_names): Rename to ...
4961 (compare_devices): ... this. Sort by kernel name in preference to
4962 the stable by-id name, but keep the latter as a fallback comparison.
4963 Update header comment.
4964 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
4965 of `struct device' rather than of plain file names.
4966
a29d6a4b
TF
49672010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
4968
4969 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
4970 on i386.
4971
39d824e8
VS
49722010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4973
4974 * commands/acpi.c (setup_common_tables): Use sizeof instead of
4975 hardcoding size.
4976 (setv1table): Likewise.
4977
f058276b
FZ
49782010-07-20 Colin Watson <cjwatson@ubuntu.com>
4979
4980 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
4981 removing the homehost if present.
4982 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
4983 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
4984 removing the homehost if present.
4985 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
4986 if possible.
4987 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
4988
4989 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
4990 parameter. Set its pointer target to 0.
4991 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
4992 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
4993 `data_offset' value from the superblock for 1.x metadata.
4994 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
4995 data on the device.
4996 (insert_array): Record the start sector of data on the device.
4997 (grub_raid_register): Pass start_sector parameters to
4998 grub_raid_list->detect and insert_array.
4999 * include/grub/raid.h (struct grub_raid_array): Add start_sector
5000 member.
5001 (struct grub_raid): Add start_sector parameter to `detect'.
5002
5003 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
5004 __attribute__ ((packed)), leaving a comment.
5005 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
5006 (grub_mdraid_detect_09): ... here and ...
5007 (grub_mdraid_detect_1x): ... here.
5008
50092010-07-20 Peter Henn <peter.henn@web.de>
5010
5011 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
5012 chunk size and disk size, which are already given as sector counts
5013 as distinct from the 0.90 units. Fetch the correct device number
5014 from the role table instead of using the table index.
5015
50162010-07-20 Felix Zielcke <fzielcke@z-51.de>
5017
5018 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
5019 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
5020 (WriteMostly1): New macro.
5021 Set array->name to NULL for metadata format 0.90. Add support for
5022 metadata 1.x. Fix some comments.
5023 * disk/raid.c (): Add support for name based RAID arrays. Fix a
5024 few comments.
5025 * util/getroot.c (grub_util_get_grub_dev): Add support for
5026 /dev/md/name style devices.
5027
4b761da9
CW
50282010-07-20 Colin Watson <cjwatson@ubuntu.com>
5029
5030 * .bzrignore: Ignore 20_linux_xen.
5031
5771289a
CW
50322010-07-17 Colin Watson <cjwatson@ubuntu.com>
5033
5034 * util/import_unicode.py: Remove unnecessary imports.
5035
5dab68df
AN
50362010-07-17 Aleš Nesrsta <starous@volny.cz>
5037
5038 Hotplugging and USB hub support.
5039
5040 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
5041 (grub_ohci): Likewise.
5042 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
5043 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
5044 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
5045 (GRUB_OHCI_CTRL_EDS): Likewise.
5046 (GRUB_OHCI_BULK_EDS): Likewise.
5047 (GRUB_OHCI_TDS): Likewise.
5048 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
5049 (grub_ohci_ed_phys2virt): New function.
5050 (grub_ohci_virt_to_phys): Likewise.
5051 (grub_ohci_td_phys2virt): Likewise.
5052 (grub_ohci_td_virt2phys): Likewise.
5053 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
5054 attachment.
5055 (grub_ohci_find_ed): New function.
5056 (grub_ohci_alloc_td): Likewise.
5057 (grub_ohci_free_td): Likewise.
5058 (grub_ohci_free_tds): Likewise.
5059 (grub_ohci_transfer): Use previously allocated memory.
5060 (grub_ohci_portstatus): Reset status changed bit.
5061 (grub_ohci_detect_dev): Supply status changed.
5062 (grub_ohci_fini_hw): Free memory.
5063 (grub_ohci_restore_hw): Reallocate memory.
5064 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
5065 Reset status change.
5066 (grub_uhci_detect_dev): Supply status_change.
5067 * bus/usb/usb.c (attach_hooks): New var.
5068 (grub_usb_device_attach): New function.
5069 (grub_usb_register_attach_hook_class): Likewise.
5070 (grub_usb_unregister_attach_hook_class): Likewise.
5071 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
5072 (grub_usb_add_hub): Reset connection changed bit.
5073 (attach_root_port): New function.
5074 (grub_usb_root_hub): Likewise.
5075 (poll_nonroot_hub): Likewise.
5076 (grub_usb_poll_devices): Likewise.
5077 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
5078 * disk/usbms.c (grub_usbms_open): Use device hooks.
5079 (grub_usbms_iterate) :Poll devices.
5080 (grub_usbms_finddevs): Split into ...
5081 (grub_usbms_attach): ... this ...
5082 (grub_usbms_attach): ... and this.
5083 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
5084 in detect_dev.
5085 (grub_usb_interface): New fields attached and detach_hook.
5086 (grub_usb_attach_hook_class): New type.
5087 (grub_usb_attach_desc): New struct.
5088 (grub_usb_register_attach_hook_class): New function.
5089 (grub_usb_unregister_attach_hook_class): Likewise.
5090 (grub_usb_poll_devices): Likewise.
5091 (grub_usb_device_attach): Likewise.
5092 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
5093 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
5094
3222efaf
VS
50952010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
5098 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
5099 delta determination style. Works with most NetBSD partitions too.
5100
139b714a
VS
51012010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
5104 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
5105
986aad56
VS
51062010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
5109
99be513c
AB
51102010-07-14 Anton Blanchard <anton@samba.org>
5111
5112 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
5113 ET_DYN files.
5114
18075f62
GS
51152010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5116
5117 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
5118
8d9a5b15
GS
51192010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5120
5121 * kern/partition.c (grub_partition_check_containment): New function to
5122 check that a partition is physically contained in a parent. Since
5123 offsets are relative (and non-negative), this reduces to checking that
5124 the partition ends before its parent.
5125 (grub_partition_map_probe): Discard out-of-range sub-partitions.
5126 (grub_partition_iterate): Likewise.
5127 * include/grub/partition.h (grub_partition_map): Slightly more detailed
5128 comments.
5129 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
5130 partitions that start before their parent, and add debug printfs.
5131
19563c25
CW
51322010-07-13 Colin Watson <cjwatson@ubuntu.com>
5133
5134 * Makefile.in (.SUFFIX): Spell correctly, as ...
5135 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
5136 bare module name without `.mod', e.g. `test') tried to invoke a
5137 Modula-2 compiler.
5138
1a1f1e67
CW
51392010-07-13 Colin Watson <cjwatson@ubuntu.com>
5140
5141 * README: Point to the Info manual.
5142
811b0dca
JS
51432010-07-13 Jiro SEKIBA <jir@unicus.jp>
5144
5145 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
5146 2nd superblock position from partition size.
5147
e4f4eafc
CW
51482010-07-10 Colin Watson <cjwatson@ubuntu.com>
5149
5150 * Makefile.in (MAINTAINER_CLEANFILES): Remove
5151 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
5152 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
5153 outputs.
5154
4274c30f
VS
51552010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5156
5157 Restructure SCSI .id handling.
5158 Reported and tested by: Aleš Nesrsta.
5159
5160 * disk/ata.c (grub_atapi_close): Removed. All users updated.
5161 (grub_atapi_dev): Changed .name to "ata". New field .id.
5162 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
5163 (grub_usbms_dev): New field .id.
5164 * disk/scsi.c (grub_scsi_iterate): Generate name.
5165 (grub_scsi_open): Parse name.
5166 * include/grub/scsi.h (grub_make_scsi_id): New function.
5167 (grub_scsi_dev): Change iterate and open to number instead of naming
5168 busses. All users updated.
5169 (grub_scsi): Remove name. Add .bus.
5170
5bc24388
VS
51712010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * commands/help.c (grub_cmd_help): Fix a typo.
5174
249975ba
VS
51752010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
5178 Reported and tested by: Colin Watson.
5179
3eaac1a1
VS
51802010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
5183 in this context.
5184
becce1b1
VS
51852010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
5188
f7bf0918
CW
51892010-07-07 Colin Watson <cjwatson@ubuntu.com>
5190
5191 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
5192 indentation.
5193
0b0f9620
CW
51942010-07-06 Colin Watson <cjwatson@ubuntu.com>
5195
5196 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
5197 and disk/raid6_recover.c.
5198 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
5199 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
5200
1e545469
CW
52012010-07-06 Colin Watson <cjwatson@ubuntu.com>
5202
5203 * term/gfxterm.c (repaint_schedulded): Rename to ...
5204 (repaint_scheduled): ... this. Update all callers.
5205 (repaint_was_schedulded): Rename to ...
5206 (repaint_was_scheduled): ... this. Update all callers.
5207
5357687a
CW
52082010-07-06 Colin Watson <cjwatson@ubuntu.com>
5209
5210 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
5211 which we expect to be handled by upper layers.
5212
29d7e783
BC
52132010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
5214
5215 * bus/usb/usbhub.c: #include time.h header.
5216
37582066
CW
52172010-07-06 Colin Watson <cjwatson@ubuntu.com>
5218
5219 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
5220 entry_name also for entries without stat blocks (e.g. ".."); fixes
5221 corruption of the first entry in a directory.
5222
c8c06953
CW
52232010-07-06 Colin Watson <cjwatson@ubuntu.com>
5224
5225 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
5226 after setting gfxterm as the active terminal. GRUB_BACKGROUND
5227 doesn't work otherwise.
5228
e75056f1
CW
52292010-07-05 Colin Watson <cjwatson@ubuntu.com>
5230
5231 * docs/grub.texi (Features): Update list of supported file systems.
5232 (GNU/Linux): Update for GRUB 2.
5233 (Serial terminal): Remove mention of --disable-serial, which was a
5234 GRUB Legacy configure option. Update instructions to use
5235 `terminal_input' and `terminal_output' rather than `terminal'.
5236 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
5237 configuration' and `Installing GRUB using grub-install'.
5238 (Menu entry editor): Update for GRUB 2.
5239 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
5240 Document new -a, -u, and -v options.
5241 (initrd): New section.
5242 (initrd16): New section.
5243 (linux): New section.
5244 (linux16): New section.
5245 (search): The `var' argument to `--set' is optional.
5246 (GRUB only offers a rescue shell): Go into a little more detail on
5247 drive ordering.
5248
5cf69151
CW
52492010-07-05 Colin Watson <cjwatson@ubuntu.com>
5250
5251 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
5252
e3f90044
CW
52532010-07-05 Colin Watson <cjwatson@ubuntu.com>
5254
5255 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
5256 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
5257
38d8f4f3
CW
52582010-07-05 Colin Watson <cjwatson@ubuntu.com>
5259
5260 * util/i386/pc/grub-setup.c (setup): Rename prefix to
5261 install_prefix, in line with install_dos_part and install_bsd_part.
5262 Add new prefix variable, which is copied to install_prefix after
5263 comparing core.img in memory with the one read from disk in the
5264 no-embedding case, and use that rather than overwriting
5265 install_prefix immediately when installing to a partition.
5266 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
5267 Bicakci.
5268
57ebd41e
GS
52692010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
5270
5271 * configure.ac: Avoid == in test command, it's not portable.
5272 * util/grub.d/30_os-prober.in: Likewise.
5273
cb7f64b2
CW
52742010-07-04 Colin Watson <cjwatson@ubuntu.com>
5275
5276 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
5277
6b654bb0
GS
52782010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
5279
5280 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
5281 multiple (top-level) partmaps.
5282
72a2026d
VS
52832010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 5286 Reported by: Tino Keitel.
72a2026d 5287
df3eb88f
VS
52882010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 Bidi and diacritics support.
5291
5292 * Makefile.in (widthspec.bin): New target.
5293 (widthspec.h): Likewise.
5294 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
5295 * autogen.sh: Generate unidata.c.
5296 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
5297 * commands/ls.c (grub_ls_list_devices): Likewise.
5298 (grub_ls_list_files): Likewise.
5299 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
5300 (grub_mini_cmd_lsmod): Likewise.
5301 * commands/read.c: Likewise.
5302 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
5303 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
5304 * lib/arg.c (grub_arg_show_help): Likewise.
5305 * lib/crypto.c (grub_password_get): Likewise.
5306 * normal/auth.c (grub_username_get): Likewise.
5307 * normal/misc.c (grub_normal_print_device_info): Likewise.
5308 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
5309 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
5310 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
5311 (normal/charset.c_DEPENDENCIES): New variable.
5312 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
5313 (pkglib_MODULES): Remove charset.mod.
5314 (charset_mod_SOURCES): Removed.
5315 (charset_mod_CFLAGS): Likewise.
5316 (charset_mod_LDFLAGS): Likewise.
5317 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
5318 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
5319 and term/tparm.c.
5320 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5321 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5322 (kernel_img_HEADERS): Add terminfo.h.
5323 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
5324 Fill ->font. Reverse ascii bitmaps.
5325 (grub_font_get_xheight): New function.
5326 * font/font.c (grub_font_get_string_width): Moved from here ...
5327 * gfxmenu/font.c (grub_font_get_string_width): ... here.
5328 * font/font.c (grub_font_draw_string): Moved from here ...
5329 * gfxmenu/font.c (grub_font_draw_string): ... here.
5330 * font/font.c (grub_font_dup_glyph): New function.
5331 (grub_font_blit_glyph): Likewise.
5332 (grub_font_blit_glyph_mirror): Likewise.
5333 (blit_comb): Likewise.
5334 (grub_font_construct_dry_run): Likewise.
5335 (grub_font_get_constructed_device_width): Likewise.
5336 (grub_font_construct_glyph): Likewise.
5337 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
5338 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
5339 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
5340 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
5341 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
5342 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
5343 (grub_font_get_xheight): New proto.
5344 (grub_font_get_constructed_device_width): Likewise.
5345 (grub_font_construct_glyph): Likewise.
5346 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
5347 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
5348 * include/grub/font.h (grub_font_draw_string): Moved from here ...
5349 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
5350 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
5351 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
5352 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
5353 (grub_console_getcharwidth): Likewise.
5354 * include/grub/misc.h (grub_xputs): New proto.
5355 (grub_puts): Inlined.
5356 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
5357 (grub_normal_get_line_counter): Removed.
5358 (grub_install_newline_hook): Likewise.
5359 (grub_normal_get_char_counter): New proto.
5360 (grub_normal_reset_more): Likewise.
5361 (grub_xputs_normal): Likewise.
5362 * include/grub/powerpc/ieee1275/console.h: Removed.
5363 * include/grub/sparc64/ieee1275/console.h: Likewise.
5364 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
5365 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
5366 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
5367 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
5368 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
5369 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
5370 (grub_term_input): Pass reference to self. All users updated.
5371 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
5372 Pass reference to self. New fields normal_color, highlight_color and
5373 data. All users updated.
5374 (grub_putchar): Removed.
5375 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
5376 (grub_unicode_estimate_width): New function.
5377 (grub_term_getcharwidth): Add defaults.
5378 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
5379 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
5380 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
5381 (grub_cls): Remove EXPORT_FUNC.
5382 (grub_setcolorstate): Inline.
5383 (grub_newline_hook): Removed.
5384 * include/grub/terminfo.h: Rewritten. All users updated.
5385 * include/grub/unicode.h: New file.
5386 * include/grub/video.h (grub_video_signed_rect): New type.
5387 * kern/emu/console.c (grub_console_highlight_color): Removed.
5388 (grub_console_normal_color): Likewise.
5389 (grub_console_standard_color): Made static.
5390 (grub_ncurses_putchar): Remove mapping.
5391 (grub_ncurses_getcharwidth): Removed.
5392 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
5393 (grub_ncurses_setcolor): Removed.
5394 (grub_ncurses_getcolor): Likewise.
5395 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
5396 (grub_console_putchar): ... this.
5397 (grub_console_putchar): Handle argument difference.
5398 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
5399 console_init_early and console_init_lately.
5400 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
5401 * kern/misc.c (grub_puts): Removed.
5402 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
5403 (grub_vsnprintf_real): Remove str = NULL support.
5404 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
5405 * normal/charset.c (grub_utf8_to_ucs4): ... here.
5406 * kern/term.c (grub_putcode): Renamed to ...
5407 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
5408 (grub_putchar): Removed.
5409 (grub_xputs_dumb): New function.
5410 (grub_xputs): New variable.
5411 * lib/charset.c: Move from here ...
5412 * normal/charset.c: ... to here.
5413 (grub_ucs4_to_utf8): New function.
5414 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
5415 (join_types): New variable.
5416 (unpack_join): New function.
5417 (bidi_types): New variable.
5418 (unpack_bidi): New function.
5419 (get_bidi_type): Likewise.
5420 (get_join_type): Likewise.
5421 (is_mirrored): Likewise.
5422 (grub_unicode_get_comb_type): Likewise.
5423 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
5424 (is_type_after): Likewise.
5425 (grub_unicode_aglomerate_comb): Likewise.
5426 (bidi_line_wrap): Likewise.
5427 (grub_bidi_line_logical_to_visual): Likewise.
5428 (grub_bidi_logical_to_visual): Likewise.
5429 (grub_unicode_mirror_code): Likewise.
5430 (grub_unicode_shape_code): Likewise.
5431 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
5432 Don't use grub_putchar.
5433 * normal/main.c (grub_normal_init_page): Use grub_putcode.
5434 (grub_normal_reader_init): Likewise.
5435 (grub_xputs_saved): New variable.
5436 (GRUB_MOD_INIT): Set grub_xputs.
5437 (GRUB_MOD_FINI): Restore grub_xputs.
5438 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
5439 (menu_init): Avoid printing gfxmenu error.
5440 (show_menu): Use grub_normal_get_char_counter.
5441 * normal/menu_entry.c (update_screen): Fix out-of-array.
5442 (complete): Avoid NULL dereferencing.
5443 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
5444 * normal/menu_text.c (print_spaces): Removed.
5445 (grub_print_ucs4): Likewise.
5446 (grub_print_message_indented): Use grub_print_ucs4.
5447 (print_message): Use grub_putcode.
5448 (print_entry): Hanlde diacritics.
5449 * normal/term.c (term_state): New type.
5450 (grub_more_lines): Removed.
5451 (term_states): New variable.
5452 (grub_normal_line_counter): Renamed to ..
5453 (grub_normal_char_counter): ...this. All users updated.
5454 (grub_normal_get_line_counter): Renamed to ...
5455 (grub_normal_get_char_counter): ... this.
5456 (grub_normal_reset_more): New function.
5457 (process_newline): Removed.
5458 (print_more): New function.
5459 (grub_install_newline_hook): Removed.
5460 (map_code): New function.
5461 (grub_puts_terminal): Use grub_print_ucs4.
5462 (putglyph): New function.
5463 (putcode_real): Likewise.
5464 (grub_putcode): Use putcode_real.
5465 (get_maxwidth): New function.
5466 (get_startwidth): Likewise.
5467 (print_ucs4_terminal): Likewise.
5468 (find_term_state): Likewise.
5469 (put_glyphs_terminal): Likewise.
5470 (print_backlog): Likewise.
5471 (print_ucs4_real): Likewise.
5472 (grub_print_ucs4): Likewise.
5473 (grub_xputs_normal): Likewise.
5474 * term/efi/console.c (grub_console_putchar): Output diacritics.
5475 (grub_console_getcharwidth): Removed.
5476 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5477 * term/gfxterm.c (clear_char): Free chars.
5478 (scroll_up): Avoid leaking memory.
5479 (grub_gfxterm_putchar): Support diacritics.
5480 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5481 * term/i386/pc/console.c (grub_console_term_output): Declare as
5482 GRUB_TERM_CODE_TYPE_VGA.
5483 * term/i386/pc/vga.c (grub_vga_term): Declare as
5484 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
5485 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
5486 GRUB_TERM_CODE_TYPE_VGA.
5487 * term/i386/vga_common.c (map_char): Removed.
5488 (grub_console_putchar): Likewise.
5489 (grub_console_getcharwidth): Likewise.
5490 * term/ieee1275/ofconsole.c: Simplify using terminfo.
5491 (colors): Reordered to match terminfo.
5492 (grub_ofconsole_normal_color): Removed.
5493 (grub_ofconsole_writeesc): Likewise.
5494 (grub_ofconsole_highlight_color): Likewise.
5495 (grub_ofconsole_getcharwidth): Likewise.
5496 (grub_ofconsole_setcolorstate): Likewise.
5497 (grub_ofconsole_setcolor): Likewise.
5498 (grub_ofconsole_getcolor): Likewise.
5499 (grub_ofconsole_readkey): Renamed to ...
5500 (readkey): ... this. Remove escape sequence handling. Return -1 on no
5501 key.
5502 (grub_ofconsole_checkkey): Removed.
5503 (grub_ofconsole_getkey): Likewise.
5504 (grub_ofconsole_getxy): Likewise.
5505 (grub_ofconsole_gotoxy): Likewise.
5506 (grub_ofconsole_cls): Likewise.
5507 (grub_ofconsole_refresh): Likewise.
5508 (grub_ofconsole_terminfo_input): New struct.
5509 (grub_ofconsole_terminfo_output): Likewise.
5510 (grub_ofconsole_term_input): Use terminfo.
5511 (grub_ofconsole_term_output): Likewise.
5512 (grub_console_init): Split into ...
5513 (grub_console_init_early): ...this and ...
5514 (grub_console_init_lately): ...this. Use terminfo.
5515 (grub_ofconsole_putchar): Renamed to ...
5516 (put): ... this. Remove mapping.
5517 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
5518 * term/serial.c: Simplify using terminfo.
5519 (xpos): Removed.
5520 (ypos): Likewise.
5521 (keep_track): Likewise.
5522 (registered): Likewise.
5523 (input_buf): Likewise.
5524 (npending): Likewise.
5525 (serial_translate_key_sequence): Likewise.
5526 (fill_input_buf): Likewise.
5527 (grub_serial_checkkey): Likewise.
5528 (grub_serial_getkey): Likewise.
5529 (grub_serial_getxy): Likewise.
5530 (grub_serial_gotoxy): Likewise.
5531 (grub_serial_putchar): Likewise.
5532 (grub_serial_cls): Likewise.
5533 (grub_serial_setcolorstate): Likewise.
5534 (grub_serial_setcursor): Likewise.
5535 (serial_hw_init): Use serial_hw_fetch.
5536 (grub_serial_terminfo_input): New variable.
5537 (grub_serial_terminfo_output): Likewise.
5538 (grub_serial_term_input): Use terminfo.
5539 (grub_serial_term_output): Likewise.
5540 * term/terminfo.c (putstr): Use put.
5541 (grub_terminfo_all_free): New function
5542 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
5543 (grub_terminfo_output_register): New function.
5544 (grub_terminfo_output_unregister): Likewise.
5545 (grub_terminfo_getxy): Likewise.
5546 (grub_terminfo_readkey): Likewise.
5547 (grub_terminfo_checkkey): Likewise.
5548 (grub_terminfo_getkey): Likewise.
5549 (grub_terminfo_input_init): Likewise.
5550 (print_terminfo): Likewise.
5551 (grub_cmd_terminfo): Handle encoding.
5552 (grub_terminfo_gotoxy): Track position.
5553 (grub_terminfo_cls): Likewise.
5554 (grub_terminfo_putchar): Likewise.
5555 (grub_terminfo_setcolorstate): Handle colors
5556 (grub_terminfo_cursor_on): This ...
5557 (grub_terminfo_cursor_off): ... and this merged into ...
5558 (grub_terminfo_setcursor): ... this.
5559 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
5560 * unicode/ArabicShaping.txt: New file (imported from Unicode).
5561 * unicode/BidiMirroring.txt: Likewise.
5562 * unicode/UnicodeData.txt: Likewise.
5563 * unicode/COPYING: Likewise.
5564 * util/grub-editenv.c (grub_putchar): Removed.
5565 (grub_xputs_real): New function.
5566 (grub_xputs): New variable.
5567 * util/grub-fstest.c (grub_putchar): Removed.
5568 (grub_xputs_real): New function.
5569 (grub_xputs): New variable.
5570 * util/grub-mkdevicemap.c (grub_putchar): Removed.
5571 (grub_xputs_real): New function.
5572 (grub_xputs): New variable.
5573 * util/grub-probe.c (grub_putchar): Removed.
5574 (grub_xputs_real): New function.
5575 (grub_xputs): New variable.
5576 * util/grub-script-check.c (grub_putchar): Removed.
5577 (grub_xputs_real): New function.
5578 (grub_xputs): New variable.
5579 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
5580 (grub_xputs_real): New function.
5581 (grub_xputs): New variable.
5582 * util/import_unicode.py: New file.
5583 * util/grub-mkfont.c (ft_errmsgs): New array.
5584 (grub_glyph_info): Make bitmap a pointer.
5585 (file_formats): New type WIDTH_SPEC.
5586 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
5587 (options): Add width-spec.
5588 (help): Likewise.
5589 (add_char): Renamed to ...
5590 (add_glyph): ... this.
5591 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
5592 (glyph_replace): New type.
5593 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
5594 (add_char): New function.
5595 (add_subst): Likewise.
5596 (process_cursive): Likewise.
5597 (add_font): Handle GSUB.
5598 (write_font_width_spec): New function.
5599 (main): Sort glyphs.
5600 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
5601 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
5602 * kern/term.c (grub_cls): Moved from here...
5603 * normal/term.c (grub_cls): ... here.
5604
50f0bcda
CW
56052010-07-02 Colin Watson <cjwatson@ubuntu.com>
5606
5607 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
5608 suitable for using within the format argument of printf when
5609 converting grub_size_t.
5610 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
5611 "x" to convert grub_size_t arguments.
5612
40372103
VS
56132010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
5616 too long captions.
5617 (list_get_minimal_size): Take selection box into account.
5618
942a10c7
VS
56192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
5622 NULL font.
5623
2bdb2892
CW
56242010-07-02 Colin Watson <cjwatson@ubuntu.com>
5625
5626 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
5627 devices when iterating over /dev/disk/by-id; they will be handled
5628 later if appropriate, which they aren't always (e.g. LVM).
5629
e03ed6c1
CW
56302010-07-02 Colin Watson <cjwatson@ubuntu.com>
5631
5632 * include/grub/misc.h (grub_reboot): Declare as noreturn.
5633 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
5634 fails.
5635 (grub_halt): Likewise.
5636 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
5637 reset-all fails.
5638 (grub_halt): Don't return, even if all of shut-down, power-off, and
5639 poweroff fail.
5640
47695765
CW
56412010-07-02 Colin Watson <cjwatson@ubuntu.com>
5642
5643 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
5644 arguments, not three.
5645
507736c8
CW
56462010-07-02 Colin Watson <cjwatson@ubuntu.com>
5647
5648 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
5649 * util/grub.d/10_linux.in: Use it to check for LVM, so that
5650 LVM-on-RAID is handled correctly.
5651
e3c8cd37
CW
56522010-07-02 Colin Watson <cjwatson@ubuntu.com>
5653
5654 * docs/grub.texi (Changes from GRUB Legacy): New section.
5655 (Future): Fix typo.
5656
8d4a2fec
CW
56572010-07-02 Colin Watson <cjwatson@ubuntu.com>
5658
5659 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
5660 grub.d/README accidentally ends up executable for one reason or
5661 another. Ignore it.
5662
1c4827be
VS
56632010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
5666 (gpt_partition_map_iterate): Support non-512B sectors.
5667
d9a0c941
VS
56682010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5669
5670 * kern/efi/init.c (grub_efi_init): Disable watchdog.
5671 Tested by: Seth Goldberg.
5672
48f27e87
VS
56732010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
5676 Properly align mbi.
5677 Reported by: Seth Goldberg.
5678
b0c4f956
VS
56792010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * util/grub-mkrescue.in: Avoid module duplication.
5682
105a2e8c
SF
56832010-07-01 Sean Finney <seanius@seanius.net>
5684
5685 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
5686
5944958c
SF
56872010-07-01 Sean Finney <seanius@seanius.net>
5688
5689 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
5690
56912010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * disk/lvm.c (grub_lvm_checkvalue): New function.
5694 (grub_lvm_check_flag): Likewise.
5695
b79889ba
RM
56962010-07-01 Robert Millan <rmh@gnu.org>
5697
5698 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
5699 Support 'p' as partition separator on kernel of FreeBSD (used
5700 with GPT labels).
5701 (grub_util_biosdisk_get_grub_dev): Likewise.
5702
ec1d04f1
VS
57032010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 Yeeloong firmware port.
5706
5707 * boot/mips/yeeloong/fwstart.S: New file.
5708 * bus/cs5536.c (gpiodump): New const.
5709 (set_io_space): New function.
5710 (set_iod): Likewise.
5711 (set_p2d): Likewise.
5712 (grub_cs5536_init_geode): Likewise.
5713 * commands/mips/yeeloong/lsspd.c: New file.
5714 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
5715 (serial_mod_SOURCES): New variable.
5716 (serial_mod_CFLAGS): Likewise.
5717 (serial_mod_LDFLAGS): Likewise.
5718 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
5719 term/terminfo.c and term/tparm.c.
5720 (pkglib_IMAGES): Add fwstart.img.
5721 (fwstart_img_SOURCES): New variable.
5722 (fwstart_img_CFLAGS): Likewise.
5723 (fwstart_img_ASFLAGS): Likewise.
5724 (fwstart_img_LDFLAGS): Likewise.
5725 (fwstart_img_FORMAT): Likewise.
5726 (pkglib_MODULES): Add lsspd.mod.
5727 (lsspd_mod_SOURCES): New variable.
5728 (lsspd_mod_CFLAGS): Likewise.
5729 (lsspd_mod_LDFLAGS): Likewise.
5730 (pkglib_MODULES): Add halt.mod.
5731 (halt_mod_SOURCES): New variable.
5732 (halt_mod_CFLAGS): Likewise.
5733 (halt_mod_LDFLAGS): Likewise.
5734 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
5735 (serial_mod_SOURCES): Removed.
5736 (serial_mod_CFLAGS): Likewise.
5737 (serial_mod_LDFLAGS): Likewise.
5738 * disk/ata.c (check_device): New function.
5739 (grub_ata_device_initialize): Use check_device.
5740 (grub_ata_iterate): Recheck devices.
5741 (grub_ata_open): Likewise.
5742 (grub_atapi_iterate): Likewise.
5743 (grub_atapi_open): Likewise.
5744 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
5745 (GRUB_ATA_CH1_PORT1): Likewise.
5746 (GRUB_ATA_CH0_PORT2): Likewise.
5747 (GRUB_ATA_CH1_PORT2): Likewise.
5748 * include/grub/mips/loongson.h: New file.
5749 * include/grub/mips/yeeloong/ec.h: Likewise.
5750 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
5751 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
5752 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
5753 * include/grub/misc.h (grub_halt): Declare as noreturn.
5754 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
5755 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
5756 (UART_ENABLE_FIFO_TRIGGER1): New definition.
5757 (UART_ENABLE_DTRRTS): Likewise.
5758 (UART_ENABLE_MODEM): Removed.
5759 (UART_ENABLE_OUT2): New const.
5760 * include/grub/term.h (grub_term_register_input_active): New function.
5761 (grub_term_register_output_active): Likewise.
5762 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
5763 argument.
5764 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
5765 (init_pci): New function.
5766 (grub_machine_init): Execute platform init when firmware. Init serial.
5767 (grub_halt): Implement.
5768 (grub_exit): Likewise.
5769 (grub_reboot): Likewise.
5770 * term/serial.c (serial_hw_init): Update macros.
5771 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
5772 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
5773 (image_targets): New target mipsel-yeeloong-flash.
5774 (generate_image): Support IMAGE_YEELOONG_FLASH.
5775 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
5776 (grub_video_sm712_setup): Init card.
5777 (grub_video_sm712_set_palette): Removed.
5778 * video/sm712_init.c: New file.
5779
ff4a70d2
CW
57802010-06-30 Colin Watson <cjwatson@ubuntu.com>
5781
5782 * Makefile.in (install-local): Temporarily prepend $(builddir) to
5783 PATH when running help2man and then run it on the unadorned
5784 executable names, rather than passing $(builddir)/* paths to
5785 help2man. This avoids the build directory ending up in generated
5786 manual pages.
5787
1246efeb
CW
57882010-06-29 Colin Watson <cjwatson@ubuntu.com>
5789
5790 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
5791 to avoid accidents when debugging with 'sh -x'.
5792 * util/grub-mkrescue.in: Likewise.
5793 * util/grub.d/00_header.in: Likewise.
5794 * util/grub.d/10_hurd.in: Likewise.
5795 * util/grub.d/10_kfreebsd.in: Likewise.
5796 * util/grub.d/10_linux.in: Likewise.
5797 * util/grub.d/10_netbsd.in: Likewise.
5798 * util/grub.d/10_windows.in: Likewise.
5799 * util/grub.d/20_linux_xen.in: Likewise.
5800 * util/grub.d/30_os-prober.in: Likewise.
5801 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5802
1ba9b889
CW
58032010-06-29 Colin Watson <cjwatson@ubuntu.com>
5804
5805 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
5806 last character in the buffer.
5807 Reported by: Vladimir Serbinenko.
5808
dccaf99d
RM
58092010-06-29 Robert Millan <rmh@gnu.org>
5810
5811 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
5812 (Command-line and menu entry commands): Document `badram' command.
5813
d500ed12
RM
58142010-06-28 Robert Millan <rmh@gnu.org>
5815
5816 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
5817 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
5818 command using ${GRUB_BADRAM} as parameter.
5819
20bc84a6
CW
58202010-06-28 Colin Watson <cjwatson@ubuntu.com>
5821
5822 * docs/grub.texi (Device map): New section.
5823 (Themes): New section (stub).
5824 * Makefile.in (docs/grub.info): The info documentation now builds
5825 without errors. Make sure it stays that way.
5826
4045dee1
VS
58272010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 Use normal parser for menu entries.
5830 Reported by: Thomas Frauendorfer
5831
5832 * include/grub/parser.h (grub_parser_execute): Don't export.
5833 * normal/menu.c (grub_menu_execute_entry_real): New function.
5834 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
5835
bca58c7b
CW
58362010-06-28 Colin Watson <cjwatson@ubuntu.com>
5837
5838 * docs/grub.texi (Embedded configuration): New section (replacing
5839 old "Preset Menu" stub).
5840 (Images): New section.
5841 (configfile): Note that any menu entries defined in `file' are shown
5842 immediately.
5843
dec53e63
JT
58442010-06-28 Josh Triplett <josh@joshtriplett.org>
5845
5846 * mmap/i386/pc/mmap_helper.S: Set CF on return.
5847
c06e40f7
CW
58482010-06-28 Colin Watson <cjwatson@ubuntu.com>
5849
5850 * util/grub-install.in: Add --debug-image= option.
5851
cb88052b
CW
58522010-06-28 Colin Watson <cjwatson@ubuntu.com>
5853
5854 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
5855 possible on Linux.
5856
5857 * util/deviceiter.c (check_device): Rename to ...
5858 (check_device_readable_unique): ... this. Update all callers.
5859 Maintain and check a list of which devices (by canonicalized name)
5860 have already been seen.
5861 (clear_seen_devices): New function.
5862 (compare_file_names) [__linux__]: New function.
5863 (grub_util_iterate_devices): Clear the list of seen devices on exit
5864 and (just in case) on entry.
5865 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
5866 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
5867 seen-devices list, superseded by general code in check_device.
5868
bbe34652
CW
58692010-06-28 Colin Watson <cjwatson@ubuntu.com>
5870
5871 * commands/cat.c (options): New variable.
5872 (grub_cmd_cat): Parse options. If the --dos option is given, print
5873 DOS-style "\r\n" line endings as simple newlines (Debian bug
5874 #586358).
5875 (GRUB_MOD_INIT): Use extcmd.
5876 (GRUB_MOD_FINI): Likewise.
5877 * docs/grub.texi (cat): Document --dos.
5878
412e09f3
VS
58792010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 XEN with Linux grub-mkconfig support.
5882
5883 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
5884 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
5885 GRUB_CMDLINE_XEN_DEFAULT.
5886 * util/grub.d/20_linux_xen.in: New file.
5887
53f3ef38 58882010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
5889
5890 Initialise VGA video on qemu ourselves.
5891
5892 * boot/i386/qemu/boot.S: Don't call 0xc000.
5893 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
5894 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
5895 (kernel_img_HEADERS): Add pci.h.
5896 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
5897 * configure.ac: Force unifont on qemu and yeeloong.
5898 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
5899 (grub_vga_palette_write): Use correct register.
5900 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
5901 Call grub_qemu_init_cirrus.
5902 * kern/i386/qemu/init.c: New file.
5903 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
5904
5905 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
5906
c75be4fb
PR
59072010-06-26 Pavel Roskin <proski@gnu.org>
5908
5909 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
5910 13.
5911
d8034603
CW
59122010-06-26 Colin Watson <cjwatson@ubuntu.com>
5913
5914 * docs/grub.texi (Simple configuration): Explain that
5915 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
5916 set to `true' to disable their respective recovery entries, not
5917 merely set.
5918
3fa06487
CW
59192010-06-26 Colin Watson <cjwatson@ubuntu.com>
5920
5921 Make the `source' command slightly faster.
5922
5923 * normal/main.c (grub_normal_execute): Don't re-read list files when
5924 nested.
5925
e9b29642
CW
59262010-06-23 Colin Watson <cjwatson@ubuntu.com>
5927
5928 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
5929 field position and mask size to red fields from mode_info, not
5930 green.
5931 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
5932 Remove redundant tag->common.framebuffer_type assignment.
5933 Reported by: Seth Goldberg.
5934
e726542f
CW
59352010-06-23 Colin Watson <cjwatson@ubuntu.com>
5936
5937 Sync up other versions of the Linux loader with Robert Millan's
5938 change of 2010-01-09, "Make loader output a bit more user-friendly".
5939
5940 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
5941 grub_dprintf().
5942 (grub_cmd_linux): Likewise.
5943 (grub_cmd_initrd): Likewise.
5944 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
5945 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5946
d6e98a17
CW
59472010-06-21 Colin Watson <cjwatson@ubuntu.com>
5948
5949 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
5950 larger than MEMORY_MAP_SIZE.
5951
14d3f08e
BC
59522010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
5953
5954 Fix parallel build.
5955
5956 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
5957 dependency.
5958 * script/parser.y: #include grub_script.tab.h header.
5959
4f9613a3
VS
59602010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 Support >3GiB and <16MiB RAM in i386-qemu.
5963
5964 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
5965 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
5966 (grub_lower_mem): Removed.
5967 (grub_upper_mem): Likewise.
5968 (mem_size): Made static.
5969 (above_4g): New variable.
5970 (grub_machine_mmap_init): Detect small mem_size and above_4g.
5971 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
5972 support.
5973
05e51879
VS
59742010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 Cirrus 5446 and Bochs video cards support.
5977
5978 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
5979 video_bochs.mod
5980 (video_cirrus_mod_SOURCES): New variable.
5981 (video_cirrus_mod_CFLAGS): Likewise.
5982 (video_cirrus_mod_LDFLAGS): Likewise.
5983 (video_bochs_mod_SOURCES): Likewise.
5984 (video_bochs_mod_CFLAGS): Likewise.
5985 (video_bochs_mod_LDFLAGS): Likewise.
5986 * include/grub/vga.h: New file.
5987 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
5988 (grub_video_fb_set_page_t): New type.
5989 (grub_video_fb_setup): New prototype.
5990 (grub_video_fb_swap_buffers): Likewise.
5991 (grub_video_fb_get_info_and_fini): Likewise.
5992 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
5993 (CRTC_DATA_PORT): Likewise.
5994 (CRTC_CURSOR): Likewise.
5995 (CRTC_CURSOR_ADDR_HIGH): Likewise.
5996 (CRTC_CURSOR_ADDR_LOW): Likewise.
5997 (CRTC_CURSOR_DISABLE): Likewise.
5998 (update_cursor): Use grub_vga_cr_write.
5999 (grub_vga_text_setcursor): Likewise.
6000 * video/bochs.c: New file.
6001 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
6002 (palette): Likewise.
6003 (palette_size): Likewise.
6004 (framebuffer): New variable.
6005 (grub_video_fb_init): Use 'framebuffer'.
6006 (grub_video_fb_fini): Likewise.
6007 (grub_video_fb_get_info): Likewise.
6008 (grub_video_fb_get_palette): Likewise.
6009 (grub_video_fb_set_palette): Likewise.
6010 (grub_video_fb_set_viewport): Likewise.
6011 (grub_video_fb_get_viewport): Likewise.
6012 (grub_video_fb_map_color): Likewise.
6013 (grub_video_fb_map_rgb): Likewise.
6014 (grub_video_fb_map_rgba): Likewise.
6015 (grub_video_fb_unmap_color): Likewise.
6016 (grub_video_fb_unmap_color_int): Likewise.
6017 (grub_video_fb_fill_rect): Likewise.
6018 (grub_video_fb_blit_bitmap): Likewise.
6019 (grub_video_fb_blit_render_target): Likewise.
6020 (grub_video_fb_scroll): Likewise.
6021 (grub_video_fb_create_render_target): Likewise.
6022 (grub_video_fb_doublebuf_blit_init): Likewise.
6023 (grub_video_fb_set_active_render_target): Handle doublebuffering.
6024 (doublebuf_pageflipping_update_screen): New function.
6025 (doublebuf_pageflipping_init): Likewise.
6026 (grub_video_fb_setup): Likewise.
6027 (grub_video_fb_swap_buffers): Likewise.
6028 (grub_video_fb_get_info_and_fini): Likewise.
6029 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
6030 All users updated.
6031 (doublebuf_pageflipping_commit): Restructured into ...
6032 (doublebuf_pageflipping_set_page): ... this.
6033 (doublebuf_pageflipping_update_screen): Removed.
6034 (doublebuf_pageflipping_init): Likewise.
6035 (double_buffering_init): Likewise.
6036 (grub_video_vbe_setup): Use grub_video_fb_setup.
6037 (grub_video_vbe_swap_buffers): Removed.
6038 (grub_video_vbe_set_active_render_target): Likewise.
6039 (grub_video_vbe_get_active_render_target): Likewise.
6040 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
6041 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
6042 grub_video_fb_set_active_render_target and
6043 grub_video_fb_get_active_render_target.
6044 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
6045 (SEQUENCER_DATA_PORT): Likewise.
6046 (MAP_MASK_REGISTER): Likewise.
6047 (CRTC_ADDR_PORT): Likewise.
6048 (CRTC_DATA_PORT): Likewise.
6049 (START_ADDR_HIGH_REGISTER): Likewise.
6050 (START_ADDR_LOW_REGISTER): Likewise.
6051 (GRAPHICS_ADDR_PORT): Likewise.
6052 (GRAPHICS_DATA_PORT): Likewise.
6053 (READ_MAP_REGISTER): Likewise.
6054 (INPUT_STATUS1_REGISTER): Likewise.
6055 (INPUT_STATUS1_VERTR_BIT): Likewise.
6056 (get_map_mask): Use grub_vga_sr_read.
6057 (set_map_mask): Use grub_vga_sr_write.
6058 (set_read_map): Use grub_vga_gr_write.
6059 (set_start_address): Use grub_vga_cr_write.
6060 * video/sm712.c (framebuffer): Remove leftover fields.
6061
4321c64a
CW
60622010-06-20 Colin Watson <cjwatson@ubuntu.com>
6063
6064 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
6065 setting GRUB_VIDEO_BACKEND. Make it available as a user override
6066 instead. Replace the gfxterm backend check with a check that
6067 ${GRUB_PREFIX}/video.lst is non-empty.
6068 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
6069 again.
6070 (load_video): New generated function. Call it before loading
6071 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
6072 * util/grub.d/10_linux.in (linux_entry): Call load_video.
6073 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
6074 * docs/grub.texi (Simple configuration): Document
6075 GRUB_VIDEO_BACKEND.
6076
60772010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 Use video functions in linux and xnu loaders.
6080
6081 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
6082 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
6083 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
6084 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
6085 loader/i386/pc/linux.c.
6086 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
6087 (find_line_len): Removed.
6088 (find_framebuf): Likewise.
6089 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
6090 * loader/i386/efi/xnu.c: Removed.
6091 * loader/i386/pc/xnu.c: Moved from here...
6092 * loader/i386/xnu.c: ...here.
6093
6094 Enable priorities in video drivers.
6095
6096 * include/grub/video.h (grub_video_adapter_prio_t): New type.
6097 (grub_video_adapter): New field prio.
6098 (grub_video_register): Respect prio when inserting.
6099 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
6100 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
6101 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
6102 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
6103 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
6104 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
6105 * video/sm712.c (grub_video_sm712_adapter): Likewise.
6106
6107 Fix SDL driver ID.
6108
6109 * include/grub/video.h (grub_video_driver_id_t): New value
6110 GRUB_VIDEO_DRIVER_SDL.
6111 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
6112
7d24e434
CW
61132010-06-17 Colin Watson <cjwatson@ubuntu.com>
6114
6115 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
6116 argument to printf.
6117 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6118
c88a83f6
CW
61192010-06-17 Colin Watson <cjwatson@ubuntu.com>
6120
6121 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
6122 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6123
094dfb69
CW
61242010-06-17 Colin Watson <cjwatson@ubuntu.com>
6125
6126 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
6127 directly, and recommend grub-install instead.
6128 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6129
2164da6b
CW
61302010-06-17 Colin Watson <cjwatson@ubuntu.com>
6131
6132 Fix i386-pc prefix handling with nested partitions (Debian bug
6133 #585068). Note that the case where the core image is booted using
6134 multiboot and relocated from its original location still requires
6135 more work.
6136
6137 * kern/i386/pc/init.c (make_install_device): If the prefix starts
6138 with "(,", fill the boot drive in between those two characters, but
6139 expect that a full partition specification including partition map
6140 names will follow.
6141 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
6142 specified, write a prefix without the drive name but including a
6143 full partition specification.
6144
044e2e60
CW
61452010-06-16 Colin Watson <cjwatson@ubuntu.com>
6146
6147 * util/grub-mkconfig.in: Ignore non-option arguments, for
6148 compatibility with older versions (before 2010-06-12) which did the
6149 same. In particular, this makes it easier to ship an update-grub
6150 wrapper which is compatible with that used with GRUB Legacy (Debian
6151 bug #586056).
6152
5591324f
GS
61532010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6154
6155 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
6156 for manual page generation.
6157
662e24d5
GS
61582010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6159
6160 * po/POTFILES: Remove leftover commands/handler.c.
6161
8d70754e
CW
61622010-06-14 Colin Watson <cjwatson@ubuntu.com>
6163
6164 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
6165 left this script non-functional.
6166
41160e2e
CW
61672010-06-14 Colin Watson <cjwatson@ubuntu.com>
6168
6169 * docs/man/grub-emu.h2m: New file.
6170
b5309cc1
CW
61712010-06-13 Colin Watson <cjwatson@ubuntu.com>
6172
6173 * docs/grub.texi (Commands): Document reduced command set in rescue
6174 mode.
6175 (cpuid): New section.
6176
fcb2d090
GS
61772010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
6178
6179 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
6180 new partition naming style.
6181 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
6182
96e5c556
BC
61832010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
6184
6185 Add "-o grub.iso" like cmdline options support.
6186
6187 * util/grub-install.in: Improve cmdline option parsing.
6188 * util/grub-mkconfig.in: Likewise.
6189 * util/grub-mkrescue.in: Likewise.
6190 * util/grub-reboot.in: Likewise.
6191 * util/grub-set-default.in: Likewise.
6192 * util/i386/efi/grub-install.in: Likewise.
6193 * util/ieee1275/grub-install.in: Likewise.
6194 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6195
c16be99b
CW
61962010-06-12 Colin Watson <cjwatson@ubuntu.com>
6197
6198 * .bzrignore: Ignore 41_custom.
6199
ce08a9fb
TS
62002010-06-12 Thomas Schmitt <scdbackup@gmx.net>
6201
6202 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
6203
7beac90c
CW
62042010-06-12 Colin Watson <cjwatson@ubuntu.com>
6205
6206 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
6207 prototype declarations.
6208
6209 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
6210 generating fs, partmap, and video lists.
6211 * include/grub/fs.h (grub_fs_register): Omit prototype if
6212 GRUB_LST_GENERATOR is defined.
6213 * include/grub/partition.h (grub_partition_map_register): Likewise.
6214 * include/grub/video.h (grub_video_register): Likewise.
6215
1c8f0f8d
JM
62162010-06-12 Javier Martín <lordhabbit@gmail.com>
6217
6218 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
6219
a6085973
TS
62202010-06-12 Thomas Schmitt <scdbackup@gmx.net>
6221
6222 * util/grub-mkrescue.in: Support --xorriso argument.
6223
25c56d29
VS
62242010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
6227 Suggested by: Thomas Schmitt.
6228
e03e4b24
VS
62292010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
6232 Suggested by: Thomas Schmitt.
6233
57711df6
VS
62342010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 custom.cfg support.
6237
6238 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
6239 * util/grub.d/41_custom.in: New file.
6240
ee62c427
CW
62412010-06-12 Colin Watson <cjwatson@ubuntu.com>
6242
6243 * util/grub-mkrescue.in (make_image): Remove sh module, which has
6244 been merged back into normal.
6245
283af07a
CW
62462010-06-11 Colin Watson <cjwatson@ubuntu.com>
6247
6248 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
6249 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
6250
56a0d956
CW
62512010-06-11 Colin Watson <cjwatson@ubuntu.com>
6252
6253 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
6254 when generating manual pages.
6255 * docs/man/grub-bin2h.h2m: New file.
6256 * docs/man/grub-editenv.h2m: New file.
6257 * docs/man/grub-fstest.h2m: New file.
6258 * docs/man/grub-install.h2m: New file.
6259 * docs/man/grub-macho2img.h2m: New file.
6260 * docs/man/grub-mkconfig.h2m: New file.
6261 * docs/man/grub-mkdevicemap.h2m: New file.
6262 * docs/man/grub-mkfont.h2m: New file.
6263 * docs/man/grub-mkimage.h2m: New file.
6264 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
6265 * docs/man/grub-mkrelpath.h2m: New file.
6266 * docs/man/grub-mkrescue.h2m: New file.
6267 * docs/man/grub-ofpathname.h2m: New file.
6268 * docs/man/grub-pe2elf.h2m: New file.
6269 * docs/man/grub-probe.h2m: New file.
6270 * docs/man/grub-reboot.h2m: New file.
6271 * docs/man/grub-script-check.h2m: New file.
6272 * docs/man/grub-set-default.h2m: New file.
6273 * docs/man/grub-setup.h2m: New file.
6274
3a37e322
VS
62752010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
6276
6277 Use FOR_* macros instead of *_iterate whenever possible.
6278
6279 * commands/handler.c: Removed.
6280 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
6281 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
6282 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6283 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
6284 (grub_probe_SOURCES): Remove kern/parser.c.
6285 (util/grub-script-check.c_DEPENDENCIES): Removed.
6286 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
6287 and grub_script_check_init.c.
6288 (grub_script_check_init.lst): Removed.
6289 (grub_script_check_init.h): Likewise.
6290 (grub_script_check_init.c): Likewise.
6291 (pkglib_MODULES): Remove handler.mod and sh.mod.
6292 (handler_mod_SOURCES): Removed.
6293 (handler_mod_CFLAGS): Likewise.
6294 (handler_mod_LDFLAGS): Likewise.
6295 (normal_mod_SOURCES): Remove normal/handler.c.
6296 Add script/main.c, script/script.c, script/execute.c,
6297 script/function.c, script/lexer.c, grub_script.tab.c
6298 and grub_script.yy.c.
6299 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6300 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6301 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
6302 (grub_setup_SOURCES): Remove kern/parser.c.
6303 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6304 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
6305 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
6306 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6307 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6308 (grub_setup_SOURCES): Remove kern/parser.c.
6309 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
6310 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
6311 * include/grub/command.h (grub_command_iterate): Removed.
6312 (FOR_COMMANDS): New macro.
6313 * include/grub/dl.h (grub_dl): New member next.
6314 (grub_dl_iterate): Removed.
6315 (grub_dl_head): New variable declaration.
6316 (FOR_DL_MODULES): New macro.
6317 * include/grub/fs.h: Include list.h.
6318 (grub_fs): Make next first element.
6319 (grub_fs_list): New variable declaration.
6320 (grub_fs_register): Make inline.
6321 (grub_fs_unregister): Likewise.
6322 (grub_fs_iterate): Removed.
6323 (FOR_FILESYSTEMS): New macro.
6324 * include/grub/handler.h: Removed.
6325 * include/grub/list.h (grub_list_hook_t): Removed.
6326 (grub_list_test_t): Likewise.
6327 (grub_list_pop): Likewise.
6328 (grub_list_iterate): Likewise.
6329 (grub_list_insert): Likewise.
6330 (FOR_LIST_ELEMENTS): New macro.
6331 * include/grub/parser.h (grub_parser_class): Removed.
6332 (grub_parser_register): Likewise.
6333 (grub_parser_unregister): Likewise.
6334 (grub_parser_get_current): Likewise.
6335 (grub_parser_set_current): Likewise.
6336 (grub_register_rescue_parser): Likewise.
6337 (grub_rescue_parse_line): New function.
6338 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
6339 * include/grub/script_sh.h (grub_script_function_list): New variable
6340 declaration.
6341 (FOR_SCRIPT_FUNCTIONS): New macro.
6342 (grub_script_function_iterate): Removed.
6343 (grub_normal_parse_line): New prototype.
6344 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
6345 (FOR_DISABLED_TERM_INPUTS): Likewise.
6346 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
6347 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
6348 * include/grub/video.h (grub_video_adapter): Move 'next' to first
6349 element.
6350 (grub_video_register): Inline.
6351 (grub_video_unregister): Likewise.
6352 (grub_video_adapter_list): New variable declaration.
6353 (grub_video_iterate): Removed.
6354 (FOR_VIDEO_ADAPTERS): New macro.
6355 * kern/dl.c (grub_dl_list): Removed. All users updated.
6356 (grub_dl_iterate): Removed.
6357 * kern/fs.c (grub_fs_list): Make global.
6358 (grub_fs_register): Removed.
6359 (grub_fs_unregister): Likewise.
6360 (grub_fs_iterate): Likewise.
6361 * kern/handler.c: Removed.
6362 * kern/list.c (grub_list_pop): Removed.
6363 (grub_list_iterate): Likewise.
6364 (grub_list_insert): Likewise.
6365 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
6366 (grub_prio_list_insert): Don't use grub_list_insert.
6367 * kern/main.c (grub_register_rescue_parser): Don't call
6368 grub_register_rescue_parser.
6369 * kern/parser.c (grub_parser_class): Removed.
6370 (grub_parser_execute): Use grub_rescue_parse_line.
6371 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
6372 (grub_rescue_parser): Removed.
6373 (grub_register_rescue_parser): Likewise.
6374 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
6375 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
6376 (grub_auth_check_authentication): Likewise.
6377 * normal/completion.c (iterate_command): Removed.
6378 (grub_normal_do_completion): Use FOR_COMMANDS.
6379 * normal/handler.c: Removed.
6380 * normal/main.c (read_config_file): Remove parser changing.
6381 (grub_normal_execute): Don't call read_handler_list.
6382 (grub_normal_read_line_real): Statically allocate prompt.
6383 (grub_cmdline_run): Use grub_normal_parse_line.
6384 (GRUB_MOD_FINI): Don't call free_handler_list.
6385 * normal/menu_entry.c (run): Likewise.
6386 * script/function.c (grub_script_function_list): Make global.
6387 (grub_script_function_iterate): Removed.
6388 * script/main.c (grub_normal_parse_line): Make global.
6389 (grub_sh_parser): Removed.
6390 (GRUB_MOD_INIT): Likewise.
6391 (GRUB_MOD_FINI): Likewise.
6392 * tests/lib/functional_test.c (grub_functional_test): Use
6393 FOR_LIST_ELEMENTS.
6394 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
6395 (grub_test_run): Use FOR_LIST_ELEMENTS.
6396 * tests/lib/unit_test.c (main): Likewise.
6397 * util/deviceiter.c (grub_util_iterate_devices): Don't use
6398 grub_list_pop.
6399 * util/grub-fstest.c (grub_term_input_class): Removed.
6400 (grub_term_output_class): Likewise.
6401 * util/grub-probe.c: Likewise.
6402 * util/i386/pc/grub-setup.c: Likewise.
6403 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6404 * util/grub-script-check.c (main): Don't call grub_init_all and
6405 grub_fini_all.
6406 * video/video.c (grub_video_adapter_list): Make global.
6407 (grub_video_register): Removed.
6408 (grub_video_unregister): Likewise.
6409 (grub_video_iterate): Likewise.
6410
6289c3a7
VS
64112010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
6414 reported by Henrique Ferreiro.
6415
91460247
RM
64162010-06-09 Robert Millan <rmh@gnu.org>
6417
6418 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
6419 ones, when both are available.
6420
0ea7c4f9
GS
64212010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6422
6423 Make --version uniform and avoid hard-coded program name.
6424
6425 * util/grub-mkimage.c (main): Use `program_name' instead of
6426 hard-coded string.
6427 * util/i386/pc/grub-setup.c (main): Likewise.
6428 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
6429 * util/grub-install.in: Save the basename of $0 in $self, and use the
6430 latter in informational messages. Use the same format for --version
6431 as the binary programs.
6432 * util/grub-mkconfig.in: Likewise.
6433 * util/grub-mkrescue.in: Likewise.
6434 * util/grub-reboot.in: Likewise.
6435 * util/grub-set-default.in: Likewise.
6436 * util/i386/efi/grub-install.in: Likewise.
6437 * util/ieee1275/grub-install.in: Likewise.
6438 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6439
e8a6f3b6
GS
64402010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6441
6442 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
6443 embedding area. Use <= instead of == when checking for non-emptiness.
6444
f4d095d7
GS
64452010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6446
6447 * configure.ac: Add `.' to the directories searched for unifont.
6448
50e532ca
CW
64492010-06-08 Colin Watson <cjwatson@ubuntu.com>
6450
6451 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
6452 grub_script.yy.h.
6453
d39f3dec
CW
64542010-06-08 Colin Watson <cjwatson@ubuntu.com>
6455
6456 * docs/grub.texi (History): Expand to cover GRUB 2.
6457 (Serial terminal): Refer to `terminal_input' and `terminal_output'
6458 commands, not `terminal'.
6459 (serial): Likewise.
6460 (terminal_input): New section.
6461 (terminal_output): New section.
6462 (uppermem): New section (stub).
6463 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
6464
6ef0ddb4
CW
64652010-06-08 Colin Watson <cjwatson@ubuntu.com>
6466
6467 * docs/grub.texi (Security): Menu entries are unrestricted by
6468 default, not restricted to superusers as I had previously thought.
6469 Reword to account for this.
6470
e0f4c438
CW
64712010-06-07 Colin Watson <cjwatson@ubuntu.com>
6472
6473 * kern/emu/misc.c (device_mapper_null_log): New function.
6474 (grub_device_mapper_supported): New function.
6475 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
6476 prototype.
6477 * kern/emu/hostdisk.c (find_partition_start): Check whether
6478 device-mapper is supported before trying to use it.
6479 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
6480
da908200
CW
64812010-06-07 Colin Watson <cjwatson@ubuntu.com>
6482
6483 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
6484 (File name syntax): Likewise.
6485 (help): --all is no longer supported in GRUB 2. Be more precise
6486 about pattern matching.
6487
fb55c3ac
CW
64882010-06-07 Colin Watson <cjwatson@ubuntu.com>
6489
6490 * normal/completion.c (grub_normal_do_completion): When completing
6491 arguments to "set" and the current word contains an equals sign,
6492 skip to after the equals sign before starting completion.
6493
258c2573
CW
64942010-06-07 Colin Watson <cjwatson@ubuntu.com>
6495
6496 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
6497
ee75515e
CW
64982010-06-07 Colin Watson <cjwatson@ubuntu.com>
6499
6500 * docs/grub.texi (Network): New section.
6501 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
6502 `(nd)' as in GRUB Legacy.
6503 (pxe_unload): New section.
6504
a6a700aa
CW
65052010-06-07 Colin Watson <cjwatson@ubuntu.com>
6506
6507 * docs/grub.texi (Troubleshooting): `echo' is not usually available
6508 in the rescue shell, so recommend using `set' instead. Thanks,
6509 Jordan Uggla.
6510
4003dd38
CW
65112010-06-07 Colin Watson <cjwatson@ubuntu.com>
6512
6513 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
6514 (password): New section.
6515 (password_pbkdf2): New section.
6516 (search): New section.
6517 (Security): New section.
6518 (Troubleshooting): New section, currently very incomplete.
6519 (Invoking grub-mkpasswd-pbkdf2): New section.
6520 (Internals): New section, currently very incomplete.
6521
e1cbcc40
CW
65222010-06-07 Colin Watson <cjwatson@ubuntu.com>
6523
6524 * util/grub.d/00_header.in: Add some more quoting (of
6525 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
6526 work again.
6527 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
6528
db8fa1ad
CW
65292010-06-07 Colin Watson <cjwatson@ubuntu.com>
6530
6531 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
6532 to `count', fixing variable shadowing that broke the -c option.
6533
65342010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
6535
6536 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
6537 in case they contain spaces.
6538
f28a9212
CW
65392010-06-04 Colin Watson <cjwatson@ubuntu.com>
6540
6541 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
6542 "part_" to partmap module names, in line with grub-install.
6543 Reported by: Jindřich Makovička (Debian bug #584426).
6544
9cdfe32f
CW
65452010-06-04 Colin Watson <cjwatson@ubuntu.com>
6546
6547 * util/grub-mkimage.c: Make target-related error messages slightly
6548 more helpful; -O talks about "format". Explicitly point to the use
6549 of -O if no target is specified.
6550 Reported by: Didier Raboud (Debian bug #584415).
6551
795b593a
CW
65522010-06-03 Colin Watson <cjwatson@ubuntu.com>
6553
6554 * INSTALL: Document several build requirements for optional features
6555 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
6556
9d9b5833
GS
65572010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6558
6559 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
6560 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
6561 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
6562
0819fec8
CW
65632010-06-02 Colin Watson <cjwatson@ubuntu.com>
6564
6565 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
6566 Thanks to Jordan Uggla for spotting this.
6567
49396b4f
VS
65682010-06-02 Aleš Nesrsta <starous@volny.cz>
6569
6570 Finally make USB usable.
6571
6572 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
6573 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
6574 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
6575 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
6576 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
6577 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
6578 (GRUB_OHCI_FSMPS): Likewise.
6579 (GRUB_OHCI_PERIODIC_START): Likewise.
6580 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
6581 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
6582 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
6583 (GRUB_OHCI_SET_PORT_RESET): Likewise.
6584 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
6585 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
6586 (grub_ohci_transaction): Likewise.
6587 (grub_ohci_transfer): Improve condition detection algorithms.
6588 Handle toggle property. Program the transactions correctly.
6589 Improve error handling. Various important fixups.
6590 (grub_ohci_portstatus): Put register writes in right order.
6591 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
6592 (grub_uhci_transfer): Don't show "failed" message on success.
6593 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
6594 array.
6595 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
6596 determine its size.
6597 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
6598 before initialization is completed. Use IN direction for empty
6599 transfers. Use last_trans and compute toggle.
6600 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
6601 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
6602 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
6603 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
6604 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
6605 (grub_usb_device): Increase toggle to 256.
6606 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
6607 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
6608 GRUB_USBMS_SUBCLASS_SFF8070.
6609 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
6610 (grub_scsi_inquiry): New member page and alloc_length.
6611 (grub_scsi_request_sense): New structure.
6612 (grub_scsi_request_sense_data): Likewise.
6613 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
6614 control.
6615 * disk/scsi.c (grub_scsi_request_sense): New function.
6616 (grub_scsi_test_unit_ready): Likewise.
6617 (grub_scsi_inquiry): Fill new fields.
6618 (grub_scsi_read_capacity): Likewise.
6619 (grub_scsi_read10): Add request sense at the end.
6620 (grub_scsi_read12): Likewise.
6621 (grub_scsi_write10): Likewise.
6622 (grub_scsi_write12): Likewise.
6623 (grub_scsi_open): Add Test Unit Ready.
6624 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
6625 Support additional subclasses. Con't clear halt yet. Activate the
6626 proper config. Calculate LUNs correctly.
6627 (grub_usbms_transfer): Various important fixups.
6628
66292010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
6632 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
6633 (grub_ohci_fini_hw): New function.
6634 (grub_ohci_restore_hw): Likewise.
6635 (GRUB_MOD_INIT(ohci)): Register preboot hook.
6636 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
6637 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
6638
66392010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 Dedicated DMA allocations.
6642
6643 * bus/pci.c (grub_memalign_dma32): New function
6644 (grub_dma_free): Likewise.
6645 (grub_dma_get_virt): Likewise.
6646 (grub_dma_get_phys): Likewise.
6647 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
6648 (grub_ohci_pci_iter): Use dma32_alloc.
6649 (grub_ohci_transfer): Likewise.
6650 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
6651 (grub_usb_bulk_readwrite): Likewise.
6652 * include/grub/pci.h: Add declarations.
6653
66542010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 CS5536 support.
6657
6658 * bus/cs5536.c: New file.
6659 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
6660 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
6661 (cs5536_mod_SOURCES): New variable.
6662 (cs5536_mod_CFLAGS): Likewise.
6663 (cs5536_mod_LDFLAGS): Likewise.
6664 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
6665 machine/pci.h.
6666 (kernel_img_SOURCES): Add bus/cs5536.c.
6667 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
6668 usb_keyboard.mod.
6669 (usb_mod_SOURCES): New variable.
6670 (usb_mod_CFLAGS): New variable.
6671 (usb_mod_LDFLAGS): New variable.
6672 (usbtest_mod_SOURCES): New variable.
6673 (usbtest_mod_CFLAGS): New variable.
6674 (usbtest_mod_LDFLAGS): New variable.
6675 (ohci_mod_SOURCES): New variable.
6676 (ohci_mod_CFLAGS): New variable.
6677 (ohci_mod_LDFLAGS): New variable.
6678 (usbms_mod_SOURCES): New variable.
6679 (usbms_mod_CFLAGS): New variable.
6680 (usbms_mod_LDFLAGS): New variable.
6681 (usb_keyboard_mod_SOURCES): New variable.
6682 (usb_keyboard_mod_CFLAGS): New variable.
6683 (usb_keyboard_mod_LDFLAGS): New variable.
6684 * include/grub/smbus.h: New file.
6685 * include/grub/cs5536.h: New file.
6686
0b35b2a9
CW
66872010-06-02 Colin Watson <cjwatson@ubuntu.com>
6688
6689 * util/grub.d/00_header.in: Add safety check to make sure that
6690 ${locale_dir} exists before trying to probe it.
6691
ca0afd5b
CW
66922010-06-02 Colin Watson <cjwatson@ubuntu.com>
6693
6694 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
6695 per the GNU Coding Standards; this is now too obscure to be worth
6696 documenting.
6697 (QNX): Likewise.
6698 (chainloader): Remove cross-reference to `SCO UnixWare'.
6699
1c41aa78
CW
67002010-06-02 Colin Watson <cjwatson@ubuntu.com>
6701
6702 * docs/grub.texi (Chain-loading): New section.
6703 (DOS/Windows): New section, borrowed from GRUB Legacy with details
6704 adjusted for GRUB 2.
6705 (SCO UnixWare): Likewise.
6706 (QNX): Likewise.
6707 (chainloader): Add reference to `Block list syntax'.
6708 (drivemap): New section.
6709 (parttool): New section.
6710
bb8ea0f5
CW
67112010-06-02 Colin Watson <cjwatson@ubuntu.com>
6712
6713 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
6714 the grub shell'.
6715 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
6716 (Installing GRUB using grub-install): Remove reference to the grub
6717 shell; mention `grub-mkimage' and `grub-setup' instead.
6718 (Invoking grub-install): Likewise.
6719 (Interface): Add reference to `Menu entry editor'.
6720 (serial): Remove `--device' option.
6721
288dd6ed
CW
67222010-06-02 Colin Watson <cjwatson@ubuntu.com>
6723
6724 * docs/grub.texi (Configuration): New section, documenting
6725 configuration file generation using grub-mkconfig. I've left a slot
6726 for documenting the full shell scripting format but have not yet
6727 started on writing that up.
6728 (Invoking grub-mkconfig): New section.
6729
34c9f0e9
CW
67302010-06-02 Colin Watson <cjwatson@ubuntu.com>
6731
6732 * docs/grub.texi (direntry): Remove grub-terminfo reference.
6733 (GNU GRUB manual): Likewise.
6734 (General commands): Update description of `terminfo' for GRUB 2.
6735
9121567e
CW
67362010-06-02 Colin Watson <cjwatson@ubuntu.com>
6737
6738 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
6739 (GRUB_MOD_INIT): Fix capitalisation.
6740 * docs/grub.texi (Command-line and menu entry commands): Document
6741 gettext and gptsync commands.
6742
ab631611
CW
67432010-06-02 Colin Watson <cjwatson@ubuntu.com>
6744
6745 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
6746 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
6747
bde4a9ac
CW
67482010-06-01 Colin Watson <cjwatson@ubuntu.com>
6749
6750 Add btrfs probing support, currently only in the single-device case.
6751
6752 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
6753 function.
6754 (grub_guess_root_device): Call find_root_device_from_mountinfo
6755 before looking in /dev.
6756
b1d17e10
VS
67572010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
6760 GRUB_DISK_SIZE_UNKNOWN.
6761 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
6762
dfbfe004
JS
67632010-05-31 Jiro SEKIBA <jir@unicus.jp>
6764
6765 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
6766 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
6767 corrupted or not synced properly.
6768
c2ffc8e9
VS
67692010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
6772 Reported by: Seth Goldberg.
6773
56293166
VS
67742010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
6777 addition of dest.
6778 Reported by: Seth Goldberg.
6779
7620e7de
VS
67802010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
6783 Reported by: Seth Goldberg.
6784
c837af3f
VS
67852010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
6788 64-bit address as signed on MIPS.
6789
c7c75cf4
CW
67902010-05-28 Colin Watson <cjwatson@ubuntu.com>
6791
6792 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
6793 to the empty string.
6794
fa4b8490
BC
67952010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
6796
6797 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
6798
6799 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
6800 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
6801 * kern/misc.c (__enable_execute_stack): Disable on
6802 GRUB_MACHINE_EMU.
6803
a33075b9
CW
68042010-05-28 Colin Watson <cjwatson@ubuntu.com>
6805
6806 Make grub-probe work with symbolic links under /dev/mapper as well
6807 as with real block devices. The Linux world seems to be (at best)
6808 in transition here, and GRUB shouldn't get caught in the middle.
6809
6810 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
6811 /dev/mapper.
6812
d8708134
CW
68132010-05-27 Colin Watson <cjwatson@ubuntu.com>
6814
6815 * util/grub-script-check.c (main): Ensure defined behaviour on empty
6816 input files (in which case exit zero).
6817
db2102a0
CW
68182010-05-27 Colin Watson <cjwatson@ubuntu.com>
6819
6820 * kern/emu/misc.c (canonicalize_file_name): realpath can still
6821 return NULL for various reasons even if it has a maximum-length
6822 buffer: for example, there might be a symlink loop, or the path
6823 might exceed PATH_MAX. If this happens, return NULL.
6824
5fdba519
RM
68252010-05-27 Robert Millan <rmh@gnu.org>
6826
6827 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
6828 partmap module to handle cross-partmap setups.
6829 Reported by Orestes Mas. Gràcies!
6830
d1d368e4
CW
68312010-05-27 Colin Watson <cjwatson@ubuntu.com>
6832
6833 * util/grub-mkrescue.in: Initialise override_dir rather than
6834 assuming that it's unset or empty in the environment.
6835
95ac3c73
GS
68362010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
6837
6838 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
6839 variable index into p_index to suppress a warning with -Wshadow.
6840
7d8c0213
BC
68412010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
6842
6843 * INSTALL: Added flex >= 2.5.35 requirement.
6844
db4d5813
VS
68452010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
6848
f24f4300
VS
68492010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 cmostest support.
6852
6853 * commands/i386/cmostest.c: New file.
6854 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
6855 (cmostest_mod_SOURCES): New variable.
6856 (cmostest_mod_CFLAGS): Likewise.
6857 (cmostest_mod_LDFLAGS): Likewise.
6858 * conf/i386-pc.rmk: Likewise.
6859 * docs/grub.texi (Vendor power-on keys): New section.
6860 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
6861 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
6862 and GRUB_BUTTON_CMOS_ADDRESS.
6863 * util/grub.d/00_header.in: Handle powering-on by separate button.
6864
ad603f61
VS
68652010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
6868 Removed drawing_scrollbar argument. All users updated
6869 Fixes #29792.
6870 Reported by Jo Shields
6871
3ecb080a
VS
68722010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6873
6874 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
6875 buffer since gfxterm handles double repaint.
6876
5f2316c1
VS
68772010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
6880 * term/gfxterm.c (real_scroll): Likewise.
6881
9a25f885
VS
68822010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6883
6884 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
6885 before calling BIOS.
6886
39fbb79a
VS
68872010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6888
6889 * include/grub/i18n.h: Always enable grub_gettext.
6890
228cfa97
VS
68912010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
6894 partition naming style.
6895
21717c8f
CW
68962010-05-21 Colin Watson <cjwatson@ubuntu.com>
6897
6898 * util/grub-mkconfig.in: Fix handling of -o so that it works when
6899 not the first option.
6900
c0f48e65
CW
69012010-05-20 Colin Watson <cjwatson@ubuntu.com>
6902
6903 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
6904
96779aec
CW
69052010-05-20 Colin Watson <cjwatson@ubuntu.com>
6906
6907 * util/misc.c: Move inclusion of <limits.h> to ...
6908 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
6909
fa9d256e
GS
69102010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
6911
6912 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
6913 Fix merge error in NetBSD code.
6914 (find_partition_start) [__NetBSD__]: Likewise.
6915
123b7a85
BC
69162010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
6917
6918 Fix grub-mkrescue usage unit testing.
6919
6920 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
6921
74276c0d
CF
69222010-05-18 Christian Franke <franke@computer.org>
6923
6924 * util/grub.d/10_windows.in: Use path names instead of
6925 drive letters to prevent warning from Cygwin 1.7.
6926 Add drivemap command to menuentry if needed.
6927
c4f7b523
ST
69282010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
6929
6930 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
6931 gnumach and gnumach.gz.
6932
95b97950
VS
69332010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * include/grub/i18n.h (gettext): Inline instead of using #define.
6936 (grub_gettext): Likewise.
6937 (_): Likewise.
6938
01b8d2d7
VS
69392010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
6942 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
6943 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
6944 (main): Add a slash after pkglibdirroot.
6945
654e1d1e
VS
69462010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 * util/grub-install.in: Add missing "in" keyword.
6949
26966aeb
VS
69502010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
6953 Reported by: Seth Goldberg.
6954
75006747
VS
69552010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
6958
74cbf5bd
CW
69592010-05-18 Colin Watson <cjwatson@ubuntu.com>
6960
6961 * configure.ac: Check for Linux device-mapper support.
6962
6963 * util/hostdisk.c (device_is_mapped): New function.
6964 (find_partition_start): New function, partly broken out from
6965 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
6966 device-mapper support added.
6967 (linux_find_partition): Use find_partition_start.
6968 (convert_system_partition_to_system_disk): Add `st' argument.
6969 Support Linux /dev/mapper/* devices if device-mapper support is
6970 available; only DM-RAID devices are understood at present.
6971 (find_system_device): Add `st' argument. Pass it to
6972 convert_system_partition_to_system_disk.
6973 (grub_util_biosdisk_get_grub_dev): Pass stat result to
6974 find_system_device and convert_system_partition_to_system_disk. Use
6975 find_partition_start.
6976
6977 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
6978 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
6979 * util/deviceiter.c [__linux__]: Define MINOR.
6980 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
6981 * util/mkdevicemap.c (grub_putchar): New function.
6982 (grub_getkey): New function.
6983 (grub_refresh): New function.
6984 (main): Set debug=all if -v -v is used.
6985
355b51e9
CW
69862010-05-18 Colin Watson <cjwatson@ubuntu.com>
6987
6988 Fix build with non-GNU libcs.
6989
6990 * util/misc.c (canonicalize_file_name): Move to ...
6991 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
6992 grub_make_system_path_relative_to_its_root.
6993
7fb5c25f
CW
69942010-05-18 Colin Watson <cjwatson@ubuntu.com>
6995
6996 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
6997 we handle finding grub-mkimage. Default to finding grub-mkimage in
6998 ${bindir} with program_transform_name applied, and provide a
6999 --grub-mkimage option to override this.
7000
1d3293d6
VS
70012010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 Remove grub-mkisofs.
7004
7005 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
7006 (grub_mkisofs_SOURCES): Removed.
7007 (grub_mkisofs_CFLAGS): Removed.
7008 * util/mkisofs/defaults.h: Removed.
7009 * util/mkisofs/eltorito.c: Likewise.
7010 * util/mkisofs/exclude.h: Likewise.
7011 * util/mkisofs/hash.c: Likewise.
7012 * util/mkisofs/include/: Likewise.
7013 * util/mkisofs/include/fctldefs.h: Likewise.
7014 * util/mkisofs/include/mconfig.h: Likewise.
7015 * util/mkisofs/include/prototyp.h: Likewise.
7016 * util/mkisofs/include/statdefs.h: Likewise.
7017 * util/mkisofs/iso9660.h: Likewise.
7018 * util/mkisofs/joliet.c: Likewise.
7019 * util/mkisofs/match.c: Likewise.
7020 * util/mkisofs/match.h: Likewise.
7021 * util/mkisofs/mkisofs.c: Likewise.
7022 * util/mkisofs/mkisofs.h: Likewise.
7023 * util/mkisofs/msdos_partition.h: Likewise.
7024 * util/mkisofs/multi.c: Likewise.
7025 * util/mkisofs/name.c: Likewise.
7026 * util/mkisofs/rock.c: Likewise.
7027 * util/mkisofs/tree.c: Likewise.
7028 * util/mkisofs/write.c: Likewise.
7029
5dde9afe
VS
70302010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 Unify grub-mkimage accross platforms.
7033
7034 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
7035 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
7036 (grub_mkelfimage_SOURCES): Removed.
7037 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
7038 (util/grub-mkimage.c_DEPENDENCIES): .. this.
7039 (bin_UTILITIES): Add grub-mkimage.
7040 (grub_mkimage_SOURCES): New variable.
7041 (kernel_img_HEADERS): Remove machine/kernel.h.
7042 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
7043 (pkglib_PROGRAMS): Add kernel.img.
7044 (kernel_img_HEADERS): Add machine/kernel.h.
7045 (kernel_img_FORMAT): Removed.
7046 (bin_UTILITIES): Remove grub-mkimage.
7047 (grub_mkimage_SOURCES): Removed.
7048 (grub_mkimage_CFLAGS): Likewise.
7049 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7050 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
7051 (pkglib_PROGRAMS): Add kernel.img.
7052 (bin_UTILITIES): Remove grub-mkimage.
7053 (grub_mkimage_SOURCES): Removed.
7054 (grub_mkimage_CFLAGS): Likewise.
7055 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7056 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
7057 (pkglib_PROGRAMS): Add kernel.img.
7058 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
7059 (pkglib_PROGRAMS): Add kernel.img.
7060 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
7061 (grub_mkimage_SOURCES): Removed.
7062 (grub_mkimage_CFLAGS): Likewise.
7063 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7064 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
7065 (pkglib_PROGRAMS): Add kernel.img.
7066 (bin_UTILITIES): Remove grub-mkimage.
7067 (grub_mkimage_SOURCES): Removed.
7068 (grub_mkimage_CFLAGS): Likewise.
7069 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7070 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
7071 (grub_mkimage_SOURCES): Removed.
7072 (grub_mkimage_CFLAGS): Likewise.
7073 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7074 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
7075 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
7076 (grub_pe32_optional_header): ... this.
7077 (grub_pe64_optional_header): ... and this. All users updated.
7078 (GRUB_PE32_PE32_MAGIC): Split into ..
7079 (GRUB_PE32_PE32_MAGIC): .. this.
7080 (GRUB_PE32_PE64_MAGIC): .. and this.
7081 (GRUB_PE32_SIGNATURE_SIZE): New definition.
7082 * include/grub/elf.h (PT_GNU_STACK): New definition.
7083 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
7084 * include/grub/i386/efi/kernel.h: Likewise.
7085 * include/grub/i386/kernel.h: Likewise.
7086 * include/grub/i386/pc/kernel.h: Likewise.
7087 * include/grub/i386/qemu/boot.h: Likewise.
7088 * include/grub/mips/kernel.h: Likewise.
7089 * include/grub/mips/qemu-mips/kernel.h: Likewise.
7090 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7091 * include/grub/powerpc/kernel.h: Likewise.
7092 * include/grub/sparc64/ieee1275/boot.h: Likewise.
7093 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7094 * include/grub/sparc64/kernel.h: Likewise.
7095 * include/grub/x86_64/efi/kernel.h: Likewise.
7096 * include/grub/x86_64/kernel.h: Likewise.
7097 * include/grub/offsets.h: New file.
7098 * include/grub/kernel.h (grub_module_info): Split into ...
7099 (grub_module_info32): ... this.
7100 (grub_module_info64): ... and this.
7101 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
7102 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
7103 (grub_boot_blocklist): Moved from here ...
7104 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
7105 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
7106 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
7107 * include/grub/types.h (grub_target_to_host16): Removed.
7108 (grub_target_to_host32): Likewise.
7109 (grub_target_to_host64): Likewise.
7110 (grub_host_to_target16): Likewise.
7111 (grub_host_to_target32): Likewise.
7112 (grub_host_to_target64): Likewise.
7113 (grub_host_to_target_addr): Likewise.
7114
7115 Support grub-mkrescue for efi, coreboot and qemu.
7116
7117 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
7118 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
7119 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
7120 * util/grub-mkrawimage.c: Moved from here ...
7121 * util/grub-mkimage.c: ... here. All users updated.
7122 (ALIGN_ADDR): Use image_target.
7123 (TARGET_NO_FIELD): New const.
7124 (image_target_desc): New type.
7125 (image_targets): New array.
7126 (grub_target_to_host64): Use image_target.
7127 (grub_target_to_host32): Likewise.
7128 (grub_target_to_host16): Likewise.
7129 (grub_host_to_target64): Likewise.
7130 (grub_host_to_target32): Likewise.
7131 (grub_host_to_target16): Likewise.
7132 (grub_host_to_target_addr): Likewise.
7133 (generate_image): Handle multiimage.
7134 (main): Require -O parameter. All users updated.
7135 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
7136 util/efi/grub-mkimage.c
7137 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
7138 New option --rom-directory.
7139 Use xorriso.
7140 * util/i386/efi/grub-mkimage.c: Removed.
7141 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
7142 (grub_target_to_host32): Likewise.
7143 (grub_target_to_host64): Likewise.
7144 (grub_host_to_target16): Likewise.
7145 (grub_host_to_target32): Likewise.
7146 (grub_host_to_target64): Likewise.
7147 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
7148 (grub_target_to_host32): Likewise.
7149 (grub_target_to_host64): Likewise.
7150 (grub_host_to_target16): Likewise.
7151 (grub_host_to_target32): Likewise.
7152 (grub_host_to_target64): Likewise.
7153
f4fc97d0
BC
71542010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
7155
7156 Source tree is reorganized for emu build.
7157
7158 * include/grub/util/console.h: Move from here...
7159 * include/grub/emu/console.h: ...to here.
7160 * include/grub/util/getroot.h: Move from here...
7161 * include/grub/emu/getroot.h: ...to here.
7162 * include/grub/util/hostdisk.h: Move from here...
7163 * include/grub/emu/hostdisk.h: ...to here.
7164 * util/console.c: Move from here...
7165 * kern/emu/console.c: ...to here.
7166 * util/getroot.c: Move from here...
7167 * kern/emu/getroot.c: ...to here.
7168 * util/grub-emu.c: Move from here...
7169 * kern/emu/main.c: ...to here.
7170 * util/hostdisk.c: Move from here...
7171 * kern/emu/hostdisk.c: ...to here.
7172 * util/hostfs.c: Move from here...
7173 * kern/emu/hostfs.c: ...to here.
7174 * util/mm.c: Move from here...
7175 * kern/emu/mm.c: ...to here.
7176 * util/pci.c: Move from here...
7177 * bus/emu/pci.c: ...to here.
7178 * util/sdl.c: Move from here...
7179 * video/emu/sdl.c: ...to here.
7180 * util/time.c: Move from here...
7181 * kern/emu/time.c: ...to here.
7182 * util/usb.c: Move from here...
7183 * bus/usb/emu/usb.c: ...to here.
7184
7185 * include/grub/emu/misc.h: New header for grub-emu functions.
7186 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
7187
7188 * conf/any-emu.rmk: Rule updates for above renames.
7189 * conf/common.rmk: Likewise.
7190 * conf/i386-pc.rmk: Likewise.
7191 * conf/i386-qemu.rmk: Likewise.
7192 * conf/mips.rmk: Likewise.
7193 * conf/sparc64-ieee1275.rmk: Likewise.
7194 * conf/x86-efi.rmk: Likewise.
7195
7196 * disk/lvm.h: #include updates for above renames.
7197 * util/grub-mkrelpath.c: Likewise.
7198 * util/grub-probe.c: Likewise.
7199 * util/i386/pc/grub-setup.c: Likewise.
7200 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7201 * kern/emu/console.c: Likewise.
7202 * kern/emu/getroot.c: Likewise.
7203 * kern/emu/hostdisk.c: Likewise.
7204 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
7205
7206 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
7207 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
7208 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
7209 * util/misc.c: Remove grub-emu functions.
7210
cced9145
VS
72112010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 Fix gfxmenu crash.
7214 Reported by: Thorsten Grützmacher.
7215
7216 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
7217 timeout hook.
7218 (circprog_set_property): Register and unregister timeout hook.
7219 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
7220 (label_destroy): Free template. and unregister hook.
7221 (label_set_state): New function.
7222 (label_set_property): Handle templates and hooks.
7223 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
7224 timeout hook.
7225 (progress_bar_set_property): Register and unregister timeout hook.
7226 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
7227 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
7228 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
7229 (update_timeout_visit): Removed.
7230 (update_timeouts): New function.
7231 (redraw_timeouts): Likewise.
7232 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
7233 (grub_gfxmenu_clear_timeout): Likewise.
7234 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
7235 (grub_gfxmenu_timeout_notify): Likewise.
7236 (grub_gfxmenu_timeout_notifications): New external variable.
7237 (grub_gfxmenu_timeout_register): New function.
7238 (grub_gfxmenu_timeout_unregister): Likewise.
7239
c6e5caab
VS
72402010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 Transform (broken) vga terminal into (working) vga video driver.
7243
7244 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
7245 video/i386/pc/vga.c.
7246 * include/grub/video.h (grub_video_driver_id):
7247 Add GRUB_VIDEO_DRIVER_VGA.
7248 * term/i386/pc/vga.c: Renamed to ...
7249 * video/i386/pc/vga.c: ...this
7250 (DEBUG_VGA): Removed.
7251 (CHAR_WIDTH): Likewise.
7252 (CHAR_HEIGHT): Likewise.
7253 (TEXT_WIDTH): Likewise.
7254 (TEXT_HEIGHT): Likewise.
7255 (DEFAULT_FG_COLOR): Likewise.
7256 (DEFAULT_BG_COLOR): Likewise.
7257 (colored_char): Likewise.
7258 (xpos): Likewise.
7259 (ypos): Likewise.
7260 (cursor_state): Likewise.
7261 (fg_color): Likewise.
7262 (bg_color): Likewise.
7263 (text_buf): Likewise.
7264 (page): Likewise.
7265 (font): Likewise.
7266 (framebuffer): New variable.
7267 (set_read_map): Disabled.
7268 (setup): New variable.
7269 (is_target): Likewise.
7270 (grub_vga_mod_init): Likewise.
7271 (grub_vga_mod_fini): Likewise.
7272 (check_vga_mem): Likewise.
7273 (write_char): Likewise.
7274 (write_cursor): Likewise.
7275 (scroll_up): Likewise.
7276 (grub_vga_putchar): Likewise.
7277 (grub_vga_getcharwidth): Likewise.
7278 (grub_vga_getwh): Likewise.
7279 (grub_vga_getxy): Likewise.
7280 (grub_vga_gotoxy): Likewise.
7281 (grub_vga_cls): Likewise.
7282 (grub_vga_setcolorstate): Likewise.
7283 (grub_vga_setcursor): Likewise.
7284 (grub_video_vga_init): New function.
7285 (grub_video_vga_setup): Likewise.
7286 (grub_video_vga_fini): Likewise.
7287 (update_target): Likewise.
7288 (grub_video_vga_blit_bitmap): Likewise.
7289 (grub_video_vga_blit_render_target): Likewise.
7290 (grub_video_vga_set_active_render_target): Likewise.
7291 (grub_video_vga_get_active_render_target): Likewise.
7292 (grub_video_vga_swap_buffers): Likewise.
7293 (grub_video_vga_set_palette): Likewise.
7294 (grub_video_vga_get_info_and_fini): Likewise.
7295 (grub_vga_term): Removed.
7296 (grub_video_vga_adapter): New variable.
7297 (GRUB_MOD_INIT): Register a video driver instead of terminal.
7298 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
7299
2bf61a98
VS
73002010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 * video/readers/jpeg.c: Indented.
7303
09ddcd11
VS
73042010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 Various jpeg cleanups.
7307
7308 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
7309 (grub_jpeg_decode_quan_table): Use sizeof.
7310 (grub_jpeg_decode_du): Use ARRAY_SIZE.
7311
e5507505
PH
73122010-05-05 Peter Hurley <No e-mail available> (tiny change)
7313
7314 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
7315 tables. Ignore non-last ac bit.
7316 (grub_jpeg_decode_quan_table): Likewise.
7317
7e720a9b
VS
73182010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
7321 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
7322 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7323 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
7324 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
7325 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
7326
a7fc080b
VS
73272010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
7330 error.
7331
2bf6012d
VS
73322010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
7335
265d68cd
VS
73362010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
7339 condition.
7340
73412010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
7342
7343 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
7344 part.
7345
265d68cd 73462010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
7347
7348 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
7349 pointers.
7350
265d68cd 73512010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
7352
7353 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
7354
d1b61374
CF
73552010-05-01 Christian Franke <franke@computer.org>
7356
7357 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
7358 Remove broken Cygwin path conversion.
7359 * util/misc.c: [__CYGWIN__] Add include and define.
7360 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
7361 for Cygwin 1.7.
7362 (make_system_path_relative_to_its_root): Simplify loop, replace early
7363 return by break.
7364 [__CYGWIN__] Add conversion to win32 path.
7365 Include "/" case in trailing slash removal.
7366
3558c6e9
VS
73672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 * kern/main.c (grub_load_config): Fix copy-pasted comment.
7370 Reported by: Seth Goldberg
7371
f5f3ff93
VS
73722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 * commands/help.c (grub_cmd_help): Fix a typo.
7375 Reported by: Seth Goldberg
7376
d8b5cd40
VS
73772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
7380 name and add N_.
7381 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
7382 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
7383 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
7384 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
7385 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
7386 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
7387 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
7388 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
7389 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
7390 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
7391 * normal/context.c (GRUB_MOD_INIT): Likewise.
7392 * normal/main.c (GRUB_MOD_INIT): Likewise.
7393 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
7394 * term/serial.c (GRUB_MOD_INIT): Likewise.
7395 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
7396
88c14915
VS
73972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
7400 extra == 0.
7401
165134bc
VS
74022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * commands/iorw.c: New file.
7405 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
7406 (iorw_mod_SOURCES): New variable.
7407 (iorw_mod_CFLAGS): Likewise.
7408 (iorw_mod_LDFLAGS): Likewise.
7409
c5ac9b32
VS
74102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 Hotkey support
7413
7414 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
7415 * normal/main.c (hotkey_aliases): New variable.
7416 (grub_normal_add_menu_entry): Parse "--hotkey".
7417 * normal/menu_text.c (run_menu): Handle hotkeys.
7418
ce60689c
VS
74192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7420
7421 * kern/i386/coreboot/init.c (grub_machine_init): Call
7422 grub_machine_mmap_init on qemu.
7423
0359d006
VS
74242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7425
7426 * boot/i386/qemu/boot.S: Add a missing .code16.
7427
7819a456
VS
74282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 Use LBIO on coreboot.
7431
7432 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
7433 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
7434 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
7435 New declaration.
7436 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
7437 grub_machine_mmap_init on coreboot.
7438 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
7439 GRUB_LINUXBIOS_MEMBER_LINK.
7440 (grub_machine_mmap_iterate): Fix declaration.
7441 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
7442
7210dca9
VS
74432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 Split coreboot and multiboot ports.
7446
7447 * conf/i386-multiboot.rmk: New file.
7448 * configure.ac: Add multiboot port.
7449 * include/grub/i386/multiboot/boot.h: New file.
7450 * include/grub/i386/multiboot/console.h: Likewise.
7451 * include/grub/i386/multiboot/init.h: Likewise.
7452 * include/grub/i386/multiboot/kernel.h: Likewise.
7453 * include/grub/i386/multiboot/loader.h: Likewise.
7454 * include/grub/i386/multiboot/memory.h: Likewise.
7455 * include/grub/i386/multiboot/serial.h: Likewise.
7456 * include/grub/i386/multiboot/time.h: Likewise.
7457 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
7458 * loader/multiboot.c: Likewise.
7459 * loader/multiboot_mbi2.c: Likewise.
7460 * util/grub-mkrescue.in: Generate multiboot rescue.
7461
6f8aaf68
VS
74622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7463
3080f7a7
VS
7464 * kern/parser.c (grub_parser_execute): Cope with read-only config.
7465
74662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
7469
7470 * commands/terminal.c (abstract_terminal): New struct.
7471 (handle_command): New function. Based on grub_cmd_terminal_input.
7472 (grub_cmd_terminal_input): Use handle_command.
7473 (grub_cmd_terminal_output): Use handle_command.
7474
a8ebb841
BC
74752010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
7476
7477 Fix comment handling.
7478
7479 * tests/grub_script_comments.in: New testcase.
7480 * conf/tests.rmk: Rules for new testcase.
7481 * script/yylex.l: Updated flex rules.
7482
bb06ba08
ST
74832010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
7484
7485 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
7486 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
7487 if argc is 1.
bb06ba08 7488
cc9d2425
VS
74892010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
7492 autogen issues.
7493
460d8402
CF
74942010-04-26 Christian Franke <franke@computer.org>
7495
7496 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
7497 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
7498 (grub_get_prefix): Remove function.
7499 * util/grub-emu.c (main): Replace grub_get_prefix () call by
7500 make_system_path_relative_to_its_root ().
7501 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
7502
553c01f9
CF
75032010-04-24 Christian Franke <franke@computer.org>
7504
7505 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
7506 (kernel_img_LDFLAGS): Remove -static-libgcc.
7507
2aec1692
CF
75082010-04-24 Christian Franke <franke@computer.org>
7509
7510 * configure.ac: Do not CHECK_BSS_START_SYMBOL
7511 and CHECK_END_SYMBOL if grub-emu is built.
7512 Unset TARGET_OBJ2ELF if grub-emu is built
7513 without module support.
7514
f67dc308
JS
75152010-04-24 Jiro SEKIBA <jir@unicus.jp>
7516
7517 Nilfs2 support.
7518
7519 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
7520 (grub_fstest_SOURCES): Likewise.
7521 (pkglib_MODULES): Add nilfs2.mod.
7522 (nilfs2_mod_SOURCES): New variable.
7523 (nilfs2_mod_CFLAGS): Likewise.
7524 (nilfs2_mod_LDFLAGS): Likewise.
7525 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
7526 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
7527 * fs/nilfs2.c: New file.
7528
4ba8d354
VS
75292010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
7532 is not supported.
7533
0d2c20c6
GS
75342010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
7535
7536 Add grub-mkconfig support for NetBSD.
7537
7538 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
7539 * util/grub-mkconfig.in: export new NetBSD specific variables.
7540 * po/POTFILES-shell: added 10_netbsd.in.
7541 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
7542
bc4a2d83
BC
75432010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
7544
7545 Fix emu build with grub-emu-pci and grub-emu-modules.
7546
7547 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
7548 functions.
7549 * include/grub/libpciaccess.h: New file.
7550 * conf/any-emu.rmk: Update kernel headers for emu build.
7551
f48c87aa
VS
75522010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
7555
18959385
VS
75562010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
7559
0037de3f
VS
75602010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
7563 Retrieve chosen/bootpath if bootpath isn't hardcoded.
7564 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
7565 util/ieee1275/ofpath.c.
7566 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
7567 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
7568 * include/grub/sparc64/ieee1275/boot.h
7569 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
7570 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
7571 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
7572 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
7573 const char *.
7574 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
7575 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
7576 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
7577 install.
7578
38e55e90
GS
75792010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7580
7581 * util/grub-mkconfig.in: Corrected two == equality tests.
7582 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
7583 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
7584 expect a number appended to it.
7585 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
7586 expects a number appended to it.
7587
a9e6ff28
VS
75882010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7589
7590 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
7591
0b830b8f
VS
75922010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * util/hostdisk.c (make_device_name): Change to new partition naming.
7595
0973daeb
VS
75962010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
7599
460d8402 76002010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
7601
7602 * Makefile.in: Add missing localedir setting.
7603
0b456309
CW
76042010-04-14 Colin Watson <cjwatson@ubuntu.com>
7605
7606 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
7607 mistake in r2156. Noticed by Anthony Fok.
7608
7609 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
7610 @localedir@.
7611 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7612
08f46d62
BC
76132010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
7614
7615 Fix a spurious, uninitialized variable warning.
7616
7617 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
7618 Initialize variable, shdr.
7619 (grub_freebsd_load_elfmodule): Likewise.
7620 (grub_freebsd_load_elf_meta): Likewise.
7621
8c4a72d4
BC
76222010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
7623
7624 Fix for escaped dollar in double quoted strings.
7625
7626 * script/yylex.l: Updated flex rules.
7627 * conf/tests.rmk: Rule for new testcase.
7628 * tests/grub_script_dollar.in: New testcase.
7629
ce44826e
CPE
76302010-04-13 Carles Pina i Estany <carles@pina.cat>
76312010-04-13 Colin Watson <cjwatson@ubuntu.com>
7632
7633 Enclose all translated strings in grub.cfg in single quotes, and
7634 escape them appropriately (Ubuntu bug #552921).
7635
7636 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
7637 * util/grub.d/10_hurd.in: Use it.
7638 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7639 * util/grub.d/10_linux.in (linux_entry): Likewise.
7640
4b0cd8f8
VS
76412010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 Fix cygwin compilation.
7644
7645 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
7646 * include/grub/misc.h (__register_frame_info)
7647 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
7648 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
7649 * kern/misc.c (__register_frame_info)
7650 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
7651 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
7652
01fcf061
VS
76532010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
7656
5d04b11e
VS
76572010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 Unify libgcc processing.
7660
7661 * Makefile.in (kernel_img_LDFLAGS): New variable.
7662 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
7663 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
7664 overwriting.
7665 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
7666 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
7667 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
7668 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
7669 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
7670 overwriting. Remove -lgcc and -static-libgcc
7671 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
7672 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
7673 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
7674 (kernel_img_LDFLAGS): Append instead of overwriting.
7675 Remove -lgcc and -static-libgcc
7676 * conf/sparc64-ieee1275.rmk: Likewise.
7677 * include/grub/powerpc/libgcc.h: Move to ...
7678 * include/grub/libgcc.h: .. this.
7679 * include/grub/libgcc.h: Don't export most of the function on x86.
7680 (__bswapsi2): New export.
7681 (__bswapdi2): Likewise.
7682 * include/grub/mips/libgcc.h: Removed.
7683 * include/grub/sparc64/libgcc.h: Likewise.
7684
b7f3ac29
VS
76852010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
7688 disk_info_msg (conflicts with gettexting into languages with cases).
7689
2c7031b1
GS
76902010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
7691
7692 Add grub-probe support for NetBSD.
7693
7694 * util/getroot.c (find_root_device): Convert block device to
7695 character device on NetBSD.
7696 * util/probe.c (probe): Require character device on NetBSD.
7697 * util/hostdisk.c: NetBSD specific headers.
7698 (configure_device_driver): new function to tune device driver
7699 parameters (currently only for NetBSD floppy driver).
7700 (grub_util_biosdisk_open): NetBSD specific code (get disk size
7701 via disklabel ioctl).
7702 (open_device): call configure_device_driver on NetBSD.
7703 (convert_system_partition_to_system_disk): NetBSD specific code.
7704 (device_is_wholedisk): Likewise.
7705 (grub_util_biosdisk_get_grub_dev): Likewise.
7706 (make_device_name): Fixed a typo in bsd_part_str.
7707 * configure.ac: check for opendisk() and getrawpartition() on
7708 NetBSD and set LIBUTIL.
7709 * Makefile.in: add LIBUTIL to LIBS.
7710
f516290c
BC
77112010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
7712
7713 Documentation fix.
7714
7715 * util/grub-script-check.c: Better help message.
7716
d8dcc0df
BC
77172010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
7718
7719 Fix FreeBSD build.
7720
7721 * configure.ac: Flex version check.
7722 * conf/common.rmk: Add -Wno-error to sh.mod.
7723 * script/yylex.l: Remove all #pragma.
7724
6734334a
VS
77252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * include/grub/util/misc.h (canonicalise_file_name): Add missing
7728 prototype.
7729 Reported by: Seth Goldberg.
7730
daea6abd
VS
77312010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
7734 Rename "module" to "module2".
7735 Reported by: Seth Goldberg.
7736
f2fd9d2b
VS
77372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
7740 EXPORT_FUNC.
7741 Reported by: Seth Goldberg.
7742
be124579
VS
77432010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 * lib/posix_wrap/locale.h: Add missing file.
7746 Reported by: Seth Goldberg.
7747
ef5da797
VS
77482010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 grub-emu module load support.
7751
7752 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
7753 NO_DYNAMIC_MODULES switched to this.
7754 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
7755 (CFLAGS): Likewise.
7756 * conf/any-emu.rmk: Generate symlist.
7757 (kernel_img_HEADERS): Add util/datetime.h.
7758 (kernel_img_HEADERS) [sdl]: Add sdl.h.
7759 (kernel_img_HEADERS) [libusb]: Add libusb.h.
7760 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
7761 kern/$(target_cpu)/cache.S.
7762 * configure.ac (grub-emu-modules): New option.
7763 * genmk.rb: Handle multiple source lists.
7764 * include/grub/sdl.h: New file.
7765 * include/grub/libusb.h: Likewise.
7766 * util/grub-emu.c (main): Hanle (host) root.
7767 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
7768 GRUB_ERR_UNKNOWN_DEVICE.
7769 * util/misc.c: Move mm functions to ...
7770 * util/mm.c: ... here. All users updated.
7771
47822096
VS
77722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
7775 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
7776 missing files.
7777 (maintainer-clean): Remove libgcrypt-grub.
7778
5d7e7445
VS
77792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
7782
25f4e252
EC
77832010-04-09 EFI Coder <eficoder@hotmail.com>
7784
7785 * normal/menu_text.c (print_message): Clean up the message and show
7786 the Fn information when on EFI
7787 * term/efi/console.c (grub_console_checkkey): Add F4 support.
7788
027de555
VS
77892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
7792 All users updated.
7793 * normal/crypto.c (read_crypto_list): Likewise.
7794 * normal/dyncmd.c (read_command_list): Likewise.
7795 * normal/term.c (read_terminal_list): Likewise.
7796 * normal/main.c (read_lists): Use explicit prefix.
7797 (read_lists_hook): Use read_lists.
7798 (grub_normal_execute): Likewise.
7799
47779711
VS
78002010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
7803 Reported by: Thomas Schmitt.
7804 Add -no-emul-boot to grub-mkisofs parameters.
7805
1118c32e
VS
78062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7807
7808 * font/font.c: Indented.
7809
7d652447
BC
78102010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
7811
7812 Elif support to GRUB script (by Deepak Vankadaru).
7813
7814 * tests/grub_script_if.in: New testcase.
7815 * conf/tests.rmk: Rule for new testcase.
7816 * script/parser.y: Grammar rules for elif.
7817
34bb22df
BC
78182010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
7819
7820 While and until loops support to GRUB script.
7821
7822 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
7823 (grub_script_create_cmdwhile): New function prototype.
7824 (grub_script_execute_cmdwhile): New function prototype.
7825 * script/execute.c (grub_script_execute_cmdwhile): New function.
7826 * script/parser.y (command): New commands.
7827 (whilecmd): New grammar rule.
7828 (untilcmd): New grammar rule.
7829 * script/script.c (grub_script_create_cmdwhile): New function.
7830 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
7831 function.
7832
7833 * tests/grub_script_while1.in: New testcase.
7834 * conf/tests.rmk: Rule for new testcase.
7835
e215d8e0
VS
78362010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
7839 as *.jpg.
7840
d7c43ba1
MV
78412010-04-09 Mario Vazquez <mariovazq@gmail.com>
7842
7843 GRUB_BACKGROUND support.
7844
7845 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
7846 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
7847
d64795c0
VS
78482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 7851 Idea by: Mario Vazquez
d64795c0
VS
7852
7853 * util/grub.d/00_header.in: Load pf2 and image modules.
7854
f267f83a
VS
78552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 grub-mkconfig multiple terminal support.
7858
7859 * util/grub-mkconfig.in: Handle multiple terminals correctly.
7860 * util/grub.d/00_header.in: Likewise.
7861
b7841ceb
VS
78622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * Makefile.in: Specify files explicitly instead of using $< and $@ since
7865 we use cd $(srcdir).
7866
df60998c
CW
78672010-04-08 Colin Watson <cjwatson@ubuntu.com>
7868
7869 * util/grub.d/10_linux.in: Only use the first word of
7870 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
7871 spaces in GRUB_DISTRIBUTOR.
7872 * util/grub.d/10_kfreebsd.in: Likewise.
7873 * util/grub.d/10_hurd.in: Likewise.
7874
fa09c82e
BC
78752010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
7876
14e18ae3 7877 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
7878
7879 * tests/util/grub-shell.in: Remove -serial stdio option.
7880
daf892b3
BC
78812010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 POSIX header file wrappers.
7884
7885 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
7886 equivalents.
7887 * lib/posix_wrap/ctype.h: Likewise.
7888 * lib/posix_wrap/errno.h: Likewise.
7889 * lib/posix_wrap/langinfo.h: Likewise.
7890 * lib/posix_wrap/limits.h: Likewise.
7891 * lib/posix_wrap/localcharset.h: Likewise.
7892 * lib/posix_wrap/stdint.h: Likewise.
7893 * lib/posix_wrap/stdio.h: Likewise.
7894 * lib/posix_wrap/stdlib.h: Likewise.
7895 * lib/posix_wrap/string.h: Likewise.
7896 * lib/posix_wrap/sys/types.h: Likewise.
7897 * lib/posix_wrap/unistd.h: Likewise.
7898 * lib/posix_wrap/wchar.h: Likewise.
7899 * lib/posix_wrap/wctype.h: Likewise.
7900 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
7901 (grub_script.yy.h): Likewise.
7902 * script/yylex.l: Remove POSIX emulation #defines.
7903 * Makefile.in (POSIX_CFLAGS): New variable.
7904 (GNULIB_UTIL_CFLAGS): Likewise.
7905
7906 Regexp support.
7907
7908 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
7909 (regexp_mod_SOURCES): New variable.
7910 (regexp_mod_CFLAGS): Likewise.
7911 (regexp_mod_LDFLAGS): Likewise.
7912 * commands/regexp.c: New file.
7913 * gnulib/regcomp.c: New file. Imported from gnulib.
7914 * gnulib/regex.c: Likewise.
7915 * gnulib/regex_internal.c: Likewise.
7916 * gnulib/regex_internal.h: Likewise.
7917 * gnulib/regexec.c: Likewise.
7918 * gnulib/regex.h: Likewise.
7919
974ac4f7
VS
79202010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
7923 unsupported video mode types.
7924
2622c3ff
VS
79252010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
7928
064cb524
VS
79292010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
7932 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
7933
a8c3b552
VS
79342010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 Remove unused grub_vga_get_font.
7937
7938 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
7939 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
7940
187bbe3d
GS
79412010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7942
7943 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
7944 * include/grub/misc.h: Likewise.
7945
b9396631
GS
79462010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7947
7948 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
7949 for which failure is fatal.
7950
50479feb
GS
79512010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7952
7953 * util/grub-install.in: Use mkdir -p to create grub directory.
7954 * util/i386/efi/grub-install.in: Likewise.
7955 * util/ieee1275/grub-install.in: Likewise.
7956
b1654fdf
GS
79572010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7958
7959 * Makefile.in (LEX): new variable.
7960
bd5a6415
GS
79612010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7962
7963 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
7964 `=' and added double quotes on operands of this equality test.
7965
3db3a82b
VS
79662010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * Makefile.in (uninstall): Remove a leftover debug echo.
7969 Reported by: Grégoire Sutre
7970
38023412
VS
79712010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 MIPS multiboot2 support.
7974
7975 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
7976 (multiboot2_mod_SOURCES): New variable.
7977 (multiboot2_mod_CFLAGS): Likewise.
7978 (multiboot2_mod_LDFLAGS): Likewise.
7979 (multiboot2_mod_ASFLAGS): Likewise.
7980 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
7981 definition.
7982 (MULTIBOOT_ENTRY_REGISTER): Likewise.
7983 (MULTIBOOT_MBI_REGISTER): Likewise.
7984 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
7985 (MULTIBOOT_ELF32_MACHINE): Likewise.
7986 (MULTIBOOT_ELF64_MACHINE): Likewise.
7987 * include/grub/mips/multiboot.h: New file.
7988 * include/grub/video.h (grub_video_driver_id): New type
7989 GRUB_VIDEO_DRIVER_SM712.
7990 (grub_video_get_info_and_fini): Export.
7991 (grub_video_get_palette): Likewise.
7992 (grub_video_get_driver_id): Likewise.
7993 * include/multiboot2.h: Resynced with spec.
7994 * loader/i386/multiboot.c: Moved from here ...
7995 * loader/multiboot.c: ... here. All users updated.
7996 (grub_multiboot_boot): Use platform-specific macros.
7997 * loader/i386/multiboot_elfxx.c: Moved from here ...
7998 * loader/multiboot_elfxx.c: ... here. All users updated.
7999 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
8000 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
8001 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
8002
47674667
VS
80032010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8004
8005 Import gnulib argp module.
8006
8007 * gnulib/argp-ba.c: New file.
8008 * gnulib/argp-eexst.c: Likewise.
8009 * gnulib/argp-fmtstream.c: Likewise.
8010 * gnulib/argp-fmtstream.h: Likewise.
8011 * gnulib/argp-fs-xinl.c: Likewise.
8012 * gnulib/argp-help.c: Likewise.
8013 * gnulib/argp-namefrob.h: Likewise.
8014 * gnulib/argp-parse.c: Likewise.
8015 * gnulib/argp-pin.c: Likewise.
8016 * gnulib/argp-pv.c: Likewise.
8017 * gnulib/argp-pvh.c: Likewise.
8018 * gnulib/argp-version-etc.c: Likewise.
8019 * gnulib/argp-version-etc.h: Likewise.
8020 * gnulib/argp-xinl.c: Likewise.
8021 * gnulib/argp.h: Likewise.
8022
495442ed
VS
80232010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 * kern/device.c (grub_device_iterate): Clear errors after failed
8026 opening device.
8027
f9fd65df
VS
80282010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
8031 returned by firmware.
8032
af09641e
VS
80332010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
8036 compilation on coreboot and qemu
8037
016883a5
VS
80382010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8039
8040 * include/multiboot2.h: Resync with spec.
8041
f97e1f7d
VS
80422010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 Multiboot2 tag support
8045
8046 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
8047 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
8048 Remove loader/multiboot_loader.c.
8049 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
8050 (grub_multiboot2_real_boot): Likewise.
8051 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
8052 (grub_get_multiboot_mmap_count): New proto.
8053 (grub_fill_multiboot_mmap): Likewise.
8054 (grub_multiboot_set_video_mode): Likewise.
8055 (grub_multiboot_set_console): Likewise.
8056 (grub_multiboot_load): Likewise.
8057 (grub_multiboot_load_elf): Likewise.
8058 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
8059 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
8060 * include/multiboot.h: Resynced with specification.
8061 * include/multiboot2.h: Resynced with specification.
8062 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
8063 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
8064 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
8065 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
8066 users updated.
8067 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
8068 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
8069 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
8070 Removed.
8071 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
8072 Moved from here...
8073 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
8074 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8075 Moved from here...
8076 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
8077 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
8078 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
8079 All users updated.
8080 * loader/i386/multiboot_mbi2.c: New file.
8081
3506b90b
VS
80822010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 Resync with gnulib.
8085
8086 * Makefile.in (GNULIB_CFLAGS): New variable.
8087 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
8088 (grub_script_check_CFLAGS): New variable.
8089 * gnulib/alloca.h: Resync with gnulib.
8090 * gnulib/error.c: Likewise.
8091 * gnulib/error.h: Likewise.
8092 * gnulib/fnmatch.c: Likewise.
8093 * gnulib/fnmatch_loop.c: Likewise.
8094 * gnulib/getdelim.c: Likewise.
8095 * gnulib/getline.c: Likewise.
8096 * gnulib/getopt.c: Likewise.
8097 * gnulib/getopt1.c: Likewise.
8098 * gnulib/getopt_int.h: Likewise.
8099 * gnulib/gettext.h: Likewise.
8100 * gnulib/progname.c: Likewise.
8101 * gnulib/progname.h: Likewise.
8102
394a3120
GS
81032010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
8104
8105 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
8106 which is the case with --disabled-nls.
8107
8108 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
8109 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
8110 * util/misc.c: Likewise.
8111 * util/mkisofs/mkisofs.c: Likewise.
8112 * util/mkisofs/mkisofs.h: Likewise.
8113
969d1c78
VS
81142010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 Simplify Apple CC support.
8117
8118 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
8119 Add 0 byte at the end not to have a symbol with empty target.
8120 * mmap/i386/pc/mmap_helper.S: Likewise.
8121 * genmk.rb: Ignore errors 2030 and 2050.
8122 * kern/i386/pc/startup.S: Use LOCAL when possible.
8123
8d2977bb
BC
81242010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
8125
8126 Testcase and the fix for final semicolon on cmdline.
8127
8128 * tests/grub_script_final_semicolon.in: New testcase.
8129 * conf/tests.rmk: Rules for the new testcase.
8130 * script/parser.y: Grammar fix.
8131
a7bd6915
BC
81322010-03-26 BVK Chaitanya <bvk@localhost>
8133
8134 Blank lines testcase for GRUB script.
8135
8136 * tests/grub_script_blanklines.in: New testcase.
8137 * conf/tests.rmk: Rules for the new testcase.
8138
e4ff6628
VS
81392010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 Don't use __FILE__.
8142
8143 * genmk.rb: Add -DGRUB_FILE to all C targets.
8144 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
8145 * include/grub/list.h: Likewise.
8146 * include/grub/misc.h: Likewise.
8147 * include/grub/mm.h: Likewise.
8148 * include/grub/test.h: Likewise.
8149 * kern/mm.c: Likewise.
8150 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
8151
6a5cf6b6
VS
81522010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8153
8154 Sunpc partitions support.
8155
8156 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
8157 (grub_fstest_SOURCES): Likewise.
8158 (pkglib_MODULES): Add part_sunpc.mod.
8159 (part_sunpc_mod_SOURCES): New variable.
8160 (part_sunpc_mod_CFLAGS): Likewise.
8161 (part_sunpc_mod_LDFLAGS): Likewise.
8162 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
8163 * partmap/sunpc.c: New file.
8164
746d9045
BC
81652010-03-26 BVK Chaitanya <bvk@localhost>
8166
8167 For loop support to GRUB script.
8168
8169 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
8170 (grub_script_create_cmdfor): New function prototype.
8171 (grub_script_execute_cmdfor): New function prototype.
8172 * script/execute.c (grub_script_execute_cmdfor): New function.
8173 * script/parser.y (command): New for command.
8174 (forcmd): New grammar rule.
8175 * script/script.c (grub_script_create_cmdfor): New function.
8176 * util/grub-script-check.c (grub_script_execute_cmdfor): New
8177 function.
8178 * tests/grub_script_for1.in: New testcase.
8179 * conf/tests.rmk: Rules for new testcase.
8180
18486b18
VS
81812010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 Nested partitions
8184
8185 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
8186 'partition' is NULL, grub_partition_get_start already does that.
8187 * commands/loadenv.c (check_blocklists): Likewise.
8188 (write_blocklists): Likewise.
8189 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
8190 (grub_fstest_SOURCES): Likewise.
8191 (pkglib_MODULES): Add part_bsd.mod.
8192 (part_bsd_mod_SOURCES): New variable.
8193 (part_bsd_mod_CFLAGS): Likewise.
8194 (part_bsd_mod_LDFLAGS): Likewise.
8195 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
8196 (grub_emu_SOURCES): Likewise.
8197 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8198 * include/grub/bsdlabel.h: New file.
8199 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
8200 'get_name'.
8201 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
8202 (grub_partition_map_list): New variable.
8203 (grub_partition_map_register): Inline.
8204 (grub_partition_map_unregister): Likewise.
8205 (FOR_PARTITION_MAPS): New macro.
8206 (grub_partition_map_iterate): Removed.
8207 (grub_partition_get_start): Handle nested partitions.
8208 * include/grub/msdos_partition.h: Remove bsd-related entries.
8209 (grub_pc_partition): Remove.
8210 * kern/disk.c (grub_disk_close): Free partition data.
8211 (grub_disk_adjust_range): Handle nested partitions.
8212 * kern/partition.c (grub_partition_map_probe): New function.
8213 (grub_partition_probe): Parse name to number, handle subpartitions.
8214 (get_partmap): New function.
8215 (grub_partition_iterate): Handle subpartitions.
8216 (grub_partition_get_name): Likewise.
8217 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
8218 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
8219 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
8220 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
8221 Set 'number'.
8222 (acorn_partition_map_probe): Remove.
8223 (acorn_partition_map_get_name): Likewise.
8224 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
8225 Set 'number'.
8226 Set 'index' to 0 since there can be only one partition entry per sector.
8227 (amiga_partition_map_probe): Remove.
8228 (amiga_partition_map_get_name): Likewise.
8229 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
8230 Set 'number'.
8231 Set 'offset' and 'index' to real positions of partitions.
8232 (apple_partition_map_probe): Remove.
8233 (apple_partition_map_get_name): Likewise.
8234 * partmap/bsdlabel.c: New file.
8235 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
8236 Set 'number'.
8237 Allocate 'data' so it can be correctly freed.
8238 Set 'index' to offset inside sector.
8239 (gpt_partition_map_probe): Remove.
8240 (gpt_partition_map_get_name): Likewise.
8241 * partmap/msdos.c (grub_partition_parse): Remove.
8242 (pc_partition_map_iterate): Don't force raw access.
8243 Set 'number'.
8244 Make 'ext_offset' a local variable.
8245 (pc_partition_map_probe): Remove.
8246 (pc_partition_map_get_name): Remove.
8247 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
8248 Set 'number'.
8249 (sun_partition_map_probe): Remove.
8250 (sun_partition_map_get_name): Likewise.
8251 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
8252 (grub_pcpart_type): Likewise.
8253 * util/hostdisk.c (open_device): Handle new numbering scheme.
8254 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
8255 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
8256 * util/grub-probe.c (probe_partmap): Handle nested paritions.
8257 * util/grub-install.in: Insert all subpartition modules.
8258 * util/ieee1275/grub-install.in: Likewise.
8259
a3940f88
AG
82602010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
8261
8262 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
8263 grammar.
8264
21b99926 82652010-03-24 Colin Watson <cjwatson@ubuntu.com>
8266
8267 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
8268
bed1d352
CW
82692010-03-21 Colin Watson <cjwatson@ubuntu.com>
8270
8271 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
8272 match where 'make install' puts them.
8273 * util/i386/efi/grub-install.in: Likewise.
8274
c9f58427
CW
82752010-03-19 Colin Watson <cjwatson@ubuntu.com>
8276
8277 * .bzrignore: Add gentrigtables, grub-script-check,
8278 grub_script_check_init.c, grub_script_check_init.h, and
8279 trigtables.c.
8280
f84afb27
VS
82812010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
8282
8283 * kern/parser.c: Indented.
8284
ed0e3d30
VS
82852010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
8288
0ea81d98
VS
82892010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
8292 alpha_mask_size == 0 case.
8293
0cdc2a09
BC
82942010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
8295
8296 GRUB shell lexer and parser improvements.
8297
8298 * conf/any-emu.rmk: Build rule updates.
8299 * conf/common.rmk: Likewise.
8300 * conf/i386-coreboot.rmk: Likewise.
8301 * conf/i386-efi.rmk: Likewise.
8302 * conf/i386-ieee1275.rmk: Likewise.
8303 * conf/i386-pc.rmk: Likewise.
8304 * conf/powerpc-ieee1275.rmk: Likewise.
8305 * conf/x86_64-efi.rmk: Likewise.
8306
8307 * configure.ac: Configure check for flex.
8308
8309 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
8310 types.
8311 (grub_lexer_param): Struct member updates.
8312 (grub_parser_param): Likewise.
8313 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
8314 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
8315 (grub_script_lexer_init): Prototype update.
8316 (grub_script_lexer_record_start): Likewise.
8317 (grub_script_lexer_record_stop): Likewise.
8318 (grub_script_lexer_yywrap): New function prototype.
8319 (grub_script_lexer_fini): Likewise.
8320 (grub_script_execute_argument_to_string): Removed by...
8321 (grub_script_execute_argument_to_argv): ...better version.
8322
8323 * script/execute.c (ROUND_UPTO): New macro.
8324 (grub_script_execute_cmdline): Out of memory fixes.
8325 (grub_script_execute_menuentry): Likewise.
8326 (grub_script_execute_argument_to_string): Removed. Update all
8327 users by...
8328 (grub_script_execute_argument_to_argv): ...better version.
8329 * script/function.c (grub_script_function_create): Use
8330 grub_script_execute_argument_to_argv instead of
8331 grub_script_execute_argument_to_string.
8332
8333 * script/lexer.c (check_varstate): Removed.
8334 (check_textstate): Removed.
8335 (grub_script_lexer_record_start): Likewise.
8336 (grub_script_lexer_record_stop): Likewise.
8337 (recordchar): Replaced with...
8338 (grub_script_lexer_record): ...new function.
8339 (nextchar): Removed.
8340 (grub_script_lexer_init): Rewritten.
8341 (grub_script_yylex): Rewritten.
8342 (append_newline): New function.
8343 (grub_script_lexer_yywrap): New function.
8344 (grub_script_lexer_fini): New function.
8345 (grub_script_yyerror): Sets error flag.
8346
8347 * script/yylex.l: New file.
8348 (grub_lexer_yyfree): Wrapper for flex yyffre.
8349 (grub_lexer_yyalloc): Likewise.
8350 (grub_lexer_yyrealloc): Likewise.
8351 * script/parser.y: Refactored.
8352
8353 * script/script.c (grub_script_arg_add): Out of memory fixes.
8354 (grub_script_add_arglist): Likewise.
8355 (grub_script_create_cmdline): Likewise.
8356 (grub_script_create_cmdmenu): Likewise.
8357 (grub_script_add_cmd): Likewise.
8358 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
8359 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
8360 unnecessary code.
8361
8362 * tests/grub_script_echo1.in: New testcase.
8363 * tests/grub_script_vars1.in: New testcase.
8364 * tests/grub_script_echo_keywords.in: New testcase.
8365
1d63a066
VS
83662010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 Remove some redundancy in build system.
8369
8370 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
8371 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
8372 (TARGET_LDFLAGS): Add -nostdlib.
8373 (TARGET_IMG_LDFLAGS): Likewise.
8374 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
8375 anything since mmap isn't available.
8376 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
8377 Add util/time.c.
8378 (pkglib_MODULES): Remove reboot.mod.
8379 (reboot_mod_SOURCES): Removed.
8380 (reboot_mod_CFLAGS): Likewise.
8381 (reboot_mod_LDFLAGS): Likewise.
8382 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
8383 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
8384 (DEFSYMFILES): Add kernel_syms.lst.
8385 (kernel_img_HEADERS): Add common headers.
8386 (symlist.c): New target.
8387 (kernel_syms.lst): Likewise.
8388 (pkglib_MODULES): Add memdisk.mod.
8389 (memdisk_mod_SOURCES): New variable.
8390 (memdisk_mod_CFLAGS): Likewise.
8391 (memdisk_mod_LDFLAGS): Likewise.
8392 (pkglib_MODULES): Add reboot.mod.
8393 (reboot_mod_SOURCES): New variable.
8394 (reboot_mod_CFLAGS): Likewise.
8395 (reboot_mod_LDFLAGS): Likewise.
8396 (pkglib_MODULES): Add date.mod.
8397 (date_mod_SOURCES): New variable.
8398 (date_mod_CFLAGS): Likewise.
8399 (date_mod_LDFLAGS): Likewise.
8400 (pkglib_MODULES): Add datehook.mod.
8401 (datehook_mod_SOURCES): New variable.
8402 (datehook_mod_CFLAGS): Likewise.
8403 (datehook_mod_LDFLAGS): Likewise.
8404 (pkglib_MODULES): Add lsmmap.mod.
8405 (lsmmap_mod_SOURCES): New variable.
8406 (lsmmap_mod_CFLAGS): Likewise.
8407 (lsmmap_mod_LDFLAGS): Likewise.
8408 (pkglib_MODULES): Add boot.mod.
8409 (boot_mod_SOURCES): New variable.
8410 (boot_mod_CFLAGS): Likewise.
8411 (boot_mod_LDFLAGS): Likewise.
8412 * conf/i386-coreboot.rmk: Removed redundant parts.
8413 * conf/i386-ieee1275.rmk: Likewise.
8414 * conf/i386-pc.rmk: Likewise.
8415 * conf/mips-yeeloong.rmk: Likewise.
8416 * conf/mips.rmk: Likewise.
8417 * conf/powerpc-ieee1275.rmk: Likewise.
8418 * conf/sparc64-ieee1275.rmk: Likewise.
8419 * conf/x86_64-efi.rmk: Likewise.
8420 * conf/i386-coreboot.rmk: Moved qemu parts ..
8421 * conf/i386-qemu.rmk: ... here
8422 * conf/i386-efi.rmk: Moved common parts to...
8423 * conf/x86-efi.rmk: ... here.
8424 * conf/i386.rmk: Added modules common to all x86 variants.
8425 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
8426 * disk/memdisk.c: Remove grub/machine/kernel.h.
8427 * gensymlist.sh.in: Include symbol.h.
8428 * hook/datehook.c: Correct module name.
8429 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
8430 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
8431 * include/grub/i386/efi/serial.h: New file.
8432 * include/grub/x86_64/efi/serial.h: Likewise.
8433 * util/time.c: Likewise.
8434 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
8435
463ac55f
CK
84362010-03-14 Colin King <colin.king@ubuntu.com>
84372010-03-14 Colin Watson <cjwatson@ubuntu.com>
8438
8439 Shrink the pre-partition-table part of boot.img by eight bytes.
8440
8441 * boot/i386/pc/boot.S (ERR): New macro.
8442 (chs_mode): Use ERR.
8443 (geometry_error): Likewise.
8444 (hd_probe_error): Remove. This is only used once, so we wrwite
8445 it inline instead.
8446 (read_error): Instead of printing read_error_string, just set up
8447 %si and fall through to ...
8448 (error_message): ... this new function, also used by ERR.
8449
08e46ede
CW
84502010-03-14 Colin Watson <cjwatson@ubuntu.com>
8451
8452 Speed up consecutive hostdisk operations on the same device.
8453
8454 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
8455 (grub_util_biosdisk_open): Initialise disk->data.
8456 (struct linux_partition_cache): New structure.
8457 (linux_find_partition): Cache partition start positions; these are
8458 expensive to compute on every read and write.
8459 (open_device): Cache open file descriptor in disk->data, so that we
8460 don't have to reopen it and flush the buffer cache for consecutive
8461 operations on the same device.
8462 (grub_util_biosdisk_close): New function.
8463 (grub_util_biosdisk_dev): Set `close' member.
8464
8465 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
8466 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
8467 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8468 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
8469 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
8470
4a6d2d06
VS
84712010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 Compile parts of grub-emu as modules.
8474
8475 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
8476 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
8477 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
8478 (all-local): Add $(GRUB_EMU).
8479 (install-local): Install $(GRUB_EMU).
8480 (uninstall): Uninstall $(GRUB_EMU).
8481 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
8482 * kern/dl.c: Likewise.
8483 * commands/sleep.c: Not include machine/time.h.
8484 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
8485 (COMMON_CFLAGS): Likewise.
8486 (sbin_UTILITIES): Remove grub-emu.
8487 (grub_emu_SOURCES): Removed.
8488 (kernel_img_RELOCATABLE): New variable.
8489 (pkglib_PROGRAMS): Add kernel.img.
8490 (kernel_img_SOURCES): New variable
8491 (kernel_img_CFLAGS): Likewise.
8492 (kernel_img_LDFLAGS): Likewise.
8493 (TARGET_NO_STRIP): Likewise.
8494 (TARGET_NO_DYNAMIC_MODULES): Likewise.
8495 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
8496 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
8497 (grub-emu): New target.
8498 (GRUB_EMU): New variable.
8499 * configure.ac: Whitelist -emu as possible x86_64 architecture.
8500 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
8501 * loader/xnu.c: Likewise.
8502 * include/grub/pci.h: Likewise.
8503 * genemuinit.sh: New file.
8504 * genemuinitheader.sh: Likewise.
8505 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
8506 Support TARGET_NO_DYNAMIC_MODULES.
8507 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
8508 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
8509 * disk/loopback.c: Likewise.
8510 * font/font_cmd.c: Likewise.
8511 * partmap/acorn.c: Likewise.
8512 * partmap/amiga.c: Likewise.
8513 * partmap/apple.c: Likewise.
8514 * partmap/gpt.c: Likewise.
8515 * partmap/msdos.c: Likewise.
8516 * partmap/sun.c: Likewise.
8517 * parttool/msdospart.c: Likewise.
8518 * term/gfxterm.c: Likewise.
8519 * video/bitmap.c: Likewise.
8520 * video/readers/jpeg.c: Likewise.
8521 * video/readers/png.c: Likewise.
8522 * video/readers/tga.c: Likewise.
8523 * video/video.c: Likewise.
8524 * util/grub-emu.c (read_command_list): Removed.
8525 (main): Don't call util_init_nls.
8526 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
8527 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
8528
91fdd2ed
VS
85292010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
8532 date.mod, datehook.mod.
8533 (datetime_mod_SOURCES): New variable.
8534 (datetime_mod_CFLAGS): Likewise.
8535 (datetime_mod_LDFLAGS): Likewise.
8536 (date_mod_SOURCES): Likewise.
8537 (date_mod_CFLAGS): Likewise.
8538 (date_mod_LDFLAGS): Likewise.
8539 (datehook_mod_SOURCES): Likewise.
8540 (datehook_mod_CFLAGS): Likewise.
8541 (datehook_mod_LDFLAGS): Likewise.
8542 * conf/sparc64-ieee1275.rmk: Likewise.
8543 * lib/ieee1275/datetime.c: New file.
8544
873ccae6
VS
85452010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
8548 (ieee1275_fb_mod_SOURCES): New variable.
8549 (ieee1275_fb_mod_CFLAGS): Likewise.
8550 (ieee1275_fb_mod_LDFLAGS): Likewise.
8551 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
8552 New proto.
8553 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
8554 (HEAP_MAX_ADDR): Likewise.
8555 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
8556 type.
8557 Correct stop condition.
8558 (grub_ieee1275_devices_iterate): New function.
8559 * video/ieee1275.c: New file.
8560
601c97c0
VS
85612010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8562
8563 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
8564
8565 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
8566 as scratch.
8567 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
8568 SCRATCH_PAD_DISKBOOT as scratch.
8569 (bootit): Pass Openfirmware pointer in %o4.
8570 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
8571 of 0x200000.
8572 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
8573 with util/grub-mkrawimage.c.
8574 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
8575 * include/grub/aout.h (AOUT_MID_SUN): New definition.
8576 (grub_aout_get_type) [GRUB_UTIL]: Removed.
8577 (grub_aout_load) [GRUB_UTIL]: Likewise.
8578 * include/grub/kernel.h (grub_modules_get_end): New proto.
8579 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
8580 (SCRATCH_PAD_BOOT): New definition.
8581 (SCRATCH_PAD_DISKBOOT): Likewise.
8582 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
8583 * include/grub/sparc64/ieee1275/ieee1275.h
8584 (grub_ieee1275_original_stack): New variable
8585 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
8586 New definition
8587 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
8588 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
8589 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
8590 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
8591 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
8592 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
8593 (grub_platform_image_format_t): New type.
8594 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
8595 * kern/main.c (grub_modules_get_end)
8596 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
8597 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
8598 (codestart): Switch stacks.
8599 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
8600 variable.
8601 (grub_heap_init): Use grub_modules_get_end.
8602 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
8603 stack.
8604 * util/grub-mkrawimage.c (generate_image): Support sparc64.
8605 (main): Likewise.
8606 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
8607
d68b491e
TG
86082010-03-14 Thorsten Glaser <tg@mirbsd.org>
8609
8610 * util/grub-mkrescue.in: Base ISO UUID on UTC.
8611
4e02ed50
MK
86122010-03-08 Matt Kraai <kraai@ftbfs.org>
8613
8614 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
8615 bug #559005).
8616
1f15fc1e
VS
86172010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
8618
8619 * genmoddep.awk: Output all missing symbols and not only first.
8620
fce5d8ff
VS
86212010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * NEWS: Put the date of 1.98 release.
8624
d1e8a02f
VS
86252010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
8628 ft2build.h.
8629
696fd607
VS
86302010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
8633 completition in the middle of string.
8634
33e2e6f3
VS
86352010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * util/grub-mkrescue.in: Use mktemp with explicit template.
8638
b1f6d291
VS
86392010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
8642
2ac227c7
VS
86432010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
8646 right pointer.
8647
8f9a632b
VS
86482010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 Fix FreeBSD compilation.
8651
8652 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
8653 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
8654
60b03859
VS
86552010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
8658
48a5a769
VS
86592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8660
8661 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
8662
3ab4bd77
VS
86632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
8666
d116e0d8
RM
86672010-03-04 Robert Millan <rmh.grub@aybabtu.com>
8668
8669 Support relative image path in theme file.
8670
8671 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
8672 (image_set_property): Handle theme_dir and relative path.
8673
c7ef54aa
VS
86742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8675
8676 * configure.ac: Alias amd64 to x86_64.
8677
fcee14ed
VS
86782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 * NEWS: mention multiboot on EFI.
8681
d0780363
VS
86822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * kern/main.c (grub_load_modules): Handle errors from init functions of
8685 embeded modules.
8686
41168ea4
VS
86872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 * normal/autofs.c (autoload_fs_module): Handle errors.
8690
b54d93ac
VS
86912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 Disable linux.mod on qemu-mips since it's not functional and leads
8694 to compilation failure.
8695
8696 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
8697 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
8698 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
8699 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
8700 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
8701 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
8702 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
8703 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
8704 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
8705 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
8706 Reported by: BVK Chaitanya
8707
fc8345da
JU
87082010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
8709
8710 * INSTALL: Add gettext as a dependency and add qemu to a new section
8711 "Prerequisites for make-check".
8712
4760f979
CF
87132010-03-04 Christian Franke <franke@computer.org>
8714
8715 * util/grub-pe2elf.c: Add missing include "progname.h".
8716
f209b5b2
VS
87172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 * normal/crypto.c (read_crypto_list): Fix a typo.
8720 Reported by: Seth Goldberg.
8721
b4b7be98
VS
87222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 8725 Reported by: Seth Goldberg.
b4b7be98 8726
c0ee0385
VS
87272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
8730 ascii.bitmaps.
8731
a8efbf64
VS
87322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 8735 Reported by: Seth Goldberg.
a8efbf64 8736
08dcd913
VS
87372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 * util/i386/efi/grub-install.in: Copy gettext files.
8740
c4d0b332
VS
87412010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
8744
c6f2fe52
VS
87452010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 Wait for user entry basing on presence of output rather than on errors.
8748
8749 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
8750 (grub_install_newline_hook): Likewise.
8751 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
8752 * normal/menu.c (show_menu): Check line_counter to determine presence
8753 of output.
8754 * normal/term.c (grub_normal_line_counter): New variable.
8755 (grub_normal_get_line_counter): New function.
8756 (grub_install_newline_hook): Likewise.
8757
5382b1e4
VS
87582010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
8761
5519963b
VS
87622010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 * configure.ac: Update version to 1.98.
8765
72b28631
VS
87662010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8767
8768 * util/grub.d/10_linux.in (linux_entry): Don't default to
8769 gfxpayload=keep if Linux doesn't support video handover.
8770
c140a180
VS
87712010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8772
8773 Don't compile video modules on yeeloong since video subsystem is part
8774 of kernel.
8775
8776 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
8777 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
8778 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
8779 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
8780 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
8781 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
8782 * include/grub/bitmap_scale.h: Likewise.
8783 * include/grub/bufio.h: Likewise.
8784 * include/grub/font.h: Likewise.
8785 * include/grub/gfxterm.h: Likewise.
8786 * include/grub/video.h: Likewise.
8787 * include/grub/vbe.h: Don't include video_fb.h.
8788 * video/i386/pc/vbe.c: Include video_fb.h.
8789 * commands/i386/pc/vbetest.c: Include video.h.
8790
a0ca21c2
CW
87912010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
8792
8793 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
8794 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
8795 default entry if GRUB_SAVEDEFAULT=true. This allows using
8796 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
8797 saving a new default on every boot.
8798
4a8a763c
VS
87992010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8800
8801 * normal/crypto.c (read_crypto_list): Fix a memory leak.
8802 * normal/term.c (read_terminal_list): Likewise.
8803 * normal/main.c (grub_normal_init_page): Likewise.
8804 (grub_normal_read_line_real): Likewise.
8805
607ffde2
VS
88062010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
8809 memory leak.
8810 Reported by: Seth Goldberg.
8811
2b8fa975
CW
88122010-02-24 Joey Korkames <joey+lists@kidfixit.com>
8813
8814 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
8815 duplicate declaration of `start'.
8816
618307dd
VS
88172010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
8820 filename.
8821 Reported by: Georgy Buranov
8822
7dd05b96 88232010-02-20 Carles Pina i Estany <carles@pina.cat>
8824
8825 * util/grub-mkrawimage.c (usage): Change string formatting to
8826 improve gettext.
8827
d1484a42
MRA
88282010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
8829
8830 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
8831 backspace keys.
8832
42b1d186
VS
88332010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
8836 Reported by: Michael Suchanek.
8837
88382010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
8839
8840 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
8841 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
8842
d9f31a41
VS
88432010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 Remove any reference to non-free fonts.
8846
8847 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
8848 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
8849 uses non-free components.
8850 * font/font.c (grub_font_get_name): Remove example name.
8851 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
8852 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8853 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
8854 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
8855
2793c71e
GB
88562010-02-16 Georgy Buranov <gburanov@gmail.com>
8857
8858 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
8859
402e3779
VS
88602010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
8863 Double divisor.
8864 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
8865 features.
8866 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
8867
0dd1e0dd
VS
88682010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * gensymlist.sh.in: Use TARGET_CC instead of CC.
8871
6fa7cfce
ST
88722010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8873
8874 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
8875 * docs/grub.texi (Command-line and menu entry commands): Document play
8876 command.
8877
37c8483b
ST
88782010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8879
8880 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
8881 parse arguments as inline tempo and notes. Move code for playing notes
8882 to...
8883 (play): ... new function.
8884
14da0fb7
ST
88852010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8886
8887 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
8888 grub_uint16_t instead of short.
8889 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
8890 disk from little endian to cpu endianness.
8891
04459e70
ST
88922010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
8893
8894 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
8895 GRUB_TICKS_PER_SECOND instead of 120.
8896
a0876943
VS
88972010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8898
8899 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
8900 escape sequence after \e.
8901
e29f95dc
VS
89022010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
8905 non-ASCII characters.
8906
d27859b2
VS
89072010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
8910 set root in single quotes to prevent \, from being unescaped.
8911
bc028f2f
VS
89122010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 Prevent unknown commands from stopping menuentry execution.
8915
8916 * script/execute.c (grub_script_execute_cmdline): Print error after
8917 unknown command.
8918
095f5f82
VS
89192010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
8922 Reported by: Pavel Pisa.
8923
8c717950
VS
89242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
8927
904935c3
VS
89282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8929
8930 Merge grub_ieee1275_map_physical into grub_map and rename to
8931 grub_ieee1275_map
8932
8933 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
8934 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
8935 Remove.
8936 * kern/ieee1275/openfw.c (grub_map): Rename to ...
8937 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
8938 necessary.
8939 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
8940
5b59a4e3
VS
89412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
8944 opening and not after.
8945
69e137e8
VS
89462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
8949 constants.
8950
2c0fcc36
VS
89512010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
8954 (alloc_phys): Use ALIGN_UP instead of align_addr.
8955
8c6052ce
VS
89562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8957
8958 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
8959
17cec782
VS
89602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
8963
e0128bbd
VS
89642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
8967 verbose dprintf.
8968
ca62070b
VS
89692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 Fix over-4GiB seek on sparc64.
8972
8973 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
8974 Replace pos_i and pos_lo with pos. All users updated.
8975 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8976 New constant.
8977 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8978 Likewise.
8979 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
8980 and pos_lo.
8981
bdca2607
VS
89822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * util/grub-mkrawimage.c (main): Call set_program_name.
8985
da278c4d
VS
89862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 Properly align 64-bit targets.
8989
8990 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
8991 (generate_image): Use ALIGN_ADDR.
8992
b274d734
VS
89932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8994
8995 Properly create cross-endian images.
8996
8997 * include/grub/types.h (grub_host_to_target_addr): New macro
8998 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
8999
82da2062
VS
90002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
9003
7cae4377
VS
90042010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9005
9006 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
9007
9008 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
9009 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
9010 (grub_linux_boot): Divide by 64K when on VESA.
9011
65a533e7
VS
90122010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 Support GRUB_GFXPAYLOAD_LINUX.
9015
9016 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
9017 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
9018
dd01d397
VS
90192010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
9022 to show messages instead of discarding them.
9023 Process errors after executing command and not before. Keep old method
9024 too as precaution.
9025
660960d6
VS
90262010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9027
9028 * configure.ac: Check for ft2build.h.
9029
62509f04
VS
90302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
9033
473df63d
VS
90342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * genkernsyms.sh.in: Use TARGET_CC.
9037
c98d2a13
CW
90382010-02-07 Colin Watson <cjwatson@ubuntu.com>
9039
9040 * NEWS: Update.
9041
6e14234c
VS
90422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
9045 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
9046 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 9047
b255e9cf
YB
90482010-02-07 Yves Blusseau <blusseau@zetam.org>
9049
6e14234c 9050 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 9051
98e6959d
VS
90522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 Fix warnings in grub-emu when compiling with maximum warning options.
9055
9056 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
9057 (grub_arch_modules_addr): Return 0 and not NULL.
9058 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 9059 (xstrdup): Use newstr instead of dup.
f88d801b
VS
9060 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
9061 of disk to dsk to avoid shadowing.
74e4934e
VS
9062 (find_free_slot): Fix prototype.
9063 * util/getroot.c (grub_util_is_dmraid): Make static.
9064 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
9065 Add missing prototype.
9066 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 9067
74e31b5c
VS
90682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 * loader/i386/linux.c (grub_linux_setup_video): Handle error
9071 appropriately.
9072
6b2ad14b
VS
90732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
9076 code out.
9077
8f891adc
VS
90782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
9081 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
9082 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
9083 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
9084 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
9085 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
9086
74b45184
VS
90872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9088
9089 * include/grub/err.h (grub_err_printf): Don't export.
9090
a4bced77
VS
90912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
9094
007d0695
VS
90952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * include/grub/i18n.h (grub_gettext_dummy): Removed.
9098 * kern/misc.c (grub_gettext_dummy): Make static.
9099
b6c0d9c2
VS
91002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
9103 by non-valid ones.
9104 * kern/term.c (grub_putchar): Likewise.
9105
f51a90d0
VS
91062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
9109 buggy hook call and memory leak.
9110
6846cec5
VS
91112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9112
9113 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
9114
468d69fe
VS
91152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
9118
51906b8c
VS
91192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9120
9121 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
9122 modevar.
9123 Return grub_errno on allocation error.
9124
09706ce5
VS
91252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
9128
911df80c
YB
91292010-02-06 Yves Blusseau <blusseau@zetam.org>
9130
9131 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
9132 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
9133
3746a6bc
VS
91342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
9137 non-pxe disk.
9138 (grub_pxefs_open): Likewise.
9139
09706ce5
VS
91402010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9141
9142 * util/grub.d/10_hurd.in: Add --class information to menuentries.
9143 * util/grub.d/10_kfreebsd.in: Likewise.
9144 * util/grub.d/10_linux.in: Likewise.
9145
7cc192d9
VS
91462010-02-06 Colin D Bennett <colin@gibibit.com>
9147
9148 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
9149 (gfxmenu_mod_SOURCES): New variable.
9150 (gfxmenu_mod_CFLAGS): Likewise.
9151 (gfxmenu_mod_LDFLAGS): Likewise.
9152 * include/grub/term.h (grub_term_set_current_output): Declare
9153 argument as const.
9154 * docs/gfxmenu-theme-example.txt: New file.
9155 * gfxmenu/gfxmenu.c: Likewise.
9156 * gfxmenu/gui_box.c: Likewise.
9157 * gfxmenu/gui_canvas.c: Likewise.
9158 * gfxmenu/gui_circular_progress.c: Likewise.
9159 * gfxmenu/gui_image.c: Likewise.
9160 * gfxmenu/gui_label.c: Likewise.
9161 * gfxmenu/gui_list.c: Likewise.
9162 * gfxmenu/gui_progress_bar.c: Likewise.
9163 * gfxmenu/gui_string_util.c: Likewise.
9164 * gfxmenu/gui_util.c: Likewise.
9165 * gfxmenu/icon_manager.c: Likewise.
9166 * gfxmenu/model.c: Likewise.
9167 * gfxmenu/named_colors.c: Likewise.
9168 * gfxmenu/theme_loader.c: Likewise.
9169 * gfxmenu/view.c: Likewise.
9170 * gfxmenu/widget-box.c: Likewise.
9171 * include/grub/gfxmenu_model.h: Likewise.
9172 * include/grub/gfxmenu_view.h: Likewise.
9173 * include/grub/gfxwidgets.h: Likewise.
9174 * include/grub/gui.h: Likewise.
9175 * include/grub/gui_string_util.h: Likewise.
9176 * include/grub/icon_manager.h: Likewise.
9177
91782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 Agglomerate scrolling in gfxterm.
9181
9182 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
9183 (grub_virtual_screen_setup): Initialise 'total_screen'.
9184 (write_char): Split to ...
9185 (paint_char): ... this ...
9186 (write_char): ... and this.
9187 (paint_char): Handle delayed scrolling.
9188 (draw_cursor): Likewise.
9189 (scroll_up): Split to ...
9190 (real_scroll): ... this ...
9191 (scroll_up): ... and this.
9192 (real_scroll): Handle multi-line scroll and draw below-the-bottom
9193 characters.
9194 (grub_gfxterm_refresh): Call real_scroll.
9195
91962010-02-06 Colin D Bennett <colin@gibibit.com>
9197
9198 * include/grub/misc.h (grub_iscntrl): New inline function.
9199 (grub_isalnum): Likewise.
9200 (grub_strtol): Likewise.
9201
92022010-02-06 Colin D Bennett <colin@gibibit.com>
9203
9204 * normal/menu_text.c (get_entry_number): Move from here ...
9205 * normal/menu.c (get_entry_number): ... moved here.
9206 * include/grub/menu.h (grub_menu_get_default_entry_index):
9207 New prototype.
9208 * normal/menu.c (grub_menu_get_default_entry_index): New function.
9209 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
9210 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
9211 (grub_menu_viewer_should_return): Likewise.
9212 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
9213 * normal/menu_text.c (run_menu): Enable menu switching.
9214 * normal/menu_viewer.c (should_return): New variable.
9215 (menu_viewer_changed): Likewise.
9216 (grub_menu_viewer_show_menu): Handle menu viewer changes.
9217 (grub_menu_viewer_should_return): New function.
9218 (menuviewer_write_hook): Likewise.
9219 (grub_menu_viewer_init): Likewise.
9220
92212010-02-06 Colin D Bennet <colin@gibibit.com>
92222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 Support for gfxterm in a window.
9225
9226 * include/grub/gfxterm.h: New file.
9227 * include/grub/video.h (struct grub_video_rect): New declaration.
9228 (grub_video_rect_t): Likewise.
9229 * term/gfxterm.c (struct grub_gfxterm_window): New type.
9230 (refcount): New variable.
9231 (render_target): Likewise.
9232 (window): Likewise.
9233 (repaint_callback): Likewise.
9234 (grub_virtual_screen_setup): Use 'render_target'.
9235 (init_window): New function.
9236 (grub_gfxterm_init_window): Likewise.
9237 (grub_gfxterm_init): Check reference counter.
9238 Use init_window.
9239 (destroy_window): New function.
9240 (grub_gfxterm_destroy_window): Likewise.
9241 (grub_gfxterm_fini): Check reference counter.
9242 Use destroy_window.
9243 (redraw_screen_rect): Restore viewport.
9244 Use 'render_target' and 'window'.
9245 Call 'repaint_callback'.
9246 (write_char): Use 'render_target'.
9247 (draw_cursor): Likewise.
9248 (scroll_up): Restore viewport.
9249 Use 'render_target' and 'window'.
9250 Call 'repaint_callback'.
9251 (grub_gfxterm_cls): Likewise.
9252 (grub_gfxterm_refresh): Use 'window'.
9253 (grub_gfxterm_set_repaint_callback): New function.
9254 (grub_gfxterm_background_image_cmd): Use 'window'.
9255 (grub_gfxterm_get_term): New function.
9256 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
9257
92582010-02-06 Colin D Bennett <colin@gibibit.com>
9259
9260 Bitmap scaling support.
9261
9262 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
9263 (bitmap_scale_mod_SOURCES): New variable.
9264 (bitmap_scale_mod_CFLAGS): Likewise.
9265 (bitmap_scale_mod_LDFLAGS): Likewise.
9266 * include/grub/bitmap_scale.h: New file.
9267 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
9268 (background_image_cmd_options): New variable.
9269 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
9270 (cmd): Rename and change type to ...
9271 (background_image_cmd_handle): ... this. All users updated.
9272 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
9273 * video/bitmap_scale.c: New file.
9274
92752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 SDL support.
9278
9279 * Makefile.in (LIBSDL): New variable.
9280 (enable_grub_emu_sdl): Likewise.
9281 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
9282 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
9283 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
9284 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
9285 * util/sdl.c: New file.
9286
92872010-02-06 Colin D Bennett <colin@gibibit.com>
92882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 Double buffering support.
9291
9292 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
9293 * include/grub/video.h: Update comment.
9294 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
9295 New type.
9296 (grub_video_fb_doublebuf_blit_init): New prototype.
9297 * term/gfxterm.c (scroll_up): Support double buffering.
9298 (grub_gfxterm_refresh): Likewise.
9299 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
9300 (grub_video_fb_doublebuf_blit_init): Likewise.
9301 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
9302 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
9303 'displayed_page', 'render_page' and 'update_screen'.
9304 (grub_video_vbe_fini): Free offscreen buffer.
9305 (doublebuf_pageflipping_commit): New function.
9306 (doublebuf_pageflipping_update_screen): Likewise.
9307 (doublebuf_pageflipping_init): Likewise.
9308 (double_buffering_init): Likewise.
9309 (grub_video_vbe_setup): Enable doublebuffering.
9310 (grub_video_vbe_swap_buffers): Implement.
9311 (grub_video_vbe_set_active_render_target): Handle double buffering.
9312 (grub_video_vbe_get_active_render_target): Likewise.
9313 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
9314 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
9315 (grub_video_vbe_enable_double_buffering): Likewise.
9316 (grub_video_vbe_swap_buffers): Use update_screen.
9317 (grub_video_set_mode): Use double buffering.
9318
93192010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9320
9321 * maintainance/gentrigtables.py: Remove.
9322 * lib/trig.c: Likewise.
9323
9324 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
9325
9326 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
9327 `trigtables.c'.
9328 (trigtables.c): New rule.
9329 (gentrigtables): Likewise.
9330 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
9331
93322010-02-06 Robert Millan <rmh.grub@aybabtu.com>
9333
9334 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
9335 integer constants.
9336
93372010-02-06 Colin D Bennet <colin@gibibit.com>
9338
9339 Trigonometry support.
9340
9341 * include/grub/trig.h: New file.
9342 * lib/trig.c: Likewise.
9343 * maintainance/gentrigtables.py: Likewise.
9344 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
9345 (trig_mod_SOURCES): New variable.
9346 (trig_mod_CFLAGS): Likewise.
9347 (trig_mod_LDFLAGS): Likewise.
9348
5562834e
VS
93492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
9352 disk devices.
9353
4f8528fc
VS
93542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9355
9356 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
9357 error.
9358
2b4068e9
VS
93592010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * util/hostdisk.c (open_device): Don't use partition device when reading
9362 before the partition.
9363 (grub_util_biosdisk_read): Don't read from partition and before the
9364 partition in single operation.
9365 (grub_util_biosdisk_write): Don't write to partition and before the
9366 partition in single operation.
9367
399f6e4d
TL
93682010-02-03 Torsten Landschoff <torsten@debian.org>
9369
9370 * kern/disk.c (grub_disk_read): Fix offset computation when reading
9371 last sectors.
9372
996649b0
VS
93732010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
9376 CDROM reads.
9377 (grub_biosdisk_write): Refuse to write to CDROM.
9378
3b205d4d
VS
93792010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
9382
61e89d9d
VS
93832010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 * font/font.c (find_glyph): Check that bmp_idx is available before
9386 using it.
9387 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
9388 with (font == NULL).
9389
bf7fcba2
CS
93902010-01-28 Christian Schmitt <chris@ilovelinux.de>
9391
9392 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
9393
f45d2663
BC
93942010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
9395
9396 * include/grub/script_sh.h (sourcecode): Add const qualifier.
9397 * util/grub-script-check.c (getline): Fix empty lines case.
9398
ec1444e6
RM
93992010-01-28 Robert Millan <rmh.grub@aybabtu.com>
9400
9401 * Makefile.in (check): Exit with fail status when one of the tests
9402 fails.
9403 * tests/example_functional_test.c (example_test): Fix reversed assert.
9404 * tests/example_unit_test.c (example_test): Likewise.
9405
2e1cb9bb
CW
94062010-01-28 Colin Watson <cjwatson@ubuntu.com>
9407
9408 * util/grub.d/10_linux.in: This script does not use any of the
9409 contents of gettext.sh, only the external command `gettext', so stop
9410 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
9411 the same prefix as GRUB.)
9412 * util/grub.d/10_kfreebsd.in: Likewise.
9413
63533ab0
VS
94142010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
9417 of the line.
9418
989e1f93
VS
94192010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 * kern/disk.c (grub_disk_read): Fix offset computation when reading
9422 last sectors.
9423
e709ebe2
VS
94242010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
9427 having a 4KiB and not 32KiB buffer size.
9428
27dea7ed
RM
94292010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9430
9431 * util/hostfs.c: Include `<errno.h>'.
9432 (grub_hostfs_read): Handle errors from fseeko() and fread().
9433
67667b9c
RM
94342010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9435
9436 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
9437 loop when using read hooks on files whose size isn't sector-aligned.
9438
c294d9d8
RM
94392010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9440
9441 Remove unused parameter.
9442
9443 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
9444 (grub_iso9660_open): Remove initialization of `data->length'.
9445
af75a9f1
RM
94462010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9447
9448 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
9449 memleak conditions.
9450
254e2ce5 94512010-01-27 Carles Pina i Estany <carles@pina.cat>
9452
9453 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
9454 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
9455
b510928c 94562010-01-26 Carles Pina i Estany <carles@pina.cat>
9457
9458 * util/bin2h.c (usage): Fix warning (space after backslash).
9459
aa2f9dd2 94602010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 9461
9462 * font/font.c: Include `grub/fontformat.h.
9463 Remove font file format constants.
9464 (grub_font_load): Use the new macros.
9465 * include/grub/fontformat.h: New file.
9466 * util/grub-mkfont.c: Include `grub/fontformat.c'.
9467 (write_font_pf2): Use the new macros.
9468
94e7e712
RM
94692010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9470
9471 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
9472 does.
9473
3973a59a
RM
94742010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9475
9476 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
9477
9478 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
9479 (_start): Macroify `0x7F'.
9480
9481 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
9482 (make_install_device): Use "(pxe)" as fallback prefix when booting
9483 via PXE.
9484
42e0cba3
GS
94852010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9486
9487 * configure.ac: Reset LIBS after check for libgcc symbols.
9488
847effd8
CW
94892010-01-25 Colin Watson <cjwatson@ubuntu.com>
9490
9491 * util/hostdisk.c (open_device): Add trailing newline to debug
9492 message.
9493
ea4a7e35
GS
94942010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
9495
9496 * configure.ac: Check for `limits.h'.
9497 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
9498
67951a53
RM
94992010-01-24 Robert Millan <rmh.grub@aybabtu.com>
9500
9501 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
9502 capitalize error strings.
9503
c273d4ce
ST
95042010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
9505
9506 * util/grub.d/10_hurd.in: Add a recovery mode.
9507
69be5b74
VS
95082010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * configure.ac: Check for libgcc symbols with -nostdlib.
9511
fc9e5810
BC
95122010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
9513
9514 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
9515
4b358c0a
VS
95162010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
9519 stack since heap may be unavailable at that point.
9520 (grub_ofconsole_gotoxy): Likewise.
9521
454fcd1c
VS
95222010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9523
9524 * configure.ac: Check for _restgpr_14_x.
9525 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
9526 and _savegpr_* prototypes.
9527
566863ca
RM
95282010-01-22 Robert Millan <rmh.grub@aybabtu.com>
9529
9530 Use generic grub_reboot() for i386-efi.
9531
9532 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
9533 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
9534 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
9535
bf86e59a
VS
95362010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
9539 presence of "prefix" variable as it breaks when normal.mod is
9540 embedded.
9541
d645e0f8
VS
95422010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
9545 stack since heap is unavailable at that point.
9546
f9ab2e25
VS
95472010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
9550 (grub_freebsd_bootinfo): Rewritten.
9551 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
9552
01fc7054
VS
95532010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
9556
caab4fd6
RM
95572010-01-21 Robert Millan <rmh.grub@aybabtu.com>
9558
9559 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
9560 domain now.
9561
67eb1427
FZ
95622010-01-20 Felix Zielcke <fzielcke@z-51.de>
9563
9564 * util/misc.c (make_system_path_relative_to_its_root): Change the work
9565 around for handling "/" to the correct fix. Fix a memory leak. Use
9566 xstrdup instead of strdup.
9567
a9ed4ff3
VS
95682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
9571
95722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
9573
9574 Optimise glyph lookup by Basic Multilingual Plane lookup array.
9575
9576 * font/font.c (struct grub_font): New member 'bmp_idx'.
9577 (font_init): Initialise 'bmp_idx'.
9578 (load_font_index): Fill 'bmp_idx'.
9579 (find_glyph): Make inline. Use bmp_idx for BMP characters.
9580
48209f4f
VS
95812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
9584 unnecessary calls.
9585
9f0a4bb7
VS
95862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9587
9588 Move context handling out of the kernel.
9589
9590 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
9591 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
9592 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
9593 * conf/i386-efi.rmk: Likewise.
9594 * conf/i386-ieee1275.rmk: Likewise.
9595 * conf/i386-pc.rmk: Likewise.
9596 * conf/powerpc-ieee1275.rmk: Likewise.
9597 * conf/sparc64-ieee1275.rmk: Likewise.
9598 * conf/x86_64-efi.rmk: Likewise.
9599 * include/grub/env.h: Include grub/menu.h.
9600 (grub_env_var_type): Removed.
9601 (grub_env_var): Replaced field 'type' with 'global'.
9602 (grub_env_find): New prototype.
9603 (grub_env_context_open): Remove EXPORT_FUNC.
9604 (grub_env_context_close): Likewise.
9605 (grub_env_export): Likewise.
9606 (grub_env_set_data_slot): Removed.
9607 (grub_env_get_data_slot): Likewise.
9608 (grub_env_unset_data_slot): Likewise.
9609 (grub_env_unset_menu): New prototype.
9610 (grub_env_set_menu): Likewise.
9611 (grub_env_get_menu): Likewise.
9612 * include/grub/env_private.h: New file.
9613 * include/grub/normal.h (grub_context_init): New prototype.
9614 (grub_context_fini): Likewise.
9615 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
9616 * normal/context.c (grub_cmd_export): ... to here.
9617 * kern/env.c: Include env_private.h.
9618 (HASHSZ): Moved to include/grub/env_private.h.
9619 (grub_env_context): Likewise.
9620 (grub_env_sorted_var): Likewise.
9621 (current_context): Renamed from this ...
9622 (grub_current_context): ...to this. 'static' removed. All users updated.
9623 (grub_env_find): Removed 'static'.
9624 (grub_env_context_open): Moved to normal/context.c.
9625 (grub_env_context_close): Likewise.
9626 (grub_env_export): Likewise.
9627 (mangle_data_slot_name): Removed.
9628 (grub_env_set_data_slot): Likewise.
9629 (grub_env_get_data_slot): Likewise.
9630 (grub_env_unset_data_slot): Likewise.
9631 * kern/main.c (grub_set_root_dev): Don't export root.
9632 It will be done later.
9633 (grub_main): Don't export prefix.
9634 It will be done later.
9635 * normal/context.c: New file.
9636 * normal/main.c (free_menu): Use grub_env_unset_menu.
9637 (grub_normal_add_menu_entry): Use grub_env_get_menu.
9638 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
9639 (GRUB_MOD_INIT(normal)): Call grub_context_init.
9640 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
9641
8dd35b8c
VS
96422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9643
9644 setpci support.
9645
9646 * commands/setpci.c: New file.
9647 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
9648 (setpci_mod_SOURCES): New variable.
9649 (setpci_mod_CFLAGS): Likewise.
9650 (setpci_mod_LDFLAGS): Likewise.
9651
449193d5
VS
96522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 Byte-addressable PCI configuration space.
9655
9656 * bus/pci.c (grub_pci_make_address): Use byte address instead of
9657 dword address.
9658 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
9659 GRUB_PCI_REG_CACHELINE.
9660 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
9661 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
9662 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
9663 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
9664 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
9665 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
9666 grub_pci_make_address.
9667 (lock_rom_area): Likewise.
9668 * commands/lspci.c (grub_lspci_iter): Use macroses
9669 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
9670 of grub_pci_make_address.
9671 * disk/ata.c (grub_ata_pciinit): Likewise.
9672 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
9673 (GRUB_PCI_REG_VENDOR): Likewise.
9674 (GRUB_PCI_REG_DEVICE): Likewise.
9675 (GRUB_PCI_REG_COMMAND): Likewise.
9676 (GRUB_PCI_REG_STATUS): Likewise.
9677 (GRUB_PCI_REG_REVISION): Likewise.
9678 (GRUB_PCI_REG_CLASS): Likewise.
9679 (GRUB_PCI_REG_CACHELINE): Likewise.
9680 (GRUB_PCI_REG_LAT_TIMER): Likewise.
9681 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
9682 (GRUB_PCI_REG_BIST): Likewise.
9683 (GRUB_PCI_REG_ADDRESSES): Likewise.
9684 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9685 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9686 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9687 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9688 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9689 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9690 (GRUB_PCI_REG_CIS_POINTER): Likewise.
9691 (GRUB_PCI_REG_SUBVENDOR): Likewise.
9692 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
9693 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
9694 (GRUB_PCI_REG_CAP_POINTER): Likewise.
9695 (GRUB_PCI_REG_IRQ_LINE): Likewise.
9696 (GRUB_PCI_REG_IRQ_PIN): Likewise.
9697 (GRUB_PCI_REG_MIN_GNT): Likewise.
9698 (GRUB_PCI_REG_MAX_LAT): Likewise.
9699 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
9700 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
9701 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 9702 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
9703 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
9704 space.
9705
96d73208
RM
97062010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9707
9708 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
9709 can be reliably determined to be supported.
9710
d4484482
RM
97112010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9712
9713 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
9714 that VESA is supported.
9715 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
9716 supported.
9717
00308ecf
VS
97182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
9721
f66924a4
RM
97222010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9723
9724 * util/misc.c (make_system_path_relative_to_its_root): Work around
9725 special-casing of "/", as previous incarnation of this routine did.
9726
cbca0ada
VS
97272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9728
9729 Fix any-emu compilation.
9730
9731 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
9732 * grub_bin2h_SOURCES: New variable.
9733
34a66d99
RM
97342010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9735
9736 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
9737
94fabf58
RM
97382010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9739
9740 * util/grub.d/00_header.in: Fix handling of locale_dir.
9741
02cf98ca
VS
97422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
9745 as possible unifont location (Gentoo).
9746 Reported by: Alexander Brüning
9747
327dbcd7
VS
97482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9749
9750 Don't try to generate lists for kernel.img.
9751
9752 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
9753 (pkglib_MODULES): Remove kernel.img.
9754 (kernel_img_EXPORTS): Removed.
9755 (kernel_img_RELOCATABLE): New variable.
9756 * conf/x86_64-efi.rmk: Likewise.
9757 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
9758
ca467290
VS
97592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
9762 grub_xasprintf or grub_snprintf.
9763 (grub_vsprintf): Likewise.
9764 (grub_snprintf): New proto.
9765 (grub_vsnprintf): Likewise.
9766 (grub_xasprintf): Likewise.
9767 (grub_xvasprintf): Likewise.
9768 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
9769 (grub_sprintf): Removed.
9770 (grub_vsnprintf): New function.
9771 (grub_snprintf): Likewise.
9772 (grub_xvasprintf): Likewise.
9773 (grub_xasprintf): Likewise.
9774 (grub_vsprintf): Renamed to ...
9775 (grub_vsnprintf_real): ...this. New argument max_len.
9776
aca655fd
BC
97772010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
9778
9779 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
9780 fix grub-script-check warning.
9781
7ee92c32
VS
97822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 * include/grub/font.h (grub_font_load): Fix prototype.
9785
f80927ca
VS
97862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9787
9788 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
9789
119c50ea
VS
97902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * include/grub/x86_64/at_keyboard.h: New file.
9793
47d5f3c1
VS
97942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * loader/mips/linux.c: Include missing grub/i18n.h.
9797
55ff5266
RM
97982009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9799
9800 * normal/menu.c (notify_execution_failure): Clarify error message.
9801
c893cc87
RM
98022009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9803
9804 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
9805 return value (and revert all return statements). Update users.
9806
917dd370
CW
98072010-01-20 Dan Merillat <debian@dan.merillat.org>
9808
9809 * kern/device.c (grub_device_iterate): Allocate new part_ent
9810 structure based on sizeof (*p) rather than sizeof (p->next), to
9811 account for structure padding.
9812
9813 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
9814 disk is NULL, which might happen for LVM physical volumes with no
9815 LVM signature.
9816
d4a4ee57
RM
98172009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9818
9819 * loader/mips/linux.c (grub_cmd_initrd)
9820 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
9821
98222009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9823
9824 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
9825 (grub_video_video_init, grub_video_bitmap_init)
9826 (grub_font_manager_init, grub_term_gfxterm_init)
9827 (grub_at_keyboard_init): New extern declarations.
9828 (grub_machine_init): Initialize gfxterm and at_keyboard.
9829
9830 * kern/main.c (grub_main): Revert grub_printf delay kludge.
9831
9832 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
9833 `gfxterm.mod' into core image.
9834
9835 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9836 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9837 (kernel_img_FORMAT): Copy to ...
9838
9839 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9840 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9841 (kernel_img_FORMAT): ... here, and ...
9842
9843 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9844 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9845 (kernel_img_FORMAT): ... here.
9846
9847 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
9848 and input (at_keyboard) terminals in kernel.
9849 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
9850
9851 (pkglib_MODULES): Remove `pci.mod'.
9852 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
9853 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
9854 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
9855 (at_keyboard_mod_LDFLAGS): Remove variables.
9856
98572010-01-11 Felix Zielcke <fzielcke@z-51.de>
9858
9859 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
9860
98612009-12-10 Robert Millan <rmh.grub@aybabtu.com>
9862
9863 * include/grub/mips/libgcc.h: Only export symbols for functions
9864 that libgcc provides.
9865
98662009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
9867
9868 MIPS support.
9869
9870 * bus/bonito.c: New file.
9871 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
9872 GRUB_PCI_NUM_DEVICES.
9873 * term/i386/pc/serial.c: Move to ...
9874 * term/serial.c: ... here. All users updated.
9875 * util/i386/pc/grub-mkimage.c: Move to ...
9876 * util/grub-mkrawimage.c: ... here. All users updated.
9877 * term/i386/pc/at_keyboard.c: Move to ...
9878 * term/at_keyboard.c: ... here. All users updated.
9879 * conf/mips-qemu-mips.rmk: New file.
9880 * conf/mips-yeeloong.rmk: Likewise.
9881 * conf/mips.rmk: Likewise.
9882 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
9883 mipsel-qemu-mips.
9884 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
9885 to port addresses.
9886 (grub_ata_pciinit): Support CS5536.
9887 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
9888 * font/font_cmd.c (loadfont_command): Open file before passing it to
9889 grub_font_load.
9890 (pseudo_file_read): New function.
9891 (pseudo_file_close): Likewise.
9892 (pseudo_fs): New structure.
9893 (load_font_module): New function.
9894 (GRUB_MOD_INIT(font_manager)): Load embedded font.
9895 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
9896 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
9897 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
9898 * include/grub/i386/at_keyboard.h: Split into ...
9899 * include/grub/at_keyboard.h: ... this ...
9900 * include/grub/i386/at_keyboard.h: ... and this.
9901 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
9902 New prototype.
9903 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
9904 updated.
9905 (grub_elf64_size): Likewise.
9906 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
9907 filename.
9908 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
9909 * include/grub/i386/coreboot/serial.h: Rewritten.
9910 * include/grub/i386/ieee1275/serial.h: Include
9911 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
9912 * include/grub/i386/pc/serial.h: Moved from here ...
9913 * include/grub/serial.h: ... to here. All users updated.
9914 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
9915 (GRUB_PCI_NUM_BUS): Likewise.
9916 (GRUB_PCI_NUM_DEVICES): Likewise.
9917 (grub_pci_device_map_range): Add missing volatile keyword.
9918 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
9919 * include/grub/mips/at_keyboard.h: New file.
9920 * include/grub/mips/cache.h: Likewise.
9921 * include/grub/mips/io.h: Likewise.
9922 * include/grub/mips/kernel.h: Likewise.
9923 * include/grub/mips/libgcc.h: Likewise.
9924 * include/grub/mips/pci.h: Likewise.
9925 * include/grub/mips/qemu-mips/boot.h: Likewise.
9926 * include/grub/mips/qemu-mips/kernel.h: Likewise.
9927 * include/grub/mips/qemu-mips/loader.h: Likewise.
9928 * include/grub/mips/qemu-mips/memory.h: Likewise.
9929 * include/grub/mips/qemu-mips/serial.h: Likewise.
9930 * include/grub/mips/qemu-mips/time.h: Likewise.
9931 * include/grub/mips/relocator.h: Likewise.
9932 * include/grub/mips/time.h: Likewise.
9933 * include/grub/mips/types.h: Likewise.
9934 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
9935 * include/grub/mips/yeeloong/boot.h: Likewise.
9936 * include/grub/mips/yeeloong/kernel.h: Likewise.
9937 * include/grub/mips/yeeloong/loader.h: Likewise.
9938 * include/grub/mips/yeeloong/memory.h: Likewise.
9939 * include/grub/mips/yeeloong/pci.h: Likewise.
9940 * include/grub/mips/yeeloong/serial.h: Likewise.
9941 * include/grub/mips/yeeloong/time.h: Likewise.
9942 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
9943 * kern/elf.c (grub_elf32_size): New parameter. All users
9944 updated.
9945 (grub_elf64_size): Likewise.
9946 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
9947 Load modules before saying "Welcome to GRUB!".
9948 Call grub_refresh after saying "Welcome to GRUB!".
9949 * kern/mips/cache.S: New file.
9950 * kern/mips/cache_flush.S: Likewise.
9951 * kern/mips/dl.c: Likewise.
9952 * kern/mips/init.c: Likewise.
9953 * kern/mips/qemu-mips/init.c: Likewise.
9954 * kern/mips/startup.S: Likewise.
9955 * kern/mips/yeeloong/init.c: Likewise.
9956 * kern/term.c (grub_putcode): Handle NULL terminal.
9957 (grub_getcharwidth): Likewise.
9958 (grub_getkey): Likewise.
9959 (grub_checkkey): Likewise.
9960 (grub_getkeystatus): Likewise.
9961 (grub_getxy): Likewise.
9962 (grub_getwh): Likewise.
9963 (grub_gotoxy): Likewise.
9964 (grub_cls): Likewise.
9965 (grub_setcolorstate): Likewise.
9966 (grub_setcolor): Likewise.
9967 (grub_getcolor): Likewise.
9968 (grub_refresh): Likewise.
9969 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
9970 (write_jump): Add hatch nop.
9971 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
9972 * lib/mips/setjmp.S: New file.
9973 * loader/mips/linux.c: Likewise.
9974 * term/i386/pc/at_keyboard.c: Move from here ...
9975 * term/at_keyboard.c: ... to here.
9976 * term/i386/pc/serial.c: Moved from here ...
9977 * term/serial.c: ... to here. All users updated.
9978 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
9979 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
9980 (serial_translate_key_sequence): Avoid deadlock.
9981 (grub_serial_getkey): Handle backspace.
9982 (grub_serial_putchar): Fix newline handling.
9983 * util/i386/pc/grub-mkimage.c: Move from here ...
9984 * util/grub-mkrawimage.c: ... to here. All users updated.
9985 (generate_image): New parameters 'font_path' and 'format'.
9986 Support embedding font.
9987 Use grub_host_to_target* instead of grub_cpu_to_le*.
9988 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
9989 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
9990 (options): New option "--font".
9991 (usage): Likewise.
9992 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
9993 (main): Handle "--font".
9994 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
9995 (grub_virtual_screen_setup): Set bg_color_display.
9996 (redraw_screen_rect): Use bg_color_display instead of incorrect
9997 bg_color.
9998 (grub_gfxterm_cls): Likewise.
9999 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
10000 Support embedding config file.
10001 (add_segments): Likewise.
10002 (options): New option "--config".
10003 (main): Handle "--config".
10004 * video/sm712.c: New file.
10005
25c2b5b3
RM
100062010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10007
10008 Fix parallel builds.
10009
10010 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
10011 font.c depend on ascii.h).
10012
100132010-01-12 Carles Pina i Estany <carles@pina.cat>
10014
10015 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
10016
100172010-01-11 Carles Pina i Estany <carles@pina.cat>
10018
10019 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
10020 By default: disabled.
10021 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
10022 parameter.
10023
100242010-01-10 Carles Pina i Estany <carles@pina.cat>
10025
10026 * font/font.c: Update copyright years.
10027 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
10028
100292010-01-10 Carles Pina i Estany <carles@pina.cat>
10030
10031 * font/font.c: Include `ascii.h'.
10032 (ASCII_BITMAP_SIZE): New macro.
10033 (ascii_font_glyph): Define.
10034 (ascii_glyph_lookup): New function.
10035 (grub_font_get_string_width): Change comment. If glyph not found, use
10036 ascii_glyph_lookup.
10037 (grub_font_get_glyph_with_fallback): If glyph not available returns
10038 ascii_glyph_lookup.
10039 * util/grub-mkfont.c (file_formats): New enum.
10040 (options): Add `ascii-bitmaps' new option.
10041 (usage): Add `asii-bitmaps' new option.
10042 (write_font_ascii_bitmap): New function.
10043 (write_font): Rename to ...
10044 (write_font_p2): ... this. Remove print_glyphs call.
10045 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
10046 used. Call print_glyphs.
10047 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
10048
100492010-01-14 Robert Millan <rmh.grub@aybabtu.com>
10050
10051 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
10052 (grub_bin2h_SOURCES): New variable.
10053 * util/bin2h.c: New file.
10054
915fc1b8
VS
100552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * include/multiboot.h: Resynced with spec.
10058 * include/multiboot2.h: Likewise.
10059 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
10060 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
10061
9444b678
RM
100622010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10063
10064 * include/grub/term.h (grub_term_register_input,
10065 grub_term_register_output): Check return of terminal init()
10066 routines, and abort if errors are raised.
10067
10068 * commands/terminal.c: Update copyright year.
10069
cba98e8d
RM
100702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10071
10072 * commands/terminal.c (grub_cmd_terminal_input)
10073 (grub_cmd_terminal_output): Check return of terminal init()
10074 routines, and abort if errors are raised.
10075
6f7db5d6
VS
100762010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 * include/grub/i386/bsd.h: Fix include pathes.
10079
262bff8d
VS
100802010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 Add missing *BSD copyright headers.
10083
10084 * include/grub/aout.h: Add BSD licence.
10085 * include/grub/i386/bsd.h: Parts under different licences moved to ...
10086 * include/grub/i386/freebsd_linker.h: ... here,
10087 * include/grub/i386/freebsd_reboot.h: ... here,
10088 * include/grub/i386/netbsd_bootinfo.h: ... here,
10089 * include/grub/i386/netbsd_reboot.h: ... here,
10090 * include/grub/i386/openbsd_bootarg.h: ... here,
10091 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
10092 licence to each file.
10093
b2cab848
RM
100942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10095
10096 * acinclude.m4: Remove `nop' assembly instruction; it's not
10097 implemented by all architectures.
10098
2cb6be4b
RM
100992010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10100
10101 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
10102 ELILO. This is no longer necessary.
10103
a2eaee15
BC
101042010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
10105
10106 Added new tool, grub-scrit-check to verify grub.cfg syntax.
10107
10108 * util/grub-script-check.c: grub-script-check tool.
10109 * conf/common.rmk: Make rules for grub-script-check.
10110
88d17012
RM
101112010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10112
10113 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
10114 spotting it back in 2008. Shame on me for forgetting he did.
10115
10116 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
10117
8040619d
RM
101182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10119
10120 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
10121 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
10122 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
10123 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
10124 (GRUB_VIDEO_TYPE_EFI): Rename to ...
10125 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
10126
a0c2a0f6
RM
101272010-01-17 Robert Millan <rmh.grub@aybabtu.com>
10128
10129 * include/grub/test.h: Add license header.
10130 * tests/example_functional_test.c: Likewise.
10131 * tests/example_unit_test.c: Likewise.
10132 * tests/lib/functional_test.c: Likewise.
10133 * tests/lib/test.c: Likewise.
10134 * tests/lib/unit_test.c: Likewise.
10135
b0b13907
VS
101362010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 Use flag-based instead of hook-based video mode selection and "auto"
10139 keyword.
10140
10141 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
10142 (grub_video_set_mode): Changed prototype. All users updated.
10143 (grub_video_check_mode_flag): New inline function.
10144 * video/video.c (parse_modespec): New function.
10145 (grub_video_set_mode): Parse flags and keywords.
10146
ea379330 101472010-01-17 Carles Pina i Estany <carles@pina.cat>
10148
10149 * util/misc.c (grub_util_info): Fix the order of the parameters in a
10150 fprintf call.
10151
e15c215e
FZ
101522010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
10153
10154 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
10155
409ae1c9 101562010-01-16 Carles Pina i Estany <carles@pina.cat>
10157
10158 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
10159 string.
10160 * util/grub-emu.c (usage): Likewise.
10161 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
10162 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10163 * util/i386/pc/grub-mkimage.c (usage): Likewise.
10164 * util/i386/pc/grub-setup.c (usage): Likewise.
10165
70a14d3d 101662010-01-16 Carles Pina i Estany <carles@pina.cat>
10167
10168 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
10169 the message.
10170 (grub_util_info): Likewise.
10171 (grub_util_error): Likewise.
10172 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
10173 and/or new lines in `grub_util_warna', `grub_util_info',
10174 `grub_util_error' calls.
10175 * util/getroot.c: Likewise.
10176 * util/grub-editenv.c: Likewise.
10177 * util/grub-emu.c: Likewise.
10178 * util/grub-fstest.c: Likewise.
10179 * util/grub-mkdevicemap.c: Likewise.
10180 * util/grub-mkfont.c: Likewise.
10181 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10182 * util/grub-mkrelpath.c: Likewise.
10183 * util/grub-pe2elf.c: Likewise.
10184 * util/grub-probe.c: Likewise.
10185 * util/hostdisk.c: Likewise.
10186 * util/i386/efi/grub-mkimage.c: Likewise.
10187 * util/i386/pc/grub-mkimage.c: Likewise.
10188 * util/i386/pc/grub-setup.c: Likewise.
10189 * util/ieee1275/ofpath.c: Likewise.
10190 * util/mkisofs/eltorito.c: Likewise.
10191 * util/mkisofs/rock.c: Likewise.
10192 * util/mkisofs/write.c: Likewise.
10193 * util/raid.c: Likewise.
10194 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
10195 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10196
a0b766fc
VS
101972010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 Enable multiboot on non-pc.
10200
10201 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
10202 multiboot.mod and multiboot2.mod to ...
10203 * conf/i386.rmk (pkglib_MODULES): ... here.
10204 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
10205 Moved to ...
10206 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
10207 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
10208 Moved to ...
10209 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
10210 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
10211 Moved to ...
10212 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
10213 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
10214 Moved to ...
10215 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
10216 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
10217 relocator.mod.
10218 (ata_mod_SOURCES): Removed.
10219 (ata_mod_CFLAGS): Likewise.
10220 (ata_mod_LDFLAGS): Likewise.
10221 (relocator_mod_SOURCES): Removed.
10222 (relocator_mod_CFLAGS): Likewise.
10223 (relocator_mod_ASFLAGS): Likewise.
10224 (relocator_mod_LDFLAGS): Likewise.
10225 Include i386.mk.
10226 * include/grub/x86_64/multiboot.h: New file.
10227 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
10228 Terminate EFI.
10229
884ade56
VS
102302010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 Video multiboot support.
10233
10234 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
10235 New prototype.
10236 * include/multiboot.h: Resynced with multiboot specification.
10237 * include/multiboot2.h: Likewise.
10238 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
10239 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
10240 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
10241 (HAS_VGA_TEXT): Likewise.
10242 (accepts_video): New variable.
10243 (grub_multiboot_set_accepts_video): New function.
10244 (grub_multiboot_get_mbi_size): Account for video structures.
10245 (set_video_mode): New function.
10246 (retrieve_video_parameters): Likewise.
10247 (grub_multiboot_make_mbi): Fill video fields.
10248
0d90e8a6
VS
102492010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 Video driver ids.
10252
10253 * include/grub/video.h (grub_video_driver_id): New type.
10254 (grub_video_adapter): New member 'id'. All users updated.
10255 (grub_video_get_driver_id): New proto.
10256 * video/video.c (grub_video_get_driver_id): New function.
10257
5c71db1b 102582010-01-14 Carles Pina i Estany <carles@pina.cat>
10259
10260 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
10261 `var=val'.
10262
cca15b52 102632010-01-14 Carles Pina i Estany <carles@pina.cat>
10264
10265 * normal/cmdline.c (print_completion): Gettextizze.
10266
c586fbb2 102672001-01-14 Carles Pina i Estany <carles@pina.cat>
10268
10269 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
10270
ba2f6848 102712010-01-14 Carles Pina i Estany <carles@pina.cat>
10272
10273 * gettext/gettext.c (grub_gettext_translate): Push and pop
10274 grub_errno.
10275 (grub_gettext_delete_list): Change comment style.
10276 * kern/err.c (grub_error): Gettextizze.
10277 (grub_fatal): Gettextizze.
10278
0a46429a
RM
102792010-01-14 Robert Millan <rmh.grub@aybabtu.com>
10280
10281 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
10282 (grub_linux16_real_boot): ... this.
10283 * kern/i386/loader.S: Likewise.
10284 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
10285 (grub_linux16_boot): New function. Switches to text mode and calls
10286 grub_linux16_real_boot().
10287
10288 * loader/i386/bsd.c: Include `<grub/video.h>'.
10289 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
10290 text mode before calling grub_unix_real_boot().
10291
10292 * loader/i386/multiboot.c: Include `<grub/video.h>'.
10293 (grub_multiboot_boot): Switch to text mode before calling
10294 grub_relocator32_boot().
10295
10296 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
10297 (grub_chainloader_boot): Switch to text mode before calling
10298 grub_chainloader_real_boot().
10299
d6f93a66
RM
103002010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
103012010-01-05 Colin Watson <cjwatson@ubuntu.com>
10302
10303 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
10304 non-empty value.
10305
103062010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
103072010-01-05 Colin Watson <cjwatson@ubuntu.com>
10308
10309 * util/grub.d/00_header.in: Define a "savedefault" function for use
10310 in menu entries.
10311 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
10312
103132010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
103142010-01-05 Colin Watson <cjwatson@ubuntu.com>
10315
10316 * util/grub-mkconfig_lib.in (save_default_entry): Only set
10317 saved_entry if boot_once is unset.
10318 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
10319 previous saved entry (i.e. grub-reboot).
10320
103212009-12-08 Colin Watson <cjwatson@ubuntu.com>
10322
10323 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
10324
103252009-12-08 Colin Watson <cjwatson@ubuntu.com>
10326
10327 * util/grub.d/00_header.in: Use `set var=val' rather than plain
10328 `var=val'.
10329 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
10330
103312009-12-08 Colin Watson <cjwatson@ubuntu.com>
10332
10333 * util/grub-reboot.in: Fix --version output.
10334 * util/grub-set-default.in: Likewise.
10335
103362009-12-08 Colin Watson <cjwatson@ubuntu.com>
10337
10338 * util/grub.d/00_header.in: Silently ignore zero-sized environment
10339 blocks.
10340
103412009-12-08 Colin Watson <cjwatson@ubuntu.com>
10342
10343 * util/grub.d/00_header.in: Quote the value assigned to `default',
10344 in case it contains spaces.
10345
103462009-12-08 Colin Watson <cjwatson@ubuntu.com>
10347
10348 * util/grub.d/30_os-prober.in: Fix merge error that moved a
10349 `save_default_entry' call from the macosx case to the linux case.
10350
103512009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
103522009-10-25 Colin Watson <cjwatson@ubuntu.com>
10353
10354 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
10355 in `chosen' environment variable.
10356 * normal/menu_text.c (get_entry_number): Check if the variable
10357 matches the title of a menu entry.
10358 (run_menu): Pass menu to get_entry_number.
10359
10360 * util/grub-reboot.in: New file.
10361 * util/grub-set-default.in: New file.
10362 * conf/common.rmk (grub-reboot): New utility.
10363 (grub-set-default): New utility.
10364
10365 * util/grub-mkconfig_lib.in (save_default_entry): New function.
10366 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
10367 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
10368 move it to `saved_entry' for the next boot. Load environment on
10369 initialisation.
10370 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
10371 * util/grub.d/10_hurd.in: Likewise.
10372 * util/grub.d/10_linux.in (linux_entry): Likewise.
10373 * util/grub.d/10_windows.in: Likewise.
10374 * util/grub.d/30_os-prober.in: Likewise.
10375
10376 * util/grub-install.in: Create environment block.
10377 * util/i386/efi/grub-install.in: Likewise.
10378 * util/ieee1275/grub-install.in: Likewise.
10379 * util/sparc64/ieee1275/grub-install.in: Likewise.
10380
0934d184
BC
103812010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
10382
10383 Unit testing framework for GRUB.
10384
10385 * Makefile.in: Test framework build rules for 'make check'.
10386 * conf/tests.rmk: Build rules for individual tests and framework.
10387
10388 * include/grub/test.h: Header file for whitebox tests.
10389 * tests/lib/functional_test.c: Framework support for whitebox
10390 functional tests.
10391 * tests/lib/test.c: Common whitebox testing code for unit and
10392 functional tests.
10393 * tests/lib/unit_test.c: Framework support for whitebox unit
10394 tests.
10395
10396 * tests/util/grub-shell-tester.in: Support utility for grub-script
10397 tests.
10398 * tests/util/grub-shell.in: Utility to execute grub-script
10399 commands in a Qemu instance.
10400
10401 * tests/example_functional_test.c: Example whitebox functional
10402 test.
10403 * tests/example_grub_script_test.in: Example grub-script test.
10404 * tests/example_scripted_test.in: Example scripted test.
10405 * tests/example_unit_test.c: Example whitebox unit test.
10406
9c4ffeeb
VS
104072010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
10410 Add loader/i386/multiboot_mbi.c.
10411 (multiboot2_mod_SOURCES): Likewise.
10412 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
10413 (multiboot2_mod_SOURCES): Likewise.
10414 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
10415 (grub_multiboot_make_mbi): Likewise.
10416 (grub_multiboot_free_mbi): Likewise.
10417 (grub_multiboot_init_mbi): Likewise.
10418 (grub_multiboot_add_module): Likewise.
10419 (grub_multiboot_set_bootdev): Likewise.
10420 * loader/i386/multiboot.c (mbi): Removed.
10421 (mbi_dest): Likewise.
10422 (alloc_mbi): New variable.
10423 (grub_multiboot_payload_size): Removed. All users updated.
10424 (grub_multiboot_pure_size): New variable.
10425 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
10426 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
10427 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
10428 (grub_fill_multiboot_mmap): Likewise.
10429 (grub_multiboot_get_bootdev): Likewise.
10430 (grub_multiboot): Use multiboot_mbi functions.
10431 * loader/i386/multiboot_mbi.c: New file.
10432
17383dfe
VS
104332010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
10436 it would result in module crash.
10437
c1f28820
VS
104382010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
10441 (grub_ofconsole_getwh): Split to ...
10442 (grub_ofconsole_getwh): ... this.
10443 (grub_ofconsole_dimensions): ...and this.
10444 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
10445
58655a16
RM
104462010-01-13 Robert Millan <rmh.grub@aybabtu.com>
10447
10448 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
10449
10891398
VS
104502010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * loader/i386/pc/multiboot2.c: Removed stalled file.
10453
0b8a223c
VS
104542010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
10457 Reported by: Grégoire Sutre
10458
92ab12b0
RM
104592010-01-11 Robert Millan <rmh.grub@aybabtu.com>
10460
10461 * util/misc.c (canonicalize_file_name): New function.
10462 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
10463 instead of realpath().
10464
a788afb6
CW
104652010-01-11 Colin Watson <cjwatson@ubuntu.com>
10466
10467 * util/grub-install.in (usage): Clarify meaning of --root-directory,
10468 and make it clearer that it's optional. Based on confusion
10469 witnessed on IRC.
10470
ffa8e3d2
VS
104712010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
10474 in premature implicit newline.
10475
e9060a9d
VS
104762010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10477
10478 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
10479 which resulted in garbled command line at the end of screen.
10480
f0d0c0b7
RM
104812010-01-10 Robert Millan <rmh.grub@aybabtu.com>
10482
10483 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
10484 initialization with similar approach as with other Linux loaders.
10485
0e60bae7
RM
104862010-01-10 Robert Millan <rmh.grub@aybabtu.com>
10487
10488 Fix i386-ieee1275 build.
10489
10490 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
10491 and grub_term_height() for video_{width,height} initialization.
10492
104932010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
10494
10495 Fix grub-emu build.
10496
10497 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
10498
cdb3f378
RM
104992010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
105002010-01-09 Robert Millan <rmh.grub@aybabtu.com>
10501
10502 Support for multiple terminals.
10503
10504 * Makefile.in (pkglib_DATA): terminal.lst.
10505 (terminal.lst): New target.
10506 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
10507 (GRUB_MOD_INIT(handler)): Likewise.
10508 (GRUB_MOD_FINI(handler)): Likewise.
10509 * commands/help.c (grub_cmd_help): Handle multiple terminals.
10510 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
10511 * commands/sleep.c (do_print): Use grub_term_restore_pos.
10512 (grub_cmd_sleep): Use grub_term_save_pos.
10513 * commands/terminal.c: New file.
10514 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
10515 commands/terminal.c and lib/charset.c.
10516 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
10517 (pkglib_MODULES): Add terminal.mod.
10518 (terminal_mod_SOURCES): New variable.
10519 (terminal_mod_CFLAGS): Likewise.
10520 (terminal_mod_LDFLAGS): Likewise.
10521 * genhandlerlist.sh: Don't handle terminals.
10522 * genmk.rb: Generate terminal-*.lst.
10523 * genterminallist.sh: New file.
10524 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
10525 (grub_is_valid_utf8): Likewise.
10526 (grub_utf8_to_ucs4_alloc): Likewise.
10527 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
10528 (grub_menu_register_viewer): Changed argument.
10529 (grub_menu_try_text): New proto.
10530 (grub_gfxmenu_try_hook): New declaration.
10531 * include/grub/normal.h (grub_normal_exit_level): New declaration.
10532 (grub_menu_init_page): Additional argument term.
10533 (grub_normal_init_page): Likewise.
10534 (grub_cmdline_get): Arguments simplified.
10535 (grub_utf8_to_ucs4_alloc): Removed.
10536 (grub_print_ucs4): Additional argument term.
10537 (grub_getstringwidth): Likewise.
10538 (grub_print_message_indented): Likewise.
10539 (grub_menu_text_register_instances): New proto.
10540 (grub_show_menu): Likewise.
10541 (read_terminal_list): Likewise.
10542 (grub_set_more): Likewise.
10543 * include/grub/parser.h: Include handler.h.
10544 * include/grub/reader.h: Rewritten.
10545 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
10546 (GRUB_TERM_WIDTH): Changed to function.
10547 (GRUB_TERM_HEIGHT): Likewise.
10548 (GRUB_TERM_BORDER_WIDTH): Likewise.
10549 (GRUB_TERM_BORDER_HEIGHT): Likewise.
10550 (GRUB_TERM_NUM_ENTRIES): Likewise.
10551 (GRUB_TERM_ENTRY_WIDTH): Likewise.
10552 (GRUB_TERM_CURSOR_X): Likewise.
10553 (grub_term_input_class): Likewise.
10554 (grub_term_output_class): Likewise.
10555 (grub_term_outputs_disabled): New declaration.
10556 (grub_term_inputs_disabled): Likewise.
10557 (grub_term_outputs): Likewise.
10558 (grub_term_inputs): Likewise.
10559 (grub_term_register_input): Rewritten.
10560 (grub_term_register_output): Likewise.
10561 (grub_term_unregister_input): Likewise.
10562 (grub_term_unregister_output): Likewise.
10563 (FOR_ACTIVE_TERM_INPUTS): New macro.
10564 (FOR_DISABLED_TERM_INPUTS): Likewise.
10565 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
10566 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
10567 * include/grub/terminfo.h: Add oterm argument to all protypes.
10568 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
10569 Use grub_rescue_run.
10570 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
10571 All users updated.
10572 * kern/reader.c: Removed. All users updated.
10573 * kern/rescue_reader.c (grub_rescue_init): Removed.
10574 (grub_rescue_reader): Likewise.
10575 (grub_register_rescue_reader): Likewise.
10576 (grub_rescue_run): New function based on kern/reader.c.
10577 * kern/term.c: Adapted for multiterm.
10578 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
10579 (grub_is_valid_utf8): Likewise.
10580 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
10581 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
10582 right terminal.
10583 * loader/i386/linux.c (grub_linux_boot): Likewise.
10584 * normal/auth.c (grub_username_get): New function.
10585 (grub_auth_check_authentication): Use grub_username_get.
10586 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
10587 * normal/color.c: Adapt for multiterm.
10588 * normal/main.c (read_config_file): Don't use grub_reader_loop.
10589 (grub_normal_init_page): Additional argument term.
10590 (read_lists): Call read_terminal_lists.
10591 (grub_enter_normal_mode): Call grub_cmdline_run.
10592 Handle grub_normal_exit_level.
10593 (grub_cmd_normal): Make reentrant.
10594 (grub_cmd_normal_exit): New function.
10595 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
10596 * normal/menu.c: Adapt for multiterm.
10597 * normal/menu_entry.c: Likewise.
10598 * normal/menu_text.c: Likewise.
10599 * normal/menu_viewer.c: Removed. All users updated.
10600 * normal/term.c: New file.
10601 * util/console.c: Change order of includes to workaround a bug in
10602 ncurses headers.
10603 * term/terminfo.c: New argument oterm on all exported functions.
10604 All users updated.
10605 * util/grub-editenv.c (grub_term_input_class): Removed.
10606 (grub_term_output_class): Likewise.
10607
1a064917
RM
106082010-01-09 Robert Millan <rmh.grub@aybabtu.com>
10609
10610 Make loader output a bit more user-friendly.
10611
10612 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
10613 is being loaded. Likewise for the Hurd.
10614
10615 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
10616 that kernel of FreeBSD ${version} is being loaded.
10617
10618 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
10619 grub_dprintf().
10620 (grub_cmd_initrd): Likewise.
10621 * util/grub.d/10_linux.in (linux_entry): Print message indicating
10622 that Linux ${version} is being loaded. Likewise for initrd.
10623
5ce0a83a 106242010-01-09 Carles Pina i Estany <carles@pina.cat>
10625
10626 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
10627
809bbfeb 106282010-01-08 Carles Pina i Estany <carles@pina.cat>
10629
10630 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
10631 (GRUB_MOD_INIT): Gettextizze.
10632 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
10633 (GRUB_MOD_INIT): Gettextizze.
10634 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
10635 (grub_cmd_linux): Capitalise Linux.
10636 (GRUB_MOD_INIT): Gettextizze.
10637 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
10638 (grub_cmd_linux): Capitalise Linux.
10639 (GRUB_MOD_INIT): Gettextizze.
10640 * loader/i386/linux.c: Include `<grub/i18n.h>'.
10641 (grub_cmd_linux): Capitalise Linux.
10642 (GRUB_MOD_INIT): Gettextizze.
10643 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
10644 (GRUB_MOD_INIT): Gettextizze.
10645 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
10646 (grub_cmd_linux): Capitalise Linux.
10647 (GRUB_MOD_INIT): Gettextizze.
10648 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
10649 (grub_cpu_xnu_init): Gettextizze.
10650 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
10651 (GRUB_MOD_INIT): Gettextizze.
10652 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
10653 (GRUB_MOD_INIT): Gettextizze.
10654 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
10655 (grub_linux_load64): Capitalise Linux.
10656 (GRUB_MOD_INIT): Gettextizze.
10657 * loader/xnu.c: Include `<grub/i18n.h>'.
10658 (GRUB_MOD_INIT): Gettextizze.
10659 * po/POTFILES: Add `loader/efi/appleloader.c',
10660 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
10661 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
10662 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
10663 `loader/i386/xnu.c', `loader/multiboot_loader.c',
10664 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
10665 and `loader/xnu.c'.
10666
b394b2ca
RM
106672010-01-08 Robert Millan <rmh.grub@aybabtu.com>
10668
10669 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
10670
106712010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
10672
10673 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
10674 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
10675 * util/mkisofs/mkisofs.c (main): Readjust --version output.
10676
bc8b32b3
RM
106772010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10678
10679 Reset Multiboot 2 support. New loader implements the draft in
10680 /branches/multiboot2 and shares as much code as possible with the
10681 production Multiboot 1 implementation.
10682
10683 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
10684 * loader/multiboot2.c: Likewise.
10685 * loader/i386/multiboot_helper.S: Likewise.
10686 * include/multiboot2.h: Replace with latest version from the draft
10687 in /branches/multiboot2.
10688
10689 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
10690 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
10691 and `loader/multiboot2.c'.
10692 (pkglib_MODULES): Add `multiboot2.mod'.
10693 (multiboot2_mod_SOURCES): New variable.
10694 (multiboot2_mod_LDFLAGS): Likewise.
10695 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
10696
10697 * conf/i386-pc.rmk: Likewise.
10698
10699 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
10700 (multiboot_mod_SOURCES): Remove variable.
10701 (multiboot_mod_LDFLAGS): Likewise.
10702 (multiboot_mod_CFLAGS): Likewise.
10703
10704 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
10705 `<multiboot2.h>' instead of `<multiboot.h>'.
10706 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
10707 (MULTIBOOT_HEADER_MAGIC): New macros.
10708
10709 * loader/multiboot_loader.c (module_version_status): Remove variable.
10710 (find_multi_boot2_header): Remove function.
10711 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
10712 logic. Always check for the Multiboot version we're compiling for.
10713 (grub_cmd_module_loader): Likewise.
10714 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
10715 command instead of `multiboot'.
10716
5d2c52b8
RM
107172010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10718
10719 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
10720 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
10721 all users.
10722
53108d92
RM
107232010-01-07 Robert Millan <rmh.grub@aybabtu.com>
107242010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 Fix breakage introduced with previous commit.
10727
10728 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
10729 commands.
10730 * normal/handler.c (read_handler_list): Revert part of previous commit
10731 affecting this file.
10732 * normal/main.c (read_lists): Move read_handler_list() call back to ...
10733 (grub_normal_execute): ... here.
10734
e2e936b2
RM
107352010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10736
10737 Merge prefix-redefinition-fix branch.
10738
10739 * normal/autofs.c (read_fs_list): Make function capable of being
10740 run multiple times, gracefuly replacing the previous data
10741 structures.
10742 * normal/dyncmd.c (read_command_list): Likewise.
10743 * normal/handler.c (read_handler_list): Likewise.
10744 * normal/main.c (read_lists): New function. Calls all the
10745 list reading functions.
10746 (grub_normal_execute): Use read_lists() instead of calling all
10747 list reading functions explicitly. Register read_lists() as a
10748 variable hook attached to ${prefix}.
10749
607a3701
VS
107502010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 Merge crypto branch.
10753
10754 * Makefile.in (pkglib_DATA): Add crypto.lst.
10755 (crypto.lst): New target.
10756 * commands/hashsum.c: New file.
10757 * commands/password.c (check_password): Use grub_crypto_memcmp.
10758 * commands/password_pbkdf2.c: New file.
10759 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
10760 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
10761 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
10762 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
10763 -I$(srcdir)/lib/libgcrypt_wrap.
10764 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
10765 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
10766 password_pbkdf2.mod.
10767 (crypto_mod_SOURCES): New variable.
10768 (crypto_mod_CFLAGS): Likewise.
10769 (crypto_mod_LDFLAGS): Likewise.
10770 (hashsum_mod_SOURCES): New variable.
10771 (hashsum_mod_CFLAGS): Likewise.
10772 (hashsum_mod_LDFLAGS): Likewise.
10773 (pbkdf2_mod_SOURCES): New variable.
10774 (pbkdf2_mod_CFLAGS): Likewise.
10775 (pbkdf2_mod_LDFLAGS): Likewise.
10776 (password_pbkdf2_mod_SOURCES): New variable.
10777 (password_pbkdf2_mod_CFLAGS): Likewise.
10778 (password_pbkdf2_mod_LDFLAGS): Likewise.
10779 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
10780 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
10781 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
10782 Include conf/gcry.rmk.
10783 * include/grub/auth.h: Rewritten.
10784 * include/grub/crypto.h: New file.
10785 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
10786 * include/grub/normal.h (read_crypto_list): New prototype.
10787 * lib/crypto.c: New file.
10788 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
10789 * lib/pbkdf2.c: Likewise.
10790 * normal/auth.c (grub_auth_strcmp): Removed.
10791 (grub_iswordseparator): Likewise.
10792 (grub_auth_strword): Likewise.
10793 (is_authenticated): Use grub_strword.
10794 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
10795 and grub_strword. Pass entered password to authentication callback.
10796 * normal/crypto.c: New file.
10797 * normal/main.c: Call read_crypto_list.
10798 * util/grub-mkpasswd-pbkdf2.c: New file.
10799 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
10800
42841caa
VS
108012010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 Fix descent and ascent calculation.
10804
10805 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
10806 (options): New option "asce".
10807 (usage): Likewise.
10808 (add_char): Ignore invalid glyphs for descent calculation.
10809 Calculate ascent from actual content.
10810 (print_glyphs): Use 'asce'.
10811 (write_font): Likewise. Allow ascent override.
10812 (main): Handle "asce" option.
10813
e7730de7 108142010-01-06 Carles Pina i Estany <carles@pina.cat>
10815
10816 * kern/err.c: Include `<grub/i18n.h>'.
10817 (grub_print_error): Add full stop. Gettextizze.
10818 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
10819 (grub_bsd_load_elf): Capitalise ELF.
10820 (grub_cmd_freebsd_loadenv): Add `s' in error string.
10821 (grub_cmd_freebsd_module): Likewise.
10822 (grub_cmd_freebsd_module_elf): Likewise.
10823 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
10824
40e3a41f 108252010-01-06 Carles Pina i Estany <carles@pina.cat>
10826
10827 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
10828 * commands/search_file.c (HELP_MESSAGE): New macro.
10829 * commands/search_label.c (HELP_MESSAGE): Likewise.
10830 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
10831 * po/POTFILES: Add `commands/search_file.c',
10832 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
10833 `commands/search.c'.
10834
83507e68
RM
108352010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10836
10837 * config.rpath: Update from Gnulib.
10838
465c787b
YB
108392010-01-05 Yves Blusseau <blusseau@zetam.org>
10840
10841 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
10842
6581dd3a
YB
108432010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
10844
10845 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
10846
3bff18c5
CW
108472010-01-05 Colin Watson <cjwatson@ubuntu.com>
10848
10849 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
10850 arguments to fread so that we get a return value in bytes, rather
10851 than something that will normally be rounded down to 0.
10852 Adjust error handling to avoid producing garbage when size_t is not
10853 the same size as long long.
10854
a1368118
CW
108552010-01-05 Colin Watson <cjwatson@ubuntu.com>
10856
10857 * util/mkisofs/write.c (padblock_write): Check return value of
10858 fread.
10859
7c302978
RM
108602010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10861
10862 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
10863 floppy images now.
10864
10865 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
10866
e33ace06
RM
108672010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10868
10869 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
10870 instead of manual alignment.
10871 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
10872 verbose). Avoid attempts to read past end of the device
10873 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
10874 but GRUB_DISK_CACHE_SIZE may exceed that).
10875
4b856776
RM
108762010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10877
10878 * commands/crc.c (grub_cmd_crc): Abort on read errors.
10879 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
10880 it to upper layer.
10881
52c2d97f
VS
108822010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
10885 New constant.
10886 (grub_efi_piwg_device_path): New structure
10887 (grub_efi_piwg_device_path_t): New type.
10888 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
10889 (devpath_1): Transform to a structure. All users updated.
10890 (devpath_2): Likewise.
10891 (devpath_3): Likewise.
10892 (devpath_4): Likewise.
10893 (devpath_5): Likewise.
10894
98ff6a54
VS
108952010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 * loader/efi/appleloader.c: Restored. Update all users.
10898
3a73dcb6
RM
108992010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10900
10901 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
10902
10903 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
10904 (struct boot_blocklist): Move from here ...
10905 * include/grub/i386/pc/boot.h [ASM_FILE]
10906 (struct grub_boot_blocklist): ... to here. Update all users.
10907 (setup): Only initialize `start' member of `first_block'
10908 structure. Add assert() calls to verify the other members.
10909
10910 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
10911 (generate_image): Fix broken blocklist length initialization.
10912 Add assert() call to verify blocklist `segment' field.
10913
ab0eeb0c
RM
109142010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10915
10916 * loader/efi/appleloader.c: Remove. Update all users.
10917
58bc8bd5
RM
109182010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10919
10920 * boot/i386/pc/boot.S: Update copyright year.
10921 * boot/i386/pc/cdboot.S: Likewise.
10922 * boot/i386/pc/diskboot.S: Likewise.
10923 * boot/i386/pc/lnxboot.S: Likewise.
10924 * boot/i386/pc/pxeboot.S: Likewise.
10925 * bus/pci.c: Likewise.
10926 * commands/cmp.c: Likewise.
10927 * commands/help.c: Likewise.
10928 * commands/hexdump.c: Likewise.
10929 * commands/i386/pc/halt.c: Likewise.
10930 * commands/i386/pc/play.c: Likewise.
10931 * commands/i386/pc/vbeinfo.c: Likewise.
10932 * commands/ls.c: Likewise.
10933 * commands/test.c: Likewise.
10934 * disk/dmraid_nvidia.c: Likewise.
10935 * disk/i386/pc/biosdisk.c: Likewise.
10936 * disk/ieee1275/nand.c: Likewise.
10937 * disk/ieee1275/ofdisk.c: Likewise.
10938 * disk/lvm.c: Likewise.
10939 * disk/raid.c: Likewise.
10940 * disk/raid6_recover.c: Likewise.
10941 * disk/scsi.c: Likewise.
10942 * fs/affs.c: Likewise.
10943 * fs/cpio.c: Likewise.
10944 * fs/ext2.c: Likewise.
10945 * fs/hfs.c: Likewise.
10946 * fs/iso9660.c: Likewise.
10947 * fs/ntfs.c: Likewise.
10948 * fs/sfs.c: Likewise.
10949 * fs/udf.c: Likewise.
10950 * fs/ufs.c: Likewise.
10951 * fs/xfs.c: Likewise.
10952 * gencmdlist.sh: Likewise.
10953 * genmk.rb: Likewise.
10954 * include/grub/disk.h: Likewise.
10955 * include/grub/efi/api.h: Likewise.
10956 * include/grub/efi/efi.h: Likewise.
10957 * include/grub/efi/pe32.h: Likewise.
10958 * include/grub/elf.h: Likewise.
10959 * include/grub/fs.h: Likewise.
10960 * include/grub/i386/at_keyboard.h: Likewise.
10961 * include/grub/i386/pc/memory.h: Likewise.
10962 * include/grub/i386/pc/vbe.h: Likewise.
10963 * include/grub/i386/pci.h: Likewise.
10964 * include/grub/i386/tsc.h: Likewise.
10965 * include/grub/ieee1275/ieee1275.h: Likewise.
10966 * include/grub/ntfs.h: Likewise.
10967 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
10968 * include/grub/sparc64/libgcc.h: Likewise.
10969 * include/grub/symbol.h: Likewise.
10970 * include/grub/types.h: Likewise.
10971 * include/multiboot2.h: Likewise.
10972 * io/gzio.c: Likewise.
10973 * kern/device.c: Likewise.
10974 * kern/disk.c: Likewise.
10975 * kern/efi/efi.c: Likewise.
10976 * kern/efi/mm.c: Likewise.
10977 * kern/elf.c: Likewise.
10978 * kern/file.c: Likewise.
10979 * kern/i386/dl.c: Likewise.
10980 * kern/i386/pc/init.c: Likewise.
10981 * kern/i386/pc/startup.S: Likewise.
10982 * kern/ieee1275/ieee1275.c: Likewise.
10983 * kern/ieee1275/init.c: Likewise.
10984 * kern/main.c: Likewise.
10985 * kern/mm.c: Likewise.
10986 * kern/powerpc/dl.c: Likewise.
10987 * kern/sparc64/dl.c: Likewise.
10988 * kern/x86_64/dl.c: Likewise.
10989 * lib/hexdump.c: Likewise.
10990 * loader/efi/appleloader.c: Likewise.
10991 * loader/i386/ieee1275/linux.c: Likewise.
10992 * loader/i386/pc/chainloader.c: Likewise.
10993 * loader/i386/pc/linux.c: Likewise.
10994 * loader/i386/pc/multiboot2.c: Likewise.
10995 * loader/ieee1275/multiboot2.c: Likewise.
10996 * loader/multiboot2.c: Likewise.
10997 * loader/multiboot_loader.c: Likewise.
10998 * loader/powerpc/ieee1275/linux.c: Likewise.
10999 * normal/completion.c: Likewise.
11000 * normal/menu_entry.c: Likewise.
11001 * partmap/apple.c: Likewise.
11002 * util/grub.d/10_hurd.in: Likewise.
11003 * util/hostfs.c: Likewise.
11004 * video/readers/png.c: Likewise.
11005
e2d70b5c
CW
110062010-01-03 Colin Watson <cjwatson@ubuntu.com>
11007
11008 * include/grub/misc.h (GNUC_PREREQ): New macro.
11009 (ATTRIBUTE_ERROR): New macro.
11010 * include/grub/list.h (grub_bad_type_cast_real): Use
11011 ATTRIBUTE_ERROR.
11012
a173283f 110132010-01-03 Carles Pina i Estany <carles@pina.cat>
11014
11015 * normal/menu_text.c (print_message): Change messages.
11016
7fa7ff74 110172010-01-03 Carles Pina i Estany <carles@pina.cat>
11018
11019 * normal/menu_entry.c (store_completion): Gettextizze.
11020
136d24f6 110212010-01-03 Carles Pina i Estany <carles@pina.cat>
11022
11023 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
11024
f936862e 110252010-01-03 Carles Pina i Estany <carles@pina.cat>
11026
11027 * po/POTFILES: Sort correctly.
11028
29c44ad1 110292010-01-03 Carles Pina i Estany <carles@pina.cat>
11030
11031 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
11032 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
11033 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
11034 full stop.
11035 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
11036 summary. Gettextizze the strings.
11037 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
11038 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
11039 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
11040 full stop.
11041 (GRUB_MOD_INIT): Remove command name from summary.
11042 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
11043 summary.
11044 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
11045 * term/i386/pc/serial.c (options): Add full stops.
11046 (GRUB_MOD_INIT): Remove command name from the summary.
11047
77a79592 110482010-01-03 Carles Pina i Estany <carles@pina.cat>
11049
11050 * commands/acpi.c: Gettextizze help strings and/or options. Include
11051 `grub/i18n.h' if needed.
11052 * commands/blocklist.c: Likewise.
11053 * commands/boot.c: Likewise.
11054 * commands/cat.c: Likewise.
11055 * commands/cmp.c: Likewise.
11056 * commands/configfile.c: Likewise.
11057 * commands/crc.c: Likewise.
11058 * commands/date.c: Likewise.
11059 * commands/echo.c: Likewise.
11060 * commands/efi/fixvideo.c: Likewise.
11061 * commands/efi/loadbios.c: Likewise.
11062 * commands/gptsync.c: Likewise.
11063 * commands/halt.c: Likewise.
11064 * commands/handler.c: Likewise.
11065 * commands/hdparm.c: Likewise.
11066 * commands/hexdump.c: Likewise.
11067 * commands/i386/cpuid.c: Likewise.
11068 * commands/i386/pc/drivemap.c: Likewise.
11069 * commands/i386/pc/halt.c: Likewise.
11070 * commands/i386/pc/pxecmd.c: Likewise.
11071 * commands/i386/pc/vbeinfo.c: Likewise.
11072 * commands/i386/pc/vbetest.c: Likewise.
11073 * commands/ieee1275/suspend.c: Likewise.
11074 * commands/keystatus.c: Likewise.
11075 * commands/loadenv.c: Likewise.
11076 * commands/ls.c: Likewise.
11077 * commands/lsmmap.c: Likewise.
11078 * commands/lspci.c: Likewise.
11079 * commands/memrw.c: Likewise.
11080 * commands/minicmd.c: Likewise.
11081 * commands/parttool.c: Likewise.
11082 * commands/password.c: Likewise.
11083 * commands/probe.c: Likewise.
11084 * commands/read.c: Likewise.
11085 * commands/reboot.c: Likewise.
11086 * commands/search.c: Likewise.
11087 * commands/sleep.c: Likewise.
11088 * commands/test.c: Likewise.
11089 * commands/true.c: Likewise.
11090 * commands/usbtest.c: Likewise.
11091 * commands/videotest.c: Likewise.
11092 * commands/xnu_uuid.c: Likewise.
11093 * disk/loopback.c: Likewise.
11094 * hello/hello.c: Likewise.
11095 * loader/i386/bsd.c: Likewise.
11096 * term/i386/pc/serial.c: Likewise.
11097 * po/POTFILES: Add new files.
11098
da8d5c53
CW
110992010-01-02 Colin Watson <cjwatson@ubuntu.com>
11100
11101 * term/i386/pc/at_keyboard.c
11102 (keyboard_controller_wait_untill_ready): Rename to ...
11103 (keyboard_controller_wait_until_ready): ... this. Update all users.
11104
33937904 111052010-01-01 Carles Pina i Estany <carles@pina.cat>
11106
11107 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
11108 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
11109 string using string width.
11110 * normal/menu_text.c (grub_print_message_indented): Use
11111 grub_print_spaces and not print_spaces.
11112 (print_timeout): Likewise.
11113 (print_spaces): Move to...
11114 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
11115
3fd3b8d8
RM
111162010-01-01 Robert Millan <rmh.grub@aybabtu.com>
11117
11118 Import from Gnulib.
11119
11120 * gnulib/getdelim.c: New file.
11121 * gnulib/getline.c: Likewise.
11122
33433555
VS
111232009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
11124
11125 * include/grub/list.h (grub_assert_fail): Removed.
11126 (grub_bad_type_cast_real): New function.
11127 (grub_bad_type_cast): New macro.
11128 (GRUB_AS_LIST): Use grub_bad_type_cast.
11129 (GRUB_AS_LIST_P): Likewise.
e44721e8 11130 (GRUB_AS_NAMED_LIST): Likewise.
33433555 11131 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 11132 (GRUB_AS_PRIO_LIST): Likewise.
33433555 11133 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 11134 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 11135
f5a51306
VS
111362009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
11139 Fix syntax error.
11140
90d1e879
RM
111412009-12-29 Robert Millan <rmh.grub@aybabtu.com>
11142
11143 * configure.ac: Check for TARGET_CFLAGS initialization before we
11144 initialize it ourselves (sigh).
11145 Move a few modifications to TARGET_CFLAGS to be unconditional
11146 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
11147 eh_frame)
11148
11149 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
11150 * term/i386/pc/at_keyboard.c
11151 (keyboard_controller_wait_untill_ready): Likewise.
11152 (keyboard_controller_led): Rename `led_status' paramter to avoid
11153 name conflict.
11154
465b5a81 111552009-12-28 Carles Pina i Estany <carles@pina.cat>
11156
11157 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
11158 quotes.
11159
c181849b
VS
111602009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
11163
9c8739a4
VS
111642009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * normal/menu_text.c (grub_print_message_indented): Prevent
11167 past-the-end-of-array dereference.
11168
3e74249c
VS
111692009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
11172 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
11173
64fd18ed 111742009-12-27 Carles Pina i Estany <carles@pina.cat>
11175
11176 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
11177 * normal/main.c (grub_normal_read_line): Remove a space from the
11178 default prompt.
11179
714af9b9 111802009-12-27 Carles Pina i Estany <carles@pina.cat>
11181
11182 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
11183 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11184 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
11185 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
11186 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11187 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11188 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11189
82f3e412 111902009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 11191
11192 * video/readers/jpeg.c (cmd): Declare.
11193 (grub_cmd_jpegtest): Use `grub_command_t' type.
11194 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11195 Assign to `cmd'.
11196 (GRUB_MOD_FINI): Use `cmd' to unregister.
11197 * video/readers/png.c (cmd): Declare.
11198 (grub_cmd_pngtest): Use `grub_command_t' type.
11199 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11200 Assign to `cmd'.
11201 (GRUB_MOD_FINI): Use `cmd' to unregister.
11202 * video/readers/tga.c (cmd): Declare.
11203 (grub_cmd_tgatest): Use `grub_command_t' type.
11204 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
11205 Assign to `cmd'.
11206 (GRUB_MOD_FINI): Use `cmd' to unregister.
11207
82f3e412 112082009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 11209
11210 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
11211 stops.
11212 * kern/corecmd.c (grub_register_core_commands): Likewise.
11213 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
11214 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
11215 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
11216 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11217 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
11218 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
11219 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
11220 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
11221 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11222 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
11223 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11224 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11225 * normal/handler.c (insert_handler): Likewise.
11226 * normal/main.c (GRUB_MOD_INIT): Likewise.
11227 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
11228
fdcdbb66 112292009-12-26 Carles Pina i Estany <carles@pina.cat>
11230
11231 * commands/help.c (grub_cmd_help): Print the command name before the
11232 summary.
11233 (GRUB_MOD_INIT): Remove command name from the summary.
11234 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 11235 string as summary.
fdcdbb66 11236 * lib/arg.c (find_long): Print the command name before the summary.
11237 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
11238 summary.
11239 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
11240 * commands/cat.c (GRUB_MOD_INIT): Likewise.
11241 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
11242 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
11243 * commands/crc.c (GRUB_MOD_INIT): Likewise.
11244 * commands/date.c (GRUB_MOD_INIT): Likewise.
11245 * commands/echo.c (GRUB_MOD_INIT): Likewise.
11246 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
11247 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
11248 * commands/handler.c (GRUB_MOD_INIT): Likewise.
11249 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
11250 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
11251 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
11252 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
11253 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
11254 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
11255 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
11256 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
11257 * commands/ls.c (GRUB_MOD_INIT): Likewise.
11258 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
11259 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
11260 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
11261 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
11262 * commands/password.c (GRUB_MOD_INIT): Likewise.
11263 * commands/probe.c (GRUB_MOD_INIT): Likewise.
11264 * commands/read.c (GRUB_MOD_INIT): Likewise.
11265 * commands/search.c (GRUB_MOD_INIT): Likewise.
11266 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
11267 * commands/test.c (GRUB_MOD_INIT): Likewise.
11268 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
11269 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
11270 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
11271 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
11272 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
11273 * lib/arg.c (GRUB_MOD_INIT): Likewise.
11274 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
11275 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
11276 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
11277 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11278 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
11279 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
11280 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
11281 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
11282
9c288be2
VS
112832009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 Use search command for preliminar UUID search.
11286
11287 * commands/search.c: Split into ...
11288 * commands/search_wrap.c: ...this
11289 * commands/search.c: ...and this.
11290 * commands/search_file.c: New file.
11291 * commands/search_label.c: New file.
11292 * commands/search_uuid.c: New file.
11293 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
11294 Add commands/search_wrap.c, commands/search_file.c,
11295 commands/search_label.c and commands/search_uuid.c.
11296 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
11297 (search_mod_SOURCES): Set to commands/search_wrap.c.
11298 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
11299 search_label.mod.
11300 (search_fs_file_mod_SOURCES): New variable.
11301 (search_fs_file_mod_CFLAGS): Likewise.
11302 (search_fs_file_mod_LDFLAGS): Likewise.
11303 (search_label_mod_SOURCES): Likewise.
11304 (search_label_mod_CFLAGS): Likewise.
11305 (search_label_mod_LDFLAGS): Likewise.
11306 (search_fs_uuid_mod_SOURCES): New variable.
11307 (search_fs_uuid_mod_CFLAGS): Likewise.
11308 (search_fs_uuid_mod_LDFLAGS): Likewise.
11309 (fs_file_mod_SOURCES): Removed.
11310 (fs_file_mod_CFLAGS): Likewise.
11311 (fs_file_mod_LDFLAGS): Likewise.
11312 (fs_uuid_mod_SOURCES): Removed.
11313 (fs_uuid_mod_CFLAGS): Likewise.
11314 (fs_uuid_mod_LDFLAGS): Likewise.
11315 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
11316 Set to util/grub-install.in.
11317 * disk/fs_file.c: Removed.
11318 * disk/fs_uuid.c: Likewise.
11319 * include/grub/search.h: New file.
11320 * util/grub-install.in: Handle sparc64.
11321 Create and use load.cfg.
11322 * util/sparc64/ieee1275/grub-install.in: Removed.
11323
db943399
VS
113242009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11325
11326 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
11327 Ignore return status if CF is cleared.
11328 (grub_biosdisk_get_diskinfo_standard): Likewise.
11329
3fdae612
RM
113302009-12-25 Robert Millan <rmh.grub@aybabtu.com>
11331
11332 * term/i386/pc/at_keyboard.c
11333 (keyboard_controller_wait_untill_ready): New function.
11334 (grub_keyboard_controller_write, grub_keyboard_controller_read)
11335 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
11336 for keyboard polling, rather than duplicate the same loop. This
11337 saves a few bytes in code size.
11338
7ebaa2b4
VS
113392009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11340
11341 Support for (pxe[:server[:gateway]]) syntax and
11342 use environment variable for PXE.
11343
11344 * commands/i386/pc/pxecmd.c (options): Removed.
11345 (print_ip): Removed.
11346 (grub_cmd_pxe): Removed
11347 (grub_cmd_pxe_unload): New function.
11348 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
11349 (grub_pxe_your_ip): Made static.
11350 (grub_pxe_default_server_ip): Likewise.
11351 (grub_pxe_default_gateway_ip): Likewise.
11352 (grub_pxe_blksize): Likewise.
11353 (parse_ip): New function.
11354 (grub_pxe_open): Support server and gateway specification.
11355 (grub_pxe_close): Free disk->data.
11356 (grub_pxefs_open): Use disk->data.
11357 (grub_pxefs_read): Likewise.
11358 (grub_env_write_readonly): New function.
11359 (set_mac_env): Likewise.
11360 (set_env_limn_ro): Likewise.
11361 (parse_dhcp_vendor): Likewise.
11362 (grub_pxe_detect): Set the environment variables.
11363 (set_ip_env): New function.
11364 (write_ip_env): Likewise.
11365 (grub_env_write_pxe_default_server): Likewise.
11366 (grub_env_write_pxe_default_gateway): Likewise.
11367 (grub_env_write_pxe_blocksize): Likewise.
11368 (GRUB_MOD_INIT(pxe)): Set environment variables.
11369 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
11370 (grub_pxe_mac_addr_t): ... this. All users updated.
11371 (grub_pxe_your_ip): Removed.
11372 (grub_pxe_server_ip): Likewise.
11373 (grub_pxe_gateway_ip): Likewise.
11374 (grub_pxe_blksize): Likewise.
11375
ec5f98ab 113762009-12-25 Carles Pina i Estany <carles@pina.cat>
11377
11378 * commands/help.c: Include `<grub/i18n.h>'.
11379 (grub_cmd_help): Gettextizze.
11380 (GRUB_MOD_INIT): Likewise.
11381 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
11382 (GRUB_MOD_INIT): Gettextizze.
11383 * commands/search.c: Include `<grub/i18n.h>'.
11384 (options): Gettextizze.
11385 (GRUB_MOD_INIT): Gettextizze.
11386 * lib/arg.c: Include `<grub/i18n.h>'.
11387 (help_options): Gettextizze.
11388 (find_long): Likewise.
11389 (grub_arg_show_help): Likewise.
11390 * normal/dyncmd.c: Include `<grub/i18n.h>'.
11391 (read_command_list): Gettextizze.
11392 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 11393 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 11394
22815526
RM
113952009-12-25 Robert Millan <rmh.grub@aybabtu.com>
11396
11397 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
11398 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
11399 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
11400 (led_status): New variable.
11401 (keyboard_controller_led): New function.
11402 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
11403 update led status for caps lock, num lock and scroll lock.
11404
0ad46fd7
FZ
114052009-12-25 Felix Zielcke <fzielcke@z-51.de>
11406
11407 * util/hostdisk.c (open_device): Fix a comment.
11408
d0e158c2
RM
114092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11410
11411 * util/grub-install.in (host_os): New variable.
11412 * util/i386/efi/grub-install.in (host_os): Likewise.
11413
401c0ad6
RM
114142009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11415
11416 * util/mkisofs/write.c (padblock_write): Abort when given an
11417 excedingly large embed image, instead of silently truncating it.
11418
d14d3370
RM
114192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11420
11421 * include/multiboot.h: Indentation fixes.
11422
eeed10b4
RM
114232009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11424
11425 * include/multiboot.h (struct multiboot_aout_symbol_table)
11426 (struct multiboot_elf_section_header_table): New structure
11427 declarations (stolen from GRUB Legacy).
11428 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
11429 table information.
11430
11431 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
11432 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
11433 type aliases.
11434
681c70ab
RM
114352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11436
11437 * include/multiboot.h: Make comments src2texi-friendly.
11438
e4d47d8d
RM
114392009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11440
11441 For consistency with [multiboot]/docs/boot.S.
11442
11443 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
11444 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
11445 (MULTIBOOT_MAGIC2): Rename from this ...
11446 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
11447
a0b70bda
RM
114482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11449
11450 * include/multiboot.h: Remove `<grub/types.h>'.
11451 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
11452 types. Update all users.
11453
61ba42be 114542009-12-25 Carles Pina i Estany <carles@pina.cat>
11455
11456 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
11457 `couldn't' and `can not' by `cannot'.
11458 * commands/i386/pc/drivemap.c: Likewise.
11459 * disk/ata.c: Likewise.
11460 * disk/ieee1275/nand.c: Likewise.
11461 * fs/affs.c: Likewise.
11462 * fs/fat.c: Likewise.
11463 * fs/hfs.c: Likewise.
11464 * fs/hfsplus.c: Likewise.
11465 * fs/iso9660.c: Likewise.
11466 * fs/jfs.c: Likewise.
11467 * fs/minix.c: Likewise.
11468 * fs/reiserfs.c: Likewise.
11469 * fs/sfs.c: Likewise.
11470 * fs/udf.c: Likewise.
11471 * fs/ufs.c: Likewise.
11472 * fs/xfs.c: Likewise.
11473 * loader/powerpc/ieee1275/linux.c: Likewise.
11474 * loader/sparc64/ieee1275/linux.c: Likewise.
11475 * util/grub-probe.c: Likewise.
11476 * util/misc.c: Likewise.
11477
7fd0baee 114782009-12-24 Carles Pina i Estany <carles@pina.cat>
11479
11480 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
11481 grub_errno calls.
11482 * commands/acpi.c: Likewise.
11483 * commands/blocklist.c: Likewise.
11484 * commands/efi/loadbios.c: Likewise.
11485 * commands/i386/pc/drivemap.c: Likewise.
11486 * commands/loadenv.c: Likewise.
11487 * commands/memrw.c: Likewise.
11488 * commands/password.c: Likewise.
11489 * commands/videotest.c: Likewise.
11490 * disk/ata.c: Likewise.
11491 * disk/ata_pthru.c: Likewise.
11492 * disk/dmraid_nvidia.c: Likewise.
11493 * disk/ieee1275/nand.c: Likewise.
11494 * disk/ieee1275/ofdisk.c: Likewise.
11495 * disk/loopback.c: Likewise.
11496 * disk/lvm.c: Likewise.
11497 * disk/mdraid_linux.c: Likewise.
11498 * disk/raid.c: Likewise.
11499 * disk/raid6_recover.c: Likewise.
11500 * disk/scsi.c: Likewise.
11501 * efiemu/main.c: Likewise.
11502 * efiemu/mm.c: Likewise.
11503 * efiemu/pnvram.c: Likewise.
11504 * efiemu/symbols.c: Likewise.
11505 * font/font.c: Likewise.
11506 * fs/cpio.c: Likewise.
11507 * fs/hfsplus.c: Likewise.
11508 * fs/iso9660.c: Likewise.
11509 * fs/jfs.c: Likewise.
11510 * fs/minix.c: Likewise.
11511 * fs/ntfs.c: Likewise.
11512 * fs/ntfscomp.c: Likewise.
11513 * fs/reiserfs.c: Likewise.
11514 * fs/ufs.c: Likewise.
11515 * fs/xfs.c: Likewise.
11516 * gettext/gettext.c: Likewise.
11517 * include/grub/auth.h: Likewise.
11518 * kern/elf.c: Likewise.
11519 * kern/file.c: Likewise.
11520 * kern/ieee1275/init.c: Likewise.
11521 * kern/ieee1275/mmap.c: Likewise.
11522 * kern/ieee1275/openfw.c: Likewise.
11523 * kern/powerpc/dl.c: Likewise.
11524 * kern/sparc64/dl.c: Likewise.
11525 * lib/arg.c: Likewise.
11526 * loader/i386/bsd.c: Likewise.
11527 * loader/i386/bsdXX.c: Likewise.
11528 * loader/i386/efi/linux.c: Likewise.
11529 * loader/i386/efi/xnu.c: Likewise.
11530 * loader/i386/ieee1275/linux.c: Likewise.
11531 * loader/i386/linux.c: Likewise.
11532 * loader/i386/multiboot.c: Likewise.
11533 * loader/i386/pc/linux.c: Likewise.
11534 * loader/i386/pc/multiboot2.c: Likewise.
11535 * loader/i386/xnu.c: Likewise.
11536 * loader/ieee1275/multiboot2.c: Likewise.
11537 * loader/macho.c: Likewise.
11538 * loader/machoXX.c: Likewise.
11539 * loader/multiboot2.c: Likewise.
11540 * loader/multiboot_loader.c: Likewise.
11541 * loader/powerpc/ieee1275/linux.c: Likewise.
11542 * loader/sparc64/ieee1275/linux.c: Likewise.
11543 * loader/xnu.c: Likewise.
11544 * loader/xnu_resume.c: Likewise.
11545 * mmap/i386/pc/mmap.c: Likewise.
11546 * normal/menu_viewer.c: Likewise.
11547 * partmap/acorn.c: Likewise.
11548 * partmap/amiga.c: Likewise.
11549 * partmap/apple.c: Likewise.
11550 * script/lexer.c: Likewise.
11551 * term/gfxterm.c: Likewise.
11552 * term/i386/pc/serial.c: Likewise.
11553 * term/i386/pc/vga.c: Likewise.
11554 * term/ieee1275/ofconsole.c: Likewise.
11555 * term/terminfo.c: Likewise.
11556 * video/bitmap.c: Likewise.
11557 * video/efi_gop.c: Likewise.
11558 * video/efi_uga.c: Likewise.
11559 * video/fb/video_fb.c: Likewise.
11560 * video/i386/pc/vbe.c: Likewise.
11561 * video/readers/tga.c: Likewise.
11562 * video/video.c: Likewise.
11563
0ad46fd7 115642009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
11565
11566 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
11567 * commands/lspci.c: Likewise.
11568 * commands/probe.c: Likewise.
11569 * commands/xnu_uuid.c: Likewise.
11570 * conf/i386-coreboot.rmk: Likewise.
11571 * conf/i386-efi.rmk: Likewise.
11572 * conf/i386-ieee1275.rmk: Likewise.
11573 * conf/i386-pc.rmk: Likewise.
11574 * conf/powerpc-ieee1275.rmk: Likewise.
11575 * conf/sparc64-ieee1275.rmk: Likewise.
11576 * conf/x86_64-efi.rmk: Likewise.
11577 * fs/i386/pc/pxe.c: Likewise.
11578 * gettext/gettext.c: Likewise.
11579 * include/grub/efi/graphics_output.h: Likewise.
11580 * include/grub/i386/pc/memory.h: Likewise.
11581 * kern/env.c: Likewise.
11582 * kern/i386/qemu/startup.S: Likewise.
11583 * lib/i386/pc/biosnum.c: Likewise.
11584 * lib/i386/relocator.c: Likewise.
11585 * lib/i386/relocator_asm.S: Likewise.
11586 * lib/relocator.c: Likewise.
11587 * loader/i386/bsd.c: Likewise.
11588 * loader/i386/multiboot.c: Likewise.
11589 * loader/i386/pc/chainloader.c: Likewise.
11590 * loader/i386/xnu.c: Likewise.
11591 * loader/xnu.c: Likewise.
11592 * normal/main.c: Likewise.
11593 * normal/menu_text.c: Likewise.
11594 * util/getroot.c: Likewise.
11595 * util/grub-mkconfig_lib.in: Likewise.
11596 * util/grub.d/00_header.in: Likewise.
11597 * util/i386/pc/grub-mkimage.c: Likewise.
11598 * util/mkisofs/eltorito.c: Likewise.
11599 * util/mkisofs/exclude.h: Likewise.
11600 * util/mkisofs/hash.c: Likewise.
11601 * util/mkisofs/iso9660.h: Likewise.
11602 * util/mkisofs/joliet.c: Likewise.
11603 * util/mkisofs/mkisofs.c: Likewise.
11604 * util/mkisofs/mkisofs.h: Likewise.
11605 * util/mkisofs/multi.c: Likewise.
11606 * util/mkisofs/name.c: Likewise.
11607 * util/mkisofs/rock.c: Likewise.
11608 * util/mkisofs/tree.c: Likewise.
11609 * util/mkisofs/write.c: Likewise.
11610 * video/efi_gop.c: Likewise.
11611
009ec743
VS
116122009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
11615 size counting.
11616
0ad46fd7 116172009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
11618
11619 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
11620 * genmk.rb (class SCRIPT): Modify the target file instead of source.
11621
d3d30ea0
VS
116222009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11623
11624 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
11625 (GRUB_MOD_INIT(memrw)): Update help line.
11626
a34f5c70
VS
116272009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11628
11629 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
11630 Use grub_extcmd_t. All users updated.
11631 (options): New variable.
11632 (grub_cmd_read): Restructure for readability. Support "-v" option.
11633 (grub_cmd_write): Restructure for readability.
11634
0ad46fd7 116352009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
11636
11637 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
11638
0ad46fd7 116392009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
11640
11641 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
11642 with the actual contents of the correspondending make variable.
11643 * util/grub-mkrescue.in (pkglib_DATA): New variable.
11644 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
11645 specifying `*.lst' and `efiemu??.o'
11646
0ad46fd7 116472009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
11648
11649 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
11650 after function name.
11651 Noticed by Rene Engelhard <rene@debian.org>.
11652
dc77a799
VS
116532009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
11656 (options): New variable.
11657 (iospace): Likewise.
11658 (grub_lspci_iter): List IO spaces if "-i" was given.
11659 (grub_cmd_lspci): Parse options.
11660 (GRUB_MOD_INIT(lspci)): Use extcmd.
11661 (GRUB_MOD_FINI(lspci)): Likewise.
11662
0ad46fd7 116632009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
11664
11665 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
11666 `function' keyword.
11667 Patch by Tony Mancill <tmancill@debian.org>.
11668
b5d5993b
VS
116692009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11670
11671 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
11672 (grub_uhci_portstatus): Likewise.
11673 (grub_uhci_portstatus): Add necessary delay.
11d18281 11674 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 11675
941903f2 116762009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 11677
941903f2 11678 * commands/acpi.c (options): Fix capitalizations and/or full stops.
11679 (GRUB_MOD_INIT): Likewise.
11680 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 11681 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
11682 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 11683 * commands/efi/loadbios.c (enable_rom_area): Likewise.
11684 (enable_rom_area): Likewise.
11685 (GRUB_MOD_INIT): Likewise.
11686 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
11687 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
11688 * commands/handler.c (GRUB_MOD_INIT): Likewise.
11689 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
11690 * commands/hexdump.c (options): Likewise.
11691 * commands/i386/cpuid.c (options): Likewise.
11692 (GRUB_MOD_INIT): Likewise.
11693 * commands/i386/pc/drivemap.c (options): Likewise.
11694 (GRUB_MOD_INIT): Likewise.
11695 * commands/i386/pc/halt (options): Likewise.
11696 (GRUB_MOD_INIT): Likewise.
11697 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
11698 * commands/i386/pc/pxecmd.c (options): Likewise.
11699 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
11700 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
11701 * commands/keystatus.c (options): Likewise.
11702 (GRUB_MOD_INIT): Likewise.
11703 * commands/loadenv.c (options): Likewise.
11704 * commands/ls.c (options): Likewise.
11705 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
11706 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
11707 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
11708 * commands/parttool.c (helpmsg): Likewise.
11709 * commands/probe.c (options): Likewise.
11710 * commands/read.c (GRUB_MOD_INIT): Likewise.
11711 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
11712 * commands/search.c (options): Likewise.
11713 * commands/sleep.c (options): Likewise.
11714 * commands/test.c (GRUB_MOD_INIT): Likewise.
11715 * commands/true.c (GRUB_MOD_INIT): Likewise.
11716 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
11717 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
11718 * lib/arg.c (help_options): Likewise.
e9bbb4e7 11719 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
11720 `$(XGETTEXT)'.
98a50553 11721 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 11722
0ad46fd7 117232009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 11724
ef3c2c3a 11725 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
11726 instead of specifying them explicit.
11727
7922f68b
RM
117282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11729
11730 * NEWS: Add grub-probe support for GNU/Hurd.
11731
537ce47f
RM
117322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11733
11734 * NEWS: gettext was added after 1.97.
11735
9b214e3a
RM
117362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11737
11738 * util/mkisofs/msdos_partition.h: New file (based on
11739 include/grub/msdos_partition.h).
11740 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
11741 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
11742 (ld_options, main): Recognize --protective-msdos-label.
11743 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
11744 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
11745 (padblock_write): If `use_protective_msdos_label' is set, patch a
11746 protective DOS-style label in the output image.
11747
11748 * util/grub-mkrescue.in: Use --protective-msdos-label.
11749
e9309813
RM
117502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11751
11752 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
11753 boot.
11754
0ae56929
RM
117552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11756
11757 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
11758 variables.
11759 (ld_options, main): Recognize `--embedded-boot'.
11760 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
11761 declarations.
11762 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
11763 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
11764 (padblock_write): Likewise. Rewrite to support embedded boot image.
11765
11766 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
11767 for BIOS-based disk boot instead of only ElTorito.
11768
b15937b1
RM
117692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11770
11771 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
11772 build (not needed for bootstrap).
11773
52cc3ce0
RM
117742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11775
11776 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
11777 from i386-pc build (not needed for bootstrap).
11778 Rewrite a pair of strings.
11779
36f5ff04
RM
117802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11781
11782 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
11783
973c6c85 117842009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
11785
11786 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
11787
05d21547
AB
117882009-12-21 Andreas Born <futur.andy@googlemail.com>
11789
11790 * kern/env.c (grub_env_context_open): Mark exported variable for
11791 reexport.
11792
0175d51f
AB
117932009-12-21 Andreas Born <futur.andy@googlemail.com>
11794
11795 * kern/env.c (grub_env_export): Create nonexistent variables before
11796 exporting.
11797
7f39d92f 117982009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 11799
7f39d92f 11800 * include/grub/auth.h: Include `<grub/i18n.h>'.
11801 (GRUB_GET_PASSWORD): Gettextizze string.
11802 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
11803 menu_text.c.
11804 (grub_utf8_to_ucs4_alloc): Fix indentation.
11805 (grub_print_ucs4): Likewise.
11806 (grub_getstringwidth): Likewise.
11807 (print_message_indented): New declaration.
11808 * normal/auth.c: Include `<grub/i18n.h>'.
11809 (grub_auth_check_authentication): Gettexttize string.
11810 * normal/cmdline.c: Include `<grub/i18n.h>'.
11811 (grub_cmdline_get): Gettextizze.
11812 * normal/color.c: Include `<grub/i18n.h>'.
11813 (grub_parse_color_name_pair): Gettexttize strings.
11814 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
11815 string (use `print_message_indented').
11816 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
11817 `include/grub/normal.h'.
11818 (print_message_indented): Renamed to ...
11819 (grub_print_message_indented): ... this. Remove `static' qualifer (now
11820 used in normal/main.c).
11821 (print_message): Use `grub_print_message_indented' instead of
11822 `print_message_indented'.
11823 (print_timeout): Likewise.
11824 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
11825 (grub_normal_print_device_info): Gettexttize strings.
11826 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
11827
3041d898
VS
118282009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
11831 of arguments. Return number of tokens and not arguments. All users
11832 updated.
11833
de15bf8e
VS
118342009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11835
11836 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
11837 non-MSDOS paritions.
11838
e0a6ca52
VS
118392009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 * include/grub/types.h (UNUSED): Removed since it conflicts with
11842 NetBSD headers. All users changed to direct __attribute__ ((unused)).
11843 Reported by Grégoire Sutre.
11844
b99518d1 118452009-12-19 Carles Pina i Estany <carles@pina.cat>
11846
11847 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
11848 (grub_print_ucs4_alloc): Likewise.
11849 (grub_getstringwidth): Likewise.
11850 * normal/main.c (grub_normal_init_page): Gettextize version string.
11851 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
11852 (getstringwidth): Renamed to ...
11853 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
11854 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
11855 (grub_print_ucs4): Remove `static' qualifer (now used in
11856 normal/main.c).
11857 * po/POTFILES: Add normal/main.c.
11858
bfd5e52b 118592009-12-19 Carles Pina i Estany <carles@pina.cat>
11860
11861 * normal/menu_text.c (STANDARD_MARGIN): New macro.
11862 (print_message_indented): Add `margin_left' and `margin_right'
11863 parameters.
11864 (print_message): Update `print_message_indented' calls. Adds '\n' to the
11865 strings.
11866 (print_timeout): Use `print_message_indented' to print the message.
11867 Deletes `second_stage' parameter.
11868 (run_menu): Update `print_timeout' calls.
11869
5a1ad2b9
VS
118702009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11871
11872 Fix console palette on OpenFirmware.
11873
11874 * term/ieee1275/ofconsole.c (MAX): Removed.
11875 (colors): Redone based on VGA palette.
11876 (grub_ofconsole_setcolor): Discard brightness bit since only 8
11877 colors are supported.
11878 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
11879
b045f00a
VS
118802009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 Fix potential EfiEmu double prepare.
11883
11884 * efiemu/main.c (prepared): New variable
11885 (grub_efiemu_unload): Set prepare to '0'.
11886 (grub_efiemu_prepare): Return if already prepared. Set prepared.
11887
11888 set_virtual_address_map support.
11889
11890 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
11891 prototype.
11892 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
11893 prototype.
11894 (grub_efiemu_crc32): Likewise.
11895 (grub_efiemu_crc64): Likewise.
11896 (grub_efiemu_set_virtual_address_map): Likewise.
11897 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
11898 New definition.
11899 (grub_autoefi_set_virtual_address_map): Likewise.
11900 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
11901 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
11902 Restructure flow to accomodate it.
11903 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
11904 (grub_efiemu_crc): Recompute CRC32.
11905 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
11906 (efiemu_ptv_relocated): ... this. Made global. All users updated.
11907 * efiemu/symbols.c (relocated_handle): New variable.
11908 (grub_efiemu_free_syms): Free relocated_handle.
11909 (grub_efiemu_alloc_syms): Allocate relocated_handle.
11910 (grub_efiemu_write_sym_markers): New function.
11911 (grub_efiemu_set_virtual_address_map): Likewise.
11912
11913 Newer XNU parameters.
11914
11915 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
11916 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
11917 (grub_xnu_fill_devicetree): New prototype.
11918 (grub_xnu_heap_real_start): New variable.
11919 * loader/xnu.c (get_name_ptr): New function.
11920 (grub_xnu_load_driver): Fill namelen and name.
11921
11922 64-bit xnu support.
11923
11924 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
11925 and 'loader/macho64.c'.
11926 * conf/i386-pc.rmk: Likewise.
11927 * conf/x86_64-efi.rmk: Likewise.
11928 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
11929 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
11930 * include/grub/macho.h (grub_macho_segment64): New structure.
11931 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
11932 (grub_macho_size32): ... to this.
11933 (grub_macho32_get_entry_point): Renamed from ...
11934 (grub_macho_get_entry_point32): ... to this.
11935 (grub_macho_contains_macho64): New prototype.
11936 (grub_macho_size64): Likewise.
11937 (grub_macho_get_entry_point64): Likewise.
11938 (grub_macho32_load): Renamed from ...
11939 (grub_macho_load32): ... to this.
11940 (grub_macho32_filesize): Renamed from ...
11941 (grub_macho_filesize32): ... to this.
11942 (grub_macho32_readfile): Renamed from ...
11943 (grub_macho_readfile32): ... to this.
11944 (grub_macho_filesize64): New prototype.
11945 (grub_macho_readfile64): Likewise.
11946 (grub_macho_parse32): Likewise.
11947 (grub_macho_parse64): Likewise.
11948 * loader/macho.c: Split into ...
11949 * loader/machoXX.c: ... and this. Replace 32 with XX.
11950 * loader/macho32.c: New file.
11951 * loader/macho64.c: Likewise.
11952 * loader/xnu.c (grub_xnu_is_64bit): New variable.
11953 (grub_cmd_xnu_kernel): Make 32-bit only.
11954 (grub_cmd_xnu_kernel64): New function.
11955 (grub_xnu_load_driver): Support Mach-O 64.
11956 (grub_cmd_xnu_mkext): Likewise.
11957 * util/grub.d/30_os-prober.in (osx_entry): New function.
11958 Generate entries for 64-bit boot too.
11959
11960 Eliminate ad-hoc tree format in XNU and EfiEmu.
11961
11962 * efiemu/main.c (grub_efiemu_prepare): Update comment.
11963 * efiemu/pnvram.c: Rewritten to use environment variables.
11964 All users updated.
11965
11966 Inline utf16_to_utf8.
11967
11968 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
11969 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
11970 All users updated.
11971 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
11972
11973 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
11974 * commands/usbtest.c (grub_usb_get_string): ... move here.
11975 (usb_print_str): Fix error handling.
11976 * include/grub/usb.h (grub_usb_get_string): Remove.
11977
11978 UTF-8 to UTF-16 transformation.
11979
11980 * conf/common.rmk (pkglib_MODULES): Add charset.mod
11981 (charset_mod_SOURCES): New variable.
11982 (charset_mod_CFLAGS): Likewise.
11983 (charset_mod_LDFLAGS): Likewise.
11984 * include/grub/utf.h: New file.
11985 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
11986
11987 Support for device properties.
11988
11989 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
11990 (grub_xnu_devprop_device_header): Likewise.
11991 (grub_xnu_devprop_device_descriptor): Likewise.
11992 (grub_xnu_devprop_add_device): New prototype.
11993 (grub_xnu_devprop_remove_device): Likewise.
11994 (grub_xnu_devprop_remove_property): Likewise.
11995 (grub_xnu_devprop_add_property_utf8): Likewise.
11996 (grub_xnu_devprop_add_property_utf16): Likewise.
11997 (grub_cpu_xnu_init): Likewise.
11998 (grub_cpu_xnu_fini): Likewise.
11999 (grub_cpu_xnu_unload): Likewise.
12000 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
12001 (property_descriptor): Likewise.
12002 (devices): New variable.
12003 (grub_xnu_devprop_remove_property): New function.
12004 (grub_xnu_devprop_add_device): Likewise.
12005 (grub_xnu_devprop_remove_device): Likewise.
12006 (grub_xnu_devprop_add_property): Likewise.
12007 (grub_xnu_devprop_add_property_utf8): Likewise.
12008 (grub_xnu_devprop_add_property_utf16): Likewise.
12009 (hextoval): Likewise.
12010 (grub_cpu_xnu_fill_devprop): Likewise.
12011 (grub_cmd_devprop_load): Likewise.
12012 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
12013 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
12014 (cmd_devprop_load): New variable.
12015 (grub_cpu_xnu_init): New function.
12016 (grub_cpu_xnu_fini): Likewise.
12017 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
12018 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
12019 (grub_cmd_xnu_devtree): Likewise.
12020 (hextoval): New function.
12021 (unescape): Likewise.
12022 (grub_xnu_fill_devicetree): Likewise.
12023
12024 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
12025 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
12026
0945f181
VS
120272009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 Workaround for broken ATI VBE.
12030
12031 * video/i386/pc/vbe.c (last_set_mode): New variable.
12032 (grub_vbe_set_video_mode): Set 'last_set_mode'.
12033 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
12034 (grub_video_vbe_setup): Don't check for reserved flag.
12035
0ad46fd7 120362009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
12037
12038 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
12039 the `find' command.
12040
c179ebe4
VS
120412009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 UUID support for HFS.
12044
12045 * fs/hfs.c (grub_hfs_uuid): New function.
12046 (grub_hfs_fs): New value .uuid.
12047 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
12048
0ad46fd7 120492009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
12050
12051 Fix a segfault with parsing unknown long options.
12052
12053 * util/grub-mkrelpath.c (options): Zero terminate it.
12054
c4a3e41a
CPE
120552009-12-13 Carles Pina i Estany <carles@pina.cat>
12056
12057 * include/grub/misc.h (grub_puts): New declaration.
12058 (grub_puts_): Likewise.
a22008a6 12059 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
12060 (grub_puts_): Likewise.
12061
2e8a7602
RM
120622009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12063
12064 * util/grub-probe.c (probe): Improve error message.
12065
b50b77b9
RM
120662009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12067
12068 * loader/i386/multiboot_elfxx.c
12069 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
12070 initialization.
12071
120722009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12073
12074 Relocator framework
12075
12076 * loader/i386/xnu_helper.S: Removed. All users updated.
12077 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
12078 (relocator_mod_SOURCES): New variable.
12079 (relocator_mod_CFLAGS): Likewise.
12080 (relocator_mod_LDFLAGS): Likewise.
12081 (relocator_mod_ASFLAGS): Likewise.
12082 * conf/x86_64.rmk: Likewise.
12083 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
12084 (grub_multiboot_payload_entry_offset): Likewise.
12085 (grub_multiboot_forward_relocator): Likewise.
12086 (grub_multiboot_forward_relocator_end): Likewise.
12087 (grub_multiboot_backward_relocator): Likewise.
12088 (grub_multiboot_backward_relocator_end): Likewise.
12089 (grub_multiboot_payload_eip): New variable.
12090 (grub_multiboot_payload_orig): Likewise.
12091 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
12092 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
12093 * include/grub/i386/memory.h
12094 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
12095 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
12096 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
12097 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
12098 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
12099 * include/grub/i386/relocator.h: New file.
12100 * include/grub/x86_64/relocator.h: Likewise.
12101 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
12102 (XNU_RELOCATOR): New macro.
12103 (grub_xnu_launcher_start): Remove.
12104 (grub_xnu_launcher_end): Likewise.
12105 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
12106 (grub_xnu_heap_real_start): Remove.
12107 (grub_xnu_heap_start): Change to void *. All users updated.
12108 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
12109 * lib/i386/relocator.c: New file.
12110 * lib/i386/relocator_asm.S: Likewise.
12111 * lib/i386/relocator_backward.S: Likewise.
12112 * lib/mips/relocator.c: Likewise.
12113 * lib/mips/relocator_asm.S: Likewise.
12114 * lib/relocator.c: Likewise.
12115 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
12116 (entry): Removed.
12117 (playground): Likewise.
12118 (grub_multiboot_payload_orig): New variable.
12119 (grub_multiboot_payload_dest): Likewise.
12120 (grub_multiboot_payload_size): Likewise.
12121 (grub_multiboot_payload_eip): Likewise.
12122 (grub_multiboot_payload_esp): Likewise.
12123 (grub_multiboot_boot): Use grub_relocator32_boot.
12124 (grub_multiboot_unload): Free relocators.
12125 (grub_multiboot): Setup stack. Use relocators.
12126 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
12127 (grub_multiboot_load_elfXX): Use relocators.
12128 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
12129 (grub_multiboot_payload_size): Likewise.
12130 (grub_multiboot_payload_dest): Likewise.
12131 (grub_multiboot_payload_entry_offset): Likewise.
12132 (grub_multiboot_forward_relocator): Likewise.
12133 (grub_multiboot_backward_relocator): Likewise.
12134 (grub_multiboot_real_boot): Likewise.
12135 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
12136 (grub_xnu_entry_point): Likewise.
12137 (grub_xnu_arg1): Likewise.
12138 (grub_xnu_stack): Likewise.
12139 (grub_xnu_launch): Removed.
12140 (grub_xnu_boot_resume): New function.
12141 (grub_xnu_boot): Use relocators.
12142 * loader/i386/xnu_helper.S: Removed.
12143 * loader/xnu.c (grub_xnu_heap_start): New variable.
12144 (grub_xnu_heap_size): Likewise.
12145 (grub_xnu_heap_malloc): Use relocators.
12146 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
12147
29eb90c6
VS
121482009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12149
12150 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
12151 anything.
12152
31027430
CPE
121532009-12-13 Carles Pina i Estany <carles@pina.cat>
12154
12155 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
12156 GRUB_ERR_NONE before calling grub_env_set.
12157
dc0c71d9
RM
121582009-12-12 Robert Millan <rmh@aybabtu.com>
12159
12160 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
12161 * genmk.rb (video): New variable.
12162 (CLEANFILES, VIDEOFILES): Add #{video}.
12163 (#{video}): New target rule.
12164 * genvideolist.sh: New file.
12165 * Makefile.in (pkglib_DATA): Add video.lst.
12166 (video.lst): New target rule.
12167 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
12168 `video.lst'.
12169 * util/grub.d/30_os-prober.in: Replace `vbe' with
12170 ${GRUB_VIDEO_BACKEND}.
12171
2a4bfcf0
RM
121722009-12-11 Robert Millan <rmh.grub@aybabtu.com>
12173
12174 * THANKS: Add David Miller.
12175
2a3aa4d5
RM
121762009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 libpciaccess support.
12179
12180 * Makefile.in (LIBPCIACCESS): New variable.
12181 (enable_grub_emu_pci): Likewise.
12182 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
12183 util/pci.c and commands/lspci.c.
12184 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
12185 * configure.ac (grub-emu-pci): New option.
12186 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
12187 (grub_pci_device_unmap_range): Likewise.
12188 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
12189 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
12190 (grub_pci_address_t) [!GRUB_UTIL]: New type.
12191 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
12192 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
12193 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
12194 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
12195 * include/grub/pciutils.h: New file.
12196 * util/pci.c: Likewise.
12197
0ad46fd7 121982009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
12199
12200 * util/misc.c: Don't include <errno.h> twice.
12201
0ad46fd7 122022009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
12203
12204 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
12205 name in an error message.
12206 (grub_biosdisk_rw): Likewise.
12207
2e59983c
VS
122082009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 Eliminate NTFS 4Gib barrier.
12211
12212 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
12213 (read_run_data): Likewise.
12214 (grub_ntfs_read_run_list): Likewise.
12215 (grub_ntfs_read_block): Likewise.
12216 (grub_ntfs_iterate_dir): Likewise.
12217 (read_mft): Likewise.
12218 (read_data): Likewise.
12219 Use COM_LOG_LEN.
12220 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
12221 to avoid 64-bit division
12222 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
12223 (grub_ntfs_rlst): Use grub_disk_addr_t.
12224
71ee178a
VS
122252009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 Eliminate grub-fstest 4Gib barrier.
12228
12229 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
12230 (read_file): Fix error reporting.
12231
2520d4b8
VS
122322009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 Eliminate hexdump 4Gib barrier.
12235
12236 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
12237 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
12238
e1f27065
VS
122392009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
12240
12241 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
12242 Fixes amarsh bug.
12243
1a0f7f45
RM
122442009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
12245
12246 Remove miscellaneous files in distclean target.
12247
12248 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
12249
c631d9fb
CW
122502009-12-09 Colin Watson <cjwatson@ubuntu.com>
12251
12252 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
12253 if they're already set. This resolves the conflict between my
12254 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
12255 fixing the --grub-probe option again.
12256 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
12257 change on 2009-10-06, so that we now once again source
12258 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12259
7c7b6106
RM
122602009-12-08 Robert Millan <rmh.grub@aybabtu.com>
12261
12262 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
12263 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
12264 `util/devicemap.c'.
12265
e3069ec1
CPE
122662009-12-08 Carles Pina i Estany <carles@pina.cat>
12267
12268 * include/grub/misc.h (grub_printf_): New declaration.
12269 * kern/misc.c (grub_printf_): New definition.
12270 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
12271 instead of `grub_printf' and `_'.
12272 * normal/menu_entry.c (store_completion): Likewise.
12273 (run): Likewise.
12274 (grub_menu_entry_run): Likewise.
12275 * normal/menu_text.c (grub_wait_after_message): Likewise.
12276 (notify_booting): Likewise.
12277 (notify_fallback): Likewise.
12278 (notify_execution_failure): Likewise.
12279
d6ceebf1
CW
122802009-12-07 Colin Watson <cjwatson@ubuntu.com>
12281
12282 * configure.ac: Check for vasprintf.
12283 * util/misc.c (asprintf): Move allocation from here ...
12284 (vasprintf): ... to here. New function.
12285 (xasprintf): New function.
12286 * include/grub/util/misc.h (vasprintf, xasprintf): Add
12287 prototypes.
12288 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
12289 * util/grub-mkfont.c (write_font): Likewise.
12290 * util/grub-probe.c (probe): Likewise.
12291 * util/hostdisk.c (make_device_name): Likewise.
12292
de6daa8b
DM
122932009-12-06 David S. Miller <davem@sunset.davemloft.net>
12294
12295 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
12296 anything even prefixed with 'cdrom' as a cdrom.
12297
0ad46fd7 122982009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
12299
12300 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
12301 mount points.
12302
98d3dc02
CPE
123032009-12-05 Carles Pina i Estany <carles@pina.cat>
12304
12305 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
12306 grub_gettext_msg_list.
12307 (grub_gettext_gettranslation_from_position): Return const char *
12308 and not char *.
a2c1332b 12309 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
12310 returns from the list if existing there.
12311 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
12312 (grub_gettext_delete_list): Delete the list.
12313 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
12314 lang environment variable is changed.
12315 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
12316
b283f108
VS
123172009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
12318
12319 Rename kernel.mod to kernel.img.
12320
12321 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
12322 (kernel_mod_EXPORTS): Rename to ...
12323 (kernel_img_EXPORTS): ... this.
12324 (kernel_mod_SOURCES): Rename to ...
12325 (kernel_img_SOURCES): ... this.
12326 (kernel_mod_HEADERS): Rename to ...
12327 (kernel_img_HEADERS): ... this. All users updated.
12328 (kernel_mod_CFLAGS): Rename to ...
12329 (kernel_img_CFLAGS): ... this.
12330 (kernel_mod_ASFLAGS): Rename to ...
12331 (kernel_img_ASFLAGS): ... this.
12332 (kernel_mod_LDFLAGS): Rename to ...
12333 (kernel_img_LDFLAGS): ... this.
12334 * conf/x86_64-efi.rmk: Likewise.
12335 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
12336 (read_kernel_image): ... this. All users updated.
12337 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
12338
69055f8a
CPE
123392009-12-05 Carles Pina i Estany <carles@pina.cat>
12340
12341 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
12342 (print_spaces): New function.
12343 (grub_print_ucs4): New function.
12344 (getstringwidth): New function.
12345 (print_message_indented): New function.
12346 (print_message): Gettexttize strings using print_message_indented.
12347 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
12348 width.
12349 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 12350 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
12351 Gettextize.
12352 * normal/menu_entry.c (store_completion): Cleanup the gettextized
12353 string.
12354 (run): Likewise.
12355 (grub_menu_entry_run): Likewise.
12356 * PO/POTFILES: Add normal/menu_entry.c.
12357
f616f51c
VS
123582009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
12361
57bbe3be
CPE
123622009-12-05 Carles Pina i Estany <carles@pina.cat>
12363
12364 * util/grub-install.in: Install gettext .mo files.
12365 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
12366
013d67a1
CPE
123672009-12-05 Carles Pina i Estany <carles@pina.cat>
12368
12369 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
12370 grub_dprintf.
12371
fb954db0
RM
123722009-12-05 Robert Millan <rmh.grub@aybabtu.com>
12373
12374 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
12375 non-firmware-dependant one in realmode.S takes precedence.
12376
6b8474f8
RM
123772009-12-04 Robert Millan <rmh.grub@aybabtu.com>
12378
12379 * commands/halt.c: Replace misc arch-specific headers with
12380 `<grub/misc.h>'.
12381 * commands/reboot.c: Likewise.
12382 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
12383 `<grub/misc.h>'.
12384 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
12385 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
12386 (kernel_img_SOURCES): ... to here.
12387
12388 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
12389 * include/grub/i386/pc/init.h: Likewise.
12390 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
12391 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
12392
12393 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
12394
12395 * include/grub/i386/halt.h: Remove.
12396 * include/grub/i386/reboot.h: Likewise.
12397
12398 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
12399
4b2e6ca2
DM
124002009-12-03 David S. Miller <davem@sunset.davemloft.net>
12401
12402 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
12403 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
12404 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
12405 "progname.h"
12406 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
12407 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12408 (usage): Add missing comma in printf.
12409
5239348f
RM
124102009-12-02 Robert Millan <rmh.grub@aybabtu.com>
12411
12412 Use the same reboot approach on i386 coreboot and qemu as we do on
12413 BIOS.
12414
12415 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
12416 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
12417 * kern/i386/reboot.c: Remove.
12418 * include/grub/i386/reboot.h (grub_reboot): Export function.
12419 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
12420 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
12421 0xf000:0xfff0 instead of 0xffff:0x0000.
12422 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
12423 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
12424
ef34cbd4
RM
124252009-11-30 Robert Millan <rmh.grub@aybabtu.com>
12426
12427 Fix $srcdir != $objdir build.
12428
12429 * Makefile.in (po/%.po): Rewrite as ...
12430 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
12431
dc9837ea
ST
124322009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
12433
12434 Fix GNU/Hurd grub-install crash.
12435 * util/grub-probe.c (probe): Try to access `path' only when it is not
12436 NULL.
12437
2f857f98
VS
124382009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 Correct module naming.
12441
12442 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
12443 (GRUB_MOD_INIT(efi_uga)): ... to this
12444 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
12445 (GRUB_MOD_FINI(efi_uga)): ... to this
12446 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
12447 (GRUB_MOD_INIT(efi_gop)): ... to this
12448 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
12449 (GRUB_MOD_FINI(efi_gop)): ... to this
12450
c5448046
RM
124512009-11-28 Robert Millan <rmh.grub@aybabtu.com>
12452
12453 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
12454 translatable.
12455 (usage): Translate `arg' strings using gettext().
12456 Thanks to Jordi Mallach for the suggestion.
12457
c85184ad
VS
124582009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 GOP support. Based on patch from Bean
12461 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
12462
12463 * video/efi_gop.c: New file.
12464 * include/grub/efi/graphics_output.h: Likewise.
12465 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
12466 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
12467 variables.
12468 * conf/x86_64-efi.rmk: Likewise.
12469
8a4c48d8
VS
124702009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 Rename efi_fb to efi_uga.
12473
12474 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
12475 'efi_uga.mod'.
12476 (efi_fb_mod_SOURCES): Rename this ...
12477 (efi_uga_mod_SOURCES): ... to this.
12478 (efi_fb_mod_CFLAGS): Rename this ...
12479 (efi_uga_mod_CFLAGS): ... to this.
12480 (efi_fb_mod_LDFLAGS): Rename this ...
12481 (efi_uga_mod_LDFLAGS): ... to this.
12482 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
12483 'efi_uga.mod'.
12484 (efi_fb_mod_SOURCES): Rename this ...
12485 (efi_uga_mod_SOURCES): ... to this.
12486 (efi_fb_mod_CFLAGS): Rename this ...
12487 (efi_uga_mod_CFLAGS): ... to this.
12488 (efi_fb_mod_LDFLAGS): Rename this ...
12489 (efi_uga_mod_LDFLAGS): ... to this.
12490 * video/efi_fb.c: Move this ...
12491 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
12492
fb6c1a7b
RM
124932009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12494
12495 * po/README: New file. Explain our PO file workflow.
12496
3bc7896c
RM
124972009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12498
12499 * po/ChangeLog: Remove. Move relevant entries back to ...
12500 * ChangeLog: ... here.
12501 * po/ca.po: Remove (now handled by TLP).
12502 * po/id.po: Likewise.
12503 * po/zh_CN.po: Likewise.
12504 * Makefile.in (LINGUAS): Initialize in a way that supports
12505 empty set.
12506
9ed4841d
RM
125072009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12508
12509 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
12510 reliing on po/LINGUAS.
12511 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
12512 (po/%.po): ... this.
12513
0ad46fd7 125142009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
12515
12516 * util/i386/efi/grub-mkimage.c: Include "progname.h".
12517 (main): Use `program_name' instead of nonexistent `progname'.
12518
e30dd392
FZ
125192009-11-26 Felix Zielcke <fzielcke@z-51.de>
12520
12521 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12522 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
12523
7656de4f
RM
125242009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12525
12526 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
12527 commit.
12528 * conf/i386-efi.rmk: Likewise.
12529 * conf/i386-ieee1275.rmk: Likewise.
12530 * conf/powerpc-ieee1275.rmk: Likewise.
12531 * conf/sparc64-ieee1275.rmk: Likewise.
12532 * conf/x86_64-efi.rmk: Likewise.
12533
db77c4d4
FZ
125342009-11-26 Felix Zielcke <fzielcke@z-51.de>
12535
12536 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
12537
a755bb04
FZ
125382009-11-26 Felix Zielcke <fzielcke@z-51.de>
12539
12540 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
12541
8a4c07fd
RM
125422009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12543
12544 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
12545 (grub_mkdevicemap_SOURCES): New variable.
12546 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
12547 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
12548 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
12549 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
12550 (grub_mkdevicemap_SOURCES): Remove.
12551 * conf/i386-efi.rmk: Likewise.
12552 * conf/i386-ieee1275.rmk: Likewise.
12553 * conf/i386-pc.rmk: Likewise.
12554 * conf/powerpc-ieee1275.rmk: Likewise.
12555 * conf/sparc64-ieee1275.rmk: Likewise.
12556 * conf/x86_64-efi.rmk: Likewise.
12557 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
12558 (usage): Fix strings to use `program_name'.
12559 (main): Initialize gettext.
12560 * util/grub-editenv.c: Likewise.
12561 * util/grub-emu.c: Likewise.
12562 * util/grub-fstest.c: Likewise.
12563 * util/grub-mkdevicemap.c: Likewise.
12564 * util/grub-mkfont.c: Likewise.
12565 * util/grub-mkrelpath.c: Likewise.
12566 * util/grub-pe2elf.c: Likewise.
12567 * util/grub-probe.c: Likewise.
12568 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
12569 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
12570 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12571
12572 * util/misc.c: Include `"progname.h"'.
12573 (progname): Remove variable.
12574 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
12575
6f61ed55
FZ
125762009-11-25 Felix Zielcke <fzielcke@z-51.de>
12577
12578 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
12579 printf and print a newline after the menuentry header line.
12580 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12581
f022876b
FZ
125822009-11-25 Felix Zielcke <fzielcke@z-51.de>
12583
12584 autoconf >= 2.60 support $(localedir).
12585
12586 * INSTALL: Note that autoconf 2.60 is required.
12587 * configure.ac (AC_PREREQ): Bump to 2.60.
12588 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
12589 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12590
6717926e
YB
125912009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
12592
12593 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
12594 aclocal is run.
12595
08806a54
RM
125962009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12597
12598 * normal/main.c (grub_normal_read_line): Fix off-by-one
12599 buffer overflow.
12600
13b33fba
RM
126012009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12602
12603 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
12604 "parser.grub" in grub_command_execute() call.
12605
4a8572e9
CPE
126062009-11-24 Carles Pina i Estany <carles@pina.cat>
12607
12608 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
12609 * conf/i386-efi.rmk: Likewise.
12610 * conf/i386-ieee1275.rmk: Likewise.
12611 * conf/i386-pc.rmk: Likewise.
12612 * conf/powerpc-ieee1275.rmk: Likewise.
12613 * conf/sparc64-ieee1275.rmk: Likewise.
12614 * conf/x86_64-efi.rmk: Likewise.
12615 * gettext/gettex.c: Include <grub/i18n.h>.
12616 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
12617 here ...
12618 * include/grub/i18n.h: ... to here
12619 * include/grub/i18n.h: ... to here.
12620 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 12621 (grub_gettext_dummy): Move above user.
4a8572e9 12622
bee48093
FZ
126232009-11-24 Felix Zielcke <fzielcke@z-51.de>
12624
12625 * util/Makefile.in (install-local): Convert a `for' into a normal
12626 shell expansion.
12627
a031e91c
RM
126282009-11-24 Robert Millan <rmh.grub@aybabtu.com>
12629
12630 * autogen.sh: Add automake call.
12631 * config.guess: Remove.
12632 * config.sub: Likewise.
12633 * install-sh: Likewise.
12634
26bec39d
FZ
126352009-11-24 Felix Zielcke <fzielcke@z-51.de>
12636
12637 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
12638
8e2532fd
FZ
126392009-11-24 Felix Zielcke <fzielcke@z-51.de>
12640
12641 * util/Makefile.in (install-local): Convert a make `$(foreach)'
12642 function to a normal shell `for'.
12643
fefa1b7d
FZ
126442009-11-24 Felix Zielcke <fzielcke@z-51.de>
12645
12646 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12647
4501250b
FZ
126482009-11-24 Felix Zielcke <fzielcke@z-51.de>
12649
12650 * util/grub-mkrelpath.c: New file.
12651 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
12652 (grub_mkrelpath_SOURCES): New variable.
12653 * include/grub/util/misc.h: New function prototype.
12654 * util/misc.c (make_system_path_relative_to_its_root): New function.
12655
12656 * util/grub-mkconfig_lib.in (bindir): New variable.
12657 (grub_mkrelpath): Likewise.
12658 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
12659
12660 * util/probe.c (probe): Make the file path relative to its root.
12661 Change a info message to use the GRUB path. Enable again the
12662 check if we can read the file with GRUB facilities.
12663
12664 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
12665 to its root.
12666
11d9778b
FZ
126672009-11-24 Felix Zielcke <fzielcke@z-51.de>
12668
12669 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
12670 platform.
12671
4465287d
FZ
126722009-11-24 Felix Zielcke <fzielcke@z-51.de>
12673
12674 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
12675 strncmp().
12676
62b47f22
FZ
126772009-11-24 Felix Zielcke <fzielcke@z-51.de>
12678
12679 * util/getroot.c (grub_util_is_dmraid): New function.
12680 (grub_util_get_dev_abstraction): Treat dmraid and multipath
12681 devices as normal ones, not as LVM.
12682
1eafb9b9 126832009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
12684
12685 * conf/common.rmk: Add grub-gettext_lib target and updates
12686 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
12687 LDFLAGS.
12688 * gettext/gettext.c: New file. (Reads mo files).
12689 * include/grub/file.h (grub_file_pread): New prototype.
12690 * include/grub/i18n.h (_): New prototype.
12691 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
12692 prototypes.
12693 * kern/misc.c (grub_gettext_dummy): New function.
12694 * normal/menu_text.c: Include <grub/i18n.h>.
12695 * normal/menu_text.c (print_timeout): Gettexttize string.
12696 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
12697 * po/POTFILES: Add `normal/menu_text.c'.
12698 * po/ca.po: Add new translations.
c3ea6bd4
CPE
12699 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
12700 gettext module and defines locale_dir and lang in grub.cfg.
12701 * NEWS: Add gettext support.
12702
0fdb2568
RM
127032009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12704
12705 * util/hostdisk.c: Include `<grub/i18n.h>'.
12706 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
12707 (make_device_name): Rewrite using asprintf.
12708 (convert_system_partition_to_system_disk): Replace 0 with NULL.
12709 (find_system_device): If a device is not found, generate one just
12710 by reusing the OS path name.
12711 (read_device_map): Make it permissible for device.map not to exist.
12712
f515aa62
RM
127132009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12714
12715 * script/sh/execute.c: Move from here ...
12716 * script/execute.c: ... to here. Update all users.
12717 * script/sh/function.c: Move from here ...
12718 * script/function.c: ... to here. Update all users.
12719 * script/sh/lexer.c: Move from here ...
12720 * script/lexer.c: ... to here. Update all users.
12721 * script/sh/main.c: Move from here ...
12722 * script/main.c: ... to here. Update all users.
12723 * script/sh/parser.y: Move from here ...
12724 * script/parser.y: ... to here. Update all users.
12725 * script/sh/script.c: Move from here ...
12726 * script/script.c: ... to here. Update all users.
12727
f84b481b
RM
127282009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12729
12730 * configure.ac: Detect all `emu' platforms. Define
12731 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
12732 --enable-grub-emu logic. Disable include/grub/machine
12733 symlink on `emu' platforms.
12734
12735 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
12736 * gensymlist.sh.in: Likewise.
12737
12738 * include/grub/i386/coreboot/machine.h: Remove file.
12739 * include/grub/i386/efi/machine.h: Likewise.
12740 * include/grub/i386/ieee1275/machine.h: Likewise.
12741 * include/grub/i386/pc/machine.h: Likewise.
12742 * include/grub/i386/qemu/machine.h: Likewise.
12743 * include/grub/powerpc/ieee1275/machine.h: Likewise.
12744 * include/grub/sparc64/ieee1275/machine.h: Likewise.
12745 * include/grub/x86_64/efi/machine.h: Likewise.
12746
12747 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
12748 * commands/halt.c: Likewise.
12749 * commands/reboot.c: Likewise.
12750 * include/grub/autoefi.h: Likewise.
12751 * include/grub/i386/at_keyboard.h: Likewise.
12752 * include/grub/i386/kernel.h: Likewise.
12753 * include/grub/i386/loader.h: Likewise.
12754 * include/grub/i386/pc/memory.h: Likewise.
12755 * kern/dl.c: Likewise.
12756 * kern/i386/coreboot/init.c: Likewise.
12757 * loader/i386/bsd.c: Likewise.
12758 * loader/i386/linux.c: Likewise.
12759 * loader/multiboot_loader.c: Likewise.
12760 * term/i386/pc/serial.c: Likewise.
12761 * term/usb_keyboard.c: Likewise.
12762
12763 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
12764 `<grub/machine/machine.h>'
12765 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
12766 * util/misc.c: Remove `<grub/machine/machine.h>' and
12767 `<grub/machine/time.h>'.
12768
12769 * Makefile.in (enable_grub_emu): Remove variable.
12770 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
12771
12772 * conf/any-emu.rmk: New file.
12773 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
12774 (grub_emu_init.c): Move from here ...
12775 * conf/any-emu.rmk: ... to here.
12776
12777 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
12778 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
12779 * conf/any-emu.rmk: ... to here.
12780
4efeab03
RM
127812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12782
12783 * include/grub/parser.h (grub_parser_register): Document need
12784 of `name' parameter.
12785 * normal/main.c (grub_normal_read_line): Simplify prompt string.
12786 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
12787 "sh" to "grub".
12788
ea1dd8bf
RM
127892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12790
12791 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
12792 `$(XGETTEXT)'.
12793 * include/grub/i18n.h (N_): New macro.
12794 * util/mkisofs/mkisofs.h: Likewise.
12795 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
12796 around N_().
12797 (usage): Use gettext() to translate help strings when printing them.
12798
0c140626
RM
127992009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12800
12801 Based on patch from Bean
12802 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
12803
12804 * video/efi_fb.c: New file.
12805 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
12806 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
12807 variables.
12808 * conf/x86_64-efi.rmk: Likewise.
12809
87d58298
RM
128102009-11-22 Robert Millan <rmh.grub@aybabtu.com>
12811
12812 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
12813 * util/i386/pc/grub-setup.c: Likewise.
12814
994cc3a3
ST
128152009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
12816
12817 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
12818 <hurd/fs.h>
12819 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
12820 file_get_storage_info to implement grub_guess_root_device.
12821
26a61d6a
FZ
128222009-11-21 Felix Zielcke <fzielcke@z-51.de>
12823
12824 * Makefile.in (target): Use make's builtin $(shell) function
12825 instead of calling directly $(SHELL) to create the locale directories,
12826 inside the $(foreach) function.
12827
74ff1dd5
FZ
128282009-11-21 Felix Zielcke <fzielcke@z-51.de>
12829
12830 * util/grub-mkrescue.in: Print an error and usage if output option
12831 has not been given.
12832
0b787d0e
FZ
128332009-11-21 Felix Zielcke <fzielcke@z-51.de>
12834
12835 Patch from Loïc Minier <loic.minier@ubuntu.com>.
12836 * util/grub.d/30_os-prober.in: Cope with Linux entries where
12837 root and /boot are on different devices.
12838
1164b270
RM
128392009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12840
12841 Fix build for srcdir != objdir.
12842
12843 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
12844 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
12845 $(srcdir).
12846 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
12847 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
12848 reference for input.
12849
13774a2f
RM
128502009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12851
12852 * util/grub-mkrescue.in: Use source directory direcly (without copiing
12853 or hardlinking it). Remove -J option, Joliet is not compatible with
12854 multiple source directories.
12855
efda854e
RM
128562009-11-21 Carles Pina i Estany <carles@pina.cat>
128572009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12858
12859 * util/grub-mkrescue.in: Recognize `--override-directory' option.
12860 (process_input_dir): New function. Process an arbitrary input
12861 directory.
12862 Misc adjustments to support both "override mode" and system-wide mode.
12863
6c09890c
FZ
128642009-11-20 Felix Zielcke <fzielcke@z-51.de>
12865
12866 * configure.ac (UNIFONT_BDF): Rename to ...
12867 (FONT_SOURCE): ... this. Update all users.
12868
a797824f
FZ
128692009-11-20 Felix Zielcke <fzielcke@z-51.de>
12870
12871 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
12872 to the list of unifont files to look for.
12873
cd4f42b0
RM
128742009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12875
12876 Patch from Joe Auricchio <jauricchio@gmail.com>
12877 * commands/minicmd.c (grub_mini_cmd_clear): New function.
12878 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
12879 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
12880
393c783d
FZ
128812009-11-19 Felix Zielcke <fzielcke@z-51.de>
12882
12883 * Makefile.in (install-local): Add a missing backslash.
12884
b2f1e327
FZ
128852009-11-19 Felix Zielcke <fzielcke@z-51.de>
12886
12887 * include/grub/x86_64/io.h: New file.
12888
f577f7a0
RM
128892009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12890
12891 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
12892 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
12893 Include `"progname.h"'.
12894 (main): Initialize gettext.
12895 * util/i386/pc/grub-setup.c: Gettexttize.
12896 * util/i386/pc/grub-mkimage.c: Likewise.
12897
12898 * Makefile.in (po/*.po): Redefine as ...
12899 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
12900
3bc7896c
RM
12901 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
12902
c37943b6
RM
129032009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12904
12905 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
12906 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
12907 (program_name): Remove.
12908 (main): Initialize gettext support.
6323f705
RM
12909 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
12910 Include `<libintl.h>'.
12911 (_): New macro.
c37943b6
RM
12912
12913 * util/mkisofs/eltorito.c: Gettexttize.
12914 * util/mkisofs/joliet.c: Likewise.
12915 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
12916 * util/mkisofs/multi.c: Likewise.
12917 * util/mkisofs/rock.c: Likewise.
12918 * util/mkisofs/tree.c: Likewise.
12919 * util/mkisofs/write.c: Likewise.
12920
3bc7896c
RM
12921 * po/POTFILES: Update with new files.
12922
5ce77c6e
RM
129232009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12924
12925 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
12926 * util/mkisofs/iso9660.h: Likewise.
12927 * util/mkisofs/joliet.c: Likewise.
12928 * util/mkisofs/mkisofs.c: Likewise.
12929 * util/mkisofs/mkisofs.h: Likewise.
12930 * util/mkisofs/rock.c: Likewise.
12931 * util/mkisofs/tree.c: Likewise.
12932 * util/mkisofs/write.c: Likewise.
12933
12934 * util/mkisofs/eltorito.c (rcsid): Remove.
12935 * util/mkisofs/hash.c: Likewise.
12936 * util/mkisofs/joliet.c: Likewise.
12937 * util/mkisofs/name.c: Likewise.
12938 * util/mkisofs/rock.c: Likewise.
12939 * util/mkisofs/tree.c: Likewise.
12940 * util/mkisofs/write.c: Likewise.
12941
1dabbc77
RM
129422009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12943
12944 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
12945 instead of static allocation.
12946 * util/mkisofs/match.h: Likewise.
12947
633877cb
RM
129482009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12949
3bc7896c
RM
12950 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
12951 and `util/grub.d/10_linux.in'.
633877cb
RM
12952 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
12953 translatable Shell files.
12954
af1c0c85
RM
129552009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12956
12957 * Makefile.in ($(srcdir)/aclocal.m4): New target.
12958
769ae37b
RM
129592009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12960
12961 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 12962 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
12963 * util/grub.d/10_kfreebsd.in (bindir): New variable.
12964 Add gettext initialization.
12965 (kfreebsd_entry): Make menuentry output translatable.
12966
129672009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12968
12969 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
12970 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
12971 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
12972 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
12973 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 12974 * po/LINGUAS: New file.
769ae37b
RM
12975
129762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12977
12978 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
12979 other things).
12980 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
12981 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
12982 bindtextdomain() calls for gettext initialization.
12983
129842009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12985
12986 * gnulib/progname.c: New file (imported from Gnulib).
12987 * gnulib/progname.h: Likewise.
12988 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12989 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
12990 (usage): Replace `progname' with `program_name'.
12991 (main): Use set_program_name() for program name initialization.
12992
129932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12994
12995 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
12996 from here ...
12997 * Makefile.in (CPPFLAGS): ... to here.
12998
129992009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13000
13001 * aclocal.m4: Move from here ...
13002 * acinclude.m4: ... to here.
13003 * autogen.sh: Add call to `aclocal'.
13004 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
13005
130062009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13007
13008 * Makefile.in (CLEANFILES): Add `po/*.mo'.
13009 (LINGUAS): New variable.
13010 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
13011 (install-local): Install MO files.
13012 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
13013 * include/grub/i18n.h: New file.
3bc7896c
RM
13014 * po/POTFILES: New file.
13015 * po/ca.po: New file.
769ae37b
RM
13016 * util/grub.d/10_linux.in (bindir): New variable.
13017 Add gettext initialization.
13018 (linux_entry): Make menuentry output translatable.
13019 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
13020 (usage): Make --help output translatable.
13021 (main): Initialize gettext.
13022
02c0a6ad
RM
130232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13024
13025 * import_gcry.py: New file (written by Vladimir with minor
13026 adjustments).
13027 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
13028 ciphers.
13029 * INSTALL: Document that Python is required for bootstrap.
13030
130312009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13032
13033 Import ciphers from libgcrypt 1.4.4.
13034
13035 * lib/libgcrypt/cipher/ChangeLog
13036 * lib/libgcrypt/cipher/ac.c
13037 * lib/libgcrypt/cipher/arcfour.c
13038 * lib/libgcrypt/cipher/bithelp.h
13039 * lib/libgcrypt/cipher/blowfish.c
13040 * lib/libgcrypt/cipher/camellia-glue.c
13041 * lib/libgcrypt/cipher/camellia.c
13042 * lib/libgcrypt/cipher/camellia.h
13043 * lib/libgcrypt/cipher/cast5.c
13044 * lib/libgcrypt/cipher/cipher.c
13045 * lib/libgcrypt/cipher/crc.c
13046 * lib/libgcrypt/cipher/des.c
13047 * lib/libgcrypt/cipher/dsa.c
13048 * lib/libgcrypt/cipher/ecc.c
13049 * lib/libgcrypt/cipher/elgamal.c
13050 * lib/libgcrypt/cipher/hash-common.c
13051 * lib/libgcrypt/cipher/hash-common.h
13052 * lib/libgcrypt/cipher/hmac-tests.c
13053 * lib/libgcrypt/cipher/md.c
13054 * lib/libgcrypt/cipher/md4.c
13055 * lib/libgcrypt/cipher/md5.c
13056 * lib/libgcrypt/cipher/primegen.c
13057 * lib/libgcrypt/cipher/pubkey.c
13058 * lib/libgcrypt/cipher/rfc2268.c
13059 * lib/libgcrypt/cipher/rijndael-tables.h
13060 * lib/libgcrypt/cipher/rijndael.c
13061 * lib/libgcrypt/cipher/rmd.h
13062 * lib/libgcrypt/cipher/rmd160.c
13063 * lib/libgcrypt/cipher/rsa.c
13064 * lib/libgcrypt/cipher/seed.c
13065 * lib/libgcrypt/cipher/serpent.c
13066 * lib/libgcrypt/cipher/sha1.c
13067 * lib/libgcrypt/cipher/sha256.c
13068 * lib/libgcrypt/cipher/sha512.c
13069 * lib/libgcrypt/cipher/tiger.c
13070 * lib/libgcrypt/cipher/twofish.c
13071 * lib/libgcrypt/cipher/whirlpool.c
13072
af2f93ac
RM
130732009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13074
13075 Fix build for systems without error().
13076
13077 * gnulib/error.c: New file (imported from Gnulib).
13078 * gnulib/error.h: Likewise.
13079 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
13080 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
13081 (this variable is now used by error()).
13082
73fb3dd5
FZ
130832009-11-16 Felix Zielcke <fzielcke@z-51.de>
13084
814f5e96
FZ
13085 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
13086 instead of relying that char is signed.
73fb3dd5 13087
a691ca33
VS
130882009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13089
13090 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
13091 blocksize different from specified.
13092 (grub_pxefs_read): Likewise.
13093
2af8f0f4
FZ
130942009-11-16 Felix Zielcke <fzielcke@z-51.de>
13095
13096 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
13097
13098 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
13099 (grub_ata_readwrite): Likewise. Update 2 format strings.
13100 (grub_atapi_read): Likewise.
13101
13102 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
13103 * conf/i386.rmk (pkglib_MODULES): ... to here ...
13104 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
13105 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
13106 (ata_mod_LDFLAGS): Move from here ...
13107 * conf/i386.rmk: ... to here ...
13108 * conf/x86_64-efi.rmk: ... and here.
13109 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
13110 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
13111
83bdecaf
RM
131122009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13113
13114 Relicense multiboot.h, with RMS' blessing.
13115
13116 * include/multiboot.h: Change to X11 license.
13117
fd6fd3d7
RM
131182009-11-15 Robert Millan <rmh.grub@aybabtu.com>
13119
13120 Support --version in grub-mkisofs.
13121
13122 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
13123 (OPTION_VERSION): New macro.
13124 (ld_options): Recognize --version.
13125 (usage): Move `program_name' from here ...
13126 (program_name): ... to here. Add `static' qualifier.
13127 (main): Recognize `OPTION_VERSION'.
13128
16a88c49
FZ
131292009-11-15 Felix Zielcke <fzielcke@z-51.de>
13130
13131 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
13132 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
13133
a4158476
RM
131342009-11-14 Robert Millan <rmh.grub@aybabtu.com>
13135
13136 Fix help2man generation for mkisofs.
13137
13138 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
13139 (usage): Send output to stdout (rather than stderr).
13140
fc2208b0
RM
131412009-11-14 Robert Millan <rmh.grub@aybabtu.com>
13142
13143 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
13144 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
13145 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
13146 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
13147 (bin_SCRIPTS): Add `grub-mkfloppy'.
13148 (grub_mkfloppy_SOURCES): New variable.
13149
13150 * util/grub-mkrescue.in: New file.
13151 * util/i386/pc/grub-mkfloppy.in: New file.
13152
13153 * util/i386/coreboot/grub-mkrescue.in: Remove.
13154 * util/i386/pc/grub-mkrescue.in: Remove.
13155
8d0edf4a
RM
131562009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13157
13158 * include/grub/multiboot.h (struct grub_multiboot_header): Move
13159 from here ...
13160 * include/multiboot.h (struct multiboot_header): ... to here. Update
13161 all users.
13162 * include/grub/multiboot.h (struct grub_multiboot_info): Move
13163 from here ...
13164 * include/multiboot.h (struct multiboot_info): ... to here. Update
13165 all users.
13166 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
13167 from here ...
13168 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
13169 Update all users.
13170 * include/grub/multiboot.h (struct grub_mod_list): Move
13171 from here ...
13172 * include/multiboot.h (struct multiboot_mod_list): ... to here.
13173 Update all users.
13174
a73f5969
RM
131752009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13176
13177 * include/multiboot2.h (multiboot_word): Rename from this ...
13178 (multiboot2_word): ... to this. Update all users.
13179 (multiboot_header): Rename from this ...
13180 (multiboot2_header): ... to this. Update all users.
13181 (multiboot_tag_header): Rename from this ...
13182 (multiboot2_tag_header): ... to this. Update all users.
13183 (multiboot_tag_start): Rename from this ...
13184 (multiboot2_tag_start): ... to this. Update all users.
13185 (multiboot_tag_name): Rename from this ...
13186 (multiboot2_tag_name): ... to this. Update all users.
13187 (multiboot_tag_module): Rename from this ...
13188 (multiboot2_tag_module): ... to this. Update all users.
13189 (multiboot_tag_memory): Rename from this ...
13190 (multiboot2_tag_memory): ... to this. Update all users.
13191 (multiboot_tag_unused): Rename from this ...
13192 (multiboot2_tag_unused): ... to this. Update all users.
13193 (multiboot_tag_end): Rename from this ...
13194 (multiboot2_tag_end): ... to this. Update all users.
13195
1c8927f0
RM
131962009-11-13 Robert Millan <rmh.grub@aybabtu.com>
13197
13198 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
13199 this platform we should support Multiboot1 first.
13200
13201 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
13202 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
13203 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
13204
6e1e0d89
RM
132052009-11-12 Robert Millan <rmh.grub@aybabtu.com>
13206
13207 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
13208 of write calls (converting them to fwrite() if they aren't already).
13209 (get_torito_desc): Likewise.
13210 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
13211
7f2b34d8
RM
132122009-11-12 Robert Millan <rmh.grub@aybabtu.com>
13213
13214 * util/i386/pc/grub-install.in: Move from here ...
13215 * util/grub-install.in: ... to here. Update all users.
13216
c0ef3311
CW
132172009-11-11 Colin Watson <cjwatson@ubuntu.com>
13218
13219 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
13220
e1f240ff
RM
132212009-11-11 Robert Millan <rmh.grub@aybabtu.com>
13222
13223 Support for El Torito without floppy emulation.
13224
13225 * util/mkisofs/eltorito.c: Include `<errno.h>'.
13226 (init_boot_catalog): Improve error handling.
13227 (get_torito_desc): Don't use floppy emulation unless requested by
13228 user. Patch boot information table when requested via
13229 `-boot-info-table'.
13230 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
13231 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
13232 (use_boot_info_table): New variables.
13233 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
13234 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
13235 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
13236 `--eltorito-emul-floppy'.
13237 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
13238 and `OPTION_ELTORITO_EMUL_FLOPPY'.
13239 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
13240 (use_boot_info_table, get_731): New prototypes.
13241 * util/mkisofs/write.c (get_731): New function.
13242
af7d4de5
FZ
132432009-11-11 Felix Zielcke <fzielcke@z-51.de>
13244
13245 Fix the generation of the man page.
13246
13247 * util/pc/i386/grub-install.in: Source
13248 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13249
2c55dbc0
RM
132502009-11-11 Robert Millan <rmh.grub@aybabtu.com>
13251
13252 Large file support for grub-mkisofs.
13253
13254 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
13255 * util/mkisofs/mkisofs.c (next_extent, last_extent)
13256 (session_start): Upgrade type to `uint64_t'. Update all users.
13257 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
13258 (struct directory_entry): Upgrade type of `starting_block' and
13259 `size' to `uint64_t'. Update all users.
13260 (struct deferred): Remove unused structure.
13261 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
13262 Update all users.
13263 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
13264 file is larger than `UINT32_MAX'.
13265 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
13266 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
13267 return value.
13268 (struct deferred_write): Upgrade type of `extent' and `size' to
13269 `uint64_t'. Update all users.
13270 (last_extent_written): Upgrade type to `uint64_t'. Update all
13271 users.
13272 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
13273 Update all users. Upgrade type of `remain' to `int64_t' and
13274 `use' to `size_t'. Use error() to handle fread() errors.
13275 (write_files): Rely on write_one_file() rather than calling
13276 xfwrite() directly.
13277
6a9cead5
FZ
132782009-11-09 Felix Zielcke <fzielcke@z-51.de>
13279
13280 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
13281
4825d790
RM
132822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13283
13284 * util/mkisofs/fnmatch.c: Remove.
13285 * util/mkisofs/getopt1.c: Likewise.
13286 * util/mkisofs/getopt.c: Likewise.
13287 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
13288 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
13289 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
13290 `gnulib/getopt1.c' and `gnulib/getopt.c'.
13291 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
13292
13293 * configure.ac: Detect `mingw32msvc' host_os.
13294 Check for lstat(), getuid() and getgid().
13295
13296 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
13297 instances of `u_char' with `uint8_t'.
13298
13299 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
13300 [!HAVE_GETUID] (getuid): New function (stub).
13301 [!HAVE_GETGID] (getgid): Likewise.
13302 [!HAVE_LSTAT] (lstat): Likewise.
13303 [!S_IROTH] (S_IROTH): New macro (dummy).
13304 [!S_IRGRP] (S_IRGRP): Likewise.
13305
84b860d8
RM
133062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13307
13308 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
13309 conditional expression).
13310
66e9b712
RM
133112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13312
13313 Import from Gnulib.
13314
13315 * gnulib/fnmatch.c: New file.
13316 * gnulib/fnmatch.h: Likewise.
13317 * gnulib/fnmatch_loop.c: Likewise.
13318 * gnulib/getopt.c: Likewise.
13319 * gnulib/getopt.h: Likewise.
13320 * gnulib/getopt1.c: Likewise.
13321 * gnulib/getopt_int.h: Likewise.
13322 * gnulib/gettext.h: Likewise.
13323
34f4a5b0
RM
133242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13325
13326 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
13327 * normal/handler.c (read_handler_list): Likewise.
13328
ac451143
RM
133292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13330
13331 Misc cleanup.
13332
13333 * kern/command.c (grub_register_command_prio): Use
13334 grub_zalloc() instead of explicitly zeroing data.
13335 * kern/list.c: Include `<grub/mm.h>'.
13336 (grub_named_list_find): Replace `0' with `NULL'.
13337 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
13338 (fs_module_list): Change type to `grub_named_list_t'. Update all
13339 users.
13340 * normal/dyncmd.c (read_command_list): Add space between function
13341 call and parenthesis.
13342 * normal/handler.c (read_handler_list): Likewise.
13343
4089b167
RM
133442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13345
13346 * normal/auth.c (punishment_delay): Moved from here ...
13347 (grub_auth_strcmp): ... to here (inside function).
13348
325f5037
RM
133492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13350
13351 * include/grub/list.h (struct grub_named_list): Remove `const'
13352 qualifier from `name'.
13353 (struct grub_prio_list): Likewise.
13354
7aea29a3
RM
133552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13356
13357 * normal/auth.c: Include `<grub/time.h>'.
13358 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
13359
3fd6f044
RM
133602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13361
13362 * normal/auth.c (punishment_delay): New variable.
13363 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
13364 (grub_auth_check_authentication): Punish failed login attempts with
13365 an incremental (2^N) delay.
13366
a4cd68e4
RM
133672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13368
13369 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
13370 path with $(srcdir).
13371
7ad12f43
VS
133722009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
13375
c1129f03
RM
133762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13377
13378 * util/i386/coreboot/grub-mkrescue.in: New file.
13379 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
13380 variables.
13381
13382 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
13383 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
13384 * configure.ac: Add header and function checks to satisfy grub-mkisofs
13385 requirements.
13386 * util/mkisofs/defaults.h: New file.
13387 * util/mkisofs/eltorito.c: Likewise.
13388 * util/mkisofs/exclude.h: Likewise.
13389 * util/mkisofs/fnmatch.c: Likewise.
13390 * util/mkisofs/getopt.c: Likewise.
13391 * util/mkisofs/getopt1.c: Likewise.
13392 * util/mkisofs/hash.c: Likewise.
13393 * util/mkisofs/include/fctldefs.h: Likewise.
13394 * util/mkisofs/include/mconfig.h: Likewise.
13395 * util/mkisofs/include/prototyp.h: Likewise.
13396 * util/mkisofs/include/statdefs.h: Likewise.
13397 * util/mkisofs/iso9660.h: Likewise.
13398 * util/mkisofs/joliet.c: Likewise.
13399 * util/mkisofs/match.c: Likewise.
13400 * util/mkisofs/match.h: Likewise.
13401 * util/mkisofs/mkisofs.c: Likewise.
13402 * util/mkisofs/mkisofs.h: Likewise.
13403 * util/mkisofs/multi.c: Likewise.
13404 * util/mkisofs/name.c: Likewise.
13405 * util/mkisofs/rock.c: Likewise.
13406 * util/mkisofs/tree.c: Likewise.
13407 * util/mkisofs/write.c: Likewise.
13408
ec8bb77d
VS
134092009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
13412 being insecure.
13413
3716b12c
RM
134142009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13415
13416 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
13417 `grub-mkimage' (and use $0 when possible).
13418
b97b7b91
RM
134192009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13420
13421 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
13422 error message for excessively large memory map.
13423
04114812
RM
134242009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13425
13426 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
13427 executable bit.
13428
e4eb2373
RM
134292009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13430
13431 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
13432 message for coreboot users.
13433
c926e1d5 134342009-11-07 Robert Millan <rmh.grub@aybabtu.com>
13435
13436 Fix build with GNU gold.
13437
13438 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
13439 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
13440 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
13441 link addresses.
13442 * aclocal.m4: Likewise.
13443
86e5b1db 134442009-11-04 Felix Zielcke <fzielcke@z-51.de>
13445
13446 * configure.ac (AC_PREREQ): Bump to 2.59d.
13447 * INSTALL: Make it more clear when Autoconf and Ruby are
13448 needed and when to run `./autogen.sh'.
13449
246cd78f 134502009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
13451
13452 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
13453 OSes.
13454
4f9dfb37 134552009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13456
13457 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
13458
b82bd5e1 134592009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13460
13461 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
13462 giving it to GNU Mach.
13463
ff1a9bca 134642009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13465
13466 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
13467 GNU partition number to get internal GRUB partition number.
13468
61697d9c 134692009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13470
13471 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
13472 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
13473
a50569e1 134742009-11-01 Robert Millan <rmh.grub@aybabtu.com>
13475
13476 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
13477 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
13478 case.
13479
5b153867 134802009-11-01 Felix Zielcke <fzielcke@z-51.de>
13481
13482 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
13483
d9e2cd70 134842009-10-30 Robert Millan <rmh.grub@aybabtu.com>
13485
13486 Fix build problem.
13487
13488 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
13489 `-isystem=$(srcdir)/include'.
13490
805111a4 134912009-10-30 Robert Millan <rmh.grub@aybabtu.com>
13492
13493 * util/i386/pc/grub-install.in: Remove hint that device.map should be
13494 checked (grub-install doesn't currently rely on it).
13495
fa6e945f 134962009-10-29 Robert Millan <rmh.grub@aybabtu.com>
13497
13498 Revert SVN r2660.
13499
13500 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
13501 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
13502 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
13503 * conf/i386-ieee1275.rmk: Likewise.
13504 * conf/i386-pc.rmk: Likewise.
13505 * conf/powerpc-ieee1275.rmk: Likewise.
13506 * conf/sparc64-ieee1275.rmk: Likewise.
13507 * conf/x86_64-efi.rmk: Likewise.
13508
cee15086 135092009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13510
13511 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
13512
95b9239e 135132009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13514
13515 * include/grub/misc.h: Stop checking for APPLE_CC.
13516
2ed19dfd 135172009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13518
13519 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
13520 doesn't cause an infinite call loop.
13521
fdcdde19 135222009-10-28 Felix Zielcke <fzielcke@z-51.de>
13523
13524 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
13525 strings.
13526
cefabfe1 135272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13528
13529 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
13530 variable.
13531 * Makefile.in: Likewise.
13532
ed96ab6d 135332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13534
13535 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
13536
0579b753 135372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13538
13539 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
13540
478df409 135412009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13542
13543 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
13544
083d1679 135452009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13546
13547 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
13548 from here ...
13549 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
13550
5947ae32 135512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13552
13553 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
13554 in $(MAKEINFO) invocation. This makes it clear in output that
13555 errors are being ignored.
13556
94180ff6 135572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13558
13559 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
13560 from here ...
13561 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
13562 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
13563 * conf/i386-ieee1275.rmk: Likewise.
13564 * conf/i386-pc.rmk: Likewise.
13565 * conf/powerpc-ieee1275.rmk: Likewise.
13566 * conf/sparc64-ieee1275.rmk: Likewise.
13567 * conf/x86_64-efi.rmk: Likewise.
13568
9031b03a 135692009-10-26 Colin Watson <cjwatson@ubuntu.com>
13570
13571 * util/grub-editenv.c (main): If only a command is given, use
13572 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
13573 (usage): FILENAME is now optional and has a default.
13574
e4f6809b 135752009-10-26 Colin Watson <cjwatson@ubuntu.com>
13576
13577 Improve grub-mkconfig performance when there are several menu
13578 entries on a single filesystem.
13579
13580 * util/grub.d/10_linux.in (linux_entry): Cache the output of
13581 prepare_grub_to_access_device.
13582 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13583 * util/grub.d/30_os-prober.in: Likewise.
13584
67937d4d 135852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13586
13587 * util/grub.d/10_freebsd.in: Remove.
13588 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
13589 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
13590
ee3756cc 135912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13592
5c35048e 13593 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 13594
4dea1c6f 135952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13596
13597 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
13598 grub_util_error() call.
13599
042484d7 136002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13601
13602 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
13603 `reserved_first_sector' member.
13604 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
13605 `reserved_first_sector' to 1.
13606 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
13607 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
13608 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
13609 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
13610 filesystems which begin at first sector.
13611 (options): New option --skip-fs-probe.
13612 (main): Handle --skip-fs-probe and pass it to setup().
13613
d64448a7 136142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13615
13616 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
13617 (memset): Fix function prototype.
13618
508d42ec 136192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
136202009-10-25 Vasily Averin <vvs@parallels.com>
13621
13622 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
13623 `dirent.direntlen == 0'.
13624
b240e30c 136252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13626
13627 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
13628 `cpio'.
13629 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
13630
346e7fbe 136312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13632
13633 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
13634 `__trampoline_setup' and `__ucmpdi2'.
13635 * include/grub/powerpc/libgcc.h: Only export symbols for functions
13636 that libgcc provides.
13637
cdb308b0 136382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13639
13640 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
13641 * include/grub/sparc64/libgcc.h (memset): Likewise.
13642 * include/grub/misc.h (memset, memcmp): New function prototypes.
13643
fb26abc2 136442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13645
13646 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
13647 `cpio'.
13648 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
13649
f6693890 136502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13651
13652 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
13653 * docs/grub.cfg: Compensate for recent change in multiboot
13654 loader (since 2009-08-14 it won't pass filename to payload).
13655 * util/grub.d/10_hurd.in: Likewise.
13656
0933cdc0 136572009-10-21 Felix Zielcke <fzielcke@z-51.de>
13658
13659 * config.guess: Update to latest version from config git
13660 repository.
13661 * config.sub: Likewise.
13662
3b2fe8c2 136632009-10-20 Robert Millan <rmh.grub@aybabtu.com>
13664
13665 Fix build on sparc64.
13666
13667 * configure.ac: Perform checks for libgcc symbols before
13668 adding `-nostdlib' to LDFLAGS.
13669
46695a62 136702009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13671
13672 Let user specify OpenBSD root device.
13673
13674 * loader/i386/bsd.c (openbsd_root): New variable.
13675 (openbsd_opts): New option 'root'.
13676 (OPENBSD_ROOT_ARG): New macro.
13677 (grub_openbsd_boot): Use 'openbsd_root'.
13678 (grub_cmd_openbsd): Fill 'openbsd_root'.
13679
d2b6b7fc 136802009-10-16 Robert Millan <rmh.grub@aybabtu.com>
13681
13682 * NEWS: Misc adjustments.
13683
421bd7ac 136842009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13685
13686 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
13687
f1d29d87 136882009-10-16 Robert Millan <rmh.grub@aybabtu.com>
13689
13690 * configure.ac: Bump version to 1.97.
13691
6f3cd880 136922009-10-16 Colin Watson <cjwatson@ubuntu.com>
13693
13694 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
13695 -mno-3dnow on x86 architectures. Some toolchains enable these
13696 features by default, but they rely on registers that aren't enabled
13697 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
13698
035f7122 136992009-10-15 Robert Millan <rmh.grub@aybabtu.com>
13700
13701 Make entry text a bit more readable.
13702
13703 * util/grub.d/10_linux.in: Add `with' before `Linux'.
13704
44998e58 137052009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13706
13707 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
13708
cd2851b3 137092009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
13712 operations.
13713
c6f3b249 137142009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13715
13716 * configure.ac: Add missing dollar.
13717
6b5886ba 137182009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13719
13720 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
13721
13722 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
13723 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
13724 exports.
13725 * include/grub/sparc64/libgcc.h: Likewise. Use
13726 preprocessor conditionals.
13727
e9d66f6d 137282009-10-14 Robert Millan <rmh.grub@aybabtu.com>
13729
13730 * conf/common.rmk (grub-dumpbios): Remove rule.
13731 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
13732 * util/grub-dumpbios.in: Remove file.
13733
9155bc17 137342009-10-14 Robert Millan <rmh.grub@aybabtu.com>
13735
13736 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
13737 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
13738
13739 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
13740 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
13741 users.
13742
13743 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
13744 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
13745 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
13746 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
13747 users.
13748
bf7f7a18 137492009-10-12 Robert Millan <rmh.grub@aybabtu.com>
13750
13751 * term/tparm.c: Switch to GPLv3.
13752
86564c26 137532009-10-09 Robert Millan <rmh.grub@aybabtu.com>
13754
13755 * include/grub/i386/cpuid.h: Add header protection.
13756
5c936493 137572009-10-09 Robert Millan <rmh.grub@aybabtu.com>
13758
13759 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
13760
13761 * include/grub/i386/cpuid.h: New file.
13762 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
13763 (has_longmode): Rename to ...
13764 (grub_cpuid_has_longmode): ... this. Update all users. Remove
13765 `static' attribute.
13766 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
13767 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
13768 on a CPU that doesn't implement AMD64 instruction set.
13769
186e7cf2 137702009-10-06 Colin Watson <cjwatson@ubuntu.com>
13771
13772 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
13773 that version.texi is rebuilt on version number changes.
13774
83b65c4a 137752009-10-06 Colin Watson <cjwatson@ubuntu.com>
13776
13777 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
13778 Fixes bug #27602.
13779
d244281c 137802009-10-06 Colin Watson <cjwatson@ubuntu.com>
13781
13782 * util/i386/pc/grub-install.in: Source
13783 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
13784 that the --grub-probe option will work.
13785 * util/sparc64/ieee1275/grub-install.in: Likewise.
13786
da25306d 137872009-10-05 Robert Millan <rmh.grub@aybabtu.com>
13788
13789 * configure.ac: Bump version to 1.97~beta4.
13790
e8ee83c0 137912009-10-03 Robert Millan <rmh.grub@aybabtu.com>
13792
13793 Resync grub-mkdevicemap in x86_64-efi.
13794
13795 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
13796 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
13797 `util/devicemap.c'.
13798
50dcabcf 137992009-10-01 Colin Watson <cjwatson@ubuntu.com>
13800
13801 * util/grub-editenv.c (create_envblk_file): Write new block with a
13802 .new suffix and then rename it into place, to ensure atomic
13803 creation.
13804
0e51c3a7 138052009-09-28 Robert Millan <rmh.grub@aybabtu.com>
13806
13807 Do not automatically install headers.
13808
13809 * Makefile.in (include_DATA): Remove. Update all users.
13810
31299a95 138112009-09-26 Robert Millan <rmh.grub@aybabtu.com>
13812
13813 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
13814 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
13815
13816 * util/osdetect.lua: Remove.
13817 * script/lua/lauxlib.c: Likewise.
13818 * script/lua/ldebug.c: Likewise.
13819 * script/lua/grub_main.c: Likewise.
13820 * script/lua/lauxlib.h: Likewise.
13821 * script/lua/ldebug.h: Likewise.
13822 * script/lua/ltablib.c: Likewise.
13823 * script/lua/liolib.c: Likewise.
13824 * script/lua/lstrlib.c: Likewise.
13825 * script/lua/lualib.h: Likewise.
13826 * script/lua/ldo.c: Likewise.
13827 * script/lua/ldump.c: Likewise.
13828 * script/lua/ldo.h: Likewise.
13829 * script/lua/loslib.c: Likewise.
13830 * script/lua/lundump.c: Likewise.
13831 * script/lua/grub_lib.c: Likewise.
13832 * script/lua/ldblib.c: Likewise.
13833 * script/lua/lundump.h: Likewise.
13834 * script/lua/lmem.c: Likewise.
13835 * script/lua/grub_lib.h: Likewise.
13836 * script/lua/lmathlib.c: Likewise.
13837 * script/lua/lstate.c: Likewise.
13838 * script/lua/ltm.c: Likewise.
13839 * script/lua/lvm.c: Likewise.
13840 * script/lua/lmem.h: Likewise.
13841 * script/lua/lstate.h: Likewise.
13842 * script/lua/ltm.h: Likewise.
13843 * script/lua/ltable.c: Likewise.
13844 * script/lua/lvm.h: Likewise.
13845 * script/lua/llex.c: Likewise.
13846 * script/lua/lgc.c: Likewise.
13847 * script/lua/grub_lua.h: Likewise.
13848 * script/lua/loadlib.c: Likewise.
13849 * script/lua/lfunc.c: Likewise.
13850 * script/lua/lopcodes.c: Likewise.
13851 * script/lua/lparser.c: Likewise.
13852 * script/lua/ltable.h: Likewise.
13853 * script/lua/llex.h: Likewise.
13854 * script/lua/lgc.h: Likewise.
13855 * script/lua/lfunc.h: Likewise.
13856 * script/lua/lbaselib.c: Likewise.
13857 * script/lua/lopcodes.h: Likewise.
13858 * script/lua/lparser.h: Likewise.
13859 * script/lua/lzio.c: Likewise.
13860 * script/lua/linit.c: Likewise.
13861 * script/lua/lobject.c: Likewise.
13862 * script/lua/llimits.h: Likewise.
13863 * script/lua/lstring.c: Likewise.
13864 * script/lua/lzio.h: Likewise.
13865 * script/lua/lapi.c: Likewise.
13866 * script/lua/lcode.c: Likewise.
13867 * script/lua/lua.h: Likewise.
13868 * script/lua/lobject.h: Likewise.
13869 * script/lua/lstring.h: Likewise.
13870 * script/lua/lapi.h: Likewise.
13871 * script/lua/lcode.h: Likewise.
13872 * script/lua/luaconf.h: Likewise.
13873
cb8a2c38 138742009-09-26 Colin Watson <cjwatson@ubuntu.com>
13875
13876 * docs/grub.texi (Command-line and menu entry commands): Document
13877 date and echo commands.
13878
6b9b6276 138792009-09-24 Pavel Roskin <proski@gnu.org>
13880
13881 * include/grub/kernel.h (struct grub_module_header): Remove
13882 `grub_module_header_types'. Make `type' unsigned. Make `size'
13883 32-bit on all platforms.
13884 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
13885 8-bit field. Use grub_host_to_target32() for `size'.
13886 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
13887 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
13888 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
13889
4e5a02a7 138902009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13891
13892 Fix "lost keypress" bug in at_keyboard.
13893
13894 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
13895 Checks for readyness of input buffer (without flushing it).
13896 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
13897 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
13898
c6dcedf6 138992009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13900
13901 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
13902 size check within GRUB_MACHINE_PCBIOS section.
13903
74c958b1 139042009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13905
13906 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
13907 return value.
13908 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
13909 KEYBOARD_ISREADY check.
13910 (grub_at_keyboard_checkkey): Rename to ...
13911 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
13912 Remove gratuitous cast.
13913
ff420223 139142009-09-23 Colin Watson <cjwatson@ubuntu.com>
13915
13916 * configure.ac: Call AC_PROG_MKDIR_P.
13917 * Makefile.in (docs/stamp-vti): Create docs directory. Create
13918 version.texi in $(builddir) rather than $(srcdir).
13919 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
13920 to makeinfo's @include search path.
13921
d96875df 139222009-09-23 Felix Zielcke <fzielcke@z-51.de>
13923
13924 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
13925
9b3f8365 139262009-09-23 Felix Zielcke <fzielcke@z-51.de>
13927
13928 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
13929 for `*.dpkg-new'.
13930
c44c90db 139312009-09-21 Colin Watson <cjwatson@ubuntu.com>
13932
13933 Build info documentation. Some code borrowed from Automake.
13934
13935 * configure.ac: Check for makeinfo.
13936 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
13937 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
13938 docs/version.texi.
13939 (MOSTLYCLEANFILES): Add vti.tmp.
13940 (docs/version.texi, docs/stamp-vti): Update automatically.
13941 (docs/grub.info): Build info documentation. Use --force and ignore
13942 errors for now.
13943 (all-local): Add $(INFOS).
13944 (install-local): Install info files.
13945 (uninstall): Uninstall info files.
13946 * docs/version.texi: Remove from revision control. This file is
13947 automatically generated on build now.
13948 * gendistlist.sh: Add `*.info'.
13949
e0b37bb5 139502009-09-21 Felix Zielcke <fzielcke@z-51.de>
13951
13952 * kern/term.c: Fix indentation.
13953
5a78865b 139542009-09-21 Felix Zielcke <fzielcke@z-51.de>
13955
13956 * util/hostdisk.c: Fix a comment.
13957
dace7e8a 139582009-09-20 Robert Millan <rmh.grub@aybabtu.com>
13959
13960 Fix regression introduced in r2539.
13961
13962 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
13963 to 0xA1.
13964
a83d079b 139652009-09-19 Colin Watson <cjwatson@ubuntu.com>
13966
13967 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 13968 os-prober. Under normal operation, it does not print anything to
13969 stderr; if it does, we need to debug it, and throwing away stderr
13970 makes that excessively difficult.
a83d079b 13971
be94a509 139722009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
13973
13974 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
13975
63f745e8 139762009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13977
13978 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
13979 AC_LANG_PROGRAM from autoconf.
13980 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
13981 prototypes (fixes warning).
13982
13983 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
13984 `--disable-werror' was used.
13985
bbb2a70f 139862009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13987
13988 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
13989 uninitialized `lastaddr'.
13990
77c24f1d 139912009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13992
0f0b8c87 13993 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 13994
07197f23 139952009-09-14 Colin Watson <cjwatson@ubuntu.com>
13996
13997 * commands/test.c (get_fileinfo): Return immediately if
13998 grub_fs_probe fails.
13999
dabf1798 140002009-09-14 José Martínez <xosemp@gmail.com>
14001
14002 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
14003
d52109a7 140042009-09-14 Colin Watson <cjwatson@ubuntu.com>
14005
14006 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
14007 output.
14008
56532179 140092009-09-13 Robert Millan <rmh.grub@aybabtu.com>
14010
14011 * configure.ac: Remove --enable-grub-pe2elf. Only build
14012 grub-pe2elf when needed by the build system itself.
14013 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
14014
8ef070f5 140152009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14016
14017 * configure.ac: Bump version to 1.97~beta3.
14018 * docs/version.texi: Likewise.
14019
61229557 140202009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14021
14022 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
14023 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
14024 from here ...
14025 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
14026 (grub_linux_setup_video): ... to here (with some adjustments).
14027
5c9f8d84 140282009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14029
14030 Fix memory corruption issue (spotted by Colin Watson).
14031
14032 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
14033 causing returned size to be stored in an incorrect memory location.
14034 Fix use of uninitialized value when storing the returned size.
14035
e8f5d6e9 140362009-09-12 Yves Blusseau <blusseau@zetam.org>
14037
14038 Change clean rules to properly remove files
14039
14040 * genmk.rb: add new clean rules
14041 * Makefile.in (clean): add the new targets
14042 (mostlyclean): likewise
14043
cda2a409 140442009-09-11 Colin Watson <cjwatson@ubuntu.com>
14045
14046 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
14047 to grub_uint64_t.
14048 * fs/ntfs.c (init_file): Understand 64-bit sizes for
14049 non-resident files.
14050
86695375 140512009-09-11 Colin Watson <cjwatson@ubuntu.com>
14052
14053 * configure.ac: Don't look for help2man when cross-compiling. Fixes
14054 part of bug #27349.
14055
8aa1541a 140562009-09-10 Felix Zielcke <fzielcke@z-51.de>
14057
14058 * util/grub-mkconfig.in: Make the created config mode 400 and
14059 print a warning if it fails.
14060
48d9bb0a 140612009-09-10 Robert Millan <rmh.grub@aybabtu.com>
14062
14063 * util/grub.d/40_custom.in: Ask user to type custom entries below
14064 comment, rather than below 'exec tail' line.
14065
3b0521be 140662009-09-10 Colin Watson <cjwatson@ubuntu.com>
14067
14068 * util/grub.d/40_custom.in: Make sure that the explanatory text is
14069 visible in grub.cfg.
14070
50051d55 140712009-09-10 Colin Watson <cjwatson@ubuntu.com>
14072
14073 * util/grub.d/40_custom.in: Make it a little clearer how to use this
14074 file.
14075
c0d34387 140762009-09-10 Felix Zielcke <fzielcke@z-51.de>
14077
14078 * docs/grub.cfg: Add an example menu entry for memtest86+.
14079
80a608f3 140802009-09-09 Felix Zielcke <fzielcke@z-51.de>
14081
a2094832 14082 * config.guess: Update to latest version from config git.
80a608f3 14083 * config.sub: Likewise.
14084
99423078 140852009-09-08 Colin Watson <cjwatson@ubuntu.com>
14086
14087 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
14088 unknown-command case. Fixes bug #27320.
14089
44454e4c 140902009-09-08 Felix Zielcke <fzielcke@z-51.de>
14091
14092 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
14093 `help' if the command exists.
14094
e30d87ad 140952009-09-06 Robert Millan <rmh.grub@aybabtu.com>
14096
14097 * INSTALL: Require GCC 4.1.3 or later.
14098
9a86f1ec 140992009-09-06 Yves Blusseau <blusseau@zetam.org>
14100
14101 * Makefile.in (RMKFILES): add i386-qemu.rmk
14102 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
14103 $(srcdir)/stamp-h.in
14104
7f26d466 141052009-09-05 Robert Millan <rmh.grub@aybabtu.com>
14106
14107 * util/grub-probe.c (probe): Comment out buggy codepath, which
14108 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
14109 should be re-enabled after 1.97.
14110
3a613259 141112009-09-05 Felix Zielcke <fzielcke@z-51.de>
14112
14113 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
14114 find searches for.
14115
197f76c7 141162009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
14119 unnecessary calls to grub_error.
14120
70ba68ce 141212009-09-04 Colin Watson <cjwatson@ubuntu.com>
14122
14123 * NEWS: Mention `keystatus' and Unicode fonts.
14124
4ff0d7a4 141252009-09-04 Robert Millan <rmh.grub@aybabtu.com>
14126
14127 * configure.ac: Bump version to 1.97~beta2.
14128 * docs/version.texi: Likewise.
14129
77c55a87 141302009-09-03 Colin Watson <cjwatson@ubuntu.com>
14131
14132 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
14133 containing unwind information in some cases where it previously did
14134 not. Use -fno-dwarf2-cfi-asm if available to restore the old
14135 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
14136 discussion.
14137
f79572cd 141382009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
14139
14140 Embedding loadenv module into grub-emu
14141
14142 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
14143 commands/loadenv.c
14144 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
14145 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
14146 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
14147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
14148 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
14149 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
14150
93a81088 141512009-09-03 Magnus Granberg <zorry@ume.nu>
14152
14153 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
14154 include -fPIE in the default specs.
14155 * configure.ac: Check if pie_possible is yes and add -fno-PIE
14156 to TARGET_CFLAGS.
14157
160034b2 141582009-09-03 Felix Zielcke <fzielcke@z-51.de>
14159
14160 * INSTALL: Note that GNU Bison 2.3 or later is required.
14161
087c07c4 141622009-09-03 Colin Watson <cjwatson@ubuntu.com>
14163
14164 * kern/i386/pc/startup.S: Fix typo.
14165
cbf978c0 141662009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
14167
14168 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
14169 according to GCS.
14170
141712009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 14172
14173 * docs/grub.texi (Naming convention): Describe one-based partition
14174 numbering.
14175 (Device syntax): Likewise.
14176 (File name syntax): Likewise.
14177 (Block list syntax): Likewise.
14178 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
14179 menu.lst.
14180 (File name syntax): Likewise.
14181 (Command-line and menu entry commands): Document acpi, blocklist,
14182 crc, export, insmod, keystatus, ls, set, and unset commands.
14183
f3e8cdfd 141842009-09-02 Colin Watson <cjwatson@ubuntu.com>
14185
14186 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
14187 to avoid implying that only one of --shift, --ctrl, or --alt may be
14188 used.
14189
c0bc232b 141902009-09-02 Colin Watson <cjwatson@ubuntu.com>
14191
14192 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
14193 rather than comparing against S_IFREG, which will almost never work.
14194
aa0f752d 141952009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
14198 (write_blocklists): Likewise.
14199
ecb3166a 142002009-09-01 Colin Watson <cjwatson@ubuntu.com>
14201
14202 * script/lua/grub_lua.h (fputs): Supply a format string as the first
14203 argument to grub_printf.
14204
c403a125 142052009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 14206
14207 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 14208 non GNU test.
31aba781 14209
b5e7312c 142102009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14211
14212 * kern/file.c (grub_file_read): Spelling fix
14213
fe00f472 142142009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
14215
14216 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
14217 loading of headers in some cases.
14218
cc55302e 142192009-08-30 Robert Millan <rmh.grub@aybabtu.com>
14220
14221 * configure.ac: Bump version to 1.97~beta1.
14222 * docs/version.texi: Likewise.
14223
5c90cdd2 142242009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 14225
14226 * include/grub/i386/xnu.h: Add license header.
14227 include grub/err.h explicitly.
14228
c90edae4 142292009-08-29 Robert Millan <rmh.grub@aybabtu.com>
14230
14231 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
14232 to `ufs' in the vfs.root.mountfrom kernel parameter.
14233
d8888b5c 142342009-08-29 Robert Millan <rmh.grub@aybabtu.com>
14235
14236 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
14237
14238 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
14239 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
14240
14241 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
14242 `ARRAY_SIZE' macro.
14243
6f07b921 142442009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14245
14246 * kern/file.c (grub_file_read): Check offset.
14247 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
14248 * fs/jfs.c (grub_jfs_read_file): Likewise.
14249 * fs/ntfs.c (grub_ntfs_read): Likewise.
14250 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
14251 * fs/minix.c (grub_minix_read_file): Correct offset check.
14252 * fs/ufs.c (grub_ufs_read_file): Likewise.
14253
b4f34077 142542009-08-28 Colin Watson <cjwatson@ubuntu.com>
14255
14256 * term/i386/pc/console.c (bios_data_area): Cast
14257 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
14258
e7c69859 142592009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 1-bit optimised blitters.
14262
14263 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
14264 prototype.
14265 (grub_video_fbblit_replace_24bit_1bit): Likewise.
14266 (grub_video_fbblit_replace_16bit_1bit): Likewise.
14267 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14268 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14269 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
14270 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
14271 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
14272 function.
14273 (grub_video_fbblit_replace_24bit_1bit): Likewise.
14274 (grub_video_fbblit_replace_16bit_1bit): Likewise.
14275 (grub_video_fbblit_replace_8bit_1bit): Likewise.
14276 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
14277 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
14278 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
14279 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
14280 when possible.
14281 * video/video.c (grub_video_get_blit_format): Return
14282 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
14283
a57da43f 142842009-08-28 Colin Watson <cjwatson@ubuntu.com>
14285
14286 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
14287 the first argument to grub_printf.
14288
4cbe67e5 142892009-08-28 Colin Watson <cjwatson@ubuntu.com>
142902009-08-28 Robert Millan <rmh.grub@aybabtu.com>
14291
14292 Add `getkeystatus' terminal method. Add a new `keystatus' command
14293 to query it.
14294
14295 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
14296 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
14297 modifier key bitmasks.
14298 (struct grub_term_input): Add `getkeystatus' member.
14299 (grub_getkeystatus): Add prototype.
14300 * kern/term.c (grub_getkeystatus): New function.
14301
14302 * include/grub/i386/pc/memory.h
14303 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
14304 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
14305 Data Area layout.
14306 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
14307 (grub_console_term_input): Set `getkeystatus' member.
14308 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
14309 constants.
14310 (grub_usb_keyboard_getreport): Likewise.
14311 (grub_usb_keyboard_checkkey): Likewise.
14312 (grub_usb_keyboard_getkeystatus): New function.
14313 (grub_usb_keyboard_term): Set `getkeystatus' member.
14314
14315 * commands/keystatus.c: New file.
14316 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
14317 (keystatus_mod_SOURCES): New variable.
14318 (keystatus_mod_CFLAGS): Likewise.
14319 (keystatus_mod_LDFLAGS): Likewise.
14320 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
14321 commands/keystatus.c.
14322 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14323 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14324 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14326 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14327 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 14328
6e2a9085 143292009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14330
14331 Split befs.mod and afs.mod into *_be.mod and *.mod
14332
14333 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
14334 (grub_fstest_SOURCES): Likewise.
14335 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
14336 (afs_be_mod_SOURCES): New variable.
14337 (afs_be_mod_CFLAGS): Likewise.
14338 (afs_be_mod_LDFLAGS): Likewise.
14339 (befs_be_mod_SOURCES): Likewise.
14340 (befs_be_mod_CFLAGS): Likewise.
14341 (befs_be_mod_LDFLAGS): Likewise.
14342 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
14343 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14344 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14345 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14346 (grub_emu_SOURCES): Likewise.
14347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14348 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14349 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14350 * fs/afs_be.c: New file.
14351 * fs/befs_be.c: New file.
14352 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
14353 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
14354 (U16): Replaced with ...
14355 (grub_afs_to_cpu16): ...this. All users updated.
14356 (U32): Replaced with ...
14357 (grub_afs_to_cpu32): ...this. All users updated.
14358 (U64): Replaced with ...
14359 (grub_afs_to_cpu64): ...this. All users updated.
14360 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
14361 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 14362 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 14363 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
14364 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
14365 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
14366 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
14367 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
14368 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
14369 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
14370 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
14371
32a71655 143722009-08-26 Bean <bean123ch@gmail.com>
14373
14374 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
14375 64-bit number.
14376 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
14377 (grub_xfs_inode_block): Change return type to grub_uint64_t.
14378 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
14379
552bf6c5 143802009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14381
14382 NetBSD memory map support.
14383
14384 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
14385 (grub_netbsd_btinfo_mmap_header): New structure.
14386 (grub_netbsd_btinfo_mmap_entry): Likewise.
14387 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
14388
1ae2078c 143892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14390
14391 Enable bsd.mod on coreboot.
14392
14393 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
14394 (bsd_mod_SOURCES): New variable.
14395 (bsd_mod_CFLAGS): Likewise.
14396 (bsd_mod_LDFLAGS): Likewise.
14397 (bsd_mod_ASFLAGS): Likewise.
14398 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
14399 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
14400
beefc598 144012009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14402
14403 Cleanup NetBSD root support.
14404
14405 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
14406 grub_bsd_get_device.
14407 Fix typo.
14408
3b76e68b 144092009-08-25 Felix Zielcke <fzielcke@z-51.de>
14410
14411 * util/grub.d/00_header.in: Move check for the video backend of
14412 gfxterm from here ...
14413 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
14414 a suitable video backend.
14415
aea664ea 144162009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 Fix breakage in grub-setup.
14419
14420 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
14421 "msdos_partition_map".
14422
ff747d50 144232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14424
14425 Fix breakage in normal/auth.c.
14426
14427 * normal/auth.c (grub_iswordseparator): New function.
14428
e7e1f93f 144292009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14430
14431 Authentication support.
14432
14433 * commands/password.c: New file.
14434 * conf/common.rmk (pkglib_MODULES): Add password.mod.
14435 (password_mod_SOURCES): New variable.
14436 (password_mod_CFLAGS): Likewise.
14437 (password_mod_LDFLAGS): Likewise.
14438 (normal_mod_SOURCES): Add normal/auth.c.
14439 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
14440 normal/auth.c.
14441 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14442 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14443 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14445 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14446 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14447 * include/grub/auth.h: New file.
14448 * include/grub/err.h (grub_err_t): New enum value
14449 GRUB_ERR_ACCESS_DENIED.
14450 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
14451 'users'.
14452 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
14453 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
14454 users updated.
14455 * normal/auth.c: New file.
14456 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
14457 (grub_cmdline_run): Don't allow to go to command line without
14458 authentication.
14459 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
14460 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
14461 menuentry without superuser rights.
14462 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
14463 user isn't a superuser.
14464
70f1161d 144652009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14466
14467 Save space by inlining misc.c functions.
14468
14469 * kern/misc.c (grub_iswordseparator): Made static.
14470 * kern/misc.c (grub_strcat): Moved from here ...
14471 * include/grub/misc.h (grub_strcat): ... here. Inlined.
14472 * kern/misc.c (grub_strncat): Moved from here ...
14473 * include/grub/misc.h (grub_strncat): ... here. Inlined.
14474 * kern/misc.c (grub_strcasecmp): Moved from here ...
14475 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
14476 * kern/misc.c (grub_strncasecmp): Moved from here ...
14477 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
14478 * kern/misc.c (grub_isalpha): Moved from here ...
14479 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
14480 * kern/misc.c (grub_isdigit): Moved from here ...
14481 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
14482 * kern/misc.c (grub_isgraph): Moved from here ...
14483 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
14484 * kern/misc.c (grub_tolower): Moved from here ...
14485 * include/grub/misc.h (grub_tolower): ... here. Inlined.
14486
48e40bff 144872009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14488
14489 * script/sh/function.c (grub_script_function_find): Cut error message
14490 not to flood terminal.
14491 * script/sh/lexer.c (grub_script_yylex): Remove command line length
14492 limit.
14493 * script/sh/script.c (grub_script_arg_add): Duplicate string.
14494
c385bfc3 144952009-08-24 Colin Watson <cjwatson@ubuntu.com>
14496
14497 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
14498 `report' grub_uint8_t *.
14499 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
14500 Use a 50-millisecond timeout rather than just repeating
14501 grub_usb_keyboard_getreport 50 times.
14502 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
14503
2d21e3e8 145042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14505
14506 Rename *_partition_map to part_*
14507
14508 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
14509 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
14510 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
14511 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
14512 All users updated.
14513 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
14514 All users updated.
14515 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
14516 * util/grub-probe.c (probe_partmap): Don't transform partition name
14517 to get module name.
14518
dd103c4e 145192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14520
14521 Fix OpenBSD and NetBSD support.
14522
14523 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
14524 memory address conflict.
14525 (OPENBSD_MMAP_ACPI): New definition.
14526 (OPENBSD_MMAP_NVS): Likewise.
14527 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
14528 and OPENBSD_MMAP_NVS.
14529 Add memory map terminator
14530 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 14531 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 14532
16c84d74 145332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 Let user specify NetBSD root device.
14536
14537 * loader/i386/bsd.c (netbsd_root): New variable.
14538 (netbsd_opts): New option 'root'.
14539 (NETBSD_ROOT_ARG): New macro.
14540 (grub_netbsd_boot): Use 'netbsd_root'.
14541 (grub_bsd_unload): Free 'netbsd_root'.
14542 (grub_cmd_netbsd): Fill 'netbsd_root'.
14543
adb29902 145442009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14545
14546 Support for 64-bit NetBSD.
14547
14548 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
14549 point when booting non-FreeBSD.
14550
f5ae9f74 145512009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14552
14553 Support --no-smp and --no-acpi for NetBSD.
14554
14555 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
14556 (NETBSD_AB_NOACPI): Likewise.
14557 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
14558 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
14559
de74f136 145602009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
14563 errors.
14564 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
14565 errors. Call grub_error when needed.
14566
e9a925da 145672009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14568
14569 * commands/search.c (search_fs): Try searching without autoload first.
14570 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14571 filesystem module explicitly for faster booting.
14572
5174302b 145732009-08-23 Colin Watson <cjwatson@ubuntu.com>
14574
14575 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
14576
c8c80635 145772009-08-23 Colin Watson <cjwatson@ubuntu.com>
14578
14579 * util/grub.d/30_os-prober.in: Disable os-prober if
14580 `GRUB_DISABLE_OS_PROBER' was set to true.
14581
71acf5e5 145822009-08-23 Robert Millan <rmh.grub@aybabtu.com>
14583
14584 * partmap/pc.c: Rename to ...
14585 * partmap/msdos.c: ... this. Update all users.
14586 (grub_pc_partition_map): Rename to ...
14587 (grub_msdos_partition_map): ... this. Update all users.
14588
14589 * parttool/pcpart.c: Rename to ...
14590 * parttool/msdospart.c: ... this. Update all users.
14591
14592 * include/grub/pc_partition.h: Rename to ...
14593 * include/grub/msdos_partition.h: ... this. Update all users.
14594 (grub_pc_partition_bsd_entry): Rename to ...
14595 (grub_msdos_partition_bsd_entry): ... this. Update all users.
14596 (grub_pc_partition_disk_label): Rename to ...
14597 (grub_msdos_partition_disk_label): ... this. Update all users.
14598 (grub_pc_partition_entry): Rename to ...
14599 (grub_msdos_partition_entry): ... this. Update all users.
14600 (grub_pc_partition_mbr): Rename to ...
14601 (grub_msdos_partition_mbr): ... this. Update all users.
14602 (grub_pc_partition): Rename to ...
14603 (grub_msdos_partition): ... this. Update all users.
14604 (grub_pc_partition_is_empty): Rename to ...
14605 (grub_msdos_partition_is_empty): ... this. Update all users.
14606 (grub_pc_partition_is_extended): Rename to ...
14607 (grub_msdos_partition_is_extended): ... this. Update all users.
14608 (grub_pc_partition_is_bsd): Rename to ...
14609 (grub_msdos_partition_is_bsd): ... this. Update all users.
14610
14611 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
14612 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
14613 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
14614 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
14615 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
14616 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
14617 (gpt_mod_LDFLAGS): Rename to ...
14618 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
14619 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
14620 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
14621 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
14622 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
14623 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
14624 (part_gpt_mod_LDFLAGS): ... this.
14625 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
14626 `pcpart.mod' to `msdospart.mod'.
14627 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
14628 to ...
14629 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
14630 (msdospart_mod_LDFLAGS): ... this.
14631
c11fded5 146322009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
14635 (openbsd_opts): Likewise.
14636 (netbsd_opts): Likewise.
14637 (freebsd_flags): Added 0 terminator.
14638 (openbsd_flags): Likewise.
14639 (netbsd_flags): Likewise.
14640 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
14641 (grub_cmd_freebsd): Transformed into extended command.
14642 (grub_cmd_openbsd): Likewise.
14643 (grub_cmd_netbsd): Likewise.
14644 (cmd_freebsd): Changed type to grub_extcmd_t.
14645 (cmd_openbsd): Likewise.
14646 (cmd_netbsd): Likewise.
14647 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
14648 grub_cmd_openbsd as extended commands.
14649 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
14650 cmd_netbsd and cmd_openbsd
14651
11d1c769 146522009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14653
14654 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
14655
7a9094e5 146562009-08-21 Pavel Roskin <proski@gnu.org>
14657
5496c37e 14658 * Makefile.in (install-local): When checking if a file is in the
14659 build directory, use "test -e" to detect symlinks.
14660
7a9094e5 14661 * Makefile.in (install-local): Remove all files in
14662 $(DESTDIR)$(pkglibdir) before installing new files there.
14663
e53cea11 146642009-08-18 Felix Zielcke <fzielcke@z-51.de>
14665
14666 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
14667 grub-mkelfimage.
14668
9aced544 146692009-08-18 Felix Zielcke <fzielcke@z-51.de>
14670
14671 * util/grub-mkconfig.in: Don't use gfxterm by default if not
14672 explicitly specified by the user.
14673
b7da6bab 146742009-08-18 Pavel Roskin <proski@gnu.org>
14675
14676 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
14677 grub_uint8_t pointer for data.
14678 * include/grub/fbutil.h (struct grub_video_fbblit_info):
14679 Likewise.
14680 * video/fb/fbutil.c: Remove unnecessary casts.
14681
19f1b335 146822009-08-17 Michal Suchanek <hramrach@centrum.cz>
14683
14684 VBE cleanup.
14685
14686 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
14687 (grub_vbe_set_video_mode): Save active mode info
14688 only after setting the mode.
14689 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
14690 second argument.
14691
2f467aa9 146922009-08-17 Michal Suchanek <hramrach@centrum.cz>
14693
14694 Rename variables for clarity.
14695
14696 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
14697 (active_vbe_mode_info): ... this. All users updated.
14698 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
14699 All users updated.
14700 (initial_mode): Rename to ...
14701 (initial_vbe_mode): ... this. All users updated.
14702 (mode_in_use): Rename to ..
14703 (vbe_mode_in_use): ... this. All users updated.
14704 (mode_list): Rename to ..
14705 (vbe_mode_list): ... this. All users updated.
14706 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
14707 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
14708 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
14709 'mode_list_size' to 'vbe_mode_list_size'.
14710 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
14711 'best_mode_info' to 'best_vbe_mode_info' and
14712 'best_mode' to 'best_vbe_mode'
14713
6025fcd7 147142009-08-17 Michal Suchanek <hramrach@centrum.cz>
14715
14716 Remove duplicate grub_video_fb_get_video_ptr.
14717
14718 * include/grub/fbutil.h (get_data_ptr): Rename to ...
14719 (grub_video_fb_get_video_ptr): ... this.
14720 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
14721 * video/fb/fbutil.c: Add comment about addressing.
14722 (get_data_ptr): Rename to ...
14723 (grub_video_fb_get_video_ptr): ... this. All users updated.
14724 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
14725
cc8c6faf 147262009-08-17 Robert Millan <rmh.grub@aybabtu.com>
14727
14728 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
14729 grub_dprintf() that was just added.
14730
08aa61f0 147312009-08-17 Robert Millan <rmh.grub@aybabtu.com>
14732
14733 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
14734 (DEFAULT_VIDEO_MODE): Remove macros.
14735 (grub_linux_boot): Remove assumption that Linux has FB support,
14736 and use "text" as default video mode.
14737
7cef4f75 147382009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
14739
14740 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
14741 grub_dprintf.
14742 * fs/fat.c (grub_fat_read_data): Likewise.
14743
e1f39873 147442009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14745
14746 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
14747 payload.
14748 (grub_module): Likewise.
14749
c166d79e 147502009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14751
14752 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
14753 mbi->cmdline but free playground.
14754
c60cee8e 147552009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14756
14757 Handle group offset on UFS1.
14758
14759 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
14760 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
14761
c0d8b5d4 147622009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 Split ufs.mod into ufs1.mod and ufs2.mod.
14765
14766 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
14767 (grub_fstest_SOURCES): Likewise.
14768 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
14769 (ufs_mod_SOURCES): Remove.
14770 (ufs_mod_CFLAGS): Likewise.
14771 (ufs_mod_LDFLAGS): Likewise.
14772 (ufs1_mod_SOURCES): New variable.
14773 (ufs1_mod_CFLAGS): Likewise.
14774 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 14775 (ufs2_mod_SOURCES): New variable.
14776 (ufs2_mod_CFLAGS): Likewise.
14777 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 14778 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
14779 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
14780 Likewise.
14781 (grub_emu_SOURCES): Likewise.
14782 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14783 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14784 (grub_setup_SOURCES): Likewise.
14785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14786 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
14787 (grub_setup_SOURCES): Likewise.
14788 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
14789 Likewise.
14790 * fs/ufs2.c: New file.
14791 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
14792
d3539132 147932009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14794
14795 Framebuffer split.
14796
14797 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
14798 subsystem at the end.
14799 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
14800 (video_fb_mod_SOURCES): New variable.
14801 (video_fb_mod_CFLAGS): Likewise.
14802 (video_fb_mod_LDFLAGS): Likewise.
14803 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
14804 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
14805 * video/i386/pc/vbeblit.c: Moved from here ...
14806 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
14807 * video/i386/pc/vbefill.c: Moved from here ...
14808 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
14809 * video/i386/pc/vbeutil.c: Moved from here ...
14810 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
14811 * include/grub/i386/pc/vbeblit.h: Moved from here ...
14812 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
14813 * include/grub/i386/pc/vbefill.h: Moved from here ...
14814 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
14815 * include/grub/i386/pc/vbeutil.h: Moved from here ...
14816 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
14817 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
14818 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
14819 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
14820 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
14821 (grub_video_adapter): Added 'get_info_and_fini'.
14822 (grub_video_get_info_and_fini): New prototype.
14823 (grub_video_set_mode): make modestring const char *.
14824 * loader/i386/linux.c (grub_linux_setup_video): Use
14825 grub_video_get_info_and_fini.
14826 (grub_linux_boot): Move modesetting just before booting.
14827 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
14828 grub_video_get_info_and_fini.
14829 * video/i386/pc/vbe.c: Moved framebuffer part ...
14830 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
14831 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
14832 grub_video_fbstd_colors and grub_video_fb_set_palette.
14833 (grub_video_vbe_init): Clear 'framebuffer' variable and use
14834 grub_video_fb_init.
14835 (grub_video_vbe_fini): Use grub_video_fb_fini.
14836 (grub_video_vbe_setup): Use framebuffer.render_target instead of
14837 render_target and use grub_video_fb_set_active_render_target and
14838 grub_video_fb_set_palette.
14839 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
14840 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
14841 (grub_video_vbe_adapter): Use framebuffer.
14842 * video/video.c (grub_video_get_info_and_fini): New function.
14843 (grub_video_set_mode): Make modestring const char *.
14844 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
14845 values are already initialised.
14846
d404ee56 148472009-08-14 Pavel Roskin <proski@gnu.org>
14848
14849 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
14850 ABS and APPLE_CC.
14851 * boot/i386/pc/diskboot.S: Likewise.
14852 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
14853 sectors allow compilation on MacOSX.
14854 * conf/i386-pc.rmk: Enable unconditional compilation of
14855 lnxboot.img.
14856
9a10df16 148572009-08-13 Colin Watson <cjwatson@ubuntu.com>
14858
14859 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
14860 * util/grub.d/00_header.in: Enter interruptible sleep if
14861 GRUB_HIDDEN_TIMEOUT is set.
14862
be3c9ca7 148632009-08-13 Yves Blusseau <blusseau@zetam.org>
14864
14865 * include/grub/symbol.h: Add the LOCAL macro.
14866 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
14867 starting with "L_".
14868
1f9e557e 148692009-08-13 Pavel Roskin <proski@gnu.org>
14870
9ca62843 14871 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
14872 any modern compilers we support.
14873
1f9e557e 14874 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
14875 Use local labels starting with "L_" so that Apple assembler
14876 knows they are local.
14877
81623db6 148782009-08-10 Robert Millan <rmh.grub@aybabtu.com>
14879
14880 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
14881 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
14882 (bsd_kernel_types): ... this enum.
14883
14884 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
14885 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
14886 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
14887
14888 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
14889 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
14890 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
14891 messages.
14892
f5d35e7a 148932009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14894
14895 * util/grub-dumpdevtree: Moved from here ...
14896 * util/i386/efi/grub-dumpdevtree: ... to here.
14897 (hexify): New function. Converts a string to its hex version.
14898 Generate hex versions of "efi" and "device-properties" by calling
14899 hexify() on the ASCII strings rather than by hardcoding numbers.
14900
d1e1d527 149012009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14902
14903 * fs/jfs.c: Update copyright year.
14904
1ebbe064 149052009-08-08 Felix Zielcke <fzielcke@z-51.de>
14906
14907 * util/grub.d/00_header.in: Fix a comment.
14908 * util/grub.d/10_linux.in: Likewise.
14909 * util/grub.d/10_windows.in: Likewise.
14910 * util/grub.d/10_hurd.in: Likewise.
14911
a78c8d24 149122009-08-08 Felix Zielcke <fzielcke@z-51.de>
14913
14914 * util/grub-mkconfig.in: Allow the user to specify the used font
14915 with GRUB_FONT.
14916
29a6b9e8 149172009-08-08 Pavel Roskin <proski@gnu.org>
14918
b5f16cc4 14919 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
14920 available, xfs.mod needs it now.
14921
2f5cb827 14922 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
14923 the "g" modifier in sed when the intention is to strip something
14924 once. This fixes comparison of kernels with multiple dashes.
14925
29a6b9e8 14926 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
14927 on it. Add missing space before closing bracket. Fix
14928 misleading formatting.
14929
892a3d98 149302009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14931
14932 * docs/grub.texi: Major overhaul. Remove all sections that are
14933 specific to GRUB Legacy, or mostly composed of Legacy-specific
14934 information.
14935
ed94253f 149362009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14937
14938 * docs/version.texi: New file. Provides version information for
14939 grub.texi.
14940
126d6628 149412009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14942
14943 * docs/grub.texi: Update CVS information to SVN.
14944 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
14945
998b5aa9 149462009-08-07 Felix Zielcke <fzielcke@z-51.de>
14947
14948 * util/grub-mkconfig.in: Remove a wrong `fi'.
14949
818e094a 149502009-08-07 Felix Zielcke <fzielcke@z-51.de>
14951
14952 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
14953 (grub_jfs_uuid): New function.
14954 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
14955
b969c52f 149562009-08-07 Felix Zielcke <fzielcke@z-51.de>
14957
14958 * util/grub-mkconfig_lib.in (font_path): Move the functionality
14959 of it to ...
14960 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
14961 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
14962
7a4894cc 149632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14964
14965 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
14966 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
14967 Update all users.
14968
14969 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
14970 not just "vmlinu[zx]".
14971 Moved from here ...
14972 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
14973 all users.
14974
14975 * util/grub.d/10_linux.in (find_latest): Moved from here ...
14976 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
14977 all users.
14978
4e2171f8 149792009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14980
14981 * util/grub.d/10_freebsd.in: Use an absolute device path for
14982 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
14983
6dcfcb32 149842009-08-06 Felix Zielcke <fzielcke@z-51.de>
14985
14986 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
14987 handling of multiple abstraction modules.
14988
f56a8756 149892009-08-04 Robert Millan <rmh.grub@aybabtu.com>
14990
14991 Fix a bug resulting in black screen when loading Linux using a
14992 packed video mode.
14993
14994 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
14995 function.
14996
14997 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
14998 (grub_vbe_bios_getset_dac_palette_width): New function.
14999 (grub_vbe_bios_get_dac_palette_width)
15000 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
15001 grub_vbe_bios_getset_dac_palette_width()).
15002
15003 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
15004 check for return status.
15005 (grub_vbe_get_video_mode_info): When getting information for a packed
15006 mode (<= 8 bpp), obtain DAC palette width using
15007 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
15008 {red,green,blue}_mark_size.
15009
222671b2 150102009-08-04 Felix Zielcke <fzielcke@z-51.de>
15011
ecb1a6d9 15012 * commands/search.c (options): Fix help output to match actual code.
222671b2 15013
f84114f5 150142009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
15015
15016 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
15017 of homegrown code.
15018
bd288a20 150192009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 15020
15021 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
15022 on XFS or ReiserFS.
15023
8aab5e25 150242009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 Support Apple partition map with sector size different from 512 bytes.
15027
15028 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
15029 (apple_partition_map_iterate): Respect 'aheader.blocksize'
15030 and 'apart.partmap_size'.
15031
6ad6258a 150322009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
150332009-08-01 Robert Millan <rmh.grub@aybabtu.com>
15034
15035 Fix cpuid command.
15036
15037 * commands/i386/cpuid.c (options): New variable.
15038 (grub_cmd_cpuid): Return real error.
15039 (GRUB_MOD_INIT(cpuid)): Declare options.
15040
67459bc6 150412009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
15044 valid.
15045
fbc6ab54 150462009-07-31 Bean <bean123ch@gmail.com>
15047
15048 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
15049 log2_inode.
15050 (grub_fshelp_node): Move inode field to the end.
15051 (grub_xfs_data): Remove inode field.
15052 (grub_xfs_inode_block): Calculate inode size using sblock.
15053 (grub_xfs_inode_offset): Likewise.
15054 (grub_xfs_read_inode): Calculate inode size using sblock.
15055 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
15056 (grub_xfs_iterate_dir): Calculate inode size using sblock.
15057 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
15058 to match inode size.
15059 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
15060 not accessible when data is null.
15061 (grub_xfs_open): Likewise.
15062
f45d6cfc 150632009-07-31 Bean <bean123ch@gmail.com>
15064
15065 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
15066 Don't change pv->disk if it's already set.
15067
15068 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
15069 (grub_raid_register): ... here.
15070 (grub_raid_rescan): Removed.
15071
15072 * include/grub/raid.h (grub_raid_rescan): Removed.
15073
15074 * util/grub-fstest.c: Remove include file <grub/raid.h>.
15075 (fstest): Replace grub_raid_rescan with module fini function followed
15076 by init function.
15077
15078 * util/grub-probe.c: Add include file <grub/raid.h>.
15079 (probe_raid_level): New function.
15080 (probe): Detect abstraction by walking the disk device, support two
15081 level of abstraction (LVM on RAID) when detecting partition map.
15082
24443b5a 150832009-07-31 Pavel Roskin <proski@gnu.org>
15084
15085 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
15086 to grub_zalloc(), it was erroneous.
15087 Reported by Bean <bean123ch@gmail.com>
15088
a275d9e7 150892009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 15092 embedding zone, not only the first one.
a275d9e7 15093
56c5a47f 150942009-07-29 Joe Auricchio <jauricchio@gmail.com>
15095
15096 * term/gfxterm.c (clear_char): New function.
15097 (grub_virtual_screen_setup): Use clear_char.
15098 (scroll_up): Likewise.
15099 (grub_virtual_screen_cls): Likewise.
15100
67bb323a 151012009-07-29 Felix Zielcke <fzielcke@z-51.de>
15102
15103 * util/deviceiter.c (get_acceleraid_disk_name): New static
15104 function.
15105 (grub_util_iterate_devices): Handle Accelraid devices.
15106 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
15107
388a7c75 151082009-07-28 Robert Millan <rmh.grub@aybabtu.com>
15109
15110 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
15111 separator for the suggested gfxpayload string (';' collides with the
15112 parser and needs escaping).
15113
3bb7abcf 151142009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
15117 Clear direction flag before jumping to OS.
15118 (grub_multiboot2_real_boot): Likewise.
15119
2ddd36d7 151202009-07-28 Felix Zielcke <fzielcke@z-51.de>
15121
15122 * util/i386/pc/grub-install: Fix parsing of --disk-module
15123 option.
15124
c521b62b 151252009-07-28 Felix Zielcke <fzielcke@z-51.de>
15126
15127 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
15128 when embedding.
15129
880e0a0c 151302009-07-26 Felix Zielcke <fzielcke@z-51.de>
15131
15132 * util/grub-mkconfig.in (package_version): New variable.
15133 Use it do display the version.
15134
2366e356 151352009-07-25 Felix Zielcke <fzielcke@z-51.de>
15136
15137 * kern/file.c (grub_file_open): Revert to previous check with
15138 grub_errno.
15139
7ad8c80e 151402009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15141
15142 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
15143 from help line. It's out of sync with code.
15144
72b9658b 151452009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15146
15147 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
15148 entries on failed boot.
15149
77435277 151502009-07-25 Felix Zielcke <fzielcke@z-51.de>
15151
15152 * kern/file.c (grub_file_open): Fix an error check.
15153
fcaa8b21 151542009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
15155
35d16c74 15156 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
15157 partition map couldn't be identified.
fcaa8b21 15158
48904cd1 151592009-07-23 Pavel Roskin <proski@gnu.org>
15160
ef3c317f 15161 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
15162 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
15163 case of little endian words becomes just an optimization.
15164 Respect const modifier.
ad8ea1f4 15165 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 15166
48904cd1 15167 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
15168 to avoid loss of upper bits if align is unsigned and shorter
15169 than addr.
15170
260c9a89 151712009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
15172
15173 UUID support for UFS
15174
15175 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
15176 (grub_ufs_uuid): New function.
15177 (grub_ufs_fs): add .uuid
15178
f76ce889 151792009-07-21 Pavel Roskin <proski@gnu.org>
15180
15181 * kern/dl.c (grub_dl_check_header): Make static.
15182
6a6cbcaf 151832009-07-21 Felix Zielcke <fzielcke@z-51.de>
15184
15185 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
15186 add drivemap for Vista. It breaks Windows 7.
15187
cffcddb2 151882009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
15191 128 bytes
15192
1ef44b80 151932009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15194
15195 Add BFS support
15196
15197 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
15198 (grub_fstest_SOURCES): Likewise.
15199 (pkglib_MODULES): Add befs.mod.
15200 (befs_mod_SOURCES): New variable.
15201 (befs_mod_CFLAGS): Likewise.
15202 (befs_mod_LDFLAGS): Likewise.
15203 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
15204 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15205 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15206 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15207 (grub_setup_SOURCES): Likewise.
15208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15209 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15210 (grub_setup_SOURCES): Likewise.
15211 * fs/befs.c: New file.
15212 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
15213 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
15214 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
15215 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
15216 (B_KEY_INDEX_ALIGN): New declaration.
15217 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
15218 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
15219 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
15220 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
15221 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
15222 (grub_afs_mount) [MODE_BFS]: Likewise.
15223 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
15224 (grub_afs_fs): Use GRUB_AFS_FSNAME
15225 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
15226 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
15227 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
15228 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
15229
4f253044 152302009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
15231
15232 * util/getroot.c (find_root_device): Add support for MacOSX.
15233 * util/hostdisk.c: Likewise.
15234
57a55913 152352009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 * font/font.c (find_glyph): Check whether a font is present to avoid
15238 segmentation fault.
75421ca9 15239
152402009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 15241
15242 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
15243
e98cd0c2 152442009-07-20 Pavel Roskin <proski@gnu.org>
15245
15246 * configure.ac: Trim excessively wordy excuses.
15247
1d2d169a 152482009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 Add symlink, mtime and label support to AtheFS.
15251
15252 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
15253 (grub_afs_iterate_dir): Handle symlinks.
15254 (grub_afs_open): Use grub_afs_read_symlink.
15255 (grub_afs_dir): Likewise.
15256 Pass mtime.
15257 (grub_afs_label): New function.
15258 (grub_afs_fs): Add grub_afs_label.
15259 (grub_afs_read_symlink): New function.
15260
186f3189 152612009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15262
15263 Fix AtheFS support.
15264
15265 * fs/afs.c: Fix comments style.
15266 (grub_afs_blockrun): Declare as packed.
15267 (grub_afs_datastream): Likewise.
15268 (grub_afs_bnode): Likewise.
15269 (grub_afs_btree): Likewise.
15270 (grub_afs_sblock): Likewise.
15271 Declare `name' as char.
15272 (grub_afs_inode): Declare as packed.
15273 Change void *vnode to grub_uint32_t unused.
15274 (grub_afs_iterate_dir): Check that key_size is positive.
15275 (grub_afs_mount): Don't read superblock twice.
75421ca9 15276 (grub_afs_dir): Don't free node in case of error,
186f3189 15277 grub_fshelp_find_file already handles this.
15278 (grub_afs_open): Likewise.
15279
5680109e 152802009-07-19 Pavel Roskin <proski@gnu.org>
15281
15282 * Makefile.in: Remove LIBLZO and enable_lzo.
15283 * conf/i386-pc.rmk: Remove lzo support.
15284 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
15285 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
15286 support.
15287 * kern/i386/pc/lzo1x.S: Remove.
15288 * kern/i386/pc/startup.S: Remove lzo support.
15289 * util/i386/pc/grub-mkimage.c: Likewise.
15290
ac70fa32 152912009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
15292
15293 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
15294 * fs/xfs.c (grub_xfs_dir): Likewise.
15295 * fs/afs.c (grub_afs_dir): Likewise.
15296 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
15297 (grub_iso9660_open): Likewise.
15298 * fs/jfs.c (grub_jfs_open): Likewise.
15299 * fs/ext2.c (grub_ext2_dir): Likewise.
15300 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
15301 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 15302
eab58da2 153032009-07-16 Pavel Roskin <proski@gnu.org>
15304
d2838156 15305 * configure.ac: Never add "-c" to CFLAGS.
15306
55c70904 15307 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
15308
43e6200c 15309 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
15310 grub_cv_cc_efiemu should be used.
15311
ce7a733d 15312 * configure.ac: Typo fixes.
15313
eab58da2 15314 * kern/mm.c (grub_zalloc): New function.
15315 (grub_debug_zalloc): Likewise.
15316 * include/grub/mm.h: Declare grub_zalloc() and
15317 grub_debug_zalloc().
15318 * util/misc.c (grub_zalloc): New function.
15319 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
15320 instead of grub_malloc(), remove unneeded initializations.
15321 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
15322 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
15323 * commands/parttool.c (grub_cmd_parttool): Likewise.
15324 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
15325 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
15326 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
15327 * disk/usbms.c (grub_usbms_finddevs): Likewise.
15328 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
15329 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
15330 (grub_cmd_efiemu_pnvram): Likewise.
15331 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
15332 * fs/iso9660.c (grub_iso9660_mount): Likewise.
15333 (grub_iso9660_iterate_dir): Likewise.
15334 * fs/jfs.c (grub_jfs_opendir): Likewise.
15335 * fs/ntfs.c (list_file): Likewise.
15336 (grub_ntfs_mount): Likewise.
15337 * kern/disk.c (grub_disk_open): Likewise.
15338 * kern/dl.c (grub_dl_load_core): Likewise.
15339 * kern/elf.c (grub_elf_file): Likewise.
15340 * kern/env.c (grub_env_context_open): Likewise.
15341 (grub_env_set): Likewise.
15342 (grub_env_set_data_slot): Likewise.
15343 * kern/file.c (grub_file_open): Likewise.
15344 * kern/fs.c (grub_fs_blocklist_open): Likewise.
15345 * loader/i386/multiboot.c (grub_module): Likewise.
15346 * loader/xnu.c (grub_xnu_create_key): Likewise.
15347 (grub_xnu_create_value): Likewise.
15348 * normal/main.c (grub_normal_add_menu_entry): Likewise.
15349 (read_config_file): Likewise.
15350 * normal/menu_entry.c (make_screen): Likewise.
15351 * partmap/sun.c (sun_partition_map_iterate): Likewise.
15352 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
15353 * script/sh/script.c (grub_script_parse): Likewise.
15354 * video/bitmap.c (grub_video_bitmap_create): Likewise.
15355 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
15356 * video/readers/png.c (grub_png_output_byte): Likewise.
15357 (grub_video_reader_png): Likewise.
15358
830afef7 153592009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 15360
15361 Enable all targets that can be built by default
15362
830afef7 15363 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 15364 grub-mkfont and grub-fstest if they can be built
15365
ee293aee 153662009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 Fix hang and segmentation fault in grub-emu-usb
15369
15370 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
15371 * util/usb.c (grub_libusb_devices): likewise
15372 (grub_libusb_init): rename to ...
15373 (GRUB_MOD_INIT (libusb)):...this
15374 (grub_libusb_fini): rename to ..
15375 (GRUB_MOD_FINI (libusb)):...this
15376 * disk/usbms.c (grub_usbms_transfer): fix retry logic
15377 * include/grub/disk.h (grub_raid_init): removed, it's useless
15378 (grub_raid_fini): likewise
15379 (grub_lvm_init): likewise
15380 (grub_lvm_fini): likewise
15381 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
15382 by grub_init_all
15383
94414221 153842009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15385
15386 Fix libusb
15387
15388 * Makefile.in (LIBUSB): new macro
15389 * genmk.rb (Utility/print_tail): new method
15390 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
15391 (top level): call util.print_tail at the end.
15392
59ade63d 153932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15394
15395 Make FreeBSD accept zpool.cache
15396
15397 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
15398 type is /boot/zfs/zpool.cache
15399
a58da8c7 154002009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15401
15402 Fix 64-bit efiemu
15403
15404 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
15405 correct wrong typedef
15406 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
15407
20591577 154082009-07-15 Pavel Roskin <proski@gnu.org>
15409
560ca572 15410 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
15411 * kern/disk.c (struct grub_disk_cache): Likewise.
15412
e8e8e4fd 15413 * commands/probe.c (options): Typo fix.
15414
fde24e10 15415 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
15416 Increase to 0x5a to accommodate FAT32. Adjust other offsets
15417 accordingly.
15418 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
15419
379c54c1 15420 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
15421 the end of "Error" to make the message more readable.
15422
7bd8f5bf 15423 * boot/i386/pc/boot.S (kernel_segment): Remove.
15424 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
15425 for destination.
15426
40b132c5 15427 * boot/i386/pc/boot.S (boot_version): Remove.
15428 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15429 Remove.
15430
20591577 15431 * include/grub/i386/pc/boot.h: Sort all offsets.
15432 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
15433 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
15434 * boot/i386/pc/boot.S: Assert location of every offset listed in
15435 include/grub/i386/pc/boot.h.
15436
2df32b2c 154372009-07-13 Pavel Roskin <proski@gnu.org>
15438
44b5d879 15439 * include/grub/i386/coreboot/machine.h: Rename
15440 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
15441 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
15442 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
15443
17dc3751 15444 * kern/dl.c: Force native word size to suppress warnings when
15445 compiling grub-emu.
15446
2df32b2c 15447 * kern/device.c (grub_device_iterate): Change struct part_ent to
15448 hold the name, not a pointer to it. Use one grub_malloc() per
15449 partition, not two. Free partition_name if grub_malloc() fails.
15450 Set ents to NULL only before grub_partition_iterate() is called.
15451
75c59f59 154522009-07-11 Bean <bean123ch@gmail.com>
15453
15454 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
15455 childname.
15456
0ae1bf88 154572009-07-10 Bean <bean123ch@gmail.com>
154582009-07-10 Robert Millan <rmh.grub@aybabtu.com>
15459
15460 * kern/ieee1275/openfw.c (grub_children_iterate)
15461 (grub_devalias_iterate): Fix size evaluation for property or path
15462 strings, which was broken since r2132.
15463
8279cade 154642009-07-07 Pavel Roskin <proski@gnu.org>
15465
7d8a52d3 15466 * commands/search.c (search_file): Merge into ...
15467 (search_fs): ... this. Accept search type as argument.
15468 (grub_cmd_search): Pass search type to search_fs().
15469
25f9a05a 15470 * include/grub/util/console.h: New file.
15471 * util/console.c: Use it instead of grub/machine/console.h.
15472 * util/grub-emu.c: Likewise.
15473
8279cade 15474 * lib/arg.c (find_long_option): Remove.
15475 (find_long): Add `len' argument, make `s' const char *.
15476 (grub_arg_parse): Parse long options in place, not in a
15477 temporary buffer.
15478
4a11b60f 154792009-07-06 Pavel Roskin <proski@gnu.org>
15480
99f68041 15481 * commands/search.c (search_fs): Fix potential NULL pointer
15482 dereference.
15483
4a11b60f 15484 * commands/search.c (search_fs): Replace QUID macro with quid_fn
15485 function pointer.
15486
e110f4de 154872009-07-06 Daniel Mierswa <impulze@impulze.org>
15488
15489 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
15490 comparison.
15491
46eeb6a2 154922009-07-05 Pavel Roskin <proski@gnu.org>
15493
bab74958 15494 * include/grub/i386/linux.h (struct linux_kernel_params):
15495 Restore padding3, it's still needed.
15496
46eeb6a2 15497 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
15498 FreeBSD.
15499 * util/osdetect.lua: Likewise.
15500
b4a1dc79 155012009-07-05 Bean <bean123ch@gmail.com>
15502
15503 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
15504
15505 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
15506 (grub_lua_getenv): Likewise.
15507 (grub_lua_setenv): Likewise.
15508 (save_errno): New function.
15509 (push_result): Likewise.
15510 (grub_lua_enum_device): Likewise.
15511 (grub_lua_enum_file): Likewise.
15512 (grub_lua_file_open): Likewise.
15513 (grub_lua_file_close): Likewise.
15514 (grub_lua_file_seek): Likewise.
15515 (grub_lua_file_read): Likewise.
15516 (grub_lua_file_getline): Likewise.
15517 (grub_lua_file_getsize): Likewise.
15518 (grub_lua_file_getpos): Likewise.
15519 (grub_lua_file_eof): Likewise.
15520 (grub_lua_file_exist): Likewise.
15521 (grub_lua_add_menu): Likewise.
15522
15523 * script/lua/grub_lua.h (isupper): New inline function.
15524 (islower): Likewise.
15525 (ispunct): Likewise.
15526 (isxdigit): Likewise.
15527 (strcspn): Change to normal function.
15528 (strpbkr): New function declaration.
15529 (memchr): Likewise.
15530
15531 * script/lua/grub_main.c (scan_str): New function.
15532 (strcspn): Likewise.
15533 (strpbrk): Likewise.
15534 (memchr): Likewise.
15535
15536 * script/lua/linit.c (lualibs): Enable the string library.
15537
15538 * util/osdetect.lua: New file.
15539
2da92295 155402009-07-04 Robert Millan <rmh.grub@aybabtu.com>
15541
15542 * include/grub/i386/linux.h (struct linux_kernel_params): Add
15543 `capabilities' member.
15544
b2582ec9 155452009-07-02 Pavel Roskin <proski@gnu.org>
15546
15547 * genparttoollist.sh: Add missing newline at the end.
15548
32622956 155492009-07-01 Pavel Roskin <proski@gnu.org>
15550
87a7339e 15551 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
15552
d23af54e 15553 * util/hostdisk.c (open_device): Remove `const' from
15554 `sysctl_size', as sysctlbyname() can change it (in this case it
15555 doesn't actually happen).
15556
c94b18a9 15557 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
15558 using signed long int constants.
15559
c6cd3ef0 15560 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
15561 constant to avoid a warning on FreeBSD.
15562
0df63420 15563 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
15564 where it's needed.
15565
999577f1 15566 * Makefile.in: Install include/grub/machine symlink.
15567
6f41557f 15568 * Makefile.in: When installing symlinks, use "cp -fR", which
15569 works on FreeBSD and MacOSX.
15570 From Yves Blusseau <cl7m42e02@sneakemail.com>
15571
c8d22988 15572 * kern/dl.c (grub_dl_resolve_symbol): Make static.
15573 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
15574
1b96e952 15575 * util/misc.c: Move grub_reboot() and grub_halt() ...
15576 * util/grub-emu.c: ... here. Make main_env static.
15577 * include/grub/util/misc.h: Remove main_env.
15578
2ef0084d 15579 * kern/mm.c: Use correct format to print size_t.
15580
32622956 15581 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
15582 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
15583 * kern/powerpc/dl.c: Likewise.
15584 * kern/sparc64/dl.c: Likewise.
15585 * kern/x86_64/dl.c: Likewise.
15586
3f7f0cd0 155872009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15588
15589 Fix grub-emu build on sparc64-ieee1275.
15590
75421ca9 15591 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 15592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
15593
211d06b5 155942009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15595
15596 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
15597 (grub_reboot, grub_halt): New functions.
15598
15599 * util/i386/pc/misc.c: Delete. Update all users.
15600 * util/sparc64/ieee1275/misc.c: Likewise.
15601 * util/powerpc/ieee1275/misc.c: Likewise.
15602
aaf53e3c 156032009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15604
15605 * conf/i386.rmk (setjmp_mod_SOURCES)
15606 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
15607 * conf/common.rmk (setjmp_mod_SOURCES)
15608 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
15609 to use $(target_cpu).
15610 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
15611 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
15612 * conf/powerpc-ieee1275.rmk: Likewise.
15613 * conf/sparc64-ieee1275.rmk: Likewise.
15614
15615 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
15616 $(target_cpu) for kern/$(target_cpu)/dl.c.
15617 * conf/i386-efi.rmk: Likewise.
15618 * conf/i386-ieee1275.rmk: Likewise.
15619 * conf/x86_64-efi.rmk: Likewise.
15620 * conf/i386-coreboot.rmk: Likewise.
15621 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
15622 $(target_cpu) for kern/$(target_cpu)/dl.c and for
15623 kern/$(target_cpu)/cache.S.
15624 * conf/sparc64-ieee1275.rmk: Likewise.
15625
a337130b 156262009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15627
15628 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
15629 type to `grub_uint8_t', and adjust `padding9' accordingly.
15630
c6fe4d53 156312009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15632
b09db61d 15633 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
15634
c6fe4d53 15635 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
15636 assembly in final jump, using register constraints.
15637
b09db61d 15638 (grub_linux_boot): For text mode, initialize `have_vga' using
15639 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
15640
15641 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
15642 right before the final jump.
15643
15644 Set `video_mode' to 0x3.
15645
15646 Document initialization of `video_page', `video_mode' and
15647 `video_ega_bx'.
15648
28333ad0 156492009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15650
15651 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
15652 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 15653 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 15654
02164e1b 156552009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15656
15657 Fix build on Debian / sparc.
15658
15659 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
15660
18b6c557 156612009-06-28 Pavel Roskin <proski@gnu.org>
15662
85f2aab6 15663 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
15664 fix a warning.
15665
18b6c557 15666 * util/grub.d/10_linux.in: Match SUSE style initrd names.
15667
ad760f81 156682009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15669
15670 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
15671 `err'.
15672
87a4623b 156732009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15674
15675 Revert r2338.
15676
15677 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
15678 file can't be opened. grub_file_open() is already supposed to set
75421ca9 15679 grub_errno / grub_errmsg appropriately.
87a4623b 15680 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15681
8231fb77 156822009-06-27 Pavel Roskin <proski@gnu.org>
156832009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15684
15685 * include/grub/dl.h: Include grub/elf.h.
15686 (struct grub_dl): Add symtab field.
15687 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
15688 GRUB_MODULES_MACHINE_READONLY.
15689 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
15690 of the header for read-only modules.
15691 (grub_dl_unload): Free mod->symtab for read-only modules.
15692 * kern/i386/dl.c: Use mod->symtab.
15693 * kern/powerpc/dl.c: Likewise.
15694 * kern/sparc64/dl.c: Likewise.
15695 * kern/x86_64/dl.c: Likewise.
15696
15697 * conf/i386-qemu.rmk: New file.
15698 * kern/i386/qemu/startup.S: Likewise.
15699 * kern/i386/qemu/mmap.c: Likewise.
15700 * boot/i386/qemu/boot.S: Likewise.
15701 * include/grub/i386/qemu/time.h: Likewise.
15702 * include/grub/i386/qemu/serial.h: Likewise.
15703 * include/grub/i386/qemu/kernel.h: Likewise.
15704 * include/grub/i386/qemu/console.h: Likewise.
15705 * include/grub/i386/qemu/boot.h: Likewise.
15706 * include/grub/i386/qemu/init.h: Likewise.
15707 * include/grub/i386/qemu/machine.h: Likewise.
15708 * include/grub/i386/qemu/loader.h: Likewise.
15709 * include/grub/i386/qemu/memory.h: Likewise.
15710
15711 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
15712 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
15713 [qemu] (pkglib_IMAGES): Add `boot.img'.
15714 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
15715 [qemu] (boot_img_FORMAT): New variables.
15716 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
15717 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
15718 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
15719 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15720 [qemu] (kernel_img_FORMAT): New variables.
15721
15722 * configure.ac: Recognise `i386-qemu'.
15723
15724 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
15725 (for no compression).
15726 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
15727 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
15728 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
15729 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
15730 ifdefs).
15731
97fe384e 157322009-06-27 Pavel Roskin <proski@gnu.org>
15733
15734 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
15735 read.
15736 * efiemu/prepare32.c: Likewise.
15737 * efiemu/prepare64.c: Likewise.
15738
c402ab17 157392009-06-26 Pavel Roskin <proski@gnu.org>
15740
15741 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
15742 * include/grub/elf.h: Define symbols without "32" or "64" based
15743 on GRUB_TARGET_WORDSIZE.
15744 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
15745 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
15746 ELF definitions.
15747 * efiemu/loadcore64.c: Likewise.
15748 * loader/i386/bsd32.c: Likewise.
15749 * loader/i386/bsd64.c: Likewise.
15750 * kern/dl.c: Remove own ELF definitions.
15751 * util/i386/efi/grub-mkimage.c: Likewise.
15752
9bbdfd4d 157532009-06-23 Robert Millan <rmh.grub@aybabtu.com>
15754
15755 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
15756 segment 0x0 unconditionally, because the reference generated by
15757 GAS is an absolute address.
15758
a42ce6e9 157592009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15760
15761 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
15762 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
15763
c952cf92 157642009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15765
15766 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
15767 indexes. Check for -f explicitly.
cc3752ad 15768 (search_file): Improve error message.
15769 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 15770
132a0a59 157712009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15772
15773 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
15774 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
15775
387a140c 157762009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15777
15778 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
15779 * conf/i386-ieee1275.rmk: Likewise.
15780 * conf/i386-coreboot.rmk: Likewise.
15781
15782 * kern/i386/pc/startup.S (grub_stop): Remove function.
15783 * kern/i386/ieee1275/startup.S: Likewise.
15784 * kern/i386/coreboot/startup.S: Likewise.
15785 * kern/i386/misc.S (grub_stop): New function.
15786
41da9665 157872009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15788
15789 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
15790 * kern/i386/realmode.S (real_to_prot): ... to here.
15791
bf337234 157922009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15793
15794 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
15795 with `kernel.img'.
15796 (kernel_elf_SOURCES): Rename to ...
15797 (kernel_img_SOURCES): ... this.
15798 (kernel_elf_HEADERS): Rename to ...
15799 (kernel_img_HEADERS): ... this. Update all users.
15800 (kernel_elf_ASFLAGS): Rename to ...
15801 (kernel_img_ASFLAGS): ... this.
15802 (kernel_elf_CFLAGS): Rename to ...
15803 (kernel_img_CFLAGS): ... this.
15804 (kernel_elf_LDFLAGS): Rename to ...
15805 (kernel_img_LDFLAGS): ... this.
15806 * conf/i386-coreboot.rmk: Likewise.
15807 * conf/powerpc-ieee1275.rmk: Likewise.
15808
15809 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
15810 with "kernel.img".
15811
f52196ff 158122009-06-21 Pavel Roskin <proski@gnu.org>
15813
c3cee413 15814 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
15815 to match nested functions.
15816 * loader/sparc64/ieee1275/linux.c: Likewise.
15817
f52196ff 15818 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
15819
58750afc 158202009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15821
15822 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
15823 all i386 platforms.
15824
15355c7d 158252009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15826
15827 Fix asm file handling on ELF, and remove workarounds.
15828
15829 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 15830 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 15831 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
15832 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
15833
3f3ec72b 158342009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 Load BSD ELF modules
15837
15838 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
15839 and loader/i386/bsd64.c
15840 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
15841 (FREEBSD_MODTYPE_ELF_MODULE): New definition
15842 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
15843 (grub_freebsd_load_elfmodule32): New declaration
15844 (grub_freebsd_load_elfmoduleobj64): Likewise
15845 (grub_freebsd_load_elf_meta32): Likewise
15846 (grub_freebsd_load_elf_meta64): Likewise
15847 (grub_freebsd_add_meta): Likewise
15848 (grub_freebsd_add_meta_module): Likewise
15849 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
15850 (grub_freebsd_add_meta_module): Likewise and move module-specific
15851 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
15852 (grub_cmd_freebsd): Add elf-kernel specific parts
15853 based on grub_freebsd_add_meta_module
15854 (grub_cmd_freebsd_module): Add type parsing moved from
15855 grub_freebsd_add_meta_module
15856 (grub_cmd_freebsd_module_elf): New function
15857 (cmd_freebsd_module_elf): New variable
15858 (GRUB_MOD_INIT): Register freebsd_module_elf
15859 * loader/i386/bsd32.c: New file
15860 * loader/i386/bsd64.c: Likewise
15861 * loader/i386/bsdXX.c: Likewise
15862 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
15863 (grub_elf64_load): Likewise
15864 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
15865 All users updated
15866 (grub_elf64_load_hook_t): Likewise
15867
0db15301 158682009-06-21 Colin Watson <cjwatson@ubuntu.com>
15869
15870 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
15871 variable.
15872 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
15873 don't write a menu entry for recovery mode.
15874
546796c1 158752009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15876
15877 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
15878 after it's no longer needed.
15879
cd7310d5 158802009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15881
15882 * include/grub/i386/loader.h (grub_linux_prot_size)
15883 (grub_linux_tmp_addr, grub_linux_real_addr)
15884 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
15885 GRUB_MACHINE_PCBIOS.
15886 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
15887 common grub_util_info() call to ...
15888 (generate_image): ... here.
15889 Fix use of uninitialized memory, comparison of signed with
15890 unsigned integers and memory leak.
15891 Remove bogus module address message.
15892
ab32d3b5 158932009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15894
15895 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
15896 grub_raid_register
15897 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
15898
024ef597 158992009-06-19 Pavel Roskin <proski@gnu.org>
15900
15901 * configure.ac: Remove stray AC_MSG_CHECKING.
15902
3ac72b51 159032009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
15904
15905 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 15906
e14cd814 159072009-06-18 Pavel Roskin <proski@gnu.org>
15908
15909 * conf/common.rmk: Add fs_file.mod.
15910 * disk/fs_file.c: New file.
15911 * include/grub/disk.h (enum grub_disk_dev_id): Add
15912 GRUB_DISK_DEVICE_FILE_ID.
15913
26586d98 159142009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15915
15916 Fix build with Apple's toolchain. Part 2
15917
15918 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
15919 a fake start
15920
26de2bcd 159212009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15922
15923 Fix build with Apple's toolchain. Part 1
15924
15925 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
15926 for long calls
15927 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 15928 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 15929 Apple's toolchain
15930
09b3490b 159312009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15932
15933 Fix warnings
15934
15935 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
15936 (decomp_block): initialize ch
15937 use grub_memcpy instead of memcpy
15938
c22a006a 159392009-06-17 Pavel Roskin <proski@gnu.org>
15940
d3638678 15941 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
15942 version, use declarations needed to use vga_text as the startup
15943 console.
15944
c22a006a 15945 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
15946 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
15947 the kernel.
15948 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
15949 and grub_at_keyboard_fini(), it's done on module load and
15950 unload.
15951
05b129e0 159522009-06-17 Felix Zielcke <fzielcke@z-51.de>
15953
15954 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
15955 file can't be found.
15956 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15957
cf24ed9e 159582009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15959
15960 Fix newline handling
15961
15962 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 15963 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 15964 (grub_script_yylex): don't segfault on unterminated script
15965 newline terminates command and variable
15966
74aa8e4b 159672009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15968
15969 avoid double grub_adjust_range call. Bug reported by David Simner
15970
15971 * kern/disk.c (grub_disk_write): change to raw disk access before
15972 calling disk_read
15973
1bd265f3 159742009-06-17 Colin Watson <cjwatson@ubuntu.com>
15975
15976 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
15977 spaces, for the benefit of help2man.
15978 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15979
a2d08c06 159802009-06-16 Pavel Roskin <proski@gnu.org>
15981
15982 * kern/i386/halt.c: Include grub/machine/init.h.
15983 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
15984
b97bcb19 159852009-06-16 Felix Zielcke <fzielcke@z-51.de>
15986
15987 * util/grub.d/30_os-prober.in: Use ${root} in the generated
15988 drivemap menuentry.
15989
0644f96c 159902009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
15991
15992 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
15993 `echo' command.
15994
3ef17a2e 159952009-06-16 Pavel Roskin <proski@gnu.org>
15996
15997 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
15998 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
15999 save %dx, we only need %dl and we never change it.
16000 * boot/i386/pc/cdboot.S: Don't set the root drive.
16001 * boot/i386/pc/pxeboot.S: Likewise.
16002 * include/grub/i386/pc/boot.h: Remove
16003 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
16004 GRUB_BOOT_MACHINE_DRIVE_CHECK.
16005 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
16006 * kern/i386/pc/init.c (make_install_device): Remove references
16007 to grub_root_drive.
16008 * kern/i386/pc/startup.S: Likewise.
16009 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
16010
693fe637 160112009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16012
16013 xnu_uuid command
16014
16015 * commands/xnu_uuid.c: new file
16016 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
16017 (xnu_uuid_mod_SOURCES): new variable
16018 (xnu_uuid_mod_CFLAGS): likewise
16019 (xnu_uuid_mod_LDFLAGS): likewise
16020 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16021 * conf/i386-ieee1275.rmk: likewise
16022 * conf/i386-pc.rmk: likewise
16023 * conf/powerpc-ieee1275.rmk: likewise
16024 * conf/sparc64-ieee1275.rmk: likewise
16025 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
16026
c9da87d0 160272009-06-16 Pavel Roskin <proski@gnu.org>
16028
16029 * configure.ac: Avoid '==' in test command, it's not portable.
16030
9c6f4596 160312009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16032
16033 Probe command
16034
16035 * commands/probe.c: new file
16036 * conf/common.rmk (pkglib_MODULES): add probe.mod
16037 (probe_mod_SOURCES): new variable
16038 (probe_mod_CFLAGS): likewise
16039 (probe_mod_LDFLAGS): likewise
16040 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16041 * conf/i386-ieee1275.rmk: likewise
16042 * conf/i386-pc.rmk: likewise
16043 * conf/powerpc-ieee1275.rmk: likewise
16044 * conf/sparc64-ieee1275.rmk: likewise
16045
70b7f9fd 160462009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 Fix handling of string like \"hello\" and "a
16049 b"
16050
16051 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
16052 (grub_script_yylex): fix parsing of quoting, escaping and newline
16053
71c79a6b 160542009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
16055
dd74360c 16056 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 16057 handling
dd74360c 16058
0644f96c 160592009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 16060
16061 * util/grub-mkconfig.in: Fix parsing of --output option.
16062
e40893c3 160632009-06-12 Pavel Roskin <proski@gnu.org>
16064
16065 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
16066 genmk.rb don't need to be generated or installed.
16067
3a1acfe2 160682009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16069
16070 * commands/i386/pc/drivemap_int13h.S: add more comments
16071
3a4575d4 160722009-06-11 Pavel Roskin <proski@gnu.org>
16073
0658e928 16074 * Makefile.in (uninstall): Uninstall manuals.
16075
ca0388f0 16076 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
16077 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
16078 and update-grub_lib in two places.
16079 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
16080
e3b27c39 16081 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
16082 a compiler warning.
16083
3a4575d4 16084 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
16085 `entry_lo' to fix variable shadowing.
16086
af1f4f55 160872009-06-11 Christian Franke <franke@computer.org>
16088
16089 * kern/misc.c (__enable_execute_stack): Add missing return type
16090 to prevent gcc warning.
16091
5225e649 160922009-06-11 Felix Zielcke <fzielcke@z-51.de>
16093
16094 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
16095
7d83bd47 160962009-06-11 Pavel Roskin <proski@gnu.org>
16097
c1cb63ba 16098 * Makefile.in: Don't rely on any scripts being executable.
16099 Always use $(SHELL) to run shell scripts.
16100
7d83bd47 16101 * configure.ac: Always define ___main if using -nostdlib. This
16102 fixes tests on Cygwin.
16103
948f48e7 161042009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
16105
16106 UDF fix
16107
7d83bd47 16108 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 16109 is in bytes and not in blocks
7d83bd47 16110
8ada9bc1 161112009-06-11 Pavel Roskin <proski@gnu.org>
16112
16113 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
16114 warning.
16115
25ad2323 161162009-06-11 Felix Zielcke <fzielcke@z-51.de>
16117
16118 * util/grub.d/30_os-prober.in: Fix a comment. Source
16119 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
16120 to set the root device. Place drivemap command in the generated
16121 chain entry.
16122
e65acb0c 161232009-06-11 Pavel Roskin <proski@gnu.org>
16124
16125 * configure.ac: Remove host_m32. Issues with 64-bit utilities
16126 have long been resolved.
16127
f285fe2d 161282009-06-11 Colin Watson <cjwatson@ubuntu.com>
16129
bd47b0b5 16130 * util/grub.d/10_linux.in: Capitalise "Linux".
16131
f285fe2d 16132 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
16133
a0c62e4e 161342009-06-11 Pavel Roskin <proski@gnu.org>
16135
b6783cb2 16136 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
16137 fix a gcc warning and ensure that the function won't ever exit.
16138
dde032e8 16139 * kern/i386/ieee1275/init.c: Add missing prototype for
16140 grub_stop_floppy().
16141
22cd079d 16142 * loader/ieee1275/multiboot2.c [__i386__]: Include
16143 grub/cpu/multiboot.h.
16144
a0c62e4e 16145 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
16146 casts to short - they are not portable and cause warnings. Fix
16147 use of uninitialized values in input_buf. Use ARRAY_SIZE.
16148
63963d17 161492009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 Drivemap fixes
16152
16153 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
16154 new function
16155 (grub_get_root_biosnumber_saved): new variable
16156 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
16157 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 16158 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 16159 %dx after the call if necessary
16160 * conf/common.rmk (pkglib_MODULES): remove boot.mod
16161 (boot_mod_SOURCES): remove
16162 (boot_mod_CFLAGS): remove
16163 (boot_mod_LDFLAGS): remove
16164 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
16165 (boot_mod_SOURCES): new variable
16166 (boot_mod_CFLAGS): likewise
16167 (boot_mod_LDFLAGS): likewise
16168 * conf/i386-efi.rmk: likewise
16169 * conf/i386-ieee1275.rmk: likewise
16170 * conf/i386-pc.rmk: likewise
16171 * conf/powerpc-ieee1275.rmk: likewise
16172 * conf/sparc64-ieee1275.rmk: likewise
16173 * conf/x86_64-efi.rmk: likewise
16174 * include/grub/i386/pc/biosnum.h: new file
16175 * lib/i386/pc/biosnum.c: likewise
16176 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
16177 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
16178 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 16179
33abf7ae 161802009-06-10 Pavel Roskin <proski@gnu.org>
16181
5ac35b35 16182 * io/gzio.c (test_header): Don't reuse one buffer for all data.
16183 Use separate variables. Read only the file size at the end, but
16184 not the checksum that we don't use.
16185
5c5215d5 16186 * kern/file.c (grub_file_read): Use void pointer for the buffer.
16187 Adjust all callers.
16188
27d5fef7 16189 * kern/ieee1275/openfw.c: Remove libc includes.
16190 * kern/ieee1275/cmain.c: Likewise.
16191 * include/grub/ieee1275/ieee1275.h: Likewise.
16192
33abf7ae 16193 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
16194 compiler warnings.
16195
19d50c2b 161962009-06-10 Felix Zielcke <fzielcke@z-51.de>
16197
16198 * Makefile.in: Remove all trailing whitespace.
16199 * conf/i386-pc.rmk: Likewise.
16200 * conf/powerpc-ieee1275.rmk: Likewise.
16201 * conf/sparc64-ieee1275.rmk: Likewise.
16202 * docs/grub.texi: Likewise.
16203 * docs/texinfo.tex: Likewise.
16204 * disk/fs_uuid.c: Likewise.
16205 * disk/lvm.c: Likewise.
16206 * disk/scsi.c: Likewise.
16207 * disk/ata.c: Likewise.
16208 * disk/ieee1275/ofdisk.c: Likewise.
16209 * disk/i386/pc/biosdisk.c: Likewise.
16210 * disk/host.c: Likewise.
16211 * disk/raid.c: Likewise.
16212 * disk/efi/efidisk.c: Likewise.
16213 * disk/usbms.c: Likewise.
16214 * disk/memdisk.c: Likewise.
16215 * disk/loopback.c: Likewise.
16216 * kern/powerpc/dl.c: Likewise.
16217 * kern/device.c: Likewise.
16218 * kern/dl.c: Likewise.
16219 * kern/sparc64/dl.c: Likewise.
16220 * kern/ieee1275/ieee1275.c: Likewise.
16221 * kern/term.c: Likewise.
16222 * kern/fs.c: Likewise.
16223 * kern/i386/dl.c: Likewise.
16224 * kern/i386/pc/startup.S: Likewise.
16225 * kern/i386/pc/init.c: Likewise.
16226 * kern/i386/pc/mmap.c: Likewise.
16227 * kern/i386/pc/lzo1x.S: Likewise.
16228 * kern/i386/ieee1275/init.c: Likewise.
16229 * kern/i386/realmode.S: Likewise.
16230 * kern/i386/tsc.c: Likewise.
16231 * kern/partition.c: Likewise.
16232 * kern/corecmd.c: Likewise.
16233 * kern/file.c: Likewise.
16234 * kern/efi/efi.c: Likewise.
16235 * kern/efi/init.c: Likewise.
16236 * kern/efi/mm.c: Likewise.
16237 * kern/main.c: Likewise.
16238 * kern/err.c: Likewise.
16239 * kern/env.c: Likewise.
16240 * kern/disk.c: Likewise.
16241 * kern/generic/millisleep.c: Likewise.
16242 * kern/generic/rtc_get_time_ms.c: Likewise.
16243 * kern/misc.c: Likewise.
16244 * kern/parser.c: Likewise.
16245 * genmk.rb: Likewise.
16246 * configure.ac: Likewise.
16247 * boot/i386/pc/diskboot.S: Likewise.
16248 * boot/i386/pc/pxeboot.S: Likewise.
16249 * boot/i386/pc/boot.S: Likewise.
16250 * boot/i386/pc/lnxboot.S: Likewise.
16251 * boot/i386/pc/cdboot.S: Likewise.
16252 * parttool/pcpart.c: Likewise.
16253 * video/readers/tga.c: Likewise.
16254 * video/video.c: Likewise.
16255 * video/bitmap.c: Likewise.
16256 * lib/envblk.c: Likewise.
16257 * lib/i386/setjmp.S: Likewise.
16258 * fs/xfs.c: Likewise.
16259 * fs/afs.c: Likewise.
16260 * fs/fat.c: Likewise.
16261 * fs/ntfs.c: Likewise.
16262 * fs/udf.c: Likewise.
16263 * fs/affs.c: Likewise.
16264 * fs/iso9660.c: Likewise.
16265 * fs/hfs.c: Likewise.
16266 * fs/fshelp.c: Likewise.
16267 * fs/ext2.c: Likewise.
16268 * fs/jfs.c: Likewise.
16269 * fs/reiserfs.c: Likewise.
16270 * fs/hfsplus.c: Likewise.
16271 * fs/minix.c: Likewise.
16272 * fs/cpio.c: Likewise.
16273 * fs/sfs.c: Likewise.
16274 * fs/ufs.c: Likewise.
16275 * efiemu/prepare.c: Likewise.
16276 * efiemu/loadcore_common.c: Likewise.
16277 * efiemu/runtime/efiemu.sh: Likewise.
16278 * efiemu/runtime/efiemu.S: Likewise.
16279 * efiemu/runtime/efiemu.c: Likewise.
16280 * efiemu/pnvram.c: Likewise.
16281 * efiemu/main.c: Likewise.
16282 * efiemu/i386/pc/cfgtables.c: Likewise.
16283 * efiemu/i386/loadcore64.c: Likewise.
16284 * efiemu/i386/loadcore32.c: Likewise.
16285 * efiemu/loadcore.c: Likewise.
16286 * efiemu/symbols.c: Likewise.
16287 * efiemu/mm.c: Likewise.
16288 * include/grub/autoefi.h: Likewise.
16289 * include/grub/datetime.h: Likewise.
16290 * include/grub/term.h: Likewise.
16291 * include/grub/hfs.h: Likewise.
16292 * include/grub/lvm.h: Likewise.
16293 * include/grub/i386/tsc.h: Likewise.
16294 * include/grub/i386/linux.h: Likewise.
16295 * include/grub/i386/xnu.h: Likewise.
16296 * include/grub/i386/efiemu.h: Likewise.
16297 * include/grub/i386/pc/biosdisk.h: Likewise.
16298 * include/grub/i386/pc/memory.h: Likewise.
16299 * include/grub/i386/pc/vbe.h: Likewise.
16300 * include/grub/parttool.h: Likewise.
16301 * include/grub/video.h: Likewise.
16302 * include/grub/memory.h: Likewise.
16303 * include/grub/fs.h: Likewise.
16304 * include/grub/partition.h: Likewise.
16305 * include/grub/xnu.h: Likewise.
16306 * include/grub/efi/api.h: Likewise.
16307 * include/grub/efi/pe32.h: Likewise.
16308 * include/grub/efi/memory.h: Likewise.
16309 * include/grub/multiboot.h: Likewise.
16310 * include/grub/usbdesc.h: Likewise.
16311 * include/grub/multiboot2.h: Likewise.
16312 * include/grub/acpi.h: Likewise.
16313 * include/grub/efiemu/efiemu.h: Likewise.
16314 * include/grub/disk.h: Likewise.
16315 * include/grub/ieee1275/ieee1275.h: Likewise.
16316 * include/grub/net.h: Likewise.
16317 * include/grub/machoload.h: Likewise.
16318 * include/grub/macho.h: Likewise.
16319 * include/multiboot.h: Likewise.
16320 * genmoddep.awk: Likewise.
16321 * normal/main.c: Likewise.
16322 * normal/menu_entry.c: Likewise.
16323 * normal/menu_viewer.c: Likewise.
16324 * normal/completion.c: Likewise.
16325 * normal/cmdline.c: Likewise.
16326 * normal/misc.c: Likewise.
16327 * normal/datetime.c: Likewise.
16328 * bus/usb/usbtrans.c: Likewise.
16329 * bus/usb/ohci.c: Likewise.
16330 * bus/usb/uhci.c: Likewise.
16331 * bus/usb/usb.c: Likewise.
16332 * mmap/efi/mmap.c: Likewise.
16333 * mmap/i386/pc/mmap_helper.S: Likewise.
16334 * mmap/i386/pc/mmap.c: Likewise.
16335 * mmap/i386/mmap.c: Likewise.
16336 * mmap/i386/uppermem.c: Likewise.
16337 * mmap/mmap.c: Likewise.
16338 * commands/acpi.c: Likewise.
16339 * commands/echo.c: Likewise.
16340 * commands/blocklist.c: Likewise.
16341 * commands/loadenv.c: Likewise.
16342 * commands/usbtest.c: Likewise.
16343 * commands/boot.c: Likewise.
16344 * commands/parttool.c: Likewise.
16345 * commands/search.c: Likewise.
16346 * commands/cat.c: Likewise.
16347 * commands/i386/pc/play.c: Likewise.
16348 * commands/i386/pc/drivemap.c: Likewise.
16349 * commands/i386/pc/vbeinfo.c: Likewise.
16350 * commands/i386/pc/acpi.c: Likewise.
16351 * commands/i386/pc/vbetest.c: Likewise.
16352 * commands/ls.c: Likewise.
16353 * commands/cmp.c: Likewise.
16354 * commands/test.c: Likewise.
16355 * commands/efi/acpi.c: Likewise.
16356 * commands/gptsync.c: Likewise.
16357 * commands/help.c: Likewise.
16358 * partmap/amiga.c: Likewise.
16359 * partmap/apple.c: Likewise.
16360 * partmap/acorn.c: Likewise.
16361 * partmap/pc.c: Likewise.
16362 * partmap/sun.c: Likewise.
16363 * partmap/gpt.c: Likewise.
16364 * script/sh/lexer.c: Likewise.
16365 * script/sh/function.c: Likewise.
16366 * font/font.c: Likewise.
16367 * font/font_cmd.c: Likewise.
16368 * loader/powerpc/ieee1275/linux.c: Likewise.
16369 * loader/efi/chainloader.c: Likewise.
16370 * loader/multiboot_loader.c: Likewise.
16371 * loader/macho.c: Likewise.
16372 * loader/i386/multiboot.c: Likewise.
16373 * loader/i386/linux.c: Likewise.
16374 * loader/i386/pc/linux.c: Likewise.
16375 * loader/i386/pc/multiboot2.c: Likewise.
16376 * loader/i386/pc/chainloader.c: Likewise.
16377 * loader/i386/pc/xnu.c: Likewise.
16378 * loader/i386/bsd_trampoline.S: Likewise.
16379 * loader/i386/efi/linux.c: Likewise.
16380 * loader/i386/multiboot_elfxx.c: Likewise.
16381 * loader/i386/bsd_helper.S: Likewise.
16382 * loader/i386/bsd.c: Likewise.
16383 * loader/i386/linux_trampoline.S: Likewise.
16384 * loader/i386/xnu_helper.S: Likewise.
16385 * loader/i386/xnu.c: Likewise.
16386 * loader/i386/bsd_pagetable.c: Likewise.
16387 * loader/i386/multiboot_helper.S: Likewise.
16388 * loader/xnu.c: Likewise.
16389 * loader/xnu_resume.c: Likewise.
16390 * io/gzio.c: Likewise.
16391 * term/efi/console.c: Likewise.
16392 * term/terminfo.c: Likewise.
16393 * term/ieee1275/ofconsole.c: Likewise.
16394 * term/i386/pc/serial.c: Likewise.
16395 * term/i386/pc/vesafb.c: Likewise.
16396 * term/i386/pc/vga.c: Likewise.
16397 * term/usb_keyboard.c: Likewise.
16398 * term/gfxterm.c: Likewise.
16399 * aclocal.m4: Likewise.
16400 * util/lvm.c: Likewise.
16401 * util/grub.d/30_os-prober.in: Likewise.
16402 * util/grub.d/10_hurd.in: Likewise.
16403 * util/console.c: Likewise.
16404 * util/grub-macho2img.c: Likewise.
16405 * util/grub-probe.c: Likewise.
16406 * util/hostfs.c: Likewise.
16407 * util/i386/pc/grub-mkimage.c: Likewise.
16408 * util/i386/pc/grub-setup.c: Likewise.
16409 * util/i386/efi/grub-mkimage.c: Likewise.
16410 * util/grub-mkconfig.in: Likewise.
16411 * util/raid.c: Likewise.
16412 * util/resolve.c: Likewise.
16413 * util/grub-mkdevicemap.c: Likewise.
16414 * util/grub-emu.c: Likewise.
16415 * util/getroot.c: Likewise.
16416 * util/hostdisk.c: Likewise.
16417 * util/usb.c: Likewise.
16418 * util/grub-editenv.c: Likewise.
16419 * util/misc.c: Likewise.
16420
d2d49665 164212009-06-10 Felix Zielcke <fzielcke@z-51.de>
16422
16423 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
16424 `genparttoollist.sh'.
16425 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
16426 Add `*.sh' to the list find searches for and change `mdate.sh'
16427 to `mdate-sh'.
16428
fe052e37 164292009-06-10 Pavel Roskin <proski@gnu.org>
16430
2763ac18 16431 * include/grub/multiboot2.h: Provide compatibility defines for
16432 multiboot2.h.
16433 * include/multiboot2.h: Include stdint.h only if needed, using
16434 angle brackets.
16435 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
16436 grub/multiboot2.h.
16437 * loader/ieee1275/multiboot2.c: Likewise.
16438 * loader/multiboot2.c: Likewise.
16439 * loader/multiboot_loader.c: Likewise.
16440
437e6adc 16441 * configure.ac: Use -nostdlib when probing for the target. It
16442 should not be required to have libc for the target.
16443
06a6836c 16444 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
16445 they fail without libc headers for the target.
16446 * include/grub/powerpc/libgcc.h: Use weak attribute for all
16447 exports.
16448 * include/grub/sparc64/libgcc.h: Likewise. Don't use
16449 preprocessor conditionals.
16450
fe052e37 16451 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
16452 build system doesn't need to be aware of the tar.c internals.
16453
afd22553 164542009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 16455
afd22553 16456 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 16457
6b787c4f 164582009-06-09 Robert Millan <rmh.grub@aybabtu.com>
16459
16460 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
16461 disk limit to 26 for IDE, Virtio, Xen and SCSI.
16462
164632009-06-09 Felix Zielcke <fzielcke@z-51.de>
16464
16465 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 16466 aren't available if ata.mod gets used.
6b787c4f 16467
473d1e45 164682009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 16469
473d1e45 16470 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 16471 initialising controller.
473d1e45 16472 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 16473
255a27d4 164742009-06-08 Felix Zielcke <fzielcke@z-51.de>
16475
16476 * util/i386/pc/grub-install.in: Add a parameter --disk-module
16477 to choose between ata and biosdisk module on i386-pc.
16478
473d1e45 164792009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 16480
d55842d8 16481 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
16482 Subclass and Programming Interface fields in terms of the 3 byte
16483 Class Code register.
16484 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
16485
fa5db0b1 16486 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
16487 interface is OHCI. Add grub_dprintf for symmetry with
16488 bus/usb/uhci.c.
16489 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
16490 interface is UHCI. Add interf variable for programming
16491 interface. Print interface with class/subclass.
16492
c0947beb 16493 * bus/usb/ohci.c: Set interf with correct field.
16494
69da8877 16495 * bus/usb/uhci.c: Remove unneeded doubled lines.
16496 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
16497 Remove whitespace inside comment.
16498
9e172e30 164992009-06-08 Robert Millan <rmh.grub@aybabtu.com>
16500
16501 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
16502 as fallback an equivalent option without depth.
16503
de65ee2b 165042009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
16505
16506 Not fail if unable to retrieve C/H/S on LBA disks
16507
473d1e45 16508 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 16509 if unable to retrieve C/H/S on LBA disks
16510
b57ea2c9 165112009-06-08 Pavel Roskin <proski@gnu.org>
16512
16513 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
16514 about aliasing.
16515
af361263 165162009-06-08 Felix Zielcke <fzielcke@z-51.de>
16517
16518 * Makefile.in (uninstall): Remove all $lib_DATA files.
16519
4c9ec6b3 165202009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
16521
16522 Bugfix: install on partitionless device
16523
16524 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
16525 is a whole disk
16526
e76fc924 165272009-06-08 Felix Zielcke <fzielcke@z-51.de>
16528
16529 * Makefile.in (uninstall): Remove all $include_DATA files.
16530
ba5a0d05 165312009-06-08 Felix Zielcke <fzielcke@z-51.de>
16532
16533 * commands/true.c: New file. Implement the true and false commands.
16534 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
16535 (true_mod_SOURCES): New variable.
16536 (true_mod_CFLAGS): Likewise.
16537 (true_mod_LDFLAGS): Likewise.
16538
c8048e32 165392009-06-05 Colin D Bennett <colin@gibibit.com>
16540
16541 Optimized font character lookup using binary search instead of linear
16542 search. Fonts now are required to have the character index ordered by
16543 code point.
16544
16545 * font/font.c (load_font_index): Verify that fonts have ordered
16546 character indices.
16547 (find_glyph): Use binary search instead of linear search to find a
16548 character in a font.
16549
408305be 165502009-06-05 Michael Scherer <misc@mandriva.org>
16551
16552 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
16553 uses case sensitive btree.
16554 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
16555 only for case insensitive filesystems.
16556
8ee1e0d9 165572009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
16558
16559 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
16560 * conf/common.rmk (search_mod_CFLAGS): likewise
16561
a9966eb1 165622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16563
473d1e45 16564 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 16565 compensate a compiler bug
16566
9e7100fb 165672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16568
473d1e45 16569 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 16570 instead of '\b'
473d1e45 16571
ede21d71 165722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16573
16574 Definitions for creating asm symbols with Apple's CC
16575
16576 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
16577 [APPLE_CC] (VARIABLE): likewise
16578
9dbf7653 165792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 Disable lnxboot.img when compiled
16582 with Apple's CC
16583
16584 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
16585 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
16586 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
16587 [! APPLE_CC] (CODE_LENG): skip
16588 [! APPLE_CC] (setup_sects): likewise
16589 [! APPLE_CC]: skip filling
473d1e45 16590
e93cdc3d 165912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16592
16593 Address in trampolines based on 32-bit registers when compiled
16594 with Apple's CC
16595
473d1e45 16596 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 16597 for addresses
16598 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
16599
6c688477 166002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16601
16602 Avoid aliases when compiling with Apple's CC for PCBIOS machine
16603
16604 * kern/misc.c [APPLE_CC] (memcpy): new function
16605 [APPLE_CC] (memmove): likewise
16606 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 16607 (memcpy): define alias conditionally on !APPLE_CC
6c688477 16608 (memset): likewise
16609 (abort): likewise
16610 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
16611 APPLE_CC are defined
16612 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
16613 (grub_assert_fail): make prototype conditional
16614
e37ffc5c 166152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
16618
473d1e45 16619 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
16620 grub-macho2img
e37ffc5c 16621 (CLEANFILES): add grub-macho2img
16622 (grub_macho2img_SOURCES): new variable
16623 * kern/i386/pc/startup.S (bss_start): new variable
16624 (bss_end): likewise
16625 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
16626 * util/grub-macho2img.c: new file
16627
cf00df31 166282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16629
16630 Use objconv when compiling with Apple's CC
16631
16632 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
16633 (efiemu64.o): likewise
16634 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
16635 when compiling with Apple's CC
16636 (efiemu64_s.o): likewise
16637 * configure.ac: check for objconv when compiling with Apple's CC
16638 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 16639
d119a20c 166402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 Define segment as well as section when compiling with
16643 Apple's CC
16644
16645 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
16646 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
16647 (efiemu_convert_pointer): likewise
16648 (efiemu_set_virtual_address_map): likewise
16649 (efiemu_convert_pointer): likewise
16650 (efiemu_getcrc32): likewise
16651 (init_crc32_table): likewise
16652 (reflect): likewise
16653 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
16654 (GRUB_MOD_DEP): likewise
473d1e45 16655
c8600122 166562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16657
16658 Allow a compilation without -mcmodel=large
16659
16660 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
16661 when compiled without -mcmodel=large
473d1e45 16662 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 16663 without -mcmodel=large
473d1e45 16664 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 16665 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 16666
e8df1d4e 166672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 Remove nested functions in efiemu core
16670
16671 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 16672
cc6c3ac1 166732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16674
16675 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
16676
16677 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
16678 temporary storage
473d1e45 16679 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
16680 using Apple's CC
cc6c3ac1 16681 (grub_cpu_is_tsc_supported): likewise
16682 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 16683
3e325901 166842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16685
16686 Absolute addressing through constant with Apple's cc
16687
16688 * kern/i386/pc/startup.S: Define necessary constants
16689 and address through it when using ABS with Apple's CC
16690 * boot/i386/pc/diskboot.S: likewise
16691 * boot/i386/pc/boot.S: likewise
16692 * boot/i386/pc/lnxboot.S: likewise
16693 * boot/i386/pc/cdboot.S: likewise
16694 * mmap/i386/pc/mmap_helper.S: likewise
16695 * commands/i386/pc/drivemap_int13h.S: likewise
16696
2b167a72 166972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16698
16699 Check if compiler is apple cc
16700
16701 * Makefile.in (ASFLAGS): new variable
16702 (TARGET_ASFLAGS): likewise
16703 (TARGET_MODULE_FORMAT): likewise
16704 (TARGET_APPLE_CC): likewise
16705 (OBJCONV): likewise
16706 (TARGET_IMG_CFLAGS): likewise
16707 (TARGET_CPPFLAGS): add includedir
16708 * configure.ac: call grub_apple_cc and grub_apple_target_cc
16709 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
16710 Check for linker script only if compiler isn't Apple's CC
16711 (TARGET_MODULE_FORMAT): set
16712 (TARGET_APPLE_CC): likewise
16713 (TARGET_ASFLAGS): likewise
16714 (ASFLAGS): likewise
16715 Check for objcopy only if compiler isn't Apple's CC
16716 Check for BSS symbol only if compiler isn't Apple's CC
16717 * genmk.rb: adapt nm options if we use Apple's utils
16718 * aclocal.m4 (grub_apple_cc): new test
16719 (grub_apple_target_cc): likewise
473d1e45 16720
fb14123e 167212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16722
16723 Simplify sed expressions and improve awk
16724
16725 * Makefile.in (install-local): simplify sed expression
16726 * gencmdlist.sh: likewise
16727 * genmoddep.awk: avoid adding module as a dependency of itself
16728
5b889789 167292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16730
16731 Add missing start symbols
16732
16733 * boot/i386/pc/boot.S: add start
fb14123e 16734 * boot/i386/pc/pxeboot.S: likewise
473d1e45 16735
fd2bf2e3 167362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16737
16738 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 16739
16740 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 16741 (relocate_addresses): consider both r_addend and value at offset
16742 (make_mods_section): zerofill modinfo and header
16743 (convert_elf): write prefix here
473d1e45 16744
5389763d 167452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16746
16747 Use .asciz instead of .string
16748
16749 * i386/pc/diskboot.S: use .asciz instead of .string
16750 * i386/pc/boot.S: likewise
16751 * include/grub/dl.h (GRUB_MOD_DEP): likewise
16752 (GRUB_MOD_NAME): likewise
473d1e45 16753
3eb5ed4e 167542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16755
16756 gfxpayload support
16757
16758 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
16759 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
16760 (grub_video_setup): remove
16761 (grub_video_set_mode): new prototype
16762 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
16763 (vid_mode): remove
16764 (linux_vesafb_res): compile only on PCBIOS
16765 (grub_linux_boot): support gfxpayload
16766 * loader/i386/pc/xnu.c (video_hook): new function
16767 (grub_xnu_set_video): support gfxpayload
16768 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
16769 (DEFAULT_VIDEO_HEIGHT): likewise
16770 (DEFAULT_VIDEO_FLAGS): likewise
16771 (DEFAULT_VIDEO_MODE): new definition
16772 (video_hook): new function
16773 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 16774 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 16775 loading xnu
16776 * video/video.c (grub_video_setup): removed
473d1e45 16777 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 16778 grub_video_setup
16779
4b0e1143 167802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16781
16782 Avoid calling biosdisk in drivemap
16783
16784 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
16785 (revparse_biosdisk): likewise
16786 (list_mappings): derive name from id directly
16787 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 16788
fda6cb98 167892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16790
16791 Script fixes
16792
16793 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
16794 (grub_lexer_param): add tokenonhold
16795 (grub_script_create_cmdline): remove cmdline. All callers updated
16796 (grub_script_function_create): make functionname
16797 grub_script_arg. All callers updated
16798 (grub_script_execute_argument_to_string): new prototype
16799 * kern/parser.c (state_transitions): reorder
16800 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 16801 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 16802 make global
16803 (grub_script_execute_cmdline): use new format
16804 * script/sh/function.c (grub_script_function_create): make functionname
16805 grub_script_arg. All callers updated
473d1e45 16806 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 16807 (grub_script_yylex): remove
16808 (grub_script_yylex2): renamed to ...
16809 (grub_script_yylex): ...renamed
16810 parse the expressions like a${b}c
16811 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
16812 (GRUB_PARSER_TOKEN_VAR): remove
16813 (GRUB_PARSER_TOKEN_NAME): likewise
16814 ("if"): declare as typeless
16815 ("while"): likewise
16816 ("function"): likewise
16817 ("else"): likewise
16818 ("then"): likewise
16819 ("fi"): likewise
16820 (text): remove
16821 (argument): likewise
16822 (script): accept empty scripts and make exit on error
16823 (arguments): use GRUB_PARSER_TOKEN_ARG
16824 (function): likewise
16825 (command): move error handling to script
16826 (menuentry): move grub_script_lexer_ref before
473d1e45 16827 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 16828 argument. All callers updated
16829
f4448a07 168302009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16831
16832 Prevent GRUB from probing floppies during boot.
16833
16834 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
16835 * commands/search.c (options): Add --no-floppy.
16836 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
16837 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
16838 --no-floppy when searching for UUIDs.
16839
2bf5885a 168402009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16841
16842 Simplify the code duplication in commands/search.c.
16843
16844 * commands/search.c (search_label, search_fs_uuid): Merge into ...
16845 (search_fs): ... this. Update all users.
16846
f6fd460a 168472009-06-03 Felix Zielcke <fzielcke@z-51.de>
16848
16849 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
16850
cbb3c83e 168512009-05-28 Pavel Roskin <proski@gnu.org>
16852
57788cfd 16853 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
16854 Remove the original symlink explicitly.
16855
cbb3c83e 16856 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
16857 just one slash. That's how grub_fshelp_find_file() does it.
16858
cd0d5e30 168592009-05-26 Pavel Roskin <proski@gnu.org>
16860
f0f8bbe2 16861 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
16862 to `str'.
16863
cd0d5e30 16864 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
16865 possibly unused.
16866
8c2cab51 168672009-05-25 Christian Franke <franke@computer.org>
16868
16869 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
16870 register.
16871 (grub_atapi_identify): Add wait after drive select.
16872 (grub_ata_identify): Do more strict status register check before
16873 calling grub_atapi_identify (). Suppress error message if status
16874 register is 0x00 after command failure. Add status register
16875 check after PIO read to avoid bogus identify due to stuck DRQ.
16876 Thanks to Pavel Roskin for testing.
16877 (grub_device_initialize): Remove unsafe status register check.
16878 Thanks to 'phcoder' for problem report and patch.
16879 Prevent sign extension in debug message.
16880
230c0ad6 168812009-05-23 Colin D Bennett <colin@gibibit.com>
16882
16883 Cleaned up `include/grub/normal.h'. Grouped prototypes by
16884 definition file, and functions defined in `normal/menu.c' have had
16885 their prototypes moved to `include/grub/menu.h' for consistency.
16886
16887 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
16888 from normal.h.
16889 (grub_menu_get_entry): Likewise.
16890 (grub_menu_get_timeout): Likewise.
16891 (grub_menu_set_timeout): Likewise.
16892 (grub_menu_execute_entry): Likewise.
16893 (grub_menu_execute_with_fallback): Likewise.
16894 (grub_menu_entry_run): Likewise.
16895
16896 * include/grub/normal.h: Re-ordered and grouped function
16897 prototypes by file that the function is defined in.
16898 (grub_menu_execute_callback): Removed; moved to menu.h.
16899 (grub_menu_get_entry): Likewise.
16900 (grub_menu_get_timeout): Likewise.
16901 (grub_menu_set_timeout): Likewise.
16902 (grub_menu_execute_entry): Likewise.
16903 (grub_menu_execute_with_fallback): Likewise.
16904 (grub_menu_entry_run): Likewise.
16905 (grub_menu_addentry): Renamed from this ...
16906 (grub_normal_add_menu_entry): ... to this.
16907
16908 * normal/main.c (grub_menu_addentry): Renamed from this ...
16909 (grub_normal_add_menu_entry): ... to this.
16910
16911 * script/sh/execute.c (grub_script_execute_menuentry): Update
16912 reference to renamed grub_menu_addentry function.
16913
861f03a5 169142009-05-23 Felix Zielcke <fzielcke@z-51.de>
16915
16916 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
16917
96b1619a 169182009-05-22 Pavel Roskin <proski@gnu.org>
16919
bf6a5fb2 16920 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
16921 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
16922 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
16923 compiling for the i386 targets, but not for the utilities.
16924
96b1619a 16925 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
16926 to grub_uint8_t.
16927 (grub_root_drive): Likewise.
16928 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
16929 remove alignment.
16930 (grub_root_drive): Change size to byte.
16931 (grub_start_addr): Remove.
16932 (grub_end_addr): Likewise.
16933 (grub_apm_bios_info): Likewise.
16934
b729776b 169352009-05-21 Felix Zielcke <fzielcke@z-51.de>
16936
16937 * normal/i386: Remove.
16938 * normal/powerpc: Likewise.
16939 * normal/sparc64: Likewise.
16940 * normal/x86_64: Likewise.
16941
0a15ce80 169422009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16943
16944 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 16945 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 16946 * loader/i386/xnu_helper.S: Likewise
d6da58e6 16947
33db9015 169482009-05-18 Colin D Bennett <colin@gibibit.com>
16949
d6da58e6 16950 Display error messages when parsing a Lua statement fails.
16951 Previously, executing a syntactically invalid statement like
16952 ")foo" or "bar;" would silently fail.
33db9015 16953
16954 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 16955 (grub_lua_parse_line): Improved reporting of Lua parser and
16956 execution errors.
33db9015 16957
46422c89 169582009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16959
16960 Remove -Werror which causes build to fail on some systems
16961
16962 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
16963 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
16964 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 16965
22f53a96 169662009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16967
16968 trampoline for linux on 64-bit platform
16969
18f547ad 16970 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
16971 loader/i386/efi/linux_trampoline.S
16972 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 16973 declaration
d6da58e6 16974 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
16975 here
22f53a96 16976 * loader/i386/linux_trampoline.S: moved here
d6da58e6 16977 * loader/i386/efi/linux.c (allocate_pages): reserve space for
16978 trampoline
22f53a96 16979 (jumpvector): removed
16980 (grub_linux_trampoline_start): new declaration
16981 (grub_linux_trampoline_end): likewise
16982 (grub_linux_boot): use trampoline when on 64-bit platform
16983 * loader/i386/linux.c: likewise
16984
cb5a0f40 169852009-05-16 Pavel Roskin <proski@gnu.org>
16986
16987 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
16988 const to avoid a warning.
16989 (grub_lua_setenv): Likewise.
16990 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
16991 lmsg to fix a warning.
16992
334f2c28 169932009-05-16 Felix Zielcke <fzielcke@z-51.de>
16994
16995 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 16996 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16997 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
16998 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16999 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17000 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17001 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17002 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 17003
59e5d3ec 170042009-05-16 Felix Zielcke <fzielcke@z-51.de>
17005
17006 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
17007
9d87a1ba 170082009-05-16 Bean <bean123ch@gmail.com>
17009
17010 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
17011 (lua_mod_SOURCES): New variable.
17012 (lua_mod_CFLAGS): Likewise.
17013 (lua_mod_LDFLAGS): Likewise.
17014
17015 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
17016 (setjmp_mod_SOURCES): New variable.
17017 (setjmp_mod_CFLAGS): Likewise.
17018 (setjmp_LDFLAGS): Likewise.
17019
17020 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
17021 (setjmp_mod_SOURCES): New variable.
17022 (setjmp_mod_CFLAGS): Likewise.
17023 (setjmp_LDFLAGS): Likewise.
17024
17025 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17026 (setjmp_mod_SOURCES): New variable.
17027 (setjmp_mod_CFLAGS): Likewise.
17028 (setjmp_LDFLAGS): Likewise.
17029
17030 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17031 (setjmp_mod_SOURCES): New variable.
17032 (setjmp_mod_CFLAGS): Likewise.
17033 (setjmp_LDFLAGS): Likewise.
17034
17035 * normal/i386/setjmp.S: Moved from here ...
17036 * lib/i386/setjmp.S: ... Moved here
17037 * normal/x86_64/setjmp.S: Moved from here ...
17038 * lib/x86_64/setjmp.S: ... Moved here
17039 * normal/powerpc/setjmp.S: Moved from here ...
17040 * lib/powerpc/setjmp.S: ... Moved here
17041 * normal/sparc64/setjmp.S: Moved from here ...
17042 * lib/sparc64/setjmp.S: ... Moved here
17043
17044 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
17045 returns_twice in mingw.
17046
17047 * script/lua/grub_lib.c: New file.
17048 * script/lua/grub_lib.h: Likewise.
17049 * script/lua/grub_lua.h: Likewise.
17050 * script/lua/grub_main.c: Likewise.
17051 * script/lua/lapi.c: Likewise.
17052 * script/lua/lapi.h: Likewise.
17053 * script/lua/lauxlib.c: Likewise.
17054 * script/lua/lauxlib.h: Likewise.
17055 * script/lua/lbaselib.c: Likewise.
17056 * script/lua/lcode.c: Likewise.
17057 * script/lua/lcode.h: Likewise.
17058 * script/lua/ldblib.c: Likewise.
17059 * script/lua/ldebug.c: Likewise.
17060 * script/lua/ldebug.h: Likewise.
17061 * script/lua/ldo.c: Likewise.
17062 * script/lua/ldo.h: Likewise.
17063 * script/lua/ldump.c: Likewise.
17064 * script/lua/lfunc.c: Likewise.
17065 * script/lua/lfunc.h: Likewise.
17066 * script/lua/lgc.c: Likewise.
17067 * script/lua/lgc.h: Likewise.
17068 * script/lua/linit.c: Likewise.
17069 * script/lua/liolib.c: Likewise.
17070 * script/lua/llex.c: Likewise.
17071 * script/lua/llex.h: Likewise.
17072 * script/lua/llimits.h: Likewise.
17073 * script/lua/lmathlib.c: Likewise.
17074 * script/lua/lmem.c: Likewise.
17075 * script/lua/lmem.h: Likewise.
17076 * script/lua/loadlib.c: Likewise.
17077 * script/lua/lobject.c: Likewise.
17078 * script/lua/lobject.h: Likewise.
17079 * script/lua/lopcodes.c: Likewise.
17080 * script/lua/lopcodes.h: Likewise.
17081 * script/lua/loslib.c: Likewise.
17082 * script/lua/lparser.c: Likewise.
17083 * script/lua/lparser.h: Likewise.
17084 * script/lua/lstate.c: Likewise.
17085 * script/lua/lstate.h: Likewise.
17086 * script/lua/lstring.c: Likewise.
17087 * script/lua/lstring.h: Likewise.
17088 * script/lua/lstrlib.c: Likewise.
17089 * script/lua/ltable.c: Likewise.
17090 * script/lua/ltable.h: Likewise.
17091 * script/lua/ltablib.c: Likewise.
17092 * script/lua/ltm.c: Likewise.
17093 * script/lua/ltm.h: Likewise.
17094 * script/lua/lua.h: Likewise.
17095 * script/lua/luaconf.h: Likewise.
17096 * script/lua/lualib.h: Likewise.
17097 * script/lua/lundump.c: Likewise.
17098 * script/lua/lundump.h: Likewise.
17099 * script/lua/lvm.c: Likewise.
17100 * script/lua/lvm.h: Likewise.
17101 * script/lua/lzio.c: Likewise.
17102 * script/lua/lzio.h: Likewise.
17103
5e898c9d 171042009-05-16 Bean <bean123ch@gmail.com>
17105
17106 * include/grub/kernel.h (grub_module_header_types): Add type
17107 OBJ_TYPE_CONFIG.
17108
17109 * kern/main.c (grub_load_config): New function.
17110 (grub_main): Call grub_load_config to read boot config.
17111
17112 * grub-mkimage (generate_image): New parameter config_path.
17113 (options): New option --config.
17114 (main): Parse --config option, and pass it to generate_image.
17115
cf353a47 171162009-05-14 Christian Franke <franke@computer.org>
17117
17118 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
17119 This fixes build on Cygwin.
17120
3834887f 171212009-05-14 Pavel Roskin <proski@gnu.org>
17122
17123 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
17124 jump. This saves two bytes, so the typical case of 2 swapped
17125 drives would fit 32 bytes.
17126
8090fc01 171272009-05-13 Pavel Roskin <proski@gnu.org>
17128
ac963883 17129 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
17130 grub_uint32_t to avoid a warning.
17131
8090fc01 17132 * loader/i386/linux.c (allocate_pages): When assigning
17133 real_mode_mem, cast through grub_size_t to fix a warning. The
17134 code already makes sure that the value would fit a pointer.
17135 (grub_linux_setup_video): Cast render_target->data to
17136 grub_size_t to fix a warning.
17137
18f547ad 171382009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 17139
17140 * commands/i386/pc/drivemap.c: New file - implement drivemap
17141 command.
17142 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
17143 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
17144
6f6a8b28 171452009-05-13 Pavel Roskin <proski@gnu.org>
17146
17147 * util/i386/pc/grub-setup.c (setup): Remove unused variable
17148 embedding_area_exists.
17149
15fbf4c4 171502009-05-13 Robert Millan <rmh.grub@aybabtu.com>
17151
17152 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
17153 it easier to understand / work with.
59978c8a 17154 Improve warning messages for cases where there's no embedding area,
17155 or when it is too small (or core.img too large).
15fbf4c4 17156
238e871f 171572009-05-13 Pavel Roskin <proski@gnu.org>
17158
0ab3a9a4 17159 * loader/i386/pc/multiboot2.c: Add necessary includes for
17160 grub_multiboot2_real_boot().
17161
a2c8c5f8 17162 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
17163 PX record is always little-endian. We only need the lower 2
17164 bytes of the mode.
17165
faec96af 17166 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
17167 facilitate code reuse.
17168 (grub_cpio_mount): Use "struct head", not a char buffer. This
17169 fixes a warning reported by gcc 4.4.
17170
238e871f 17171 * kernel/disk.c (grub_disk_read): Use void pointer for the
17172 buffer.
17173 (grub_disk_write): Use const void pointer for the buffer.
17174 Adjust all callers. Remove unnecessary casts.
17175
901d2f0c 171762009-05-10 Robert Millan <rmh.grub@aybabtu.com>
17177
17178 * util/i386/pc/grub-install.in: Update copyright year.
17179
18f547ad 171802009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 17181
17182 gptsync
17183
17184 * commands/gptsync.c: new file
17185 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
17186 (gptsync_mod_SOURCES): new variable
17187 (gptsync_mod_CFLAGS): likewise
17188 (gptsync_mod_LDFLAGS): likewise
18f547ad 17189 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 17190 new definition
17191 (GRUB_PC_PARTITION_TYPE_HFS): likewise
17192 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
17193 * conf/i386-ieee1275.rmk: likewise
17194 * conf/i386-pc.rmk: likewise
17195 * conf/powerpc-ieee1275.rmk: likewise
17196
b4ba690a 171972009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17198
17199 Fixed grub-emu
17200
17201 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
17202 (grub_dl_ref): likewise
17203
317e1a44 172042009-05-08 Robert Millan <rmh.grub@aybabtu.com>
17205
17206 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
17207 split in two functions (one for msdos and one for gpt).
17208
041b8094 172092009-05-08 Pavel Roskin <proski@gnu.org>
17210
752473c2 17211 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
17212 not modified.
17213
041b8094 17214 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
17215 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
17216 Initialize them with -1. Add sanity check for bad1. Eliminate
17217 nerr variable.
17218
172800ce 172192009-05-08 David S. Miller <davem@davemloft.net>
17220
17221 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
17222
29aa5e81 172232009-05-06 Robert Millan <rmh.grub@aybabtu.com>
17224
17225 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 17226 existence.
29aa5e81 17227
96613b62 172282009-05-05 Felix Zielcke <fzielcke@z-51.de>
17229
17230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 17231 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 17232
eef73c8a 172332009-05-05 David S. Miller <davem@davemloft.net>
17234
17235 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
17236
119494b5 172372009-05-05 Pavel Roskin <proski@gnu.org>
17238
17239 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
17240 of grub_dl_ref() and grub_dl_unref().
17241 * commands/parttool.c: Remove preprocessor conditionals around
17242 grub_dl_ref() and grub_dl_unref().
17243 * fs/affs.c: Likewise.
17244 * fs/afs.c: Likewise.
17245 * fs/cpio.c: Likewise.
17246 * fs/ext2.c: Likewise.
17247 * fs/fat.c: Likewise.
17248 * fs/hfs.c: Likewise.
17249 * fs/hfsplus.c: Likewise.
17250 * fs/iso9660.c: Likewise.
17251 * fs/jfs.c: Likewise.
17252 * fs/minix.c: Likewise.
17253 * fs/ntfs.c: Likewise.
17254 * fs/reiserfs.c: Likewise.
17255 * fs/sfs.c: Likewise.
17256 * fs/udf.c: Likewise.
17257 * fs/ufs.c: Likewise.
17258 * fs/xfs.c: Likewise.
17259 * include/grub/dl.h: Likewise.
17260 * loader/xnu.c: Likewise.
17261
de5fd76e 172622009-05-04 Pavel Roskin <proski@gnu.org>
17263
17264 * commands/acpi.c: Remove unused variable my_mod.
17265 * partmap/amiga.c: Likewise.
17266 * partmap/apple.c: Likewise.
17267 * partmap/gpt.c: Likewise.
17268 * partmap/pc.c: Likewise.
17269 * partmap/sun.c: Likewise.
17270 * term/gfxterm.c: Likewise.
17271 * term/i386/pc/vesafb.c: Likewise.
17272 * term/i386/pc/vga.c: Likewise.
17273
983598ad 172742009-05-04 David S. Miller <davem@davemloft.net>
17275
17276 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
17277 pointer args to grub_ieee1275_get_property().
17278
8aadec43 17279 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
17280
9554b15e 17281 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
17282 devices, and do not traverse down under controller nodes.
17283
67e23c90 17284 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
17285 (grub_ofdisk_open): Use it to un-escape "," characters.
17286 * kern/disk.c (find_part_sep): New.
17287 (grub_disk_open): Use it to find the first non-escaped ','
17288 character in the disk name.
17289 * util/ieee1275/devicemap.c (escape_of_path): New.
17290 (grub_util_emit_devicemap_entry): Use it.
17291 * util/sparc64/ieee1275/grub-install.in: Update script to
17292 strip partition specifiers properly by not triggering on
17293 '\' escaped ',' characters.
17294
74bfdd2f 172952009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17296
17297 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
17298 to 0x300.
17299 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
17300 resolutions.
17301 (linux_vesafb_modes): Add a lot of additional modes to the list (based
17302 on documentation from Wikipedia).
17303
4241d2b1 173042009-05-04 Pavel Roskin <proski@gnu.org>
17305
17306 * disk/ata.c: Spelling fixes.
17307 * disk/raid.c: Likewise.
17308 * disk/usbms.c: Likewise.
17309 * disk/dmraid_nvidia.c: Likewise.
17310 * kern/ieee1275/openfw.c: Likewise.
17311 * kern/ieee1275/init.c: Likewise.
17312 * kern/ieee1275/cmain.c: Likewise.
17313 * boot/i386/pc/cdboot.S: Likewise.
17314 * video/readers/png.c: Likewise.
17315 * video/i386/pc/vbe.c: Likewise.
17316 * fs/udf.c: Likewise.
17317 * fs/hfs.c: Likewise.
17318 * fs/reiserfs.c: Likewise.
17319 * efiemu/runtime/efiemu.c: Likewise.
17320 * efiemu/main.c: Likewise.
17321 * efiemu/mm.c: Likewise.
17322 * include/grub/elf.h: Likewise.
17323 * include/grub/xnu.h: Likewise.
17324 * include/grub/usbdesc.h: Likewise.
17325 * include/grub/usb.h: Likewise.
17326 * include/grub/script_sh.h: Likewise.
17327 * include/grub/lib/LzmaEnc.h: Likewise.
17328 * include/grub/efiemu/efiemu.h: Likewise.
17329 * include/grub/command.h: Likewise.
17330 * normal/menu.c: Likewise.
17331 * normal/main.c: Likewise.
17332 * normal/datetime.c: Likewise.
17333 * bus/usb/uhci.c: Likewise.
17334 * mmap/i386/uppermem.c: Likewise.
17335 * mmap/mmap.c: Likewise.
17336 * commands/acpi.c: Likewise.
17337 * commands/test.c: Likewise.
17338 * partmap/apple.c: Likewise.
17339 * font/font.c: Likewise.
17340 * loader/sparc64/ieee1275/linux.c: Likewise.
17341 * loader/macho.c: Likewise.
17342 * loader/i386/bsd_trampoline.S: Likewise.
17343 * loader/i386/bsd.c: Likewise.
17344 * loader/xnu.c: Likewise.
17345 * term/i386/pc/vesafb.c: Likewise.
17346 * term/usb_keyboard.c: Likewise.
17347 * util/resolve.c: Likewise.
17348 * util/getroot.c: Likewise.
17349
0cfc0083 173502009-05-04 Felix Zielcke <fzielcke@z-51.de>
17351
17352 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
17353
7c1d00cd 173542009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17355
17356 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
17357 build error.
17358
b01f0548 173592009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17360
17361 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
17362 parameter only available on BIOS.
17363
ecc3eb22 173642009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17365
17366 Removed wrong semicolon in declaration
17367
17368 * grub/misc.h (grub_dprintf): remove semicolon
17369
112972a9 173702009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17371
17372 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
17373 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
17374 is done by grub_cmd_linux() now).
17375 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
17376 restore video to text mode.
17377 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
17378 indicates lack of "vga=" parameter. "vga=0" is mapped to
17379 `GRUB_LINUX_VID_MODE_NORMAL'.
17380
afd5c115 173812009-05-04 Felix Zielcke <fzielcke@z-51.de>
17382
17383 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
17384 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
17385 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 17386 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 17387 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
17388 `grub_script.tab.c'.
17389
17390 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17391 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17393 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17394 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17395
faa517ce 17396 * Makefile.in: Remove duplicated 2008 in Copyright line.
17397
ae0c0bdc 173982009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17399
473d1e45 17400 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 17401 unconditionally.
17402 * include/grub/util/misc.h (grub_util_warn): New declaration.
17403
17404 * util/i386/pc/grub-install.in: Understand --force and pass it down
17405 to grub-setup.
17406
17407 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
17408 down to setup().
17409 (setup): Improve error messages and add warnings when requested to
17410 install in odd layouts. Refuse to install using blocklists unless
17411 --force was set.
17412
18f547ad 174132009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 17414
17415 * disk/raid.c (grub_raid_scan_device): Improve debug message.
17416
6d260daa 174172009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17418
17419 Updated copyright year
17420
17421 * fs/hfsplus.c: updated copyright year
18f547ad 17422
69f853f8 174232009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17424
17425 HFS+ UUID
17426
18f547ad 17427 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 17428 in the space previously used by unused3
17429 (grub_hfsplus_uuid): new function
17430 (grub_hfsplus_fs): added uuid field
17431
4c402e73 174322009-05-03 Pavel Roskin <proski@gnu.org>
17433
17434 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
17435 suppress warnings. It's no longer needed.
17436 * disk/host.c: Likewise.
17437 * disk/ata_pthru.c: Likewise.
17438 * disk/loopback.c: Likewise.
17439 * hook/datehook.c: Likewise.
17440 * parttool/pcpart.c: Likewise.
17441 * fs/i386/pc/pxe.c: Likewise.
17442 * fs/ntfscomp.c: Likewise.
17443 * efiemu/main.c: Likewise.
17444 * mmap/mmap.c: Likewise.
17445 * commands/crc.c: Likewise.
17446 * commands/hexdump.c: Likewise.
17447 * commands/hdparm.c: Likewise.
17448 * commands/acpi.c: Likewise.
17449 * commands/echo.c: Likewise.
17450 * commands/minicmd.c: Likewise.
17451 * commands/blocklist.c: Likewise.
17452 * commands/memrw.c: Likewise.
17453 * commands/loadenv.c: Likewise.
17454 * commands/usbtest.c: Likewise.
17455 * commands/lsmmap.c: Likewise.
17456 * commands/boot.c: Likewise.
17457 * commands/parttool.c: Likewise.
17458 * commands/configfile.c: Likewise.
17459 * commands/search.c: Likewise.
17460 * commands/ieee1275/suspend.c: Likewise.
17461 * commands/cat.c: Likewise.
17462 * commands/i386/pc/pxecmd.c: Likewise.
17463 * commands/i386/pc/play.c: Likewise.
17464 * commands/i386/pc/halt.c: Likewise.
17465 * commands/i386/pc/vbeinfo.c: Likewise.
17466 * commands/i386/pc/vbetest.c: Likewise.
17467 * commands/lspci.c: Likewise.
17468 * commands/date.c: Likewise.
17469 * commands/handler.c: Likewise.
17470 * commands/ls.c: Likewise.
17471 * commands/test.c: Likewise.
17472 * commands/cmp.c: Likewise.
17473 * commands/efi/loadbios.c: Likewise.
17474 * commands/efi/fixvideo.c: Likewise.
17475 * commands/halt.c: Likewise.
17476 * commands/help.c: Likewise.
17477 * commands/reboot.c: Likewise.
17478 * hello/hello.c: Likewise.
17479 * script/sh/main.c: Likewise.
17480 * loader/xnu.c: Likewise.
17481 * term/terminfo.c: Likewise.
17482 * term/i386/pc/serial.c: Likewise.
17483 * term/usb_keyboard.c: Likewise.
17484
515b5079 174852009-05-03 David S. Miller <davem@davemloft.net>
17486
17487 * normal/menu.c: Include grub/parser.h
17488
dfc31a22 174892009-05-03 Pavel Roskin <proski@gnu.org>
17490
2fee74f1 17491 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
17492 not char*.
17493 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
17494 Suggested by Javier Martín <lordhabbit@gmail.com>
17495
dfc31a22 17496 * util/i386/pc/grub-mkrescue.in: Allow for the case when
17497 efiemu??.o doesn't exist.
17498 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
17499 copying.
17500
18f547ad 175012009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 17502
17503 FreeBSD 64-bit support
17504
18f547ad 17505 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 17506 and loader/i386/bsd_trampoline.S
17507 (bsd_mod_ASFLAGS): new variable
17508 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
17509 (FREEBSD_MODTYPE_KERNEL64): likewise
17510 (grub_bsd64_trampoline_start): likewise
17511 (grub_bsd64_trampoline_end): likewise
17512 (grub_bsd64_trampoline_selfjump): likewise
17513 (grub_bsd64_trampoline_gdt): likewise
17514 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
17515 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
17516 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
17517 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 17518 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 17519 of "attrib" member
17520 * loader/i386/bsd_pagetable.c: new file
17521 * loader/i386/bsd_trampoline.S: likewise
17522 * loader/i386/bsd.c (ALIGN_QWORD): new macro
17523 (ALIGN_VAR): likewise
17524 (entry_hi): new variable
17525 (kern_end_mdofs): likewise
17526 (is_64bit): likewise
17527 (grub_freebsd_add_meta): use ALIGN_VAR
17528 (grub_e820_mmap): new declaration
17529 (grub_freebsd_add_mmap): new function
17530 (grub_freebsd_add_meta_module): support 64 bit kernels
17531 (grub_freebsd_list_modules): use ALIGN_VAR
17532 (gdt_descriptor): new declaration
17533 (grub_freebsd_boot): support 64 bit kernels
17534 (grub_bsd_elf64_hook): new function
17535 (grub_bsd_load_elf): support elf64
17536
038c5720 175372009-05-03 Bean <bean123ch@gmail.com>
17538
17539 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
17540 after we get the result of if statement.
17541
fc45fb58 175422009-05-03 Bean <bean123ch@gmail.com>
17543
17544 * Makefile.in (enable_efiemu): New variable.
17545
17546 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
17547 set.
17548 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
17549 path.
17550 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
17551 path, add -mno-red-zone option.
17552 (efiemu64_s.o): Likewise.
17553 (efiemu64.o): Use macro $^ for source file.
17554
17555 * configure.ac (--enable-efiemu): New option.
17556
bbee0f2b 175572009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17558
17559 xnu support
17560
17561 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
17562 (pkglib_MODULES): add xnu.mod
17563 (xnu_mod_SOURCES): new variable
17564 (xnu_mod_CFLAGS): likewise
17565 (xnu_mod_LDFLAGS): likewise
17566 (xnu_mod_ASFLAGS): likewise
17567 * conf/i386-pc.rmk: likewise
17568 * conf/x86_64-efi.rmk: likewise
7dd4a573 17569 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 17570 new declaration
17571 * include/grub/i386/macho.h: new file
17572 * include/grub/i386/xnu.h: likewise
17573 * include/grub/macho.h: likewise
17574 * include/grub/machoload.h: likewise
17575 * include/grub/x86_64/macho.h: likewise
17576 * include/grub/x86_64/xnu.h: likewise
17577 * include/grub/xnu.h: likewise
17578 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
17579 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
17580 * loader/i386/efi/xnu.c: new file
17581 * loader/i386/pc/xnu.c: likewise
17582 * loader/i386/xnu.c: likewise
17583 * loader/i386/xnu_helper.S: likewise
17584 * loader/macho.c: likewise
17585 * loader/xnu.c: likewise
17586 * loader/xnu_resume.c: likewise
17587 * util/grub-dumpdevtree: likewise
17588 * include/grub/i386/pit.h: include grub/err.h
17589 (grub_pit_wait): export
17590 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 17591
5caf964d 175922009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17593
17594 Efiemu
7dd4a573 17595
5caf964d 17596 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 17597 _linux_efi, linux_efi.
17598 new files in grub-emu
5caf964d 17599 new targets efiemu32.o and efiemu64.o
17600 * loader/linux_normal_efiemu.c: likewise
17601 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 17602 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 17603 files to copy
17604 * include/grub/autoefi.h: new file
7dd4a573 17605 * include/grub/i386/efiemu.h: likewise
5caf964d 17606 * include/grub/i386/pc/efiemu.h: likewise
17607 * include/grub/efi/api.h: add LL suffix when necessary
17608 new definitions relating to tables
17609 * include/grub/efiemu/efiemu.h: new file
17610 * include/grub/efiemu/runtime.h: likewise
17611 * efiemu/prepare.c: likewise
17612 * efiemu/loadcore_common.c: likewise
17613 * efiemu/loadcore64.c: likewise
17614 * efiemu/runtime/efiemu.sh: likewise
17615 * efiemu/runtime/efiemu.S: likewise
17616 * efiemu/runtime/efiemu.c: likewise
17617 * efiemu/runtime/config.h: likewise
17618 * efiemu/prepare32.c: likewise
17619 * efiemu/main.c: likewise
17620 * efiemu/modules/pnvram.c: likewise
17621 * efiemu/modules/i386: likewise
17622 * efiemu/modules/i386/pc: likewise
17623 * efiemu/modules/acpi.c: likewise
17624 * efiemu/i386/pc/cfgtables.c: likewise
17625 * efiemu/i386/loadcore64.c: likewise
17626 * efiemu/i386/loadcore32.c: likewise
17627 * efiemu/prepare64.c: likewise
17628 * efiemu/loadcore.c: likewise
17629 * efiemu/symbols.c: likewise
17630 * efiemu/mm.c: likewise
17631 * efiemu/loadcore32.c: likewise
7dd4a573 17632
176332009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 17634
17635 ACPI spoofing
17636
17637 * commands/acpi.c: new file
17638 * commands/i386/pc/acpi.c: likewise
17639 * commands/efi/acpi.c: likewise
17640 * include/grub/acpi.h: likewise
17641 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
17642 (acpi_mod_SOURCES): new variable
17643 (acpi_mod_CFLAGS): likewise
17644 (acpi_mod_LDFLAGS): likewise
17645 * conf/i386-efi.rmk: likewise
17646 * conf/x86_64-efi.rmk: likewise
17647
7dd4a573 176482009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 17649
17650 Missing part from mmap patch
17651
17652 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
17653 (grub_mmap_unregister)
17654 (grub_mmap_free_and_unregister): use grub_mmap_register
17655
7dd4a573 176562009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 17657
17658 Mmap services
17659
17660 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
17661 * loader/i386/linux.c (find_mmap_size): likewise
17662 (allocate_pages): likewise
17663 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
17664 (grub_fill_multiboot_mmap): likewise
17665 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
17666 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
17667 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
17668 (OPENBSD_MMAP_RESERVED): likewise
17669 * include/grub/i386/pc/memory.h: include grub/memory.h
17670 (grub_lower_mem): removed
17671 (grub_upper_mem): likewise
17672 (GRUB_MACHINE_MEMORY_ACPI): new definition
17673 (GRUB_MACHINE_MEMORY_NVS): likewise
17674 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
17675 (GRUB_MACHINE_MEMORY_HOLE): likewise
17676 (grub_machine_mmap_register): likewise
17677 (grub_machine_mmap_unregister): likewise
17678 (grub_machine_get_upper): likewise
17679 (grub_machine_get_lower): likewise
17680 (grub_machine_get_post64): likewise
17681 * include/grub/i386/efi/memory.h: new file
17682 * include/grub/x86_64/efi/memory.h: likewise
17683 * include/grub/efi/memory.h: likewise
17684 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
17685 (mmap_mod_SOURCES): new variable
17686 (mmap_mod_LDFLAGS): likewise
17687 (mmap_mod_ASFLAGS): likewise
17688 * conf/i386-coreboot.rmk: likewise
17689 * conf/i386-ieee1275.rmk: likewise
17690 * conf/i386-efi.rmk: likewise
17691 * conf/x86_64-efi.rmk: likewise
17692 * include/grub/types.h (UINT_TO_PTR): new macro
17693 (PTR_TO_UINT32): likewise
17694 (PTR_TO_UINT64): likewise
17695 * include/grub/memory.h: new file
17696 * mmap/i386/pc/mmap.c: likewise
17697 * mmap/i386/pc/mmap_helper.S: likewise
17698 * mmap/i386/uppermem.c: likewise
17699 * mmap/mmap.c: likewise
17700 * mmap/efi/mmap.c: likewise
7dd4a573 17701 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 17702 grub_upper_mem
17703 * kern/i386/pc/init.c (grub_lower_mem): removed variable
17704 (grub_upper_mem): likewise
17705 (grub_machine_init): don't use grub_upper_mem,
17706 make grub_lower_mem local
17707 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
17708 grub_mmap_iterate and grub_mmap_get_upper
17709 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
17710
d558e6b5 177112009-05-02 Bean <bean123ch@gmail.com>
17712
17713 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
17714 script/sh/parser.y.
17715 (pkglib_MODULES): Add normal.mod and sh.mod.
17716 (normal_SOURCES): New variable.
17717 (normal_mod_CFLAGS): Likewise.
17718 (normal_mod_LDFLAGS): Likewise.
17719 (sh_mod_SOURCES): Likewise.
17720 (sh_mod_CFLAGS): Likewise.
17721 (sh_mod_LDFLAGS): Likewise.
17722
17723 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
17724 script/sh/lexer.c_DEPENDENCIES.
17725 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
17726 kern/rescue_reader.c and kern/rescue_parser.c.
17727 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
17728 (grub_emu_SOURCES): Change source files.
17729 (pkglib_MODULES): Remove normal.mod.
17730 (normal_SOURCES): Removed.
17731 (normal_mod_CFLAGS): Likewise.
17732 (normal_mod_LDFLAGS): Likewise.
17733 * conf/i386-coreboot.rmk: Likewise.
17734 * conf/i386-efi.rmk: Likewise.
17735 * conf/i386-ieee1276.rmk: Likewise.
17736 * conf/powerpc-ieee1275.rmk: Likewise.
17737 * conf/sparc64-ieee1275.rmk: Likewise.
17738 * conf/x86_64-efi.rmk: Likewise.
17739
17740 * include/grub/command.h (grub_command_execute): New inline function.
17741
17742 * include/grub/menu.h (grub_menu_entry): Removed commands field.
17743
17744 * include/grub/normal.h: Remove <grub/setjmp.h>.
17745 (grub_fs_module_list): Moved to normal/autofs.c.
17746 (grub_exit_env): Removed.
17747 (grub_command_execute): Likewise.
17748 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
17749 parameter script.
17750 (read_command_list): New function declaration.
17751 (read_fs_list): Likewise.
17752
17753 * include/parser.h: Include <grub/reader.h>.
17754 (grub_parser_split_cmdline): Change type of getline parameter.
17755 (grub_parser): New structure.
17756 (grub_parser_class): New variable.
17757 (grub_parser_execute): New function declaration.
17758 (grub_register_rescue_parser): Likewise.
17759 (grub_parser_register): New inline function.
17760 (grub_parser_unregister): Likewise.
17761 (grub_parser_get_current): Likewise.
17762 (grub_parser_set_current): Likewise.
17763
17764 * include/grub/reader.h: New file.
17765 * kern/reader.c: Likewise.
17766 * kern/rescue_parser.c: Likewise.
17767 * kern/rescue_reader.c: Likewise.
17768 * normal/autofs.c: Likewise.
17769 * normal/dyncmd.c: Likewise.
17770
17771 * include/grub/rescue.h: Removed.
17772 * normal/command.h: Likewise.
17773
17774 * include/grub/script.h: Moved to ...
17775 * include/grub/script_sh.h: ... Moved here.
17776 * normal/execute.c: Moved to ...
17777 * script/sh/execute.c: ... Moved here.
17778 * normal/function.c: Moved to ...
17779 * script/sh/function.c: ... Moved here.
17780 * normal/lexer.c: Moved to ...
17781 * script/sh/lexer.c: ... Moved here.
17782 * normal/parser.y: Moved to ...
17783 * script/sh/parser.y: ... Moved here.
17784 * normal/script.c: Moved to ...
17785 * script/sh/script.c: ... Moved here.
17786
17787 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
17788 <grub/reader.h>.
17789 (grub_exit_env): Removed.
17790 (fs_module_list): Moved to normal/autofs.c.
17791 (grub_file_getline): Don't handle comment here.
17792 (free_menu): Skip removed field entry->commands.
17793 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
17794 script parameter.
17795 (read_config_file): Removed nested parameter, change getline function.
17796 (grub_enter_normal_mode): Removed.
17797 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
17798 (read_command_list): Likewise.
17799 (autoload_fs_module): Moved to normal/autofs.c.
17800 (read_fs_list): Likewise.
17801 (reader_nested): New variable.
17802 (grub_normal_execute): Run parser.sh to switch to sh parser.
17803 (grub_cmd_rescue): Removed.
17804 (cmd_normal): Removed.
17805 (grub_cmd_normal): Unregister itself at the beginning. Don't register
17806 rescue command.
17807 (grub_cmdline_run): New function.
17808 (grub_normal_reader_init): Likewise.
17809 (grub_normal_read_line): Likewise.
17810 (grub_env_write_pager): Likewise.
17811 (cmdline): New variable.
17812 (grub_normal_reader): Likewise.
17813 (GRUB_MOD_INIT): Register normal reader and set as current, register
17814 pager hook, register normal command with grub_register_command_prio,
17815 so that it won't show up in command.lst.
17816 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
17817 grub_fs_autoload_hook.
17818
17819 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
17820 (grub_menu_execute_entry): Replace grub_script_execute with
17821 grub_parser_execute, change parameter to grub_command_execute.
17822
17823 * normal/menu_text.c: Remove <grub/script.h>.
17824
17825 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
17826 and <grub/parser.h>.
17827 (run): Change editor_getline to use new parser interface. Change
17828 parameter to grub_command_execute.
17829
17830 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
17831 <grub/reader.h> and <grub/parser.h>.
17832 (grub_load_normal_mode): Execute normal command.
17833 (grub_main): Call grub_register_core_commands,
17834 grub_register_rescue_parser and grub_register_rescue_reader, use
17835 grub_reader_loop to enter input loop.
17836
7dd4a573 17837 * kern/parser.c (grub_parser_split_cmdline): Change type of
17838 getline parameter.
d558e6b5 17839 (grub_parser_class): New variable.
17840 (grub_parser_execute): New function.
17841
17842 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
17843 * loader/multiboot2.c: Likewise.
17844 * loader/sparc64/ieee1275/linux.c: Likewise.
17845
17846 * util/grub-emu.c (read_command_list): New dummy function.
17847
18db813d 178482009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17849
17850 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
17851 count to 16 for CCISS and IDA.
17852
6c67de15 178532009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17854
17855 * normal/menu_text.c (grub_wait_after_message): Print a newline
17856 after waiting for user input.
17857
17858 * loader/i386/linux.c: Include `<grub/normal.h>'.
17859 (grub_cmd_linux): Improve the error message about `ask' mode, by
17860 waiting for user input so it's not missed (we can do this, since
17861 user requested interaction).
17862
d9dc87b0 178632009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17864
17865 Added missing lst to grub-mkrescue
17866
17867 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
17868 and ${input_dir}/parttool.lst
17869
ac8a2baa 178702009-04-30 David S. Miller <davem@davemloft.net>
17871
ad22a610 17872 * util/hostdisk.c (device_is_wholedisk): New function.
17873 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
17874 zero only if device_is_wholedisk() returns true.
17875
6966215d 17876 * util/hostdisk.c (convert_system_partition_to_system_disk):
17877 Handle virtual disk devices named /dev/vdiskX as found on sparc
17878 and powerpc.
17879
ac8a2baa 17880 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
17881 lettered partition specifier is found, convert to numbered.
17882
979b4fb4 178832009-04-29 David S. Miller <davem@davemloft.net>
17884
e2bf39b2 17885 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
17886 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17887
3c64e104 17888 * normal/command.c: Add missing newline at end of file.
17889
979b4fb4 17890 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
17891 warnings.
17892 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
17893 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
17894 grub_ofdisk_read): Likewise, and deal similarly with the fact that
17895 ihandles have a 32-bit type but need to be stored in a "void *".
17896
136d9f82 178972009-04-28 Pavel Roskin <proski@gnu.org>
17898
9459c306 17899 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
17900 not disk. Adjust all dependencies.
2e08a26a 17901 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 17902 grub_disk_close().
17903
136d9f82 17904 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
17905 parent's partition, don't copy it by reference, as it gets freed
17906 on close.
17907
7dd4a573 179082009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 17909
17910 Preboot hooks support
17911
17912 * commands/boot.c (struct grub_preboot_t): new declaration
17913 (preboots_head): new variable
17914 (preboots_tail): likewise
17915 (grub_loader_register_preboot_hook): new function
17916 (grub_loader_unregister_preboot_hook): likewise
17917 (grub_loader_set): launch preboot hooks
17918 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
17919 (grub_loader_register_preboot_hook): new declaration
17920 (grub_loader_unregister_preboot_hook): likewise
17921
5af922b5 179222009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17923
17924 Warning fix
17925
7dd4a573 17926 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 17927 calling grub_dprintf
17928
a5562c30 179292009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
17930
17931 Bug and warning fixes
17932
7dd4a573 17933 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 17934 declaration
17935 * commands/test.c (test_parse): fixed bug with file tests and corrected
17936 declaration of find_file
17937
4006f85c 179382009-04-26 Pavel Roskin <proski@gnu.org>
17939
17940 * Makefile.in: Don't install empty manual pages if help2man is
17941 missing. Use help2man option for output, not shell redirection.
17942
5c77c3de 179432009-04-26 David S. Miller <davem@davemloft.net>
17944
17945 * util/grub-mkdevicemap.c (make_device_map): Add missing
17946 NESTED_FUNC_ATTR to process_device().
17947
033b10a8 179482009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17949
17950 Test command
17951
17952 * commands/test.c: rewritten to use bash-like test
17953
e4343593 179542009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 Parttool autoloading and improvements
17957
7dd4a573 17958 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 17959 (parttool.lst): new target
17960 * genmk.rb: generate parttool-*
17961 (CLEANFILES): add #{parttool}
17962 (PARTTOOLFILES): new variable
17963 * genparttoollist.sh: new file
7dd4a573 17964 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 17965 (grub_pcpart_type): likewise
17966 * commands/parttool.c (helpmsg): new variable
17967 (grub_cmd_parttool): output help if not enough arguments are supplied
17968 autoload modules
17969 (GRUB_MOD_INIT(parttool)): use helpmsg
17970
0d312500 179712009-04-24 David S. Miller <davem@davemloft.net>
17972
7dd4a573 17973 Avoiding opening same device multiple times in device iterator.
0d312500 17974
17975 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 17976 and use it to build a list of partitions in iterate_disk() and
0d312500 17977 iterate_partition().
17978
ac20caff 17979 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
17980 on disk->data.
17981
0dcf7495 17982 * disk/ieee1275/nand.c (grub_nand_iterate): Return
17983 grub_devalias_iterate() result instead of unconditional 0.
17984 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
17985 Also, capture hook return value, either directly or via
17986 grub_children_iterate(), and propagate to caller.
17987 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
17988 grub_children_iterate): Return value is now 'int' instead of
17989 'grub_err_t'.
17990 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
17991 like a proper iterator, stopping when hooks return non-zero.
17992 (grub_devalias_iterate): Likewise.
17993
c8c08833 179942009-04-23 David S. Miller <davem@davemloft.net>
17995
17996 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
17997
f01005a8 179982009-04-22 David S. Miller <davem@davemloft.net>
17999
18000 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
18001 is larger than address_cells, use that value for address_cells too.
18002
4e8269da 18003 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
18004 IEEE1275_MAX_PATH_LEN): Define.
18005 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
18006 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
18007 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
18008 'devtype'. Explicitly NULL terminate devalias expansion.
18009
a1447506 18010 * util/sparc64/ieee1275/misc.c: New file.
18011 * util/sparc64/ieee1275/grub-setup.c: New file.
18012 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
18013 * util/sparc64/ieee1275/grub-mkimage.c: New file.
18014 * util/sparc64/ieee1275/grub-install.in: New file.
18015 * util/ieee1275/ofpath.c: New file.
18016 * util/ieee1275/devicemap.c: New file.
18017 * util/devicemap.c: New file.
18018 * util/deviceiter.c: New file.
18019 * kern/sparc64/ieee1275/init.c: New file.
18020 * include/grub/util/ofpath.h: New file.
18021 * include/grub/util/deviceiter.h: New file.
18022 * util/grub-mkdevicemap.c: Include deviceiter.h.
18023 Implement using grub_util_emit_devicemap_entry and
18024 grub_util_iterate_devices.
18025 * conf/i386-corebook.rmk: Build util/deviceiter.c and
18026 util/devicemap.c into grub-mkdevicemap
18027 * conf/i386-efi.rmk: Likewise.
18028 * conf/i386-ieee1275.rmk: Likewise.
18029 * conf/i386-pc.rmk: Likewise.
18030 * conf/powerpc-ieee1275.rmk: Likewise.
18031 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
18032 images and installation utilities. Build kernel as image
18033 instead of as elf binary. Use common rules as much as possible.
18034
7dd4a573 180352009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 18036
18037 Correct GPT definition
18038
7dd4a573 18039 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 18040 of "attrib" member
18041
c6c5219f 180422009-04-19 Felix Zielcke <fzielcke@z-51.de>
18043
18044 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
18045
0552ff9f 180462009-04-19 David S. Miller <davem@davemloft.net>
18047
18048 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
18049 (grub_rescue_cmd_linux): Rename to...
18050 (grub_cmd_linux): and fix prototype.
18051 (grub_rescue_cmd_initrd): Rename to...
18052 (grub_cmd_initrd): and fix prototype.
18053 (cmd_linux, cmd_initrd): New.
18054 (GRUB_MOD_INIT(linux)): Use grub_register_command().
18055 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
18056
d1a282fc 180572009-04-17 Pavel Roskin <proski@gnu.org>
18058
07c5039f 18059 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
18060 format.
18061 (grub_ohci_transfer): Likewise.
18062
b012002d 18063 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
18064
1bc09c35 18065 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
18066 return without a value. Fix inconsistent indentation.
18067
e0ff9126 18068 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
18069 match struct grub_fs.
18070
d1a282fc 18071 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
18072 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
18073 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
18074 * commands/lspci.c (grub_lspci_iter): Likewise.
18075
a96df3f2 180762009-04-16 Bean <bean123ch@gmail.com>
18077
18078 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
18079 value.
18080
41bb0fe9 180812009-04-15 Pavel Roskin <proski@gnu.org>
18082
18083 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
18084 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
18085 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
18086 definitions.
18087
596c6970 180882009-04-15 Felix Zielcke <fzielcke@z-51.de>
18089
18090 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 18091 that no multiple data or metadata areas are supported and `Unknown
596c6970 18092 metadata header'.
18093
7dd4a573 180942009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 18095
18096 Move loader out of the kernel
18097
18098 * kern/loader.c: moved to ...
18099 * commands/boot.c: ... moved here
18100 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
18101 * commands/boot.c (grub_cmd_boot): moved here. All users updated
18102 * include/grub/kernel.h (grub_machine_fini): export
18103 * include/grub/loader.h (grub_loader_is_loaded): update declaration
18104 (grub_loader_set): likewise
18105 (grub_loader_unset): likewise
18106 (grub_loader_boot): likewise
18107 * conf/common.rmk: new module boot.mod
18108 (pkglib_MODULES): add boot.mod
18109 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
18110 (grub_emu_SOURCES): likewise
18111 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
18112 (grub_emu_SOURCES): likewise
18113 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
18114 (grub_emu_SOURCES): likewise
18115 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
18116 (grub_emu_SOURCES): likewise
18117 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
18118 (grub_emu_SOURCES): likewise
7dd4a573 18119 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
18120 (grub_emu_SOURCES): likewise
0d5d5653 18121 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 18122 (grub_emu_SOURCES): likewise
0d5d5653 18123
7dd4a573 181242009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 18125
18126 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 18127
5999d619 18128 * kern/misc.c (grub_itoa): Removed function
18129 (grub_ltoa): likewise
18130 (grub_vsprintf): use grub_lltoa
18131
7dd4a573 181322009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 18133
18134 Restore grub-emu
18135
18136 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
18137 * conf/i386-coreboot.rmk: likewise
18138 * conf/i386-ieee1275.rmk: likewise
18139 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 18140
20318222 181412009-04-15 Felix Zielcke <fzielcke@z-51.de>
18142
18143 * INSTALL: Add that `./autogen.sh' needs to be run before
18144 `./configure.'.
18145
d05f0df3 181462009-04-14 Bean <bean123ch@gmail.com>
18147
18148 * Makefile.in (pkglib_DATA): Add handler.lst.
18149 (handler.lst): New rule.
18150
18151 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
18152 * conf/i386-coreboot.rmk: Likewise.
18153 * conf/i386-ieee1275.rmk: Likewise.
18154 * conf/i386-efi.rmk: Likewise.
18155 * conf/x86_64-efi.rmk: Likewise.
18156 * conf/powerpc-ieee1275.rmk: Likewise.
18157 * conf/sparc64-ieee1275.rmk: Likewise.
18158
18159 * genhandlerlist.sh: New file.
18160
18161 * genmk.rb: Add rules to generate handler.lst.
18162
18163 * include/grub/normal.h (grub_file_getline): New function definition.
18164 (read_handler_list): Likewise.
18165 (free_handler_list): Likewise.
18166
18167 * include/grub/term.h (grub_term_register_input): Add name parameter
18168 for auto generation of handler.lst.
18169 (grub_term_register_output): Likewise.
18170
18171 * normal/handler.c: New file.
18172
18173 * normal/main.c (get_line): Renamed to grub_file_getline.
18174 (read_config_file): Use the newly renamed grub_file_getline.
18175 (read_command_list): Likewise.
18176 (read_fs_list): Likewise.
18177 (grub_normal_execute): Call read_handler_list to parse handler.lst.
18178 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
18179
18180 * term/efi/console.c (grub_console_init): Add name parameter for auto
18181 generation of handler.lst.
18182 * term/gfxterm.c: Likewise.
18183 * term/i386/pc/at_keyboard.c: Likewise.
18184 * term/i386/pc/console.c: Likewise.
18185 * term/i386/pc/serial.c: Likewise.
18186 * term/i386/pc/vesafb.c: Likewise.
18187 * term/i386/pc/vga.c: Likewise.
18188 * term/i386/pc/vga_text.c: Likewise.
18189 * term/ieee1275/ofconsole.c: Likewise.
18190 * term/usb_keyboard.c: Likewise.
18191
33c846be 181922009-04-14 Bean <bean123ch@gmail.com>
18193
18194 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
18195 properly with null character.
18196
4484e01e 181972009-04-14 Felix Zielcke <fzielcke@z-51.de>
18198
18199 * configure: Remove.
18200 * config.h.in: Likewise.
f93d668e 18201 * stamp-h.in: Likewise.
4484e01e 18202 * DISTLIST: Likewise.
18203 * conf/common.mk: Likewise.
18204 * conf/i386-coreboot.mk: Likewise.
18205 * conf/i386-efi.mk: Likewise.
18206 * conf/i386-ieee1275.mk: Likewise.
18207 * conf/i386.mk: Likewise.
18208 * conf/i386-pc.mk: Likewise.
18209 * conf/powerpc-ieee1275.mk: Likewise.
18210 * conf/sparc64-ieee1275.mk: Likewise.
18211 * conf/x86_64-efi.mk: Likewise.
18212
18213 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
18214 develop on GRUB.
18215
7dd4a573 182162009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 18217 David S. Miller <davem@davemloft.net>
18218
18219 * util/hostdisk.c (make_device_name): Fix buffer length
18220 calculations.
18221
e25b5a8c 182222009-04-14 Felix Zielcke <fzielcke@z-51.de>
18223
18224 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
18225 <sys/param.h> and <sys/sysctl.h>.
18226 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
18227 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
18228 opening the device and reset them afterwards.
18229
1f1f580c 182302009-04-13 Pavel Roskin <proski@gnu.org>
18231
18232 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
18233 Reported by John Stanley <jpsinthemix@verizon.net>
18234
7ebc2d6b 182352009-04-13 Robert Millan <rmh@aybabtu.com>
18236
18237 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 18238 that name for menuentries when appropriate.
7ebc2d6b 18239
d8ba3667 182402009-04-13 Felix Zielcke <fzielcke@z-51.de>
18241
18242 * util/grub.d/10_freebsd.in: Add a missing `fi'.
18243
cba416eb 182442009-04-13 Robert Millan <rmh@aybabtu.com>
18245
18246 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
18247 to Linux, simply abort telling the user it's no longer supported.
18248
a547a745 182492009-04-13 Felix Zielcke <fzielcke@z-51.de>
18250
18251 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 18252 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 18253 `freebsd_loadenv' only when devices.hints exist.
18254
232a769c 182552009-04-13 Pavel Roskin <proski@gnu.org>
18256
18257 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
18258
c3012039 182592009-04-13 Felix Zielcke <fzielcke@z-51.de>
18260
18261 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
18262 partition number.
18263 (grub_drive): Likewise.
18264
234022fe 182652009-04-13 David S. Miller <davem@davemloft.net>
18266
18267 * kern/sparc64/ieee1275/ieee1275.c: New file.
18268 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
18269 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
18270 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
18271 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
18272 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
18273 grub_ieee1275_alloc_physmem): Declare new exported functions.
18274
d8e1836c 18275 * include/grub/sparc64/ieee1275/loader.h: New file.
18276 * include/grub/sparc64/ieee1275/memory.h: Likewise.
18277 * include/grub/sparc64/kernel.h: Likewise.
18278 * loader/sparc64/ieee1275/linux.c: Likewise.
18279
96bd81ec 18280 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
18281 (grub_fstest_SOURCES): Likewise.
18282
6a4737e5 18283 * util/hostdisk.c (make_device_name): Do not make any assumptions
18284 about the length of drive names.
18285
1d7a72fd 18286 * kern/dl.c (grub_dl_load_file): Close file immediately when
18287 we are done using it.
18288
56bc2471 182892009-04-12 David S. Miller <davem@davemloft.net>
18290
18291 * kern/misc.c (grub_ltoa): Fix cast when handling negative
18292 values. Noticed by Pavel Roskin.
18293
df38d0bb 18294 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
18295 target compiler.
7dd4a573 18296
e382e93a 18297 * genmk.rb: Add more flexible image type specification, also
18298 pass --strip-unneeded to objcopy.
18299 * conf/i386-pc.rmk: Use *_FORMAT.
18300 * conf/i386-pc.mk: Rebuilt.
18301
f5dbbca9 18302 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
18303 (OFDISK_HASH_SZ): Define.
18304 (ofdisk_hash): New hash table.
18305 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
18306 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
18307 instead of device phandle which is not unique.
18308
91c88b12 18309 * kern/sparc64/ieee1275/init.c: Delete, replace with...
18310 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
18311 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
18312 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
18313 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
18314 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
18315 GRUB_KERNEL_MACHINE_DATA_END): Define.
18316 (grub_kernel_image_size, grub_total_module_size): Declare.
18317
5b5d4aa5 183182009-04-12 Pavel Roskin <proski@gnu.org>
18319
7dd4a573 18320 * configure.ac: Change the logic when we check for target tools.
18321 Do it when the target is specified and it's different from the
18322 specified value of the host.
5b5d4aa5 18323
c91e1793 183242009-04-11 Felix Zielcke <fzielcke@z-51.de>
18325
18326 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
18327 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
18328 GNU/kFreeBSD. Check if a device is a character device. Use
18329 DIOCGMEDIASIZE to get the size.
18330 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
18331 support for GNU/kFreeBSD.
18332 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
18333 is a character device instead of a block device. Add support for
18334 FreeBSD device names.
18335
18336 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
18337 is a character device instead of a block device.
18338
18339 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
18340 is a character device instead of a block device.
18341
b1ac8644 183422009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
18343
18344 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
18345 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
18346 FreeBSD. Check if a device is a character device. Use
18347 DIOCGMEDIASIZE to get the size.
18348 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
18349 support for FreeBSD.
18350 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
18351 is a character device instead of a block device. Add support for
18352 FreeBSD device names.
18353
18354 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
18355 a character device instead of a block device.
18356 (grub_util_check_char_device): New function.
18357
18358 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
18359 a character device instead of a block device.
18360
18361 * include/grub/util/getroot.h (grub_util_check_char_device): New
18362 prototype.
18363
a3f7515a 183642009-04-11 David S. Miller <davem@davemloft.net>
18365
18366 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
18367 static libgcc.
18368 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
18369 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
18370 function, if present.
18371 (__bswapdi2): Likewise.
18372
0d44993d 18373 * include/grub/sparc64/ieee1275/boot.h: New file.
18374 * boot/sparc64/ieee1275/boot.S: Likewise.
18375 * boot/sparc64/ieee1275/diskboot.S: Likewise.
18376
ed3d2bc2 18377 * kern/misc.c (grub_ltoa): New function.
18378 (grub_vsprintf): Use it to format 'long' integers.
18379
d3bfb59c 183802009-04-10 David S. Miller <davem@davemloft.net>
18381
18382 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
18383 slots are of type grub_ieee1275_cell_t.
18384 (grub_nand_read): Likewise.
18385 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
18386 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
18387 macros are used to compare values in arg/ret block of the call.
18388 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18389 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
18390 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
18391 grub_ieee1275_instance_to_path, grub_ieee1275_write,
18392 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
18393 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
18394 grub_ieee1275_close, grub_ieee1275_set_property,
18395 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
18396 grub_ieee1275_cell_t.
18397 * kern/ieee1275/openfw.c (grub_map): Likewise.
18398 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
18399 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
18400
450e2238 18401 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
18402 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
18403 (grub_devalias_iterate): Likewise.
18404
7dd4a573 184052009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 18406
18407 UFS improvements
18408
18409 * fs/ufs.c (INODE_NBLOCKS): new definition
18410 (struct grub_ufs_dirent): added fields for non-BSD dirents
18411 (grub_ufs_get_file_block): fixed double indirect handling
18412 (grub_ufs_lookup_symlink): use more robust way to determine whether
18413 symlink is inline
18414 (grub_ufs_find_file): support for non-BSD dirents
18415 (grub_ufs_dir): support for non-BSD dirents
18416
e7e6862a 184172009-04-10 Bean <bean123ch@gnail.com>
18418
18419 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
18420 attribute, otherwise the size would be wrong for i386 platform.
18421
18422 * include/grub/pci.h (grub_pci_read_word): New inline function.
18423 (grub_pci_read_byte): Likewise.
18424 (grub_pci_write): Likewise.
18425 (grub_pci_write_word): Likewise.
18426 (grub_pci_write_byte): Likewise.
18427
18428 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
18429
18430 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
18431 (find_framebuf): Scan pci to locate the frame buffer address.
18432
18433 * commands/efi/fixvideo.c: New file.
18434
18435 * commands/efi/loadbios.c: Likewise.
18436
18437 * commands/memrw.c: Likewise.
18438
18439 * util/grub-dumpbios.in: Likewise.
18440
18441 * conf/common.rmk (grub-dumpbios): New utility.
18442 (pkglib_MODULES): New module memrw.mod.
18443 (memrw_mod_SOURCE): New macro.
18444 (memrw_mod_CFLAGS): Likewise.
18445 (memrw_mod_LDFLAGS): Likewise.
18446
7dd4a573 18447 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18448 fixvideo.mod.
18449 (loadbios_mod_SOURCE): New macro.
18450 (loadbios_mod_CFLAGS): Likewise.
18451 (loadbios_mod_LDFLAGS): Likewise.
18452 (fixvideo_mod_SOURCE): Likewise.
18453 (fixvideo_mod_CFLAGS): Likewise.
18454 (fixvideo_mod_LDFLAGS): Likewise.
18455
7dd4a573 18456 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18457 fixvideo.mod.
18458 (loadbios_mod_SOURCE): New macro.
18459 (loadbios_mod_CFLAGS): Likewise.
18460 (loadbios_mod_LDFLAGS): Likewise.
18461 (fixvideo_mod_SOURCE): Likewise.
18462 (fixvideo_mod_CFLAGS): Likewise.
18463 (fixvideo_mod_LDFLAGS): Likewise.
18464
af63ada2 184652009-04-08 Felix Zielcke <fzielcke@z-51.de>
18466
18467 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
18468
c2cdde70 184692009-04-07 David S. Miller <davem@davemloft.net>
18470
18471 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
18472 support for R_SPARC_OLO10 relocations. Fix compile warning for
18473 R_SPARC_WDISP30 case.
ea3f72cf 18474 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 18475
761319cf 184762009-04-06 Pavel Roskin <proski@gnu.org>
18477
1007d1f5 18478 * include/grub/misc.h (ARRAY_SIZE): New macro.
18479 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
18480 New macro.
18481 * loader/i386/linux.c (allocate_pages): Use free_pages().
18482 (grub_linux_unload): Don't use free_pages().
18483 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
18484 wrong index. Treat all other modes as text modes.
18485 (grub_cmd_linux): Initialize vid_mode unconditionally to
18486 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
18487
761319cf 18488 * commands/help.c (print_command_help): Use cmd->prio, not
18489 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
18490
ea761d40 184912009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 18492
ea761d40 18493 Parttool
18494
18495 * parttool/pcpart.c: new file
18496 * commands/parttool.c: likewise
18497 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
18498 (parttool_mod_SOURCES): new variable
18499 (parttool_mod_CFLAGS): likewise
18500 (parttool_mod_LDFLAGS): likewise
18501 (pcpart_mod_SOURCES): likewise
18502 (pcpart_mod_CFLAGS): likewise
18503 (pcpart_mod_LDFLAGS): likewise
7dd4a573 18504 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 18505 and parttool/pcpart.c
18506 * conf/i386-efi.rmk: likewise
18507 * conf/i386-ieee1275.rmk: likewise
18508 * conf/i386-pc.rmk: likewise
18509 * conf/powerpc-ieee1275.rmk: likewise
18510 * conf/sparc64-ieee1275.rmk: likewise
18511 * conf/x86_64-ieee1275.rmk: likewise
18512
05aaebfb 185132009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18514
18515 Support for mtime and further expandability of dir command
18516
18517 * include/grub/lib/datetime.h: moved to ...
7dd4a573 18518 * include/grub/datetime.h: ... moved here and added
05aaebfb 18519 declaration of grub_unixtime2datetime. All users updated
7dd4a573 18520 * include/grub/fs.h: new syntax for dir and mtime functions in
18521 struct grub_fs
05aaebfb 18522 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
18523 and GRUB_FSHELP_FLAGS_MASK
18524 * commands/ls.c (grub_ls_list_files): Write mtime in long format
18525 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
18526 (grub_ext2_mtime): new function
18527 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
18528 (grub_hfsplus_mtime): new function
18529 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
18530 (GRUB_UFS_ATTR_FILE): likewise
18531 (GRUB_UFS_ATTR_LNK): likewise
18532 (struct grub_ufs_sblock): new fields mtime
18533 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
18534 all users updated
18535 (grub_ufs_dir): mtime support
18536 (grub_ufs_mtime): new function
18537 * fs/affs.c (grub_affs_dir): use new dir syntax
18538 * fs/afs.c (grub_afs_dir): likewise
18539 * fs/cpio.c (grub_cpio_dir): likewise
18540 * fs/fat.c (grub_fat_find_dir): likewise
18541 * fs/hfs.c (grub_hfs_dir): likewise
18542 * fs/iso9660.c (grub_iso9660_dir): likewise
18543 * fs/jfs.c (grub_jfs_dir): likewise
18544 * fs/minix.c (grub_minix_dir): likewise
18545 * fs/ntfs.c (grub_ntfs_dir): likewise
18546 * fs/reiserfs.c (grub_reiserfs_dir): likewise
18547 * fs/sfs.c (grub_sfs_dir): likewise
18548 * fs/xfs.c (grub_xfs_dir): likewise
18549 * util/hostfs.c (grub_hostfs_dir): likewise
18550 * lib/datetime.c: moved to ...
18551 * normal/datetime.c: ... moved here
18552 (grub_unixtime2datetime): new function
18553 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 18554 * normal/completion.c (iterate_dir): use new dir syntax
18555 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 18556 last modification time of a volume
7dd4a573 18557 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 18558 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 18559 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 18560 (normal_mod_SOURCES): likewise
18561 (datetime_mod_SOURCES): Removed lib/datetime.c
18562 * conf/i386-efi.rmk: likewise
7dd4a573 18563 * conf/i386-ieee1275.rmk: likewise
05aaebfb 18564 * conf/i386-pc.rmk: likewise
18565 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 18566 * conf/sparc64-ieee1275.rmk: likewise
18567 * conf/x86_64-efi.rmk: likewise
05aaebfb 18568
8a7e1a14 185692009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18570
18571 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 18572
18573 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 18574 on grub_fat_find_dir
18575 (grub_fat_find_dir): use grub_fat_iterate_dir
18576 (grub_fat_label): likewise
18577
04186a9c 185782009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18579
7dd4a573 18580 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 18581 and command.h
18582 remove extraneous kernel_elf_HEADERS
18583
da4c0bb6 185842009-04-04 Bean <bean123ch@gnail.com>
18585
18586 * include/grub/util/misc.h: Add dummy function fsync for mingw.
18587
18588 * util/misc.c: Likewise.
18589
54ad9555 185902009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
18591
18592 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
18593 instead of grub_printf.
18594
7a6bf9f2 185952009-04-03 Robert Millan <rmh@aybabtu.com>
18596
18597 * loader/i386/linux.c (grub_linux_setup_video): Fill
18598 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
18599 values from `mode info' structure instead of hardcoded
18600 values.
18601
3fcc2083 186022009-04-01 Pavel Roskin <proski@gnu.org>
18603
18604 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
18605 unused now.
18606 * genmk.rb: Likewise.
18607 * configure.ac: Likewise.
18608
5ec9740b 186092009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
18610
18611 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
18612 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
18613
5270cec8 186142009-04-01 David S. Miller <davem@davemloft.net>
18615
18616 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 18617 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 18618 (grub_setjmp): Mark with 'returns_twice' attribute.
18619 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
18620 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
18621 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
18622
9c3dd854 186232009-04-01 Robert Millan <rmh@aybabtu.com>
18624
18625 Reapply fix from 2008-07-28 which was accidentally reverted; also
18626 perform the same fix to a similar check in same function.
18627
18628 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
18629 with the same number are found, just use issue a warning with
18630 grub_dprintf(), as this error has been reported to be non-fatal.
18631
0d818b7e 186322009-03-31 Pavel Roskin <proski@gnu.org>
18633
18634 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
18635 for cross-compilation.
18636
95646d92 186372009-03-30 Robert Millan <rmh@aybabtu.com>
18638
18639 Fix i386-ieee1275 build.
18640
18641 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
18642 Remove declaration.
18643
6a003ed1 186442009-03-30 Pavel Roskin <proski@gnu.org>
18645
18646 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
18647 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
18648 zero-terminated, rely only on the strlen value. Fix comparison
18649 of strings differing in length.
18650
92f33540 186512009-03-30 Robert Millan <rmh@aybabtu.com>
18652
18653 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
18654 checking for abi version. Improve error messages on BIOS to notify
18655 user about `linux16' command.
18656
a8c48fd5 186572009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18658
f968172e 18659 Leak fixes
a8c48fd5 18660
f968172e 18661 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
18662 in case of collision
18663 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 18664
9c323f09 186652009-03-29 Robert Millan <rmh@aybabtu.com>
18666
18667 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
18668 set `vid_mode' accordingly.
18669 (grub_linux_boot): Process `vid_mode' and set video mode.
18670
ae68f423 186712009-03-29 Robert Millan <rmh@aybabtu.com>
18672
18673 * util/grub.d/10_linux.in (linux_entry): New function.
18674 Factorize generation of Linux boot entries.
18675
5709cfc4 186762009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
18677
18678 Make the format of Environment Block plain text. The boot loader
18679 part is not tested well yet.
7dd4a573 18680
5709cfc4 18681 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
18682 (buffer): Removed.
18683 (envblk): Likewise.
18684 (usage): Remove "info" and "clear". Add "unset". Update the
18685 description of "set", as this does not delete variables any
18686 longer.
18687 (create_envblk_file): Complete rewrite.
18688 (open_envblk_file): Likewise.
18689 (cmd_info): Removed.
18690 (cmd_list): Likewise.
18691 (cmd_set): Likewise.
18692 (cmd_clear): Likewise.
18693 (list_variables): New function.
18694 (write_envblk): Likewise.
18695 (set_variables): Likewise.
18696 (unset_variables): Likewise.
18697 (main): Complete rewrite.
18698
18699 * commands/loadenv.c (buffer): Removed.
18700 (envblk): Likewise.
18701 (open_envblk_file): New function.
18702 (read_envblk_file): Complete rewrite.
18703 (grub_cmd_load_env): Likewise.
18704 (grub_cmd_list_env): Likewise.
18705 (struct blocklist): New struct.
18706 (free_blocklists): New function.
18707 (check_blocklists): Likewise.
18708 (write_blocklists): Likewise.
18709 (grub_cmd_save_env): Complete rewrite.
18710
18711 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
18712 a plain text signature.
18713 (GRUB_ENVBLK_MAXLEN): Removed.
18714 (struct grub_envblk): Complete rewrite.
18715 (grub_envblk_find): Removed.
18716 (grub_envblk_insert): Likewise.
18717 (grub_envblk_open): New prototype.
18718 (grub_envblk_set): Likewise.
18719 (grub_envblk_delete): Put const to VALUE.
18720 (grub_envblk_iterate): Put const to NAME and VALUE.
18721 (grub_envblk_close): New prototype.
18722 (grub_envblk_buffer): New inline function.
18723 (grub_envblk_size): Likewise.
18724
18725 * lib/envblk.c: Include grub/mm.h.
18726 (grub_env_find): Removed.
18727 (grub_envblk_open): New function.
18728 (grub_envblk_close): Likewise.
18729 (escaped_value_len): Likewise.
18730 (find_next_line): Likewise.
18731 (grub_envblk_insert): Removed.
18732 (grub_envblk_set): New function.
18733 (grub_envblk_delete): Complete rewrite.
18734 (grub_envblk_iterate): Likewise.
18735
a9368fd3 187362009-03-28 Robert Millan <rmh@aybabtu.com>
18737
18738 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
18739 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
18740 variables. Use 16-bit loader.
18741 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
18742 loader.
18743 * kern/i386/loader.S (grub_linux_boot): Rename to ...
18744 (grub_linux16_boot): ... this. Update all users.
18745 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
18746 (grub_linux_boot): ... this. Update all users.
18747
18748 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
18749 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
18750 commands to `linux16' and `initrd16'.
18751 (GRUB_MOD_FINI(linux)): Rename to ...
18752 (GRUB_MOD_FINI(linux16)): ... this.
18753
e4dd5a7e 187542009-03-24 Pavel Roskin <proski@gnu.org>
18755
18756 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
18757 not just for compilation.
18758
c04d6e05 187592009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
18760
18761 Move multiboot helper out of kernel
18762
18763 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
18764 `loader/i386/multiboot_helper.S'.
18765 * conf/i386-coreboot.rmk: Likewise
18766 * conf/i386-ieee1275.rmk: Likewise
18767
18768 * kern/i386/loader.S: Move multiboot helpers from here...
18769 * loader/i386/multiboot_helper.S: ...moved here
18770 * include/grub/i386/loader.h: Move declarations of multiboot
18771 helpers from here...
18772 * include/grub/i386/multiboot.h: ...moved here
18773 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
18774
42a5b3fc 187752009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18776
18777 * kern/env.c (grub_env_context_open): Added an argument to specify
18778 whether a new context inherits exported variables from current
18779 one. This is useful when making a sandbox to interpret a config
18780 file.
18781 All callers updated.
18782
18783 * include/grub/env.h (grub_env_context_open): Updated the prototype.
18784
b28bbc4e 187852009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18786
18787 * kern/env.c (grub_env_context_close): Fix memory leaks.
18788
f04f02e4 187892009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18790
18791 * normal/main.c (grub_normal_execute): Added an argument
18792 BATCH to specify if an interactive interface should be provided
18793 after reading a config file.
18794 All callers updated.
18795 (read_command_list): Prevent being executed twice.
18796 (read_fs_list): Likewise.
18797
42a5b3fc 18798 * include/grub/normal.h (grub_normal_execute): Updated the
18799 prototype.
f04f02e4 18800
41473ac2 188012009-03-22 Pavel Roskin <proski@gno.org>
18802
fbc00b0c 18803 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
18804 _start.
18805 * kern/i386/pc/startup.S: Likewise.
18806 * kern/i386/efi/startup.S: Likewise.
18807 * kern/i386/ieee1275/startup.S: Likewise.
18808 * kern/i386/coreboot/startup.S: Likewise.
18809 * kern/x86_64/efi/startup.S: Likewise.
18810
41473ac2 18811 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
18812 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
18813 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
18814
2274cc8f 188152009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
18816
18817 Bugfixes in multiboot for bugs uncovered by solaris kernel.
18818
18819 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
18820 limit detection.
18821 Use vaddr of correct segment for entry_point.
18822
b1b797cb 188232009-03-21 Bean <bean123ch@gmail.com>
18824
18825 * commands/blocklist.c: Add include file <grub/command.h>, remove
18826 <grub/normal.h> and <grub/arg.h>.
18827 (grub_cmd_blocklist): Use the new command interface.
18828 (GRUB_MOD_INIT): Likewise.
18829 (GRUB_MOD_FINI): Likewise.
18830 * commands/boot.c: Likewise.
18831 * commands/cat.c: Likewise.
18832 * commands/cmp.c: Likewise.
18833 * commands/configfile.c: Likewise.
18834 * commands/crc.c: Likewise.
18835 * commands/echo.c: Likewise.
18836 * commands/halt.c: Likewise.
18837 * commands/handler.c: Likewise.
18838 * commands/hdparm.c: Likewise.
18839 * commands/help.c: Likewise.
18840 * commands/hexdump.c: Likewise.
18841 * commands/loadenv.c: Likewise.
18842 * commands/ls.c: Likewise.
18843 * commands/lsmmap.c: Likewise.
18844 * commands/lspci.c: Likewise.
18845 * commands/loadenv.c: Likewise.
18846 * commands/read.c: Likewise.
18847 * commands/reboot.c: Likewise.
18848 * commands/search.c: Likewise.
18849 * commands/sleep.c: Likewise.
18850 * commands/test.c: Likewise.
18851 * commands/usbtest.c: Likewise.
18852 * commands/videotest.c: Likewise.
18853 * commands/i386/cpuid.c: Likewise.
18854 * commands/i386/pc/halt.c: Likewise.
18855 * commands/i386/pc/play.c: Likewise.
18856 * commands/i386/pc/pxecmd.c: Likewise.
18857 * commands/i386/pc/vbeinfo.c: Likewise.
18858 * commands/i386/pc/vbetest.c: Likewise.
18859 * commands/ieee1275/suspend.c: Likewise.
18860 * disk/loopback.c: Likewise.
18861 * font/font_cmd.c: Likewise.
18862 * hello/hello.c: Likewise.
18863 * loader/efi/appleloader.c: Likewise.
18864 * loader/efi/chainloader.c: Likewise.
18865 * loader/i386/bsd.c: Likewise.
18866 * loader/i386/efi/linux.c: Likewise.
18867 * loader/i386/ieee1275/linux.c: Likewise.
18868 * loader/i386/linux.c: Likewise.
18869 * loader/i386/pc/chainloader.c: Likewise.
18870 * loader/i386/pc/linux.c: Likewise.
18871 * loader/powerpc/ieee1275/linux.c: Likewise.
18872 * loader/multiboot_loader.c: Likewise.
18873 * term/gfxterm.c: Likewise.
18874 * term/i386/pc/serial.c: Likewise.
18875 * term/terminfo.c: Likewise.
18876
18877 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
18878 * term/i386/pc/vga.c: Likewise.
18879 * video/readers/jpeg.c: Likewise.
18880 * video/readers/png.c: Likewise.
18881 * video/readers/tga.c: Likewise.
18882
18883 * util/grub-fstest (cmd_loopback): Removed.
18884 (cmd_blocklist): Likewise.
18885 (cmd_ls): Likewise.
18886 (grub_register_command): Likewise.
18887 (grub_unregister_command): Likewise.
18888 (execute_command): Use grub_command_find to locate command and execute
18889 it.
18890
18891 * include/grub/efi/chainloader.h: Removed.
18892 * loader/efi/chainloader_normal.c: Likewise.
18893 * loader/i386/bsd_normal.c: Likewise.
18894 * loader/i386/pc/chainloader_normal.c: Likewise.
18895 * loader/i386/pc/multiboot_normal.c: Likewise.
18896 * loader/linux_normal.c: Likewise.
18897 * loader/multiboot_loader_normal.c: Likewise.
18898 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
18899
18900 * gencmdlist.sh: Scan new registration command grub_register_extcmd
18901 and grub_register_command_p1.
18902
18903 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
18904 kern/command.c, lib/arg.c and commands/extcmd.c.
18905 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
18906 (minicmd_mod_SOURCES): New variable.
18907 (minicmd_mod_CFLAGS): Likewise.
18908 (minicmd_mod_LDFLAGS): Likewise.
18909 (extcmd_mod_SOURCES): Likewise.
18910 (extcmd_mod_CFLAGS): Likewise.
18911 (extcmd_mod_LDFLAGS): Likewise.
18912 (boot_mod_SOURCES): Removed.
18913 (boot_mod_CFLAGS): Likewise.
18914 (boot_mod_LDFLAGS): Likewise.
18915
18916 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
18917 kern/corecmd.c.
18918 (kernel_img_HEADERS): Add command.h.
18919 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
18920 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
18921 and lib/arg.c.
18922 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
18923 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
18924 remove the corresponding normal mode command.
18925 (normal_mod_SOURCES): Remove normal/arg.c.
18926 * conf/i386-coreboot.rmk: Likewise.
18927 * conf/i386-efi.rmk: Likewise.
18928 * conf/i386-ieee1275.rmk: Likewise.
18929 * conf/powerpc-ieee1275.rmk: Likewise.
18930 * conf/x86_64-efi.rmk: Likewise.
18931
18932 * include/grub/arg.h: Move from here ...
18933 * include/grub/lib/arg.h: ... to here.
18934
18935 * normal/arg.c: Move from here ...
18936 * lib/arg.c: ... to here.
18937
18938 * commands/extcmd.c: New file.
18939 * commands/minicmd.c: Likewise.
18940 * include/grub/command.h: Likewise.
18941 * include/grub/extcmd.h: Likewise.
18942 * kern/command.c: Likewise.
18943 * kern/corecmd.c: Likewise.
18944
18945 * kern/list.c (grub_list_iterate): Return int instead of void.
18946 (grub_list_insert): New function.
18947 (grub_prio_list_insert): Likewise.
18948
18949 * kern/rescue.c (grub_rescue_command): Removed.
18950 (grub_rescue_command_list): Likewise.
18951 (grub_rescue_register_command): Likewise.
18952 (grub_rescue_unregister_command): Likewise.
18953 (grub_rescue_cmd_boot): Move to minicmd.c
18954 (grub_rescue_cmd_help): Likewise.
18955 (grub_rescue_cmd_info): Likewise.
18956 (grub_rescue_cmd_boot): Likewise.
18957 (grub_rescue_cmd_testload): Likewise.
18958 (grub_rescue_cmd_dump): Likewise.
18959 (grub_rescue_cmd_rmmod): Likewise.
18960 (grub_rescue_cmd_lsmod): Likewise.
18961 (grub_rescue_cmd_exit): Likewise.
18962 (grub_rescue_print_devices): Moved to corecmd.c.
18963 (grub_rescue_print_files): Likewise.
18964 (grub_rescue_cmd_ls): Likewise.
18965 (grub_rescue_cmd_insmod): Likewise.
18966 (grub_rescue_cmd_set): Likewise.
18967 (grub_rescue_cmd_unset): Likewise.
7d074e3c 18968 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 18969 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 18970 commands, remove grub_rescue_register_command calls.
b1b797cb 18971
7d074e3c 18972 * normal/command.c (grub_register_command): Removed.
b1b797cb 18973 (grub_unregister_command): Likewise.
18974 (grub_command_find): Likewise.
18975 (grub_iterate_commands): Likewise.
18976 (rescue_command): Likewise.
18977 (export_command): Moved to corecmd.c.
18978 (set_command): Removed.
18979 (unset_command): Likewise.
18980 (insmod_command): Likewise.
18981 (rmmod_command): Likewise.
18982 (lsmod_command): Likewise.
18983 (grub_command_init): Likewise.
18984
18985 * normal/completion.c (iterate_command): Use cmd->prio to check for
18986 active command.
18987 (complete_arguments): Use grub_extcmd_t structure to find options.
18988 (grub_normal_do_completion): Change function grub_iterate_commands to
18989 grub_command_iterate.
18990
18991 * normal/execute.c (grub_script_execute_cmd): No need to parse
18992 argument here.
18993
18994 * normal/main.c (grub_dyncmd_dispatcher): New function.
18995 (read_command_list): Register unload commands as dyncmd.
18996 (grub_cmd_normal): Use new command interface, register rescue,
18997 unregister normal at entry, register normal, unregister rescue at exit.
18998
18999 * include/grub/list.h (grub_list_test_t): New type.
19000 (grub_list_iterate): Return int instead of void.
19001 (grub_list_insert): New function.
19002 (GRUB_AS_NAMED_LIST_P): New macro.
19003 (GRUB_AS_PRIO_LIST): Likewise.
19004 (GRUB_AS_PRIO_LIST_P): Likewise.
19005 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
19006 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
19007 (grub_prio_list): New structure.
19008 (grub_prio_list_insert): New function.
19009 (grub_prio_list_remove): New inline function.
19010
19011 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
19012 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
19013 (GRUB_COMMAND_FLAG_MENU): Likewise.
19014 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19015 (GRUB_COMMAND_FLAG_TITLE): Likewise.
19016 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19017 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
19018 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
19019 (grub_command): Likewise.
19020 (grub_register_command): Likewise.
19021 (grub_command_find): Likewise.
19022 (grub_iterate_commands): Likewise.
19023 (grub_command_init): Likewise.
19024 (grub_arg_parse): Likewise.
19025 (grub_arg_show_help): Likewise.
19026
19027 * include/grub/rescue.h (grub_rescue_register_command): Removed.
19028 (grub_rescue_unregister_command): Likewise.
19029
19030 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
19031 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
19032 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
19033
19034 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
19035 grub_rescue_cmd_initrd.
19036 * include/grub/i386/loader.h: Likewise.
19037 * include/grub/x86_64/loader.h: Likewise.
19038
19039 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
19040
1f4147aa 190412009-03-21 Bean <bean123ch@gmail.com>
19042
19043 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
19044 instead of stat in mingw environment.
19045
19046 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
19047
19048 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
19049
19050 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
19051 AC_CONFIG_LINKS.
19052
2156d5ba 190532009-03-21 Bean <bean123ch@gmail.com>
19054
19055 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
19056 out of range error.
19057
177b82ca 190582009-03-18 Michel Dänzer <michel@daenzer.net>
19059
19060 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
19061 checking inode flags for EXT4_EXTENTS_FLAG.
19062
14aad807 190632009-03-18 Robert Millan <rmh@aybabtu.com>
19064
19065 * loader/i386/linux.c: Include `<grub/video.h>' and
19066 `<grub/i386/pc/vbe.h>'..
19067 (grub_linux_setup_video): New function. Loosely based on the EFI one.
19068 (grub_linux32_boot): Attempt to configure video settings with
19069 grub_linux_setup_video().
19070 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
19071 to avoid grub_console_fini() which would step out of graphical mode
19072 unconditionally.
19073
8cf83a27 190742009-03-14 Robert Millan <rmh@aybabtu.com>
19075
19076 Fix build on powerpc.
19077 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
19078
40164e75 190792009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
19080
19081 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
19082 background image command.
19083
c58bc32a 190842009-03-12 Colin D Bennett <colin@gibibit.com>
19085
19086 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
19087 (grub_gfxterm_putchar): Extract pairs of identical calls to
19088 draw_cursor out of conditional blocks.
19089
5415144a 190902009-03-11 Pavel Roskin <proski@gnu.org>
19091
19092 * fs/hfs.c (grub_hfs_strncasecmp): New function.
19093 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
19094
6394042e 190952009-03-11 Robert Millan <rmh@aybabtu.com>
19096
19097 * loader/i386/multiboot_elfxx.c
19098 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
19099
b7b50e5f 191002009-03-11 Felix Zielcke <fzielcke@z-51.de>
19101
19102 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
19103 `kern/handler.c'.
19104
1ca7fc96 191052009-03-11 Robert Millan <rmh@aybabtu.com>
19106
19107 * loader/i386/multiboot.c (code_size): New variable.
19108 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 19109 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 19110 4-byte alignment to MBI and others by increasing
7d074e3c 19111 `boot_loader_name_length' appropriately.
1ca7fc96 19112
19113 * loader/i386/multiboot_elfxx.c
19114 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
19115
a83ea1d2 191162009-03-09 Felix Zielcke <fzielcke@z-51.de>
19117
19118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
19119 `fs/ext2.c'.
19120
aa9f3bff 191212009-03-08 Robert Millan <rmh@aybabtu.com>
19122
19123 Make loader/i386/linux.c usable on i386-pc again.
19124
19125 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
19126 memory to heap.
19127 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
19128 `#error' stanza.
19129
d8b3b60e 191302009-03-07 Bean <bean123ch@gmail.com>
19131
19132 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
19133 allocation.
19134
b362c9e9 191352009-03-06 Robert Millan <rmh@aybabtu.com>
19136
19137 Fix display issue on terminals with screen size other than 80x25
19138 (e.g. gfxterm with resolution higher than 640x480).
19139
19140 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 19141 position relative to the center of the terminal instead of relying
b362c9e9 19142 on a hardcoded offset.
19143
9304eef1 191442009-03-04 Robert Millan <rmh@aybabtu.com>
19145
19146 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
19147 installed.
19148
19149 * Makefile.in (host_kernel): New variable.
19150 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
19151 scripts instead of just the windows one.
19152 * configure.ac: Initialize and AC_SUBST `host_kernel'.
19153
eabc95fb 191542009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 19155
19156 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
19157 `kern/handler.c'.
19158 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19159 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19160 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19162 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19163 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19164
ceb1223c 191652009-03-04 Felix Zielcke <fzielcke@z-51.de>
19166
19167 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
19168 or if there's no space for the disk label and print the partition number on a
19169 invalid magic.
19170
4910684a 191712009-03-04 Felix Zielcke <fzielcke@z-51.de>
19172
19173 * util/misc.c: Include <time.h>.
19174 (grub_millisleep): New function.
19175
7e9ca17a 191762009-03-04 Bean <bean123ch@gmail.com>
19177
19178 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
19179 another option -mno-red-zone.
19180
19181 * commands/handler.c: Change module description.
19182
19183 * kern/handler.c: Add missing space at the end of description line.
19184
19185 * kern/list.c: Likewise.
19186
f501677c 191872009-03-03 Robert Millan <rmh@aybabtu.com>
19188
19189 Move more components to the relocation area, and fix mbi pointer
19190 handling to use the destination rather than the origin (thanks to
19191 Vladimir Serbinenko for spotting).
19192
19193 * loader/i386/multiboot.c (mbi_dest): New variable.
19194 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
19195 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
19196 relocation area.
19197
9902d047 191982009-03-01 Bean <bean123ch@gmail.com>
19199
50fb7002 19200 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 19201 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
19202 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
19203 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
19204
19205 * loader/i386/efi/linux.c (acpi_guid): New variable.
19206 (acpi_guid): Likewise.
19207 (EBDA_SEG_ADDR): New constant.
19208 (LOW_MEM_ADDR): Likewise.
19209 (FAKE_EBDA_SEG): Likewise.
19210 (fake_bios_data): New function.
19211 (grub_linux_boot): Call fake_bios_data.
19212
71b9f361 192132009-03-01 Bean <bean123ch@gmail.com>
19214
19215 * commands/terminal.c: Removed.
19216
19217 * commands/handler.c: New file.
19218
19219 * include/grub/list.h: Likewise.
19220
19221 * include/grub/handler.h: Likewise.
19222
19223 * kern/list.c: Likewise.
19224
19225 * kern/handler.c: Likewise.
19226
19227 * kern/term.h: Include header file <grub/handler.h>.
19228 (grub_term_input): Move next field to the beginning.
19229 (grub_term_output): Likewise.
19230 (grub_term_input_class): New variable.
19231 (grub_term_output_class): Likewise.
19232 (grub_term_register_input): Changed to inline function.
19233 (grub_term_register_output): Likewise.
19234 (grub_term_unregister_input): Likewise.
19235 (grub_term_unregister_output): Likewise.
19236 (grub_term_set_current_input): Likewise.
19237 (grub_term_set_current_output): Likewise.
19238 (grub_term_get_current_input): Likewise.
19239 (grub_term_get_current_output): Likewise.
19240 (grub_term_iterate_input): Removed.
19241 (grub_term_iterate_output): Likewise.
19242
19243 * kern/term.c (grub_term_list_input): Removed.
19244 (grub_term_list_output): Likewise.
19245 (grub_term_input_class): New variable.
19246 (grub_term_output_class): Likewise.
50fb7002 19247 (grub_cur_term_input): Change variable as macro.
71b9f361 19248 (grub_cur_term_output): Likewise.
19249 (grub_term_register_input): Removed.
19250 (grub_term_register_output): Likewise.
19251 (grub_term_unregister_input): Likewise.
19252 (grub_term_unregister_output): Likewise.
19253 (grub_term_set_current_input): Likewise.
19254 (grub_term_set_current_output): Likewise.
19255 (grub_term_iterate_input): Likewise.
19256 (grub_term_iterate_output): Likewise.
19257 (grub_term_get_current_input): Likewise.
19258 (grub_term_get_current_output): Likewise.
19259
19260 * util/grub-editenv.c: Include header file <grub/handler.h>.
19261 (grub_term_get_current_input): Removed.
19262 (grub_term_get_current_output): Likewise.
19263 (grub_term_input_class): New variable.
50fb7002 19264 (grub_term_output_class): Likewise.
71b9f361 19265
19266 * util/grub-fstest.c (grub_term_get_current_input): Removed.
19267 (grub_term_get_current_output): Likewise.
19268 (grub_term_input_class): New variable.
50fb7002 19269 (grub_term_output_class): Likewise.
71b9f361 19270
19271 * util/grub-probe.c (grub_term_get_current_input): Removed.
19272 (grub_term_get_current_output): Likewise.
19273 (grub_term_input_class): New variable.
50fb7002 19274 (grub_term_output_class): Likewise.
71b9f361 19275
19276 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
19277 (grub_term_get_current_output): Likewise.
19278 (grub_term_input_class): New variable.
50fb7002 19279 (grub_term_output_class): Likewise.
71b9f361 19280
19281 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
19282 (terminal_mod_SOURCES): Likewise.
19283 (terminal_mod_CFLAGS): Likewise.
19284 (terminal_mod_LDFLAGS): Likewise.
19285
19286 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
19287 handler.c.
19288 (kernel_img_SOURCES): Add list.c and handler.c.
19289 (kernel_img_HEADERS): Add list.h and handler.h.
19290
19291 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
19292 handler.c.
19293 (kernel_mod_SOURCES): Add list.c and handler.c.
19294 (kernel_mod_HEADERS): Add list.h and handler.h.
19295
19296 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
19297 handler.c.
19298 (kernel_elf_SOURCES): Add list.c and handler.c.
19299 (kernel_elf_HEADERS): Add list.h and handler.h.
19300
19301 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
19302 handler.c.
19303 (kernel_elf_SOURCES): Add list.c and handler.c.
19304 (kernel_elf_HEADERS): Add list.h and handler.h.
19305
19306 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
19307 handler.c.
19308 (kernel_mod_SOURCES): Add list.c and handler.c.
19309 (kernel_mod_HEADERS): Add list.h and handler.h.
19310
19311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
19312 handler.c.
19313 (kernel_elf_SOURCES): Add list.c and handler.c.
19314 (kernel_elf_HEADERS): Add list.h and handler.h.
19315
8a31787f 193162009-02-27 Robert Millan <rmh@aybabtu.com>
19317
19318 Factorize elf32 / elf64 code in Multiboot loader. This will
19319 prevent it from getting out of sync again.
19320
19321 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
19322 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
19323 grub_multiboot_load_elf64): Move from here ...
19324 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
19325 grub_multiboot_load_elf): ... to here (new file).
19326
51cd3dfc 193272009-02-27 Robert Millan <rmh@aybabtu.com>
19328
19329 * util/grub.d/10_linux.in: Rename "single-user mode" to
19330 "recovery mode".
19331
6e8c9c3a 193322009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
19333
19334 Don't leak in SCSI code.
19335 * disk/scsi.c (grub_scsi_close): free `scsi'.
19336
4b6bf4f9 193372009-02-27 Robert Millan <rmh@aybabtu.com>
19338
19339 * loader/i386/pc/multiboot.c: Move from here ...
19340 * loader/i386/multiboot.c: ... to here. Update all users.
19341
b9413424 193422009-02-27 Robert Millan <rmh@aybabtu.com>
19343
19344 Patch from Alexandre Bique <bique.alexandre@gmail.com>
19345 * util/i386/pc/grub-setup.c (setup): Fix directory path.
19346
50fb7002 193472009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 19348
19349 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
19350 b-tree.
19351
8cc50345 193522009-02-27 Robert Millan <rmh@aybabtu.com>
19353
19354 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
19355 `0x' qualifier as 0 when base is specified as parameter).
19356
6e09b8b7 193572009-02-24 Bean <bean123ch@gmail.com>
19358
19359 * configure.ac: Check for -mcmodel=large in x86_64 target.
19360
19361 * include/grub/efi/api.h (efi_call_10): New macro.
19362 (efi_wrap_10): New function.
19363
19364 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
19365 (GRUB_PE32_REL_BASED_HIGH): Likewise.
19366 (GRUB_PE32_REL_BASED_LOW): Likewise.
19367 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
19368 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
19369 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
19370 (GRUB_PE32_REL_BASED_SECTION): Likewise.
19371 (GRUB_PE32_REL_BASED_REL): Likewise.
19372 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
19373 (GRUB_PE32_REL_BASED_DIR64): Likewise.
19374 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
19375
19376 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
19377 issue.
19378
19379 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
19380 (efi_wrap_10): New function.
19381
19382 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
19383
19384 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
19385 MB/MBP model (NV chipset).
19386 (devdata_devs): Add devpath_5 to the list.
19387
19388 * load/i386/efi/linux.c (video_base): Remove variable.
19389 (RGB_MASK): New macro.
19390 (RGB_MAGIC): Likewise.
19391 (LINE_MIN): Likewise.
19392 (LINE_MAX): Likewise.
19393 (FBTEST_STEP): Likewise.
19394 (FBTEST_COUNT): Likewise.
19395 (fb_list): New variable.
19396 (grub_find_video_card): Remove function.
19397 (find_framebuf): New function.
19398 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
19399 line length.
19400
19401 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
19402 problem for x86_64.
19403
74b21bee 194042009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
19405
19406 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
19407
19408 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
19409 coding tool name.
19410
a455f472 194112009-02-22 Robert Millan <rmh@aybabtu.com>
19412
19413 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
19414 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
19415 in our relocation, instead of using it directly from heap. Also
19416 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
19417
6374daf3 194182009-02-21 Robert Millan <rmh@aybabtu.com>
19419
19420 Implement USB keyboard support (based on patch by Marco Gerards)
19421
19422 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
19423 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
19424 (usb_keyboard_mod_LDFLAGS): New variables.
19425
19426 * term/usb_keyboard.c: New file.
19427
8fa4ea70 194282009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19429
19430 Corrected wrong declaration
19431
19432 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
19433
353976ac 194342009-02-14 Christian Franke <franke@computer.org>
19435
19436 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
19437 (grub_lspci_iter): Print class code and programming interface byte.
19438
6aa1169b 194392009-02-14 Christian Franke <franke@computer.org>
19440
19441 * gendistlist.sh: Ignore `.svn' directories.
19442
265372ca 194432009-02-14 Felix Zielcke <fzielcke@z-51.de>
19444
19445 * fs/fat.c: Add 2009 to Copyright line.
19446
9ff516f3 194472009-02-14 Christian Franke <franke@computer.org>
19448
19449 * commands/hdparm.c: New file. Provides `hdparm' command
19450 which sends ATA commands via grub_disk_ata_pass_through ().
19451
19452 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
19453
19454 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
19455 and <grub/cpu/io.h> to include/grub/ata.h.
19456 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
19457 (GRUB_CDROM_SECTOR_SIZE): Remove.
19458 (GRUB_ATA_*): Move to include/grub/ata.h.
19459 (GRUB_ATAPI_*): Likewise.
19460 (enum grub_ata_commands): Likewise.
19461 (enum grub_ata_timeout_milliseconds): Likewise.
19462 (struct grub_ata_device): Likewise.
19463 (grub_ata_regset): Likewise.
19464 (grub_ata_regget): Likewise.
19465 (grub_ata_regset2): Likewise.
19466 (grub_ata_regget2): Likewise.
19467 (grub_ata_check_ready): Likewise.
19468 (grub_ata_wait_not_busy): Remove static, exported in
19469 include/grub/ata.h.
19470 (grub_ata_wait_drq): Likewise.
19471 (grub_ata_pio_read): Likewise.
19472
19473 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
19474 function for hdparm.mod.
19475
19476 * include/grub/ata.h: New file, contains declarations from
19477 disk/ata.c.
19478 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
19479
19480 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
19481 (grub_disk_ata_pass_through): New exported variable.
19482
19483 * kern/disk.c (grub_disk_ata_pass_through): New variable.
19484
772e23da 194852009-02-13 Colin D Bennett <colin@gibibit.com>
19486
19487 Support multiple fallback entries, and provide an API to support
19488 executing default+fallback menu entries. Renamed the `terminal' menu
19489 viewer to `text'.
19490
19491 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
19492 variable declaration.
19493 (grub_menu_execute_callback): New structure declaration.
19494 (grub_menu_execute_callback_t): New typedef.
19495 (grub_menu_execute_with_fallback): New function declaration.
19496 (grub_menu_get_entry): Likewise.
19497 (grub_menu_get_timeout): Likewise.
19498 (grub_menu_set_timeout): Likewise.
19499
19500 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
19501
19502 * normal/menu.c (grub_wait_after_message): Moved to
19503 `normal/menu_text.c'.
19504 (draw_border): Likewise.
19505 (print_message): Likewise.
19506 (print_entry): Likewise.
19507 (print_entries): Likewise.
19508 (grub_menu_init_page): Likewise.
19509 (get_entry_number): Likewise.
19510 (print_timeout): Likewise.
19511 (run_menu): Likewise.
19512 (grub_menu_execute_entry): Likewise.
19513 (show_text_menu): Likewise.
19514 (get_and_remove_first_entry_number): New function.
19515 (grub_menu_execute_with_fallback): Likewise.
19516 (get_entry): Renamed to ...
19517 (grub_menu_get_entry): .. this and made it global.
19518 (get_timeout): Renamed to ...
19519 (grub_menu_get_timeout): ... this and made it global.
19520 (set_timeout): Renamed to ...
19521 (grub_menu_set_timeout): ... this and made it global.
19522 (grub_normal_terminal_menu_viewer): Renamed to ...
19523 (grub_normal_text_menu_viewer): ... this.
19524
19525 * normal/menu_text.c: New file. Extracted text-menu-specific code
19526 from normal/menu.c.
19527
19528 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
19529 (normal_mod_SOURCES): Likewise.
19530
19531 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19532 (normal_mod_SOURCES): Likewise.
19533
19534 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19535 (normal_mod_SOURCES): Likewise.
19536
19537 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
19538 (normal_mod_SOURCES): Likewise.
19539
19540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19541 (normal_mod_SOURCES): Likewise.
19542
19543 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19544 (normal_mod_SOURCES): Likewise.
19545
19546 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19547 (normal_mod_SOURCES): Likewise.
19548
16ac430e 195492009-02-11 Robert Millan <rmh@aybabtu.com>
19550
19551 * util/grub.d/00_header.in: Update old reference to `font' command.
19552
06ff20fc 195532009-02-10 Felix Zielcke <fzielcke@z-51.de>
19554
19555 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
19556
19557 Based on patch from Javier Martín.
19558
96da9407 195592009-02-09 Felix Zielcke <fzielcke@z-51.de>
19560
19561 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 19562 to avoid false positives with FAT.
96da9407 19563 (grub_fstest_SOURCES): Likewise.
19564 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19565 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19567 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19568 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19569 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19570
6dca6fe4 195712009-02-09 Felix Zielcke <fzielcke@z-51.de>
19572
06ff20fc 19573 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 19574 bpb.version_specific.fat12_or_fat16.fstype and
19575 bpb.version_specific.fat32.fstype.
19576
2550c62f 195772009-02-08 Robert Millan <rmh@aybabtu.com>
19578
be110b30 19579 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 19580
56978920 195812009-02-08 Robert Millan <rmh@aybabtu.com>
19582
19583 * Makefile.in (host_os, host_cpu): New variables.
19584 (target_os): Remove. Update all users.
19585
d64399b5 195862009-02-08 Marco Gerards <marco@gnu.org>
19587
19588 * Makefile.in (enable_grub_emu_usb): New variable.
19589 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
19590 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
19591 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
19592 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
19593 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
19594 `usbtest.mod' and `usbms.mod'.
19595 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
19596 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
19597 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
19598 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
19599 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
19600 variables.
19601
19602 * disk/usbms.c: New file.
19603
19604 * include/grub/usb.h: Likewise.
19605
19606 * include/grub/usbtrans.h: Likewise.
19607
19608 * include/grub/usbdesc.h: Likewise.
19609
19610 * bus/usb/usbtrans.c: Likewise.
19611
19612 * bus/usb/ohci.c: Likewise.
19613
19614 * bus/usb/uhci.c: Likewise.
19615
19616 * bus/usb/usbhub.c: Likewise.
19617
19618 * bus/usb/usb.c: Likewise.
19619
19620 * commands/usbtest.c: Likewise.
19621
19622 * util/usb.c: Likewise.
50fb7002 19623
d64399b5 19624 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
19625
19626 * configure.ac: Test for libusb presence.
50fb7002 19627
d64399b5 19628 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
19629
2b40d6bb 196302009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
19631
19632 * kern/mm.c: Add more comments.
19633
73a4ce81 196342009-02-08 Robert Millan <rmh@aybabtu.com>
19635
19636 Patch from Javier Martín.
19637 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
19638 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
19639
f821ce59 196402009-02-08 Robert Millan <rmh@aybabtu.com>
19641
19642 * fs/cpio.c: Split tar functionality to ...
19643 * fs/tar.c: ... here (new file). Update all users.
19644
aebfc4b0 196452009-02-07 Robert Millan <rmh@aybabtu.com>
19646
19647 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
19648 backward-incompatible features.
19649
19650 Based on patch from Javier Martín, with some adjustments.
19651
50fb7002 196522009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 19653
19654 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
19655
0bb5115e 196562009-02-07 Robert Millan <rmh@aybabtu.com>
19657
19658 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
19659 position of `disk/lvm.c' to ensure grub_init_all() always picks it
19660 after the RAID stuff.
19661
38a0f8e7 196622009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
19663
50fb7002 19664 Fixes problem when running vbetest command as reported by
38a0f8e7 19665 Vladimir Serbinenko <phcoder@gmail.com>.
19666
19667 * (grub_vbe_set_video_mode): Fixed problem with text modes.
19668
3143cc1c 196692009-02-04 Felix Zielcke <fzielcke@z-51.de>
19670
19671 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
19672 /dev/md/NpN style mdraid devices.
19673
9cba6fce 196742009-02-03 Felix Zielcke <fzielcke@z-51.de>
19675
19676 * util/unifont2pff.rb: Remove.
19677
e507a2c1 196782009-02-03 Felix Zielcke <fzielcke@z-51.de>
19679
19680 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
19681 `#'.
19682
d2c2b4cd 196832009-02-03 Felix Zielcke <fzielcke@z-51.de>
19684
19685 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
19686 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19687 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19688 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19690 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19691 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19692
b4315fb0 196932009-02-02 Christian Franke <franke@computer.org>
19694
19695 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
19696
de3aa260 196972009-02-01 Felix Zielcke <fzielcke@z-51.de>
19698
7c3ff286 19699 * INSTALL: Note that we now require at least autoconf 2.59 and
19700 that LZO is optional.
de3aa260 19701
825a182b 197022009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
19703
19704 Base on patch on bug #24154 created by Tomas Tintera
19705 <trosos@seznam.cz>.
19706
19707 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
19708
a69ef770 197092009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
19710
7c3ff286 19711 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 19712 <bero@arklinux.org>.
19713
19714 * normal/parser.y (script_init): Add missing semicolon.
19715
6fa42fa6 197162009-01-31 Colin D Bennett <colin@gibibit.com>
19717
7c3ff286 19718 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 19719 (free_menu_entry_classes): Added.
19720 (grub_normal_menu_addentry): Added class property handling.
19721 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
19722 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
19723
19724 * normal/menu_viewer.c: New file.
19725
19726 * normal/menu.c (run_menu_entry): Renamed to ...
19727 (grub_menu_execute_entry): ... this and made it as global.
19728 (grub_menu_run): Renamed to ...
19729 (show_text_menu): ... this and made it local.
19730 (show_text_menu): Adapt to new function names.
19731 (grub_normal_terminal_menu_viewer): New global variable.
19732
19733 * include/grub/menu.h: New file.
19734
19735 * include/grub/menu_viewer.h: New file.
19736
19737 * include/grub/normal.h: Added include to grub/menu.h.
19738 (grub_menu_entry): Moved to include/grub/menu.h.
19739 (grub_menu_entry_t): Likewise.
19740 (grub_menu): Likewise.
19741 (grub_menu_t): Likewise.
19742 (grub_normal_terminal_menu_viewer): Added.
19743 (grub_menu_execute_entry): Likewise.
19744 (grub_menu_run): Removed.
19745
19746 * DISTLIST: Added include/grub/menu.h.
19747 Added include/grub/menu_viewer.h.
19748 Added normal/menu_viewer.c.
19749
197502009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
19751
19752 * normal/execute.c (grub_script_execute_menuentry): Changed to use
19753 arglist for menutitle arguments.
19754
19755 * normal/main.c (grub_normal_menu_addentry): Likewise.
19756
19757 * normal/parser.y (menuentry): Likewise.
19758
19759 * normal/script.c (grub_script_create_cmdmenu): Likewise.
19760
19761 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
19762 (grub_script_create_cmdmenu): Likewise.
19763
19764 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
19765
19766 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
19767 changes.
19768
19769 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
19770
19771 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
19772
19773 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
19774
19775 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19776
19777 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19778
19779 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19780
56192c23 197812009-01-30 Christian Franke <franke@computer.org>
19782
19783 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
19784 in option help text.
19785
d72521b3 197862009-01-27 Pavel Roskin <proski@gnu.org>
19787
19788 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
19789
994b5e84 197902009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
19791
19792 * commands/lsmmap.c: Add include to grub/machine/memory.h.
19793
19794 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
19795
19796 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
19797 unregister function.
19798
6a7eab2c 197992009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
19800
19801 * disk/scsi.c (grub_scsi_read): Fix sign problem.
19802
19803 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
19804
19805 * util/grub-mkfont.c (usage): Fix typo.
19806
19807 * util/elf/grub-mkimage.c (load_modules): Fix warning.
19808
1806b56e 198092009-01-26 Daniel Mierswa <impulze@impulze.org>
19810
3fb18f09 19811 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
19812
336e1fb9 19813 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
19814
1806b56e 19815 * kern/misc.c (grub_strcasecmp): New function.
19816 (grub_strcasecmp): Use grub_size_t instead of int for length.
19817 Fix return value.
19818 * include/grub/misc.h: Update function prototypes.
19819
580b2a0f 198202009-01-26 Robert Millan <rmh@aybabtu.com>
19821
19822 * configure.ac: Fix cross-compilation check.
ef257b36 19823
d31c24f1 198242009-01-22 Christian Franke <franke@computer.org>
19825
19826 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
19827 (precision) digit string. Allow `.format2' without `format1' (width).
19828 Limit input chars for `%s' output to `format2' if specified. This is
19829 compatible with standard printf ().
19830
3138b44c 198312009-01-22 Christian Franke <franke@computer.org>
19832
19833 * disk/ata.c (grub_ata_wait_status): Replace by ...
19834 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
19835 other status bits may be invalid while BSY is asserted.
19836 (grub_ata_check_ready): New function.
19837 (grub_ata_cmd): Removed.
19838 (grub_ata_wait_drq): New function.
19839 (grub_ata_strncpy): Remove inline.
19840 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
19841 and error check now done by grub_ata_wait_drq ().
19842 (grub_ata_pio_write): Likewise.
19843 (grub_atapi_identify): Set DEV before check for !BSY. Use
19844 grub_ata_wait_drq () to wait for data.
19845 (grub_ata_device_initialize): Add status register check to
19846 detect missing SATA slave devices. Add debug messages.
19847 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
19848 (grub_atapi_packet): Set DEV before check for !BSY. Replace
19849 transfer loop by grub_ata_pio_write ().
19850 (grub_ata_identify): Set DEV before check for !BSY. Use
19851 grub_ata_wait_drq () to wait for data.
ef257b36 19852 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 19853 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
19854 read/write in one loop. Fix invalid command on write. Fix incomplete
19855 command on (size % batch) == 0. Add missing error check after write of
19856 last block. Add debug messages.
19857 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
19858
59a64ef6 198592009-01-19 Christian Franke <franke@computer.org>
19860
19861 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
19862 (GRUB_ATAPI_IREASON_*): Likewise.
19863 (grub_ata_pio_write): Fix timeout error return.
19864 (grub_atapi_identify): Add grub_ata_wait () after cmd.
19865 (grub_atapi_wait_drq): New function.
19866 (grub_atapi_packet): New parameter `size'.
19867 Use grub_atapi_wait_drq () and direct write instead of
19868 grub_ata_pio_write ().
19869 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
19870 reads the number of bytes requested by the device for each DRQ
19871 assertion.
19872 (grub_atapi_write): Remove old implementation, return not
19873 implemented instead.
19874
1cfe20b3 198752009-01-19 Christian Franke <franke@computer.org>
19876
19877 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
19878 of 512 to calculate data size.
19879 (grub_scsi_read12): Likewise.
19880 (grub_scsi_write10): Likewise.
19881 (grub_scsi_write12): Likewise.
19882 (grub_scsi_read): Adjust size according to blocksize.
19883 Add checks for invalid blocksize and unaligned transfer.
19884
bee5fe5d 198852009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
19886
19887 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
19888
ef257b36 19889 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 19890 width glyphs.
19891
3e643f8c 198922009-01-19 Robert Millan <rmh@aybabtu.com>
19893
19894 * config.guess: Update to latest version from config git.
19895 * config.sub: Likewise.
19896
4fa80998 198972009-01-17 Felix Zielcke <fzielcke@z-51.de>
19898
19899 * Makefile.in: Change font compilation to use new grub-mkfont instead
19900 of java version.
19901
19902 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
19903 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
19904 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19905 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19906 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
19907 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
19908 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
19909 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
19910 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19911
7086085b 199122009-01-16 Christian Franke <franke@computer.org>
19913
19914 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
19915 (enum grub_ata_timeout_milliseconds): New enum.
19916 (grub_ata_wait_status): Add parameter milliseconds.
19917 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
19918 recovery from timed-out commands.
19919 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
19920 return grub_errno instead of REG_ERROR.
19921 (grub_ata_pio_write): Add parameter milliseconds.
19922 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
19923 Pass milliseconds to grub_ata_wait_status () and
19924 grub_ata_pio_read ().
19925 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
19926 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
19927 grub_ata_wait_status (). Fix IDENTIFY timeout check.
19928 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
19929 It is not suitable for device detection, because DEV bit is ignored,
19930 the command may run too long, and not all devices set the signature
19931 properly.
19932 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
19933 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
19934 Fix device selection, DEV bit must be set first to address the registers
19935 of the correct device.
19936 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
19937 grub_ata_pio_read/write ().
19938 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
19939 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
19940
4a412913 199412009-01-13 Carles Pina i Estany <carles@pina.cat>
19942
19943 * util/grub-editenv.c (main): Use fseeko(), not fseek().
19944
7795c55e 199452009-01-13 Bean <bean123ch@gmail.com>
d913988c 19946
19947 * util/grub-mkfont.c (write_font): forget to remove some debug code.
19948
7795c55e 199492009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 19950
19951 * Makefile.in: (enable_grub_mkfont): New variable.
19952 (freetype_cflags): Likewise.
19953 (freetype_libs): Likewise.
19954
19955 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
19956 (grub_mkfont_SOURCES): New variable.
19957 (grub_mkfont_CFLAGS): Likewise.
19958 (grub_mkfont_LDFLAGS): Likewise.
19959
19960 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
19961 library if `--enable-grub-mkfont' is requested.
19962 (enable_grub_mkfont): New variable.
19963 (freetype_cflags): Likewise.
19964 (freetype_libs): Likewise.
19965
19966 * util/grub-mkfont.c: New file.
19967
093af1fe 199682009-01-12 Christian Franke <franke@computer.org>
19969
19970 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
19971 mode check. Fix setting of compat_use[].
19972
f36cc108 199732009-01-10 Robert Millan <rmh@aybabtu.com>
19974
19975 Update a few copyright years which we forgot to do in 2008 (only for
19976 files whose changes made in 2008 were copyright-significant)
19977
19978 * Makefile.in: Add 2008 to Copyright line.
19979 * disk/ieee1275/ofdisk.c: Likewise.
19980 * disk/efi/efidisk.c: Likewise.
19981 * kern/dl.c: Likewise.
19982 * kern/sparc64/ieee1275/init.c: Likewise.
19983 * kern/mm.c: Likewise.
19984 * kern/efi/mm.c: Likewise.
19985 * boot/i386/pc/boot.S: Likewise.
19986 * genfslist.sh: Likewise.
19987 * fs/iso9660.c: Likewise.
19988 * fs/hfs.c: Likewise.
19989 * fs/jfs.c: Likewise.
19990 * fs/minix.c: Likewise.
19991 * fs/ufs.c: Likewise.
19992 * gensymlist.sh.in: Likewise.
19993 * genkernsyms.sh.in: Likewise.
19994 * include/grub/misc.h: Likewise.
19995 * include/grub/types.h: Likewise.
19996 * include/grub/symbol.h: Likewise.
19997 * include/grub/elf.h: Likewise.
19998 * include/grub/kernel.h: Likewise.
19999 * include/grub/disk.h: Likewise.
20000 * include/grub/dl.h: Likewise.
20001 * include/grub/i386/linux.h: Likewise.
20002 * include/grub/i386/pc/biosdisk.h: Likewise.
20003 * include/grub/efi/api.h: Likewise.
20004 * include/grub/efi/pe32.h: Likewise.
20005 * include/grub/util/misc.h: Likewise.
20006 * normal/execute.c: Likewise.
20007 * normal/arg.c: Likewise.
20008 * normal/completion.c: Likewise.
20009 * normal/lexer.c: Likewise.
20010 * normal/parser.y: Likewise.
20011 * normal/misc.c: Likewise.
20012 * commands/i386/pc/vbeinfo.c: Likewise.
20013 * commands/hexdump.c: Likewise.
20014 * commands/terminal.c: Likewise.
20015 * commands/ls.c: Likewise.
20016 * commands/help.c: Likewise.
20017 * partmap/pc.c: Likewise.
20018 * loader/efi/chainloader.c: Likewise.
20019 * loader/multiboot_loader.c: Likewise.
20020 * loader/i386/pc/multiboot2.c: Likewise.
20021 * term/efi/console.c: Likewise.
20022 * term/i386/pc/serial.c: Likewise.
20023 * util/lvm.c: Likewise.
20024 * util/console.c: Likewise.
20025 * util/i386/efi/grub-mkimage.c: Likewise.
20026 * util/raid.c: Likewise.
20027
7f02114b 200282009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
20029
20030 * commands/videotest.c: Removed include to grub/machine/memory.h.
20031
20032 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
20033 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
20034 (video_mod_SOURCES): Removed.
20035 (video_mod_CFLAGS): Likewise.
20036 (video_mod_LDFLAGS): Likewise.
20037 (gfxterm_mod_SOURCES): Likewise.
20038 (gfxterm_mod_CFLAGS): Likewise.
20039 (gfxterm_mod_LDFLAGS): Likewise.
20040 (videotest_mod_SOURCES): Likewise.
20041 (videotest_mod_CFLAGS): Likewise.
20042 (videotest_mod_LDFLAGS): Likewise.
20043 (bitmap_mod_SOURCES): Likewise.
20044 (bitmap_mod_CFLAGS): Likewise.
20045 (bitmap_mod_LDFLAGS): Likewise.
20046 (tga_mod_SOURCES): Likewise.
20047 (tga_mod_CFLAGS): Likewise.
20048 (tga_mod_LDFLAGS): Likewise.
20049 (jpeg_mod_SOURCES): Likewise.
20050 (jpeg_mod_CFLAGS): Likewise.
20051 (jpeg_mod_LDFLAGS): Likewise.
20052 (png_mod_SOURCES): Likewise.
20053 (png_mod_CFLAGS): Likewise.
20054 (png_mod_LDFLAGS): Likewise.
20055
20056 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
20057 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
20058 (video_mod_SOURCES): Added.
20059 (video_mod_CFLAGS): Likewise.
20060 (video_mod_LDFLAGS): Likewise.
20061 (videotest_mod_SOURCES): Likewise.
20062 (videotest_mod_CFLAGS): Likewise.
20063 (videotest_mod_LDFLAGS): Likewise.
20064 (bitmap_mod_SOURCES): Likewise.
20065 (bitmap_mod_CFLAGS): Likewise.
20066 (bitmap_mod_LDFLAGS): Likewise.
20067 (tga_mod_SOURCES): Likewise.
20068 (tga_mod_CFLAGS): Likewise.
20069 (tga_mod_LDFLAGS): Likewise.
20070 (jpeg_mod_SOURCES): Likewise.
20071 (jpeg_mod_CFLAGS): Likewise.
20072 (jpeg_mod_LDFLAGS): Likewise.
20073 (png_mod_SOURCES): Likewise.
20074 (png_mod_CFLAGS): Likewise.
20075 (png_mod_LDFLAGS): Likewise.
20076 (gfxterm_mod_SOURCES): Likewise.
20077 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 20078 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 20079
20080 * term/gfxterm.c: Removed include to grub/machine/memory.h,
20081 grub/machine/console.h.
20082
644fff97 200832009-01-04 Jerone Young <jerone@gmail.com>
20084
20085 Make on screen instructions clearer
20086
20087 Based on patch created by Jidanni <jidanni@jidanni.org>
20088
20089 * normal/menu.c: print clearer instructions on the screen
20090
1e901a75 200912009-01-02 Colin D Bennett <colin@gibibit.com>
20092
20093 New font engine.
34c44600 20094
1e901a75 20095 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
20096 build system and fixed gfxterm.c to work with different sized fonts.
20097
20098 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 20099
1e901a75 20100 * configure: Re-generated.
34c44600 20101
1e901a75 20102 * DISTLIST: Removed font/manager.c.
20103 Added font/font.c.
20104 Added font/font_cmd.c.
34c44600 20105
1e901a75 20106 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
20107 compilation.
34c44600 20108
1e901a75 20109 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 20110
20111 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 20112
20113 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 20114
1e901a75 20115 * normal/menu.c: Likewise.
34c44600 20116
1e901a75 20117 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
20118 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 20119
1e901a75 20120 * include/grub/font.h: Replaced with new file.
34c44600 20121
1e901a75 20122 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
20123 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
20124 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
20125 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
20126 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 20127 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 20128 fg_red, fg_green, fg_blue, fg_alpha.
20129 (grub_video_adapter): Removed blit_glyph.
34c44600 20130 (grub_video_blit_glyph): Removed.
20131
1e901a75 20132 * font/manager.c: Removed file.
34c44600 20133
20134 * font/font.c: New file.
20135
1e901a75 20136 * font/font_cmd.c: Likewise.
34c44600 20137
1e901a75 20138 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 20139
1e901a75 20140 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
20141 (grub_video_vbe_map_rgba): Likewise.
20142 (grub_video_vbe_unmap_color_int): Likewise.
20143 (grub_video_vbe_blit_glyph): Removed.
20144 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 20145
1e901a75 20146 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
20147 (get_pixel): Likewise.
34c44600 20148 (set_pixel): Likewise.
20149
1e901a75 20150 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 20151
1e901a75 20152 * term/gfxterm.c: Adapted to new font engine.
34c44600 20153
1e901a75 20154 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 20155
1e901a75 20156 * term/i386/pc/vga.c: Likewise.
34c44600 20157
1e901a75 20158 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 20159
1e901a75 20160 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 20161
1e901a75 20162 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 20163
1e901a75 20164 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 20165
1e901a75 20166 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 20167
1e901a75 20168 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 20169
1e901a75 20170 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 20171
1e901a75 20172 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 20173
1e901a75 20174 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
20175
20176 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 20177
1e901a75 20178 * util/grub-mkconfig_lib.in: Changed font extension.
20179
278922e8 201802008-12-28 Felix Zielcke <fzielcke@z-51.de>
20181
20182 * util/getroot.c (grub_util_get_grub_dev): Add support for
20183 /dev/md/dNNpNN style partitionable mdraid devices.
20184
3ced05cf 201852008-12-12 Alex Smith <alex@alex-smith.me.uk>
20186
20187 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
20188 at a time limit of the PXE TFTP API correctly.
20189 (grub_pxefs_close): Likewise.
20190
7fd0ee30 201912008-11-29 Robert Millan <rmh@aybabtu.com>
20192
34c44600 20193 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 20194 grub_ata_device_initialize() calls.
20195
34c44600 201962008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 20197
20198 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
20199 iteration failed.
20200 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
20201
89313780 202022008-11-28 Robert Millan <rmh@aybabtu.com>
20203
20204 Fix build on powerpc-ieee1275. Based on patch created by
20205 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
20206 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20207 `kern/ieee1275/mmap.c'.
20208 * include/grub/powerpc/ieee1275/memory.h: New file.
20209
15257703 20210 Provide grub-install on coreboot.
20211 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
20212 (grub_install_SOURCES): New variable.
20213 * util/i386/pc/grub-install.in: Add a few condition checks to make it
20214 usable on coreboot.
20215
9fc5388a 202162008-11-25 Felix Zielcke <fzielcke@z-51.de>
20217
20218 * util/grub-fstest.c (grub_term_get_current_input): Change return type
20219 to `grub_term_input_t'.
20220 (grub_term_get_current_output): Change return type to
20221 `grub_term_output_t'.
20222
bc3a2f31 202232008-11-22 Robert Millan <rmh@aybabtu.com>
20224
34c44600 20225 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 20226 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
20227 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
20228 grub_vga_text_cls().
20229
80fc88f2 20230 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 20231 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 20232
cbf36fd3 20233 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
20234 to 0x200000 (avoids trouble with some OFW implementations, and matches
20235 with the one in Yaboot).
20236 Reported by Manoel Abranches
20237
73e8e268 202382008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 20239
20240 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
20241 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
20242
73e8e268 20243 * util/grub-mkconfig_lib.in (grub_warn): New function.
20244 (convert_system_path_to_grub_path): Use grub_warn() when issuing
20245 warnings, to obtain consistent formatting.
20246 * util/grub.d/00_header.in: Likewise.
20247 * util/update-grub_lib.in: Likewise.
20248
e94045a1 20249 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 20250 Move comment text to `#error' stanza.
e94045a1 20251
79d29fd7 20252 Harmonize ieee1275's grub_available_iterate() with the generic
20253 grub_machine_mmap_iterate() interface (fixes a recently-introduced
20254 build problem on i386-ieee1275):
20255 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
20256 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
20257 parameter `type'. Update all users of this function.
20258 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
20259 `kern/ieee1275/mmap.c'.
20260 * kern/ieee1275/init.c
20261 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
20262 with ...
20263 (grub_machine_mmap_iterate): ... this.
20264 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
20265 return type to `grub_err_t'. Update all implementations of this
20266 function prototype.
20267 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
20268 Likewise.
20269
60d6b16e 20270 Add `lsmmap' command (lists firmware-provided memory map):
20271 * commands/lsmmap.c: New file.
20272 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
20273 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
20274 variables.
20275 * conf/powerpc-ieee1275.rmk: Likewise.
20276 * conf/i386-coreboot.rmk: Likewise.
20277 * conf/i386-ieee1275.rmk: Likewise.
20278
ebaaf49b 202792008-11-19 Robert Millan <rmh@aybabtu.com>
20280
20281 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 20282 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
20283 constraints to initrd allocation (based on code from
20284 loader/i386/pc/linux.c). Without them, initrd was allocated too high
20285 for Linux to find it.
ebaaf49b 20286
dfab719f 202872008-11-14 Robert Millan <rmh@aybabtu.com>
20288
20289 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
20290 order to cope with duplicate slashes.
20291
10fc3eb9 202922008-11-14 Robert Millan <rmh@aybabtu.com>
20293
20294 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
20295 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
20296 don't want to mess with lower memory, because it is used in the Linux
20297 loader.
20298
20299 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 20300 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 20301 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
20302 is in our heap (probably as a result of it being corrupted during
2f2a3442 20303 decompression). Add #error instance with comment to explain why this
20304 loader isn't currently usable on PC/BIOS.
10fc3eb9 20305
e2e07847 203062008-11-14 Robert Millan <rmh@aybabtu.com>
20307
20308 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 20309 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 20310
fe8e8d69 203112008-11-12 Robert Millan <rmh@aybabtu.com>
20312
20313 Make loader/i386/linux.c buildable on i386-pc (although disabled).
20314
20315 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
20316 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
20317 from here ...
20318 * include/grub/i386/pc/memory.h: ... to here.
20319
976b07d0 203202008-11-12 Robert Millan <rmh@aybabtu.com>
20321
20322 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
20323 split).
20324
20325 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
20326 (grub_console_cur_color, grub_console_real_putchar)
20327 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
20328 (grub_console_setcolorstate, grub_console_setcolor)
20329 (grub_console_getcolor): Move from here ...
20330 * include/grub/i386/vga_common.h: ... to here (new file).
20331
20332 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
20333 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
20334 `<grub/i386/io.h>'.
20335 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
20336 `<grub/i386/vga_common.h>'.
20337
76679cd3 203382008-11-12 Robert Millan <rmh@aybabtu.com>
20339
20340 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
20341 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
20342 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
20343 variables.
20344 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
20345 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
20346
20347 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
20348 grub_console_init() with call to grub_vga_text_init().
20349 (grub_machine_fini): Replace call to
20350 grub_console_fini() with call to grub_vga_text_fini() and
20351 grub_at_keyboard_fini().
20352
20353 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
20354 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
20355 (grub_console_setcolorstate, grub_console_setcolor)
20356 (grub_console_getcolor): New function prototypes.
20357
20358 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
20359 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
20360 (grub_vga_text_setcursor): Static-ize.
20361 (grub_vga_text_term): New structure.
20362 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
20363
20364 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
20365 (grub_console_cur_color, grub_console_standard_color)
20366 (grub_console_normal_color, grub_console_highlight_color)
20367 (map_char, grub_console_putchar, grub_console_getcharwidth)
20368 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
20369 (grub_console_getcolor): Move from here ...
20370 * term/i386/vga_common.c: ... to here (same function names).
20371
95b841d3 203722008-11-12 Robert Millan <rmh@aybabtu.com>
20373
20374 Use newly-added Multiboot support in coreboot.
20375
20376 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
20377 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
20378
20379 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
20380 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
20381 (codestart): Store the MBI in `startup_multiboot_info' when we're
20382 being loaded using Multiboot.
20383
20384 * kern/i386/coreboot/init.c (grub_machine_init): Move
20385 grub_at_keyboard_init() call to beginning of function (useful for
20386 debugging). Call grub_machine_mmap_init() before attempting to use
20387 grub_machine_mmap_iterate().
20388 (grub_lower_mem, grub_upper_mem): Move from here ...
20389 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
20390 here (new file).
20391
20392 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
20393 function prototype.
20394
761ca975 203952008-11-12 Robert Millan <rmh@aybabtu.com>
20396
20397 Fix a regression introduced by the at_keyboard.mod split. Because
20398 some terminals are default on some platforms and non-default on
20399 others, the first terminal being registered determines which is
20400 going to be default.
20401
20402 * kern/term.c (grub_term_register_input): If this is the first
20403 terminal being registered, set it as the current one.
20404 (grub_term_register_output): Likewise.
20405
20406 * term/efi/console.c (grub_console_init): Do not call
20407 grub_term_set_current_output() or grub_term_set_current_input().
20408 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
20409 * term/i386/pc/console.c (grub_console_init): Likewise.
20410 (grub_console_fini): Do not call grub_term_set_current_input()
20411 (but leave grub_term_set_current_output() to restore text mode).
20412
6c529df7 204132008-11-10 Robert Millan <rmh@aybabtu.com>
20414
20415 * util/grub.d/00_header.in: Add backward compatibility check for
20416 versions of terminal.mod that don't understand `terminal_input' or
20417 `terminal_output'.
20418
132e4113 204192008-11-09 Robert Millan <rmh@aybabtu.com>
20420
20421 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
20422 `terminal_input' / `terminal_output', not `terminal'.
20423
ac293d50 204242008-11-08 Robert Millan <rmh@aybabtu.com>
20425
20426 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 20427 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 20428
0025933a 204292008-11-08 Robert Millan <rmh@aybabtu.com>
20430
20431 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 20432 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 20433 members. Update all users.
20434 * util/console.c (grub_ncurses_term): Split in ...
20435 (grub_ncurses_term_input): ... this, and ...
20436 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 20437 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 20438
37c86336 204392008-11-08 Robert Millan <rmh@aybabtu.com>
20440
20441 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
20442 (PKGDATA): Add $(pkgdata_SRCDIR).
20443 (pkglib_BUILDDIR): New variable.
20444 (pkgdata_SRCDIR): New variable.
20445 (build_env.mk): New target.
20446 (include_DATA): New variable.
20447 (install-local): Install $(include_DATA) files in $(includedir).
20448
b6c15a2d 204492008-11-07 Pavel Roskin <proski@gnu.org>
20450
d99d46f1 20451 * gendistlist.sh: Use C locale for sorting to ensure consistent
20452 output on all systems.
20453
b6c15a2d 20454 * util/grub.d/00_header.in: Remove incorrect space before
20455 "serial".
20456
c32ee8c9 204572008-11-07 Robert Millan <rmh@aybabtu.com>
20458
20459 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
20460 per specification.
20461 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
20462 * loader/multiboot_loader.c (find_multi_boot2_header): New function
20463 (based on find_multi_boot1_header).
20464 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
20465 using find_multi_boot2_header(), and abort if neither Multiboot or
20466 Multiboot headers were found.
20467
651c29b7 204682008-11-07 Robert Millan <rmh@aybabtu.com>
20469
20470 Modularize at_keyboard.mod:
20471
20472 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
20473 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20474 (at_keyboard_mod_LDFLAGS): New variables.
20475
20476 Actual terminal split:
20477
20478 * include/grub/term.h (struct grub_term): Split in ...
20479 (struct grub_term_input): ... this, and ...
20480 (struct grub_term_output): ... this. Update all users.
20481 (grub_term_set_current): Split in ...
20482 (grub_term_set_current_input): ... this, and ...
20483 (grub_term_set_current_output): ... this.
20484 (grub_term_get_current): Split in ...
20485 (grub_term_get_current_input): ... this, and ...
20486 (grub_term_get_current_output): ... this.
20487 (grub_term_register): Split in ...
20488 (grub_term_register_input): ... this, and ...
20489 (grub_term_register_output): ... this.
20490 (grub_term_unregister): Split in ...
20491 (grub_term_unregister_input): ... this, and ...
20492 (grub_term_unregister_output): ... this.
20493 (grub_term_iterate): Split in ...
20494 (grub_term_iterate_input): ... this, and ...
20495 (grub_term_iterate_output): ... this.
20496
20497 * kern/term.c (grub_term_list): Split in ...
20498 (grub_term_list_input): ... this, and ...
20499 (grub_term_list_output): ... this. Update all users.
20500 (grub_cur_term): Split in ...
20501 (grub_cur_term_input): ... this, and ...
20502 (grub_cur_term_output): ... this. Update all users.
20503 (grub_term_set_current): Split in ...
20504 (grub_term_set_current_input): ... this, and ...
20505 (grub_term_set_current_output): ... this.
20506 (grub_term_get_current): Split in ...
20507 (grub_term_get_current_input): ... this, and ...
20508 (grub_term_get_current_output): ... this.
20509 (grub_term_register): Split in ...
20510 (grub_term_register_input): ... this, and ...
20511 (grub_term_register_output): ... this.
20512 (grub_term_unregister): Split in ...
20513 (grub_term_unregister_input): ... this, and ...
20514 (grub_term_unregister_output): ... this.
20515 (grub_term_iterate): Split in ...
20516 (grub_term_iterate_input): ... this, and ...
20517 (grub_term_iterate_output): ... this.
20518
20519 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
20520 a check for input and one for output (and only attempt to get keys
20521 from user when input works).
20522
20523 * util/grub-probe.c (grub_term_get_current): Split in ...
20524 (grub_term_get_current_input): ... this, and ...
20525 (grub_term_get_current_output): ... this.
20526 * util/grub-fstest.c: Likewise.
20527 * util/i386/pc/grub-setup.c: Likewise.
20528 * util/grub-editenv.c: Likewise.
20529
20530 Portability adjustments:
20531
20532 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
20533 `term/i386/pc/at_keyboard.c'.
20534 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
20535 grub_keyboard_controller_init() (now handled by terminal .init).
20536 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
20537 grub_at_keyboard_init().
20538 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
20539 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
20540 at_keyboard.mod via input terminal interface).
20541 * include/grub/i386/coreboot/console.h: Convert into a stub for
20542 `<grub/i386/pc/console.h>'.
20543
20544 Migrate full terminals to new API:
20545
20546 * term/efi/console.c (grub_console_term): Split into ...
20547 (grub_console_term_input): ... this, and ...
20548 (grub_console_term_output): ... this. Update all users.
20549 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
20550 (grub_ofconsole_init): Split into ...
20551 (grub_ofconsole_init_input): ... this, and ...
20552 (grub_ofconsole_init_output): ... this.
20553 (grub_ofconsole_term): Split into ...
20554 (grub_ofconsole_term_input): ... this, and ...
20555 (grub_ofconsole_term_output): ... this. Update all users.
20556 * term/i386/pc/serial.c (grub_serial_term): Split into ...
20557 (grub_serial_term_input): ... this, and ...
20558 (grub_serial_term_output): ... this. Update all users.
20559 * term/i386/pc/console.c (grub_console_term): Split into ...
20560 (grub_console_term_input): ... this, and ...
20561 (grub_console_term_output): ... this. Update all users.
20562 (grub_console_term_input): Only enable it on PC/BIOS platform.
20563 (grub_console_init): Remove grub_keyboard_controller_init() call.
20564
20565 Migrate input terminals to new API:
20566
20567 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
20568 `i386' and `i386/pc' to enable build on x86_64 (this driver is
20569 i386-specific anyway).
20570 (grub_console_checkkey): Rename to ...
20571 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
20572 users.
20573 (grub_keyboard_controller_orig): New variable.
20574 (grub_console_getkey): Rename to ...
20575 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
20576 users.
20577 (grub_keyboard_controller_init): Static-ize. Save original
20578 controller value so that it can be restored ...
20579 (grub_keyboard_controller_fini): ... here (new function).
20580 (grub_at_keyboard_term): New structure.
20581 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
20582 functions.
20583
20584 Migrate output terminals to new API:
20585
20586 * term/i386/pc/vga.c (grub_vga_term): Change type to
20587 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20588 members. Update all users.
20589 * term/gfxterm.c (grub_video_term): Change type to
20590 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20591 members. Update all users.
20592 * include/grub/i386/pc/console.h (grub_console_checkkey)
20593 (grub_console_getkey): Do not export (no longer needed by gfxterm,
20594 etc).
20595
20596 Migrate `terminal' command and userland tools to new API:
20597
20598 * commands/terminal.c (grub_cmd_terminal): Split into ...
20599 (grub_cmd_terminal_input): ... this, and ...
20600 (grub_cmd_terminal_output): ... this.
20601 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
20602 `terminal_input' and `terminal_output'.
20603 * util/grub.d/00_header.in: Adjust `terminal' calls to new
20604 `terminal_input' / `terminal_output' API.
20605 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
20606 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
20607 provided ${GRUB_TERMINAL}, convert it).
20608
96e5d876 206092008-11-04 Robert Millan <rmh@aybabtu.com>
20610
20611 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
20612 for FreeBSD.
20613 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
20614
556f3775 206152008-11-03 Bean <bean123ch@gmail.com>
20616
20617 * kern/elf.c (grub_elf32_load): Revert to previous code.
20618 (grub_elf64_load): Likewise.
20619
20620 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
20621
926b9823 206222008-11-01 Robert Millan <rmh@aybabtu.com>
20623
20624 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
20625 (TARGET_CPPFLAGS): Likewise.
20626 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
20627
1432e958 206282008-11-01 Carles Pina i Estany <carles@pina.cat>
20629
20630 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
20631
dba3f844 206322008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 20633
20634 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
20635 addition of objects until the code is not going to be able to fail.
20636
dba3f844 206372008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 20638
20639 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
20640 (add a missing NULL check, and correct them by moving the pointer
20641 operations after the actual check).
20642
7ab28c21 206432008-10-29 Robert Millan <rmh@aybabtu.com>
20644
20645 * util/i386/pc/grub-install.in: Handle empty string as output from
20646 make_system_path_relative_to_its_root().
20647
1b7748eb 206482008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
20649
20650 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
20651 circular metadata worst case scenario. If the metadata is circular
20652 then copy the wrap in place.
20653 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
20654 project lib/format_text/layout.h
20655 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
20656
c9618ab2 206572008-10-03 Felix Zielcke <fzielcke@z-51.de>
20658
7a36edca 20659 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 20660
bf981c62 206612008-10-03 Felix Zielcke <fzielcke@z-51.de>
20662
20663 * util/update-grub_lib.in: Mention filename in warning message.
20664
6d994591 206652008-09-29 Felix Zielcke <fzielcke@z-51.de>
20666
20667 * NEWS: Update for rename of update-grub to grub-mkconfig.
20668
18ade780 206692008-09-29 Felix Zielcke <fzielcke@z-51.de>
20670
20671 * util/update-grub_lib.in: Copy to ...
20672 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 20673 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 20674 * util/update-grub.in: Rename to ...
20675 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
20676 option. Add `--output' option to allow users to specify the generated
20677 configuration file. Default to stdout.
20678 (update_grub_dir): Rename to ...
20679 (grub_mkconfig_dir): ... this.
20680 (grub_cfg): Default to an empty string.
20681 * conf/common.rmk (update-grub): Rename to ...
20682 (grub-mkconfig): ... this.
20683 (update-grub_lib): Copy to ...
20684 (grub-mkconfig_lib): ... this.
20685 (update-grub_SCRIPTS): Copy to ...
20686 (grub-mkconfig_SCRIPTS): ... this. Update all users.
20687 (update-grub_DATA): Rename to ...
20688 (grub-mkconfig_DATA): ... this.
20689
556ce6ac 206902008-09-28 Robert Millan <rmh@aybabtu.com>
20691
20692 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
20693 to `modified'. Add the real `created' field.
20694 (grub_iso9660_uuid): Use `modified' rather than `created' for
20695 constructing the UUID.
20696
206972008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 20698
20699 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
20700 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
20701
92274e85 207022008-09-28 Bean <bean123ch@gmail.com>
20703
20704 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
20705 Thanks to Christian Franke for finding this bug.
20706
add6f17a 207072008-09-25 Robert Millan <rmh@aybabtu.com>
20708
20709 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
20710 instances of grub_util_get_disk_name() (see previous commit).
20711
d2a367b8 207122008-09-25 Robert Millan <rmh@aybabtu.com>
20713
20714 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
20715 `util/i386/get_disk_name.c'.
20716 * conf/i386-efi.rmk: Likewise.
20717 * conf/x86_64-efi.rmk: Likewise.
20718 * conf/i386-coreboot.rmk: Likewise.
20719 * conf/i386-ieee1275.rmk: Likewise.
20720 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
20721 `util/ieee1275/get_disk_name.c'.
20722 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
20723 * util/ieee1275/get_disk_name.c: Remove file.
20724 * util/i386/get_disk_name.c: Remove file.
20725 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
20726 "hd%d" for device.map entries, rather than using
20727 grub_util_get_disk_name().
20728
81a06771 207292008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 20730
20731 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
20732 warning.
20733 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
20734
5a004279 207352008-09-24 Carles Pina i Estany <carles@pina.cat>
20736
20737 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
20738 Changed to 0x5100.
20739 (GRUB_TERM_PPAGE): Changed to 0x4900.
20740
397093d3 207412008-09-24 Robert Millan <rmh@aybabtu.com>
20742
20743 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
20744 macros (they were i386-pc specific).
20745 * include/grub/sparc64/ieee1275/console.h: Likewise.
20746 * include/grub/efi/console.h: Likewise.
20747
a91b6c7c 207482008-09-22 Bean <bean123ch@gmail.com>
20749
20750 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
20751 resident and in attribute list.
20752
20753 * include/grub/ntfs.h (BMP_LEN): Removed.
20754
c40fd116 207552008-09-22 Bean <bean123ch@gmail.com>
20756
81a06771 20757 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 20758 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
20759
20760 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
20761 error occurs, as grub_disk_open will call grub_disk_close, which will
20762 call p->close (scsi).
20763
81a06771 207642008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 20765
20766 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
20767 (AC_PREREQ): Bumped to 2.59.
20768 (AC_TRY_COMPILE): Replace obsolete macro with ...
20769 (AC_COMPILE_IFELSE): ... this.
20770 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
20771 (AC_LINK_IFELSE): ... this.
20772
5dc43410 207732008-09-21 Felix Zielcke <fzielcke@z-51.de>
20774
20775 * autogen.sh: Add a call to `gendistlist.sh'.
20776
9035dce4 207772008-09-19 Christian Franke <franke@computer.org>
20778
20779 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
20780 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
20781 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
20782 Export __enable_execute_stack() to modules.
20783 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
20784 New function.
20785
7fd75377 207862008-09-09 Felix Zielcke <fzielcke@z-51.de>
20787
040030b3 20788 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
20789 Sort the list.
20790
207912008-09-09 Felix Zielcke <fzielcke@z-51.de>
20792
20793 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 20794 #include <grub/util/hostdisk.h>.
20795
89d5ffcf 207962008-09-08 Robert Millan <rmh@aybabtu.com>
20797
20798 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
20799 segments when their filesz is zero (grub_file_read() interprets
81a06771 20800 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 20801 Use `lowest_segment' rather than 0 for calculating the current
20802 segment load address.
20803
40da438f 208042008-09-08 Robert Millan <rmh@aybabtu.com>
20805
20806 * util/hostdisk.c (open_device): Replace a grub_util_info() call
20807 with grub_dprintf("hostdisk", ...), as it was so verbose that it
20808 clobbered useful information.
20809
ddbf5556 208102008-09-08 Robert Millan <rmh@aybabtu.com>
20811
20812 * include/grub/util/biosdisk.h: Move to ...
20813 * include/grub/util/hostdisk.h: ... here. Update all users.
20814 * util/biosdisk.c: Move to ...
20815 * util/hostdisk.c: ... here. Update all users.
20816
783d0f48 208172008-09-07 Robert Millan <rmh@aybabtu.com>
20818
20819 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
20820 variables.
20821 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
20822 and length can be stored directly in the `mbi->mmap_addr' and
20823 `mbi->mmap_length' struct fields.
20824
548e2ea5 208252008-09-07 Robert Millan <rmh@aybabtu.com>
20826
20827 * conf/i386.rmk: New file. Provides declaration for building
20828 `cpuid.mod'.
20829 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
20830 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
20831 variables.
20832 Include `conf/i386.mk'.
20833 * conf/i386-efi.rmk: Likewise.
20834 * conf/x86_64-efi.rmk: Likewise.
20835 * conf/i386-coreboot.rmk: Likewise.
20836 * conf/i386-ieee1275.rmk: Likewise.
20837
0ea85a37 208382008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
20839
20840 Based on patch created by Colin D Bennett <colin@gibibit.com>.
20841 Adds optimization support for BGR based modes.
20842
20843 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
20844 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20845 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20846 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20847 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20848 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20849 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20850 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20851 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20852 (grub_video_i386_vbeblit_index_index): Likewise.
20853 (grub_video_i386_vbeblit_replace_directN): Added.
20854 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20855 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20856 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20857 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20858 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20859 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 20860 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 20861 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20862 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20863 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20864 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20865 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20866 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
20867
20868 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
20869 (grub_video_i386_vbefill_R8G8B8): Likewise.
20870 (grub_video_i386_vbefill_index): Likewise.
20871 (grub_video_i386_vbefill_direct32): Added.
20872 (grub_video_i386_vbefill_direct24): Likewise.
20873 (grub_video_i386_vbefill_direct16): Likewise.
20874 (grub_video_i386_vbefill_direct8): Likewise.
20875
81a06771 20876 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 20877 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
20878 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
20879 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
20880 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
20881 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 20882
0ea85a37 20883 * video/video.c (grub_video_get_blit_format): Updated to use new
20884 blit formats. Added handling for 16 bit color modes.
81a06771 20885
20886 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 20887 fillers.
20888 (common_blitter): Updated to use new blitters.
20889
20890 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
20891 Removed.
20892 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20893 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20894 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20895 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20896 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20897 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20898 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20899 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20900 (grub_video_i386_vbeblit_index_index): Likewise.
20901 (grub_video_i386_vbeblit_replace_directN): Added.
20902 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20903 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20904 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20905 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20906 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20907 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
20908 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
20909 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20910 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20911 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20912 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20913 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20914 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 20915
0ea85a37 20916 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
20917 (grub_video_i386_vbefill_R8G8B8): Likewise.
20918 (grub_video_i386_vbefill_index): Likewise.
20919 (grub_video_i386_vbefill_direct32): Added.
20920 (grub_video_i386_vbefill_direct24): Likewise.
20921 (grub_video_i386_vbefill_direct16): Likewise.
20922 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 20923
0ea85a37 20924 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
20925 types.
81a06771 20926
0ea85a37 20927 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
20928 types.
81a06771 20929
0ea85a37 20930 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
20931 blitter types.
81a06771 20932
0ea85a37 20933 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
20934 types.
20935
e8a83df6 209362008-09-06 Felix Zielcke <fzielcke@z-51.de>
20937
20938 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
20939 RAID level 1.
20940
6bcd8ee5 209412008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 20942
6bcd8ee5 20943 * fs/iso9660.c (grub_iso9660_date): New structure.
20944 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
20945 (grub_iso9660_uuid): New function.
c375ae58 20946
59261157 209472008-09-05 Bean <bean123ch@gmail.com>
20948
20949 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
20950
20951 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
20952 insensitive bit for names in Win32 and Win32 & DOS namespace.
20953
20954 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
20955
20956 * include/grub/types.h (LONG_MAX): Likewise.
20957
58b6645a 209582008-09-04 Felix Zielcke <fzielcke@z-51.de>
20959
4ee55921 20960 * util/getroot.c: Include <config.h>.
20961 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
20962 add support for /dev/md/N devices and handle LVM double dash escaping.
20963
209642008-09-04 Felix Zielcke <fzielcke@z-51.de>
20965
20966 * config.guess: Update to latest version from config git.
20967 * config.sub: Likewise.
58b6645a 20968
9124f65d 209692008-09-03 Robert Millan <rmh@aybabtu.com>
20970
20971 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
20972 `disk->total_sectors'.
20973
81a06771 209742008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 20975
20976 * include/grub/normal.h: Fixed incorrect comment for
20977 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
20978
81a06771 209792008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 20980
20981 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
20982 values with defines.
20983
20984 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
20985 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
20986 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
20987 (GRUB_VBE_MODEATTR_COLOR): Likewise.
20988 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
20989 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
20990 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
20991 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
20992 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
20993 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
20994 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
20995 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
20996 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
20997 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
20998 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
20999 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
21000 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
21001 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
21002 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
21003
93d5cbf8 210042008-08-31 Robert Millan <rmh@aybabtu.com>
21005
21006 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
21007 declaration.
21008 (grub_multiboot): Fix a few warnings.
21009
21751d50 210102008-08-31 Robert Millan <rmh@aybabtu.com>
21011
21012 * loader/i386/pc/multiboot.c: Update comment not to say that
21013 boot_device support is unimplemented.
21014
e27a75c5 210152008-08-31 Robert Millan <rmh@aybabtu.com>
21016
21017 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
21018 or memory map support are unimplemented.
21019
81a06771 210202008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 21021
21022 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
21023
81a06771 210242008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 21025
21026 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
21027 total video memory in 'vbeinfo' output; show color format details for
21028 each video mode.
21029
7c5d8d95 210302008-08-30 Pavel Roskin <proski@gnu.org>
21031
21032 * util/genmoddep.c: Remove for real this time.
21033 * DISTLIST: Remove util/genmoddep.c.
21034
4cebd25a 210352008-08-30 Robert Millan <rmh@aybabtu.com>
21036
21037 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
21038 as required by Multiboot spec (it was already 4-byte aligned, but
21039 only by chance).
21040
b497a269 210412008-08-29 Pavel Roskin <proski@gnu.org>
21042
e3925185 21043 * kern/powerpc/ieee1275/crt0.S: Rename to ...
21044 * kern/powerpc/ieee1275/startup.S: ... this.
21045 * conf/powerpc-ieee1275.rmk: Adjust for the above.
21046 * DISTLIST: Likewise.
21047
b497a269 21048 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
21049 grub/cpu/kernel.h. Add start label for consistency with other
21050 platforms. Add grub_prefix immediately after start. Add jump
21051 to the code after grub_prefix.
21052 * include/grub/powerpc/kernel.h: Provide valid values for
21053 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
21054
6e5a42fe 210552008-08-29 Bean <bean123ch@gmail.com>
21056
21057 * configure.ac: Change host_os to cygwin for mingw.
21058 (asprintf): New check for function.
21059
21060 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
21061 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
21062
21063 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 21064 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 21065 sync, sleep and grub_util_get_disk_size for mingw.
21066
21067 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
21068 to get size in mingw.
21069 (open_device): Use flag O_BINARY if it's defined.
21070 (find_root_device): Add dummy code for mingw.
21071
21072 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
21073 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
21074 (get_scsi_disk_name): Return 0 for mingw.
21075
21076 * util/hostfs.c: #include <grub/util/misc.h>.
21077 (grub_hostfs_open): Use "rb" flag to open file, use
21078 grub_util_get_disk_size to get disk size for mingw.
21079
21080 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
21081 (asprintf): New function if HAVE_ASPRINTF is not set.
21082 (sync): New function for mingw.
21083 (sleep): Likewise.
21084 (grub_util_get_disk_size): Likewise.
21085
ab3f2673 210862008-08-28 Pavel Roskin <proski@gnu.org>
21087
21088 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21089 kern/time.c.
21090
1c282483 210912008-08-28 Robert Millan <rmh@aybabtu.com>
21092
21093 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
21094
678e849c 210952008-08-28 Robert Millan <rmh@aybabtu.com>
21096
21097 Change find_grub_drive() syntax so it doesn't prevent it from
21098 detecting NULL names as errors.
21099
21100 * util/biosdisk.c (find_grub_drive): Move free slot search code
21101 from here ...
21102 (find_free_slot): ... to here.
21103 (read_device_map): Use find_free_slot() to search for free slots.
21104
965c75ca 211052008-08-27 Marco Gerards <marco@gnu.org>
21106
21107 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
21108 (scsi_mod_SOURCES): New variable.
21109 (scsi_mod_CFLAGS): Likewise
21110 (scsi_mod_LDFLAGS): Likewise.
21111
21112 * disk/scsi.c: New file.
21113
21114 * include/grub/scsi.h: Likewise.
21115
21116 * include/grub/scsicmd.h: Likewise.
21117
21118 * disk/ata.c: Include <grub/scsi.h>.
21119 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
21120 instead.
21121 (grub_ata_iterate): Skip ATAPI devices.
21122 (grub_ata_open): Only handle ATAPI devices.
21123 (struct grub_atapi_read): Removed.
21124 (grub_atapi_readsector): Likewise.
21125 (grub_ata_read): No longer handle ATAPI devices.
21126 (grub_ata_write): Likewise.
21127 (grub_atapi_iterate): New function.
21128 (grub_atapi_read): Likewise.
21129 (grub_atapi_write): Likewise.
21130 (grub_atapi_open): Likewise.
21131 (grub_atapi_close): Likewise.
21132 (grub_atapi_dev): New variable.
21133 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
21134 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
21135
21136 * include/grub/disk.h (enum grub_disk_dev_id): Add
21137 `GRUB_DISK_DEVICE_SCSI_ID'.
21138
c07ae501 211392008-08-26 Robert Millan <rmh@aybabtu.com>
21140
21141 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
21142 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
21143 descriptive.
21144
5ed20adc 211452008-08-23 Bean <bean123ch@gmail.com>
21146
21147 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
21148 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
21149 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
21150 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
21151 dm_nv.mod.
21152 (raid5rec_mod_SOURCES): New macro.
21153 (raid5rec_mod_CFLAGS): Likewise.
21154 (raid5rec_mod_LDFLAGS): Likewise.
21155 (raid6rec_mod_SOURCES): Likewise.
21156 (raid6rec_mod_CFLAGS): Likewise.
21157 (raid6rec_mod_LDFLAGS): Likewise.
21158 (mdraid_mod_SOURCES): Likewise.
21159 (mdraid_mod_CFLAGS): Likewise.
21160 (mdraid_mod_LDFLAGS): Likewise.
21161 (dm_nv_mod_SOURCES): Likewise.
21162 (dm_nv_mod_CFLAGS): Likewise.
21163 (dm_nv_mod_LDFLAGS): Likewise.
21164
21165 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
21166 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
21167 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
21168
21169 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
21170 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
21171
21172 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21173
21174 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21175
21176 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21177
21178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21179
21180 * disk/raid5_recover.c: New file.
21181
21182 * disk/raid6_recover.c: Likewise.
21183
21184 * disk/mdraid_linux.c: Likewise.
21185
21186 * disk/dmraid_nvidia.c: Likewise.
21187
21188 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
21189 ULONG_MAX.
21190
21191 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
21192 calculate the size of raid device.
21193 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
21194 different layout of raid5.
21195 (grub_raid_scan_device): Remove code specific to mdraid.
21196 (grub_raid_list): New variable.
21197 (free_array): New function.
21198 (grub_raid_register): Likewise.
21199 (grub_raid_unregister): Likewise.
21200 (grub_raid_rescan): Likewise.
21201 (GRUB_MOD_INIT): Don't iterate device here.
21202 (GRUB_MOD_FINI): Use free_array to release resource.
21203
21204 * include/grub/raid.h: Remove macro and structure specific to mdraid.
21205 (grub_raid5_recover_func_t): New function variable type.
21206 (grub_raid6_recover_func_t): Likewise.
21207 (grub_raid5_recover_func): New variable.
21208 (grub_raid6_recover_func): Likewise.
21209 (grub_raid_register): New function.
21210 (grub_raid_unregister): Likewise.
21211 (grub_raid_rescan): Likewise.
21212 (grub_raid_block_xor): Likewise.
21213
21214 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
21215 (CMD_CRC): New macro.
21216 (part): Removed.
21217 (read_file): Handle device as well as file.
21218 (cmd_crc): New function.
21219 (fstest): Handle multiple disks.
21220 (options): Remove part, raw and long, add root and diskcount.
21221 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 21222 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 21223 add handling for the new options, support multiple disks.
21224
21225 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
21226
29c18915 212272008-08-23 Bean <bean123ch@gmail.com>
21228
21229 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
21230
21231 * genfslist.sh: Ignore kernel.mod.
21232
21233 * genpartmaplist.sh: Likewise.
21234
8415f261 212352008-08-23 Robert Millan <rmh@aybabtu.com>
21236
21237 * util/getroot.c (find_root_device): Skip anything that starts with
21238 a dot, not just directories. This avoids things like /dev/.tmp.md0.
21239
d5a7dc5b 212402008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 21241
d5a7dc5b 21242 * util/update-grub.in (GRUB_GFXMODE): Export variable.
21243 * util/grub.d/00_header.in: Allow the administrator to change default
21244 gfxmode via ${GRUB_GFXMODE}.
21245
380cfbb4 212462008-08-21 Felix Zielcke <fzielcke@z-51.de>
21247
21248 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
21249
c9baafe7 212502008-08-21 Robert Millan <rmh@aybabtu.com>
21251
21252 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
21253 loader.
21254 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
21255 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
21256
e290bef2 212572008-08-20 Carles Pina i Estany <carles@pina.cat>
21258
21259 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
21260 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
21261
f9dbfc96 212622008-08-19 Robert Millan <rmh@aybabtu.com>
21263
21264 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
21265 (struct grub_virtual_screen): Remove `cursor_color'.
21266 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
21267 initialization.
21268 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
21269
dd6bd6ab 212702008-08-18 Robert Millan <rmh@aybabtu.com>
21271
21272 Unify (identical) linux_normal.c files.
21273 * loader/i386/efi/linux_normal.c: Move from here ...
21274 * loader/linux_normal.c: ... to here. Update all users.
21275 * loader/i386/pc/linux_normal.c: Delete. Update all users.
21276 * loader/i386/ieee1275/linux_normal.c: Likewise.
21277
7f42f83e 212782008-08-18 Robert Millan <rmh@aybabtu.com>
21279
21280 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
21281 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
21282 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
21283 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
21284 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
21285 New macros.
21286 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
21287 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
21288 (GRUB_LINUX_CL_END_OFFSET): ... to here.
21289 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
21290 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
21291 (GRUB_EFI_CL_END_OFFSET): Rename to ...
21292 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
21293 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
21294 Initialize `params->video_cursor_x' and `params->video_cursor_y'
21295 portably using grub_getxy().
21296 Replace `-EFI' with `-bzImage' in boot message.
21297
38487ddb 212982008-08-17 Robert Millan <rmh@aybabtu.com>
21299
21300 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
21301
deceb3ec 213022008-08-17 Robert Millan <rmh@aybabtu.com>
21303
21304 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
21305
21306 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
21307 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
21308 (grub_machine_mmap_iterate): New function declaration.
21309 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
21310 structure.
21311 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
21312 macros.
21313
21314 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
21315 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
21316 Move e820 parsing from here ...
21317 * kern/i386/pc/mmap.c: New file.
21318 (grub_machine_mmap_iterate): ... to here.
21319
21320 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
21321 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
21322 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
21323 (grub_available_iterate): Redeclare to return `void', and redeclare
21324 its hook to use grub_uint64_t as addr and size parameters, and rename
21325 to ...
21326 (grub_machine_mmap_iterate): ... this. Update all users.
21327
21328 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
21329 to make it more readable. Rename to ...
21330 (grub_machine_mmap_iterate): ... this.
21331
21332 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
21333 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
21334 (grub_multiboot): Allocate an extra region after the payload, and fill
21335 it with a Multiboot memory map. Adjust a.out loader to calculate size
21336 with the extra space.
21337 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
21338 with the extra space.
21339
f8aa0f43 213402008-08-17 Carles Pina i Estany <carles@pina.cat>
21341
9807deb9 21342 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 21343
605f5bb6 213442008-08-17 Felix Zielcke <fzielcke@z-51.de>
21345
21346 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
21347 mdate-sh to the list `find' searches for.
21348 * DISTLIST: Regenerated.
21349
210db6c6 213502008-08-16 Felix Zielcke <fzielcke@z-51.de>
21351
21352 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
21353 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 21354 genmoddep.awk, gensymlist.sh.in.
21355 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 21356 * DISTLIST: Regenerated.
48cdbfd4 21357 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 21358
1082b929 213592008-08-16 Robert Millan <rmh@aybabtu.com>
21360
21361 * disk/raid.c (grub_raid_init): Handle/report errors set by
21362 grub_device_iterate().
21363 * disk/lvm.c (grub_lvm_init): Likewise.
21364
42ce5170 213652008-08-15 Bean <bean123ch@gmail.com>
21366
21367 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21368 and datehook.mod.
21369 (datetime_mod_SOURCES): New macro.
21370 (datetime_mod_CFLAGS): Likewise.
21371 (datetime_mod_LDFLAGS): Likewise.
21372 (date_mod_SOURCES): Likewise.
21373 (date_mod_CFLAGS): Likewise.
21374 (date_mod_LDFLAGS): Likewise.
21375 (datehook_mod_SOURCES): Likewise.
21376 (datehook_mod_CFLAGS): Likewise.
21377 (datehook_mod_LDFLAGS): Likewise.
21378
21379 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21380 and datehook.mod.
21381 (datetime_mod_SOURCES): New macro.
21382 (datetime_mod_CFLAGS): Likewise.
21383 (datetime_mod_LDFLAGS): Likewise.
21384 (date_mod_SOURCES): Likewise.
21385 (date_mod_CFLAGS): Likewise.
21386 (date_mod_LDFLAGS): Likewise.
21387 (datehook_mod_SOURCES): Likewise.
21388 (datehook_mod_CFLAGS): Likewise.
21389 (datehook_mod_LDFLAGS): Likewise.
21390
21391 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21392 and datehook.mod.
21393 (datetime_mod_SOURCES): New macro.
21394 (datetime_mod_CFLAGS): Likewise.
21395 (datetime_mod_LDFLAGS): Likewise.
21396 (date_mod_SOURCES): Likewise.
21397 (date_mod_CFLAGS): Likewise.
21398 (date_mod_LDFLAGS): Likewise.
21399 (datehook_mod_SOURCES): Likewise.
21400 (datehook_mod_CFLAGS): Likewise.
21401 (datehook_mod_LDFLAGS): Likewise.
21402
21403 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21404 and datehook.mod.
21405 (datetime_mod_SOURCES): New macro.
21406 (datetime_mod_CFLAGS): Likewise.
21407 (datetime_mod_LDFLAGS): Likewise.
21408 (date_mod_SOURCES): Likewise.
21409 (date_mod_CFLAGS): Likewise.
21410 (date_mod_LDFLAGS): Likewise.
21411 (datehook_mod_SOURCES): Likewise.
21412 (datehook_mod_CFLAGS): Likewise.
21413 (datehook_mod_LDFLAGS): Likewise.
21414
21415 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21416 and datehook.mod.
21417 (datetime_mod_SOURCES): New macro.
21418 (datetime_mod_CFLAGS): Likewise.
21419 (datetime_mod_LDFLAGS): Likewise.
21420 (date_mod_SOURCES): Likewise.
21421 (date_mod_CFLAGS): Likewise.
21422 (date_mod_LDFLAGS): Likewise.
21423 (datehook_mod_SOURCES): Likewise.
21424 (datehook_mod_CFLAGS): Likewise.
21425 (datehook_mod_LDFLAGS): Likewise.
21426
21427 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
21428
21429 * commands/date.c: New file.
21430
21431 * hook/datehook.c: Likewise.
21432
21433 * include/grub/lib/datetime.h: Likewise.
21434
21435 * include/grub/i386/cmos.h: Likewise.
21436
21437 * lib/datetime.c: Likewise.
21438
21439 * lib/i386/datetime.c: Likewise.
21440
21441 * lib/efi/datetime.c: Likewise.
21442
0e9242da 214432008-08-14 Robert Millan <rmh@aybabtu.com>
21444
21445 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
21446 (grub_mkelfimage_SOURCES): New variable.
21447 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
21448
21449 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
21450 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
21451 * conf/powerpc-ieee1275.rmk: Likewise.
21452 * conf/i386-ieee1275.rmk: Likewise.
21453
21454 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
21455 * kern/i386/coreboot/init.c: Likewise.
21456
21457 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
21458 with `<grub/cpu/kernel.h>'.
21459 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
21460 to ...
21461 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
21462 * kern/i386/coreboot/startup.S: Likewise.
21463
21464 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
21465 (GRUB_MOD_GAP): Remove.
21466 * include/grub/powerpc/kernel.h: New file.
21467 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
21468 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21469 * include/grub/i386/kernel.h: New file.
21470 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
21471 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
21472 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21473
21474 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
21475 `grub-mkelfimage'.
21476 Use --directory when invoking grub_mkimage.
21477
21478 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
21479 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
21480 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
21481 and GRUB_KERNEL_CPU_PREFIX.
21482
b86408f8 214832008-08-14 Felix Zielcke <fzielcke@z-51.de>
21484
d5e619ca 21485 * include/grub/err.h (grub_err_printf): New function prototype.
21486 * util/misc.c (grub_err_printf): New function.
21487 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
21488 grub_printf.
21489 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 21490
7161f0e0 214912008-08-13 Robert Millan <rmh@aybabtu.com>
21492
21493 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
21494
a1967522 214952008-08-13 Robert Millan <rmh@aybabtu.com>
21496
21497 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
21498 boot entry.
21499
371458b5 215002008-08-12 Robert Millan <rmh@aybabtu.com>
21501
21502 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
21503 of the relocation code from here ...
21504 (grub_multiboot): ... to here.
21505 (forward_relocator, backward_relocator): Move from here ...
21506 * kern/i386/loader.S (grub_multiboot_forward_relocator)
21507 (grub_multiboot_backward_relocator): ... to here.
21508 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
21509 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
21510 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
21511 (grub_multiboot_forward_relocator_end)
21512 (grub_multiboot_backward_relocator)
21513 (grub_multiboot_backward_relocator_end): New variables.
21514
05f9452b 215152008-08-12 Bean <bean123ch@gmail.com>
21516
21517 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
21518
20024ab0 215192008-08-11 Robert Millan <rmh@aybabtu.com>
21520
21521 * kern/i386/linuxbios/startup.S: Move from here ...
21522 * kern/i386/coreboot/startup.S: ... to here.
21523
21524 * kern/i386/linuxbios/init.c: Move from here ...
21525 * kern/i386/coreboot/init.c: ... to here.
21526
21527 * kern/i386/linuxbios/table.c: Move from here ...
21528 * kern/i386/coreboot/mmap.c: ... to here.
21529
21530 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
21531
e352e9cd 215322008-08-11 Robert Millan <rmh@aybabtu.com>
21533
21534 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
21535 errors. Leave it to the upper layer to handle them.
21536
2d05bc6a 215372008-08-09 Christian Franke <franke@computer.org>
21538
21539 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
21540 * conf/common.rmk: Install `grub-pe2elf' only if requested.
21541 Install `grub.d/10_windows' only on Cygwin.
21542 * configure.ac: Add subst of `target_os'.
21543 Check `target_os' also before setting TARGET_OBJ2ELF.
21544 Add `--enable-grub-pe2elf'.
21545
042bd419 215462008-08-08 Robert Millan <rmh@aybabtu.com>
21547
21548 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21549 (grub_last_time): Change type to grub_uint64_t.
21550 (grub_disk_open): Migrate code from to using grub_get_time_ms().
21551 (grub_disk_close): Likewise.
21552
21553 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21554 (run_menu): Migrate code from to using grub_get_time_ms().
21555
21556 * util/misc.c (grub_get_time_ms): New function.
21557
7f280db5 215582008-08-08 Marco Gerards <marco@gnu.org>
21559
21560 * disk/ata.c (grub_ata_regget): Change return type to
21561 `grub_uint8_t'.
21562 (grub_ata_regget2): Likewise.
21563 (grub_ata_wait_status): New function.
21564 (grub_ata_wait_busy): Removed function, updated all users to use
21565 `grub_ata_wait_status'.
21566 (grub_ata_wait_drq): Likewise.
21567 (grub_ata_cmd): New function.
21568 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
21569 error handling.
21570 (grub_ata_pio_write): Add error handling.
21571 (grub_atapi_identify): Likewise.
21572 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
21573 handling.
21574 (grub_ata_identify): Use `grub_ata_cmd' and improve error
21575 handling. Actually use the detected registers. Reorder the
21576 detection logic such that it is easier to read.
21577 (grub_ata_pciinit): Do not assign the same ID to each controller.
21578 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
21579 handling.
21580 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
21581
21582 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
21583
1fbc5e66 215842008-08-08 Marco Gerards <marco@gnu.org>
21585
21586 * NEWS: Update.
21587
819ce6c0 215882008-08-07 Bean <bean123ch@gmail.com>
21589
21590 * include/grub/x86_64/pci.h: New file.
21591
5c41d44d 215922008-08-07 Christian Franke <franke@computer.org>
21593
21594 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
21595 (TIMER2_GATE): Likewise.
21596 (grub_pit_wait): Add enable/disable of the timer2 gate
21597 bit of port 0x61. This fixes a possible infinite loop.
21598
5ebc275d 215992008-08-07 Bean <bean123ch@gmail.com>
21600
21601 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
21602 kern/i386/tsc.c and kern/i386/pit.c.
21603
21604 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
21605 x86_64 platform.
21606
21607 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
21608 <grub/i386/tsc.h>.
21609
21610 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
21611
e383b3d0 216122008-08-07 Bean <bean123ch@gmail.com>
21613
21614 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
21615
21616 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
21617
21618 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
21619 multiple inclusion. Add #include <grub/types.h>.
21620
1cbb58ac 216212008-08-06 Christian Franke <franke@computer.org>
21622
21623 * conf/common.rmk: Build and install `10_windows'.
21624 * util/grub.d/10_windows.in: New script.
21625
337f5a1e 216262008-08-06 Pavel Roskin <proski@gnu.org>
21627
21628 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
21629
057bc4ac 216302008-08-06 Robert Millan <rmh@aybabtu.com>
21631
21632 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
21633 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
21634
2b99f123 216352008-08-06 Bean <bean123ch@gmail.com>
21636
21637 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
21638 (grub_pxefs_fs_int): Remove dummy definition.
21639 (grub_pxefs_open): Use data->block_size to store the current block
21640 size setting.
21641 (grub_pxefs_read): Use block size stored in data->block_size. As the
21642 value of grub_pxe_blksize can be changed after the file is opened.
21643
9f0234cb 216442008-08-06 Bean <bean123ch@gmail.com>
21645
21646 * fs/i386/pc/pxe.c (curr_file): new variable.
21647 (grub_pxefs_open): Simply the handling of pxe file system. Don't
21648 require the dummy internal file system anymore.
21649 (grub_pxefs_read): Removed.
21650 (grub_pxefs_close): Likewise.
21651 (grub_pxefs_fs_int): Likewise.
21652 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
21653 connection when we switch file.
21654 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
21655
a55d42e0 216562008-08-06 Robert Millan <rmh@aybabtu.com>
21657
21658 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
21659 `halt.mod'.
21660 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
21661 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
21662
21663 * kern/i386/halt.c: New file.
21664 * kern/i386/reboot.c: Likewise.
21665 * include/grub/i386/reboot.h: Likewise.
21666 * include/grub/i386/halt.h: Likewise.
21667
21668 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
21669 Include `<grub/cpu/halt.h>'.
21670 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
21671 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
21672
21673 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
21674 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
21675 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
21676 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
21677 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
21678 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
21679 from here ...
21680 * include/grub/i386/at_keyboard.h: ... to here.
21681
24371d26 216822008-08-05 Robert Millan <rmh@aybabtu.com>
21683
21684 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
21685 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
21686 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
21687 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
21688 `kern/generic/millisleep.c'.
21689
21690 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
21691 instead of grub_get_rtc().
21692 (grub_tsc_init): Initialize `tsc_boot_time'.
21693
21694 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
21695 (grub_machine_init): Use grub_tsc_init() rather than
21696 installing an RTC-based handler via grub_install_get_time_ms().
21697
21698 * kern/i386/pit.c: New file.
21699 * include/grub/i386/pit.h: Likewise.
21700
9e7007b3 217012008-08-05 Bean <bean123ch@gmail.com>
21702
21703 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
21704
21705 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
21706 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
21707 (pxe_mod_SOURCES): New macro.
21708 (pxe_mod_CFLAGS): Likewise.
21709 (pxe_mod_LDFLAGS): Likewise.
21710 (pxecmd_mod_SOURCES): Likewise.
21711 (pxecmd_mod_CFLAGS): Likewise.
21712 (pxecmd_mod_LDFLAGS): Likewise.
21713
21714 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
21715 (grub_pxe_call): Likewise.
21716
21717 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
21718
21719 * commands/i386/pc/pxecmd.c: New file.
21720
9f0234cb 21721 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 21722
21723 * include/grub/i386/pc/pxe.h: Likewise.
21724
6977d49f 217252008-08-05 Bean <bean123ch@gmail.com>
21726
21727 * util/console.c (grub_console_cur_color): New variable.
21728 (grub_console_standard_color): Likewise.
21729 (grub_console_normal_color): Likewise.
21730 (grub_console_highlight_color): Likewise.
21731 (color_map): Likewise.
21732 (use_color): Likewise.
21733 (NUM_COLORS): New macro.
21734 (grub_ncurses_setcolorstate): Handle color properly.
21735 (grub_ncurses_setcolor): Don't change color here, just remember the
21736 settings, color will be set in grub_ncurses_setcolorstate.
21737 (grub_ncurses_getcolor): New function.
21738 (grub_ncurses_init): Initialize color pairs.
21739 (grub_ncurses_term): New member grub_ncurses_getcolor.
21740
9c2ff3ee 217412008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 21742
9c2ff3ee 21743 High resolution timer support. Implemented for x86 CPUs using TSC.
21744 Extracted generic grub_millisleep() so it's linked in only as needed.
21745 This requires a Pentium compatible CPU; if the RDTSC instruction is
21746 not supported, then it falls back on the generic grub_get_time_ms()
21747 implementation that uses the machine's RTC.
21748
21749 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
21750 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
21751 `kern/generic/millisleep.c'.
21752
21753 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
21754 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
21755
21756 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
21757 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
21758
21759 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21760
21761 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21762 `kern/generic/millisleep.c'.
21763
21764 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21765
21766 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
21767
21768 * kern/generic/rtc_get_time_ms.c: New file.
21769
21770 * kern/generic/millisleep.c: New file.
337f5a1e 21771
9c2ff3ee 21772 * kern/misc.c: Don't include
21773 <kern/time.h> anymore.
21774 (grub_millisleep_generic): Removed.
21775
21776 * commands/sleep.c (grub_interruptible_millisleep): Uses
21777 grub_get_time_ms() instead of grub_get_rtc().
21778
21779 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
21780 function.
21781 (grub_cpu_is_cpuid_supported): New inline function.
21782 (grub_cpu_is_tsc_supported): New inline function.
21783 (grub_tsc_init): New function prototype.
21784 (grub_tsc_get_time_ms): New function prototype.
21785
21786 * kern/i386/tsc.c (grub_get_time_ms): New file.
21787
21788 * include/grub/time.h: Include <grub/types.h.
21789 (grub_millisleep_generic): Removed.
21790 (grub_get_time_ms): New prototype.
21791 (grub_install_get_time_ms): New prototype.
21792 (grub_rtc_get_time_ms): New prototype.
21793
21794 * kern/time.c (grub_get_time_ms): New function.
21795 (grub_install_get_time_ms): New function.
21796
21797 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
21798 <grub/time.h> anymore.
21799 (grub_millisleep): Removed.
21800 (grub_machine_init): Call grub_tsc_init.
21801
21802 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
21803 get_time_ms() implementation.
21804
21805 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
21806 (ieee1275_get_time_ms): New function.
21807 (grub_machine_init): Install get_time_ms() implementation.
21808
21809 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
21810 (grub_machine_init): Call grub_tsc_init().
21811 (grub_millisleep): Removed.
bf06a93f 21812
9c2ff3ee 21813 * kern/ieee1275/init.c (grub_millisleep): Removed.
21814 (grub_machine_init): Install ieee1275_get_time_ms()
21815 implementation.
21816 (ieee1275_get_time_ms): New function.
21817 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
21818 real work.
21819
9ec92aaf 218202008-08-05 Marco Gerards <marco@gnu.org>
21821
21822 * disk/ata.c: Include <grub/pci.h>.
21823 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
21824 (grub_ata_initialize): Rewritten.
21825 (grub_ata_device_initialize): New function.
21826
8d23f507 218272008-08-04 Pavel Roskin <proski@gnu.org>
21828
21829 * kern/main.c: Include grub/mm.h.
21830
5e15ee3d 218312008-08-04 Robert Millan <rmh@aybabtu.com>
21832
21833 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
21834 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
21835 corruption problem).
21836
a9053f8f 218372008-08-04 Robert Millan <rmh@aybabtu.com>
21838
21839 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
21840 warnings introduced in my last commit.
21841
dd19c7d7 218422008-08-03 Robert Millan <rmh@aybabtu.com>
21843
21844 Make PCI available on all i386 architectures.
21845
21846 * include/grub/i386/pc/pci.h: Move from here ...
21847 * include/grub/i386/pci.h: ... to here.
21848
21849 * include/grub/i386/pc/pci.h: Remove.
21850 * include/grub/i386/efi/pci.h: Remove.
21851 * include/grub/x86_64/efi/pci.h: Remove.
21852
21853 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
21854 `<grub/cpu/pci.h>'.
21855
21856 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
21857 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
21858 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
21859
21860 * conf/i386-ieee1275.rmk: Likewise.
21861
e14a6184 218622008-08-03 Robert Millan <rmh@aybabtu.com>
21863
21864 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
21865 (grub_console_setcursor): Make it possible to set cursor off.
21866
52768e37 218672008-08-03 Robert Millan <rmh@aybabtu.com>
21868
21869 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
21870 of modules instead of assuming which platform provides what.
21871 * util/update-grub.in: Likewise.
21872
2d52f57f 218732008-08-03 Robert Millan <rmh@aybabtu.com>
21874
21875 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
21876 instead of `grub_install_dos_part' to determine whether a drive needs
21877 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 21878 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 21879
2a5cd121 218802008-08-02 Robert Millan <rmh@aybabtu.com>
21881
21882 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
21883
93808428 218842008-08-02 Robert Millan <rmh@aybabtu.com>
21885
21886 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
21887 of informational grub_dprintf() calls.
21888
3bd0a12a 218892008-08-02 Robert Millan <rmh@aybabtu.com>
21890
21891 * disk/memdisk.c (memdisk_size): Don't initialize.
21892 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
21893
21894 * include/grub/i386/pc/kernel.h
21895 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
21896 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
21897 (grub_memdisk_image_size, grub_arch_memdisk_addr)
21898 (grub_arch_memdisk_size): Remove.
21899
21900 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
21901 field (was only used to transfer a constant). Add `type' field to
21902 support multiple module types.
21903 (grub_module_iterate): New function.
21904
21905 * kern/device.c (grub_device_open): Do not hide error messages
21906 when grub_disk_open() fails. Use grub_print_error() instead.
21907
21908 * kern/i386/pc/init.c (grub_arch_modules_addr)
21909 (grub_arch_memdisk_size): Remove functions.
21910 (grub_arch_modules_addr): Return the module address in high memory
21911 (now that it isn't copied anymore).
21912
21913 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
21914 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
21915 decompression routine (grub_total_module_size already includes that
21916 now). Don't copy modules back to low memory.
21917
21918 * kern/main.c: Include `<grub/mm.h>'.
21919 (grub_load_modules): Split out (and use) ...
21920 (grub_module_iterate): ... this function, which iterates through
21921 module objects and runs a hook.
21922 Comment out grub_mm_init_region() call, as it would cause non-ELF
21923 modules to be overwritten.
21924
21925 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
21926 the memdisk image in its own region, make it part of the module list.
21927 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
21928 (main): Parse --memdisk|-m option, and pass user-provided path as
21929 parameter to generate_image().
21930 (add_segments): Pass `memdisk_path' down to load_modules().
21931 (load_modules): Embed memdisk image in module section when requested.
21932 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
21933 `header.type' instead of `header.offset'.
21934
21935 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
21936 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
21937 (memdisk_mod_LDFLAGS): New variables.
21938 * conf/i386-coreboot.rmk: Likewise.
21939 * conf/i386-ieee1275.rmk: Likewise.
21940
a927cc73 219412008-08-02 Robert Millan <rmh@aybabtu.com>
21942
21943 * loader/i386/pc/multiboot.c (playground, forward_relocator)
21944 (backward_relocator): New variables. Used to allocate and relocate
21945 the payload, respectively.
21946 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 21947 address, install the appropriate relocator code in each bound of
a927cc73 21948 the payload, and set the entry point such that
21949 grub_multiboot_real_boot() will jump to one of them.
21950
21951 * kern/i386/loader.S (grub_multiboot_payload_size)
21952 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21953 (grub_multiboot_payload_entry_offset): New variables.
21954 (grub_multiboot_real_boot): Set cpu context to what the relocator
21955 expects, and jump to the relocator instead of the payload.
21956
21957 * include/grub/i386/loader.h (grub_multiboot_payload_size)
21958 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21959 (grub_multiboot_payload_entry_offset): Export.
21960
b15d8a0c 219612008-08-01 Bean <bean123ch@gmail.com>
21962
21963 * normal/menu_entry.c (editor_getline): Don't return the original
21964 string as result, as it will be released by lexer once it has done
21965 using it.
21966
cdfb3d22 219672008-08-01 Robert Millan <rmh@aybabtu.com>
21968
21969 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
21970 within menuentries, not before them.
21971 util/grub.d/10_hurd.in: Likewise.
21972
9175e93d 219732008-08-01 Bean <bean123ch@gmail.com>
21974
21975 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
21976 (bufio_mod_SOURCES): New macro.
21977 (bufio_mod_CFLAGS): Likewise.
21978 (bufio_mod_LDFLAGS): Likewise.
21979
21980 * include/grub/bufio.h: New file.
21981
21982 * io/bufio.c: Likewise.
21983
21984 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
21985 (grub_video_reader_png): Use grub_buffile_open to open file.
21986
21987 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
21988 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
21989
21990 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
21991 (grub_video_reader_tga): Use grub_buffile_open to open file.
21992
21993 * font/manager.c: Include <grub/bufio.h>.
21994 (add_font): Use grub_buffile_open to open file.
21995
3d8383e7 219962008-07-31 Robert Millan <rmh@aybabtu.com>
21997
21998 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
21999 ELF segments, use a macro for arbitrarily accessing any of them instead
22000 of preparing a pointer that allows access to one at a time.
22001 (grub_multiboot_load_elf64): Likewise.
22002
16e641b6 220032008-07-31 Bean <bean123ch@gmail.com>
22004
22005 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
22006 GRUB_KERNEL_MACHINE_DATA_END.
22007
59198b72 220082008-07-30 Robert Millan <rmh@aybabtu.com>
22009
22010 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
22011 Increase from 0x50 to 0x60.
22012 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
22013 use UUIDs to identify the root drive for them. If that's not
22014 possible, abort.
22015 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
22016 check, for cross-disk installs.
22017
ae88bca3 220182008-07-30 Robert Millan <rmh@aybabtu.com>
22019
22020 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
22021 is non-empty, use it to set the `prefix' environment variable instead
22022 of the usual approach.
22023 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
22024 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
22025 environment variable instead of dummy make_install_device().
22026
22027 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
22028 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 22029 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 22030
22031 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
22032 New variable reference.
22033 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
22034 New macro. Defines offset of `grub_prefix' within startup.S (relative
22035 to `start').
22036 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
22037 section within startup.S (relative to `start').
22038 * include/grub/i386/coreboot/kernel.h: Likewise.
22039
22040 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
22041 Overwrite grub_prefix with its contents, at the beginning of the
22042 first segment.
22043 (main): Understand -p|--prefix.
22044
14f41dd1 220452008-07-30 Robert Millan <rmh@aybabtu.com>
22046
22047 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
22048
4ca049a3 220492008-07-30 Robert Millan <rmh@aybabtu.com>
22050
22051 * term/i386/pc/vga_text.c (grub_console_cls): Use
22052 grub_console_gotoxy() to go back to beginning of the screen.
22053 Found by Patrick Georgi <patrick.georgi@coresystems.de>
22054
2921d337 220552008-07-29 Christian Franke <franke@computer.org>
22056
22057 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22058 Add conversion of emulated mount points on Cygwin.
22059
b609876d 220602008-07-29 Christian Franke <franke@computer.org>
22061
22062 * util/update-grub.in: Add a check for admin
22063 group on Cygwin.
22064 Remove old `grub.cfg.new' before creation.
22065 Add `-f' to `mv' to handle the different filesystem
22066 semantics of Windows.
22067
e93e4679 220682008-07-29 Bean <bean123ch@gmail.com>
22069
22070 * normal/main.c (get_line): Fix buffer overflow bug.
22071
41694fd0 220722008-07-28 Robert Millan <rmh@aybabtu.com>
22073
22074 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
22075 (struct grub_apple_header): New struct. Describes the layout of
22076 the partmap header.
22077 (apple_partition_map_iterate): Check the header magic as well as the
22078 partition magic (which was already being checked).
22079
cfd0b4e6 220802008-07-28 Pavel Roskin <proski@gnu.org>
22081
22082 * genmk.rb: Add a warning to the beginning of the output that
22083 it's a generated file and should not be edited.
22084
93cce016 220852008-07-28 Robert Millan <rmh@aybabtu.com>
22086
22087 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22088 with the same number are found, just use issue a warning with
22089 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 22090
cd1df915 220912008-07-27 Robert Millan <rmh@aybabtu.com>
22092
22093 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
22094 information.
22095
b70a8427 220962008-07-27 Bean <bean123ch@gmail.com>
22097
22098 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
22099 (grub_fat_find_dir): Ignore case when comparing filename.
22100
8f5e379f 221012008-07-27 Bean <bean123ch@gmail.com>
22102
22103 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
22104 smallino, as it's more descriptive, and i8count can be confused with
22105 the other field count.
22106 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
22107 inode type.
22108
a85cd5a0 221092008-07-27 Bean <bean123ch@gmail.com>
22110
22111 * commands/crc.c: New file.
22112
22113 * lib/crc.c: Likewise.
22114
22115 * include/grub/lib/crc.h: Likewise.
22116
22117 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
22118
22119 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
22120 (hexdump): Move this function to ...
22121
22122 * lib/hexdump.c: ... here.
22123
22124 * include/grub/hexdump.h: Renamed to ...
22125
22126 * include/grub/lib/hexdump.h: ... this.
22127
22128 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
22129
22130 * util/grub-editenv.c: Likewise.
22131
22132 * include/envblk.h: Renamed to ...
22133
22134 * include/lib/envblk.h: ... this.
22135
22136 * util/envblk.c: Renamed to ...
22137
22138 * lib/envblk.c: ... this.
22139
22140 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
22141 lib/hexdump.c.
22142 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
22143 (pkglib_MODULES): Add crc.mod.
22144 (hexdump_mod_SOURCES): Add lib/hexdump.c.
22145 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
22146 (crc_mod_SOURCES): New macro.
22147 (crc_mod_CFLAGS): Likewise.
22148 (crc_mod_LDFLAGS): Likewise.
22149
22150 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
22151
22152 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22153
22154 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22155
22156 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22157
22158 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22159
c298def0 221602008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 22161
22162 * commands/help.c: Include <grub/term.h>.
22163 (TERM_WIDTH): Removed. Updated all users.
22164
cc349fb3 221652008-07-27 Pavel Roskin <proski@gnu.org>
22166
22167 * util/getroot.c (find_root_device): Rephrase a comment to avoid
22168 spurious warnings about a comment within a comment.
22169
9051607e 221702008-07-25 Robert Millan <rmh@aybabtu.com>
22171
22172 * util/getroot.c (find_root_device): Skip devices that match
22173 /dev/dm-[0-9]. This lets the real device be found for any type of
22174 abstraction (LVM, EVMS, RAID..).
22175 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
22176 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
22177 device is found first, find_root_device() will now skip it.
22178
01453bfc 221792008-07-24 Pavel Roskin <proski@gnu.org>
22180
22181 * include/grub/types.h: Use __builtin_bswap32() and
22182 __builtin_bswap64() with gcc 4.3 and newer.
22183
6af9849f 221842008-07-24 Christian Franke <franke@computer.org>
22185
3a0fa256 22186 * util/i386/pc/grub-install.in: If `--debug' is specified,
22187 pass `--verbose' to grub-setup.
22188 Abort script if make_system_path_relative_to_its_root() fails.
22189
7810e747 221902008-07-24 Bean <bean123ch@gmail.com>
22191
22192 * configure.ac: Fixed a bug caused by the previous cygwin patch,
22193 variable `target_platform' should be `platform'.
22194
42290e17 221952008-07-24 Bean <bean123ch@gmail.com>
22196
51cc5193 22197 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 22198 (grub_png_init_fixed_block): New function.
22199 (grub_png_decode_image_data): Handle fixed huffman code compression.
22200
2a8a80e4 222012008-07-24 Bean <bean123ch@gmail.com>
22202
22203 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
22204 (grub_pe2elf_SOURCES): New macro.
22205 (CLEANFILES): Add grub-pe2elf.
22206
22207 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
22208 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
22209 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
22210 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
22211 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
22212 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
22213 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
22214 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
22215 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
22216 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
22217 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
22218 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
22219 (GRUB_PE32_DT_FUNCTION): Likewise.
22220 (GRUB_PE32_REL_I386_DIR32): Likewise.
22221 (GRUB_PE32_REL_I386_REL32): Likewise.
22222 (grub_pe32_symbol): New structure.
22223 (grub_pe32_reloc): Likewise.
22224
22225 * util/grub-pe2elf.c: New file.
22226
22227 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
22228 start symbol in non pc platform.
22229
22230 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
22231
22232 The following patches are from Christian Franke.
22233
22234 * include/grub/dl.h: Remove .previous, gas supports this only
22235 for ELF format.
22236
22237 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
22238 Remove .type, gas supports this only for ELF format.
22239
22240 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
22241 nullbytes in symbol table. This fixes an infinite loop if table is
22242 zero filled.
22243
22244 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
22245 TARGET_IMG_LDFLAGS and EXEEXT.
22246
22247 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
22248 TARGET_IMG_LDFLAGS_AC.
22249 (grub_CHECK_STACK_ARG_PROBE): New function.
22250
22251 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
22252
22253 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
22254
22255 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
22256 to set TARGET_IMG_LD* accordingly.
22257 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
22258 Add call to grub_CHECK_STACK_ARG_PROBE.
22259 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
22260
22261 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
22262
22263 * genmk.rb: Add EXEEXT to CLEANFILES.
22264
12ccdb75 222652008-07-23 Robert Millan <rmh@aybabtu.com>
22266
22267 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
22268 define the codes for arrows and lines used for the menu).
22269 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
22270 as well.
22271
22272 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
22273 fonts, because the latter are too slow.
22274
18eeaf04 222752008-07-21 Bean <bean123ch@gmail.com>
22276
22277 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
22278 a20. Run keyboard test last, as it will cause macbook to halt.
22279
b095e2ad 222802008-07-18 Pavel Roskin <proski@gnu.org>
22281
22282 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
22283 load foreign architecture modules correctly anyway. Keep
22284 support for loading host architecture modules, whether we
22285 compile them or not.
22286
737feb35 222872008-07-17 Pavel Roskin <proski@gnu.org>
22288
3f4ce737 22289 * configure.ac: Use -m32 or -m64 regardless of whether we had to
22290 change target_cpu. The compiler default can mismatch target_cpu
22291 in any case.
22292
4ad2d049 22293 * disk/efi/efidisk.c: Fix format warnings on x86_64.
22294 * kern/efi/efi.c: Likewise.
22295
f6130a12 22296 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
22297 target compiler is functional.
22298 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
22299 are set up.
22300
58393a2d 22301 * configure.ac: Default to efi platform for x86_64-apple. Allow
22302 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
22303 adjustments from the rest, only do them if target is not
22304 explicitly given. Merge other adjustments with the final sanity
22305 check. Remove an extraneous check for supported CPU. Be
22306 specific which CPU and which platform is not supported.
22307
737feb35 22308 * configure.ac: Default to pc platform for x86_64.
22309
546f966a 223102008-07-17 Robert Millan <rmh@aybabtu.com>
22311
22312 Partial LinuxBIOS -> Coreboot rename.
22313
22314 * conf/i386-linuxbios.rmk: Renamed to ...
22315 * conf/i386-coreboot.rmk: ... this.
22316 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
22317 * configure.ac: Accept "coreboot" as input platform (but maintain
22318 compatibility with "linuxbios").
22319 * include/grub/i386/linuxbios: Renamed to ...
22320 * include/grub/i386/coreboot: ... this.
22321
20011694 223222008-07-17 Bean <bean123ch@gmail.com>
22323
22324 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 22325 (appleldr_mod_SOURCE): New variable.
20011694 22326 (appleldr_mod_CFLAGS): Likewise.
22327 (appleldr_mod_LDFLAGS): Likewise.
22328 (pci_mod_SOURCES): Likewise.
22329 (pci_mod_CFLAGS): Likewise.
22330 (pci_mod_LDFLAGS): Likewise.
22331 (lspci_mod_SOURCES): Likewise.
22332 (lspci_mod_CFLAGS): Likewise.
22333 (lspci_mod_LDFLAGS): Likewise.
22334
22335 * conf/x86_64-efi.rmk: New file.
22336
22337 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
22338 macro.
22339 (grub_efidisk_write): Likewise.
22340
22341 * include/efi/api.h (efi_call_0): New macro.
22342 (efi_call_1): Likewise.
22343 (efi_call_2): Likewise.
22344 (efi_call_3): Likewise.
22345 (efi_call_4): Likewise.
22346 (efi_call_5): Likewise.
22347 (efi_call_6): Likewise.
22348
22349 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
22350 grub_rescue_cmd_chainloader.
22351
22352 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
22353 (grub_pe32_optional_header): Change some fields based on i386 or
22354 x86_64 platform.
22355 (GRUB_PE32_PE32_MAGIC): Likewise.
22356
22357 * include/grub/efi/uga_draw.h: New file.
22358
22359 * include/grub/elf.h (STN_ABS): New constant.
22360 (R_X86_64_NONE): Relocation constant for x86_64.
22361 (R_X86_64_64): Likewise.
22362 (R_X86_64_PC32): Likewise.
22363 (R_X86_64_GOT32): Likewise.
22364 (R_X86_64_PLT32): Likewise.
22365 (R_X86_64_COPY): Likewise.
22366 (R_X86_64_GLOB_DAT): Likewise.
22367 (R_X86_64_JUMP_SLOT): Likewise.
22368 (R_X86_64_RELATIVE): Likewise.
22369 (R_X86_64_GOTPCREL): Likewise.
22370 (R_X86_64_32): Likewise.
22371 (R_X86_64_32S): Likewise.
22372 (R_X86_64_16): Likewise.
22373 (R_X86_64_PC16): Likewise.
22374 (R_X86_64_8): Likewise.
22375 (R_X86_64_PC8): Likewise.
22376
22377 * include/grub/i386/efi/pci.h: New file.
22378
22379 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
22380 Change it value based on platform.
22381 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
22382 (GRUB_E820_RAM): Likewise.
22383 (GRUB_E820_RESERVED): Likewise.
22384 (GRUB_E820_ACPI): Likewise.
22385 (GRUB_E820_NVS): Likewise.
22386 (GRUB_E820_EXEC_CODE): Likewise.
22387 (GRUB_E820_MAX_ENTRY): Likewise.
22388 (grub_e820_mmap): New structure.
22389 (linux_kernel_header): Change the efi field according to different
22390 kernel version, also field from linux_kernel_header.
22391
22392 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
22393
22394 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
22395 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
22396 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
22397 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
22398 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
22399 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
22400 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
22401 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
22402 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
22403 (GRUB_PCI_ADDR_IO_MASK): Likewise.
22404
22405 * include/grub/x86_64/efi/kernel.h: New file.
22406
22407 * include/grub/x86_64/efi/loader.h: Likewise.
22408
22409 * include/grub/x86_64/efi/machine.h: Likewise.
22410
22411 * include/grub/x86_64/efi/pci.h: Likewise.
22412
22413 * include/grub/x86_64/efi/time.h: Likewise.
22414
22415 * include/grub/x86_64/linux.h: Likewise.
22416
22417 * include/grub/x86_64/setjmp.h: Likewise.
22418
22419 * include/grub/x86_64/time.h: Likewise.
22420
22421 * include/grub/x86_64/types.h: Likewise.
22422
22423 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
22424 GRUB_TARGET_SIZEOF_VOID_P.
22425
22426 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
22427 (grub_efi_locate_handle): Likewise.
22428 (grub_efi_open_protocol): Likewise.
22429 (grub_efi_set_text_mode): Likewise.
22430 (grub_efi_stall): Likewise.
22431 (grub_exit): Likewise.
22432 (grub_reboot): Likewise.
22433 (grub_halt): Likewise.
22434 (grub_efi_exit_boot_services): Likewise.
22435 (grub_get_rtc): Likewise.
22436
22437 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
22438 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
22439 (grub_efi_allocate_pages): Wrap efi calls.
22440 (grub_efi_free_pages): Wrap efi calls.
22441 (grub_efi_get_memory_map): Wrap efi calls.
22442
22443 * kern/x86_64/dl.c: New file.
22444
22445 * kern/x86_64/efi/callwrap.S: Likewise.
22446
22447 * kern/x86_64/efi/startup.S: Likewise.
22448
22449 * loader/efi/appleloader.c: Likewise.
22450
22451 * loader/efi/chainloader.c (cmdline): New variable.
22452 (grub_chainloader_unload): Wrap efi calls.
22453 (grub_chainloader_boot): Likewise.
22454 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
22455 command line.
22456
22457 * loader/efi/chainloader_normal.c (chainloader_command):
22458 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
22459 command line.
22460
22461 * loader/i386/efi/linux.c (allocate_pages): Change allocation
22462 method.
22463 (grub_e820_add_region): New function.
22464 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
22465 booting.
22466 (grub_find_video_card): New function.
22467 (grub_linux_setup_video): New function.
22468 (grub_rescue_cmd_linux): Probe for video information.
22469
22470 * normal/x86_64/setjmp.S: New file.
22471
22472 * term/efi/console.c (map_char): New function.
22473 (grub_console_putchar): Map unicode char.
22474 (grub_console_checkkey): Wrap efi calls.
22475 (grub_console_getkey): Likewise.
22476 (grub_console_getwh): Likewise.
22477 (grub_console_gotoxy): Likewise.
22478 (grub_console_cls): Likewise.
22479 (grub_console_setcolorstate): Likewise.
22480 (grub_console_setcursor): Likewise.
22481
22482 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
22483
59652a20 224842008-07-16 Pavel Roskin <proski@gnu.org>
22485
ef294055 22486 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
22487 format strings.
22488
59652a20 22489 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
22490 pointer, not an integer. This fixes a warning and prevents
22491 precision loss on 64-bit systems.
22492 (relocate_addresses): Remove unneeded cast.
22493
afc3b5d7 224942008-07-15 Pavel Roskin <proski@gnu.org>
22495
506b2b3e 22496 * kern/i386/ieee1275/init.c: Include grub/cache.h.
22497
62ead89c 22498 * term/ieee1275/ofconsole.c: Disable code unused on i386.
22499
c4cd51d7 22500 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
22501 Fix comparison between signed and unsigned.
22502
0d3d8f28 22503 * include/grub/i386/ieee1275/console.h: Declare
22504 grub_console_init() and grub_console_fini().
22505
8804b286 22506 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
22507 It's empty and unused.
22508
ee01cf35 22509 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
22510 beginning to avoid warnings with some compilers.
22511
afc3b5d7 22512 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
22513 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
22514
e4e8eaa5 225152008-07-14 Pavel Roskin <proski@gnu.org>
22516
407aceb4 22517 * kern/env.c (grub_register_variable_hook): Don't copy empty
22518 string, it leaks memory. Pass "" to grub_env_set(), it should
22519 handle constant strings.
22520
e4e8eaa5 22521 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
22522 * commands/cmp.c (grub_cmd_cmp): Likewise.
22523 * kern/dl.c (grub_dl_flush_cache): Likewise.
22524 (grub_dl_load_core): Likewise.
22525 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
22526 (grub_elf64_load_phdrs): Likewise.
22527
d4e2dad3 225282008-07-13 Pavel Roskin <proski@gnu.org>
22529
22530 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
22531 between signed and unsigned.
22532 (LzmaEnc_Finish): Fix warning about an unused parameter.
22533
aa24b516 225342008-07-13 Bean <bean123ch@gmail.com>
22535
22536 * Makefile.in (enable_lzo): New rule.
22537
22538 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
22539
22540 * configure.ac (ENABLE_LZO): New option --enable-lzo.
22541
22542 * boot/i386/pc/lnxboot.S: #include <config.h>.
22543
22544 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 22545 its value according to the compression algorithm used, lzo or lzma.
aa24b516 22546
22547 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
22548 compression algorithm according to configure macro.
22549
22550 * kern/i386/pc/startup.S (codestart): Likewise.
22551
22552 * kern/i386/pc/lzma_decode.S: New file.
22553
22554 * include/grub/lib/LzFind.h: Likewise.
22555
22556 * include/grub/lib/LzHash.h: Likewise.
22557
22558 * include/grub/lib/LzmaDec.h: Likewise.
22559
22560 * include/grub/lib/LzmaEnc.h: Likewise.
22561
22562 * include/grub/lib/LzmaTypes.h: Likewise.
22563
22564 * lib/LzFind.c: Likewise.
22565
22566 * lib/LzmaDec.c: Likewise.
22567
22568 * lib/LzmaEnc.c: Likewise.
22569
4ae821ac 225702008-07-13 Bean <bean123ch@gmail.com>
22571
22572 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
22573 (grub_ext4_extent_header): New structure.
22574 (grub_ext4_extent): Likewise.
22575 (grub_ext4_extent_idx): Likewise.
22576 (grub_ext4_find_leaf): New function.
22577 (grub_ext2_read_block): Handle extents.
22578
9a745147 225792008-07-12 Robert Millan <rmh@aybabtu.com>
22580
22581 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
22582
d49a4cf6 225832008-07-11 Robert Millan <rmh@aybabtu.com>
22584
22585 * util/grub.d/40_custom.in: New file. Example on how to add custom
22586 entries to /etc/grub.d.
22587 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
22588 40_custom (implicitly, by merging all the grub.d rules).
22589
947414b4 225902008-07-11 Pavel Roskin <proski@gnu.org>
22591
0059cf6f 22592 * commands/read.c (grub_getline): Fix invalid memory access.
22593 Don't add newline to the variable value.
22594
947414b4 22595 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
22596 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
22597 (serial_hw_get_port): Check validity of the port number.
22598 (grub_cmd_serial): Check return value of serial_hw_get_port().
22599
62a02d00 226002008-07-07 Pavel Roskin <proski@gnu.org>
22601
22602 * boot/i386/pc/diskboot.S (notification_string): Replace
22603 "Loading kernel" with just "loading". This is shorter, less
22604 confusing and saves a few bytes for possible future changes.
22605
3e5581b0 226062008-07-05 Pavel Roskin <proski@gnu.org>
22607
ea387a48 22608 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
22609 size for ATAPI devices, they are undefined. Output sector
22610 number in decimal form.
22611
3e5581b0 22612 * disk/ata.c: Use named constants for status bits.
22613
fdecb8fd 226142008-07-04 Pavel Roskin <proski@gnu.org>
22615
bcd35b90 22616 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
22617 grub_addr_t before casting it to the void pointer to fix a
22618 warning. Non-addressable regions are discarded earlier.
22619 (grub_arch_modules_addr): Cast _end to grub_addr_t.
22620 * kern/i386/linuxbios/table.c: Include grub/misc.h.
22621 (check_signature): Don't shadow table_header.
22622 (grub_linuxbios_table_iterate): Cast numeric constants to
22623 grub_linuxbios_table_header_t.
22624 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
22625 grub_stop().
22626
af58ab3d 22627 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
22628 prevent warnings.
22629
1759aa57 22630 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
22631 pointer, which can cause warnings. Support 64-bit addresses.
22632
fdecb8fd 22633 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
22634 of sizeof(long). This fixes PowerPC image generation on x86_64.
22635
8516d2a8 226362008-07-04 Robert Millan <rmh@aybabtu.com>
22637
22638 This fixes a performance issue when pc & gpt partmap iterators
22639 didn't abort iteration even after our hook found what it was
fe987087 22640 looking for (often causing expensive probes of non-existent drives).
8516d2a8 22641
22642 Some callers relied on previous buggy behaviour, since they would
34c44600 22643 raise an error when their own hooks caused early abortion of its
8516d2a8 22644 iteration.
22645
22646 * kern/device.c (grub_device_open): Improve error message.
22647 * disk/lvm.c (grub_lvm_open): Likewise.
22648 * disk/raid.c (grub_raid_open): Likewise.
22649
22650 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
22651 when hook requests it, independently of grub_errno.
22652 (pc_partition_map_probe): Do not fail when find_func() caused
22653 early abortion of pc_partition_map_iterate().
22654
22655 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
22656 when hook requests it, independently of grub_errno.
22657 (gpt_partition_map_probe): Do not fail when find_func() caused
22658 early abortion of gpt_partition_map_iterate().
22659
22660 * kern/partition.c (grub_partition_iterate): Abort parent iteration
22661 when hook requests it, independently of grub_errno. Do not fail when
22662 part_map_iterate_hook() caused early abortion of p->iterate().
22663
22664 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
22665 when grub_partition_iterate() returned with non-zero.
22666
277d0de9 226672008-07-03 Pavel Roskin <proski@gnu.org>
22668
22669 * disk/ata.c (grub_ata_pio_write): Check status before writing,
22670 like we do in grub_ata_pio_read().
22671 (grub_ata_readwrite): Always write individual sectors. Fix the
22672 sector count for the remainder.
22673 (grub_ata_write): Enable writing to ATA devices. Correctly
22674 report error for ATAPI devices.
22675
d4c9b428 226762008-07-02 Pavel Roskin <proski@gnu.org>
22677
e43fc690 22678 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
22679 warning.
22680
f707af42 22681 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
22682 for every read sector, we already increment it for the whole
22683 batch. This fixes reading more than 256 sectors at once.
22684
11e16b15 22685 * util/grub-editenv.c (cmd_info): Cast argument to long
22686 explicitly. ptrdiff_t reduces to int on i386.
22687
cbabfdd4 22688 * util/grub-editenv.c (main): Be specific which parameter is
22689 missing.
22690
b8fbce0a 22691 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
22692 (memdisk): Make memdisk_orig_addr a pointer.
22693
c9c8e606 22694 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
22695 for file offsets, use grub_off_t instead. Fix printf format
22696 warnings.
22697
ca62e598 22698 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
22699 there. Real unexpected warnings should not drown in the noise
22700 about known problems.
22701
ce8d1766 22702 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
22703 grub_disk_addr_t for memory addresses.
22704
00c7a56a 22705 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
22706 explicitly to fix a warning.
22707
08d3ef09 22708 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
22709
cb71ba20 22710 * Makefile.in (MODULE_LDFLAGS): New variable.
22711 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
22712 the linker accepts --build-id=none.
22713 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
22714 MODULE_LDFLAGS.
22715 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
22716
d4c9b428 22717 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
22718 those in Linux XFS code. Provide a way to access 64-bit parent
22719 inode.
22720 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
22721 the end of struct grub_xfs_dir_header.
22722
d4156eee 227232008-07-02 Bean <bean123ch@gmail.com>
22724
22725 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
22726 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
22727 and GRUB_IEEE1275_FLAG_NO_ANSI.
22728
22729 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
22730 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
22731 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
22732
22733 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
22734 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
22735
22736 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
22737 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
22738
22739 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
22740 esc sequence on non ANSI terminal.
22741 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
22742
22743 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
22744 beginning of file.
22745
2270f77b 227462008-07-02 Bean <bean123ch@gmail.com>
22747
22748 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
22749 (grub_editenv_SOURCES): New variable.
22750 (pkglib_MODULES): Add loadenv.mod.
22751 (loadenv_mod_SOURCES): New variable.
22752 (loadenv_mod_CFLAGS): Likewise.
22753 (loadenv_mod_LDFLAGS): Likewise.
22754
22755 * include/grub/envblk.h: New file.
22756
22757 * util/envblk.c: New file.
22758
22759 * util/grub-editenv.c: New file.
22760
22761 * commands/loadenv.c: New file.
22762
0e9e51ec 227632008-07-01 Pavel Roskin <proski@gnu.org>
22764
d89b7634 22765 * include/multiboot2.h (struct multiboot_tag_module): Use char,
22766 not unsigned char. This fixes warnings and is consistent with
22767 other tags.
22768
bf1835b1 22769 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
22770
8222a04b 22771 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
22772
6a42d99d 22773 * term/tparm.c (analyze): Always set *popcount.
22774
10b159d1 22775 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
22776 cast to fix a warning.
22777
b8789f6c 22778 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
22779 cast to suppress a warning.
22780
29d7e38a 22781 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
22782 grub_fshelp_read_file() expects.
22783
f341f669 22784 * fs/fat.c: Fix UUID calculation on big-endian systems. We
22785 write uuid as a 32-bit value in CPU byte order, so declare and
22786 use it as such.
22787
0e9e51ec 22788 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
22789 long if the format specifier expects it.
22790 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
22791 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22792 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
22793 long to fix a warning.
22794 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
22795 grub_dprintf() arguments to fix warnings.
22796
3aefa857 227972008-06-30 Pavel Roskin <proski@gnu.org>
22798
56c7668b 22799 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
22800 install_bsd_part immediately before core.img is embedded or
22801 modified on disk. This fixes core.img verification if core.img
22802 cannot be embedded.
22803
3aefa857 22804 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
22805 core_path to calculate the blocklist.
22806 Patch from Javier Martín <lordhabbit@gmail.com>
22807
5444088d 228082008-06-29 Robert Millan <rmh@aybabtu.com>
22809
22810 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
22811 block to disk block.
22812 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
22813 Patch from Niels Böhm <bitbucket@arcor.de>
22814
674835c8 228152008-06-29 Robert Millan <rmh@aybabtu.com>
22816
22817 * util/update-grub_lib.in (font_path): Search for fonts in
22818 /boot/grub first, which is more likely to be readable (we aren't
22819 deciding where fonts live, just looking for them).
22820
f527dbc8 228212008-06-26 Pavel Roskin <proski@gnu.org>
22822
6c2d8df6 22823 * util/biosdisk.c (read_device_map): Don't leave dead map
22824 entries for devices failing stat() check.
22825
f527dbc8 22826 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
22827 core_path_dev for the core.img path on the target device.
22828
aebe3d13 228292008-06-26 Robert Millan <rmh@aybabtu.com>
22830
22831 * disk/fs_uuid.c: New file.
22832 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
22833 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
22834 (fs_uuid_mod_LDFLAGS): New variables.
22835 * include/grub/disk.h (grub_disk_dev_id): Add
22836 `GRUB_DISK_DEVICE_UUID_ID'.
22837 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
22838 implement iterate().
22839
37aaf354 228402008-06-26 Robert Millan <rmh@aybabtu.com>
22841
22842 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
22843 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
22844 Linux image includes no initrd.
22845
25ff262a 228462008-06-21 Javier Martín <lordhabbit@gmail.com>
22847
22848 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
22849 call to resolve the core image location that effectively appended the
22850 name twice.
22851
76a2bd44 228522008-06-21 Robert Millan <rmh@aybabtu.com>
22853
22854 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
22855 call from here ...
22856
22857 * util/grub.d/10_hurd.in: ... to here ...
22858 * util/grub.d/10_linux.in: ... and here.
22859
650e1c79 228602008-06-19 Robert Millan <rmh@aybabtu.com>
22861
fe987087 22862 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 22863 after it has been set by grub_machine_set_prefix().
22864
6ce63911 228652008-06-19 Robert Millan <rmh@aybabtu.com>
22866
22867 * commands/search.c (search_label, search_fs_uuid, search_file): Print
22868 search result when not saving to variable, not the other way around.
22869 When saving to variable, abort iteration as soon as a match is found.
22870
73940cec 228712008-06-19 Robert Millan <rmh@aybabtu.com>
22872
22873 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
22874 check for partition that provides /boot/grub. Its logic is flawed,
22875 as it prevents prepare_grub_to_access_device() from being called
22876 multiple times.
22877
3c62a39d 228782008-06-19 Robert Millan <rmh@aybabtu.com>
22879
22880 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
22881 "insmod" command directly when abstraction modules are needed,
fe987087 22882 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 22883 since it had already been processed).
22884
47395a42 228852008-06-19 Pavel Roskin <proski@gnu.org>
22886
22887 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
22888 changed. This is needed in case GRUB_LIBDIR changes.
22889 * conf/i386-ieee1275.rmk: Likewise.
22890 * conf/i386-linuxbios.rmk: Likewise.
22891 * conf/i386-pc.rmk: Likewise.
22892 * conf/powerpc-ieee1275.rmk: Likewise.
22893
a145ac2d 228942008-06-18 Pavel Roskin <proski@gnu.org>
22895
22896 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
22897 kernel_elf_symlist.c to symlist.c for consistency with other
22898 architectures. Update all users.
22899 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22900
7847c51e 229012008-06-18 Robert Millan <rmh@aybabtu.com>
22902
22903 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
22904 it in prefix.
22905
22906 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
22907 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
22908 a RAID device, run setup() for all members independently on whether
22909 LVM abstraction is being used.
22910 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
22911 If grub-mkimage has set `*install_dos_part == -2', don't override this
22912 value.
22913 Perform *install_dos_part adjustments independently on whether
22914 we're embedding or not.
22915 Clarify error message when image is too big for embedding.
22916 Remove duplicate *install_dos_part stanza.
22917
b23e5644 229182008-06-17 Robert Millan <rmh@aybabtu.com>
22919
22920 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
22921 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
22922 variables.
22923 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
22924 values in grub_ofconsole_normal_color and
22925 grub_ofconsole_highlight_color (they're not directly related to
22926 background and foreground).
22927 (grub_ofconsole_setcolorstate): Extract background and foreground
22928 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
22929
0aac2f79 229302008-06-17 Robert Millan <rmh@aybabtu.com>
22931
22932 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
22933 /boot/grub for the check in last commit, not /boot (they could be
22934 different partitions).
22935
3cca7ef3 229362008-06-16 Robert Millan <rmh@aybabtu.com>
22937
22938 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
22939 asked to setup access for the same partition that provides /boot,
22940 don't bother using UUIDs since our root already has the value we
22941 want.
22942
347396d8 229432008-06-16 Robert Millan <rmh@aybabtu.com>
22944
22945 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
22946 I2O devices.
22947 Patch from Sven Mueller <sven@debian.org>.
22948
991477f8 229492008-06-16 Robert Millan <rmh@aybabtu.com>
22950
22951 * util/update-grub.in: Check for $EUID instead of $UID.
22952 Reported by Vincent Zweije.
22953
d31a32a1 229542008-06-16 Bean <bean123ch@gmail.com>
22955
fe987087 22956 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 22957 (grub_ext2_read_block): Likewise.
22958 (grub_ext2_read_inode): Likewise.
22959 (grub_ext2_mount): Likewise.
22960 (grub_ext2_close): Likewise.
22961 (grub_ext3_get_journal): Removed.
22962
fe987087 22963 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 22964 (grub_reiserfs_read_symlink): Likewise.
22965 (grub_reiserfs_mount): Likewise.
22966 (grub_reiserfs_open): Likewise.
22967 (grub_reiserfs_read): Likewise.
22968 (grub_reiserfs_close): Likewise.
22969 (grub_reiserfs_get_journal): Removed.
22970
22971 * fs/fshelp.c (grub_fshelp_read): Removed.
22972 (grub_fshelp_map_block): Likewise.
22973
22974 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
22975 (grub_fshelp_journal): Likewise.
22976 (grub_fshelp_read): Likewise.
22977 (grub_fshelp_map_block): Likewise.
22978
3540a760 229792008-06-16 Pavel Roskin <proski@gnu.org>
22980
22981 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
22982 floating point anymore.
22983 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
22984
95614c84 229852008-06-15 Pavel Roskin <proski@gnu.org>
22986
22987 * commands/ls.c (grub_ls_list_files): Use integer calculations
22988 for human readable format, avoid floating point use.
22989 * kern/misc.c (grub_ftoa): Remove.
22990 (grub_vsprintf): Remove floating point support.
22991
50465dd6 229922008-06-15 Robert Millan <rmh@aybabtu.com>
22993
fe6b695a 22994 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 22995 devices.
22996 Reported by Max Vozeler.
22997
a9207284 229982008-06-15 Robert Millan <rmh@aybabtu.com>
22999
23000 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
23001 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
23002 skipped later.
23003 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
23004 the beginning of the prefix.
23005
23006 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
23007 It is assumed that if we have a memdisk, grub-mkimage has set
23008 grub_prefix to include the "(memdisk)" drive in it.
23009
a7cbd45a 230102008-06-15 Robert Millan <rmh@aybabtu.com>
23011
23012 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
23013 Initialize keyboard controller after registering the terminal, so that
23014 grub_printf() can be called from grub_keyboard_controller_init().
23015
21cf716a 230162008-06-15 Robert Millan <rmh@aybabtu.com>
23017
23018 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
23019 extent-btree which is written as big endian on disk.
23020 Reported by Alain Greppin <al@chilibi.org>.
23021
23a64d8e 230222008-06-14 Robert Millan <rmh@aybabtu.com>
23023
23024 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
23025 * util/i386/pc/grub-install.in (modules): Likewise.
23026
d687651c 230272008-06-13 Pavel Roskin <proski@gnu.org>
23028
23029 * commands/ls.c (grub_ls_list_files): Fix format warnings.
23030
dfe9ddd4 230312008-06-13 Bean <bean123ch@gmail.com>
23032
23033 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
23034
23035 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
23036
23037 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
23038 to indicate sparse block.
23039
16ae7781 230402008-06-12 Pavel Roskin <proski@gnu.org>
23041
e6d1a308 23042 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
23043 number, grub_fshelp_read() does it for us.
23044
16ae7781 23045 * fs/fshelp.c (grub_fshelp_read): New function. Implement
23046 linear disk read with journal translation.
23047 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
23048 * include/grub/fshelp.h: Declare grub_fshelp_read().
23049
40fd3a2b 230502008-06-09 Pavel Roskin <proski@gnu.org>
23051
23052 * fs/minix.c (grub_minix_mount): Handle error reading
23053 superblock.
23054
f5679726 230552008-06-08 Robert Millan <rmh@aybabtu.com>
23056
23057 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
23058 don't append the RAID prefix afterwards.
23059 Reported by Clint Adams.
23060
ce525529 230612008-06-08 Robert Millan <rmh@aybabtu.com>
23062
23063 Based on description from Pavel:
23064 * kern/disk.c (grub_disk_check_range): Rename to ...
23065 (grub_disk_adjust_range): ... this. Add a comment explaining the
23066 tasks performed by this function.
23067
ad4936a0 230682008-06-08 Robert Millan <rmh@aybabtu.com>
23069
23070 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
23071 `num_serial' (for consistency with other variables).
23072 (struct grub_ntfs_data): Add `uuid' member.
23073 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
23074 (grub_ntfs_uuid): New function.
23075 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
23076
dc20b0f9 230772008-06-07 Pavel Roskin <proski@gnu.org>
23078
23079 * util/biosdisk.c (open_device): Revert last change to the
23080 function, it broke installation. The sector needs to be
23081 different dependent on which device is opened.
23082
c5e3cfba 230832008-06-06 Robert Millan <rmh@aybabtu.com>
23084
23085 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
23086 rest of GRUB, and breakage doesn't happen if its value were modified.
23087
23088 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23089 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
23090 a constant (same value).
23091 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
23092 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
23093
26a1f8c4 230942008-06-06 Robert Millan <rmh@aybabtu.com>
23095
23096 * util/biosdisk.c (open_device): Do not modify sector offset when
23097 accessing a partition. kern/disk.c already handles this for us.
23098
25d6b327 230992008-06-06 Robert Millan <rmh@aybabtu.com>
23100
23101 * util/grub-emu.c (grub_machine_init): Move code in this function from
23102 here ...
23103 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
23104 segfault in case grub_printf() is called).
23105
23106 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
23107 grub_probe. Update all users not to explicitly add it again.
23108 (grub_device): New variable; contains corresponding device for grubdir.
23109 (fs_module, partmap_module, devabstraction_module): Pass
23110 `--device ${grub_device}' to grub_probe to avoid traversing /dev
23111 every time.
23112
9ece62fb 231132008-06-05 Robert Millan <rmh@aybabtu.com>
23114
23115 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
23116 is found, print it (same layout as with labels).
23117
1ad36d37 231182008-06-04 Robert Millan <rmh@aybabtu.com>
23119
23120 * util/biosdisk.c (get_drive): Rename to ...
23121 (find_grub_drive): ... this. Update all users.
23122
23123 (get_os_disk): Rename to ...
23124 (convert_system_partition_to_system_disk): ... this. Update all users.
23125
23126 (find_drive): Rename to ...
23127 (find_system_device): ... this. Update all users.
23128
e6a30859 231292008-06-04 Robert Millan <rmh@aybabtu.com>
23130
23131 * util/biosdisk.c (get_os_disk): Handle IDA devices.
23132 * util/grub-mkdevicemap.c (get_mmc_disk_name)
23133 (make_device_map): Likewise.
23134
00c108a4 231352008-06-01 Robert Millan <rmh@aybabtu.com>
23136
23137 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
23138 before dereferencing it.
23139
23140 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
23141 union with fat12/fat16-specific ones. Add some new fields, including
23142 `num_serial' for both versions.
23143 (struct grub_fat_data): Add `uuid' member.
23144 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
23145 names. Initialize `data->uuid' using `num_serial'.
23146 (grub_fat_uuid): New function.
23147 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
23148
23149 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
23150 (grub_reiserfs_uuid): New function.
23151 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
23152 member.
23153
23154 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
23155 (grub_xfs_uuid): New function.
23156 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
23157
1385c5bb 231582008-06-01 Robert Millan <rmh@aybabtu.com>
23159
23160 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
23161 code that is backward compatible with pre-uuid search command.
23162
c682dfd7 231632008-05-31 Robert Millan <rmh@aybabtu.com>
23164
23165 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
23166 floppies after everything else, to ensure floppy drive isn't accessed
23167 unnecessarily (patch from Bean).
23168
b7db5d47 231692008-05-31 Robert Millan <rmh@aybabtu.com>
23170
23171 * commands/search.c (search_label, search_fs_uuid, search_file): Do
23172 not print device names when we were asked to set a variable.
23173
6e037aa9 231742008-05-31 Robert Millan <rmh@aybabtu.com>
23175
23176 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
23177 using "cursor-on" and "cursor-off" commands (understood at least by
23178 the Open Firmware flavour on OLPC).
23179
41305bc8 231802008-05-31 Michael Gorven <michael@gorven.za.net>
23181
23182 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
23183 on and off sequences.
23184
69ba137e 231852008-05-31 Robert Millan <rmh@aybabtu.com>
23186
23187 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
23188 * util/update-grub.in: Likewise.
23189
520ae21b 231902008-05-30 Pavel Roskin <proski@gnu.org>
23191
23192 * util/biosdisk.c (linux_find_partition): Simplify logic and
23193 make the code more universal. Keep special processing for
23194 devfs, but use a simple rule for all other devices. If the
23195 device ends with a number, append 'p' and the partition number.
23196 Otherwise, append only the partition number.
23197
5786569b 231982008-05-30 Robert Millan <rmh@aybabtu.com>
23199
23200 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
23201 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
23202 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
23203 the `root' parameter to Linux.
23204
51500452 232052008-05-30 Robert Millan <rmh@aybabtu.com>
23206
23207 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
23208 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
23209 --fs_uuid with --fs-uuid.
23210 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
23211 all filesystems support them).
23212
811d3878 232132008-05-30 Robert Millan <rmh@aybabtu.com>
23214
23215 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 23216 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 23217
cab63c95 232182008-05-30 Robert Millan <rmh@aybabtu.com>
23219
23220 * util/grub.d/00_header.in: Remove obsolete comment referencing
23221 convert_system_path_to_grub_path().
23222 * util/update-grub.in: Likewise.
23223 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
23224 (convert_system_path_to_grub_path): Add a warning message explaining
23225 that this function is deprecated. Rely on is_path_readable_by_grub()
23226 for the readability checks.
23227 (font_path): Use is_path_readable_by_grub() for the readability
23228 check rather than convert_system_path_to_grub_path().
23229
972e2f7a 232302008-05-30 Robert Millan <rmh@aybabtu.com>
23231
23232 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
23233 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
23234 converting it first.
23235 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
23236 grub.cfg for access to font file, and afterwards call it again to set
23237 the root device.
23238
62191274 232392008-05-30 Robert Millan <rmh@aybabtu.com>
23240
23241 * commands/search.c (options): Add --fs_uuid option.
23242 (search_fs_uuid): New function.
23243 (grub_cmd_search): Fix --set argument passing.
23244 Use search_fs_uuid() when requested via --fs_uuid.
23245 (grub_search_init): Update help message.
23246 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
23247 and redeclare it as an array of 16-bit words.
23248 (grub_ext2_uuid): New function.
23249 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
23250 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
23251 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
23252 (GRUB_DEVICE_BOOT_UUID): New variables.
23253 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
23254 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
23255 whenever possible.
23256 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
23257 just assume `root' variable has the right value.
23258 * util/grub.d/10_linux.in: Likewise.
23259 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
23260 via PRINT_FS_UUID.
23261 (main): Recognise `-t fs_uuid' argument.
23262
01b73ec8 232632008-05-30 Robert Millan <rmh@aybabtu.com>
23264
23265 * util/biosdisk.c (map): Redefine structure to hold information
23266 about GRUB drive name.
fe6b695a 23267 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 23268 drive names.
23269 (call_hook): Remove.
23270 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
23271 member. Assume drive has partitions.
23272 (grub_util_biosdisk_open): Access device names via `.device' struct
23273 member.
23274 (open_device): Likewise.
23275 (find_drive): Likewise.
23276 (read_device_map): Adjust map[] usage to match the new struct
23277 definition. Don't check for duplicates (still possible, but not cheap
23278 anymore).
23279 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
23280 (make_device_name): Remove assumption of BIOS-like drive names.
23281
22f16596 232822008-05-30 Pavel Roskin <proski@gnu.org>
23283
23284 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
23285 compiling execute.c doesn't need grub_script.tab.h anymore.
23286 (normal/command.c_DEPENDENCIES): Likewise.
23287 (normal/function.c_DEPENDENCIES): Likewise.
23288 * conf/i386-ieee1275.rmk: Likewise.
23289 * conf/i386-linuxbios.rmk: Likewise.
23290 * conf/i386-pc.rmk: Likewise.
23291 * conf/powerpc-ieee1275.rmk: Likewise.
23292 * conf/sparc64-ieee1275.rmk: Likewise.
23293
528ad8f2 232942008-05-29 Pavel Roskin <proski@gnu.org>
23295
d1dff95d 23296 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
23297 when scanning metadata for volume group name.
23298
528ad8f2 23299 * include/grub/script.h: Don't include grub_script.tab.h. It's
23300 a generated file, which may only be included from the files with
23301 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
23302 use union YYSTYPE, as the later allows forward declaration.
23303 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
23304
47248e08 233052008-05-29 Robert Millan <rmh@aybabtu.com>
23306
23307 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
23308 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
23309 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
23310 (grub_console_checkkey): Add grub_dprintf() call to report unknown
23311 scan codes.
23312
ee632529 233132008-05-29 Robert Millan <rmh@aybabtu.com>
23314
23315 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
23316 control key combinations.
23317
eee96e08 233182008-05-29 Robert Millan <rmh@aybabtu.com>
23319
23320 * util/powerpc/ieee1275/grub-install.in: Move from here ...
23321 * util/ieee1275/grub-install.in: ... to here.
23322 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
23323 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
23324 (grub_install_SOURCES): Likewise.
23325
da9a6a94 233262008-05-29 Robert Millan <rmh@aybabtu.com>
23327
23328 * fs/affs.c: Update copyright year.
23329 * fs/ext2.c: Likewise.
23330 * fs/fshelp.c: Likewise.
23331 * fs/hfsplus.c: Likewise.
23332 * fs/ntfs.c: Likewise.
23333 * fs/xfs.c: Likewise.
23334 * include/grub/fshelp.h: Likewise.
23335 * util/grub-mkdevicemap.c: Likewise.
23336
12e65f3a 233372008-05-28 Robert Millan <rmh@aybabtu.com>
23338
23339 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
23340 might need to be fatfs to support some firmware implementations
23341 (e.g. OFW or EFI).
23342
23023641 233432008-05-28 Robert Millan <rmh@aybabtu.com>
23344
23345 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
23346 devices.
23347 * util/grub-mkdevicemap.c (get_mmc_disk_name)
23348 (make_device_map): Likewise.
23349
887d2619 233502008-05-20 Bean <bean123ch@gmail.com>
23351
23352 * fs/fshelp.c (grub_fshelp_map_block): New function.
23353 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
23354 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
23355
23356 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
23357 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
23358 (grub_fshelp_journal): New structure.
23359 (grub_fshelp_map_block): New function prototype.
23360 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
23361 (grub_fshelp_map_block): Likewise.
23362
23363 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
23364 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
23365 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
23366 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
23367 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
23368 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
23369 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
23370 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
23371 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
23372 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
23373 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
23374 (grub_ext2_sblock): New members for journal support.
23375 (grub_ext3_journal_header): New structure.
23376 (grub_ext3_journal_revoke_header): Likewise.
23377 (grub_ext3_journal_block_tag): Likewise.
23378 (grub_ext3_journal_sblock): Likewise.
23379 (grub_fshelp_node): New members logfile and journal.
23380 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
23381 grub_fshelp_map_block to get real block number.
23382 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
23383 number.
23384 (grub_ext2_read_inode): Likewise.
23385 (grub_ext3_get_journal): New function.
23386 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
23387 (grub_ext2_close): Release memory used by journal.
23388
23389 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
23390 (REISERFS_MAGIC_DESC_BLOCK): New macro.
23391 (grub_reiserfs_transaction_header): Renamed to
23392 grub_reiserfs_description_block, replace field data with real_blocks.
23393 (grub_reiserfs_commit_block): New structure.
23394 (grub_reiserfs_data): New member journal.
23395 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
23396 number.
23397 (grub_reiserfs_read_symlink): Likewise.
23398 (grub_reiserfs_iterate_dir): Likewise.
23399 (grub_reiserfs_open): Likewise.
23400 (grub_reiserfs_read): Likewise.
23401 (grub_reiserfs_get_journal): New function.
23402 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
23403 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
23404 using grub_reiserfs_get_journal.
23405 (grub_reiserfs_close): Release memory used by journal.
23406
23407 * fs/affs.c (grub_affs_read_block): Change block type to
23408 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
23409
23410 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
23411
23412 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
23413
23414 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
23415
23416 * fs/udf.c (grub_udf_read_block): Change block type to
23417 grub_disk_addr_t. Use type cast to avoid warning.
23418
23419 * fs/xfs.c (grub_xfs_read_block): Likewise.
23420
b7c6bed5 234212008-05-16 Christian Franke <franke@computer.org>
23422
23423 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
23424 to ensure that break with ESC will always work.
23425 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
23426 Remove ESC from keyboard queue.
23427
eedf167f 234282008-05-16 Christian Franke <franke@computer.org>
23429
23430 * util/biosdisk.c: [__CYGWIN__] Add includes.
23431 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
23432 (get_os_disk): Move variable declarations to OS specific
23433 parts to avoid warning.
23434 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
23435 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
23436 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
23437 Cygwin.
23438 * util/getroot.c: [__CYGWIN__] Add includes.
23439 (strip_extra_slashes): Fix "/" case.
23440 [__CYGWIN__] (get_win32_path): New function.
23441 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
23442 [__CYGWIN__] (find_root_device): Disable.
23443 [__CYGWIN__] (get_bootsec_serial): New function.
23444 [__CYGWIN__] (find_cygwin_root_device): Likewise.
23445 [__linux__] (grub_guess_root_device): Add early returns to simplify
23446 structure.
23447 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
23448 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
23449 check for Linux only.
23450
a079699e 234512008-05-15 Bean <bean123ch@gmail.com>
23452
23453 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
23454 keyboard hang problem in apple's intel mac.
23455
1cf4059a 234562008-05-09 Robert Millan <rmh@aybabtu.com>
23457
23458 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
23459 devices.
23460 * util/grub-mkdevicemap.c (get_virtio_disk_name)
23461 (make_device_map): Likewise.
23462 Reported by Aurelien Jarno <aurel32@debian.org>
23463
ed759390 234642008-05-07 Ian Campbell <ijc@hellion.org.uk>
23465
23466 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
23467 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
23468 (make_device_map): Output entries for xvd type disks.
23469
b56c4eaa 234702008-05-07 Robert Millan <rmh@aybabtu.com>
23471
23472 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
23473 devices.
23474 * util/grub-mkdevicemap.c (get_cciss_disk_name)
23475 (make_device_map): Likewise.
23476 Reported by Roland Dreier <rdreier@cisco.com>
23477
7f8866ed 234782008-05-07 Robert Millan <rmh@aybabtu.com>
23479
23480 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
23481 grub_strstr() call. Correct a few mistakes in failure path handling.
23482
b0346e0f 234832008-05-06 Robert Millan <rmh@aybabtu.com>
23484
23485 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23486 Do not print a trailing slash (therefore, the root directory is an
23487 empty string).
23488 (convert_system_path_to_grub_path): Do not remove trailing slash
23489 from make_system_path_relative_to_its_root() output.
23490
23491 * util/i386/pc/grub-install.in: Add trailing slash to output from
23492 make_system_path_relative_to_its_root().
23493
6cf12cbd 234942008-05-06 Robert Millan <rmh@aybabtu.com>
23495
23496 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
23497 ensures that output lines aren't intermangled with those sent to
23498 stderr (via grub_util_info()).
23499 * util/grub-probe.c (grub_refresh): Likewise.
23500 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
23501
0fbb3117 235022008-05-05 Christian Franke <franke@computer.org>
23503
23504 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
23505 Add Cygwin device names.
23506 (get_ide_disk_name) [__CYGWIN__]: Likewise.
23507 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
23508 (check_device): Return error instead of success on empty name.
23509 (make_device_map): Move label inside linux specific code to
23510 prevent compiler warning.
23511
8124cdb7 235122008-04-30 Robert Millan <rmh@aybabtu.com>
23513
23514 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
23515 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
23516 first boot option.
23517 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
23518
094c01d0 235192008-04-29 Robert Millan <rmh@aybabtu.com>
23520
23521 * docs/grub.cfg: New file (example GRUB configuration).
23522
f4b1fc02 235232008-04-26 Robert Millan <rmh@aybabtu.com>
23524
329ce2a5 23525 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
23526 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
23527 and `disk/ieee1275/nand.c'.
f4b1fc02 23528
25f16ec1 235292008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 23530
25f16ec1 23531 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
23532 i386-linuxbios.
23533
23534 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
23535 change the buffer size to 4096 for cdrom device.
23536
23537 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
23538 and nand.mod.
23539 (_linux_mod_SOURCES): New variable.
23540 (_linux_mod_CFLAGS): Likewise.
23541 (_linux_mod_LDFLAGS): Likewise.
23542 (linux_mod_SOURCES): Likewise.
23543 (linux_mod_CFLAGS): Likewise.
23544 (linux_mod_LDFLAGS): Likewise.
23545 (nand_mod_SOURCES): Likewise.
23546 (nand_mod_CFLAGS): Likewise.
23547 (nand_mod_LDFLAGS): Likewise.
23548
23549 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
23550 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
23551 type property. (nand device in olpc don't have this property)
23552
23553 * include/grub/disk.h (grub_disk_dev_id): New macro
23554 GRUB_DISK_DEVICE_NAND_ID.
23555
23556 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
23557 function prototype.
23558 (grub_rescue_cmd_initrd): Likewise.
23559
23560 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
23561 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
23562 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 23563
25f16ec1 23564 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
23565 GRUB_MACHINE_IEEE1275 is defined.
23566
23567 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
23568 Use NESTED_FUNC_ATTR attribute on the hook parameter.
23569
23570 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
23571 on nested function heap_init.
23572 (grub_upper_mem): New variable for i386-ieee1275.
23573 (grub_get_extended_memory): New function for i386-ieee1275.
23574 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
23575
23576 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
23577 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
23578 property.
f19dbdb7 23579
25f16ec1 23580 * loader/i386/ieee1275/linux.c: New file.
23581
23582 * loader/i386/ieee1275/linux_normal.c: New file.
23583
23584 * disk/ieee1275/nand.c: New file.
23585
e89d61e9 235862008-04-18 Thomas Schwinge <tschwinge@gnu.org>
23587
23588 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
23589 value.
23590 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
23591
602566f6 235922008-04-18 Robert Millan <rmh@aybabtu.com>
23593
23594 Restructures early code path on ieee1275 to unify grub_main() as
23595 the first C function that is executed in every platform.
23596
23597 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
23598 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
23599 cmain().
23600 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
23601 * kern/ieee1275/cmain.c (cmain): Rename to ...
23602 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
23603 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
23604 at the beginning.
23605
57490c2b 236062008-04-18 Robert Millan <rmh@aybabtu.com>
23607
23608 * util/update-grub.in: Fix syntax error when setting
23609 `GRUB_PRELOAD_MODULES'.
23610 Reported by Stephane Chazelas <stephane@artesyncp.com>
23611
1977517d 236122008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
23613
23614 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
23615 section into account, newer toolchains generate unique build ids
23616 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 23617 we want build ids to be preserved
1977517d 23618 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
23619 far from other sections don't cause the raw binary images grow
23620 size
23621
bfb1f1a2 236222008-04-15 Robert Millan <rmh@aybabtu.com>
23623
23624 * disk/lvm.c: Update copyright year.
23625 * kern/misc.c: Likewise.
23626
01979850 236272008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
23628
23629 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 23630 there is no memory left for physical volume name.
01979850 23631
0a1150e2 236322008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
23633
23634 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
23635 volume name mapping to support bigger than 9 character names properly.
23636
82ead3fe 236372008-04-13 Robert Millan <rmh@aybabtu.com>
23638
23639 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
23640 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
23641
e54a72f5 236422008-04-13 Christian Franke <franke@computer.org>
23643
23644 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
23645 to create a floppy emulation boot CD when non emulation mode
23646 does not work.
23647 Enable Joliet CD filesystem extension.
23648
9fe86034 236492008-04-13 Robert Millan <rmh@aybabtu.com>
23650
23651 * kern/misc.c (grub_strncat): Fix off-by-one error.
23652 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
23653
23654 * kern/env.c (grub_env_context_close): Clear current context, not
23655 previous one.
23656 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
23657
23658 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
23659
7ceeee39 236602008-04-13 Robert Millan <rmh@aybabtu.com>
23661
23662 Improve robustness when handling LVM.
23663
23664 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 23665 (and leave `*p' unmodified).
7ceeee39 23666 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
23667 through it.
23668 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
23669 iterating through it.
23670 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
23671 through it.
fe6b695a 23672 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 23673 when due) on each grub_lvm_getvalue() or grub_strstr() call.
23674 Don't assume `vg->pvs != NULL' when iterating through it.
23675
58cd3d85 236762008-04-13 Robert Millan <rmh@aybabtu.com>
23677
23678 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
23679 * genmk.rb (partmap): New variable.
23680 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
23681 (#{partmap}): New target rule.
23682 * genpartmaplist.sh: New file.
23683 * Makefile.in (pkglib_DATA): Add partmap.lst.
23684 (partmap.lst): New target rule.
23685 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
23686 modules (including all partition maps), instead of preloading them.
23687
78b51059 236882007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
23689
23690 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
23691 `linux-boot-prober' (if installed) to detect other operating
23692 systems which are installed on the computer and add them to
23693 the boot menu.
23694 * conf/common.rmk: Build and install 30_os-prober.
23695
a91627b4 236962008-04-12 Robert Millan <rmh@aybabtu.com>
23697
23698 * kern/powerpc/ieee1275/init.c: Move from here ...
23699 * kern/ieee1275/init.c: ... to here. Update all users.
23700
23701 * kern/powerpc/ieee1275/cmain.c: Move from here ...
23702 * kern/ieee1275/cmain.c: ... to here. Update all users.
23703
23704 * kern/powerpc/ieee1275/openfw.c: Move from here ...
23705 * kern/ieee1275/openfw.c: ... to here. Update all users.
23706
23707 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
23708 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
23709
322562ea 237102008-04-10 Pavel Roskin <proski@gnu.org>
23711
23712 * configure.ac: Always use "_cv_" in cache variables for
23713 compatibility with Autoconf 2.62.
23714
a02a73c5 237152008-04-07 Robert Millan <rmh@aybabtu.com>
23716
23717 Revert grub/machine/init.h addition by Pavel (since it breaks on
23718 i386-ieee1275 and others):
23719 * util/i386/pc/misc.c: Remove grub/machine/init.h.
23720 * util/powerpc/ieee1275/misc.c: Likewise.
23721
25c024b1 237222008-04-07 Robert Millan <rmh@aybabtu.com>
23723
23724 * util/grub-probe.c (probe): Improve error message.
23725
3cbd2f98 237262008-04-07 Robert Millan <rmh@aybabtu.com>
23727
23728 * util/biosdisk.c (read_device_map): Skip devices that don't exist
23729 (this prevents the presence of a bogus entry from ruining the whole
23730 thing).
23731
87a297bf 237322008-04-06 Pavel Roskin <proski@gnu.org>
23733
36747a62 23734 * util/biosdisk.c: Include grub/util/biosdisk.h.
23735 * util/grub-fstest.c (execute_command): Make static.
23736 * util/grub-mkdevicemap.c (check_device): Likewise.
23737 * util/i386/pc/misc.c: Include grub/machine/init.h.
23738 * util/powerpc/ieee1275/misc.c: Likewise.
23739 * util/lvm.c: Include grub/util/lvm.h.
23740 * util/misc.c: Include grub/kernel.h, grub/misc.h and
23741 grub/cache.h.
23742 * util/raid.c: Include grub/util/raid.h.
23743 (grub_util_getdiskname): Make static.
23744
87a297bf 23745 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
23746 grub_hostfs_fini(), as they are called from grub_init_all() and
23747 grub_fini_all() respectively. This fixes an infinite loop in
23748 grub-fstest due to double registration of hostfs.
23749 Reported by Christian Franke <Christian.Franke@t-online.de>
23750
f6ce7629 237512008-04-05 Pavel Roskin <proski@gnu.org>
23752
23753 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
23754 all 8 functions. Otherwise, probe function 0 only.
23755
070e49e4 237562008-04-04 Pavel Roskin <proski@gnu.org>
23757
8b088a4c 23758 * commands/lspci.c (grub_lspci_iter): Print the bus number
23759 correctly.
23760
4f657021 23761 * commands/lspci.c (grub_pci_classes): Fix typos.
23762 (grub_lspci_iter): Don't print func twice. Print vendor ID
23763 before device ID, as it's normally done.
23764
070e49e4 23765 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
23766 Fix signedness warnings.
23767 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
23768 Likewise.
23769 * util/ieee1275/get_disk_name.c: Include config.h so that
23770 _GNU_SOURCE is defined and getline() is declared. Mark an
23771 unused argument as such. Fix a signedness warning.
23772
ba7328dc 237732008-04-02 Pavel Roskin <proski@gnu.org>
23774
26887f22 23775 * genkernsyms.sh.in: Use more robust assignments for CC and
23776 srcdir. Quote srcdir.
23777 * gensymlist.sh.in: Likewise. Assert at the compile time that
23778 the symbol table is not empty.
23779
ba7328dc 23780 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
23781 * fs/cpio.c (grub_cpio_read): Likewise.
23782
0f582c6b 237832008-04-01 Pavel Roskin <proski@gnu.org>
23784
4b6e1995 23785 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
23786 * disk/host.c (grub_host_open): Likewise.
23787 * disk/loopback.c (grub_loopback_open): Likewise.
23788 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
23789 disk->id as in disk/host.c, not a multi-character constant.
23790
828a2768 23791 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
23792 later is obsolete, potentially dangerous and sets a bad example.
23793 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
23794 * util/misc.c (grub_util_get_image_size): Likewise.
23795
2bb4fb47 23796 * disk/loopback.c (options): Improve help for "--partitions".
23797
0f582c6b 23798 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
23799 options to align them with the short options, e.g. "echo -e".
23800
a33224e0 238012008-03-31 Bean <bean123ch@gmail.com>
23802
23803 * video/reader/png.c (grub_png_data): New member is_16bit and
23804 image_data.
23805 (grub_png_decode_image_header): Detect 16 bit png image.
23806 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
23807 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
23808 (grub_video_reader_png): Release memory occupied by image_data.
23809
23810 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
23811 4096 bytes.
23812 (grub_nfs_mount): Skip the test for sector per cluster.
23813
23814 * include/grub/ntfs.h (MAX_SPC): Removed.
23815
86cb4f54 238162008-03-31 Bean <bean123ch@gmail.com>
23817
23818 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
23819 (grub_probe_SOURCES): Add fs/afs.c.
23820 (grub_fstest_SOURCES): Likewise.
23821 (afs_mod_SOURCES): New variable.
23822 (afs_mod_CFLAGS): Likewise.
23823 (afs_mod_LDFLAGS): Likewise.
23824
23825 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
23826 (grub_emu_SOURCES): Likewise.
23827
23828 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23829
23830 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23831
23832 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23833
23834 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23835
23836 * fs/afs.c: New file.
23837
17c74c21 238382008-03-30 Pavel Roskin <proski@gnu.org>
23839
4cb68e89 23840 * disk/host.c: Include grub/misc.h to fix a warning.
23841 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
23842 warnings about implicit declarations.
23843
8790bb04 23844 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
23845 variable.
23846 * include/grub/i386/loader.h: Change declaration of
23847 grub_linux_boot() to match what grub_loader_set() expects.
23848 * util/getroot.c (grub_guess_root_device): Return const char* to
23849 fix a warning.
23850 * util/grub-probe.c (probe): Fix a warning about uninitialized
23851 abstraction_name variable.
23852 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
23853 second argument as unused to fix a warning.
23854
9a3f3296 23855 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
23856 missing grub_error() call.
23857
0ecef90d 23858 * util/update-grub_lib.in: Define datarootdir, since Autoconf
23859 2.60 and newer uses it to define datadir.
23860
0bf6d401 23861 * commands/sleep.c: Fix warning about implicit declaration.
23862 * disk/memdisk.c: Likewise.
23863 * loader/aout.c: Likewise.
23864 * loader/i386/bsd_normal.c: Likewise.
23865 * util/grub-probe.c: Likewise.
23866
7cdacf97 23867 * commands/i386/cpuid.c (has_longmode): Make static.
23868 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
23869 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
23870
17c74c21 23871 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
23872 GDT. This is more robust, as %ds can change.
23873 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
23874 calling real_to_prot().
23875 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
23876
80a3e68b 238772008-03-28 Pavel Roskin <proski@gnu.org>
23878
23879 * kern/i386/pc/startup.S: Assert that uncompressed functions
23880 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
23881 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
23882 code, as they push parts of the code (error handlers) beyond
23883 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
23884 code as correctness and size.
23885
77bcd272 238862008-03-28 Pavel Roskin <proski@gnu.org>
23887
23888 * kern/i386/pc/startup.S
23889 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
23890 data block address to the real mode, keep offset minimal. This
23891 works around a bug in AWARD BIOS on old Athlon systems, which
23892 makes CD detection hang.
23893
c5dfd43b 238942008-03-26 Pavel Roskin <proski@gnu.org>
23895
23896 * normal/color.c (grub_parse_color_name_pair): Make `name' a
23897 const.
23898 * include/grub/normal.h: Add grub_parse_color_name_pair()
23899 declaration.
23900
bf962df2 239012008-03-24 Bean <bean123ch@gmail.com>
23902
23903 * disk/i386/pc/biosdisk.c (cd_start): Removed.
23904 (cd_count): Removed.
23905 (cd_drive): New variable.
23906 (grub_biosdisk_get_drive): Don't check for (cdN) device.
23907 (grub_biosdisk_call_hook): Likewise.
23908 (grub_biosdisk_iterate): Change cdrom detection method.
23909 (grub_biosdisk_open): Replace cd_start with cd_drive.
23910 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
23911 detect cdrom device.
23912
23913 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
23914 Removed.
23915 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
23916 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
23917 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
23918 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
23919 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
23920 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
23921 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
23922 (grub_biosdisk_cdrp): New structure.
23923 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
23924
23925 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
23926
23927 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
23928 device.
23929
23930 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
23931 New function.
23932
68e7fc7a 239332008-03-20 Robert Millan <rmh@aybabtu.com>
23934
23935 Remove 2 TiB limit in ata.mod.
23936 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
23937 (grub_ata_dumpinfo): Print sector count with 0x%llx.
23938 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
23939 grub_uint64_t instead of grub_uint32_t.
23940
38ad2cf5 239412008-03-05 Bean <bean123ch@gmail.com>
23942
23943 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
23944 (grub_multiboot): Set boot device.
23945
23946 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
23947
2b89344e 239482008-03-02 Bean <bean123ch@gmail.com>
23949
23950 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
23951 symlink_buffer.
23952
87a95d1f 239532008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
23954
23955 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
23956 texinfo.tex.
23957
23958 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
23959 modified.
23960
23961 * docs/fdl.texi: New file.
f19dbdb7 23962
87a95d1f 23963 * docs/mdate-sh: New file. Copied from gnulib.
23964 * docs/texinfo.tex: Likewise.
23965
23966 * config.guess: Updated from gnulib.
23967 * install-sh: Likewise.
23968
7dc15d8e 239692008-02-28 Robert Millan <rmh@aybabtu.com>
23970
23971 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
23972 (aout_mod_SOURCES): New variable.
23973 (aout_mod_CFLAGS): Likewise.
23974 (aout_mod_LDFLAGS): Likewise.
23975
23976 * conf/i386-ieee1275.rmk: Likewise.
23977
b00ab696 239782008-02-28 Robert Millan <rmh@aybabtu.com>
23979
23980 * util/update-grub.in: Reorganise terminal validity check. Accept
23981 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
23982 Based on suggestion by Franklin PIAT.
23983
79ca2d78 239842008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
23985
23986 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
23987 function.
23988 * util/getroot.c (grub_util_check_block_device): New function that
23989 returns the given argument if it is a block device and returns NULL else.
23990 * util/grub-probe.c (argument_is_device): New variable.
23991 (probe): Promote device_name from a variable to an argument. Receive
23992 device_name from grub_util_check_block_device() if path is NULL and from
23993 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 23994 (options): Introduce new parameter '-d, --device'.
79ca2d78 23995 (main): Add description of the new parameter to the help screen.
23996 Rename path variable to argument. Set argument_is_device if the '-d'
23997 option is given. Pass argument to probe() depending on
23998 argument_is_device.
23999
0d16e571 240002008-02-24 Bean <bean123ch@gmail.com>
24001
24002 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
24003 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
24004 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
24005 (GRUB_ISO9660_VOLDESC_PART): Likewise.
24006 (GRUB_ISO9660_VOLDESC_END): Likewise.
24007 (grub_iso9660_primary_voldesc): New member escape.
24008 (grub_iso9660_data): New member joliet.
24009 (grub_iso9660_convert_string): New function.
24010 (grub_iso9660_mount): Detect joliet extension.
24011 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
24012 (grub_iso9660_iso9660_label): Likewise.
24013
24014 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
24015 (grub_setup_SOURCES): Add fs/udf.c.
24016 (grub_fstest_SOURCES): Likewise.
24017 (udf_mod_SOURCES): New variable.
24018 (udf_mod_CFLAGS): Likewise.
24019 (udf_mod_LDFLAGS): Likewise.
24020
24021 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
24022 (grub_emu_SOURCES): Likewise.
24023
24024 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24025
24026 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24027
24028 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24029
24030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24031
24032 * fs/udf.c: New file.
24033
8a594a17 240342008-02-24 Robert Millan <rmh@aybabtu.com>
24035
24036 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
24037 (normal/lexer.c_DEPENDENCIES): New variables.
24038 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24039 (normal/lexer.c_DEPENDENCIES): Likewise.
24040 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
24041 (normal/lexer.c_DEPENDENCIES): Likewise.
24042 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
24043 (normal/lexer.c_DEPENDENCIES): Likewise.
24044 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24045 (normal/lexer.c_DEPENDENCIES): Likewise.
24046 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24047 (normal/lexer.c_DEPENDENCIES): Likewise.
24048
2dc33c03 240492008-02-23 Robert Millan <rmh@aybabtu.com>
24050
24051 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
24052 since they were intended to be in hex. This didn't break previously
24053 because of a bug in gpt_partition_map_iterate() (see below).
24054
24055 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
24056 when checking the validity of GPT header.
24057 Remove `partno', since it always provides the same information as `i'.
24058
f6f4cfb0 240592008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
24060
24061 * include/grub/efi/time.h: Fix a wrong comment.
24062
79ff665f 240632008-02-19 Pavel Roskin <proski@gnu.org>
24064
24065 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
24066 message.
24067
d38e24c2 240682008-02-19 Bean <bean123ch@gmail.com>
24069
24070 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
24071 (aout_mod_SOURCES): New variable.
24072 (aout_mod_CFLAGS): Likewise.
24073 (aout_mod_LDFLAGS): Likewise.
24074 (_bsd_mod_SOURCES): New variable.
24075 (_bsd_mod_CFLAGS): Likewise.
24076 (_bsd_mod_LDFLAGS): Likewise.
24077 (bsd_mod_SOURCES): New variable.
24078 (bsd_mod_CFLAGS): Likewise.
24079 (bsd_mod_LDFLAGS): Likewise.
24080
24081 * include/grub/aout.h: New file.
24082
24083 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
24084
24085 * include/grub/i386/bsd.h: New file.
24086
24087 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
24088 to make it public.
24089
24090 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
24091 function is called, so that it's possible to change it inside the hook.
24092 (grub_elf64_load): Likewise.
24093 (grub_elf_file): Don't close the file if elf header is not found.
24094 (grub_elf_close): Close the file if grub_elf_file fails (The new
24095 grub_elf_file won't close it).
24096 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
24097 (grub_elf64_size): Likewise.
24098
24099 * kern/i386/loader.S (grub_unix_real_boot): New function.
24100
24101 * loader/aout.c: New file.
24102
24103 * loader/i386/bsd.c: New file.
24104
24105 * loader/i386/bsd_normal.c: New file.
24106
24107 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
24108
24109 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 24110 can test other formats.
d38e24c2 24111
b93bdb0f 241122008-02-19 Robert Millan <rmh@aybabtu.com>
24113
24114 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
24115 (grub_gpt_partition_type_empty): Redefine with macro from
24116 `<grub/gpt_partition.h>'.
24117 (gpt_partition_map_iterate): Adjust partition type comparison.
24118
24119 Export `entry' as partmap-specific `part.data' struct.
24120 (grub_gpt_header, grub_gpt_partentry): Move from here ...
24121
24122 * include/grub/gpt_partition.h (grub_gpt_header)
24123 (grub_gpt_partentry): ... to here (new file).
24124
24125 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
24126
24127 (grub_gpt_partition_type_bios_boot): New const variable, defined
24128 with macro from `<grub/gpt_partition.h>'.
24129
24130 (setup): Replace `first_start' with `embed_region', which keeps
24131 track of the embed region (and is partmap-agnostic).
24132
24133 Replace find_first_partition_start() with find_usable_region(),
24134 which finds a usable region for embedding using partmap-specific
24135 knowledge (supports PC/MSDOS and GPT).
24136
24137 Fix all assumptions that the embed region start at sector 1, using
24138 `embed_region.start' from now on. Similarly, use `embed_region.end'
24139 rather than `first_start' to calculate available size.
24140
24141 In grub_util_info() message, replace "into after the MBR" with an
24142 indication of the specific sector our embed region starts at.
24143
66cb40f6 241442008-02-19 Robert Millan <rmh@aybabtu.com>
24145
24146 * DISTLIST: Replace `commands/ieee1275/halt.c' and
24147 `commands/ieee1275/reboot.c' with `commands/halt.c' and
24148 `commands/reboot.c'.
24149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
24150 (halt_mod_SOURCES): Likewise.
24151 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
24152 (halt_mod_SOURCES): Likewise.
24153
b7202015 241542008-02-17 Christian Franke <franke@computer.org>
24155
24156 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
24157
32b0fc49 241582008-02-17 Robert Millan <rmh@aybabtu.com>
24159
24160 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
24161 set `first_start' to 0 for non-PC/MSDOS partition maps.
24162
aca63502 241632008-02-16 Robert Millan <rmh@aybabtu.com>
24164
24165 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
24166 do not assume partition map is PC/MSDOS before performing checks that
24167 are specific to that layout.
24168
0de8be86 241692008-02-13 Robert Millan <rmh@aybabtu.com>
24170
24171 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
24172 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
24173 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
24174
c3db8364 241752008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
24176
24177 * configure.ac: Only a cosmetic change on the handling of
24178 -fno-stack-protector.
24179
f714229e 241802008-02-12 Alexandre Boeglin <alex@boeglin.org>
24181
c3db8364 24182 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
24183 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
24184 reboot.c.
f714229e 24185 (grub_install_SOURCES): Add halt.mod and reboot.mod.
24186 (halt_mod_SOURCES): New variable.
24187 (halt_mod_CFLAGS): Likewise.
24188 (halt_mod_LDFLAGS): Likewise.
24189 (reboot_mod_SOURCES): Likewise.
24190 (reboot_mod_CFLAGS): Likewise.
24191 (reboot_mod_LDFLAGS): Likewise.
24192
c3db8364 24193 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
24194 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
24195 reboot.c.
f714229e 24196 (halt_mod_SOURCES): Likewise.
24197 (reboot_mod_SOURCES): Likewise.
24198
c3db8364 24199 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
24200 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 24201 (reboot_mod_SOURCES): Likewise.
24202
24203 * commands/i386/pc/reboot.c: merge this file ...
24204
24205 * commands/ieee1275/reboot.c: ... and this file ...
24206
24207 * commands/reboot.c: ... to this file.
c3db8364 24208 Add some precompiler directive to include the correct header for
24209 each machine.
f714229e 24210
24211 * commands/ieee1275/halt.c: move this file ...
24212
24213 * commands/halt.c: ... to here.
c3db8364 24214 Add some precompiler directive to include the correct header for
24215 each machine.
f714229e 24216
24217 * include/grub/efi/efi.h (grub_reboot): New function declaration.
24218 (grub_halt): Likewise.
24219
24220 * kern/efi/efi.c (grub_reboot): New function.
24221 (grub_halt): Likewise.
24222
c74493e0 242232008-02-12 Robert Millan <rmh@aybabtu.com>
24224
24225 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
24226 /dev (like it is done for /dev/mapper). This doesn't provide support
24227 for EVMS, but at least it is now easy to identify the problem when it
24228 arises.
24229
d0db4b04 242302008-02-11 Robert Millan <rmh@aybabtu.com>
24231
24232 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
24233 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
24234 comparing it with -1, not 0.
24235
bf748642 242362008-02-10 Robert Millan <rmh@aybabtu.com>
24237
24238 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
24239 `disk/lvm.c'.
24240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24241 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24242
24243 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
24244 `disk/lvm.c' to the end of the list.
24245 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24246 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24247
b5db202a 242482008-02-10 Robert Millan <rmh@aybabtu.com>
24249
24250 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
24251 grub_print_error() instead. This will let user know why we're entering
24252 rescue mode.
24253 Based on suggestions from Sam Morris.
24254
83abee31 242552008-02-10 Alexandre Boeglin <alex@boeglin.org>
24256
24257 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
24258 on remaining N args, instead of "--" arg N times.
24259
78d5a08b 242602008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
24261
24262 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
24263 (fill_with_default_glyph): Changed to use unknown_glyph for fill
24264 pattern for unknown glyphs.
24265
68807e5f 242662008-02-09 Robert Millan <rmh@aybabtu.com>
24267
24268 * configure.ac: Probe for `help2man'.
24269 * Makefile.in (builddir): New variable.
24270 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
24271 or otherwise add a few flags/options to it.
24272 (install-local): For every executable utility or script that is
24273 installed, invoke $(HELP2MAN) to install a manpage based on --help
24274 output.
24275
24276 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
24277 that it doesn't prevent --help from working in build tree.
24278
24279 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
24280 with `bug-grub@gnu.org'.
24281 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
24282 * util/update-grub.in (usage): New function.
24283 Implement proper argument check, with support for --help and --version
24284 (as well as existing -y).
24285
242862008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 24287
24288 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
24289 avoid overwriting previous output.
24290 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
24291
c1962162 242922008-02-09 Robert Millan <rmh@aybabtu.com>
24293
24294 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
24295 drawing the menu.
24296
3dac2e3f 242972008-02-09 Robert Millan <rmh@aybabtu.com>
24298
24299 * commands/sleep.c: New file.
24300 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
24301 (sleep_mod_SOURCES): New variable.
24302 (sleep_mod_CFLAGS): Likewise.
24303 (sleep_mod_LDFLAGS): Likewise.
24304
7a634e08 243052008-02-09 Robert Millan <rmh@aybabtu.com>
24306
24307 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
24308 situations in which we can deduce the RAID size and the superblock
24309 doesn't match it.
24310
b92f0c18 243112008-02-09 Robert Millan <rmh@aybabtu.com>
24312
24313 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
24314 and return a grub_diskmemberlist_t composed of LVM physical volumes.
24315 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
24316
24317 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
24318 and return a grub_diskmemberlist_t composed of physical array members.
24319 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
24320
24321 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
24322 prototype.
24323 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
24324 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
24325 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
24326
24327 * util/grub-probe.c (probe): Move partmap probing code from here ...
24328 (probe_partmap): ... to here.
24329 (probe): Use probe_partmap() once for the disk we're probing, and
24330 additionally, when such disk contains a memberlist() struct member,
24331 once for each disk that is contained in the structure returned by
24332 memberlist().
24333
91a4bf68 243342008-02-09 Robert Millan <rmh@aybabtu.com>
24335
24336 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
24337 environment variable to 'all' in order to obtain debug output from
24338 non-util/ code.
24339 * util/i386/pc/grub-setup.c (main): Likewise.
24340
a96f9caa 243412008-02-08 Robert Millan <rmh@aybabtu.com>
24342
24343 * disk/raid.c (grub_raid_scan_device): Check for
24344 `array->device[sb.this_disk.number]' rather than for
24345 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 24346 guaranteed to be accessible.
a96f9caa 24347
b37a9222 243482008-02-08 Robert Millan <rmh@aybabtu.com>
24349
24350 * disk/raid.c: Update copyright.
24351 * fs/cpio.c: Likewise.
24352 * include/grub/raid.h: Likewise.
24353 * loader/i386/pc/multiboot.c: Likewise.
24354 * util/hostfs.c: Likewise.
24355
5626aee1 243562008-02-08 Robert Millan <rmh@aybabtu.com>
24357
24358 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
24359 to a grub_disk_t array.
24360 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
24361 `device[x]'.
24362 (grub_raid_scan_device): Replace `device[x].name' accesses with
24363 `device[x]->name'. Simplify initialization of `array->device[x]'.
24364
554f0187 243652008-02-08 Robert Millan <rmh@aybabtu.com>
24366
24367 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
24368 grub_dprintf() calls.
24369 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
24370 error message.
24371
1ec8425d 243722008-02-07 Christian Franke <franke@computer.org>
24373
24374 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
24375 instead of fseek and ftell to support large files.
24376 (grub_hostfs_read): Likewise.
24377
f2156fda 243782008-02-07 Robert Millan <rmh@aybabtu.com>
24379
24380 Patch from Jeroen Dekkers.
24381 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 24382 failure, since successfully reading all array members might not be
f2156fda 24383 required.
24384
9216e0e7 243852008-02-06 Robert Millan <rmh@aybabtu.com>
24386
24387 * util/grub-probe.c (probe): Simplify partmap probing (with the
24388 assumption that the first word up to the underscore equals to
24389 the module name).
24390
b0dfd29a 243912008-02-06 Christian Franke <franke@computer.org>
24392
24393 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
24394 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
24395 last block of a cpio or tar stream.
24396 Check for "TRAILER!!!" instead of any empty data
24397 block to detect last block of a cpio stream.
24398 (grub_cpio_dir): Fix constness of variable np.
24399 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
24400 cpio or tar trailer is detected. This fixes a crash
24401 on open of a non existing file.
24402
c32865bf 244032008-02-05 Bean <bean123ch@gmail.com>
24404
24405 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
24406 address of entry.
24407 (grub_multiboot_load_elf64): Likewise.
24408 (grub_multiboot): Initialize mbi structure.
24409
24410 * util/grub-fstest.c: Don't include unused header file script.h.
24411
fe6b695a 24412 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 24413 of file.
24414 (grub_fstest_SOURCES): Likewise.
24415
409480b7 244162008-02-05 Robert Millan <rmh@aybabtu.com>
24417
24418 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
24419 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
24420 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
24421 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
24422
24423 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
24424 (translation_table): Replace hardcoded values with macros
24425 provided by `<grub/term.h>'.
24426
24427 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
24428 (keyboard_map): Correct/add a few values, with macros provided
24429 by `<grub/term.h>'.
24430 (keyboard_map_shift): Zero values that don't differ from their
24431 `keyboard_map' equivalents.
24432 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
24433 Discard the second scan code that is always sent by Caps lock.
24434 Only use `keyboard_map_shift' when it provides a non-zero value,
24435 otherwise fallback to `keyboard_map'.
24436
99fadbaa 244372008-02-04 Bean <bean123ch@gmail.com>
24438
24439 * Makefile.in (enable_grub_fstest): New variable.
24440
24441 * conf/common.rmk (grub_fstest_init.lst): New rule.
24442 (grub_fstest_init.h): Likewise.
24443 (grub_fstest_init.c): Likewise.
24444 (util/grub-fstest.c_DEPENDENCIES): New variable.
24445 (grub_fstest_SOURCES): Likewise.
24446
24447 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
24448
24449 * util/grub-fstest.c: New file.
24450
bf567c50 244512008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24452
24453 Make grub-setup handle a separate root device.
f19dbdb7 24454
bf567c50 24455 * util/i386/pc/grub-setup.c (setup): Always open the root device,
24456 so that the root device can be compared with the destination
24457 device.
24458 When embedding the core image, if the root and destination devices
24459 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
24460 0xFF.
24461 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 24462
9be6b98b 244632008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24464
24465 Add support for having a grub directory in a different drive. This
24466 is still only the data handling part.
f19dbdb7 24467
9be6b98b 24468 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
24469 (codestart): Save %dh in GRUB_ROOT_DRIVE.
24470 (grub_root_drive): New variable.
24471
24472 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
24473 instead of GRUB_BOOT_DRIVE to construct a device name. Set
24474 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
24475 as it was.
24476
24477 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
24478
24479 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
24480 macro.
24481 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
24482
24483 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
24484 is bogus, because PXE booting does not specify any drive
24485 correctly.
24486
24487 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
24488 am not sure if this is really correct.
24489
24490 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
24491 is always identical to the boot drive when booting from a CD.
24492
24493 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
24494 longer.
24495 (root_drive): New variable.
24496 (real_start): Unconditionally set %dh to ROOT_DRIVE.
24497 (setup_sectors): Push %dx right after popping it, because %dh will
24498 be modified later.
24499 (copy_buffer): Restore %dx.
24500
e0ca0677 245012008-02-03 Robert Millan <rmh@aybabtu.com>
24502
24503 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
24504 use `cdboot.img' for cdrom images.
24505
3b3f6629 245062008-02-03 Robert Millan <rmh@aybabtu.com>
24507
24508 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
24509 only setup gfxterm when `font' command has succeeded.
24510
d42b3672 245112008-02-03 Robert Millan <rmh@aybabtu.com>
24512
24513 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
24514 (grub_rescue_cmd_multiboot_loader)
24515 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
24516
fa370ea6 245172008-02-03 Pavel Roskin <proski@gnu.org>
24518
e0c5dacb 24519 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 24520 %edx and %esi from stack only after grub_gate_a20() is called.
24521 grub_gate_a20() clobbers %edx.
24522
f2a76e1d 245232008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24524
24525 * configure.ac (AC_INIT): Bumped to 1.96.
24526
24527 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
24528 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
24529 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
24530 video/readers/png.c.
24531
90fd32d1 245322008-02-03 Bean <bean123ch@gmail.com>
9be665dd 24533
24534 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
24535 (cdboot_img_SOURCES): New variable.
24536 (cdboot_img_ASFLAGS): New variable.
24537 (cdboot_img_LDFLAGS): New variable.
24538
24539 * boot/i386/pc/cdboot.S: New file.
24540
24541 * disk/i386/pc/biosdisk.c (cd_start): New variable.
24542 (cd_count): Likewise.
24543 (grub_biosdisk_get_drive): Add support for cd device.
24544 (grub_biosdisk_call_hook): Likewise.
24545 (grub_biosdisk_iterate): Likewise.
24546 (grub_biosdisk_open): Likewise.
24547 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
24548 (grub_biosdisk_rw): Support reading from cd device.
24549 (GRUB_MOD_INIT): Iterate cd devices.
24550
24551 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
24552 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
24553 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
24554
24555 * kern/i386/pc/init.c (make_install_device): Check for cd device.
24556
4020aa53 245572008-02-02 Robert Millan <rmh@aybabtu.com>
24558
24559 * commands/read.c: New file.
24560 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
24561 (read_mod_SOURCES): New variable.
24562 (read_mod_CFLAGS): Likewise.
24563 (read_mod_LDFLAGS): Likewise.
24564
e03a1132 245652008-02-02 Robert Millan <rmh@aybabtu.com>
24566
24567 * normal/main.c (grub_normal_execute): Check for `menu->size' when
24568 determining whether menu has to be displayed.
24569
58c69220 245702008-02-02 Marco Gerards <marco@gnu.org>
24571
24572 * bus/pci.c: New file.
24573
24574 * include/grub/pci.h: Likewise.
24575
24576 * include/grub/i386/pc/pci.h: Likewise.
24577
24578 * commands/lspci.c: Likewise.
24579
24580 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
24581 `lspci.mod'.
24582 (pci_mod_SOURCES): New variable.
24583 (pci_mod_CFLAGS): Likewise.
24584 (pci_mod_LDFLAGS): Likewise.
24585 (lspci_mod_SOURCES): Likewise.
24586 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 24587 (lspci_mod_LDFLAGS): Likewise.
58c69220 24588
c004e1b4 245892008-02-02 Bean <bean123ch@gmail.com>
24590
24591 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
24592 (grub_ufs_get_file_block): Fix indirect block calculation problem.
24593
24594 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
24595 (grub_xfs_btree_node): New structure.
24596 (grub_xfs_btree_root): New structure.
24597 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
24598 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
24599 (GRUB_XFS_EXTENT_BLOCK): Likewise.
24600 (GRUB_XFS_EXTENT_SIZE): Likewise.
24601 (grub_xfs_read_block): Support btree format type.
24602 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
24603 Use directory block as basic unit.
24604
24605 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
24606
24607 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
24608 __attribute__ ((__regparm__ (1))).
24609
f95562bf 246102008-02-01 Robert Millan <rmh@aybabtu.com>
24611
24612 Correct a mistake in previous commit.
24613
24614 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
24615 top.
24616 (normal/command.c_DEPENDENCIES): New variable.
24617
7d31f41f 246182008-02-01 Robert Millan <rmh@aybabtu.com>
24619
24620 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
24621 top.
24622 (normal/command.c_DEPENDENCIES): New variable.
24623 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
24624 * conf/i386-ieee1275.rmk: Likewise.
24625 * conf/i386-linuxbios.rmk: Likewise.
24626 * conf/i386-pc.rmk: Likewise.
24627 * conf/sparc64-ieee1275.rmk: Likewise.
24628 * conf/powerpc-ieee1275.rmk: Likewise.
24629 (grub_emu_SOURCES): Add `fs/fshelp.c'.
24630
24631 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
24632
60b6be74 246332008-02-01 Robert Millan <rmh@aybabtu.com>
24634
24635 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
24636 call at beginning of function.
24637
078522ab 246382008-01-31 Pavel Roskin <proski@gnu.org>
24639
24640 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 24641 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
24642 (grub_mkrescue_SOURCES): Likewise.
078522ab 24643 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
24644
ccaa8a5f 246452008-01-30 Robert Millan <rmh@aybabtu.com>
24646
24647 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
24648 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
24649 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
24650 (grub_probe_SOURCES): ... to here.
24651
24652 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
24653 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
24654 * conf/i386-ieee1275.rmk: Likewise.
24655 * conf/i386-linuxbios.rmk: Likewise.
24656 * conf/powerpc-ieee1275.rmk: Likewise.
24657
ae5a9cd7 246582008-01-30 Tristan Gingold <gingold@free.fr>
24659
24660 * kern/rescue.c: Silently accept empty lines.
24661
70bc2ef2 246622008-01-29 Bean <bean123ch@gmail.com>
24663
24664 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
24665 (real_code_2): Code cleanup and change comment style.
24666 (move_memory): Avoid using 32-bit address mode.
24667
6a4d50ea 246682008-01-29 Bean <bean123ch@gmail.com>
24669
24670 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
24671 (png_mod_SOURCES): New variable.
24672 (png_mod_CFLAGS): Likewise.
24673 (png_mod_LDFLAGS): Likewise.
24674
24675 * video/readers/png.c: New file.
24676
11cc30ac 246772008-01-28 Robert Millan <rmh@aybabtu.com>
24678
24679 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
24680 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
24681 `ifndef GRUB_MOD_GAP' hack.
24682 * util/elf/grub-mkimage.c (add_segments): Likewise.
24683
3abc589f 246842008-01-27 Robert Millan <rmh@aybabtu.com>
24685
24686 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
24687 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 24688 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 24689
e1907778 246902008-01-27 Robert Millan <rmh@aybabtu.com>
24691
24692 Get grub-emu to build again (including parallel builds).
24693
24694 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
24695 Split into ...
24696 (util/grub-emu.c_DEPENDENCIES): ... this, ...
24697 (normal/execute.c_DEPENDENCIES): ... this, ...
24698 (grub-emu_DEPENDENCIES): ... and this.
24699
24700 * conf/i386-efi.rmk: Likewise.
24701 * conf/i386-linuxbios.rmk: Likewise.
24702 * conf/i386-ieee1275.rmk: Likewise.
24703 * conf/powerpc-ieee1275.rmk: Likewise.
24704 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
24705
2216b101 247062008-01-27 Robert Millan <rmh@aybabtu.com>
24707
24708 * NEWS: Add a few items.
24709
f75172d9 247102008-01-27 Robert Millan <rmh@aybabtu.com>
24711
24712 Fix parallel builds with grub-emu. Based on earlier commit for
24713 grub-probe and grub-setup.
24714
24715 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24716 (util/grub-emu.c_DEPENDENCIES): ... this.
24717 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24718 (util/grub-emu.c_DEPENDENCIES): ... this.
24719 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24720 (util/grub-emu.c_DEPENDENCIES): ... this.
24721 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24722 (util/grub-emu.c_DEPENDENCIES): ... this.
24723 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24724 (util/grub-emu.c_DEPENDENCIES): ... this.
24725
3f51de77 247262008-01-27 Pavel Roskin <proski@gnu.org>
24727
24728 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
24729 to create a gap between _end and the modules added to the image
24730 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
24731 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
24732 * util/elf/grub-mkimage.c (add_segments): Likewise.
24733
2033f53e 247342008-01-26 Pavel Roskin <proski@gnu.org>
24735
24736 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
24737 just return an error.
24738
22da1f6f 247392008-01-26 Bean <bean123ch@gmail.com>
24740
24741 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
24742 (grub_reiserfs_get_item): Save offset of the next item.
24743 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
24744
2a9525e6 247452008-01-25 Robert Millan <rmh@aybabtu.com>
24746
24747 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
24748 make all filesystem sources appear together (possibly fixing omissions
24749 while at it).
24750 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24751 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24752 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24754
24755 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
24756 add `kern/file.c'.
24757 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
24758 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
24759 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
24760 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
24761
24762 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
24763 (probe): Add a sanity check to make sure of our ability to read
24764 requested files when probing for filesystem type.
24765
24766 * genmk.rb: Update copyright year (2007).
24767
24768 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
24769 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
24770 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
24771 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
24772 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
24773 : Remove function prototypes.
24774
b95f71b5 247752008-01-25 Robert Millan <rmh@aybabtu.com>
24776
24777 Revert my previous commits (based on wrong assumption of how grub_errno
24778 works).
24779
fe6b695a 24780 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 24781 * kern/file.c (grub_file_open): Likewise.
24782
d08bbb49 247832008-01-24 Pavel Roskin <proski@gnu.org>
24784
24785 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
24786 that hang if GRUB tries to setup colors.
24787 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
24788 colors for firmwares that don't support it.
24789 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
24790 Recognize Open Hack'Ware, set flags to work around its
24791 limitations.
24792
605e36ed 247932008-01-24 Robert Millan <rmh@aybabtu.com>
24794
24795 * kern/file.c (grub_file_open): Do not account previous failures of
24796 unrelated functions when grub_errno is checked for.
24797 Reported by Oleg Strikov.
24798
bac332a1 247992008-01-24 Bean <bean123ch@gmail.com>
24800
24801 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
24802 (grub_ufs_sblock): New member volume name.
24803 (grub_ufs_find_file): Fix string copy bug.
24804 (grub_ufs_label): Implement this function properly.
24805
24806 * fs/hfs.c (grub_hfs_cnid_type): New enum.
24807 (grub_hfs_iterate_records): Use the correct file number for extents
24808 and catalog file. Fix problem in next index calculation.
24809 (grub_hfs_find_node): Replace recursive function call with loop.
24810 (grub_hfs_iterate_dir): Replace recursive function call with loop.
24811
15c80c09 248122008-01-23 Robert Millan <rmh@aybabtu.com>
24813
24814 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
24815 `<grub/symbol.h>' and `<grub/multiboot.h>'.
24816 (grub_multiboot2_real_boot): New function prototype.
24817
24818 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
24819 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
24820
24821 * kern/i386/ieee1275/init.c (grub_os_area_addr)
24822 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
24823
305338fd 248242008-01-23 Robert Millan <rmh@aybabtu.com>
24825
24826 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
24827 #ifdef'ed out grub_printf().
24828
3ea52685 248292008-01-23 Robert Millan <rmh@aybabtu.com>
24830
24831 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
24832 grub_dprintf calls, since they make "debug=all" mode unusable.
24833 (grub_console_checkkey): Likewise.
24834
5882ae4b 248352008-01-23 Robert Millan <rmh@aybabtu.com>
24836
24837 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
24838 `term/i386/pc/at_keyboard.c'.
24839 (pkglib_MODULES): Add `serial.mod'.
24840 (serial_mod_SOURCES): New variable.
24841 (serial_mod_CFLAGS): Likewise.
24842 (serial_mod_LDFLAGS): Likewise.
24843
24844 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
24845 `<grub/powerpc/ieee1275/console.h>'.
24846 (grub_keyboard_controller_init): New function prototype.
24847 (grub_console_checkkey): Likewise.
24848 (grub_console_getkey): Likewise.
24849
24850 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
24851 keyboard on i386.
24852
24853 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
24854 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
24855
06ab5303 248562008-01-23 Robert Millan <rmh@aybabtu.com>
24857
24858 * kern/i386/pc/init.c (make_install_device): When memdisk image is
24859 present, "(memdisk)/boot/grub" becomes the default prefix.
24860
24861 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
24862 a memdisk tarball with all the modules. Add --overlay=DIR option that
24863 allows users to overlay additional files into the image.
24864
dbb475a4 248652008-01-23 Robert Millan <rmh@aybabtu.com>
24866
24867 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
24868 and `machine/memory.h'.
24869 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
24870 (_multiboot_mod_SOURCES): New variable.
24871 (_multiboot_mod_CFLAGS): Likewise.
24872 (_multiboot_mod_LDFLAGS): Likewise.
24873 (multiboot_mod_SOURCES): Likewise.
24874 (multiboot_mod_CFLAGS): Likewise.
24875 (multiboot_mod_LDFLAGS): Likewise.
24876
24877 * include/grub/i386/ieee1275/loader.h: New file.
24878
24879 * include/grub/i386/ieee1275/machine.h: Likewise.
24880
24881 * include/grub/i386/ieee1275/memory.h: Likewise.
24882
24883 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
24884 variable declaration.
24885 (grub_os_area_size): Likewise.
24886
24887 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
24888 (grub_lower_mem, grub_upper_mem): New variables.
24889 (grub_stop_floppy): New function (just to make
24890 grub_multiboot2_real_boot() happy).
24891
24892 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
24893 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
24894 (grub_stop): New function.
24895 Include `"../realmode.S"' and `"../loader.S"'.
24896
24897 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
24898 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
24899
24900 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
24901 rely on grub_multiboot2_real_boot() for final boot.
24902
25638629 249032008-01-22 Robert Millan <rmh@aybabtu.com>
24904
24905 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
24906 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
24907 device that doesn't look like an SD card.
24908 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
24909 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
24910 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
24911 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
24912 found.
24913
9dad816d 249142008-01-22 Robert Millan <rmh@aybabtu.com>
24915
24916 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
24917 avoid claiming over our own code.
24918
34842f2d 249192008-01-22 Bean <bean123ch@gmail.com>
24920
24921 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
24922 (jpeg_mod_SOURCES): New variable.
24923 (jpeg_mod_CFLAGS): Likewise.
24924 (jpeg_mod_LDFLAGS): Likewise.
24925
24926 * video/readers/jpeg.c : New file.
24927
44023a28 249282008-01-22 Bean <bean123ch@gmail.com>
24929
24930 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
24931 there are no more items.
24932
bc2d8ac6 249332008-01-21 Robert Millan <rmh@aybabtu.com>
24934
24935 * kern/mm.c (grub_mm_init_region): Improve debug message.
24936
261bd4bc 249372008-01-21 Robert Millan <rmh@aybabtu.com>
24938
24939 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
24940 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
24941 address.
24942 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
24943 a C macro.
24944 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
24945 Indicates start of upper memory.
24946 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
24947 (generate_image): Abort when image size is big enough to corrupt
24948 upper memory.
24949
24950 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
24951 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
24952 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24953 instead of hardcoding 0xA0000.
24954 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
24955 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24956 instead of hardcoding 0xA0000.
24957
f970b55e 249582008-01-21 Robert Millan <rmh@aybabtu.com>
24959
24960 * disk/memdisk.c (memdisk_size): New variable.
24961 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
24962 `memdisk_size'.
24963 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
24964 image to dynamic memory.
24965 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
24966 `memdisk_size'. Free memdisk block.
24967
1a8b0526 249682008-01-21 Robert Millan <rmh@aybabtu.com>
24969
24970 Fix detection of very small filesystems (like tar).
24971
24972 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
24973 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
24974 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
24975 a problem with this disk).
24976
6e9b4aab 249772008-01-21 Robert Millan <rmh@aybabtu.com>
24978
24979 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
24980 on grub_biosdisk_rw_standard() error.
24981
0d8837b2 249822008-01-21 Robert Millan <rmh@aybabtu.com>
24983
24984 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
24985 recent changes.
24986 * kern/elf.c: Likewise.
24987 * kern/ieee1275/ieee1275.c: Likewise.
24988 * kern/powerpc/ieee1275/openfw.c: Likewise.
24989 * term/ieee1275/ofconsole.c: Likewise.
24990
ffd36e34 249912008-01-21 Robert Millan <rmh@aybabtu.com>
24992
24993 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
24994
3f0093d0 24995 * include/grub/kernel.h (grub_arch_memdisk_addr)
24996 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 24997
3f0093d0 24998 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
24999 (grub_arch_memdisk_size): ... to here.
ffd36e34 25000
6c391b21 250012008-01-21 Robert Millan <rmh@aybabtu.com>
25002
25003 Mostly based on bugfix from Bean.
25004
25005 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
25006 attribute with hook() parameter.
25007 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
25008 declaration.
25009 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
25010 attribute with hook() parameter.
25011 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
25012 declaration.
25013
55a581dc 250142008-01-21 Robert Millan <rmh@aybabtu.com>
25015
25016 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
25017 (pkglib_MODULES): Add `memdisk.mod'.
25018 (memdisk_mod_SOURCES): New variable.
25019 (memdisk_mod_CFLAGS): Likewise.
25020 (memdisk_mod_LDFLAGS): Likewise.
25021
25022 * disk/memdisk.c: New file.
25023
25024 * include/grub/disk.h (grub_disk_dev_id): Add
25025 `GRUB_DISK_DEVICE_MEMDISK_ID'.
25026
25027 * include/grub/i386/pc/kernel.h
25028 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
25029 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
25030 (grub_kernel_image_size): New variable declaration.
25031 (grub_total_module_size): Likewise.
25032 (grub_memdisk_image_size): Likewise.
25033
25034 * include/grub/i386/pc/memory.h
25035 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
25036
25037 * include/grub/kernel.h: Include `<grub/symbol.h>'.
25038 (grub_arch_memdisk_addr): New variable declaration.
25039 (grub_arch_memdisk_size): Likewise.
25040
25041 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
25042 (grub_arch_memdisk_size): Likewise.
25043
25044 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
25045 (codestart): Replace hardcoded `0x100000' with
25046 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
25047
25048 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
25049 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
25050 not NULL, append the contents of the file it refers to, at the end of
25051 the compressed kernel image. Initialize `grub_memdisk_image_size'
25052 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
25053 (options): Add "memdisk"|'m' option.
25054 (main): Parse --memdisk|-m option, and pass user-provided path as
25055 parameter to generate_image().
25056
3d7f54c9 250572008-01-20 Robert Millan <rmh@aybabtu.com>
25058
25059 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
25060 grub_dprintf() calls from here ...
25061 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
25062
0bf74728 250632008-01-20 Robert Millan <rmh@aybabtu.com>
25064
25065 Fix detection of "real mode" when /options/real-mode? doesn't exist.
25066
25067 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
25068 declaration.
25069 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
25070 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
25071 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 25072 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 25073 property).
25074 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
25075 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
25076
33bf70a7 250772008-01-19 Robert Millan <rmh@aybabtu.com>
25078
fe6b695a 25079 Get rid of confusing function (superseded by
33bf70a7 25080 `grub_ieee1275_get_integer_property')
25081 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
25082 prototype.
25083 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
25084 function.
25085 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
25086 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 25087 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 25088
e2da7d26 250892008-01-19 Robert Millan <rmh@aybabtu.com>
25090
25091 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
25092 command after "shut-down", since implementations differ on which
25093 the command for halt is.
25094
59f1fd8d 250952008-01-19 Robert Millan <rmh@aybabtu.com>
25096
25097 * include/grub/i386/linuxbios/console.h: Add header protection.
25098 (grub_keyboard_controller_init): New function prototype.
25099 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
25100 (KEYBOARD_COMMAND_READ): Likewise.
25101 (KEYBOARD_COMMAND_WRITE): Likewise.
25102 (KEYBOARD_SCANCODE_SET1): Likewise.
25103 (grub_keyboard_controller_write): New function.
25104 (grub_keyboard_controller_read): Likewise.
25105 (grub_keyboard_controller_init): Likewise.
25106
25107 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
25108 (grub_console_init): On coreboot/LinuxBIOS, call
25109 grub_keyboard_controller_init().
25110
5f5a7c15 251112008-01-19 Robert Millan <rmh@aybabtu.com>
25112
25113 PowerPC changes provided by Pavel Roskin.
25114
25115 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
25116 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
25117 don't rely on cmain() doing it.
25118 * kern/i386/ieee1275/startup.S (_start): Store %eax in
25119 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
25120
1210e168 251212008-01-16 Robert Millan <rmh@aybabtu.com>
25122
25123 * include/grub/i386/linuxbios/memory.h
25124 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
25125 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
25126 receive `table_header' as argument. Instead, probe for it in the
25127 known memory ranges where it can be present.
25128 (grub_available_iterate): Do not pass a fixed `table_header' address
25129 to grub_linuxbios_table_iterate().
25130
3d04eab8 251312008-01-15 Robert Millan <rmh@aybabtu.com>
25132
25133 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
25134 * conf/i386-ieee1275.rmk: New file.
25135 * include/grub/i386/ieee1275/console.h: Likewise.
25136 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
25137 * include/grub/i386/ieee1275/kernel.h: Likewise.
25138 * include/grub/i386/ieee1275/time.h: Likewise.
25139 * kern/i386/ieee1275/init.c: Likewise.
25140 * kern/i386/ieee1275/startup.S: Likewise.
25141
d1bc1b73 251422008-01-15 Robert Millan <rmh@aybabtu.com>
25143
25144 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
25145 when pointers are 32-bit (but still do set it to one when they are
25146 64-bit).
25147
66a65807 251482008-01-15 Robert Millan <rmh@aybabtu.com>
25149
25150 * include/grub/ieee1275/ieee1275.h
25151 (grub_ieee1275_get_integer_property): New function prototype.
25152
25153 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
25154 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 25155 grub_ieee1275_get_property() to handle endianness.
66a65807 25156
25157 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
25158 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 25159 where appropriate.
66a65807 25160 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
25161 (grub_map): Likewise.
25162 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
25163
a83ccafd 251642008-01-15 Bean <bean123ch@gmail.com>
25165
25166 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
25167 (grub_script_execute_cmdline): Reset grub_errno.
25168
25169 * normal/main.c (read_config_file): Reset grub_errno.
25170
25171 * normal/parse.y (script_init): New.
25172 (script): Move function and menuentry here.
25173 (delimiter): New.
25174 (command): Add delimiter at the end of command.
25175 (commands): Adjust to match the new command.
25176 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 25177 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 25178 (if): Use the new commands.
25179
25180 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
25181
df6ecfc6 251822008-01-15 Robert Millan <rmh@aybabtu.com>
25183
25184 * normal/menu.c (run_menu): Move timeout message from here ...
25185 (print_timeout): ... to here.
25186 (run_menu): Use print_timeout() once during initial draw to print
25187 the whole message, and again in every clock tick to update only
25188 the number of seconds.
25189
87ae25eb 251902008-01-15 Robert Millan <rmh@aybabtu.com>
25191
25192 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
25193 actual size of `available' from grub_ieee1275_get_property(), and
25194 restrict parsing to that bound.
25195
47bf09a4 251962008-01-15 Christian Franke <franke@computer.org>
25197
25198 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
25199 (argp_program_version): Remove variable.
25200 (argp_program_bug_address): Likewise.
25201 (options): Convert from struct argp_option to struct option.
25202 (struct arguments): Remove.
25203 (parse_opt): Remove.
25204 (usage): New function.
25205 (main): Replace struct args members by simple variables.
25206 Replace argp_parse() by getopt_long().
25207 Add switch to evaluate options.
25208 Add missing "(...)" around root_dev in prefix string.
25209
c86f1469 252102008-01-14 Robert Millan <rmh@aybabtu.com>
25211
25212 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
25213 for grub_ieee1275_exit(), in order to improve portability.
25214
e622c559 252152008-01-14 Robert Millan <rmh@aybabtu.com>
25216
25217 * util/grub.d/10_linux.in (prefix): Define.
25218 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
25219
44cb1ec8 252202008-01-13 Pavel Roskin <proski@gnu.org>
25221
25222 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
25223 grub_errno if no errors have been detected.
25224
1eb8c802 252252008-01-12 Robert Millan <rmh@aybabtu.com>
25226
25227 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
25228 (grub_util_get_dev_abstraction): New function prototype.
25229
25230 * util/getroot.c: Include `<grub/util/getroot.h>'
25231 (grub_util_get_grub_dev): Move detection of abstraction type to ...
25232 (grub_util_get_dev_abstraction): ... here (new function).
25233
25234 * util/grub-probe.c: Convert PRINT_* to an enum. Add
25235 `PRINT_ABSTRACTION'.
25236 (probe): Probe for abstraction type when requested.
25237 (main): Understand `--target=abstraction'.
25238
25239 * util/i386/efi/grub-install.in: Add abstraction module to core
25240 image when it is found to be necessary.
25241 * util/i386/pc/grub-install.in: Likewise.
25242 * util/powerpc/ieee1275/grub-install.in: Likewise.
25243
25244 * util/update-grub_lib.in (font_path): Return system path without
25245 converting to GRUB path.
25246 * util/update-grub.in: Convert system path returned by font_path()
25247 to a GRUB path. Use `grub-probe -t abstraction' to determine what
25248 abstraction module is needed for loading fonts (if any). Export
25249 that as `GRUB_PRELOAD_MODULES'.
25250 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
25251 insmod commands).
25252
52bd3de9 252532008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
25254
25255 Remove some unused code from reiserfs.
f19dbdb7 25256
52bd3de9 25257 * fs/reiserfs.c (struct grub_reiserfs_key)
25258 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
25259 (struct grub_reiserfs_node_body): Removed.
25260 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
25261 Likewise.
25262 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25263 Likewise.
25264 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25265 Likewise.
25266 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
25267 Likewise.
25268 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
25269 Likewise.
25270 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
25271 Likewise.
25272 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25273 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25274 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
25275
2f80039d 252762008-01-10 Robert Millan <rmh@aybabtu.com>
25277
25278 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
25279 Determines if a file is garbage left by packaging systems, etc.
25280 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
25281 for processing /etc/grub.d scripts.
25282 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
25283 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
25284 as a condition for processing Linux images.
25285
87888032 252862008-01-10 Pavel Roskin <proski@gnu.org>
25287
25288 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
25289 to compile reiserfs.c on PowerPC.
25290
7e54fced 252912008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 25292
25293 * kern/device.c (grub_device_iterate): Do not abort device iteration
25294 when one of the devices cannot be opened.
25295 * kern/disk.c (grub_disk_open): Do not account previous failures of
25296 unrelated functions when grub_errno is checked for.
25297
5aa541e6 252982008-01-08 Robert Millan <rmh@aybabtu.com>
25299
25300 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
25301 `! grub_linux_is_bzimage', change order of address comparison to make
25302 it more intuitive, and improve "too big zImage" error message.
25303
7076340d 253042008-01-08 Robert Millan <rmh@aybabtu.com>
25305
25306 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
25307 `$(update-grub_DATA)'.
25308 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
25309 targets.
25310
9ca70333 253112008-01-07 Robert Millan <rmh@aybabtu.com>
25312
25313 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
25314 which instruction is modified by grub-setup during installation
25315 (since it wasn't obvious by only looking at this file).
25316
38ccf575 253172008-01-07 Robert Millan <rmh@aybabtu.com>
25318
25319 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
25320 listing actual TODO items.
25321
f5db4291 253222008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25323
868967cf 25324 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
25325 correctly.
25326 (grub_reiserfs_get_key_offset): Likewise.
25327 (grub_reiserfs_set_key_offset): Likewise.
25328 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 25329 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 25330
25331 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
25332 better to remove the bitfield version completely.
f19dbdb7 25333
868967cf 253342008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25335
f5db4291 25336 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
25337 allocated from the heap, due to the fshelp implementation.
25338 (grub_reiserfs_dir): Free NODE, due to the same reason.
25339
492e6d9d 253402008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25341
25342 Mostly from Vincent Pelletier:
f19dbdb7 25343
492e6d9d 25344 * fs/reiserfs.c: New file.
f19dbdb7 25345
492e6d9d 25346 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
25347 (reiserfs_mod_SOURCES): New variable.
25348 (reiserfs_mod_CFLAGS): Likewise.
25349 (reiserfs_mod_LDFLAGS): Likewise.
25350
25351 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
25352 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
25353 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
25354 normal/color.c.
25355
9ce3e7c1 253562008-01-06 Robert Millan <rmh@aybabtu.com>
25357
25358 * normal/color.c: Remove `<grub/env.h>'.
25359
f3b58148 253602008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
25361
25362 * include/grub/normal.h: Include <grub/env.h>.
25363
7ac3bcfa 253642008-01-05 Robert Millan <rmh@aybabtu.com>
25365
25366 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
25367 usage example with `(hd0,1)'.
fb358190 25368 Reported by Samuel Thibault.
7ac3bcfa 25369
c8ee99d7 253702008-01-05 Robert Millan <rmh@aybabtu.com>
25371
25372 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
25373 (grub_linux_boot_zimage): Rename to ...
25374 (grub_linux_boot): ... this.
25375 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
25376 (grub_linux_boot_zimage): Conditionalize zImage copy.
25377
25378 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
25379 (grub_linux_boot_bzimage): Remove prototype.
25380 (grub_linux_boot_zimage): Rename to ...
25381 (grub_linux_boot): ... this.
25382
25383 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
25384 (grub_linux_boot): Remove function.
25385
0ece25b1 253862008-01-05 Robert Millan <rmh@aybabtu.com>
25387
25388 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
25389 (grub_env_write_color_highlight): Likewise.
25390 (grub_wait_after_message): Likewise.
25391
25392 * normal/color.c: New file.
25393
25394 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25395 (normal_mod_DEPENDENCIES): Likewise.
25396
25397 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25398 (normal_mod_DEPENDENCIES): Likewise.
25399
25400 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25401 (normal_mod_DEPENDENCIES): Likewise.
25402
25403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25404 (normal_mod_DEPENDENCIES): Likewise.
25405
25406 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
25407 for waiting after a message is printed.
25408 * normal/main.c (read_config_file): Likewise.
25409 (grub_normal_init): Register grub_env_write_color_normal() and
25410 grub_env_write_color_highlight() hooks. Mark `color_normal' and
25411 `color_highlight' variables as global.
25412
25413 * normal/menu.c (grub_wait_after_message): New function.
25414 (grub_color_menu_normal): New variable. Replaces ...
25415 (GRUB_COLOR_MENU_NORMAL): ... this macro.
25416 (grub_color_menu_highlight): New variable. Replaces ...
25417 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
25418 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
25419 `GRUB_TERM_COLOR_STANDARD'.
25420 (print_message): Use `grub_setcolorstate' to reload colors. Rename
25421 `normal_code' and `highlight_code' to `old_color_normal' and
25422 `old_color_highlight', respectively.
25423 (grub_menu_init_page): Update colors when drawing the menu, based on
25424 `menu_color_normal' and `menu_color_highlight' variables.
25425 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
25426 a message is printed.
25427
182dd4e5 254282008-01-05 Robert Millan <rmh@aybabtu.com>
25429
25430 * kern/env.c (grub_env_context_open): Propagate hooks for global
25431 variables to new context.
25432
25433 * kern/main.c (grub_set_root_dev): Export `root' variable.
25434
ddf8f6ad 254352008-01-05 Robert Millan <rmh@aybabtu.com>
25436
25437 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 25438 discs unconditionally, since udev and others have options to provide
ddf8f6ad 25439 them.
25440
d8b43d9b 254412008-01-05 Robert Millan <rmh@aybabtu.com>
25442
25443 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
25444
2bff2de3 254452008-01-04 Christian Franke <franke@computer.org>
25446
25447 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
25448 of eisa_mmap.
25449
97eab917 254502008-01-03 Pavel Roskin <proski@gnu.org>
25451
25452 * kern/i386/linuxbios/init.c: Put "void" to all function
25453 declarations with no arguments.
25454 * kern/powerpc/ieee1275/init.c: Likewise.
25455 * term/i386/pc/at_keyboard.c: Likewise.
25456 * term/i386/pc/vga_text.c: Likewise.
25457 * util/grub-mkdevicemap.c: Likewise.
25458
b9416d00 254592008-01-02 Robert Millan <rmh@aybabtu.com>
25460
25461 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
25462 message when loaded image is out of bounds.
25463 (grub_multiboot_load_elf64): Likewise.
25464
92695df9 254652008-01-02 Pavel Roskin <proski@gnu.org>
25466
25467 * util/grub.d/10_linux.in: Try version without ".old" when
25468 looking for initrd. It's better to use initrd from the newer
25469 kernel of the same version than no initrd at all.
25470
d98d9cad 254712008-01-01 Robert Millan <rmh@aybabtu.com>
25472
25473 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
25474
dbfdce36 254752008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
25476
f19dbdb7 25477 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 25478 grub_video_get_active_render_target.
25479 (grub_video_adapter): Added unmap_color and get_active_render_target.
25480
f19dbdb7 25481 * video/video.c: Added grub_video_unmap_color and
dbfdce36 25482 grub_video_get_active_render_target.
25483 (grub_video_get_info): Changed method to accept NULL pointer as an
25484 argument to allow detection of active video adapter.
25485
25486 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
25487 grub_video_vbe_unmap_color_int.
25488 Added grub_video_vbe_unmap_color and
25489 grub_video_vbe_get_active_render_target.
25490 (grub_video_vbe_adapter): Added unmap_color and
25491 get_active_render_target.
25492
f19dbdb7 25493 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 25494 with grub_video_vbe_unmap_color_int.
25495
25496 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
25497 (DEFAULT_NORMAL_COLOR): Likewise.
25498 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
25499 (DEFAULT_FG_COLOR): Removed.
25500 (DEFAULT_BG_COLOR): Likewise.
25501 (DEFAULT_CURSOR_COLOR): Changed value.
25502 (grub_virtual_screen): Added standard_color_setting,
25503 normal_color_setting, highlight_color_setting and term_color.
25504 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
25505 (bitmap_width): Added.
25506 (bitmap_height): Likewise.
25507 (bitmap): Likewise.
25508 (set_term_color): Likewise.
25509 (grub_virtual_screen_setup): Changed to use new terminal coloring
25510 settings.
25511 (grub_gfxterm_init): Added init for bitmap.
25512 (grub_gfxterm_fini): Added destroy for bitmap.
25513 (redraw_screen_rect): Updated to use background bitmap and new
25514 terminal coloring.
25515 (scroll_up): Added optimization for case when there is no bitmap.
25516 (grub_gfxterm_cls): Fixed to use correct background color.
25517 (grub_virtual_screen_setcolorstate): Changed to use new terminal
25518 coloring.
25519 (grub_virtual_screen_setcolor): Likewise.
25520 (grub_virtual_screen_getcolor): Added.
25521 (grub_gfxterm_background_image_cmd): Likewise.
25522 (grub_video_term): Added setcolor and getcolor.
25523 (MOD_INIT): Added registration of background_image command.
25524 (MOD_TERM): Added unregistration for background_image command.
25525
c3c20931 255262007-12-30 Pavel Roskin <proski@gnu.org>
25527
25528 * loader/multiboot_loader.c: Fix multiboot command
25529 unregistration. Fix all typos in the word "multiboot".
25530
df266716 255312007-12-29 Pavel Roskin <proski@gnu.org>
94239199 25532
25533 * util/grub.d/10_linux.in: Refactor search for initrd. Add
25534 support for initrd names used in Fedora.
25535
fc6e896c 255362007-12-26 Bean <bean123ch@gmail.com>
25537
25538 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
25539 (cpio_mod_SOURCES): New variable.
25540 (cpio_mod_CFLAGS): Likewise.
25541 (cpio_mod_LDFLAGS): Likewise.
25542
25543 * fs/cpio.c: New file.
25544
25545 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
25546
25547 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25548
25549 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25550
25551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25552
533110ad 255532007-12-25 Robert Millan <rmh@aybabtu.com>
25554
25555 * include/grub/term.h (struct grub_term): Add `getcolor' function.
25556 (grub_getcolor): New function.
25557
25558 * kern/term.c (grub_getcolor): New function.
25559 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
25560 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
25561 (print_entry): Set normal and highlight colors to
25562 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
25563 respectively, before printing and restore them to old
25564 values afterwards.
25565 (grub_menu_init_page): Likewise. Fill an additional colored space
25566 that would otherwise be left blank.
25567
25568 * term/efi/console.c (grub_console_getcolor): New function.
25569 (struct grub_console_term.getcolor): New variable.
25570 * term/i386/pc/console.c (grub_console_getcolor): New function.
25571 (struct grub_console_term.getcolor): New variable.
25572 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
25573 (struct grub_console_term.getcolor): New variable.
25574
25575 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
25576 (struct grub_console_term.setcolor): Remove variable.
25577 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
25578 (struct grub_console_term.setcolor): Remove variable.
25579 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
25580 (struct grub_console_term.setcolor): Remove variable.
25581 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
25582 (struct grub_console_term.setcolor): Remove variable.
25583
4931827f 255842007-12-25 Robert Millan <rmh@aybabtu.com>
25585
25586 * configure.ac: Search for possible unifont.hex locations, and
25587 define UNIFONT_HEX if found.
25588
25589 * Makefile.in (UNIFONT_HEX): Define variable.
25590 (DATA): Rename to ...
25591 (PKGLIB): ... this. Update all users.
25592 (PKGDATA): New variable.
25593 (pkgdata_IMAGES): Rename to ...
25594 (pkglib_IMAGES): ... this. Update all users.
25595 (pkgdata_MODULES): Rename to ...
25596 (pkglib_MODULES): ... this. Update all users.
25597 (pkgdata_PROGRAMS): Rename to ...
25598 (pkglib_PROGRAMS): ... this. Update all users.
25599 (pkgdata_DATA): Rename to ...
25600 (pkglib_DATA): ... this. Update all users.
25601 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
25602 (unicode.pff, ascii.pff): New rules.
25603 (all-local): Add `$(PKGDATA)' dependency.
25604 (install-local): Process `$(PKGDATA)'.
25605
25606 * util/update-grub_lib.in (font_path): Search for *.pff files in
25607 a few more locations, including `${pkgdata}'.
25608
57e57e31 256092007-12-23 Robert Millan <rmh@aybabtu.com>
25610
25611 Patch from Bean <bean123ch@gmail.com>:
25612 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
25613 `size'.
25614
4bc72aa9 256152007-12-21 Bean <bean123ch@gmail.com>
25616
25617 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
25618 (ntfscomp_mod_SOURCES): New variable.
25619 (ntfscomp_mod_CFLAGS): Likewise.
25620 (ntfscomp_mod_LDFLAGS): Likewise.
25621
25622 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
25623 (grub_probe_SOURCES): Likewise.
25624 (grub_emu_SOURCES): Likewise.
25625
25626 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25627 (grub_emu_SOURCES): Likewise.
25628
25629 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25630 (grub_emu_SOURCES): Likewise.
25631
25632 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25633 (grub_emu_SOURCES): Likewise.
25634
25635 * fs/ntfs.c (grub_ntfscomp_func): New variable.
25636 (read_run_list): Renamed to grub_ntfs_read_run_list.
25637 (decomp_nextvcn): Moved to ntfscomp.c.
25638 (decomp_getch): Likewise.
25639 (decomp_get16): Likewise.
25640 (decomp_block): Likewise.
25641 (read_block): Likewise.
25642 (read_data): Partially moved to ntfscomp.c.
25643 (fixup): Change unsigned to grub_uint16_t.
25644 (read_mft): Change unsigned long to grub_uint32_t.
25645 (read_attr): Likewise.
25646 (read_data): Likewise.
25647 (read_run_data): Likewise.
25648 (read_run_list): Likewise.
25649 (read_mft): Likewise.
25650
25651 * fs/ntfscomp.c: New file.
25652
25653 * include/grub/ntfs.h: New file.
25654
af680a87 256552007-12-16 Robert Millan <rmh@aybabtu.com>
25656
25657 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
25658 IDE disk check, since Linux is known to support 20 IDE disks.
25659 Reported by Colin Watson.
25660
84be7599 256612007-12-15 Bean <bean123ch@gmail.com>
25662
25663 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
25664 (lnxboot_img_SOURCES): New variable.
25665 (lnxboot_img_ASFLAGS): Likewise.
25666 (lnxboot_img_LDFLAGS): Likewise.
25667
25668 * boot/i386/pc/lnxboot.S: New file.
25669
6af9db01 256702007-11-24 Pavel Roskin <proski@gnu.org>
25671
25672 * configure.ac: Test if '--build-id=none' is supported by the
25673 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
25674 objcopy to generate incorrect binary files (binutils
25675 2.17.50.0.18-1 as shipped by Fedora 8).
25676 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
25677 linking, so that build ID doesn't break the test.
25678
7361cfe6 256792007-11-24 Pavel Roskin <proski@gnu.org>
25680
25681 * include/grub/i386/time.h: use "void" in the argument list
25682 of grub_cpu_idle().
25683 * include/grub/powerpc/time.h: Likewise.
25684 * include/grub/sparc64/time.h: Likewise.
25685
1593e10c 256862007-11-18 Christian Franke <franke@computer.org>
25687
25688 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
25689 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
25690 This fixes the problem that function keys did not work in grub-emu.
25691
3b8db1a8 256922007-11-18 Christian Franke <franke@computer.org>
25693
25694 * disk/host.c (grub_host_open): Remove attribute unused from
25695 name parameter. Add check for "host". This fixes the problem
25696 that grub-emu does not find partitions.
25697
2e29408d 256982007-11-18 Christian Franke <franke@computer.org>
25699
25700 * util/hostfs.c (is_dir): New function.
25701 (grub_hostfs_dir): Handle missing dirent.d_type case.
25702 (grub_hostfs_read): Add missing fseek().
25703 (grub_hostfs_label): Clear label pointer. This fixes a crash
25704 of grub-emu on "ls (host)".
25705
398cd047 257062007-11-18 Christian Franke <franke@computer.org>
25707
25708 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
25709 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
25710 to 64 bit boundary by default.
25711
c405c391 257122007-11-18 Bean <bean123ch@gmail.com>
25713
25714 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
25715 (hexdump_mod_SOURCES): New variable.
25716 (hexdump_mod_CFLAGS): Likewise.
25717 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 25718
c405c391 25719 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25720
25721 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25722
25723 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25724
25725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25726
25727 * include/grub/hexdump.h: New file.
25728
25729 * commands/hexdump.c: New file.
25730
5cced7fd 257312007-11-10 Robert Millan <rmh@aybabtu.com>
25732
25733 * commands/i386/pc/play.c (beep_off): Switch order of arguments
25734 in grub_outb() calls.
25735 (beep_on): Likewise.
25736
8b714eb0 257372007-11-10 Christian Franke <franke@computer.org>
25738
25739 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
25740 (grub_menu_run): Likewise.
25741
ce0f1839 257422007-11-10 Robert Millan <rmh@aybabtu.com>
25743
25744 * include/grub/i386/efi/machine.h: New file.
25745 * include/grub/i386/linuxbios/machine.h: Likewise.
25746 * include/grub/i386/pc/machine.h: Likewise.
25747 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25748 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25749
25750 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
25751 (serial_hw_io_addr): New variable.
25752 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
25753 instead of `(unsigned short *) 0x400'.
25754
270c237d 257552007-11-10 Bean <bean123ch@gmail.com>
25756
25757 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
25758
a87783bf 257592007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
25760
25761 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
25762 (vga_mod_SOURCES): Added.
25763 (vga_mod_CFLAGS): Likewise.
25764 (vga_mod_LDFLAGS): Likewise.
25765
25766 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
25767 grub_outb() calls.
25768 (set_map_mask): Likewise.
25769 (set_read_map): Likewise.
25770 (set_read_address): Likewise.
25771 (vga_font): Removed variable.
25772 (get_vga_glyph): Removed function.
25773 (invalidate_char): Likewise.
25774 (write_char): Changed to use grub_font_get_glyph() for font
25775 information.
25776 (grub_vga_putchar): Likewise.
25777 (grub_vga_getcharwidth): Likewise.
25778
6433b448 257792007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
25780
25781 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
25782 flags.
25783 (pxeboot_img_LDFLAGS): Likewise.
25784 (diskboot_img_LDFLAGS): Likewise.
25785 (kernel_img_LDFLAGS): Likewise.
25786
49178511 257872007-11-06 Robert Millan <rmh@aybabtu.com>
25788
25789 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
25790 in grub_outb() calls.
25791 (serial_hw_init): Likewise.
25792
53b052de 257932007-11-05 Robert Millan <rmh@aybabtu.com>
25794
25795 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
25796 spaces. Skip non-regular files.
25797
5ab33bba 257982007-11-05 Robert Millan <rmh@aybabtu.com>
25799
25800 * kern/disk.c (grub_disk_firmware_fini)
25801 (grub_disk_firmware_is_tainted): New variables.
25802
25803 * include/grub/disk.h (grub_disk_firmware_fini)
25804 (grub_disk_firmware_is_tainted): Likewise.
25805
25806 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
25807 (grub_disk_biosdisk_fini): ... to here.
25808 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
25809 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
25810 is set. Register grub_disk_biosdisk_fini() in
25811 `grub_disk_firmware_fini'.
25812
25813 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
25814 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
25815 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
25816 to finish existing firmware disk interface.
25817
25818 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
25819 (ata_mod_SOURCES): New variable.
25820 (ata_mod_CFLAGS): Likewise.
25821 (ata_mod_LDFLAGS): Likewise.
25822
0149ab7c 258232007-11-05 Robert Millan <rmh@aybabtu.com>
25824
25825 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
25826 (grub_ata_wait): Reimplement using grub_millisleep().
25827
25828 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
25829 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
25830
be7ac41e 258312007-11-03 Marco Gerards <marco@gnu.org>
25832
25833 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
25834 (CRTC_ADDR_PORT): New macro.
25835 (CRTC_DATA_PORT): Likewise.
25836 (CRTC_CURSOR): Likewise.
25837 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25838 (CRTC_CURSOR_ADDR_LOW): Likewise.
25839 (update_cursor): New function.
25840 (grub_console_real_putchar): Call `update_cursor'.
25841 (grub_console_gotoxy): Likewise.
25842 (grub_console_cls): Set the default color when clearing the
25843 screen.
25844 (grub_console_setcursor): Implemented.
25845
bb06ab2e 258462007-11-03 Marco Gerards <marco@gnu.org>
25847
25848 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
25849 become activate.
25850 (grub_ata_pio_write): Likewise.
25851
25852 (grub_atapi_identify): Wait after issuing an ATA command.
25853 (grub_atapi_packet): Likewise.
25854 (grub_ata_identify): Likewise.
25855 (grub_ata_readwrite): Likewise.
25856
cf8f780b 258572007-11-03 Marco Gerards <marco@gnu.org>
25858
25859 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
25860 (grub_ata_pio_write): Likewise.
25861 (grub_ata_readwrite): Use `grub_error', instead of
25862 returning `grub_errno'.
25863
ed649e54 258642007-11-03 Marco Gerards <marco@gnu.org>
25865
25866 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
25867 grub_ata_pio_write once for every single sector, instead of for
25868 multiple sectors.
25869
ca25d8f0 258702007-10-31 Robert Millan <rmh@aybabtu.com>
25871
25872 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
25873
25874 * conf/i386-linuxbios.rmk: New file.
25875
25876 * kern/i386/pc/hardware.c: Likewise.
25877 * term/i386/pc/at_keyboard.c: Likewise.
25878 * term/i386/pc/vga_text.c: Likewise.
25879
25880 * include/grub/i386/linuxbios/boot.h: Likewise.
25881 * include/grub/i386/linuxbios/console.h: Likewise.
25882 * include/grub/i386/linuxbios/init.h: Likewise.
25883 * include/grub/i386/linuxbios/kernel.h: Likewise.
25884 * include/grub/i386/linuxbios/loader.h: Likewise.
25885 * include/grub/i386/linuxbios/memory.h: Likewise.
25886 * include/grub/i386/linuxbios/serial.h: Likewise.
25887 * include/grub/i386/linuxbios/time.h: Likewise.
25888
25889 * kern/i386/linuxbios/init.c: Likewise.
25890 * kern/i386/linuxbios/startup.S: Likewise.
25891 * kern/i386/linuxbios/table.c: Likewise.
25892
e911ecc1 258932007-10-31 Marco Gerards <marco@gnu.org>
25894
25895 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
25896 (ata_mod_SOURCES): New variable.
25897 (ata_mod_CFLAGS): Likewise.
25898 (ata_mod_LDFLAGS): Likewise.
25899
25900 * disk/ata.c: New file.
25901
25902 * include/grub/disk.h (grub_disk_dev_id): Add
25903 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 25904
7f66d0e0 259052007-10-31 Robert Millan <rmh@aybabtu.com>
25906
25907 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
25908 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
25909
25910 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
25911 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
25912
25913 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
25914 `<grub/types.h>'.
25915
25916 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
25917
5cd7dd46 259182007-10-27 Robert Millan <rmh@aybabtu.com>
25919
3236ca65 25920 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 25921
2ebfc90f 259222007-10-22 Robert Millan <rmh@aybabtu.com>
25923
25924 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
25925 `"../realmode.S"'.
25926 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
25927
73fcb0f3 259282007-10-22 Robert Millan <rmh@aybabtu.com>
25929
25930 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
25931 (pkgdata_MODULES): Add `biosdisk.mod'.
25932 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
25933 variables.
25934
25935 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
25936 (grub_biosdisk_init): Replace with ...
25937 (GRUB_MOD_INIT(biosdisk)): ... this.
25938 (grub_biosdisk_fini): Replace with ...
25939 (GRUB_MOD_FINI(biosdisk)): ... this.
25940
25941 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
25942 (grub_machine_init): Remove call to grub_biosdisk_init().
25943 (grub_machine_fini): Remove call to grub_machine_fini().
25944
25945 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
25946
3381d274 259472007-10-22 Robert Millan <rmh@aybabtu.com>
25948
25949 * include/grub/time.h: New file.
25950 * include/grub/i386/time.h: Likewise.
25951 * include/grub/powerpc/time.h: Likewise.
25952 * include/grub/sparc64/time.h: Likewise.
25953
25954 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
25955 instances to ...
25956 (KERNEL_MACHINE_TIME_HEADER): ... this.
25957 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25958 instances to ...
25959 (KERNEL_MACHINE_TIME_HEADER): ... this.
25960 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25961 instances to ...
25962 (KERNEL_MACHINE_TIME_HEADER): ... this.
25963
25964 * kern/i386/efi/init.c: Include `<grub/time.h>'.
25965 (grub_millisleep): New function.
25966 * kern/i386/pc/init.c: Include `<grub/time.h>'.
25967 (grub_millisleep): New function.
25968 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
25969 Remove `grub/machine/time.h' include.
25970 (grub_millisleep): New function.
25971 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
25972 Remove `grub/machine/time.h' include.
25973 (grub_millisleep): New function.
25974
25975 * include/grub/misc.h (grub_div_roundup): New function.
25976
25977 * kern/misc.c: Include `<grub/time.h>'.
25978 (grub_millisleep_generic): New function.
25979
25980 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
25981 Add `time.h'.
25982 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
25983 Add `time.h'.
25984 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
25985 `machine/time.h'. Add `time.h'.
25986 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25987
a39a0312 259882007-10-21 Robert Millan <rmh@aybabtu.com>
25989
25990 * include/grub/misc.h (grub_max): New function.
25991
2aad70e2 259922007-10-21 Robert Millan <rmh@aybabtu.com>
25993
25994 * util/misc.c (grub_util_info): Call fflush() before returning.
25995
54b71c4b 259962007-10-20 Robert Millan <rmh@aybabtu.com>
25997
25998 * genmk.rb (Image): Copy `extra_flags' from here ...
25999 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
26000
26001 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
26002 to `argc' and `args' arguments.
26003
a979f513 260042007-10-17 Robert Millan <rmh@aybabtu.com>
26005
26006 * kern/i386/loader.S: New file.
26007
26008 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
26009 * kern/i386/loader.S (grub_linux_prot_size)... to here.
26010 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
26011 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
26012 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
26013 * kern/i386/loader.S (grub_linux_real_addr)... to here.
26014 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
26015 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
26016 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
26017 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
26018 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
26019 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
26020 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
26021 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
26022
26023 * kern/i386/realmode.S: New file.
26024
26025 * kern/i386/pc/startup.S (protstack): Moved from here ...
26026 * kern/i386/realmode.S (protstack)... to here.
26027 * kern/i386/pc/startup.S (gdt): Moved from here ...
26028 * kern/i386/realmode.S (gdt)... to here.
26029 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
26030 * kern/i386/realmode.S (prot_to_real)... to here.
26031
26032 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
26033 `kern/i386/realmode.S'.
26034
825fc8fd 260352007-10-17 Robert Millan <rmh@aybabtu.com>
26036
26037 * include/grub/i386/loader.h: New file.
26038
26039 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
26040 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26041 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26042 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26043 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
26044 * include/grub/i386/loader.h (grub_linux_prot_size)
26045 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26046 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26047 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26048 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
26049
26050 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
26051
e179b2f4 260522007-10-15 Robert Millan <rmh@aybabtu.com>
26053
26054 * normal/misc.c (grub_normal_print_device_info): Do not probe for
26055 filesystem when dev->disk is unset.
26056 Do probe for filesystem even when dev->disk->has_partitions is set.
26057 In case a filesystem is found, always report it.
26058 In case it isn't, if dev->disk->has_partitions is set, report that
26059 a partition table was found instead of reporting that no filesystem
26060 could be identified.
26061
5db82af6 260622007-10-12 Robert Millan <rmh@aybabtu.com>
26063
26064 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
26065 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
26066
68f6ac74 26067 * include/grub/types.h (grub_host_to_target16): New macro.
26068 (grub_host_to_target32): Likewise.
26069 (grub_host_to_target64): Likewise.
26070 (grub_target_to_host16): Likewise.
26071 (grub_target_to_host32): Likewise.
26072 (grub_target_to_host64): Likewise.
5db82af6 26073
26074 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26075 Renamed from to ...
26076 (GRUB_MOD_ALIGN): ...this. Update all users.
26077
68f6ac74 26078 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
26079 grub_host_to_target32.
26080 Replace grub_be_to_cpu32 with grub_target_to_host32.
26081 (load_modules): Likewise.
26082 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
26083 Replace grub_be_to_cpu32 with grub_target_to_host32.
26084 Replace grub_cpu_to_be16 with grub_host_to_target16.
26085 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 26086
3cf497cc 260872007-10-12 Robert Millan <rmh@aybabtu.com>
26088
26089 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
26090 * util/elf/grub-mkimage.c: ... here.
26091
26092 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
26093 `util/powerpc/ieee1275/grub-mkimage.c'.
26094
c8cc3692 260952007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 26096
c8cc3692 26097 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
26098 and make it easier to figure out.
26099 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
26100 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
26101 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
26102 leave us with less than HEAP_MIN_SIZE total heap.
26103 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 26104
5c58b791 261052007-10-03 Robert Millan <rmh@aybabtu.com>
26106
26107 * include/grub/i386/io.h: New file.
26108 * commands/i386/pc/play.c (inb): Removed.
26109 (outb): Removed.
26110 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26111 with grub_outb().
afcd2ef8 26112 * term/i386/pc/serial.c (inb): Removed.
26113 (outb): Removed.
26114 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26115 with grub_outb().
26116 * term/i386/pc/vga.c (inb): Removed.
26117 (outb): Removed.
26118 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26119 with grub_outb().
5c58b791 26120
1a477ed6 261212007-10-02 Robert Millan <rmh@aybabtu.com>
26122
26123 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
26124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26125 Reported by Marcin Kurek.
26126
6b5d80fa 261272007-09-07 Robert Millan <rmh@aybabtu.com>
26128
26129 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
26130 SmartFirmware version updates (as released by Sven Luther), and avoid
26131 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
26132 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
26133 known broken.
26134
5618afbf 261352007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26136
26137 From Hitoshi Ozeki:
26138 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
26139 when merging two regions.
26140
6139dcd9 261412007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
26142
508e39ee 26143 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
26144 * normal/completion.c (grub_normal_do_completion): Likewise.
26145 Reported by Hitoshi Ozeki.
26146
261472007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 26148
6139dcd9 26149 Do not use devices at boot in chainloading.
f19dbdb7 26150
6139dcd9 26151 * loader/i386/pc/chainloader.c (boot_drive): New variable.
26152 (boot_part_addr): Likewise.
26153 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
26154 with BOOT_DRIVE and BOOT_PART_ADDR.
26155 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
26156 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
26157
38da6516 261582007-08-29 Robert Millan <rmh@aybabtu.com>
26159
26160 Patch from Simon Peter <dn.tlp@gmx.net>:
26161 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
26162 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
26163 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
26164 util/i386/pc/grub-setup.c_DEPENDENCIES.
26165 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
26166 util/grub-probe.c_DEPENDENCIES.
26167 * conf/powerpc-ieee1275.rmk: Likewise.
26168
29d0928c 261692007-08-28 Robert Millan <rmh@aybabtu.com>
26170
26171 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
26172 to tell grub-mkdevicemap how to name devices.
26173 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
26174 feature).
26175
26176 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
26177 util/i386/get_disk_name.c.
26178 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
26179 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
26180 util/ieee1275/get_disk_name.c.
26181
26182 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
26183
26184 * DISTLIST: Add util/i386/get_disk_name.c and
26185 util/ieee1275/get_disk_name.c.
26186
26187 * util/grub-mkdevicemap.c: Replace device naming logic with
26188 grub_util_get_disk_name() calls.
26189
5a0d3cca 261902007-08-20 Robert Millan <rmh@aybabtu.com>
26191
26192 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
26193 (so that it works for both plural and singular quantities).
26194
8b72db2f 261952007-08-05 Robert Millan <rmh@aybabtu.com>
26196
26197 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
26198 so that [xz] isn't taken into account when determining order.
26199
352466bf 262002007-08-02 Marco Gerards <marco@gnu.org>
26201
26202 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
26203 `include/multiboot2.h', `include/grub/elfload.h',
26204 `include/multiboot.h', `include/grub/multiboot.h',
26205 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
26206 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
26207 `kern/elf.c', `loader/multiboot_loader.c',
26208 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
26209 `loader/i386/pc/multiboot2.c',
26210 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
26211 `util/i386/pc/grub-mkrescue.in'. Remove
26212 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
26213 `include/grub/i386/pc/util/biosdisk.h' and
26214 `include/grub/powerpc/ieee1275/multiboot.h'.
26215
8f096014 262162007-08-02 Bean <bean123ch@gmail.com>
26217
26218 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
26219 (ntfs_mod_SOURCES): New variable.
26220 (ntfs_mod_CFLAGS): Likewise.
26221 (ntfs_mod_LDFLAGS): Likewise.
26222
26223 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
26224 (grub_probe_SOURCES): Likewise.
26225 (grub_emu_SOURCES): Likewise.
26226
26227 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
26228 (grub_emu_SOURCES): Likewise.
26229
26230 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
26231 (grub_emu_SOURCES): Likewise.
f19dbdb7 26232
8f096014 26233 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
26234
26235 * fs/ntfs.c: New file.
26236
9959f7db 262372007-08-02 Bean <bean123ch@gmail.com>
26238
26239 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
26240
26241 * file.h (grub_file): Likewise.
26242
26243 * fshelp.h (grub_fshelp_read_file): Likewise.
26244
26245 * util/i386/pc/grub-setup.c (setup): Likewise.
26246 (save_first_sector): Likewise.
26247 (save_blocklists): Likewise.
f19dbdb7 26248
9959f7db 26249 * fs/affs.c (grub_affs_read_file): Likewise.
26250
26251 * fs/ext2.c (grub_ext2_read_file): Likewise.
26252
26253 * fs/fat.c (grub_fat_read_data): Likewise.
26254
26255 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
26256
26257 * fs/hfs.c (grub_hfs_read_file): Likewise.
26258
26259 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
26260
26261 * fs/jfs.c (grub_jfs_read_file): Likewise.
26262
26263 * fs/minix.c (grub_minix_read_file): Likewise.
26264
26265 * fs/sfs.c (grub_sfs_read_file): Likewise.
26266
26267 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 26268
9959f7db 26269 * fs/xfs.c (grub_xfs_read_file): Likewise.
26270
26271 * command/blocklist.c (read_blocklist): Likewise.
26272 (print_blocklist): Likewise.
26273
0a203f83 262742007-08-02 Marco Gerards <marco@gnu.org>
26275
26276 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
26277 `util/hostfs.c'.
26278
26279 * disk/host.c: New file.
26280
26281 * util/hostfs.c: Likewise.
26282
26283 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
26284 return `GRUB_ERR_BAD_FS'.
26285 * fs/sfs.c (grub_sfs_mount): Likewise.
26286 * fs/xfs.c (grub_xfs_mount): Likewise.
26287
26288 * include/grub/disk.h (enum grub_disk_dev_id): Add
26289 `GRUB_DISK_DEVICE_HOST_ID'.
26290
26291 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
26292
e5dfe777 262932007-07-24 Jerone Young <jerone@gmail.com>
26294
f19dbdb7 26295 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 26296 modules for compilation.
26297 * conf/powerpc-ieee1275.rmk: Likewise.
26298
26299 * include/multiboot.h: Move multiboot definitions to one file. Rename
26300 many definitions to not get grub specific.
26301 * include/multiboot2.h: Create header with multiboot 2 definitions.
26302 * include/grub/multiboot.h: Header for grub specific function
26303 prototypes and definitions.
26304 * include/grub/multiboot2.h: Likewise.
26305 * include/grub/multiboot_loader.h: Likewise.
26306 * include/grub/i386/pc/multiboot.h: Removed.
26307 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
26308
26309 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
26310 and 2 to allow for one multiboot and module commands.
26311 * loader/multiboot2.c: Add multiboot2 functionality.
26312 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
26313 and definition names.
26314 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
26315 2 functions.
26316 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
26317 ieee1275 specific multiboot2 code.
26318
26319 * kern/i386/pc/startup.S: Change headers and definition names for
26320 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
26321
daf0f0ba 263222007-07-22 Robert Millan <rmh@aybabtu.com>
26323
26324 * geninitheader.sh: Process file specified in first parameter rather
26325 than hardcoding grub_modules_init.lst.
fe6b695a 26326 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 26327 than hardcoding grub_modules_init.h.
26328
26329 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
26330 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
26331 grub_probe_init.[ch] and grub_setup_init.[ch].
26332
26333 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
26334 grub_modules_init.h with grub_emu_init.h.
26335 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
26336 grub_probe_init.[ch] files.
26337 * conf/i386-efi.rmk: Likewise.
26338 * conf/i386-pc.rmk: Likewise.
26339 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
26340 grub_setup_init.[ch] files.
26341
26342 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
26343 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
26344 to initialize modules rather than a list of hardcoded functions.
26345 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
26346 grub_init_all() to initialize modules rather than a list of hardcoded
26347 functions.
26348
54cdc1cc 263492007-07-22 Robert Millan <rmh@aybabtu.com>
26350
26351 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26352 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
26353
ad0686cc 263542007-07-22 Robert Millan <rmh@aybabtu.com>
26355
26356 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26357 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
26358 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
26359 flag when running on SmartFirmware.
26360 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
26361 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
26362 was set.
26363
26364 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26365 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
26366 rather than decreasing it.
26367
26368 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
26369 there's not enough space to do it, fail in the same way as when it
26370 can't be done because there are no partitions.
26371
26372 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
26373 when nvsetenv failed.
26374
969c02ec 263752007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
26376
26377 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
26378 because this rule is automatically generated.
26379 (grub-mkrescue): Removed for the same reason as above.
26380
5a79f472 263812007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
26382
26383 Migrate to GNU General Public License Version 3.
f19dbdb7 26384
5a79f472 26385 * COPYING: Replaced with the plain text version of GPLv3.
26386
26387 * config.guess: Updated from gnulib.
26388 * config.sub: Likewise.
26389
26390 * geninit.sh: Output a GPLv3 copyright notice.
26391 * geninitheader.sh: Likewise.
26392 * genmodsrc.sh: Likewise.
26393 * gensymlist.sh.in: Likewise.
26394
26395 * boot/i386/pc/boot.S: Upgraded to GPLv3.
26396 * boot/i386/pc/diskboot.S: Likewise.
26397 * boot/i386/pc/pxeboot.S: Likewise.
26398 * commands/blocklist.c: Likewise.
26399 * commands/boot.c: Likewise.
26400 * commands/cat.c: Likewise.
26401 * commands/cmp.c: Likewise.
26402 * commands/configfile.c: Likewise.
26403 * commands/echo.c: Likewise.
26404 * commands/help.c: Likewise.
26405 * commands/ls.c: Likewise.
26406 * commands/search.c: Likewise.
26407 * commands/terminal.c: Likewise.
26408 * commands/test.c: Likewise.
26409 * commands/videotest.c: Likewise.
26410 * commands/i386/cpuid.c: Likewise.
26411 * commands/i386/pc/halt.c: Likewise.
26412 * commands/i386/pc/play.c: Likewise.
26413 * commands/i386/pc/reboot.c: Likewise.
26414 * commands/i386/pc/vbeinfo.c: Likewise.
26415 * commands/i386/pc/vbetest.c: Likewise.
26416 * commands/ieee1275/halt.c: Likewise.
26417 * commands/ieee1275/reboot.c: Likewise.
26418 * commands/ieee1275/suspend.c: Likewise.
26419 * disk/loopback.c: Likewise.
26420 * disk/lvm.c: Likewise.
26421 * disk/raid.c: Likewise.
26422 * disk/efi/efidisk.c: Likewise.
26423 * disk/i386/pc/biosdisk.c: Likewise.
26424 * disk/ieee1275/ofdisk.c: Likewise.
26425 * font/manager.c: Likewise.
26426 * fs/affs.c: Likewise.
26427 * fs/ext2.c: Likewise.
26428 * fs/fat.c: Likewise.
26429 * fs/fshelp.c: Likewise.
26430 * fs/hfs.c: Likewise.
26431 * fs/hfsplus.c: Likewise.
26432 * fs/iso9660.c: Likewise.
26433 * fs/jfs.c: Likewise.
26434 * fs/minix.c: Likewise.
26435 * fs/sfs.c: Likewise.
26436 * fs/ufs.c: Likewise.
26437 * fs/xfs.c: Likewise.
26438 * hello/hello.c: Likewise.
26439 * include/grub/acorn_filecore.h: Likewise.
26440 * include/grub/arg.h: Likewise.
26441 * include/grub/bitmap.h: Likewise.
26442 * include/grub/boot.h: Likewise.
26443 * include/grub/cache.h: Likewise.
26444 * include/grub/device.h: Likewise.
26445 * include/grub/disk.h: Likewise.
26446 * include/grub/dl.h: Likewise.
26447 * include/grub/elfload.h: Likewise.
26448 * include/grub/env.h: Likewise.
26449 * include/grub/err.h: Likewise.
26450 * include/grub/file.h: Likewise.
26451 * include/grub/font.h: Likewise.
26452 * include/grub/fs.h: Likewise.
26453 * include/grub/fshelp.h: Likewise.
26454 * include/grub/gzio.h: Likewise.
26455 * include/grub/hfs.h: Likewise.
26456 * include/grub/kernel.h: Likewise.
26457 * include/grub/loader.h: Likewise.
26458 * include/grub/lvm.h: Likewise.
26459 * include/grub/misc.h: Likewise.
26460 * include/grub/mm.h: Likewise.
26461 * include/grub/net.h: Likewise.
26462 * include/grub/normal.h: Likewise.
26463 * include/grub/parser.h: Likewise.
26464 * include/grub/partition.h: Likewise.
26465 * include/grub/pc_partition.h: Likewise.
26466 * include/grub/raid.h: Likewise.
26467 * include/grub/rescue.h: Likewise.
26468 * include/grub/script.h: Likewise.
26469 * include/grub/setjmp.h: Likewise.
26470 * include/grub/symbol.h: Likewise.
26471 * include/grub/term.h: Likewise.
26472 * include/grub/terminfo.h: Likewise.
26473 * include/grub/tparm.h: Likewise.
26474 * include/grub/types.h: Likewise.
26475 * include/grub/video.h: Likewise.
26476 * include/grub/efi/api.h: Likewise.
26477 * include/grub/efi/chainloader.h: Likewise.
26478 * include/grub/efi/console.h: Likewise.
26479 * include/grub/efi/console_control.h: Likewise.
26480 * include/grub/efi/disk.h: Likewise.
26481 * include/grub/efi/efi.h: Likewise.
26482 * include/grub/efi/pe32.h: Likewise.
26483 * include/grub/efi/time.h: Likewise.
26484 * include/grub/i386/linux.h: Likewise.
26485 * include/grub/i386/setjmp.h: Likewise.
26486 * include/grub/i386/types.h: Likewise.
26487 * include/grub/i386/efi/kernel.h: Likewise.
26488 * include/grub/i386/efi/loader.h: Likewise.
26489 * include/grub/i386/efi/time.h: Likewise.
26490 * include/grub/i386/pc/biosdisk.h: Likewise.
26491 * include/grub/i386/pc/boot.h: Likewise.
26492 * include/grub/i386/pc/chainloader.h: Likewise.
26493 * include/grub/i386/pc/console.h: Likewise.
26494 * include/grub/i386/pc/init.h: Likewise.
26495 * include/grub/i386/pc/kernel.h: Likewise.
26496 * include/grub/i386/pc/loader.h: Likewise.
26497 * include/grub/i386/pc/memory.h: Likewise.
26498 * include/grub/i386/pc/multiboot.h: Likewise.
26499 * include/grub/i386/pc/serial.h: Likewise.
26500 * include/grub/i386/pc/time.h: Likewise.
26501 * include/grub/i386/pc/vbe.h: Likewise.
26502 * include/grub/i386/pc/vbeblit.h: Likewise.
26503 * include/grub/i386/pc/vbefill.h: Likewise.
26504 * include/grub/i386/pc/vbeutil.h: Likewise.
26505 * include/grub/i386/pc/vga.h: Likewise.
26506 * include/grub/ieee1275/ieee1275.h: Likewise.
26507 * include/grub/ieee1275/ofdisk.h: Likewise.
26508 * include/grub/powerpc/libgcc.h: Likewise.
26509 * include/grub/powerpc/setjmp.h: Likewise.
26510 * include/grub/powerpc/types.h: Likewise.
26511 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
26512 * include/grub/powerpc/ieee1275/console.h: Likewise.
26513 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
26514 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26515 * include/grub/powerpc/ieee1275/loader.h: Likewise.
26516 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
26517 * include/grub/powerpc/ieee1275/time.h: Likewise.
26518 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
26519 * include/grub/sparc64/libgcc.h: Likewise.
26520 * include/grub/sparc64/setjmp.h: Likewise.
26521 * include/grub/sparc64/types.h: Likewise.
26522 * include/grub/sparc64/ieee1275/console.h: Likewise.
26523 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26524 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26525 * include/grub/sparc64/ieee1275/time.h: Likewise.
26526 * include/grub/util/biosdisk.h: Likewise.
26527 * include/grub/util/getroot.h: Likewise.
26528 * include/grub/util/lvm.h: Likewise.
26529 * include/grub/util/misc.h: Likewise.
26530 * include/grub/util/raid.h: Likewise.
26531 * include/grub/util/resolve.h: Likewise.
26532 * io/gzio.c: Likewise.
26533 * kern/device.c: Likewise.
26534 * kern/disk.c: Likewise.
26535 * kern/dl.c: Likewise.
26536 * kern/elf.c: Likewise.
26537 * kern/env.c: Likewise.
26538 * kern/err.c: Likewise.
26539 * kern/file.c: Likewise.
26540 * kern/fs.c: Likewise.
26541 * kern/loader.c: Likewise.
26542 * kern/main.c: Likewise.
26543 * kern/misc.c: Likewise.
26544 * kern/mm.c: Likewise.
26545 * kern/parser.c: Likewise.
26546 * kern/partition.c: Likewise.
26547 * kern/rescue.c: Likewise.
26548 * kern/term.c: Likewise.
26549 * kern/efi/efi.c: Likewise.
26550 * kern/efi/init.c: Likewise.
26551 * kern/efi/mm.c: Likewise.
26552 * kern/i386/dl.c: Likewise.
26553 * kern/i386/efi/init.c: Likewise.
26554 * kern/i386/efi/startup.S: Likewise.
26555 * kern/i386/pc/init.c: Likewise.
26556 * kern/i386/pc/lzo1x.S: Likewise.
26557 * kern/i386/pc/startup.S: Likewise.
26558 * kern/ieee1275/ieee1275.c: Likewise.
26559 * kern/powerpc/cache.S: Likewise.
26560 * kern/powerpc/dl.c: Likewise.
26561 * kern/powerpc/ieee1275/cmain.c: Likewise.
26562 * kern/powerpc/ieee1275/crt0.S: Likewise.
26563 * kern/powerpc/ieee1275/init.c: Likewise.
26564 * kern/powerpc/ieee1275/openfw.c: Likewise.
26565 * kern/sparc64/cache.S: Likewise.
26566 * kern/sparc64/dl.c: Likewise.
26567 * kern/sparc64/ieee1275/init.c: Likewise.
26568 * kern/sparc64/ieee1275/openfw.c: Likewise.
26569 * loader/efi/chainloader.c: Likewise.
26570 * loader/efi/chainloader_normal.c: Likewise.
26571 * loader/i386/efi/linux.c: Likewise.
26572 * loader/i386/efi/linux_normal.c: Likewise.
26573 * loader/i386/pc/chainloader.c: Likewise.
26574 * loader/i386/pc/chainloader_normal.c: Likewise.
26575 * loader/i386/pc/linux.c: Likewise.
26576 * loader/i386/pc/linux_normal.c: Likewise.
26577 * loader/i386/pc/multiboot.c: Likewise.
26578 * loader/i386/pc/multiboot_normal.c: Likewise.
26579 * loader/powerpc/ieee1275/linux.c: Likewise.
26580 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26581 * normal/arg.c: Likewise.
26582 * normal/cmdline.c: Likewise.
26583 * normal/command.c: Likewise.
26584 * normal/completion.c: Likewise.
26585 * normal/execute.c: Likewise.
26586 * normal/function.c: Likewise.
26587 * normal/lexer.c: Likewise.
26588 * normal/main.c: Likewise.
26589 * normal/menu.c: Likewise.
26590 * normal/menu_entry.c: Likewise.
26591 * normal/misc.c: Likewise.
26592 * normal/parser.y: Likewise.
26593 * normal/script.c: Likewise.
26594 * normal/i386/setjmp.S: Likewise.
26595 * normal/powerpc/setjmp.S: Likewise.
26596 * normal/sparc64/setjmp.S: Likewise.
26597 * partmap/acorn.c: Likewise.
26598 * partmap/amiga.c: Likewise.
26599 * partmap/apple.c: Likewise.
26600 * partmap/gpt.c: Likewise.
26601 * partmap/pc.c: Likewise.
26602 * partmap/sun.c: Likewise.
26603 * term/gfxterm.c: Likewise.
26604 * term/terminfo.c: Likewise.
26605 * term/efi/console.c: Likewise.
26606 * term/i386/pc/console.c: Likewise.
26607 * term/i386/pc/serial.c: Likewise.
26608 * term/i386/pc/vesafb.c: Likewise.
26609 * term/i386/pc/vga.c: Likewise.
26610 * term/ieee1275/ofconsole.c: Likewise.
26611 * util/biosdisk.c: Likewise.
26612 * util/console.c: Likewise.
26613 * util/genmoddep.c: Likewise.
26614 * util/getroot.c: Likewise.
26615 * util/grub-emu.c: Likewise.
26616 * util/grub-mkdevicemap.c: Likewise.
26617 * util/grub-probe.c: Likewise.
26618 * util/lvm.c: Likewise.
26619 * util/misc.c: Likewise.
26620 * util/raid.c: Likewise.
26621 * util/resolve.c: Likewise.
26622 * util/update-grub.in: Likewise.
26623 * util/update-grub_lib.in: Likewise.
26624 * util/grub.d/00_header.in: Likewise.
26625 * util/grub.d/10_hurd.in: Likewise.
26626 * util/grub.d/10_linux.in: Likewise.
26627 * util/i386/efi/grub-install.in: Likewise.
26628 * util/i386/efi/grub-mkimage.c: Likewise.
26629 * util/i386/pc/grub-install.in: Likewise.
26630 * util/i386/pc/grub-mkimage.c: Likewise.
26631 * util/i386/pc/grub-mkrescue.in: Likewise.
26632 * util/i386/pc/grub-setup.c: Likewise.
26633 * util/i386/pc/misc.c: Likewise.
26634 * util/powerpc/ieee1275/grub-install.in: Likewise.
26635 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
26636 * util/powerpc/ieee1275/misc.c: Likewise.
26637 * video/bitmap.c: Likewise.
26638 * video/video.c: Likewise.
26639 * video/i386/pc/vbe.c: Likewise.
26640 * video/i386/pc/vbeblit.c: Likewise.
26641 * video/i386/pc/vbefill.c: Likewise.
26642 * video/i386/pc/vbeutil.c: Likewise.
26643 * video/readers/tga.c: Likewise.
26644
3572d015 266452007-07-02 Robert Millan <rmh@aybabtu.com>
26646
26647 * conf/i386-efi.rmk: Replace obsolete reference to
26648 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
26649 with util/getroot.c.
26650 * conf/powerpc-ieee1275.rmk: Likewise.
26651 * conf/sparc64-ieee1275.rmk: Likewise.
26652
26653 * util/grub-emu.c (main): Fix unchecked pointer handling.
26654
2c2a681b 266552007-07-02 Robert Millan <rmh@aybabtu.com>
26656
26657 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
26658 invocation to fail, in order to support partition-less media.
26659
26660 * util/i386/pc/grub-install.in: Likewise.
26661
26662 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
26663 which fs or partmap modules are needed (akin to its sister scripts).
26664
26665 Also use grub-probe to get rid of unportable /proc/mounts check.
26666
26667 Print the same informational message that the other scripts do, before
fe6b695a 26668 exiting.
2c2a681b 26669
6193defe 266702007-06-23 Robert Millan <rmh@aybabtu.com>
26671
fe6b695a 26672 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 26673 a font file can be found and, if so, echo the GRUB path to it.
26674
26675 * util/update-grub.in: Handle multiple terminals depending on user
26676 input, platform availability and font file presence. Propagate
26677 variables of our findings to /etc/grub.d/ children.
26678
26679 * util/grub.d/00_header.in: Handle multiple terminals, based on
26680 environment setup by update-grub.
26681
eface1dc 266822007-06-23 Robert Millan <rmh@aybabtu.com>
26683
ba50d28f 26684 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 26685
bf697e28 266862007-06-21 Robert Millan <rmh@aybabtu.com>
26687
26688 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
26689 indicate end of data section in kernel image.
26690 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
26691 GRUB_KERNEL_MACHINE_DATA_END.
26692
26693 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
26694 space for it.
26695 * kern/i386/efi/startup.S: Likewise.
26696
26697 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
26698 during image generation. Implement --prefix option to override this
26699 patch.
26700 * util/i386/efi/grub-mkimage.c: Likewise.
26701
26702 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
26703 code to make path relative to its root into a separate function.
26704
26705 * util/i386/pc/grub-install.in: Use newly provided
26706 make_system_path_relative_to_its_root() to convert ${grubdir}, then
26707 pass the result to grub-install --prefix.
26708
baa574b4 267092007-06-13 Robert Millan <rmh@aybabtu.com>
26710
26711 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
26712 DEFAULT_DEVICE_MAP.
26713 * util/grub-emu.c: Use above definitions from misc.h instead of
26714 defining them.
26715 * util/grub-mkdevicemap.c: Likewise.
26716 * util/i386/pc/grub-setup.c: Likewise.
26717 * util/grub-probe.c: Likewise.
26718 (probe): Abort with grub_util_error() when either
26719 grub_guess_root_device or grub_util_get_grub_dev fails.
26720
0215dcbf 267212007-06-12 Robert Millan <rmh@aybabtu.com>
26722
26723 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
26724 "pager" assignment.
26725 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
26726 "pcdata".
26727 * util/grub-probe.c (probe): Likewise for "drive_name".
26728
8af2ab7b 267292007-06-11 Robert Millan <rmh@aybabtu.com>
26730
26731 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
26732 not just the cdrom one.
26733
59d31694 267342007-06-11 Robert Millan <rmh@aybabtu.com>
26735
26736 * util/i386/pc/grub-mkrescue.in: Add "set -e".
26737 Add --pkglibdir=DIR option to override pkglibdir.
26738 Mention --image-type=TYPE in help output.
26739 Fix --grub-mkimage (it was a no-op).
fe6b695a 26740 Abort gracefully when no parameter is given.
59d31694 26741
7ee367e4 267422007-06-11 Robert Millan <rmh@aybabtu.com>
26743
26744 * util/i386/pc/grub-mkrescue.in: New file.
26745 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
26746 * Makefile.in: Handle bin_SCRIPTS.
26747
29b0ed46 267482007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
26749
26750 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
26751 list of video modes.
26752
c0f90770 267532007-06-06 Robert Millan <rmh@aybabtu.com>
26754
26755 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
26756 file doesn't exist, or if it is in a filesystem grub can't read.
26757
26758 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
26759 not abort if GRUB_DRIVE could not be defined. Rearrange generated
26760 header comment to fit in 80 columns when the variables are resolved.
26761
26762 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
26763 could be identified by update-grub. Remove redundant check for
fe6b695a 26764 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 26765 handles that).
26766
fb36dc26 267672007-06-04 Robert Millan <rmh@aybabtu.com>
26768
26769 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
26770
26771 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
26772
26773 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
26774
0c68c93e 267752007-06-04 Robert Millan <rmh@aybabtu.com>
26776
26777 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
26778
26779 * include/grub/partition.h: Declare grub_apple_partition_map_init and
26780 grub_apple_partition_map_fini.
26781
26782 * util/biosdisk.c
26783 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
26784 to access >2 TiB disks).
26785
26786 Print disk->total_sectors with %llu instead of %lu, since this
26787 variable is always 64-bit (prevents wrong disk size from being displayed
26788 on either >2 TiB disk or big-endian CPU).
26789
26790 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
26791 into a generic case that supports all (sane) partition maps.
26792
26793 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
26794 breaks big-endian.
26795
26796 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
26797 and grub_apple_partition_map_fini() after that.
26798
0f23eb74 267992007-06-01 Robert Millan <rmh@aybabtu.com>
26800
26801 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
26802
26803 * util/grub.d/00_header.in: Only enable gfxterm when
26804 convert_system_path_to_grub_path() succeeds.
26805
42c71976 268062007-05-20 Robert Millan <rmh@aybabtu.com>
26807
26808 * util/update-grub_lib.in: New file.
26809 * DISTLIST: Add update-grub_lib.in.
26810 * conf/common.rmk: Generate update-grub_lib and install it in
26811 $(lib_DATA).
26812 * Makefile.in: Add install routine for $(lib_DATA).
26813
26814 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
26815 function provided by update-grub_lib to support arbitrary paths of
26816 unifont.pff.
26817 * util/update-grub.in: Use convert_system_path_to_grub_path() to
26818 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
26819
5beb2291 268202007-05-19 Robert Millan <rmh@aybabtu.com>
26821
26822 * commands/i386/cpuid.c: New module.
26823 * DISTLIST: Add it.
26824 * conf/i386-efi.rmk: Enable cpuid.mod.
26825 * conf/i386-pc.rmk: Likewise.
26826
7262eca1 268272007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26828
26829 * kern/disk.c (grub_disk_read): Check return value of
26830 grub_realloc().
26831
260ba823 268322007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26833
26834 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
26835 arrays.
26836 * disk/raid.c (grub_raid_open): Likewise.
26837
1ecb6cf2 268382007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26839
26840 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
26841 stack instead of on the heap.
26842
26843 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
26844 before doing a read on it.
26845
26846 * configure.ac: Only use -fno-stack-protector for the target
26847 environment.
f19dbdb7 26848
21c8cbb1 268492007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26850
26851 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
26852 __attribute_ ((unused)) to mode_type argument.
26853
26854 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 26855
21c8cbb1 26856 * kern/misc.c (memcmp): Fix prototype.
26857
26858 * include/grub/partition.h [GRUB_UTIL]
26859 (grub_gpt_partition_map_init): Add prototype.
26860 (grub_gpt_partition_map_fini): Likewise.
26861
26862 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
26863 at the right place.
26864
26865 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
26866 (grub_fat_read_data): Likewise.
26867 (grub_fat_find_dir): Likewise.
26868
26869 * font/manager.c (find_glyph): Make table a const.
26870 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 26871
849d55d3 268722007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
26873
26874 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
26875 code, first search for device in /dev/mapper, then in /dev.
26876 (grub_util_get_grub_dev): New function.
26877 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
26878 prototype.
26879 * util/grub-probe.c (probe): Remove check for RAID, call
26880 grub_util_get_grub_dev() instead of
26881 grub_util_biosdisk_get_grub_dev().
26882 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
26883 grub_util_biosdisk_get_grub_dev().
26884 * util/i386/pc/grub-setup.c (main): Likewise.
26885
8fff7c2f 268862007-05-16 Robert Millan <rmh@aybabtu.com>
26887
26888 * DISTLIST: Update for the latest changes.
26889 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
26890 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
26891 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
26892 grub/util/biosdisk.h.
26893 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
26894 grub/util/biosdisk.h.
26895
48e12b52 268962007-05-16 Robert Millan <rmh@aybabtu.com>
26897
26898 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
26899
46b9d128 269002007-05-16 Robert Millan <rmh@aybabtu.com>
26901
26902 * util/i386/efi/grub-install.in: New.
26903 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
26904 newly added grub-install.
26905 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
26906 include.
26907 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
26908 grub/util/biosdisk.h.
26909 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
26910 grub/util/biosdisk.h.
26911
2d1a40a9 269122007-05-16 Robert Millan <rmh@aybabtu.com>
26913
26914 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
26915 * include/grub/util/biosdisk.h: ... here.
26916 * util/i386/pc/biosdisk.c: Moved to ...
26917 * util/biosdisk.c: ... here.
26918 * util/i386/pc/getroot.c: Moved to ...
26919 * util/getroot.c: ... here.
26920 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
26921 * util/grub-mkdevicemap.c: ... here.
26922 * util/i386/pc/grub-probe.c: Moved to ...
26923 * util/grub-probe.c: ... here.
26924
9e26e3bc 269252007-05-15 Robert Millan <rmh@aybabtu.com>
26926
26927 * util/update-grub.in: Remove duplicated line in grub.cfg header
26928 message.
26929
57f96397 269302007-05-13 Robert Millan <rmh@aybabtu.com>
26931
26932 * util/update-grub.in: Fix a few assumptions about the devices holding
26933 /, /boot and /boot/grub being the same.
26934 * util/grub.d/00_header.in: Likewise.
26935 * util/grub.d/10_hurd.in: Likewise.
26936 * util/grub.d/10_linux.in: Likewise.
26937
26938 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
26939 patterns. Use that to define the `.old' suffix as older than `'.
26940
26941 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
26942
26943 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
26944 the grub.cfg header message.
26945
2e610d62 269462007-05-11 Robert Millan <rmh@aybabtu.com>
26947
26948 * util/update-grub.in: Create device.map if it doesn't already exist,
26949 before attempting to run grub-probe.
26950 Check for grub-probe and grub-mkdevicemap with the same code
26951 grub-install is using.
26952 Remove test mode.
26953
3f6a10ef 269542007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
26955
26956 * Makefile.in: Add the datarootdir autoconf variable.
26957
02e7b75e 269582007-05-09 Robert Millan <rmh@aybabtu.com>
26959
26960 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 26961 fail gracefully if dev->disk->partition == NULL.
02e7b75e 26962
75f396cc 269632007-05-07 Robert Millan <rmh@aybabtu.com>
26964
26965 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
26966 determine partition map module.
26967 * util/i386/pc/grub-install.in: Use this feature to decide which
26968 partition module to load, instead of hardcoding pc and gpt.
26969
da65cb36 269702007-05-07 Robert Millan <rmh@aybabtu.com>
26971
26972 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
26973 source directory differs from build directory.
26974
b57d6a91 269752007-05-05 Robert Millan <rmh@aybabtu.com>
26976
26977 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
26978 initialisation.
26979
509d00f1 269802007-05-05 Robert Millan <rmh@aybabtu.com>
26981
26982 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
26983
c48f23ef 269842007-05-05 Robert Millan <rmh@aybabtu.com>
26985
26986 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
26987 command-line arguments via ${GRUB_CMDLINE_LINUX}.
26988
20b97658 269892007-05-05 Robert Millan <rmh@aybabtu.com>
26990
26991 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
26992 (grub_probe_SOURCES): Likewise.
26993 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
26994 GPT and initialize dos_part and bsd_part accordingly.
26995 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
26996 install_bsd_part.
26997 (main): Activate gpt module for use during partition identification,
26998 and deactivate it afterwards.
26999 * util/i386/pc/grub-install.in: Add gpt module to core.img.
27000 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
27001 partition identification, and deactivate it afterwards.
27002
99123174 270032007-05-05 Robert Millan <rmh@aybabtu.com>
27004
27005 * term/i386/pc/console.c (grub_console_fini): Call
27006 grub_term_set_current() before grub_term_unregister().
27007
ebd97f6e 270082007-05-04 Robert Millan <rmh@aybabtu.com>
27009
27010 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
27011 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
27012 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
27013 and update-grub_DATA.
27014 * conf/common.rmk: Build and install update-grub components.
27015 * conf/common.mk: Regenerate.
27016 * util/update-grub.in: New. Core of update-grub.
27017 * util/grub.d/00_header.in: New. Generates grub.cfg header.
27018 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
27019 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
27020 * util/grub.d/README: New. Document grub.d directory layout.
27021
b06a264d 270222007-05-01 Robert Millan <rmh@aybabtu.com>
27023
27024 * util/grub-emu.c: Move initialization functions
27025 grub_util_biosdisk_init() and grub_init_all() before
27026 grub_util_biosdisk_get_grub_dev(), which relies on them.
27027
41f0050e 270282007-04-19 Robert Millan <rmh@aybabtu.com>
27029
27030 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
27031 it is used later.
27032
04582bb3 270332007-04-18 Jerone Young <jerone@gmail.com>
27034
f19dbdb7 27035 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 27036 stanza.
27037
08db4632 270382007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 27039
08db4632 27040 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
27041 continue on and look for device node with real device name.
27042
801b76be 270432007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 27044
fe6b695a 27045 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 27046 ability.
27047 * Makefile.in: Add autoconf package transformation code.
27048 * util/i386/pc/grub-install.in: Likewise.
27049 * util/powerpc/ieee1275/grub-install.in: Likewise.
27050
6795c4e1 270512007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
27052
27053 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
27054 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
27055 (EXT2_REVISION): Likewise.
27056 (EXT2_INODE_SIZE): Likewise.
27057 (struct grub_ext2_block_group): Added a missing member
27058 "used_dirs".
27059 (grub_ext2_read_inode): Divide by the inode size in a superblock
27060 instead of 128 to obtain INODES_PER_BLOCK.
27061 Use the macro EXT2_INODE_SIZE instead of directly using
27062 SBLOCK->INODE_SIZE.
27063
d70af616 270642007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
27065
27066 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
27067 superblock instead of the structure size to compute an
27068 offset. This fixes the problem that GRUB could not read a
27069 filesystem when inode size is different from 128-byte.
27070
3b801603 270712007-03-05 Marco Gerards <marco@gnu.org>
27072
27073 * normal/main.c (read_config_file): When "menu" is not set, create
27074 an initial context.
27075
4785bfe4 270762007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27077
27078 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
27079 (HEAP_LIMIT): New macro.
27080 (grub_claim_heap): Claim memory up to `heaplimit'.
27081
a0cbb023 270822007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27083
27084 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
27085 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
27086 (_start): Likewise.
27087 (grub_arch_modules_addr): Return address after `_end'.
27088 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
27089 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
27090 (add_segments): Calculate `_end' from phdr size and location.
27091 (ALIGN_UP): Moved to ...
27092 * include/grub/misc.h: here.
27093 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27094 New macro.
27095 (GRUB_IEEE1275_MODULE_BASE): Removed.
27096
fd7d8eba 270972007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27098
27099 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
27100 loop boundary.
27101
9b09e6fc 271022007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27103
27104 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
27105 All users updated.
27106 (grub_elf64_load_hook_t): Likewise.
27107 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
27108 debug output.
27109
3ce27299 271102007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27111
27112 * kern/mm.c: Update copyright.
27113 (grub_mm_debug): Correct syntax error.
27114 (grub_mm_dump_free): New function.
27115 (grub_debug_free): Call `grub_free'.
27116 * include/grub/mm.h: Update copyright.
27117 (grub_mm_dump_free): Add declaration.
27118
077d5fee 271192007-02-12 Hollis Blanchard <hollis@penguinppc.org>
27120
27121 * include/grub/ieee1275/ieee1275.h: Update copyright.
27122 * kern/powerpc/ieee1275/init.c: Likewise.
27123 * kern/powerpc/ieee1275/openfw.c: Likewise.
27124
27125 * loader/powerpc/ieee1275/linux.c: Likewise.
27126 * include/grub/elfload.h: Likewise.
27127 * kern/elf.c: Likewise.
27128 (grub_elf32_load): Pass `base' and `size' parameters. Update all
27129 callers.
27130 (grub_elf64_load): Likewise.
27131 (grub_elf32_load_segment): Move to a nested function.
27132 (grub_elf64_load_segment): Likewise.
27133
dc946850 271342007-02-12 Hollis Blanchard <hollis@penguinppc.org>
27135
27136 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
27137 prototype.
27138 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
27139 (grub_heap_len): Likewise.
27140 (HEAP_SIZE): New macro.
27141 (grub_claim_heap): New function.
27142 (grub_machine_init): Don't claim heap directly. Call
27143 `grub_claim_heap'.
27144 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
27145 (grub_available_iterate): New function.
27146
baa2a121 271472007-02-03 Thomas Schwinge <tschwinge@gnu.org>
27148
27149 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
27150 * configure.ac: Use it for testing the HOST and TARGET compilers.
27151
4fe9862e 271522006-12-13 Thomas Schwinge <tschwinge@gnu.org>
27153
27154 * Makefile.in (enable_grub_emu): New variable.
27155 * configure.ac (--enable-grub-emu): New option.
27156 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
27157 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
27158 * conf/i386-pc.rmk: Likewise.
27159 * conf/powerpc-ieee1275.rmk: Likewise.
27160 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
27161
a8aa5762 271622006-12-12 Marco Gerards <marco@gnu.org>
27163
27164 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
27165
27166 * kern/env.c (grub_env_unset): Don't free the member `value' when
27167 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
27168 pointer.
27169
27170 * normal/main.c (current_menu): Removed.
27171 (free_menu): Unset the `menu' environment variable.
27172 (grub_normal_menu_addentry): Make use of the environment variable
27173 `menu', instead of using the global `current_menu'. Allocate
27174 memory for the sourcecode of this entry.
27175 (read_config_file): New argument `nested', changed all callers.
27176 Only in the case of a new context, initialize a new menu. Set the
27177 `menu' environment variable.
27178 (grub_normal_execute): Don't set and unset the environment
27179 variable `menu' here anymore. Only free the menu when leaving the
27180 context.
27181
27182 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
27183 leak.
27184
957b3a3e 271852006-12-11 Marco Gerards <marco@gnu.org>
27186
27187 * normal/menu_entry.c (run): Fix off by one bug so the last line
27188 is executed. Move the loader check to outside the loop.
27189
ef875714 271902006-12-08 Hollis Blanchard <hollis@penguinppc.org>
27191
27192 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
27193
4e739985 271942006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
27195
27196 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
27197 the number of sectors. Reported by Andrey Shuvikov
27198 <mr_hyro@yahoo.com>.
f19dbdb7 27199
790707f2 272002006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
27201
27202 * kern/disk.c (grub_disk_read): When there is a read error, always
27203 try to read only the necessary data.
f19dbdb7 27204
790707f2 27205 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
27206 disk/raid.c.
27207 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
27208 prototype.
27209 [GRUB_UTIL] (grub_raid_fini): Likewise.
27210 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 27211 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 27212 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
27213 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
27214 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
27215 and grub_raid_fini().
f19dbdb7 27216
03e58196 272172006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
27218
27219 * include/grub/types.h (__unused): Rename to UNUSED.
27220 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
27221 (grub_elf64_size): Likewise.
f19dbdb7 27222
ae4f23bf 272232006-11-03 Hollis Blanchard <hollis@penguinppc.org>
27224
27225 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
27226 grub_error_push and grub_error_pop in the error-handling path.
27227 (grub_elf32_load_segment): Only call grub_file_read with non-zero
27228 length.
27229
2166cc83 272302006-11-03 Hollis Blanchard <hollis@penguinppc.org>
27231
27232 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
27233 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27235 (kernel_elf_SOURCES): Likewise.
27236 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
27237 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
27238 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27239 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27240 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
27241 (elf_mod_SOURCES): New variable.
27242 (elf_mod_CFLAGS): Likewise.
27243 (elf_mod_LDFLAGS): Likewise.
27244 * include/grub/types.h (__unused): New macro.
27245 * include/grub/elfload.h: New file.
27246 * kern/elf.c: Likewise.
27247 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
27248 (ELF32_LOADMASK): New macro.
27249 (ELF64_LOADMASK): Likewise.
27250 (vmlinux): Removed.
27251 (grub_linux_load32): New function.
27252 (grub_linux_load64): Likewise.
27253 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
27254 Use grub_elf_t instead of grub_file_t.
27255
a09d5aa5 272562006-11-02 Hollis Blanchard <hollis@penguinppc.org>
27257
27258 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
27259 `catch_result' to struct set_color_args.
27260
d976fc51 272612006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
27262
27263 * normal/menu.c: Include grub/script.h.
27264 * normal/menu_entry.c: Likewise.
27265 * include/grub/normal.h: Do not include grub/script.h.
27266
67507549 272672006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27268
27269 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
27270
69203a99 272712006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27272
27273 * kern/disk.c (grub_disk_open): Print debug messages when opening a
27274 disk.
27275 (grub_disk_close): Print debug messages when closing a disk.
27276 (grub_disk_read): Print debug messages when disk read fails.
27277 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
27278 filesystem type.
27279 * kern/partition.c: Include misc.h.
27280 (grub_partition_iterate): Print debug messages when detecting
27281 partition type.
27282
e2b8278c 272832006-10-27 Hollis Blanchard <hollis@penguinppc.org>
27284
27285 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
27286 is negative.
27287 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
27288
97b2f2ff 272892006-10-26 Hollis Blanchard <hollis@penguinppc.org>
27290
27291 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27292 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
27293
6555d655 272942006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
27295
27296 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
27297 instead of sizeof(lv). Patch by Michael Guntsche.
27298
4d42b77f 272992006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
27300
27301 * disk/lvm.c: Rename VGS to VG_LIST.
27302 (grub_lvm_iterate): Change VGS->LV to VG-LV.
27303 (grub_lvm_open): Likewise.
27304 Thanks to Michael Guntsche for finding this bug.
27305
5d74d927 273062006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
27307
27308 * configure.ac (AC_INIT): Bumped to 1.95.
27309
a1bb27e4 273102006-10-14 Robert Millan <rmh@aybabtu.com>
27311
27312 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
27313 with "/dev/.static/dev/md".
27314
e0994b8b 273152006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
27316
27317 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
27318 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
27319 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
27320 DRIVE_NAME are always freed.
27321
27322 * util/i386/pc/biosdisk.c (make_device_name): Add one into
27323 DOS_PART, as a DOS partition is counted from one instead of zero
27324 now. Reported by Robert Millan.
27325
ddd5cee9 273262006-10-14 Robert Millan <rmh@aybabtu.com>
27327
27328 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
27329 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
27330 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
27331 string returned by grub_guess_root_device.
27332 * util/i386/pc/grub-setup.c: Likewise.
27333 * util/i386/pc/grub-probefs.c: Likewise.
27334
27335 * util/i386/pc/grub-probefs.c: Rename to ...
27336 * util/i386/pc/grub-probe.c: ... this.
27337 * DISTLIST: Remove grub-probefs, add grub-probe.
27338 * conf/i386-efi.rmk: Likewise.
27339 * conf/i386-pc.rmk: Likewise.
27340 * util/i386/pc/grub-install.in: Likewise.
27341
27342 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
27343 choose which information we want to print.
27344
2b002173 273452006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
27346
27347 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
27348 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
27349 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
27350 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
27351 video/readers/tga.c and video/i386/pc/vbeutil.c.
27352
273532006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
27354
27355 Added support for RAID and LVM.
f19dbdb7 27356
2b002173 27357 * disk/lvm.c: New file.
27358 * disk/raid.c: Likewise.
27359 * include/grub/lvm.h: Likewise.
f19dbdb7 27360 * include/grub/raid.h: Likewise.
2b002173 27361 * include/grub/util/lvm.h: Likewise.
27362 * include/grub/util/raid.h: Likewise.
27363 * util/lvm.c: Likewise.
27364 * util/raid.c: Likewise.
27365
27366 * include/grub/disk.h (grub_disk_dev_id): Add
27367 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
27368 (grub_disk_get_size): New prototype.
27369 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
27370 returns a partition.
27371 (grub_disk_get_size): New function.
f19dbdb7 27372
2b002173 27373 * kern/i386/pc/init.c (make_install_device): Copy the prefix
27374 verbatim if grub_install_dos_part is -2.
27375
27376 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
27377 and LVM devices.
27378
27379 * util/i386/pc/grub-setup.c (setup): New argument
27380 MUST_EMBED. Force embedding of GRUB when the argument is
27381 true. Close FILE before returning.
27382 (main): Add support for RAID and LVM.
f19dbdb7 27383
2b002173 27384 * conf/common.rmk: Add RAID and LVM modules.
27385 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
27386 util/lvm.c.
27387 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
27388
27389 * kern/misc.c (grub_strstr): New function.
27390 * include/grub/misc.h (grub_strstr): New prototype.
27391
050548d0 273922006-10-10 Tristan Gingold <tristan.gingold@bull.net>
27393
27394 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
27395
da849d2d 273962006-10-05 Tristan Gingold <tristan.gingold@bull.net>
27397
27398 * kern/misc.c (grub_strtoull): Guess the base only if not
27399 specified.
27400
97b2f2ff 274012006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 27402
27403 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
27404 PowerMac support.
27405
97b2f2ff 274062006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 27407
27408 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
27409
27410 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
27411 Remove `flags' argument. All callers changed.
27412 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
27413 (IEEE1275_IHANDLE_INVALID): New variable.
27414 (IEEE1275_CELL_INVALID): New variable.
27415 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27416 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
27417 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
27418 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
27419 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
27420 codes from Open Firmware. All callers updated.
27421 (grub_ieee1275_next_property): Directly return Open Firmware return
27422 code.
27423 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27424 Standardize error checking from `grub_ieee1275_get_property'.
27425 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
27426 `devalias' to `aliases'. Correct comments. Consolidate error paths.
27427
97b2f2ff 274282006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 27429
27430 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
27431 `instance_to_package_args' to `instance_to_path_args'.
27432
27433 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
27434 `grub_ieee1275_chosen'.
27435
27436 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
27437 `grub_ieee1275_interpret'.
27438
97b2f2ff 274392006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 27440
27441 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
27442
97b2f2ff 274432006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 27444
27445 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
27446 (__cmpdi): Likewise.
27447
27448 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
27449 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
27450 `grub_ssize_t'.
27451
02bb8acc 27452 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 27453
27454 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
27455 to type `grub_ssize_t'.
27456 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
27457
7f9a8531 274582006-09-22 Marco Gerards <marco@gnu.org>
27459
27460 * normal/script.c (grub_script_create_cmdmenu): Skip leading
27461 newlines.
27462
b5ef1102 274632006-09-22 Marco Gerards <marco@gnu.org>
27464
27465 * commands/echo.c: New file.
27466
27467 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
27468
27469 * conf/common.rmk (echo_mod_SOURCES): New variable.
27470 (echo_mod_CFLAGS): Likewise.
27471 (echo_mod_LDFLAGS): Likewise.
27472
2cff3677 274732006-09-22 Marco Gerards <marco@gnu.org>
27474
27475 * normal/main.c (get_line): Malloc memory instead of using
27476 preallocated memory. Removed the arguments `cmdline' and
27477 `max_len'. Updated all callers.
27478
6ba4688b 274792006-09-22 Marco Gerards <marco@gnu.org>
27480
27481 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
27482 (normal_mod_DEPENDENCIES): Likewise.
27483
27484 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
27485 (normal_mod_DEPENDENCIES): Likewise.
27486
27487 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
27488
e02ac02c 274892006-09-22 Johan Rydberg <jrydberg@gnu.org>
27490
27491 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
27492 programs.
27493 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
27494 (normal_mod_DEPENDENCIES): Likewise.
27495 * conf/i386-pc.mk: Regenerate.
27496 * conf/i386-efi.mk: Likewise
27497 * conf/common.mk: Likewise.
27498 * conf/powerpc-ieee1275.mk: Likewise.
27499 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 27500
8d252e44 275012006-09-22 Robert Millan <rmh@aybabtu.com>
27502
27503 Sync with i386 version.
27504 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
27505 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
27506
209bf7ac 275072006-09-21 Robert Millan <rmh@aybabtu.com>
27508
27509 Import from GRUB Legacy (lib/device.c):
27510 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
27511 (init_device_map) [__linux__]: Add support for I2O devices.
27512
6b146090 275132006-09-14 Marco Gerards <marco@gnu.org>
27514
27515 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
27516 `-melf_i386'.
27517
e38600a8 275182006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 27519
27520 * util/i386/pc/grub-install.in: Skip menu.lst when removing
27521 /boot/grub/*.lst.
78fa1790 27522
2952da5d 27523 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 27524
2952da5d 27525 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
27526 before adding it to device.map.
27527
01b82a64 275282006-08-15 Johan Rydberg <jrydberg@gnu.org>
27529
fe6b695a 27530 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 27531 compiles a file; using the -MD option.
27532 * conf/common.mk: Regenerate.
27533 * conf/i386-pc.mk: Likewise.
27534 * conf/i386-efi.mk: Likewise.
27535 * conf/powerpc-ieee1275.mk: Likewise.
27536 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 27537
1064790d 275382006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
27539
27540 Move the prototypes of grub_setjmp and grub_longjmp to
27541 cpu/setjmp.h, so that each architecture may specify different
27542 attributes.
f19dbdb7 27543
1064790d 27544 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
27545 (grub_longjmp): Likewise.
27546 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
27547 (grub_longjmp): Likewise.
27548 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
27549 (grub_longjmp): Likewise.
27550
27551 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
27552 [!GRUB_UTIL] (grub_longjmp): Removed.
27553
29dda3ed 275542006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
27555
27556 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
27557 "color!" method does not return any value.
27558
ad2a06ed 275592006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27560
27561 * include/grub/bitmap.h: New file.
27562
27563 * include/grub/i386/pc/vbeutil.h: Likewise.
27564
27565 * video/bitmap.c: Likewise.
27566
27567 * video/readers/tga.c: Likewise.
27568
27569 * video/i386/pc/vbeutil.c: Likewise.
27570
27571 * commands/videotest.c: Code cleanup and updated to reflect to new
27572 video API.
27573
27574 * term/gfxterm.c: Likewise.
27575
27576 * video/video.c: Likewise.
27577
27578 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
27579 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
27580 (bitmap_mod_SOURCES): New entry.
27581 (bitmap_mod_CFLAGS): Likewise.
27582 (bitmap_mod_LDFLAGS): Likewise.
27583 (tga_mod_SOURCES): Likewise.
27584 (tga_mod_CFLAGS): Likewise.
27585 (tga_mod_LDFLAGS): Likewise.
27586
27587 * include/grub/video.h (grub_video_blit_operators): New enum type.
27588 (grub_video_render_target): Changed as forward declaration and moved
27589 actual definition to be video driver specific.
27590 (grub_video_adapter.blit_bitmap): Added blitting operator.
27591 (grub_video_adapter.blit_render_target): Likewise.
27592 (grub_video_blit_bitmap): Likewise.
27593 (grub_video_blit_render_target): Likewise.
27594
27595 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
27596 driver specific render target definition.
27597 (grub_video_vbe_map_rgba): Added driver internal helper.
27598 (grub_video_vbe_unmap_color): Updated to use
27599 grub_video_i386_vbeblit_info.
27600 (grub_video_vbe_get_video_ptr): Likewise.
27601
27602 * include/grub/i386/pc/vbeblit.h
27603 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
27604 grub_video_i386_vbeblit_info.
27605 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27606 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27607 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27608 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27609 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27610 (grub_video_i386_vbeblit_index_index): Likewise.
27611 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
27612 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27613 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27614 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
27615 operator.
27616 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
27617 operator.
27618
27619 * video/i386/pc/vbeblit.c: Updated to reflect changes on
27620 include/grub/i386/pc/vbeblit.h.
27621
27622 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
27623 Updated to use grub_video_i386_vbeblit_info.
27624 (grub_video_i386_vbefill_R8G8B8): Likewise.
27625 (grub_video_i386_vbefill_index): Likewise.
27626 (grub_video_i386_vbefill): Added generic filler.
27627
27628 * video/i386/pc/vbefill.c: Updated to reflect changes on
27629 include/grub/i386/pc/vbefill.h.
27630
27631 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
27632 grub_video_i386_vbeblit_info.
27633 (grub_video_vbe_unmap_color): Likewise.
27634 (grub_video_vbe_blit_glyph): Likewise.
27635 (grub_video_vbe_scroll): Likewise.
27636 (grub_video_vbe_draw_pixel): Removed function.
27637 (grub_video_vbe_get_pixel): Likewise.
27638 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
27639 updated code to use it.
27640 (common_blitter): Added common blitter for render target and bitmap.
27641 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
27642 (grub_video_vbe_blit_render_target): Likewise.
27643
bc8c036d 276442006-07-30 Johan Rydberg <jrydberg@gnu.org>
27645
27646 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
27647 is in text mode if there is no console control protocol instance
27648 available.
27649
684a8eff 276502006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27651
27652 * include/grub/video.h: Code cleanup.
27653
27654 * include/grub/i386/pc/vbe.h: Likewise.
27655
27656 * video/i386/pc/vbe.c: Likewise.
27657
27658 * video/i386/pc/vbeblit.c: Likewise.
27659
27660 * video/i386/pc/vbefill.c: Likewise.
27661
27662 * video/video.c: Likewise. Also added more comments.
27663
5915059b 276642006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27665
27666 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
27667 (struct grub_biosdisk_dap): Likewise.
27668
27669 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
27670 linkage settings for all functions.
27671
90ce5d56 276722006-07-12 Marco Gerards <marco@gnu.org>
27673
27674 * configure.ac (--enable-mm-debug): Fix typo.
27675
27676 * genkernsyms.sh.in: Use proper quoting for `CC'.
27677
43e7f879 276782006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
27679
27680 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
27681 (normal_mod_ASFLAGS): Remove "-m32".
27682
4889bdec 276832006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
27684
27685 * util/misc.c: Include config.h.
27686 [!HAVE_MEMALIGN]: Do not include malloc.h.
27687 (grub_memalign): Use posix_memalign, if present. Then, use
27688 memalign, if present. Otherwise, emit an error.
27689
27690 * util/grub-emu.c: Do not include malloc.h.
27691
27692 * include/grub/util/misc.h: Include unistd.h. This is required for
27693 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
27694 D. Eades III <hde@foobar-qux.org>.
27695
27696 * configure.ac (AC_GNU_SOURCE): Added.
27697 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
27698 type.
27699
fd39d4da 277002006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
27701
27702 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
27703 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
27704
b786f3b5 277052006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
27706
27707 * include/grub/types.h (grub_host_addr_t): Rename to
27708 grub_target_addr_t.
27709 (grub_host_off_t): Rename to grub_target_off_t.
27710 (grub_host_size_t): Rename to grub_target_size_t.
27711 (grub_host_ssize_t): Rename to grub_target_ssize_t.
27712 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
27713
27714 * include/grub/kernel.h (struct grub_module_header): Change type
27715 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
27716 (grub_module_info): Likewise.
f19dbdb7 27717
051988bb 277182006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
27719
27720 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
27721 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
27722 Velazquez <jesus.velazquez@gmail.com>.
27723
deae281b 277242006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
27725
27726 Count partitions from 1 instead of 0 in the string representation
27727 of partitions. Still use 0-based internally.
f19dbdb7 27728
deae281b 27729 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
27730 (sun_partition_map_iterate): Use grub_partition_t instead of
27731 struct grub_partition *. Cast DESC->START_CYLINDER to
27732 grub_uint64_t after converting the endian.
27733 (sun_partition_map_probe): Subtract 1 for PARTNUM.
27734 (sun_partition_map_get_name): Add 1 to P->INDEX.
27735
27736 * partmap/pc.c (grub_partition_parse): Subtract 1 for
27737 PCDATA->DOS_PART.
27738 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
27739
27740 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
27741 zero instead of one.
27742 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
27743 (gpt_partition_map_get_name): Add 1 into P->INDEX.
27744
27745 * partmap/apple.c (apple_partition_map_iterate): Change the type
27746 of POS to unsigned.
27747 (apple_partition_map_probe): Subtract 1 for PARTNUM.
27748 (apple_partition_map_get_name): Add 1 into P->INDEX.
27749
27750 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
27751 of POS to unsigned.
27752 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
27753 calculate the offset of a partition.
27754 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
27755 (amiga_partition_map_get_name): Add 1 into P->INDEX.
27756
27757 * partmap/acorn.c (acorn_partition_map_find): Change the type of
27758 SECTOR to grub_disk_addr_t.
27759 (acorn_partition_map_iterate): Likewise.
27760 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
27761 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
27762 top.
27763 (acorn_partition_map_get_name): Add 1 into P->INDEX.
27764
27765 * kern/i386/pc/init.c (make_install_device): Add 1 into
27766 GRUB_INSTALL_DOS_PART.
27767
27768 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
27769 conditional.
27770
524a1e6a 277712006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27772
27773 Clean up the code to support 64-bit addressing in disks and
27774 files. This change is not enough for filesystems yet.
f19dbdb7 27775
524a1e6a 27776 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
27777 type of "start" to grub_uint64_t.
27778 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
27779 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
27780 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
27781 convert addresses.
27782
27783 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
27784 to grub_disk_addr_t.
27785
27786 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
27787 string.
27788
27789 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27790
27791 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
27792 to char *.
27793
27794 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
27795
27796 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
27797
27798 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
27799
27800 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
27801 to grub_off_t, to detect an error from grub_file_seek.
27802 (grub_multiboot_load_elf32): Likewise.
27803
27804 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
27805 maximum unsigned long value when an overflow is detected.
27806 (grub_strtoull): New function.
27807 (grub_divmod64): Likewise.
27808 (grub_lltoa): use grub_divmod64.
27809
27810 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
27811 grub_disk_addr_t.
27812 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
27813 the pointer to next character. Use grub_strtoull instead of
27814 grub_strtoul.
27815 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
27816 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
27817 respectively.
27818
fe6b695a 27819 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 27820 return value is signed.
27821 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
27822 test if OFFSET is less than zero, as OFFSET is unsigned now.
27823
27824 * kern/disk.c (struct grub_disk_cache): Change the type of
27825 "sector" to grub_disk_addr_t.
27826 (grub_disk_cache_get_index): Change the type of SECTOR to
27827 grub_disk_addr_t. Calculate the hash with SECTOR casted to
27828 unsigned after shifting.
27829 (grub_disk_cache_invalidate): Change the type of SECTOR to
27830 grub_disk_addr_t.
27831 (grub_disk_cache_unlock): Likewise.
27832 (grub_disk_cache_store): Likewise.
27833 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
27834 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
27835 grub_disk_addr_t and grub_uint64_t, respectively.
27836 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
27837 body, as the value of OFFSET is tweaked by
27838 grub_disk_check_range. Change the types of START_SECTOR, LEN and
27839 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
27840 respectively.
27841 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
27842 body, as the value of OFFSET is tweaked by
27843 grub_disk_check_range. Change the types of LEN and N to
27844 grub_size_t.
27845
27846 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
27847 and "saved_offset" to grub_off_t.
27848 (test_header): Cast BUF to char *.
27849 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
27850 to char *.
27851 (grub_gzio_read): Change the types of OFFSET and SIZE to
27852 grub_off_t and grub_size_t, respectively.
27853
27854 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
27855 Removed.
27856 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
27857 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
27858 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
27859 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
27860 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
27861
27862 * include/grub/types.h (grub_off_t): Unconditionally set to
27863 grub_uint64_t.
27864 (grub_disk_addr_t): Changed to grub_uint64_t.
27865
27866 * include/grub/partition.h (struct grub_partition): Change the
27867 types of "start", "len" and "offset" to grub_disk_addr_t,
27868 grub_uint64_t and grub_disk_addr_t, respectively.
27869 (grub_partition_get_start): Return grub_disk_addr_t.
27870 (grub_partition_get_len): Return grub_uint64_t.
27871
27872 * include/grub/misc.h (grub_strtoull): New prototype.
27873 (grub_divmod64): Likewise.
27874
27875 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
27876 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
27877 grub_off_t, respectively.
27878 All callers and references changed.
27879
27880 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
27881 grub_size_t in "read".
27882 All callers and references changed.
27883
27884 * include/grub/file.h (struct grub_file): Change the types of
27885 "offset" and "size" to grub_off_t and grub_off_t,
27886 respectively. Change the type of SECTOR to grub_disk_addr_t in
27887 "read_hook".
27888 (grub_file_read): Change the type of LEN to grub_size_t.
27889 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
27890 grub_off_t.
27891 (grub_file_size): Return grub_off_t.
27892 (grub_file_tell): Likewise.
27893 All callers and references changed.
27894
27895 * include/grub/disk.h (struct grub_disk_dev): Change the types of
27896 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
27897 "write".
27898 (struct grub_disk): Change the type of "total_sectors" to
27899 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 27900 "read_hook".
524a1e6a 27901 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
27902 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
27903 (grub_disk_write): Likewise.
27904 All callers and references changed.
27905
27906 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
27907 char * for grub_strncmp to silence gcc.
27908 (grub_iso9660_mount): Likewise.
27909 (grub_iso9660_mount): Likewise.
27910 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
27911 return statement.
27912 (grub_iso9660_iterate_dir): Likewise.
27913 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
27914
27915 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
27916 LEN to grub_disk_addr_t and grub_size_t, respectively.
27917
27918 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27919
27920 * fs/jfs.c (grub_jfs_read_file): Likewise.
27921
27922 * fs/minix.c (grub_jfs_read_file): Likewise.
27923
27924 * fs/sfs.c (grub_jfs_read_file): Likewise.
27925
27926 * fs/ufs.c (grub_jfs_read_file): Likewise.
27927
27928 * fs/xfs.c (grub_jfs_read_file): Likewise.
27929
27930 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
27931 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
27932 respectively.
27933
27934 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
27935 BLKNR to -1 instead of returning GRUB_ERRNO.
27936 (grub_ext2_read_file): Change the types of SECTOR and
27937 LEN to grub_disk_addr_t and grub_size_t, respectively.
27938
27939 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
27940 LEN to grub_disk_addr_t and grub_size_t, respectively.
27941
27942 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
27943 grub_file_read.
27944
27945 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
27946 string. Do not cast SECTOR explicitly.
27947
27948 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
27949 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
27950 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
27951 grub_disk_addr_t and grub_size_t, respectively. If the sector is
27952 over 2TB and LBA mode is not supported, raise an error.
27953 (get_safe_sectors): New function.
27954 (grub_biosdisk_read): Use get_safe_sectors.
27955 (grub_biosdisk_write): Likewise.
27956
27957 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
27958 (grub_efidisk_write): Likewise.
27959
27960 * disk/loopback.c (delete_loopback): Cosmetic changes.
27961 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
27962 correctly.
27963 (grub_loopback_open): Likewise.
27964 (grub_loopback_read): Likewise. Also, change the type of POS to
27965 grub_off_t, and fix the usage of grub_memset.
27966
27967 * commands/i386/pc/play.c: Include grub/machine/time.h.
27968
27969 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
27970 print FILE->SIZE.
27971
27972 * commands/configfile.c: Include grub/env.h.
27973
27974 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
27975 GRUB_ERRNO directly instead. Change the type of POS to
27976 grub_off_t. Follow the coding standard.
27977
27978 * commands/blocklist.c: Include grub/partition.h.
27979 (grub_cmd_blocklist): Return an error if the underlying device is
27980 not a disk. Take the starting sector of a partition into account,
27981 if a partition is used.
27982
27983 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
27984 a length field.
27985 (lba_mode): Support 64-bit addresses.
27986 (chs_mode): Likewise.
27987 (copy_buffer): Adapted to the new offsets of a length field and a
27988 segment field.
27989 (blocklist_default_start): Allocate 64-bit space.
27990
27991 * boot/i386/pc/boot.S (force_lba): Removed.
27992 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 27993 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 27994 space.
27995 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
27996 is useless.
27997 (lba_mode): Refactored to support a 64-bit address. More size
27998 optimization.
27999 (setup_sectors): Likewise.
28000
53af98ad 280012006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28002
28003 * DISTLIST: Added include/grub/i386/linux.h. Removed
28004 include/grub/i386/pc/linux.h
28005
28006 * configure.ac (AC_INIT): Bumped to 1.94.
28007
28008 * config.guess: Updated from gnulib.
28009 * config.sub: Likewise.
28010 * install-sh: Likewise.
28011 * mkinstalldirs: Likewise.
28012
b4c1940a 280132006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28014
28015 * conf/common.rmk (grub_modules_init.lst): Depended on
28016 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
28017 MODSRCFILES.
28018
28019 * genmk.rb (PModule::rule): Reverted the previous change.
28020
cfca1cfd 280212006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28022
28023 * conf/common.rmk (grub_modules_init.lst): Depends on
28024 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
28025 that the target does not exist before producing.
28026 (grub_modules_init.h): Remove the target before generating.
28027 (grub_emu_init.c): Likewise.
28028
28029 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
28030
aa6d7826 280312006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
28032
28033 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
28034 for the target-specific tests. Make sure that we also have the
28035 up-to-date target variables for those tests.
28036
26c607b9 280372006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28038
28039 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
28040 (PModule::rule): Likewise.
28041
0162321a 280422006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28043
28044 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
28045 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
28046 target-specific flags should be prefixed.
28047 (PModule::rule): Likewise.
28048
6c826348 280492006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
28050
28051 * configure.ac (CMP): Check if cmp is available explicitly.
28052
b977bf01 280532006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
28054
28055 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
28056 (target_cpu): New variable.
28057 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 28058
b977bf01 28059 * util/i386/pc/grub-install.in (host_cpu): Removed.
28060 (target_cpu): New variable.
28061 (pkglibdir): Use target_cpu instead of host_cpu.
28062
28063 * util/genmoddep.c: Removed.
f19dbdb7 28064
b977bf01 28065 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
28066 instead of GRUB_HOST_SIZEOF_VOID_P.
28067 * kern/dl.c: Likewise.
28068
28069 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
28070 ...
28071 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28072 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28073 (GRUB_TARGET_SIZEOF_LONG): ... this.
28074 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28075 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28076 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28077 to ...
28078 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28079 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28080 (GRUB_TARGET_SIZEOF_LONG): ... this.
28081 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28082 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28083 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28084 to ...
28085 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28086 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28087 (GRUB_TARGET_SIZEOF_LONG): ... this.
28088 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28089 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28090
28091 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
28092 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
28093 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
28094 instead of GRUB_HOST_SIZEOF_LONG.
28095 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
28096 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
28097 GRUB_CPU_WORDS_BIGENDIAN.
28098 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
28099 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
28100 grub_host_ssize_t.
28101
28102 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
28103 (genmoddep_SOURCES): Likewise.
28104 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
28105 (genmoddep_SOURCES): Likewise.
28106 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
28107 (genmoddep_SOURCES): Likewise.
28108 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
28109 Likewise.
28110 (genmoddep_SOURCES): Likewise.
28111
28112 * genmoddep.awk: New file.
28113
28114 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
28115 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
28116 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
28117 (PModule::rule): Likewise.
28118 (Program::rule): Likewise.
28119 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
28120 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
28121 respectively.
28122
28123 * configure.ac: Rewritten intensively to use host and target
28124 instead of build and host, respectively.
28125
28126 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
28127 (host_cpu): Removed.
28128 (target_cpu): New variable.
28129 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
28130 (BUILD_CC): Removed.
28131 (BUILD_CFLAGS): Likewise.
28132 (BUILD_CPPFLAGS): Likewise.
28133 (TARGET_CC): New variable.
28134 (TARGET_CFLAGS): Likewise.
28135 (TARGET_CPPFLAGS): Likewise.
28136 (TARGET_LDFLAGS): Likewise.
28137 (AWK): Likewise.
28138 (include): Use target_cpu instead of host_cpu.
28139 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 28140
b977bf01 28141 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
28142
f09771a1 281432006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
28144
28145 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
28146 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
28147 field 'false' to 'exec_on_false'.
28148 (grub_script_create_cmdif): Renamed argument names to reflect above
28149 changes.
28150
28151 * normal/execute.c (grub_script_execute_cmdif): Likewise.
28152
28153 * normal/script.c (grub_script_create_cmdif): Likewise.
28154
118f4fb3 281552006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
28156
28157 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
28158 top.
28159 (grub_hfsplus_btree_recptr): Likewise.
28160 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
28161 FILEBLOCK both to pass a block number and store next block
28162 number.
28163 (grub_hfsplus_read_block): Rewritten heavily to support an extent
28164 overflow file correctly. Specify errors appropriately, because
28165 fshelp expects that GRUB_ERRNO is set when fails. Reuse
28166 grub_hfsplus_btree_recptr to get the pointer to a found key.
28167 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
28168 is found.
28169
28170 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
28171 linux.mod.
28172 (_linux_mod_SOURCES): New variable.
28173 (_linux_mod_CFLAGS): Likewise.
28174 (_linux_mod_LDFLAGS): Likewise.
28175 (linux_mod_SOURCES): Likewise.
28176 (linux_mod_CFLAGS): Likewise.
28177 (linux_mod_LDFLAGS): Likewise.
28178
28179 * DISTLIST: Added loader/i386/efi/linux.c,
28180 loader/i386/efi/linux_normal.c and
28181 include/grub/i386/efi/loader.h.
28182
28183 * loader/i386/efi/linux.c: New file.
28184 * loader/i386/efi/linux_normal.c: Likewise.
28185 * include/grub/i386/efi/loader.h: Likewise.
28186
89a7d726 281872006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
28188
28189 * commands/blocklist.c: New file.
28190
28191 * DISTLIST: Added commands/blocklist.c.
28192
28193 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 28194 color for the background, and a darker color for the foreground.
89a7d726 28195 (grub_console_checkkey): Return READ_KEY.
28196 (grub_console_cls): Set the background to
28197 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
28198
28199 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
28200
28201 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
28202 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
28203
28204 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
28205 prototype.
28206
28207 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
28208 BG. The spec is wrong again.
28209
28210 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
28211 prototype.
28212 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
28213
28214 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
28215 commands/blocklist.c.
28216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 28217
89a7d726 28218 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
28219 (blocklist_mod_SOURCES): New variable.
28220 (blocklist_mod_CFLAGS): Likewise.
28221 (blocklist_mod_LDFLAGS): Likewise.
28222
75c8f258 282232006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
28224
28225 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
28226 duplication.
28227 (lba_mode): Use %eax more intensively to reduce the code size.
28228
da2eb181 282292006-05-20 Marco Gerards <marco@gnu.org>
28230
28231 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
28232
28233 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
28234 for `menuentry'.
28235 (script): Accept leading newlines.
28236 (newlines): New rule to describe 0 or more newlines.
28237 (commands): Accept `command' with trailing newline. Fixed the
28238 order in which arguments were passed to `grub_script_add_cmd'.
28239 Accept commands separated by newlines.
28240 (function): Changed to accept newlines.
28241 (menuentry) Rewritten.
28242
28243 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
28244 front of the list, instead of to the end.
28245
577b4050 282462006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
28247
28248 * util/i386/pc/grub-install.in (bindir): New variable.
28249 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
28250 Shaver <lbgwjl@gmail.com>.
28251
0d6e1189 282522006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
28253
28254 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
28255 grub/machine/linux.h
28256 * loader/i386/pc/linux.c: Likewise.
28257
28258 * include/grub/i386/pc/linux.h: Moved to ...
28259 * include/grub/i386/linux.h: ... here.
28260
28261 * include/grub/i386/linux.h (struct linux_kernel_params): New
28262 struct.
f19dbdb7 28263
31b86e9f 282642006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
28265
28266 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
28267 checking.
28268 (grub_video_vbe_blit_glyph): Likewise.
28269 (grub_video_vbe_blit_bitmap): Likewise.
28270 (grub_video_vbe_blit_render_target): Likewise.
28271
83b984de 282722006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
28273
28274 * configure.ac (--with-platform): Properly quote the square
28275 brackets.
28276
5f0413bd 282772006-05-08 Marco Gerards <marco@gnu.org>
28278
28279 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
28280 this...
28281 (kernel_elf_HEADERS): ...to this. Updated all users.
28282 (grubof_symlist.c): Renamed from this...
28283 (kernel_elf_symlist.c): ...to this. Updated all users.
28284 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
28285 (grubof_SOURCES): Renamed from this...
28286 (kernel_elf_SOURCES): ...to this.
28287 (grubof_HEADERS): Renamed from this...
28288 (kernel_elf_HEADERS): ...to this.
28289 (grubof_CFLAGS): Renamed from this...
28290 (kernel_elf_CFLAGS): ...to this.
28291 (grubof_ASFLAGS): Renamed from this...
28292 (kernel_elf_ASFLAGS): ...to this.
28293 (grubof_LDFLAGS): Renamed from this...
28294 (kernel_elf_LDFLAGS): ...to this.
28295
28296 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
28297 this...
28298 (kernel_elf_HEADERS): ...to this. Updated all users.
28299 (grubof_symlist.c): Renamed from this...
28300 (kernel_elf_symlist.c): ...to this. Updated all users.
28301 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
28302 (grubof_SOURCES): Renamed from this...
28303 (kernel_elf_SOURCES): ...to this.
28304 (grubof_HEADERS): Renamed from this...
28305 (kernel_elf_HEADERS): ...to this.
28306 (grubof_CFLAGS): Renamed from this...
28307 (kernel_elf_CFLAGS): ...to this.
28308 (grubof_ASFLAGS): Renamed from this...
28309 (kernel_elf_ASFLAGS): ...to this.
28310 (grubof_LDFLAGS): Renamed from this...
28311 (kernel_elf_LDFLAGS): ...to this.
28312
28313 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
28314 `kernel.elf' instead of `grubof'.
28315
05568c2e 283162006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
28317
28318 Add --with-platform to configure. Use pkglibdir instead of
28319 pkgdatadir. This is reported by Roger Leigh.
28320
28321 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
28322 (host_vendor): Likewise.
28323 (host_os): Likewise.
28324 (pkgdatadir): Likewise.
28325 (platform): New variable.
28326 (pkglibdir): Likewise.
28327 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 28328
05568c2e 28329 * util/i386/pc/grub-install.in (datadir): Removed.
28330 (host_vendor): Likewise.
28331 (host_os): Likewise.
28332 (pkgdatadir): Likewise.
28333 (platform): New variable.
28334 (pkglibdir): Likewise.
28335 Use PKGLIBDIR instead of PKGDATADIR.
28336
28337 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
28338 instead of GRUB_DATADIR.
28339 (main): Likewise.
28340 * util/i386/pc/grub-mkimage.c (usage): Likewise.
28341 (main): Likewise.
28342 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28343 (main): Likewise.
28344
28345 * configure.ac (--with-platform): New option.
28346 Use PLATFORM instead of HOST_VENDOR to specify a platform.
28347
28348 * Makefile.in: Include a makefile based on PLATFORM instead of
28349 HOST_VENDOR.
28350 (pkgdatadir): Not appended by the machine type.
28351 (pkglibdir): Appended by the machine type.
28352 (host_vendor): Removed.
28353 (platform): New variable.
28354 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
28355 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
28356 (uninstall): Likewise.
28357
4e93851c 283582006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
28359
28360 Use the environment context in the menu. Remove the commands
28361 "default" and "timeout", and use variables instead.
f19dbdb7 28362
4e93851c 28363 * normal/menu.c: Include grub/env.h.
28364 (print_entry): Cast TITLE to silence gcc.
28365 (get_timeout): New function.
28366 (set_timeout): Likewise.
28367 (get_entry_number): Likewise.
28368 (run_menu): Use a default entry, a fallback entry and a timeout
28369 in the environment variables "default", "fallback" and
28370 "timeout". Also, tweak the default entry if it is not within the
28371 current menu entries.
28372 (grub_menu_run): Use a fallback entry in the environment variable
28373 "fallback".
28374
28375 * normal/main.c (read_config_file): Do not initialize
28376 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
28377 NEWMENU->TIMEOUT.
28378 (grub_normal_execute): Use a data slot to store the menu.
28379
28380 * include/grub/normal.h (struct grub_menu): Removed default_entry,
28381 fallback_entry and timeout.
28382 (struct grub_menu_list): Removed.
28383 (grub_menu_list_t): Likewise.
28384 (struct grub_context): Likewise.
28385 (grub_context_t): Likewise.
28386 (grub_context_get): Likewise.
28387 (grub_context_get_current_menu): Likewise.
28388 (grub_context_push_menu): Likewise.
28389 (grub_context_pop_menu): Likewise.
28390 (grub_default_init): Likewise.
28391 (grub_default_fini): Likewise.
28392 (grub_timeout_init): Likewise.
28393 (grub_timeout_fini): Likewise.
28394
28395 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
28396 and timeout.mod.
28397 (normal_mod_SOURCES): Removed normal/context.c.
28398
28399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
28400 commands/default.c, commands/timeout.c and normal/context.c.
28401 (normal_mod_SOURCES): Removed normal/context.c.
28402
28403 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
28404 commands/timeout.c and normal/context.c.
28405 (normal_mod_SOURCES): Removed normal/context.c.
28406
28407 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
28408 commands/default.c, commands/timeout.c and normal/context.c.
28409 (normal_mod_SOURCES): Removed normal/context.c.
28410
28411 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
28412 timeout.mod.
28413 (default_mod_SOURCES): Removed.
28414 (default_mod_CFLAGS): Likewise.
28415 (default_mod_LDFLAGS): Likewise.
28416 (timeout_mod_SOURCES): Removed.
28417 (timeout_mod_CFLAGS): Likewise.
28418 (timeout_mod_LDFLAGS): Likewise.
28419
28420 * DISTLIST: Removed commands/default.c, commands/timeout.c and
28421 normal/context.c.
28422
28423 * commands/default.c: Removed.
28424 * commands/timeout.c: Likewise.
28425 * normal/context.c: Likewise.
28426
1eb9cc1d 284272006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
28428
28429 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
28430
385bd9c1 284312006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
28432
28433 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
28434 "next" to "prev" for readability.
28435 (struct grub_env_sorted_var): New struct.
28436 (grub_env_context): Renamed to ...
28437 (initial_context): ... this.
28438 (grub_env_var_context): Renamed to ...
28439 (current_context): ... this.
28440 (grub_env_find): Look only at CURRENT_CONTEXT.
28441 (grub_env_context_open): Rewritten to copy exported variables from
28442 previous context.
28443 (grub_env_context_close): Rewritten according to the new
28444 scheme. Also, add an assertion to prevent the initial context from
28445 removed.
28446 (grub_env_insert): Removed the code for the sorted list.
28447 (grub_env_remove): Likewise.
28448 (grub_env_export): Simply mark the variable with
28449 GRUB_ENV_VAR_GLOBAL.
28450 (grub_env_set): A cosmetic change for naming consistency.
28451 (grub_env_get): Likewise.
28452 (grub_env_unset): Likewise.
28453 (grub_env_iterate): Rewritten to sort variables within this
28454 function.
28455 (grub_register_variable_hook): Fixed for naming consistency. Call
28456 grub_env_find again, only if NAME is not found at the first time.
28457 (mangle_data_slot_name): New function.
28458 (grub_env_set_data_slot): Likewise.
28459 (grub_env_get_data_slot): Likewise.
28460 (grub_env_unset_data_slot): Likewise.
28461
28462 * include/grub/env.h (grub_env_var_type): New enum.
28463 (GRUB_ENV_VAR_LOCAL): New constant.
28464 (GRUB_ENV_VAR_GLOBAL): Likewise.
28465 (GRUB_ENV_VAR_DATA): Likewise.
28466 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
28467 "type".
28468 (grub_env_set): Replace VAR with NAME for consistency.
28469 (grub_register_variable_hook): Likewise.
28470 (grub_env_export): Specify the name of the argument.
28471 (grub_env_set_data_slot): New prototype.
28472 (grub_env_get_data_slot): Likewise.
28473 (grub_env_unset_data_slot): Likewise.
28474
7f362539 284752006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28476
28477 Extend the loader so that GRUB can accept a loader which comes
28478 back to GRUB when a loaded image exits. Also, this change adds
28479 support for a chainloader on EFI.
f19dbdb7 28480
7f362539 28481 * term/efi/console.c: Include grub/misc.h.
28482 (grub_console_checkkey): Display a scan code on the top for
28483 debugging. This will be removed once the EFI port gets stable.
28484 Correct the scan code mapping.
28485
28486 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
28487 allocate memory from larger regions, in order to reduce the number
28488 of allocated regions. Otherwise, the MacOSX loader panics.
28489 (filter_memory_map): Avoid less than 1MB for compatibility with
28490 other loaders.
28491 (add_memory_regions): Allocate from the tail of a region, if
28492 possible, to avoid allocating a region near to 1MB, for the MacOSX
28493 loader.
28494
28495 * kern/efi/init.c (grub_efi_set_prefix): Specify
28496 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
28497
28498 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
28499 argument IMAGE_HANDLE and specify it to get a loaded image.
28500 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
28501 grub_efi_get_loaded_image.
fe6b695a 28502 (grub_efi_get_filename): Divide the length by the size of
7f362539 28503 grub_efi_char16_t.
28504 (grub_efi_get_device_path): New function.
28505 (grub_efi_print_device_path): Print End Device Path nodes. Divide
28506 the length by the size of grub_efi_char16_t for a file path device
28507 path node.
28508
28509 * kern/loader.c (grub_loader_noreturn): New variable.
28510 (grub_loader_set): Accept a new argument NORETURN. Set
28511 GRUB_LOADER_NORETURN to NORETURN.
28512 All callers changed.
28513 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
28514 grub_machine_fini.
28515
28516 * include/grub/efi/efi.h (grub_efi_get_device_path): New
28517 prototype.
28518 (grub_efi_get_loaded_image): Take an argument to specify an image
28519 handle.
28520
28521 * include/grub/loader.h (grub_loader_set): Added one more argument
28522 NORETURN.
28523
28524 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
28525 instead of grub_efi_open_protocol.
28526 (grub_efidisk_get_device_name): Likewise.
28527 (grub_efidisk_close): Print a newline.
28528 (grub_efidisk_get_device_handle): Fixed to use
28529 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
28530 GRUB_EFI_DEVICE_PATH_TYPE.
28531
28532 * disk/efi/efidisk.c (device_path_guid): Moved to ...
28533 * kern/efi/efi.c (device_path_guid): ... here.
28534
28535 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
28536 chain.mod.
28537 (kernel_mod_HEADERS): Added efi/disk.h.
28538 (_chain_mod_SOURCES): New variable.
28539 (_chain_mod_CFLAGS): Likewise.
28540 (_chain_mod_LDFLAGS): Likewise.
28541 (chain_mod_SOURCES): Likewise.
28542 (chain_mod_CFLAGS): Likewise.
28543 (chain_mod_LDFLAGS): Likewise.
28544
28545 * DISTLIST: Added include/grub/efi/chainloader.h,
28546 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
28547
28548 * include/grub/efi/chainloader.h: New file.
28549 * loader/efi/chainloader.c: Likewise.
28550 * loader/efi/chainloader_normal.c: Likewise.
28551
c0111d6e 285522006-04-30 Marco Gerards <marco@gnu.org>
28553
28554 * commands/configfile.c (grub_cmd_source): New function.
28555 (GRUB_MOD_INIT): Register the commands `source' and `.'.
28556 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
28557
df5341da 285582006-04-30 Marco Gerards <marco@gnu.org>
28559
28560 * normal/execute.c (grub_script_execute_cmd): Change the return
28561 type to `grub_err_t'. Correctly return the error.
28562 (grub_script_execute_cmdline): In case a command line is not a
28563 command or a function, try to interpret it as an assignment.
28564
f85934bd 285652006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28566
28567 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
28568 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
28569 skip a node whose name is obviously invalid as UTF-16,
28570 i.e. contains a NUL character. Stop the iteration when the last
28571 directory entry is found. Instead of using the return value of
28572 grub_hfsplus_btree_iterate_node, store the value in RET and use
28573 it, because the iterator can be stopped by the last directory
28574 entry.
28575
8f8a2cf8 285762006-04-30 Marco Gerards <marco@gnu.org>
28577
28578 * include/grub/env.h (grub_env_export): New prototype. Reported
28579 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
28580
a27e84ce 285812006-04-30 Marco Gerards <marco@gnu.org>
28582
28583 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
28584 size of the extents in a catalog file record.
28585
eaef0553 285862006-04-29 Marco Gerards <marco@gnu.org>
28587
28588 * commands/configfile.c (grub_cmd_configfile): Execute the
28589 configfile within its own context.
28590
28591 * include/grub/env.h (grub_env_context_open): New prototype.
28592 (grub_env_context_close): Likewise.
28593
28594 * kern/env.c (grub_env): Removed.
28595 (grub_env_sorted): Likewise.
28596 (grub_env_context): New variable.
28597 (grub_env_var_context): Likewise.
28598 (grub_env_find): Search both the active context and the global
28599 context.
28600 (grub_env_context_open): New function.
28601 (grub_env_context_close): Likewise.
28602 (grub_env_insert): Likewise.
28603 (grub_env_remove): Likewise.
28604 (grub_env_export): Likewise.
28605 (grub_env_set): Changed to use helper functions to avoid code
28606 duplication.
28607 (grub_env_iterate): Rewritten so both the current context and the
28608 global context are being used.
28609
28610 * normal/command.c (export_command): New function.
28611 (grub_command_init): Register the `export' function.
28612
7b455f4d 286132006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
28614
28615 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
28616 explicitly to suppress gcc's warnings.
28617 * fs/fat.c (grub_fat_find_dir): Likewise.
28618 (grub_fat_label): Likewise.
28619 * fs/xfs.c (grub_xfs_read_inode): Likewise.
28620 (grub_xfs_mount): Likewise.
28621 (grub_xfs_label): Likewise.
28622 * fs/affs.c (grub_affs_mount): Likewise.
28623 (grub_affs_label): Likewise.
28624 (grub_affs_iterate_dir): Likewise.
28625 * fs/sfs.c (grub_sfs_mount): Likewise.
28626 (grub_sfs_iterate_dir): Likewise.
28627 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
28628 * fs/hfs.c (grub_hfs_mount): Likewise.
28629 (grub_hfs_cmp_catkeys): Likewise.
28630 (grub_hfs_find_dir): Likewise.
28631 (grub_hfs_dir): Likewise.
28632 (grub_hfs_label): Likewise.
28633 * fs/jfs.c (grub_jfs_mount): Likewise.
28634 (grub_jfs_opendir): Likewise.
28635 (grub_jfs_getent): Likewise.
28636 (grub_jfs_lookup_symlink): Likewise.
28637 (grub_jfs_label): Likewise.
28638 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
28639 (grub_hfsplus_iterate_dir): Likewise.
28640 (grub_hfsplus_btree_iterate_node): Made static.
28641
28642 * util/grub-emu.c (prefix): New variable.
28643 (grub_machine_set_prefix): New function.
28644 (main): Do not set the environment variable "prefix" here. Only
28645 set PREFIX, which is used later by grub_machine_set_prefix.
28646
28647 * include/grub/video.h: Do not include grub/symbol.h.
28648 (grub_video_register): Not exported. This symbol is not defined in
28649 the kernel.
28650 (grub_video_unregister): Likewise.
28651 (grub_video_iterate): Likewise.
28652 (grub_video_setup): Likewise.
28653 (grub_video_restore): Likewise.
28654 (grub_video_get_info): Likewise.
28655 (grub_video_get_blit_format): Likewise.
28656 (grub_video_set_palette): Likewise.
28657 (grub_video_get_palette): Likewise.
28658 (grub_video_set_viewport): Likewise.
28659 (grub_video_get_viewport): Likewise.
28660 (grub_video_map_color): Likewise.
28661 (grub_video_map_rgb): Likewise.
28662 (grub_video_map_rgba): Likewise.
28663 (grub_video_fill_rect): Likewise.
28664 (grub_video_blit_glyph): Likewise.
28665 (grub_video_blit_bitmap): Likewise.
28666 (grub_video_blit_render_target): Likewise.
28667 (grub_video_scroll): Likewise.
28668 (grub_video_swap_buffers): Likewise.
28669 (grub_video_create_render_target): Likewise.
28670 (grub_video_delete_render_target): Likewise.
28671 (grub_video_set_active_render_target): Likewise.
28672
28673 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
28674 Undefined.
28675 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
28676
28677 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
28678 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28679 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28680 instead of $(srcdir)/genkernsyms.sh.
28681
28682 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
28683 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28684 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28685 instead of $(srcdir)/genkernsyms.sh.
28686
28687 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
28688 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28689 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28690 instead of $(srcdir)/genkernsyms.sh.
28691
28692 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
28693 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28694 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28695 instead of $(srcdir)/genkernsyms.sh.
28696
28697 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
28698 genkernsyms.sh.
28699
28700 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
28701 genkernsyms.sh.
28702 (gensymlist.sh): New target.
28703 (genkernsyms.sh): Likewise.
28704
28705 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
28706 genkernsyms.sh.in and gensymlist.sh.in.
28707
28708 * genkernsyms.sh: Removed.
28709 * gensymlist.sh: Likewise.
f19dbdb7 28710
7b455f4d 28711 * genkernsyms.sh.in: New file.
28712 * gensymlist.sh.in: Likewise.
28713
1885bb27 287142006-04-25 Hollis Blanchard <hollis@penguinppc.org>
28715
28716 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
28717 clobber "prefix", since we may have already set it manually.
28718
71538dff 287192006-04-25 Hollis Blanchard <hollis@penguinppc.org>
28720
28721 * kern/misc.c (abort): New alias for grub_abort.
28722
2965c7cc 287232006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
28724
28725 A new machine-specific function "grub_machine_set_prefix" is
28726 defined. This is called after loading modules, so that a prefix
28727 initialization can use modules. Also, this change adds an
28728 intensive debugging feature for the memory manager via the
28729 configure option "--enable-mm-debug".
f19dbdb7 28730
2965c7cc 28731 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
28732 PART.LEN.
28733
28734 * kern/sparc64/ieee1275/init.c (abort): Removed.
28735 (grub_stop): Likewise.
28736 (grub_exit): New function.
28737 (grub_set_prefix): Renamed to ...
28738 (grub_machine_set_prefix): ... this.
28739 (grub_machine_init): Do not call grub_set_prefix.
28740
28741 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
28742 (grub_machine_set_prefix): ... this.
28743 (grub_machine_init): Do not call grub_set_prefix.
28744
28745 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
28746 (grub_machine_init): Do not set the prefix here.
28747
28748 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
28749
28750 * kern/efi/init.c: Include grub/mm.h.
28751 (grub_efi_set_prefix): New function.
28752
28753 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
28754 (grub_efi_get_filename): New function.
28755 (grub_print_device_path): Renamed to ...
28756 (grub_efi_print_device_path): ... this.
28757
28758 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
28759 [MM_DEBUG] (grub_realloc): Likewise.
28760 [MM_DEBUG] (grub_free): Likewise.
28761 [MM_DEBUG] (grub_memalign): Likewise.
28762 [MM_DEBUG] (grub_mm_debug): New variable.
28763 [MM_DEBUG] (grub_debug_malloc): New function.
28764 [MM_DEBUG] (grub_debug_free): New function.
28765 [MM_DEBUG] (grub_debug_realloc): New function.
28766 [MM_DEBUG] (grub_debug_memalign): New function.
28767
28768 * kern/misc.c (grub_abort): Print a newline to distinguish
28769 the message.
28770
28771 * kern/main.c (grub_main): Call grub_machine_set_prefix and
28772 grub_set_root_dev after loading modules. This is necessary when
28773 setting a prefix depends on modules.
28774
28775 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
28776 (grub_efi_print_device_path): ... this.
28777 (grub_efi_get_filename): New prototype.
28778 (grub_efi_set_prefix): Likewise.
28779
28780 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
28781 and grub/disk.h.
28782 (grub_efidisk_get_device_handle): New prototype.
28783 (grub_efidisk_get_device_name): Likewise.
28784
28785 * include/grub/mm.h: Include config.h.
28786 (MM_DEBUG): Removed.
28787 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
28788 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
28789 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
28790 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
28791 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
28792 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
28793 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
28794 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
28795 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
28796
28797 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
28798
28799 * disk/efi/efidisk.c: Include grub/partition.h.
28800 (iterate_child_devices): New function.
28801 (add_device): First, compare only last device path nodes, so that
28802 devices are sorted by the types.
28803 (grub_efidisk_get_device_handle): New function.
28804 (grub_efidisk_get_device_name): Likewise.
28805
28806 * configure.ac (--enable-mm-debug): New option to enable the
28807 memory manager debugging feature. This makes the binary much
28808 bigger, so is disabled by default.
28809
9cacaa17 288102006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
28811
28812 Use grub_abort instead of grub_stop, and grub_exit must be
28813 define in each architecture now. Also, this change adds support
28814 for EFI disks.
f19dbdb7 28815
9cacaa17 28816 * util/i386/pc/grub-probefs.c: Include grub/term.h.
28817 (grub_getkey): New function.
28818 (grub_term_get_current): Likewise.
28819
28820 * util/i386/pc/grub-setup.c: Include grub/term.h.
28821 (grub_getkey): New function.
28822 (grub_term_get_current): Likewise.
28823
28824 * util/misc.c (grub_stop): Renamed to ...
28825 (grub_exit): ... this.
28826
28827 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
28828 (grub_exit): ... this.
28829 (grub_machine_init): Use grub_abort instead of abort.
28830 (grub_stop): Removed.
28831
28832 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
28833 abort.
28834
28835 * kern/i386/pc/startup.S (grub_exit): New function.
28836 (cold_reboot): New label.
28837
28838 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
28839 (grub_efi_init): Call grub_efidisk_init.
28840 (grub_efi_fini): Call grub_efidisk_fini.
28841
28842 * kern/efi/efi.c: Include grub/mm.h.
28843 (grub_efi_console_control_guid): Renamed to ...
28844 (console_control_guid): ... this.
28845 (grub_efi_loaded_image_guid): Renamed to ...
28846 (loaded_image_guid): ... this.
28847 (grub_efi_locate_handle): New function.
28848 (grub_efi_open_protocol): Likewise.
28849 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
28850 GRUB_EFI_CONSOLE_CONTROL_GUID.
28851 (grub_efi_exit): Removed.
28852 (grub_stop): Likewise.
28853 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
28854 (grub_exit): New function.
28855 (grub_print_device_path): Likewise.
28856
28857 * kern/rescue.c (grub_rescue_cmd_exit): New function.
28858 (grub_enter_rescue_mode): Register "exit".
28859
28860 * kern/misc.c (grub_real_dprintf): A cosmetic change.
28861 (grub_abort): New function.
28862
28863 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
28864
28865 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
28866
28867 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
28868
28869 * include/grub/efi/efi.h (grub_efi_exit): Removed.
28870 (grub_print_device_path): New prototype.
28871 (grub_efi_locate_handle): Likewise.
28872 (grub_efi_open_protocol): Likewise.
28873
28874 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
28875 * disk/efi/efidisk.c: Likewise.
28876
28877 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
28878
28879 * include/grub/efi/console_control.h
28880 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
28881
28882 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
28883 last 8 bytes as an array.
28884 (GRUB_EFI_DISK_IO_GUID): New macro.
28885 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
28886 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
28887 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
28888 grub_uint8_t.
28889 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
28890 (struct grub_efi_device_path): Rename the member "sub_type" to
28891 "subtype".
28892 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
28893 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
28894 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
28895 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
28896 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
28897 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
28898 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
28899 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
28900 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
28901 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
28902 (struct grub_efi_pci_device_path): New structure.
28903 (grub_efi_pci_device_path_t): New type.
28904 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
28905 (struct grub_efi_pccard_device_path): New structure.
28906 (grub_efi_pccard_device_path_t): New type.
28907 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
28908 (struct grub_efi_memory_mapped_device_path): New structure.
28909 (grub_efi_memory_mapped_device_path_t): New type.
28910 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
28911 (struct grub_efi_vendor_device_path): New structure.
28912 (grub_efi_vendor_device_path_t): New type.
28913 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
28914 (struct grub_efi_controller_device_path): New structure.
28915 (grub_efi_controller_device_path_t): New type.
28916 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
28917 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
28918 (struct grub_efi_acpi_device_path): New structure.
28919 (grub_efi_acpi_device_path_t): New type.
28920 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
28921 (struct grub_efi_expanded_acpi_device_path): New structure.
28922 (grub_efi_expanded_acpi_device_path_t): New type.
28923 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
28924 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
28925 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
28926 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
28927 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
28928 (struct grub_efi_atapi_device_path): New structure.
28929 (grub_efi_atapi_device_path_t): New type.
28930 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
28931 (struct grub_efi_fibre_channel_device_path): New structure.
28932 (grub_efi_fibre_channel_device_path_t): New type.
28933 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
28934 (struct grub_efi_1394_device_path): New structure.
28935 (grub_efi_1394_device_path_t): New type.
28936 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
28937 (struct grub_efi_usb_device_path): New structure.
28938 (grub_efi_usb_device_path_t): New type.
28939 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
28940 (struct grub_efi_usb_class_device_path): New structure.
28941 (grub_efi_usb_class_device_path_t): New type.
28942 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
28943 (struct grub_efi_i2o_device_path): New structure.
28944 (grub_efi_i2o_device_path_t): New type.
28945 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
28946 (struct grub_efi_mac_address_device_path): New structure.
28947 (grub_efi_mac_address_device_path_t): New type.
28948 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
28949 (struct grub_efi_ipv4_device_path): New structure.
28950 (grub_efi_ipv4_device_path_t): New type.
28951 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
28952 (struct grub_efi_ipv6_device_path): New structure.
28953 (grub_efi_ipv6_device_path_t): New type.
28954 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
28955 (struct grub_efi_infiniband_device_path): New structure.
28956 (grub_efi_infiniband_device_path_t): New type.
28957 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
28958 (struct grub_efi_uart_device_path): New structure.
28959 (grub_efi_uart_device_path_t): New type.
28960 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
28961 (struct grub_efi_vendor_messaging_device_path): New structure.
28962 (grub_efi_vendor_messaging_device_path_t): New type.
28963 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
28964 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
28965 (struct grub_efi_hard_drive_device_path): New structure.
28966 (grub_efi_hard_drive_device_path_t): New type.
28967 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
28968 (struct grub_efi_cdrom_device_path): New structure.
28969 (grub_efi_cdrom_device_path_t): New type.
28970 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
28971 (struct grub_efi_vendor_media_device_path): New structure.
28972 (grub_efi_vendor_media_device_path_t): New type.
28973 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
28974 (struct grub_efi_file_path_device_path): New structure.
28975 (grub_efi_file_path_device_path_t): New type.
28976 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
28977 (struct grub_efi_protocol_device_path): New structure.
28978 (grub_efi_protocol_device_path_t): New type.
28979 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
28980 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
28981 (struct grub_efi_bios_device_path): New structure.
28982 (grub_efi_bios_device_path_t): New type.
28983 (struct grub_efi_disk_io): New structure.
28984 (grub_efi_disk_io_t): New type.
28985 (struct grub_efi_block_io_media): New structure.
28986 (grub_efi_block_io_media_t): New type.
28987 (struct grub_efi_block_io): New structure.
28988 (grub_efi_block_io_t): New type.
28989
28990 * include/grub/misc.h (grub_stop): Removed.
28991 (grub_exit): New prototype.
28992 (grub_abort): Likewise.
28993
28994 * include/grub/disk.h (enum grub_disk_dev_id): Added
28995 GRUB_DISK_DEVICE_EFIDISK_ID.
28996
28997 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
28998 disk/efi/efidisk.c.
28999 (kernel_syms.lst): Remove the target if an error occurs.
29000
49986a9f 290012006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
29002
29003 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
29004 as it was simply too buggy.
29005
970d3b8a 290062006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
29007
29008 * kern/misc.c (grub_lltoa): New function.
29009 (grub_vsprintf): Added support for the long long suffix,
29010 i.e. "ll".
29011
ff04ec24 290122006-04-20 Hollis Blanchard <hollis@penguinppc.org>
29013
29014 * Makefile.in (LDFLAGS): Add variable.
29015 (LD): Remove variable.
29016 * configure.ac: Add -m32 to LDFLAGS.
29017 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
29018 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
29019 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
29020 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
29021 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
29022 variables.
29023 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
29024 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
29025 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
29026
37e5e1a4 290272006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
29028
29029 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
29030 length for unknown glyph.
29031
c352d8dd 290322006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
29033
2eab1c0d 29034 Add support for pre-loaded modules into the EFI port.
f19dbdb7 29035
2eab1c0d 29036 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
29037 completely. Accept one more argument DIR. The caller has changed.
29038
29039 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
29040
29041 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
29042 (grub_efi_loaded_image_guid): New variable.
29043 (grub_efi_get_loaded_image): New function.
29044 (grub_arch_modules_addr): Likewise.
29045
29046 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
29047 prototype.
29048
29049 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
29050 (struct grub_efi_loaded_image): New structure.
29051 (grub_efi_loaded_image_t): New type.
29052
290532006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 29054
c352d8dd 29055 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
29056 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
29057 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
29058
6d01d6b4 290592006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
29060
29061 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
29062
976a4ea0 290632006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
29064
29065 * DISTLIST: Added include/grub/efi/console.h,
29066 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
29067 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
29068
29069 * include/grub/efi/console.h: New file.
29070 * include/grub/efi/time.h: Likewise.
29071 * include/grub/i386/efi/kernel.h: Likewise.
29072 * kern/efi/init.c: Likewise.
29073 * kern/efi/mm.c: Likewise.
29074 * term/efi/console.c: Likewise.
f19dbdb7 29075
976a4ea0 29076 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
29077 (grub_stop): Removed.
29078 (grub_get_rtc): Likewise.
29079 (grub_machine_init): Simply call grub_efi_init.
29080 (grub_machine_fini): Call grub_efi_fini.
29081
29082 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
29083 (grub_efi_output_string): Removed.
29084 (grub_efi_stall): New function.
29085 (grub_stop): Likewise.
29086 (grub_get_rtc): Likewise.
29087
29088 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
29089 (grub_efi_stall): New prototype.
29090 (grub_efi_allocate_pages): Likewise.
29091 (grub_efi_free_pages): Likewise.
29092 (grub_efi_get_memory_map): Likewise.
29093 (grub_efi_mm_init): Likewise.
29094 (grub_efi_mm_fini): Likewise.
29095 (grub_efi_init): Likewise.
29096 (grub_efi_fini): Likewise.
29097
29098 * include/grub/i386/efi/time.h: Do not include
29099 grub/symbol.h. Include grub/efi/time.h.
29100 (GRUB_TICKS_PER_SECOND): Removed.
29101 (grub_get_rtc): Likewise.
29102
29103 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
29104 Added padding. The EFI spec is buggy.
29105 (GRUB_EFI_BLACK): New macro.
29106 (GRUB_EFI_BLUE): Likewise.
29107 (GRUB_EFI_GREEN): Likewise.
29108 (GRUB_EFI_CYAN): Likewise.
29109 (GRUB_EFI_RED): Likewise.
29110 (GRUB_EFI_MAGENTA): Likewise.
29111 (GRUB_EFI_BROWN): Likewise.
29112 (GRUB_EFI_LIGHTGRAY): Likewise.
29113 (GRUB_EFI_BRIGHT): Likewise.
29114 (GRUB_EFI_DARKGRAY): Likewise.
29115 (GRUB_EFI_LIGHTBLUE): Likewise.
29116 (GRUB_EFI_LIGHTGREEN): Likewise.
29117 (GRUB_EFI_LIGHTCYAN): Likewise.
29118 (GRUB_EFI_LIGHTRED): Likewise.
29119 (GRUB_EFI_LIGHTMAGENTA): Likewise.
29120 (GRUB_EFI_YELLOW): Likewise.
29121 (GRUB_EFI_WHITE): Likewise.
29122 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
29123 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
29124 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
29125 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
29126 (GRUB_EFI_BACKGROUND_RED): Likewise.
29127 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
29128 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
29129 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
29130 (GRUB_EFI_TEXT_ATTR): Likewise.
29131
29132 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
29133 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
29134 (kernel_mod_HEADERS): Added efi/time.h.
29135
83709125 291362006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
29137
29138 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
29139 include/grub/efi/api.h, include/grub/efi/console_control.h,
29140 include/grub/efi/efi.h, include/grub/efi/pe32.h,
29141 include/grub/i386/efi/time.h, kern/efi/efi.c,
29142 kern/i386/efi/init.c, kern/i386/efi/startup.S,
29143 and util/i386/efi/grub-mkimage.c.
29144
29145 * Makefile.in (RMKFILES): Added i386-efi.rmk.
29146
29147 * genmk.rb (PModule#rule): Do not export symbols if
29148 #{prefix}_EXPORTS is set to "no".
29149
29150 * conf/i386-efi.mk: New file.
29151 * conf/i386-efi.rmk: Likewise.
29152 * include/grub/efi/api.h: Likewise.
29153 * include/grub/efi/console_control.h: Likewise.
29154 * include/grub/efi/efi.h: Likewise.
29155 * include/grub/efi/pe32.h: Likewise.
29156 * include/grub/i386/efi/time.h: Likewise.
29157 * kern/efi/efi.c: Likewise.
29158 * kern/i386/efi/init.c: Likewise.
29159 * kern/i386/efi/startup.S: Likewise.
29160 * util/i386/efi/grub-mkimage.c: Likewise.
29161
291622006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 29163
29164 * include/grub/script.h: Include <grub/parser.h> and
29165 "grub_script.tab.h".
29166 (struct grub_lexer_param): New struct.
29167 (struct grub_parser_param): Likewise.
29168 (grub_script_create_arglist): Pass the state in an argument.
29169 (grub_script_add_arglist): Likewise.
29170 (grub_script_create_cmdline): Likewise.
29171 (grub_script_create_cmdblock): Likewise.
29172 (grub_script_create_cmdif): Likewise.
29173 (grub_script_create_cmdmenu): Likewise.
29174 (grub_script_add_cmd): Likewise.
29175 (grub_script_arg_add): Likewise.
29176 (grub_script_lexer_ref): Likewise.
29177 (grub_script_lexer_deref): Likewise.
29178 (grub_script_lexer_record_start): Likewise.
29179 (grub_script_lexer_record_stop): Likewise.
29180 (grub_script_mem_record): Likewise.
29181 (grub_script_mem_record_stop): Likewise.
29182 (grub_script_malloc): Likewise.
29183 (grub_script_yylex): Likewise.
29184 (grub_script_yyparse): Likewise.
29185 (grub_script_yyerror): Likewise.
29186 (grub_script_yylex): Likewise.
29187 (grub_script_lexer_init): Return the state.
29188
29189 * normal/lexer.c (grub_script_lexer_state): Removed variable.
29190 (grub_script_lexer_done): Likewise.
29191 (grub_script_lexer_getline): Likewise.
29192 (grub_script_lexer_refs): Likewise.
29193 (script): Likewise.
29194 (newscript): Likewise.
29195 (record): Likewise.
29196 (recording): Likewise.
29197 (recordpos): Likewise.
29198 (recordlen): Likewise.
29199 (grub_script_lexer_init): Return the state instead of setting
29200 global variables.
29201 (grub_script_lexer_ref): Use the newly added argument for state
29202 instead of globals.
29203 (grub_script_lexer_deref): Likewise.
29204 (grub_script_lexer_record_start): Likewise.
29205 (grub_script_lexer_record_stop): Likewise.
29206 (recordchar): Likewise.
29207 (nextchar): Likewise.
29208 (grub_script_yylex2): Likewise.
29209 (grub_script_yylex): Likewise.
29210 (grub_script_yyerror): Likewise.
29211
29212 * normal/parser.y (func_mem): Removed variable.
29213 (menu_entry): Likewise.
29214 (err): Likewise.
29215 (%lex-param): New parser option.
29216 (%parse-param): Likewise.
29217 (script): Always return the AST.
29218 (argument): Pass the state around.
29219 (arguments): Likewise.
29220 (grubcmd): Likewise.
29221 (commands): Likewise.
29222 (function): Likewise.
29223 (menuentry): Likewise.
29224 (if_statement): Likewise.
29225 (if): Likewise.
29226
29227 * normal/script.c (grub_script_memused): Removed variable.
29228 (grub_script_parsed): Likewise.
29229 (grub_script_malloc): Added a state argument. Use that instead of
29230 global variables.
29231 (grub_script_mem_record): Likewise.
29232 (grub_script_mem_record_stop): Likewise.
29233 (grub_script_arg_add): Likewise.
29234 (grub_script_add_arglist): Likewise.
29235 (grub_script_create_cmdline): Likewise.
29236 (grub_script_create_cmdif): Likewise.
29237 (grub_script_create_cmdmenu): Likewise.
29238 (grub_script_add_cmd): Likewise.
29239 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 29240
e2a8c904 292412006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 29242
29243 * normal/command.c (grub_command_init): Remove the title command.
29244
29245 * normal/lexer.c (grub_script_yylex): Renamed from this...
29246 (grub_script_yylex2): ... to this.
29247 (grub_script_yylex): New function. Temporary
29248 introduced to filter some tokens.
29249 (grub_script_yyerror): Print a newline.
29250
29251 * normal/main.c (read_config_file): Output information about the
29252 lines that contain errors. Wait for a key after all lines have
29253 been processed. Don't return an empty menu.
29254
29255 * normal/parser.y (func_mem): Don't initialize.
29256 (menu_entry): Likewise.
29257 (err): New variable.
29258 (script): Don't return anything when an error was encountered.
29259 (ws, returns): Removed rules.
29260 (argument): Disabled concatenated variable support.
29261 (arguments): Remove explicit separators.
29262 (grubcmd): Likewise.
29263 (function): Likewise.
29264 (menuentry): Likewise.
29265 (if): Likewise.
29266 (commands): Likewise. Add error handling.
29267
29268 * normal/script.c (grub_script_create_cmdline): If
29269 `grub_script_parsed' is 0, assume the parser encountered an error.
29270
c9a86192 292712006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
29272
29273 * configure.ac: Add support for EFI. Fix the typo
29274 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
29275
70f3b243 292762006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
29277
29278 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
29279 foreign multibyte characters should be shown correctly.
29280
65f201ad 292812006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
29282
29283 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
29284 calculation.
29285 (read_config_file): Made it to close file before returning.
29286
b4b93674 292872006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
29288
29289 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
29290 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
29291 video/i386/pc/vbefill.c.
29292
29293 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
29294 video/i386/pc/vbefill.c.
29295
29296 * include/grub/video.h (grub_video_blit_format): New enum.
29297 (grub_video_mode_info): Added new member blit_format.
29298 (grub_video_get_blit_format): New function prototype.
29299
29300 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
29301 function prototype.
29302 (grub_video_vbe_map_rgb): Likewise.
29303 (grub_video_vbe_unmap_color): Likewise.
29304
29305 * include/grub/i386/pc/vbeblit.h: New file.
29306
29307 * include/grub/i386/pc/vbefill.h: New file.
29308
29309 * video/video.c (grub_video_get_blit_format): New function.
29310 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
29311 (grub_video_vbe_map_rgb): Likewise.
29312 (grub_video_vbe_unmap_color): Likewise.
29313
29314 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
29315 optimized fills.
29316 (grub_video_vbe_blit_render_target): Changed to use more optimized
29317 blits.
29318 (grub_video_vbe_setup): Added detection for optimized settings.
29319 (grub_video_vbe_create_render_target): Likewise.
29320
29321 * video/i386/pc/vbeblit.c: New file.
29322
29323 * video/i386/pc/vbefill.c: New file.
29324
c2379b9c 293252006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
29326
29327 * font/manager.c (grub_font_get_glyph): Removed font fixup from
29328 here...
29329
29330 * util/unifont2pff.rb: ... and moved it to here. Improved argument
29331 parsing to support both hex and dec ranges. If filename was missing
29332 show usage information.
29333
bd0d7896 293342006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
29335
29336 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
29337 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
29338
29339 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
29340 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
29341 (video_mod_SOURCES): Added.
29342 (video_mod_CFLAGS): Likewise.
29343 (video_mod_LDFLAGS): Likewise.
29344 (gfxterm_mod_SOURCES): Likewise.
29345 (gfxterm_mod_CFLAGS): Likewise.
29346 (gfxterm_mod_LDFLAGS): Likewise.
29347 (videotest_mod_SOURCES): Likewise.
29348 (videotest_mod_CFLAGS): Likewise.
29349 (videotest_mod_LDFLAGS): Likewise.
29350 (vesafb_mod_SOURCES): Removed.
29351 (vesafb_mod_CFLAGS): Likewise.
29352 (vesafb_mod_LDFLAGS): Likewise.
29353 (vga_mod_SOURCES): Likewise.
29354 (vga_mod_CFLAGS): Likewise.
29355 (vga_mod_LDFLAGS): Likewise.
29356
29357 * commands/videotest.c: New file.
29358
29359 * font/manager.c (fill_with_default_glyph): Modified to use
29360 grub_font_glyph.
29361 (grub_font_get_glyph): Likewise.
29362 (fontmanager): Renamed from this...
29363 (font_manager): ... to this.
29364
29365 * include/grub/font.h (grub_font_glyph): Added new structure.
29366 (grub_font_get_glyph): Modified to use grub_font_glyph.
29367
29368 * include/grub/misc.h (grub_abs): Added as inline function.
29369
29370 * include/grub/video.h: New file.
29371
29372 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
29373 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
29374 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
29375 (grub_vbe_get_controller_info): Renamed from this...
29376 (grub_vbe_bios_get_controller_info): ... to this.
29377 (grub_vbe_get_mode_info): Renamed from this...
29378 (grub_vbe_bios_get_mode_info): ... to this.
29379 (grub_vbe_set_mode): Renamed from this...
29380 (grub_vbe_bios_set_mode): ... to this.
29381 (grub_vbe_get_mode): Renamed from this...
29382 (grub_vbe_bios_get_mode): ... to this.
29383 (grub_vbe_set_memory_window): Renamed from this...
29384 (grub_vbe_bios_set_memory_window): ... to this.
29385 (grub_vbe_get_memory_window): Renamed from this...
29386 (grub_vbe_bios_get_memory_window): ... to this.
29387 (grub_vbe_set_scanline_length): Renamed from this...
29388 (grub_vbe_set_scanline_length): ... to this.
29389 (grub_vbe_get_scanline_length): Renamed from this...
29390 (grub_vbe_bios_get_scanline_length): ... to this.
29391 (grub_vbe_set_display_start): Renamed from this...
29392 (grub_vbe_bios_set_display_start): ... to this.
29393 (grub_vbe_get_display_start): Renamed from this...
29394 (grub_vbe_bios_get_display_start): ... to this.
29395 (grub_vbe_set_palette_data): Renamed from this...
29396 (grub_vbe_bios_set_palette_data): ... to this.
29397 (grub_vbe_set_pixel_rgb): Removed.
29398 (grub_vbe_set_pixel_index): Likewise.
29399
29400 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
29401 from this...
29402 (grub_vbe_bios_get_controller_info): ... to this.
29403 (grub_vbe_get_mode_info): Renamed from this...
29404 (grub_vbe_bios_get_mode_info): ... to this.
29405 (grub_vbe_set_mode): Renamed from this...
29406 (grub_vbe_bios_set_mode): ... to this.
29407 (grub_vbe_get_mode): Renamed from this...
29408 (grub_vbe_bios_get_mode): ... to this.
29409 (grub_vbe_set_memory_window): Renamed from this...
29410 (grub_vbe_bios_set_memory_window): ... to this.
29411 (grub_vbe_get_memory_window): Renamed from this...
29412 (grub_vbe_bios_get_memory_window): ... to this.
29413 (grub_vbe_set_scanline_length): Renamed from this...
29414 (grub_vbe_set_scanline_length): ... to this.
29415 (grub_vbe_get_scanline_length): Renamed from this...
29416 (grub_vbe_bios_get_scanline_length): ... to this.
29417 (grub_vbe_set_display_start): Renamed from this...
29418 (grub_vbe_bios_set_display_start): ... to this.
29419 (grub_vbe_get_display_start): Renamed from this...
29420 (grub_vbe_bios_get_display_start): ... to this.
29421 (grub_vbe_set_palette_data): Renamed from this...
29422 (grub_vbe_bios_set_palette_data): ... to this.
29423 (grub_vbe_bios_get_controller_info): Fixed problem with registers
29424 getting corrupted after calling it. Added more pushes and pops.
29425 (grub_vbe_bios_set_mode): Likewise.
29426 (grub_vbe_bios_get_mode): Likewise.
29427 (grub_vbe_bios_get_memory_window): Likewise.
29428 (grub_vbe_bios_set_scanline_length): Likewise.
29429 (grub_vbe_bios_get_scanline_length): Likewise.
29430 (grub_vbe_bios_get_display_start): Likewise.
29431 (grub_vbe_bios_set_palette_data): Likewise.
29432
29433 * normal/cmdline.c (cl_set_pos): Refresh the screen.
29434 (cl_insert): Likewise.
29435 (cl_delete): Likewise.
29436
29437 * term/gfxterm.c: New file.
29438
29439 * term/i386/pc/vesafb.c: Removed file.
29440
29441 * video/video.c: New file.
29442
29443 * video/i386/pc/vbe.c (real2pm): Added new function.
29444 (grub_video_vbe_draw_pixel): Likewise.
29445 (grub_video_vbe_get_video_ptr): Likewise.
29446 (grub_video_vbe_get_pixel): Likewise
29447 (grub_video_vbe_init): Likewise.
29448 (grub_video_vbe_fini): Likewise.
29449 (grub_video_vbe_setup): Likewise.
29450 (grub_video_vbe_get_info): Likewise.
29451 (grub_video_vbe_set_palette): Likewise.
29452 (grub_video_vbe_get_palette): Likewise.
29453 (grub_video_vbe_set_viewport): Likewise.
29454 (grub_video_vbe_get_viewport): Likewise.
29455 (grub_video_vbe_map_color): Likewise.
29456 (grub_video_vbe_map_rgb): Likewise.
29457 (grub_video_vbe_map_rgba): Likewise.
29458 (grub_video_vbe_unmap_color): Likewise.
29459 (grub_video_vbe_fill_rect): Likewise.
29460 (grub_video_vbe_blit_glyph): Likewise.
29461 (grub_video_vbe_blit_bitmap): Likewise.
29462 (grub_video_vbe_blit_render_target): Likewise.
29463 (grub_video_vbe_scroll): Likewise.
29464 (grub_video_vbe_swap_buffers): Likewise.
29465 (grub_video_vbe_create_render_target): Likewise.
29466 (grub_video_vbe_delete_render_target): Likewise.
29467 (grub_video_vbe_set_active_render_target): Likewise.
29468 (grub_vbe_set_pixel_rgb): Remove function.
29469 (grub_vbe_set_pixel_index): Likewise.
29470 (index_color_mode): Remove static variable.
29471 (active_mode): Likewise.
29472 (framebuffer): Likewise.
29473 (bytes_per_scan_line): Likewise.
29474 (grub_video_vbe_adapter): Added new static variable.
29475 (framebuffer): Likewise.
29476 (render_target): Likewise.
29477 (initial_mode): Likewise.
29478 (mode_in_use): Likewise.
29479 (mode_list): Likewise.
29480
5f97350b 294812006-03-10 Marco Gerards <marco@gnu.org>
29482
29483 * configure.ac (AC_INIT): Bumped to 1.93.
29484
29485 * DISTLIST: Added `include/grub/hfs.h'.
29486
a3c5c6f8 294872006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
29488
29489 * boot/i386/pc/boot.S (general_error): Before looping, try INT
29490 18H, which might help the BIOS falling back to next boot media.
29491
6de53d26 294922006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
29493
29494 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
29495 Poe Chen <poe.poechen@gmail.com>.
29496
77c4a393 294972006-01-17 Marco Gerards <marco@gnu.org>
29498
29499 * include/grub/normal.h: Include <grub/script.h>.
29500 (grub_command_list): Removed struct.
29501 (grub_command_list_t): Removed type.
29502 (grub_menu_entry): Remove members `num' and `command_list'. Add
29503 members `commands' and `sourcecode'.
29504 * include/grub/script.h: Add inclusion guards.
29505 (grub_script_cmd_menuentry): New struct.
29506 (grub_script_execute_menuentry): New prototype.
29507 (grub_script_lexer_record_start): Likewise.
29508 (grub_script_lexer_record_stop): Likewise.
29509 * normal/execute.c (grub_script_execute_menuentry): New function.
29510 * normal/lexer.c (record, recording, recordpos, recordlen): New
29511 variables.
29512 (grub_script_lexer_record_start): New function.
29513 (grub_script_lexer_record_stop): Likewise.
29514 (recordchar): Likewise.
29515 (nextchar): Likewise.
29516 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
29517 2048 as the buffer size. Add the tokens `menuentry' and `@'.
29518 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
29519 (current_menu): New variable.
29520 (free_menu): Mainly rewritten.
29521 (grub_normal_menu_addentry): New function.
29522 (read_config_file): Rewritten.
29523 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 29524 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 29525 the menu entry.
29526 (run): Mainly rewritten.
29527 * normal/parser.y (menu_entry): New variable.
29528 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
29529 (menuentry): New rule.
29530 (command): Add `menuentry'.
29531 (if_statement): Allow additional returns before `fi'.
29532 * normal/script.c (grub_script_create_cmdmenu): New function.
29533
144f1f98 295342006-01-03 Marco Gerards <marco@gnu.org>
29535
29536 * INSTALL: GNU Bison is required.
29537 * configure.ac: Rewritten the test to detect Bison.
29538 * Makefile.in (YACC): New variable. Reported by Xun Sun
29539 <xun.sun.cn@gmail.com>.
29540
af4b2d89 295412006-01-03 Marco Gerards <marco@gnu.org>
29542
29543 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
29544 the HFS+ filesystem to filesystem blocks.
29545 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
29546 GCC warning is silenced.
29547
15643b71 295482006-01-03 Marco Gerards <marco@gnu.org>
29549
29550 * partmap/apple.c (apple_partition_map_iterate): Convert the data
29551 read from disk from big endian to host byte order.
29552
00905879 295532006-01-03 Hollis Blanchard <hollis@penguinppc.org>
29554
29555 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
29556 documentation.
29557 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
29558 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
29559 embedded HFS+ filesystem.
29560 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
29561 (grub_hfs_sblock): Move from here...
29562 * include/grub/hfs.h: To here... New file.
29563 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
29564 documentation.
29565 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
29566 New macros.
29567 (grub_hfsplus_volheader): Change type of member `magic' to
29568 `grub_uint16_t'.
29569 (grub_hfsplus_data): Add new member `embedded_offset'.
29570 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
29571 returned block.
29572 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
29573 Calculate the offset.
29574
8899bc3e 295752005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29576
29577 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
29578 Removed.
29579 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
29580
ae8c0277 295812005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29582
29583 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
29584 ENV->NAME is NULL after allocating ENV->VALUE.
29585
07084456 295862005-12-25 Marco Gerards <marco@gnu.org>
29587
29588 * kern/env.c (grub_env_set): Rewritten the error handling code.
29589
4750f5f1 295902005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29591
29592 * geninit.sh: Made more robust, and more portable.
29593
50214199 295942005-12-25 Marco Gerards <marco@gnu.org>
29595
29596 Add support for Apple HFS+ filesystems.
f19dbdb7 29597
50214199 29598 * fs/hfsplus.c: New file.
29599
29600 * DISTLIST: Added `fs/hfsplus.c'.
29601
29602 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
29603 (hfsplus_mod_SOURCES): New variable.
29604 (hfsplus_mod_CFLAGS): Likewise.
29605 (hfsplus_mod_LDFLAGS): Likewise.
29606 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
29607 (grub_setup_SOURCES): Likewise.
29608 (grub_mkdevicemap_SOURCES): Likewise.
29609 (grub_emu_SOURCES): Likewise.
29610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29611
29612 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
29613
29614 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
29615
befaed6c 296162005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29617
29618 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
29619 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
29620 include/grub/parser.h, include/grub/script.h, kern/parser.c,
29621 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
29622 normal/lexer.c, normal/parser.y, normal/script.c, and
29623 partmap/gpt.c.
29624 Removed kern/sparc64/cache.c.
29625
29626 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
29627 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
29628 grub_emu_init.c.
29629
29630 * configure.ac (AC_INIT): Bumped to 1.92.
29631
6a124103 296322005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
29633
29634 * kern/err.c (grub_error_push): Added new function to support error
29635 stacks.
29636 (grub_error_pop): Likewise.
29637 (grub_error_stack_items): New local variable to support error stacks.
29638 (grub_error_stack_pos): Likewise.
29639 (grub_error_stack_assert): Likewise.
29640 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
29641 stack depth.
29642 (grub_print_error): Added support to print errors from error stack.
29643
29644 * include/grub/err.h (grub_error_push): Added function prototype.
29645 (grub_error_pop): Likewise.
29646
be973c1b 296472005-12-09 Hollis Blanchard <hollis@penguinppc.org>
29648
29649 * configure.ac: Accept `powerpc64' as host_cpu.
29650 (amd64): Rename to `biarch32'.
29651
29652 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
29653 non-cacheline-aligned addresses.
29654
29655 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
29656 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
29657 if `size' is non-zero.
29658
b04216ab 296592005-12-03 Marco Gerards <mgerards@xs4all.nl>
29660
29661 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
29662 and `cd' to make sure the filename is not prefixed with a
29663 directory name.
29664 (pkgdata_MODULES): Add `gpt.mod'.
29665 (gpt_mod_SOURCES): New variable.
29666 (gpt_mod_CFLAGS): Likewise.
29667 (gpt_mod_LDFLAGS): Likewise.
29668
29669 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
29670
29671 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
29672 New macro.
29673
29674 * partmap/gpt.c: New file.
29675
29676 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
29677 GPT partition map is detected.
29678
41730ed9 296792005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
29680
29681 * commands/i386/pc/play.c: New file.
29682 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
29683 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
29684 macros.
f19dbdb7 29685
95dc3643 296862005-11-27 Marco Gerards <mgerards@xs4all.nl>
29687
29688 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
29689 ((unused))' to silence gcc warning.
29690
1569ec51 296912005-11-26 Hollis Blanchard <hollis@penguinppc.org>
29692
29693 * configure.ac: Correct `AC_PROG_YACC' test.
29694
9abde152 296952005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29696
29697 * util/powerpc/ieee1275/grub-install.in: Run the mount point
29698 check before installing files.
29699
44b83271 297002005-11-22 Mike Small <smallm@panix.com>
29701
29702 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
29703 number regex so multidigit numbers are recognized correctly.
29704
297052005-11-22 Mike Small <smallm@panix.com>
29706
29707 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
29708 debugging message before attempting to claim memory.
29709 (grub_rescue_cmd_initrd): Add a claim debugging message and try
29710 multiple addresses in case of failure.
29711
9c12956b 297122005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29713
29714 * term/tparm.c (get_space): Remove empty `if' statement.
29715
29716 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
29717
29718 * kern/parser.c (check_varstate): Rename `state' to 's'.
29719
aeaf81d9 297202005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29721
29722 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
29723 variable definitions to the beginning of each function. Sort stack
29724 variables by size.
29725 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
29726 `buf' argument to `char *'.
29727
79bbb63f 297282005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29729
29730 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
29731 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 29732 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 29733 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
29734 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
29735 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
29736 configfile.mod, search.mod, gzio.mod and test.mod.
29737 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
29738 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
29739 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
29740 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
29741 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
29742 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
29743 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
29744 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
29745 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
29746 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
29747 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29748 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29749 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
29750 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
29751 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
29752 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
29753 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29754 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
29755 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
29756 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
29757 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
29758 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
29759 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
29760
29761 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
29762 `grep --include'.
29763 (pkgdata_MODULES): Add test.mod.
29764
233b1628 297652005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29766
29767 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
29768 appending to variables with "+=".
29769 (PModule): Use full pathname to generate *.lst filenames.
29770
29771 * Makefile.in: Fixed list rules moved from genmk.rb.
29772 (.DELETE_ON_ERROR): New special target.
29773 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
29774
29775 * conf/i386-pc.rmk: Include conf/common.mk.
29776 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 29777 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 29778 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
29779 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
29780 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
29781 configfile.mod, search.mod, gzio.mod and test.mod.
29782 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
29783 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
29784 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
29785 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
29786 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
29787 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
29788 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
29789 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
29790 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
29791 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
29792 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29793 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29794 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
29795 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
29796 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
29797 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
29798 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29799 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
29800 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
29801 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
29802 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
29803 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
29804 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
29805 here...
29806 * conf/common.rmk: ... to here. New file.
29807
29808 * conf/common.mk: New file.
29809
16f820c8 298102005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
29811
29812 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
29813 (grub_script.tab.c): ... here.
29814
29815 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
29816 (grub_script.tab.c): ... here.
29817
29818 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
29819 (grub_script.tab.c): ... here.
29820
29821 * normal/command.c (grub_command_find): Fixed a memory leak of
29822 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
29823
63ba1554 298242005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29825
29826 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
29827 "@" which marks the start of a comment on ARM.
29828 (VARIABLE): Likewise.
29829
7f67dc13 298302005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29831
79bbb63f 29832 Add support for Linux/ADFS partition tables.
7f67dc13 29833
29834 * partmap/acorn.c: New file.
29835
29836 * include/grub/acorn_filecore.h: Likewise.
29837
29838 * DISTLIST: Added `partmap/acorn.c' and
29839 `include/grub/acorn_filecore.h'.
f19dbdb7 29840
7f67dc13 29841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29842 `partmap/acorn.c'.
29843 (pkgdata_MODULES): Add `acorn.mod'.
29844 (acorn_mod_SOURCES): New variable.
29845 (acorn_mod_CFLAGS): Likewise.
29846
29847 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29848 `partmap/acorn.c'.
29849 (pkgdata_MODULES): Add `acorn.mod'.
29850 (acorn_mod_SOURCES): New variable.
29851 (acorn_mod_CFLAGS): Likewise.
29852
29853 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
29854 (pkgdata_MODULES): Add `acorn.mod'.
29855 (acorn_mod_SOURCES): New variable.
29856 (acorn_mod_CFLAGS): Likewise.
29857 (acorn_mod_LDFLAGS): Likewise.
29858
29859 * include/types.h (grub_disk_addr_t): New typedef.
29860
6d099807 298612005-11-13 Marco Gerards <mgerards@xs4all.nl>
29862
29863 * geninit.sh: New file.
29864
29865 * geninitheader.sh: Likewise.
29866
29867 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
29868 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
29869 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
29870 * commands/configfile.c (grub_configfile_init)
29871 (grub_configfile_fini): Likewise.
29872 * commands/default.c (grub_default_init, grub_default_fini):
29873 Likewise.
29874 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
29875 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
29876 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
29877 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
29878 Likewise.
29879 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
29880 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
29881 Likewise.
29882 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 29883 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 29884 Likewise.
29885 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
29886 Likewise.
fe6b695a 29887 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 29888 Likewise.
29889 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
29890 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
29891 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
29892 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
29893 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
29894 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
29895 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
29896 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
29897 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
29898 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
29899 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
29900 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
29901 * partmap/amiga.c (grub_amiga_partition_map_init)
29902 (grub_amiga_partition_map_fini): Likewise.
29903 * partmap/apple.c (grub_apple_partition_map_init)
29904 (grub_apple_partition_map_fini): Likewise.
29905 * partmap/pc.c (grub_pc_partition_map_init)
29906 (grub_pc_partition_map_fini): Likewise.
29907 * partmap/sun.c (grub_sun_partition_map_init,
29908 grub_sun_partition_map_fini): Likewise.
29909 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
29910 Likewise.
29911
29912 * util/grub-emu.c: Include <grub_modules_init.h>.
29913 (main): Don't initialize and de-initialize any modules directly,
29914 use `grub_init_all' and `grub_fini_all' instead.
29915
29916 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
29917 `grub_vesafb_mod_init'.
29918 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
29919 all users.
29920 * term/i386/pc/vga.c (grub_vga_init): Renamed to
29921 `grub_vga_mod_init'. Updated all users.
29922 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 29923
6d099807 29924 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
29925 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
29926 rules.
29927
29928 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
29929 Generate a function to initialize the module in utilities.
29930 Updated all callers.
29931 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
29932 initialize the module in utilities. Updated all callers.
29933
9046bcf0 299342005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29935
29936 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
29937 escape sequence and a literal ^L to clear the screen.
29938
29939 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
29940 when returning from Open Firmware.
29941
d13ea639 299422005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29943
29944 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
29945 (grub_ofconsole_height): Likewise.
29946 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
29947 manually insert a '\n'.
29948 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
29949 `grub_ofconsole_height'. Return early if these are already set.
29950
a8fcf206 299512005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
29952
29953 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29954 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
29955 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
29956 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
29957 and `normal/script.c'.
29958 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29959 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29960 (test_mod_SOURCES): New variable.
29961 (test_mod_CFLAGS): Likewise.
29962 (test_mod_LDFLAGS): Likewise.
29963 (pkgdata_MODULES): Add `test.mod'.
29964 (grub_script.tab.c): New rule.
29965 (grub_script.tab.h): Likewise.
29966
b6b32745 299672005-11-07 Marco Gerards <mgerards@xs4all.nl>
29968
29969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29970 `commands/test.c', `normal/execute.c', `normal/lexer.c',
29971 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29972 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29973 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29974 (test_mod_SOURCES): New variable.
29975 (test_mod_CFLAGS): Likewise.
29976 (pkgdata_MODULES): Add `test.mod'.
29977 (grub_script.tab.c): New rule.
29978 (grub_script.tab.h): Likewise.
29979
daac212a 299802005-11-06 Marco Gerards <mgerards@xs4all.nl>
29981
29982 Add initial scripting support.
29983
29984 * commands/test.c: New file.
29985 * include/grub/script.h: Likewise.
29986 * normal/execute.c: Likewise.
29987 * normal/function.c: Likewise.
29988 * normal/lexer.c: Likewise.
29989 * normal/parser.y: Likewise.
29990 * normal/script.c: Likewise.
29991
29992 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 29993
daac212a 29994 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
29995 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
29996 `normal/function.c' and `normal/script.c'.
29997 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29998 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 29999 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
30000 variables.
daac212a 30001 (pkgdata_MODULES): Add `test.mod'.
30002 (grub_script.tab.c): New rule.
30003 (grub_script.tab.h): Likewise.
30004
30005 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
30006
30007 * include/grub/normal.h (grub_test_init): New prototype.
30008 (grub_test_fini): Likewise.
f19dbdb7 30009
daac212a 30010 * normal/command.c: Include <grub/script.h>.
30011 (grub_command_execute): Rewritten.
f19dbdb7 30012
daac212a 30013 * util/grub-emu.c (main): Call `grub_test_init' and
30014 `grub_test_fini'.
30015
77500b2b 300162005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30017
30018 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
30019 to 0.
30020 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
30021 there are no pending characters.
30022
e45deb9e 300232005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30024
30025 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
30026 `grub_strndup' to drop device arguments. Replace unnecessary
30027 `grub_strndup' with `grub_strdup'.
30028
4ce32619 300292005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30030
30031 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
30032 `debug' environment variable has been set.
30033
300342005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 30035
4ce32619 30036 * Makefile.in (install-local): Use $(DATA).
30037 (uninstall): Likewise.
30038 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
30039 (sbin_UTILITIES): ... to here.
30040 (sbin_SCRIPTS): New variable.
30041 (grub_install_SOURCES): New variable.
30042 * util/powerpc/ieee1275/grub-install.in: New file.
30043 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
30044 variable.
30045 (add_segments): Call `grub_util_get_path'.
30046
25fe6f03 300472005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
30048
30049 From Timothy Baldwin:
30050 * commands/ls.c (grub_ls_list_files): Close FILE with
30051 grub_file_close.
30052 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
30053
04ccf3ec 300542005-10-24 Marco Gerards <mgerards@xs4all.nl>
30055
30056 * include/grub/parser.h: New file.
30057
30058 * kern/parser.c: Likewise.
30059
30060 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
30061 (grub_setup_SOURCES): Likewise.
30062 (grub_probefs_SOURCES): Likewise.
30063 (grub_emu_SOURCES): Likewise.
30064 (kernel_img_HEADERS): Add `parser.h'.
30065
30066 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30067 (grub_emu_SOURCES): Add `kern/parser.c'.
30068 (grubof_SOURCES): Likewise.
30069
30070 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30071 (grubof_SOURCES): Add `kern/parser.c'.
30072
30073 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
30074
30075 * kern/misc.c (grub_split_cmdline): Removed function.
30076
30077 * kern/rescue.c: Include <grub/parser.h>.
30078 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
30079 of `grub_split_cmdline'.
30080
30081 * normal/command.c: Include <grub/parser.h>.
30082 (grub_command_execute): Use `grub_parser_split_cmdline' instead
30083 of `grub_split_cmdline'.
30084
30085 * normal/completion.c: Include <grub/parser.h>.
30086 (cmdline_state): New variable.
30087 (iterate_dir): End the filename with a quote depending on the
30088 command line state.
30089 (get_state): new function.
30090 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
30091 split the arguments and determine the current argument. When the
30092 argument string is not quoted, escape all spaces.
30093
6d8f4b0e 300942005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30095
30096 * normal/sparc64/setjmp.S: New file.
30097
15cf03ed 300982005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30099
30100 * include/grub/sparc64/libgcc.h: New file.
30101 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
30102 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
30103 normal/sparc64/setjmp.c.
30104
03e8661a 301052005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30106
30107 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
30108 * kern/sparc64/cache.S: New file.
30109 * kern/sparc64/cache.c: Removed.
30110 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
30111 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
30112 -mtune=ultrasparc.
30113 (COMMON_LDFLAGS): Add -melf64_sparc.
30114 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
30115 (grubof_SOURCES): Use cache.S instead of cache.c.
30116 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
30117 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
30118 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
30119 commented though.
30120 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
30121 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
30122 (linux_mod_CFLAGS): Commented out.
30123 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
30124 out because module isn't built.
30125 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
30126 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
30127 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
30128 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
30129 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
30130 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
30131 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
30132 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
30133 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
30134 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
30135 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30136 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30137 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
30138 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
30139
34eeec8a 301402005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
30141
30142 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
30143 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
30144 longer, because HFS should not be used on PC.
30145
708367a3 301462005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30147
30148 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
30149 consistently within the loop.
30150
6fa1251a 301512005-10-15 Marco Gerards <mgerards@xs4all.nl>
30152
30153 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
30154 directory can not be read.
30155
4801580b 301562005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30157
30158 * configure.ac (AC_INIT): Increase the version number to 1.91.
30159
30160 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
30161 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
30162 term/i386/pc/serial.c.
30163
219ad426 301642005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30165
30166 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
30167 file size must be permitted.
30168
30169 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
30170 between %ah and %al.
30171
688e5699 301722005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
30173
30174 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
30175 grub_uint64_t.
30176 Call the hook with a NUL-terminated filename.
30177 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
30178 grub_cpu_to_be32.
30179
30180 * kern/term.c (cursor_state): New variable.
30181 (grub_term_set_current): Reset the cursor state on a new
30182 terminal.
30183 (grub_setcursor): Rewritten to use CURSOR_STATE.
30184 (grub_getcursor): New function.
30185
30186 * include/grub/term.h (grub_getcursor): New prototype.
30187
30188 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
30189 integers on ARM. Reported by Timothy Baldwin
30190 <T.E.Baldwin99@members.leeds.ac.uk>.
30191
bb34586c 301922005-10-11 Marco Gerards <mgerards@xs4all.nl>
30193
30194 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
30195 allocated.
30196 (grub_sfs_dir): Likewise.
30197
9a909877 301982005-10-09 Marco Gerards <mgerards@xs4all.nl>
30199
30200 Add support for the SFS filesystem.
30201
30202 * fs/sfs.c: New file.
30203
30204 * DISTLIST: Added `fs/sfs.c'.
30205
30206 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
30207 (grub_probefs_SOURCES): Likewise.
30208 (grub_emu_SOURCES): Likewise.
30209 (pkgdata_MODULES): Add `sfs.mod'.
30210 (sfs_mod_SOURCES): New variable.
30211 (sfs_mod_CFLAGS): Likewise.
30212 (sfs_mod_LDFLAGS): Likewise.
30213
30214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
30215 (pkgdata_MODULES): Add `sfs.mod'.
30216 (sfs_mod_SOURCES): New variable.
30217 (sfs_mod_CFLAGS): Likewise.
30218
30219 * util/grub-emu.c (main): Call `grub_sfs_init' and
30220 `grub_sfs_fini'.
30221
30222 * include/grub/fs.h (grub_sfs_init): New prototype.
30223 (grub_sfs_fini): Likewise.
30224
57bdbde3 302252005-10-07 Marco Gerards <mgerards@xs4all.nl>
30226
30227 Add support for the AFFS filesystem.
30228
30229 * fs/affs.c: New file.
30230
30231 * DISTLIST: Added `fs/affs.c'.
30232
30233 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
30234 (grub_probefs_SOURCES): Likewise.
30235 (grub_emu_SOURCES): Likewise.
30236 (pkgdata_MODULES): Add `affs.mod'.
30237 (affs_mod_SOURCES): New variable.
30238 (affs_mod_CFLAGS): Likewise.
30239 (affs_mod_LDFLAGS): Likewise.
30240
30241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
30242 (pkgdata_MODULES): Add `affs.mod'.
30243 (affs_mod_SOURCES): New variable.
30244 (affs_mod_CFLAGS): Likewise.
30245
30246 * util/grub-emu.c (main): Call `grub_affs_init' and
30247 `grub_affs_fini'.
30248
30249 * include/grub/fs.h (grub_affs_init): New prototype.
30250 (grub_affs_fini): Likewise.
30251
047b67e0 302522005-10-01 Marco Gerards <mgerards@xs4all.nl>
30253
30254 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
30255
59b8208a 302562005-10-01 Marco Gerards <mgerards@xs4all.nl>
30257
30258 * configure.ac: Accept `x86_64' as host_cpu. In that case add
30259 `-m32' to CFLAGS.
30260
30261 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
30262 linking.
f19dbdb7 30263
59b8208a 30264 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
30265 (COMMON_LDFLAGS): New variable.
30266 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
30267 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
30268 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
30269 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
30270 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
30271 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
30272 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
30273 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
30274 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
30275 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
30276 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
30277 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
30278 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
30279 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
30280 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
30281 variables.
30282 (normal_mod_ASFLAGS): Add `-m32'.
30283
30284 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
30285 (grub_host_size_t, grub_host_ssize_t): New types.
30286 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 30287 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 30288 `GRUB_HOST_SIZEOF_VOID_P'.
30289
30290 * include/grub/kernel.h (struct grub_module_header): Type of
30291 member offset changed to `grub_host_off_t'. Type of member size
30292 changed to `grub_host_size_t'.
30293 (struct grub_module_info): Type of member offset changed to
30294 `grub_host_off_t'. Type of member size changed to
30295 `grub_host_size_t'.
30296
b4093103 302972005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
30298
30299 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 30300
b4093103 30301 * kern/i386/pc/startup.S (multiboot_header): New label.
30302 (multiboot_entry): Likewise.
30303 (multiboot_trampoline): Likewise.
30304
30305 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30306 Increased to 0x4A0.
30307
30308 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
30309 put parentheses after a question mark.
30310 [!GRUB_UTIL] (my_mod): New variable.
30311
30312 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
30313
b2499b29 303142005-09-28 Marco Gerards <mgerards@xs4all.nl>
30315
30316 Adds support for the XFS filesystem. Btrees are not supported
30317 yet.
30318
30319 * fs/xfs.c: New file.
30320
30321 * DISTLIST: Added `fs/xfs.c'.
30322
30323 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
30324 (grub_probefs_SOURCES): Likewise.
30325 (grub_emu_SOURCES): Likewise.
30326 (pkgdata_MODULES): Add `xfs.mod'.
30327 (xfs_mod_SOURCES): New variable.
30328 (xfs_mod_CFLAGS): Likewise.
30329
30330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
30331 (pkgdata_MODULES): Add `xfs.mod'.
30332 (xfs_mod_SOURCES): New variable.
30333 (xfs_mod_CFLAGS): Likewise.
30334
30335 * util/grub-emu.c (main): Call `grub_xfs_init' and
30336 `grub_xfs_fini'.
30337
30338 * include/grub/fs.h (grub_xfs_init): New prototype.
30339 (grub_xfs_fini): Likewise.
30340
f19dbdb7 30341
83d37a62 303422005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
30343
30344 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
30345 color modes, allow greater than 16 colors to be configured as
30346 a default palette.
30347
47d2d65e 303482005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30349
30350 * normal/completion.c (complete_arguments): Add the qualifier
30351 const into OPTIONS.
30352
30353 From Omniflux <omniflux+lists@omniflux.com>:
30354 * include/grub/terminfo.h: New file.
30355 * include/grub/tparm.h: Likewise.
30356 * include/grub/i386/pc/serial.h: Likewise.
30357 * term/terminfo.c: Likewise.
30358 * term/tparm.c: Likewise.
30359 * term/i386/pc/serial.c: Likewise.
30360 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
30361 serial.mod.
30362 (terminfo_mod_SOURCES): New variable.
30363 (terminfo_mod_CFLAGS): Likewise.
30364 (serial_mod_SOURCES): Likewise.
30365 (serial_mod_CFLAGS): Likewise.
30366
48b671ff 303672005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
30368
30369 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
30370 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
30371 and kern/powerpc/ieee1275/cmain.c, respectively.
30372
30373 * boot/powerpc/ieee1275/crt0.S: Moved to ...
30374 * kern/powerpc/ieee1275/crt0.S: ... here.
30375
30376 * boot/powerpc/ieee1275/cmain.c: Moved to ...
30377 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 30378
48b671ff 30379 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
30380 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
30381 instead of boot/powerpc/ieee1275/crt0.S and
30382 boot/powerpc/ieee1275/cmain.c, respectively.
30383
30384 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
30385 sectors. It was not used anyway.
30386
09fc77a7 303872005-08-30 Hollis Blanchard <hollis@penguinppc.org>
30388
30389 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
30390 `unused parameter' warning.
30391
003789c7 303922005-08-30 Hollis Blanchard <hollis@penguinppc.org>
30393
30394 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
30395 function.
30396 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
30397 getcharwidth.
30398
67f44c86 303992005-08-28 Marco Gerards <metgerards@student.han.nl>
30400
30401 * include/grub/normal.h (enum grub_completion_type): Added
30402 `GRUB_COMPLETION_TYPE_ARGUMENT'.
30403
30404 * normal/cmdline.c (print_completion): Handle
30405 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
30406 * normal/menu_entry.c (store_completion): Likewise.
30407
30408 * normal/completion.c (complete_arguments): New function.
30409 (grub_normal_do_completion): Call `complete_arguments' when the
30410 current words start with a dash.
30411
0b5abe02 304122005-08-27 Marco Gerards <metgerards@student.han.nl>
30413
30414 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
30415 `gzio.mod' instead of `io.mod').
30416
d9864ee1 304172005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
30418
30419 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
30420 (DISTDIRS): Added io and video.
30421 Rewrite the search routine to make an output consistently.
30422
30423 * DISTLIST: Added conf/sparc64-ieee1275.mk,
30424 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
30425 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
30426 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
30427 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
30428 util/powerpc/ieee1275/misc.c.
f19dbdb7 30429
d9864ee1 30430 * include/grub/gzio.h: New file.
30431 * io/gzio.c: Likewise.
f19dbdb7 30432
d9864ee1 30433 * kern/file.c (grub_file_close): Call grub_device_close only if
30434 FILE->DEVICE is not NULL.
30435
30436 * include/grub/mm.h [!NULL] (NULL): New macro.
30437
30438 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
30439
30440 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
30441 (pkgdata_MODULES): Added gzio.mod.
30442 (gzio_mod_SOURCES): New variable.
30443 (gzio_mod_CFLAGS): Likewise.
30444
30445 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
30446 (pkgdata_MODULES): Added gzio.mod.
30447 (gzio_mod_SOURCES): New variable.
30448 (gzio_mod_CFLAGS): Likewise.
30449
30450 * commands/cat.c: Include grub/gzio.h.
30451 (grub_cmd_cat): Use grub_gzfile_open instead of
30452 grub_file_open.
f19dbdb7 30453
d9864ee1 30454 * commands/cmp.c: Include grub/gzio.h.
30455 (grub_cmd_cmp): Use grub_gzfile_open instead of
30456 grub_file_open.
30457
30458 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
30459 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
30460 grub_file_open.
30461 (grub_rescue_cmd_module): Likewise.
30462
fa46f4b5 304632005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30464
30465 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
30466 kern/sparc64/ieee1275/init.c because it contains _start.
30467 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
30468
e9211b5d 304692005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30470
30471 * configure.ac: Add support for sparc64 host with ieee1275
30472 firmware.
30473 * configure: Generated from configure.ac.
30474 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
30475 instead of int.
30476 (grub_ofdisk_read): Likewise.
30477 (grub_ofdisk_open): Use %p to print pointer values, and cast the
30478 pointers as (void *) to remove a warning.
30479 (grub_ofdisk_close): Likewise.
30480 (grub_ofdisk_read): Likewise.
30481 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
30482 returns, so make it return void to remove a warning.
30483 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
30484 Corresponding prototype change.
30485 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
30486 values, and cast the pointers as (void *) to remove a warning.
30487 (grub_mm_dump): Likewise.
30488 * conf/sparc64-ieee1275.mk: New file.
30489 * conf/sparc64-ieee1275.rmk: Likewise.
30490 * include/grub/sparc64/setjmp.h: Likewise.
30491 * include/grub/sparc64/types.h: Likewise.
30492 * include/grub/sparc64/ieee1275/console.h: Likewise.
30493 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30494 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30495 * include/grub/sparc64/ieee1275/time.h: Likewise.
30496 * kern/sparc64/cache.c: Likewise.
30497 * kern/sparc64/dl.c: Likewise.
30498 * kern/sparc64/ieee1275/init.c: Likewise.
30499 * kern/sparc64/ieee1275/openfw.c: Likewise.
30500
385c6a92 305012005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
30502
30503 * util/console.c (grub_ncurses_putchar): If C is greater than
30504 0x7f, set C to a question mark.
30505 (grub_ncurses_getcharwidth): New function.
30506 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
30507 getcharwidth.
30508
30509 * normal/menu.c (print_entry): Made aware of Unicode. First,
30510 convert TITLE to UCS-4, and predict the cursor position by
30511 grub_getcharwidth.
30512
30513 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
30514 const to SRC.
30515 * kern/misc.c (grub_utf16_to_utf8): Likewise.
30516
16ccb8b1 305172005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30518
30519 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
30520 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
30521 grub_strcat.
30522
30523 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
30524 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
30525 grub_strcpy and grub_strlen. Take it into account that a space
30526 character is inserted as a delimiter.
30527
6a85ce79 305282005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30529
30530 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 30531 invalid magic in the error.
6a85ce79 30532
30533 * commands/search.c: New file.
f19dbdb7 30534
6a85ce79 30535 * util/grub-emu.c (main): Call grub_search_init and
30536 grub_search_fini.
30537
30538 * kern/rescue.c (grub_rescue_print_disks): Removed.
30539 (grub_rescue_print_devices): New function.
30540 (grub_rescue_cmd_ls): Use grub_device_iterate with
30541 grub_rescue_print_devices instead of grub_disk_dev_iterate with
30542 grub_rescue_print_disks.
30543
30544 * kern/partition.c (grub_partition_iterate): Return the result of
30545 PARTMAP->ITERATE instead of GRUB_ERRNO.
30546
30547 * kern/device.c: Include grub/partition.h.
30548 (grub_device_iterate): New function.
30549
30550 * include/grub/partition.h (grub_partition_iterate): Return int
30551 instead of grub_err_t.
30552
30553 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
30554 prototype.
30555 [GRUB_UTIL] (grub_search_fini): Likewise.
30556
30557 * include/grub/device.h (grub_device_iterate): New prototype.
30558
30559 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30560 commands/search.c.
30561 (pkgdata_MODULES): Added search.mod.
30562 (search_mod_SOURCES): New variable.
30563 (search_mod_CFLAGS): Likewise.
30564
30565 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
30566 (pkgdata_MODULES): Added search.mod.
30567 (search_mod_SOURCES): New variable.
30568 (search_mod_CFLAGS): Likewise.
30569
30570 * commands/ls.c (grub_ls_list_disks): Renamed to ...
30571 (grub_ls_list_devices): ... this, and use grub_device_iterate.
30572 All callers changed.
30573
30574 * DISTLIST: Added commands/search.c.
30575
ef095434 305762005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30577
30578 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
30579 conversion.
30580 (grub_getcharwidth): New function.
30581
30582 * kern/misc.c (grub_utf8_to_ucs4): New function.
30583
30584 * include/grub/term.h (struct grub_term): Added a new member
30585 "getcharwidth".
30586 (grub_getcharwidth): New prototype.
30587
30588 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
30589
30590 * term/i386/pc/console.c (map_char): New function. Segregated from
30591 grub_console_putchar.
30592 (grub_console_putchar): Use map_char.
30593 (grub_console_getcharwidth): New function.
30594 (grub_console_term): Specified grub_console_getcharwidth as
30595 getcharwidth.
30596
30597 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
30598 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
30599
30600 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
30601 GRUB_ERRNO.
30602 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
30603 on grub_strtoul completely.
30604 (write_char): Declare local variables in the beginning of the
30605 function.
30606 (grub_vesafb_getcharwidth): New function.
30607 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
30608 getcharwidth.
30609
1f0a95e4 306102005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
30611
30612 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
30613 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
30614 commands/i386/pc/vbetest.c.
30615
30616 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
30617 call grub_vbe_get_controller_info again, because the returned
30618 information is volatile.
30619 (grub_vbe_set_video_mode): Mostly rewritten.
30620 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
30621 grub_vbe_status_t correctly.
30622 (grub_vbe_get_video_mode_info): Likewise.
30623 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
30624 several if statements.
30625
30626 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
30627 * commands/i386/pc/vbeinfo.c: ... this.
30628
30629 * commands/i386/pc/vbe_test.c: Renamed to ...
30630 * commands/i386/pc/vbetest.c: ... this.
30631
30632 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
30633 ...
30634 (grub_cmd_vbeinfo): ... this. Save video modes before
30635 iterating. Skip a video mode, if it is not available, not enough
30636 information is given or it is monochrome. Show the memory
30637 model. Leave the interpretation of MODEVAR to grub_strtoul
30638 completely.
30639 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
30640 (GRUB_MOD_FINI): Likewise.
30641
30642 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
30643 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
30644 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
30645 duplicated grub_env_get. Leave the interpretation of MODEVAR to
30646 grub_strtoul completely.
30647 (real2pm): Removed.
30648 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
30649 (GRUB_MOD_FINI): Likewise.
30650
30651 * normal/misc.c: Include grub/mm.h.
30652
30653 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
30654 vbe_list_modes with vbetest.mod and vbeinfo.mod.
30655 (vbe_list_modes_mod_SOURCES): Removed.
30656 (vbe_list_modes_mod_CFLAGS): Likewise.
30657 (vbe_test_mod_SOURCES): Likewise.
30658 (vbe_test_mod_CFLAGS): Likewise.
30659 (vbeinfo_mod_SOURCES): New variable.
30660 (vbeinfo_mod_CFLAGS): Likewise.
30661 (vbetest_mod_SOURCES): Likewise.
30662 (vbetest_mod_CFLAGS): Likewise.
30663
992ffbbe 306642005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
30665
30666 * normal/misc.c: New file.
30667
30668 * DISTLIST: Added normal/misc.c.
f19dbdb7 30669
992ffbbe 30670 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
30671 DISK to HOOK. Call HOOK with DISK.
30672 * partmap/apple.c (apple_partition_map_iterate): Likewise.
30673 * partmap/pc.c (pc_partition_map_iterate): Likewise.
30674 * partmap/sun.c (sun_partition_map_iterate): Likewise.
30675
30676 * normal/menu_entry.c (struct screen): Added a new member
30677 "completion_shown".
30678 (completion_buffer): New global variable.
30679 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
30680 (store_completion): New function.
30681 (complete): Likewise.
30682 (clear_completions): Likewise.
30683 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
30684 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
30685 a tab, call complete.
30686
30687 * normal/completion.c (disk_dev): Removed.
30688 (print_simple_completion): Likewise.
30689 (print_partition_completion): Likewise.
30690 (print_func): New global variable.
30691 (add_completion): Do not take the arguments WHAT or PRINT any
30692 longer. Added a new argument TYPE. Instead of printing directly,
30693 call PRINT_FUNC if not NULL.
30694 All callers changed.
30695 (complete_device): Use a local variable DEV instead of
30696 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
30697 (grub_normal_do_completion): Take a new argument HOOK. Do not
30698 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
30699 empty string, return NULL instead.
30700 All callers changed.
30701
30702 * normal/cmdline.c (print_completion): New function.
30703
30704 * kern/partition.c (grub_partition_iterate): Add an argument DISK
30705 to HOOK.
30706 All callers changed.
30707
30708 * kern/disk.c (grub_print_partinfo): Removed.
30709
30710 * include/grub/partition.h (struct grub_partition_map): Add a new
30711 argument DISK into HOOK of ITERATE.
30712 (grub_partition_iterate): Add a new argument DISK to HOOK.
30713
30714 * include/grub/normal.h (enum grub_completion_type): New enum.
30715 (grub_completion_type_t): New type.
30716 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
30717 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
30718 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
30719 (GRUB_COMPLETION_TYPE_FILE): Likewise.
30720 (grub_normal_do_completion): Added a new argument HOOK.
30721 (grub_normal_print_device_info): New prototype.
30722
30723 * include/grub/disk.h (grub_print_partinfo): Removed.
30724
30725 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
30726 (normal_mod_SOURCES): Likewise.
30727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30728 (normal_mod_SOURCES): Likewise.
30729
30730 * commands/ls.c (grub_ls_list_disks): Use
30731 grub_normal_print_device_info instead of grub_print_partinfo. Free
30732 PNAME.
30733 (grub_ls_list_files): Use grub_normal_print_device_info instead of
30734 duplicating the code.
30735
0bd41162 307362005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
30737
30738 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 30739 follow GCS more precisely.
30740 * commands/i386/pc/vbe_test.c: Likewise.
30741 * include/grub/i386/pc/vbe.h: Likewise.
30742 * term/i386/pc/vesafb.c: Likewise.
30743 * video/i386/pc/vbe.c: Likewise.
0bd41162 30744
6323696a 307452005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
30746
30747 * DISTLIST: Added term/i386/pc/vesafb.c
30748 DISTLIST: Added video/i386/pc/vbe.c
30749 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
30750 DISTLIST: Added commands/i386/pc/vbe_test.c.
30751 * commands/i386/pc/vbe_list_modes.c: New file.
30752 * commands/i386/pc/vbe_test.c: Likewise.
30753 * term/i386/pc/vesafb.c: Likewise.
30754 * video/i386/pc/vbe.c: Likewise.
30755 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
30756 (grub_vbe_probe) Added prototype.
30757 (grub_vbe_set_video_mode) Likewise.
30758 (grub_vbe_get_video_mode) Likewise.
30759 (grub_vbe_get_video_mode_info) Likewise.
30760 (grub_vbe_set_pixel_rgb) Likewise.
30761 (grub_vbe_set_pixel_index) Likewise.
30762 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
30763 (pkgdata_MODULES): Added vesafb.mod.
30764 (pkgdata_MODULES): Added vbe_list_modes.mod.
30765 (pkgdata_MODULES): Added vbe_test.mod.
30766 (vbe_mod_SOURCES): Added.
30767 (vbe_mod_CFLAGS): Likewise.
30768 (vesafb_mod_SOURCES): Likewise.
30769 (vesafb_mod_CFLAGS): Likewise.
30770 (vbe_list_modes_mod_SOURCES): Likewise.
30771 (vbe_list_modes_mod_CFLAGS): Likewise.
30772 (vbe_test_mod_SOURCES): Likewise.
30773 (vbe_test_mod_CFLAGS): Likewise.
30774
0a74e62f 307752005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
30776
0a74e62f 30777 * normal/command.c (grub_command_execute): If INTERACTIVE is
30778 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
30779 CMDLINE. Disable the pager if INTERACTIVE is true.
30780 All callers are changed.
30781
30782 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
30783 before reading a config file.
30784 * normal/main.c (read_config_file): Even if a command is not
30785 found, register it if it is within an entry.
30786
30787 * util/grub-emu.c: Include sys/types.h and unistd.h.
30788 (options): Added --hold.
30789 (struct arguments): Added a new member "hold".
30790 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
30791 missing.
30792 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
30793 cleared by a debugger, if it is not zero.
30794
30795 * include/grub/normal.h (grub_command_execute): Add an argument
30796 INTERACTIVE.
30797
e51f85ae 307982005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
30799
30800 * DISTLIST: Added include/grub/i386/pc/vbe.h.
30801
e9c6f39b 308022005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
30803
30804 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
30805 program with another one, because the old one didn't detect a bug
30806 in gcc-3.4. Always use regparm 2, because the new test is still
30807 not enough for gcc-4.0. Someone must investigate a simple test
30808 case which detects a bug in gcc-4.0.
30809
8de3495c 308102005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
30811
30812 * DISTLIST: Added normal/completion.c.
30813
30814 * normal/completion.c: New file.
f19dbdb7 30815
8de3495c 30816 * term/i386/pc/console.c (grub_console_getwh): New function.
30817 (grub_console_term): Assign grub_console_getwh to getwh.
30818
30819 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
30820 function is defined in normal/completion.c as
30821 grub_normal_do_completion.
30822 (grub_cmdline_get): Use grub_normal_do_completion instead of
30823 grub_tab_complete.
30824
30825 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
30826 returns non-zero, otherwise return 0.
30827 (grub_partition_iterate): First, probe the partition map. Then,
30828 call ITERATE only for this partition map.
30829
30830 * kern/misc.c (grub_strncmp): Rewritten.
30831
30832 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
30833 returns non-zero. Otherwise return 0.
30834
30835 * include/grub/partition.h (grub_partition_map_iterate): Return
30836 int instead of void.
30837
30838 * include/grub/normal.h (grub_normal_do_completion): New prototype.
30839
30840 * include/grub/misc.h (grub_strncmp): Change the type of N to
30841 grub_size_t.
30842
30843 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
30844 of void.
30845
30846 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 30847 unsigned explicitly before comparing it with I.
8de3495c 30848
30849 * kern/main.c (grub_env_write_root): Add the attribute unused into
30850 VAR.
30851
30852 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30853 normal/completion.c.
30854 (normal_mod_SOURCES): Likewise.
30855 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30856 (normal_mod_SOURCES): Likewise.
30857
30858 * normal/command.c (grub_iterate_commands): If ITERATE returns
30859 non-zero, return one immediately.
30860
e85e144b 308612005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
30862
30863 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
30864 * kern/i386/pc/startup.S: Updated Global Descriptor table's
30865 descriptions.
30866 (grub_vbe_get_controller_info): New function.
30867 (grub_vbe_get_mode_info): Likewise.
30868 (grub_vbe_set_mode): Likewise.
30869 (grub_vbe_get_mode): Likewise.
30870 (grub_vbe_set_memory_window): Likewise.
30871 (grub_vbe_get_memory_window): Likewise.
30872 (grub_vbe_set_scanline_length): Likewise.
30873 (grub_vbe_get_scanline_length): Likewise.
30874 (grub_vbe_set_display_start): Likewise.
30875 (grub_vbe_get_display_start): Likewise.
30876 (grub_vbe_set_palette_data): Likewise.
30877 * include/grub/i386/pc/vbe.h: New file.
30878
c46153d2 308792005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30880
30881 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30882 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
30883 * DISTLIST: Likewise.
30884 * kern/ieee1275/of.c: Moved to ...
30885 * kern/ieee1275/ieee1275.c: ... here.
30886
0cb90c45 308872005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30888
30889 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
30890 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
30891 Pass 0 as `end' parameter to grub_strtoul().
30892
a19fb360 308932005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30894
30895 * include/grub/powerpc/ieee1275/console.h: Do not include
30896 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
30897 ifdef.
30898 (grub_console_cur_color): Remove i386-specific prototype.
30899 (grub_console_real_putchar): Likewise.
30900 (grub_console_checkkey): Likewise.
30901 (grub_console_getkey): Likewise.
30902 (grub_console_getxy): Likewise.
30903 (grub_console_gotoxy): Likewise.
30904 (grub_console_cls): Likewise.
30905 (grub_console_setcursor): Likewise.
30906 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
30907 Include <grub/machine/console.h>.
30908 * term/ieee1275/ofconsole.c: Likewise.
30909
4ac9bd04 309102005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
30911
30912 * Makefile.in (LIBLZO): New variable.
30913
30914 * configure.ac: Check for LZO version 2.
30915
30916 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
30917 lzo/lzo1x.h instead of lzo1x.h.
30918
30919 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
30920 of -llzo.
30921
30922 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
30923 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
30924
30925 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
30926 copying the data from PARTITION to P.
30927
f4917dfd 309282005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30929
30930 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
30931 negative, unload the module.
30932
30933 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
30934 map is "pc_partition_map" but not "pc".
30935 (usage): Fix the description. The options are --boot-image and
30936 --core-image but not --boot-file or --core-file.
30937 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
30938 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
30939 DEFAULT_DIRECTORY.
30940
30941 * util/i386/pc/grub-install.in: Do not specify --boot-file or
30942 --core-file. Specify INSTALL_DEVICE as an argument.
30943
30944 * util/console.c: Include config.h.
30945 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
30946 [HAVE_NCURSES_H]: Include ncurses.h.
30947 [HAVE_CURSES_H]: Include curses.h.
30948 [!A_NORMAL] (A_NORMAL): Defined as zero.
30949 [!A_STANDOUT] (A_STANDOUT): Likewise.
30950
30951 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
30952 -lncurses.
30953 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
30954
30955 * configure.ac: Check for curses libraries and headers.
30956
30957 * Makefile.in (LIBCURSES): New variable.
30958
30959 * genmk.rb (Script::rule): Set the executable bits.
30960
30961 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
30962 name of the PC partition map is "pc_partition_map" but not "pc".
30963
0e143073 309642005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30965
30966 * util/i386/pc/grub-install.in (grub_probefs): New variable.
30967 (modules): Likewise.
30968 (usage): Added descriptions for --modules and --grub-probefs.
30969 Handle --modules and --grub-probefs. Save the arguments in MODULES
30970 and GRUB_PROBEFS, respectively.
30971 Auto-detect a filesystem module against GRUBDIR. If the result is
30972 empty and modules are not specified explicitly, abort the
30973 installation. Add the result to MODULES.
30974
30975 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
30976 disk/powerpc/ieee1275/ofdisk.c,
30977 include/grub/powerpc/ieee1275/init.h and
30978 term/powerpc/ieee1275/ofconsole.c.
30979 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
30980 term/ieee1275/ofconsole.c.
30981
30982 * include/grub/powerpc/ieee1275/console.h: Resurrected.
30983
30984 * COPYING: Upgraded to the latest version. Only the address of the
30985 FSF office has changed.
f19dbdb7 30986
efd6e6d5 309872005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30988
30989 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30990 kern/ieee1275.c with kern/ieee1275/of.c.
30991
30992 * kern/ieee1275.c: Moved to ...
30993 * kern/ieee1275/of.c: ... here.
30994
8ceafda2 309952005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
30996
30997 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 30998 readability.
8ceafda2 30999
31000 * config.guess: Updated to the latest version from gnulib.
31001 * config.sub: Likewise.
31002 * install.sh: Likewise.
31003 * mkinstalldirs: Likewise.
31004
31005 * include/grub/console.h: Removed. This file is arch-specific. Do
31006 not put this in include/grub.
31007
31008 * include/grub/i386/pc/console.h: Resurrected.
31009
31010 * util/console.c: Include grub/machine/console.h instead of
31011 grub/console.h.
31012 * util/grub-emu.c: Likewise.
31013
267f6cd9 310142005-08-04 Marco Gerards <metgerards@student.han.nl>
31015
31016 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
31017 hardcoded value.
f19dbdb7 31018
267f6cd9 31019 From Vincent Pelletier <subdino2004@yahoo.fr>
31020 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
31021 Redefined to use grub_getwh.
31022 (grub_term): New member named getwh.
31023 (grub_getwh): New prototype.
31024 * kern/term.c (grub_getwh): New function.
31025 * term/i386/pc/console.c (grub_console_getwh): New function.
31026 (grub_console_term): New member `getwh'.
31027 * term/i386/pc/vga.c (grub_vga_getwh): New function.
31028 (grub_vga_term): New member `getwh'.
0b5abe02 31029 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 31030 grub_ssize_t.
31031 (grub_ofconsole_getw): New function.
31032 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
31033 (grub_ofconsole_term): New field named getwh and new initial
31034 value.
31035
3be7266d 310362005-08-03 Hollis Blanchard <hollis@penguinppc.org>
31037
31038 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
31039 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
31040 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
31041 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
31042 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
31043 of <grub/machine/ieee1275.h>.
31044 * commands/ieee1275/reboot.c: Likewise.
31045 * boot/powerpc/ieee1275/ieee1275.c: Move ...
31046 * kern/ieee1275.c: ... to here. All users updated. Change all
31047 parameter structs to use new type `grub_ieee1275_cell_t'.
31048 * term/powerpc/ieee1275/ofconsole.c: Move ...
31049 * term/ieee1275/ofconsole.c: ... to here. All users updated.
31050 * disk/powerpc/ieee1275/ofdisk.c: Move ...
31051 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
31052 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
31053 to return int.
31054 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
31055 Remove unused prototypes. All users updated.
31056 * include/grub/powerpc/ieee1275/console.h: Removed.
31057 * include/grub/powerpc/ieee1275/ieee1275.h: Define
31058 `grub_ieee1275_cell_t'.
31059 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
31060 Cast comparisons with -1 to the correct type.
31061 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
31062 type to match `grub_ieee1275_entry_fn'.
31063
8b5f3938 310642005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
31065
31066 * DISTLIST: Added util/i386/pc/grub-probefs.c.
31067
31068 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
31069 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
31070 partmap/sun.c.
31071 (grub_probefs_SOURCES): New variable.
31072
31073 * util/i386/pc/grub-probefs.c: New file.
31074
31075 * util/i386/pc/grub-setup.c (main): Call
31076 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
31077 grub_hfs_init and grub_jfs_init to initialize the system. Call
31078 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
31079 grub_pc_partition_map_fini to finish the system.
31080
ea409713 310812005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
31082
31083 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
31084 function.
31085 (grub_multiboot_load_elf32): Likewise.
31086 (grub_multiboot_is_elf64): Likewise.
31087 (grub_multiboot_load_elf64): Likewise.
31088 (grub_multiboot_load_elf): Likewise.
31089 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
31090 an ELF32 or ELF64 file.
31091 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
31092
31093 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
31094 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
31095 NULL before calling FS->LABEL.
31096 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
31097 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
31098 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
31099 before calling FS->LABEL.
31100
141a288b 311012005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
31102
31103 * util/i386/pc/grub-install.in (datadir): New variable.
31104 (libdir): Removed.
31105 (pkgdatadir): New variable.
31106 (pkglibdir): Removed.
31107
0d5f8a54 311082005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
31109
31110 * DISTLIST: Added util/i386/pc/grub-install.in.
31111
31112 * util/i386/pc/grub-install.in: New file.
31113
31114 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
31115 (grub_install_SOURCES): Likewise.
31116
31117 * genmk.rb: Added support for scripts.
31118 (Script): New class.
31119 (scripts): New variable.
31120
31121 * Makefile.in (install-local): Install sbin_SCRIPTS by
31122 INSTALL_SCRIPT.
31123 (uninstall): Remove sbin_SCRIPTS.
31124
31125 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
31126 device, try to get a GRUB device by
31127 grub_util_biosdisk_get_grub_dev.
31128 Free DEST_DEV.
31129
31130 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
31131 description for --device-map.
31132
5f968e1e 311332005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
31134
31135 Change the semantics of variable hooks. They now return strings
31136 instead of error values.
f19dbdb7 31137
5f968e1e 31138 * util/i386/pc/grub-setup.c: Include grub/env.h.
31139 (setup): Use grub_device_set_root instead of grub_env_set.
31140
31141 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
31142 grub_env_get instead of grub_device_set_root and
31143 grub_device_get_root, respectively.
31144
31145 * kern/main.c (grub_env_write_root): New function.
31146 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
31147 grub_env_set instead of grub_device_set_root.
31148
31149 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
31150 many variables.
31151 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
31152 rather than calling ENV->WRITE_HOOK afterwards.
31153 (grub_env_get): Return the result of ENV->READ_HOOK rather than
31154 passing a pointer of a pointer.
31155 (grub_register_variable_hook): Change the types of "read_hook" and
31156 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
31157 respectively.
31158 Allocate the default empty string on the heap, because this string
31159 may be freed later.
31160
31161 * kern/device.c: Include grub/env.h.
31162 (grub_device_set_root): Removed.
31163 (grub_device_get_root): Likewise.
31164 (grub_device_open): Use grub_env_get instead of
31165 grub_device_get_root.
31166
31167 * include/grub/env.h (grub_env_read_hook_t): New type.
31168 (grub_env_write_hook_t): Likewise.
31169 (grub_env_var): Change the types of "read_hook" and "write_hook"
31170 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
31171 (grub_register_variable_hook): Likewise.
31172
31173 * include/grub/device.h (grub_device_set_root): Removed.
31174 (grub_device_set_root): Likewise.
31175
31176 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
31177 make sure that DIRNAME terminates with '/', so that
31178 grub_fat_find_dir will fail if PATH is not a directory.
31179
31180 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
31181 from DIRNAME.
31182 Use the qualifier auto for print_files and print_files_long.
31183 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
31184 as a regular file.
31185 Put a newline only if there is no error.
31186 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
31187 used.
31188
896f0afd 311892005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
31190
31191 * kern/partition.c (grub_partition_probe): Initialize PART to
31192 NULL. Otherwise, when no partition map is registered, this returns
31193 a garbage.
31194
b28b81b2 311952005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
31196
31197 * partmap/apple.c (apple_partition_map_iterate): Check if POS
31198 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
31199 valid.
31200
5f3607e0 312012005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
31202
31203 * commands/ls.c (grub_ls_list_disks): Print the filesystem
31204 information on each device, if it does not have partitions. Print
31205 "Device" instead of "Disk", because this function is not specific
31206 to disk devices.
31207
31208 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
31209 static to ensure that it is put on the memory rather than a
31210 register.
31211
502c87e8 312122005-07-17 Yoshinori Okuji <okuji@enbug.org>
31213
31214 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
31215 (grub_cat_init): Likewise.
31216 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
31217 (options): Likewise.
31218 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
31219 (grub_configfile_init): Likewise.
31220 * font/manager.c (GRUB_MOD_INIT): Likewise.
31221 * commands/help.c (GRUB_MOD_INIT): Likewise.
31222 (grub_help_init): Likewise.
31223 * normal/command.c (grub_command_init): Likewise.
31224 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
31225 * disk/loopback.c (grub_loop_init): Likewise.
31226 (GRUB_MOD_INIT): Likewise.
31227 * commands/ls.c (grub_ls_init): Likewise.
31228 (GRUB_MOD_INIT): Likewise.
31229 (options): Likewise.
31230 * commands/boot.c (grub_boot_init): Likewise.
31231 (GRUB_MOD_INIT): Likewise.
31232 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
31233 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
31234 (GRUB_MOD_INIT): Likewise.
31235 * commands/cmp.c (grub_cmp_init): Likewise.
31236 (GRUB_MOD_INIT): Likewise.
31237
31238 * normal/arg.c: Use <> instead of "" to include header files.
31239 (SHORT_ARG_HELP): New macro.
31240 (SHORT_ARG_USAGE): Likewise.
31241 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
31242 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
31243 descriptions.
31244 (find_short): Check if C is 'h' or 'u' explicitly.
31245 (grub_arg_show_help): Use space characters instead of tabs. Treat
31246 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
31247 are shown with --help and --usage only if they are not used for
31248 the command itself.
31249 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
31250 'h' and 'u'.
31251
31252 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
31253 const into "longarg". Change the type of "shortarg" to int.
31254
f806d18e 312552005-07-17 Yoshinori Okuji <okuji@enbug.org>
31256
31257 * boot/i386/pc/boot.S (boot_drive_check): New label.
31258
31259 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
31260 macro.
31261
31262 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
31263 which do not pass a boot drive correctly. Copied from GRUB Legacy.
31264
e293232b 312652005-07-17 Yoshinori Okuji <okuji@enbug.org>
31266
31267 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
31268 When turning off Gate A20, skip the check and return immediately,
31269 because this is not fatal usually.
31270
ebedfd00 312712005-07-17 Yoshinori Okuji <okuji@enbug.org>
31272
31273 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
31274 be 0x7C00 instead of 0x8000.
31275
31276 * boot/i386/pc/pxeboot.S: Rewritten.
31277
31278 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
31279 EXT_C.
31280 (gate_a20_check_state): Read a byte from 0x108000. Invert the
31281 result.
31282
654fc59f 312832005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
31284
31285 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
31286 robustness. This routine now supports a BIOS call and System
31287 Control Port A to modify the gate A20.
31288
31289 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31290 Increased to 0x440.
31291
09f9923f 312922005-07-12 Hollis Blanchard <hollis@penguinppc.org>
31293
31294 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
31295 device path and resulting ihandle.
31296 (grub_ofdisk_close): dprintf the ihandle being closed.
31297 (grub_ofdisk_read): dprintf function parameters.
31298 * kern/mm.c (grub_mm_init_region): Likewise.
31299 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
31300 (grub_linux_boot): dprintf the Linux entry point, initrd address and
31301 size, and boot arguments.
31302 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
31303 before loading into memory.
31304 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
31305 before loading into memory.
31306
7ef504d8 313072005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
31308
31309 * kern/mm.c: Added much documentation.
31310 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
31311 8, set to 5 instead of 8.
31312
e0f050c2 313132005-07-10 Yoshinori Okuji <okuji@enbug.org>
31314
31315 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
31316
31317 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
31318 (grub_mkdevicemap_SOURCES): New variable.
31319
31320 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
31321 lib/device.c of GRUB Legacy.
31322
7224189a 313232005-07-10 Yoshinori Okuji <okuji@enbug.org>
31324
31325 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
31326 instead of PATH is NULL.
31327
68c864eb 313282005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
31329
31330 * commands/cmp.c (BUFFER_SIZE): New macro.
31331 (grub_cmd_cmp): Close the right file at the right time. Compare
31332 only data just read. Don't report files of different size as
31333 identical. Dynamically allocate buffers. Move variable
31334 declarations at the beginning of function.
31335
e6f3e614 313362005-07-09 Yoshinori Okuji <okuji@enbug.org>
31337
31338 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
31339 reverse.
31340
f8f1559a 313412004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
31342
31343 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
31344 when backspace is pressed at beginning of line.
31345
39c9d41d 313462005-07-03 Yoshinori Okuji <okuji@enbug.org>
31347
31348 * DISTLIST: Added genfslist.sh.
31349
31350 * normal/main.c (fs_module_list): New variable.
31351 (autoload_fs_module): New function.
31352 (read_fs_list): Likewise.
31353 (grub_normal_execute): Call read_fs_list.
31354
31355 * kern/fs.c (grub_fs_autoload_hook): New variable.
31356 (grub_fs_probe): Added support for auto-loading.
31357
31358 * include/grub/normal.h (struct grub_fs_module_list): New struct.
31359 (grub_fs_module_list_t): New type.
31360
31361 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
31362 (grub_fs_autoload_hook): New prototype.
31363
31364 * genfslist.sh: New file.
f19dbdb7 31365
39c9d41d 31366 * genmk.rb: Added a rule to generate a filesystem list.
31367
121c1d83 313682005-06-30 Marco Gerards <metgerards@student.han.nl>
31369
31370 * configure.ac: Fix the test for cross-compiling.
31371
31372 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
31373 define GRUB_UTIL anymore.
31374
31375 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
31376 so this function works on other systems than just big endian.
31377 (load_modules): Likewise.
31378 (add_segments): Likewise.
31379
e75d76e1 313802005-06-23 Hollis Blanchard <hollis@penguinppc.org>
31381
31382 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
31383 contains `l' modifier, get a long from va_arg().
31384
50b5a0a7 313852005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
31386
31387 * kern/mm.c (grub_free): If the next free block which is being
31388 merged is the first free block, set the first block to the block
31389 being freed.
31390 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
31391
89371b20 313922005-05-08 Hollis Blanchard <hollis@penguinppc.org>
31393
31394 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
31395 `grub_ieee1275_chosen'.
31396
168d6e58 313972005-05-08 Hollis Blanchard <hollis@penguinppc.org>
31398
31399 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
31400 (grub_ieee1275_chosen): New variable.
31401 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
31402 `chosen'.
31403 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
31404 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31405 Rename first argument to `phandle' for consistency.
31406 (grub_ieee1275_get_property_length): Likewise.
31407 (grub_ieee1275_next_property): Likewise. Change type of first argument
31408 to grub_ieee1275_phandle_t.
31409 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
31410 Move export next to declaration.
31411 (grub_ieee1275_chosen): New variable.
31412 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
31413 Correct cosmetic typo.
31414 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
31415 `grub_ieee1275_chosen'.
31416 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
31417 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
31418 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
31419 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
31420 `grub_ieee1275_chosen'.
31421
ca5baa3f 314222005-05-10 Hollis Blanchard <hollis@penguinppc.org>
31423
31424 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
31425 /chosen/bootargs.
31426 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
31427 /chosen/bootargs as "variable=value" pairs.
31428
708b345f 314292005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
31430
31431 * include/grub/misc.h (grub_dprintf): New macro.
31432 (grub_real_dprintf): New prototype.
31433 (grub_strword): Likewise.
31434 (grub_iswordseparator): Likewise.
31435 * kern/misc.c (grub_real_dprintf): New function.
31436 (grub_strword): Likewise.
31437 (grub_iswordseparator): Likewise.
31438
f4c5e67c 314392005-04-30 Hollis Blanchard <hollis@penguinppc.org>
31440
31441 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
31442 (roundup): Remove macro.
31443 (grub_ieee1275_flags): Make static.
31444 (grub_ieee1275_realmode): Remove.
31445 (grub_ieee1275_test_flag): New function.
31446 (grub_ieee1275_set_flag): Likewise.
31447 (find_options): Rename to `grub_ieee1275_find_options'; update
31448 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
31449 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
31450 (cmain): New prototype.
31451 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
31452 `grub_ieee1275_flags' directly.
31453 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
31454 machine/biosdisk.h.
31455 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
31456 Don't include grub/machine/init.h.
31457 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
31458 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31459 Remove prototype.
31460 (grub_ieee1275_realmode): Likewise.
31461 (grub_ieee1275_flag): New enum.
31462 (grub_ieee1275_test_flag): New prototype.
31463 (grub_ieee1275_set_flag): New prototype.
31464 * include/grub/powerpc/ieee1275/init.h: Remove file.
31465 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
31466 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
31467 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
31468 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
31469 comment.
31470 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
31471 `grub_ieee1275_test_flag'.
31472 (grub_ieee1275_encode_devname): Likewise.
31473
ed16607e 314742005-04-21 Hollis Blanchard <hollis@penguinppc.org>
31475
31476 * include/grub/powerpc/ieee1275/ieee1275.h
31477 (grub_ieee1275_encode_devname): New prototype.
31478 (grub_ieee1275_get_filename): Likewise.
31479 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
31480 function.
31481 (grub_set_prefix): Likewise.
31482 (grub_machine_init): Call grub_set_prefix.
31483 * kern/powerpc/ieee1275/openfw.c: Fix typos.
31484 (grub_parse_type): New enum.
31485 (grub_ieee1275_get_devargs): New function.
31486 (grub_ieee1275_get_devname): Likewise.
31487 (grub_ieee1275_parse_args): Likewise.
31488 (grub_ieee1275_get_filename): Likewise.
31489 (grub_ieee1275_encode_devname): Likewise.
31490
be369920 314912005-03-30 Marco Gerards <metgerards@student.han.nl>
31492
31493 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
31494 `grub_loader_unset'.
31495
a5ce3a4a 314962005-03-26 Hollis Blanchard <hollis@penguinppc.org>
31497
31498 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
31499 instead of grub_ieee1275_interpret.
31500 (grub_halt_init): New function.
31501 (grub_halt_fini): Likewise.
31502 (GRUB_MOD_INIT): Correct message grammar.
31503 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
31504 instead of grub_ieee1275_interpret.
31505 (grub_reboot_init): New function.
31506 (grub_reboot_fini): Likewise.
31507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
31508 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
31509 util/i386/pc/misc.c with commands/ieee1275/halt.c,
31510 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
31511 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
31512 function.
31513 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
31514 Add prototype.
31515 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
31516 prototype.
31517 (grub_halt): Likewise.
31518 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
31519 (cmain): Remove __attribute__((unused)).
31520 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
31521 (grub_heap_len): Likewise.
31522 (grub_machine_fini): New function.
31523 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
31524 (grub_halt): Likewise.
31525 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
31526 function.
31527 * util/powerpc/ieee1275/misc.c: New file.
31528
0058f771 315292005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
31530
31531 * DISTLIST: New file.
31532 * gendistlist.sh: Likewise.
f19dbdb7 31533
0058f771 31534 * Makefile.in (COMMON_DISTFILES): Removed.
31535 (BOOT_DISTFILES): Likewise.
31536 (CONF_DISTFILES): Likewise.
31537 (DISK_DISTFILES): Likewise.
31538 (FS_DISTFILES): Likewise.
31539 (INCLUDE_DISTFILES): Likewise.
31540 (KERN_DISTFILES): Likewise.
31541 (LOADER_DISTFILES): Likewise.
31542 (TERM_DISTFILES): Likewise.
31543 (UTIL_DISTFILES): Likewise.
31544 (DISTFILES): Likewise.
31545 (uninstall): Uninstall files in $(pkgdata_DATA).
31546 (DISTLIST): New target.
31547 (distdir): Use the contents of the file DISTLIST to get a list of
31548 distributed files.
31549
46b3b8a5 315502005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
31551
31552 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
31553 descriptor. This is ported from GRUB Legacy.
31554
31555 * gencmdlist.sh: Added an extra semicolon to make it work with
31556 old sed versions. Reported by Robert Bihlmeyer
31557 <robbe@orcus.priv.at>.
31558
5822ff87 315592005-03-08 Yoshinori Okuji <okuji@enbug.org>
31560
31561 Automatic loading of commands is supported.
f19dbdb7 31562
5822ff87 31563 * normal/main.c (read_command_list): New function.
31564 (grub_normal_execute): Call read_command_list.
31565
31566 * normal/command.c (grub_register_command): Return zero or CMD.
31567 Allocate CMD->NAME from the heap.
31568 Initialize CMD->MODULE_NAME to zero.
31569 Find the same name as well. If the same command is found and it is
31570 a dummy command, overwrite members. If it is not a dummy command,
31571 return zero.
31572 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
31573 (grub_command_find): If a dummy command is found, load a module
31574 and retry to find a command only once.
31575
31576 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
31577 make sure that each command is loaded.
31578
31579 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
31580 macro.
31581 (struct grub_command): Remove const from the member `name'.
31582 Add a new member `module_name'.
31583 (grub_register_command): Return grub_command_t.
31584
31585 * commands/help.c (grub_cmd_help): Call grub_command_find to make
31586 sure that each command is loaded.
31587
31588 * genmk.rb (PModule::rule): Specify a module name without the
31589 suffix ".mod" to gencmdlist.sh.
31590
7b1f4b57 315912005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
31592
31593 * gencmdlist.sh: New file.
f19dbdb7 31594
7b1f4b57 31595 * genmk.rb (PModule::rule): Generate a rule for a command list.
31596 Clean command.lst.
31597 Generate command.lst from $(COMMANDFILES).
31598
31599 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
31600 (DATA): Added $(pkgdata_DATA).
31601 (install-local): Install files in $(pkgdata_DATA).
31602
062aaf39 316032005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
31604
31605 * term/i386/pc/vga.c (debug_command): Removed.
31606 (GRUB_MOD_INIT): Do not register the command "debug".
31607
31608 From Hollis Blanchard:
31609 * commands/configfile.c: New file.
31610 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31611 commands/configfile.c.
31612 (pkgdata_MODULES): Added configfile.mod.
31613 (configfile_mod_SOURCES): New variable.
31614 (configfile_mod_CFLAGS): Likewise.
31615 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31616 commands/configfile.c.
31617 (pkgdata_MODULES): Added configfile.mod.
31618 (configfile_mod_SOURCES): New variable.
31619 (configfile_mod_CFLAGS): Likewise.
31620 * util/grub-emu.c (main): Call grub_configfile_init and
31621 grub_configfile_fini.
31622 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
31623 prototype.
31624 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 31625
cee01aa6 316262005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
31627
31628 * normal/arg.c (grub_arg_show_help): Do not show the bug report
31629 address.
31630
31631 * commands/help.c (grub_cmd_help): Do not print newlines after
31632 the last command in print_command_help.
31633
93f3a1d8 316342005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
31635
31636 * commands/default.h: New file.
31637 * commands/timeout.h: Likewise.
31638 * normal/context.c: Likewise.
f19dbdb7 31639
93f3a1d8 31640 * util/misc.c: Do not include sys/times.h.
31641 Include sys/time.h and grub/machine/time.h.
31642 (grub_get_rtc): Rewritten with gettimeofday.
31643
31644 * util/grub-emu.c (main): Call grub_default_init and
31645 grub_timeout_init before grub_normal_init, and call
31646 grub_timeout_fini and grub_default_fini after grub_main.
31647
31648 * util/console.c (grub_ncurses_checkkey): Return the read
31649 character or -1.
31650
31651 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
31652 timeouts.
31653
31654 * normal/main.c (read_config_file): Push MENU. If this fails,
31655 print an error and wait for a user input.
31656 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
31657 If a menu is empty or an error occurs, pop MENU.
31658 (grub_normal_execute): Pop and free MENU after grub_menu_run
31659 returns.
31660
31661 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
31662
31663 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
31664 include time.h.
31665 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
31666 without GRUB_UTIL.
31667 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
31668 time.h.
31669 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
31670 without GRUB_UTIL.
31671
31672 * include/grub/normal.h (struct grub_menu_list): New struct.
31673 (grub_menu_list_t): New type.
31674 (struct grub_context): New struct.
31675 (grub_context_t): New type.
31676 (grub_register_command): Got rid of EXPORT_FUNC.
31677 (grub_unregister_command): Likewise.
31678 (grub_context_get): New prototype.
31679 (grub_context_get_current_menu): Likewise.
31680 (grub_context_push_menu): Likewise.
31681 (grub_context_pop_menu): Likewise.
31682 [GRUB_UTIL] (grub_default_init): Likewise.
31683 [GRUB_UTIL] (grub_default_fini): Likewise.
31684 [GRUB_UTIL] (grub_timeout_init): Likewise.
31685 [GRUB_UTIL] (grub_timeout_fini): Likewise.
31686
31687 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
31688 commands/timeout.c and normal/context.c.
31689 (pkgdata_MODULES): Added default.mod and timeout.mod.
31690 (normal_mod_SOURCES): Added normal/context.c.
31691 (default_mod_SOURCES): New variable.
31692 (default_mod_CFLAGS): Likewise.
31693 (timeout_mod_SOURCES): Likewise.
31694 (timeout_mod_CFLAGS): Likewise.
31695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
31696 conf/i386-pc.rmk.
31697 (pkgdata_MODULES): Added default.mod and timeout.mod.
31698 (normal_mod_SOURCES): Added normal/context.c.
31699 (default_mod_SOURCES): New variable.
31700 (default_mod_CFLAGS): Likewise.
31701 (timeout_mod_SOURCES): Likewise.
31702 (timeout_mod_CFLAGS): Likewise.
31703
31704 * Makefile.in (all-local): Added $(MKFILES).
31705
4ed2e1dd 317062005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
31707
31708 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
31709 (grub_emu_SOURCES): Likewise.
31710 (pkgdata_MODULES): Add `sun.mod'.
31711 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
31712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31713 `partmap/sun.c'.
31714 (pkgdata_MODULES): Add `sun.mod'.
31715 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
31716 * include/grub/partition.h (grub_sun_partition_map_init): New
31717 prototype.
31718 (grub_sun_partition_map_fini): Likewise.
31719 * partmap/sun.c: New file.
31720 * util/grub-emu.c (main): Initialize and de-initialize the sun
31721 partitionmap support.
31722
4d4e372e 317232005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
31724
31725 This implements an Emacs-like menu entry editor.
f19dbdb7 31726
4d4e372e 31727 * normal/menu_entry.c: New file.
f19dbdb7 31728
4d4e372e 31729 * util/console.c (grub_ncurses_putchar): Translate some Unicode
31730 characters to ASCII.
31731 (saved_char): New variable.
31732 (grub_ncurses_checkkey): Rewritten completely.
31733 (grub_ncurses_getkey): Likewise.
31734 (grub_ncurses_init): Call raw instead of cbreak.
31735
31736 * normal/menu.c (print_entry): Do not put a space.
31737 (init_page): Renamed to ...
31738 (grub_menu_init_page): ... this. All callers changed.
31739 (edit_menu_entry): Removed.
31740 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
31741
31742 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
31743
31744 * kern/misc.c (grub_vprintf): Call grub_refresh.
31745
31746 * normal/menu.c (DISP_LEFT): Renamed to ...
31747 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
31748 * normal/menu.c (DISP_UP): Renamed to ...
31749 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
31750 * normal/menu.c (DISP_RIGHT): Renamed to ...
31751 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
31752 * normal/menu.c (DISP_DOWN): Renamed to ...
31753 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
31754 * normal/menu.c (DISP_HLINE): Renamed to ...
31755 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
31756 * normal/menu.c (DISP_VLINE): Renamed to ...
31757 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
31758 * normal/menu.c (DISP_UL): Renamed to ...
31759 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
31760 * normal/menu.c (DISP_UR): Renamed to ...
31761 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
31762 * normal/menu.c (DISP_LL): Renamed to ...
31763 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
31764 * normal/menu.c (DISP_LR): Renamed to ...
31765 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
31766 * normal/menu.c (TERM_WIDTH): Renamed to ...
31767 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
31768 * normal/menu.c (TERM_HEIGHT): Renamed to ...
31769 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
31770 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
31771 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
31772 * normal/menu.c (TERM_MARGIN): Renamed to ...
31773 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
31774 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
31775 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
31776 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
31777 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
31778 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
31779 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
31780 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
31781 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
31782 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
31783 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
31784 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
31785 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
31786 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
31787 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
31788 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
31789 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
31790 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
31791 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
31792 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
31793 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
31794 All callers changed.
31795
31796 * include/grub/normal.h: New prototype.
31797
31798 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31799 normal/menu_entry.c.
31800 (normal_mod_SOURCES): Likewise.
31801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31802 (normal_mod_SOURCES): Likewise.
31803
e6b92c8a 318042005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
31805
31806 * include/grub/normal.h (grub_halt_init): New prototype.
31807 (grub_halt_fini): Likewise.
31808 (grub_reboot_init): Likewise.
31809 (grub_reboot_fini): Likewise.
31810
31811 * util/grub-emu.c: Include signal.h.
31812 (main_env): New global variable.
31813 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
31814 catch C-c.
31815 (grub_machine_fini): New function.
31816 (main): Call grub_halt_init and grub_reboot_init before
31817 grub_main, and grub_reboot_fini and grub_halt_fini after it.
31818 Call setjmp with MAIN_ENV to go back afterwards.
31819 Call grub_machine_fini right before return.
31820
31821 * include/grub/util/misc.h: Include setjmp.h.
31822 (main_env): New prototype.
31823
31824 * include/grub/kernel.h (grub_machine_fini): New prototype.
31825 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
31826 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
31827
31828 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
31829 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
31830 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 31831
e6b92c8a 31832 * util/i386/pc/misc.c: New file.
f19dbdb7 31833
e6b92c8a 31834 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31835 util/i386/pc/misc.c, commands/i386/pc/halt.c and
31836 commands/i386/pc/reboot.c.
31837
c642636f 318382005-02-14 Guillem Jover <guillem@hadrons.org>
31839
31840 * include/grub/dl.h (grub_dl_check_header): New prototype.
31841 (grub_arch_dl_check_header): Change return type to grub_err_t,
31842 remove size parameter and export function. Update all callers.
31843 * kern/dl.c (grub_dl_check_header): New function.
31844 (grub_dl_load_core): Use `grub_dl_check_header' instead of
31845 `grub_arch_dl_check_header'. Check ELF type. Check if sections
31846 are inside the core.
31847 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
31848 independent ELF header checks.
31849 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31850 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
31851 `grub_dl_check_header' instead of explicit checks. Check for the
31852 ELF type.
31853 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
31854 `grub_dl_check_header' instead of explicit checks. Remove arch
31855 specific ELF header checks.
31856
e6b92c8a 31857 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
31858 argument SIZE.
31859
5eabe94b 318602005-02-13 Hollis Blanchard <hollis@penguinppc.org>
31861
31862 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
31863 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
31864
1b14a681 318652005-02-12 Hollis Blanchard <hollis@penguinppc.org>
31866
31867 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 31868 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 31869 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 31870 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 31871 * partmap/amiga.c (amiga_partition_map_iterate): Return
31872 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
31873 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31874
aca108aa 318752005-02-01 Guillem Jover <guillem@hadrons.org>
31876
31877 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
31878 help info.
31879
c9f9c556 318802005-01-31 Marco Gerards <metgerards@student.han.nl>
31881
31882 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
31883 Removed prototype.
31884 (grub_rescue_cmd_linux): New prototype.
31885 (grub_rescue_cmd_initrd): Likewise.
31886 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
31887 `bi_rec'.
31888 (grub_linux_release_mem): Release the memory for the initrd.
31889 (grub_load_linux): Renamed from this...
31890 (grub_rescue_cmd_linux): ...To this. Changed all callers.
31891 Changed `entry' not to be static. Loop over memory regions to
31892 find another one when the default fails.
31893 (grub_rescue_cmd_initrd): New function.
31894 (grub_linux_init): Remove function.
31895 (grub_linux_fini): Likewise.
31896 (GRUB_MOD_INIT): Register `initrd'.
31897 (GRUB_MOD_FINI): Unregister `initrd'.
31898 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
31899 Function removed.
31900 (grub_linux_normal_fini): Likewise.
31901 (GRUB_MOD_INIT): Register `initrd'.
31902 (GRUB_MOD_FINI): Unregister `initrd'.
31903
990cf3aa 319042005-01-31 Marco Gerards <metgerards@student.han.nl>
31905
31906 * commands/help.c: New file.
31907 * normal/arg.c (show_help): Renamed to...
31908 (grub_arg_show_help): ... this.
31909 * commands/i386/pc/halt.c: New file.
31910 * commands/i386/pc/reboot.c: Likewise.
31911 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
31912 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
31913 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
31914 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
31915 variables.
31916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31917 `commands/help.c'.
31918 (pkgdata_MODULES): Add `help.mod'.
31919 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
31920 * grub/i386/pc/init.h (grub_reboot): New prototype.
31921 (grub_halt): Likewise.
31922 * include/grub/normal.h (grub_arg_show_help): New prototype.
31923 (grub_help_init): Likewise.
31924 (grub_help_fini): Likewise.
31925 * util/grub-emu.c (main): Initialize and deinitialize the help
31926 command.
31927
31928 * normal/cmdline.c (grub_cmdline_get): Doc fix.
31929
31930 * normal/command.c (grub_command_init): Fixed the description of
31931 the `set' and `unset' commands.
31932
319332005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 31934
31935 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
31936 function.
31937 * commands/ieee1275/halt.c: New file.
31938 * commands/ieee1275/reboot.c: Likewise.
31939 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
31940 `__attribute__ ((unused))'. Some GCS related fixed.
31941 (grub_suspend_init) [GRUB_UTIL]: Function removed.
31942 (grub_suspend_fini): Likewise.
31943 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
31944 and `halt.mod'.
31945 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
31946 (halt_mod_CFLAGS): New variables.
31947 * include/grub/powerpc/ieee1275/ieee1275.h
31948 (grub_ieee1275_interpret): New prototype.
31949
1ab09cc7 319502005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
31951
31952 * include/grub/misc.h (memmove): New prototype.
31953 (memcpy): Likewise.
31954
8b8cbdb2 319552005-01-22 Hollis Blanchard <hollis@penguinppc.org>
31956
31957 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
31958 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
31959
e3741a27 319602005-01-22 Marco Gerards <metgerards@student.han.nl>
31961
31962 * kern/misc.c (grub_strndup): Function rewritten.
31963
776bd780 319642005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
31965
31966 * normal/menu.c (TERM_WIDTH): Macro redefined.
31967 (TERM_TOP_BORDER_Y): Likewise.
31968 (draw_border): Replaced while-loop by a for-loop. Make the number
31969 of lines consistent with the number of lines displayed in
31970 print_entries. Added a margin below the rectangle.
31971 (print_entry): Make the entry fit in the rectangle.
31972 (print_entries): Display the scroll arrows next to the right
31973 border.
31974
78026bce 319752005-01-21 Marco Gerards <metgerards@student.han.nl>
31976
31977 * fs/minix.c (grub_minix_find_file): Reserve more space for
31978 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
31979 `grub_strncpy' to copy `path' into it.
31980
67bbaf0f 319812005-01-21 Marco Gerards <metgerards@student.han.nl>
31982
31983 Add the loopback device, a device via which files can be accessed
31984 as devices.
f19dbdb7 31985
67bbaf0f 31986 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
31987 (pkgdata_MODULES): Add loopback.mod.
31988 (loopback_mod_SOURCES): New variable.
31989 (loopback_mod_CFLAGS): Likewise.
31990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31991 `disk/loopback.c'.
31992 (pkgdata_MODULES): Add loopback.mod.
31993 (loopback_mod_SOURCES): New variable.
31994 (loopback_mod_CFLAGS): Likewise.
31995 * disk/loopback.c: new file.
31996 * include/grub/normal.h (grub_loop_init): New prototype.
31997 (grub_loop_fini): New prototype.
31998 * util/grub-emu.c (main): Initialize and de-initialize loopback
31999 support.
32000 * include/grub/disk.h (grub_disk_dev_id): Add
32001 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
32002
6f1c18bd 320032005-01-20 Hollis Blanchard <hollis@penguinppc.org>
32004
32005 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
32006 function.
32007 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
32008 (suspend_mod_SOURCES): New variable.
32009 (suspend_mod_CFLAGS): Likewise.
32010 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
32011 New prototype.
32012 * commands/ieee1275/suspend.c: New file.
32013
b38551da 320142005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
32015
32016 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 32017 ((unused))' to `__attribute__ ((used))'.
b38551da 32018 (GRUB_MOD_FINI): Likewise.
32019 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
32020 * genmk.rb (PModule): Assign space to common symbols when linking
32021 modules.
32022
777aff39 320232005-01-20 Marco Gerards <metgerards@student.han.nl>
32024
32025 * include/grub/mm.h (grub_mm_init_region): Change the type of the
32026 `unsigned' arguments to `grub_size_t'.
32027 (grub_malloc): Likewise.
32028 (grub_realloc): Likewise.
32029 (grub_memalign): Likewise.
32030 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
32031 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32032 * util/misc.c (grub_malloc): Likewise.
32033 (grub_realloc): Likewise.
32034 * kern/mm.c (get_header_from_pointer): Change the casts to
32035 `unsigned' into a cast to `grub_size_t'.
32036
32037 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
32038 point to `currnode' when `currnode' is changed.
32039
32040 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
32041 Schottelius <nico-linux@schottelius.org>.
32042
d0ff18e1 320432005-01-09 Hollis Blanchard <hollis@penguinppc.org>
32044
32045 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
32046 (note_path): Remove variable.
32047 (GRUB_IEEE1275_NOTE_NAME): New macro.
32048 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
32049 (grub_ieee1275_note_hdr): New structure.
32050 (grub_ieee1275_note_desc): Likewise.
32051 (grub_ieee1275_note): Likewise.
32052 (load_note): Remove `dir' argument. All callers updated. Remove
32053 `note_img' and `path'. Do not load a file from `note_path'.
32054 Initialize a struct grub_ieee1275_note and write that to `out'.
32055 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
32056
4ca7004c 320572005-01-05 Marco Gerards <metgerards@student.han.nl>
32058
32059 * util/misc.c (grub_util_read_image): Revert last change. It
32060 called `grub_util_read_at', which seeks from the beginning of the
32061 file.
32062
0b412211 320632005-01-04 Hollis Blanchard <hollis@penguinppc.org>
32064
32065 * TODO: Add note about endianness in grub-mkimage.
32066 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
32067 section.
32068 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
32069 (grub_mkimage_SOURCES): New target.
32070 * include/grub/kernel.h (grub_start_addr): Remove variable.
32071 (grub_end_addr): Likewise.
32072 (grub_total_module_size): Likewise.
32073 (grub_kernel_image_size): Likewise.
32074 (GRUB_MODULE_MAGIC): New constant.
32075 (grub_module_info): New structure.
32076 (grub_arch_modules_addr): New prototype.
32077 (grub_get_end_addr): Remove prototype.
32078 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
32079 * include/grub/powerpc/ieee1275/kernel.h: New file.
32080 * include/grub/util/misc.h (grub_util_get_fp_size): New
32081 prototype.
32082 (grub_util_read_at): Likewise.
32083 (grub_util_write_image_at): Likewise.
32084 * kern/main.c (grub_get_end_addr): Remove function.
32085 (grub_load_modules): Call grub_arch_modules_addr instead of using
32086 grub_end_addr. Look for a grub_module_info struct in memory. Use
32087 the grub_module_info fields instead of calling grub_get_end_addr
32088 as loop conditions. Move grub_add_unused_region code here.
32089 (grub_add_unused_region): Remove function.
32090 * kern/i386/pc/init.c: Include grub/cache.h.
32091 (grub_machine_init): Remove call to grub_get_end_addr. Remove
32092 one call to add_mem_region.
32093 (grub_arch_modules_addr): New function.
32094 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
32095 (grub_total_module_size): Likewise.
32096 Include grub/machine/kernel.h.
32097 (grub_arch_modules_addr): New function.
32098 * util/grub-emu.c (grub_end_addr): Remove variable.
32099 (grub_total_module_size): Likewise.
32100 (grub_arch_modules_addr): New function.
32101 * util/misc.c: Include unistd.h.
32102 (grub_util_get_fp_size): New function.
32103 (grub_util_read_at): Likewise.
32104 (grub_util_write_image_at): Likewise.
32105 (grub_util_read_image): Call grub_util_read_at.
32106 (grub_util_write_image): Call grub_util_write_image_at.
32107 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
32108 additional memory in kernel_img for a struct grub_module_info.
32109 Fill in that grub_module_info.
32110 * util/powerpc/ieee1275/grub-mkimage.c: New file.
32111
458786f8 321122005-01-03 Hollis Blanchard <hollis@penguinppc.org>
32113
32114 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
32115 New function.
32116 * include/grub/powerpc/ieee1275/ieee1275.h
32117 (grub_ieee1275_milliseconds): New prototype.
32118 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
32119 Change to 1000.
32120 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
32121 grub_ieee1275_milliseconds.
32122
ac507d1b 321232005-01-03 Hollis Blanchard <hollis@penguinppc.org>
32124
32125 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
32126 variable.
32127 (find_options): New function.
32128 (cmain): Call find_options.
32129 * include/grub/powerpc/ieee1275/ieee1275.h
32130 (grub_ieee1275_realmode): New extern variable.
32131 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
32132 grub_map if grub_ieee1275_realmode is false.
32133
6b8fd1c4 321342004-12-29 Marco Gerards <metgerards@student.han.nl>
32135
32136 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
32137 lines are inserted and make it work like readline. Reported by
32138 Vincent Pelletier <subdino2004@yahoo.fr>.
32139
8514a1e0 321402004-12-28 Marco Gerards <metgerards@student.han.nl>
32141
32142 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
32143
32144 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
32145 `kern/powerpc/cache.S'.
32146
924b6140 321472004-12-27 Marco Gerards <metgerards@student.han.nl>
32148
32149 * genmk.rb: Handle the `Program' class in the main loop. Written
32150 by Johan Rydberg <jrydberg@gnu.org>.
32151 (Program): New class.
32152 (programs): New variable.
32153 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
32154 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
32155 instead of "grub/kernel.h". Include <grub/machine/init.h>.
32156 (help_arch): Function removed.
32157 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
32158 `powerpc/libgcc.h' and `loader.h'.
32159 (pkgdata_PROGRAMS): New variable.
32160 (sbin_UTILITIES): Variable removed.
32161 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
32162 (grubof_SOURCES): Variable re-defined so it only includes the
32163 core functionality.
32164 (grubof_CFLAGS): Remove `-DGRUBOF'.
32165 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
32166 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
32167 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
32168 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
32169 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
32170 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
32171 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
32172 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
32173 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
32174 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
32175 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
32176 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
32177 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
32178 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
32179 (pc_mod_CFLAGS): New variables.
32180 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
32181 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
32182 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
32183 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
32184 Moved from here...
32185 * include/grub/i386/pc/init.h (grub_os_area_addr)
32186 (rub_os_area_size): ... to here.
32187 * include/grub/powerpc/ieee1275/ieee1275.h
32188 (grub_ieee1275_entry_fn): Export symbol.
32189 * include/grub/powerpc/ieee1275/init.h: New file.
32190 * include/grub/powerpc/libgcc.h: Likewise.
32191 * include/grub/cache.h: Likewise.
32192 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
32193 <hollis@penguinppc.org>.
32194 * kern/dl.c: Include <grub/cache.h>.
32195 (grub_dl_flush_cache): New function.
32196 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
32197 for this module.
32198 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
32199 (grub_console_init): Removed prototypes.
32200 (grub_machine_init): Don't initialize the modules anymore.
32201 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
32202 static.
32203 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
32204 Macro undef removed.
32205 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
32206 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
32207 relocation `R_PPC_REL32'. Return an error when the relocation is
32208 unknown.
32209 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
32210 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
32211 * util/misc.c (grub_arch_sync_caches): Likewise.
32212
e4b47e0c 322132004-12-19 Marco Gerards <metgerards@student.han.nl>
32214
32215 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
32216 `symlist.c', add `grubof_symlist.c'.
32217 (symlist.c): Variable removed.
32218 (grubof_HEADERS): Variable added.
32219 (grubof_symlist.c): New target.
32220 (kernel_syms.lst): Use `grubof_HEADERS' instead of
32221 `kernel_img_HEADERS'.
32222 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
32223 * kern/powerpc/dl.c: New file.
32224 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
32225 Function removed.
32226 (grub_arch_dl_relocate_symbols): Likewise.
32227 (grub_register_exported_symbols): Likewise.
32228
4ceb3636 322292004-12-13 Marco Gerards <metgerards@student.han.nl>
32230
32231 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
32232 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
32233 to fail instead. Reported by Vincent Pelletier
32234 <subdino2004@yahoo.fr>.
32235
32236 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
32237 it is not allocated. Reported by Vincent Pelletier
32238 <subdino2004@yahoo.fr>.
32239
32240 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
32241 output so the output looks better.
f19dbdb7 32242
3f1578fe 322432004-12-04 Marco Gerards <metgerards@student.han.nl>
32244
32245 Modulize the partition map support and add support for the amiga
32246 partition map.
f19dbdb7 32247
3f1578fe 32248 * commands/ls.c: Include <grub/partition.h> instead of
32249 <grub/machine/partition.h>.
32250 * kern/disk.c: Likewise.
32251 * kern/rescue.c: Likewise.
32252 * loader/i386/pc/chainloader.c: Likewise.
32253 * normal/cmdline.c: Likewise.
32254 * kern/powerpc/ieee1275/init.c: Likewise.
32255 (grub_machine_init): Call `grub_pc_partition_map_init',
32256 `grub_amiga_partition_map_init' and
32257 `grub_apple_partition_map_init'.
32258 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
32259 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
32260 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
32261 `partition.h' and `pc_partition.h'.
32262 (grub_setup_SOURCES): Remove
32263 `disk/i386/pc/partition.c'. Add `kern/partition.c',
32264 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
32265 (grub_emu_SOURCES): Likewise.
32266 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
32267 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
32268 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
32269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
32270 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
32271 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
32272 (grubof_SOURCES): Likewise.
32273 * disk/i386/pc/partition.c: File removed.
32274 * disk/powerpc/ieee1275/partition.c: Likewise.
32275 * include/grub/powerpc/ieee1275/partition.h: Likewise.
32276 * include/grub/i386/pc/partition.h: Likewise.
32277 * kern/partition.c: New file.
32278 * partmap/amiga.c: Likewise.
32279 * partmap/apple.c: Likewise.
32280 * partmap/pc.c: Likewise.
32281 * include/grub/partition.h: Likewise..
32282 * include/grub/pc_partition.h: Likewise.
32283 * util/grub-emu.c: Include <grub/partition.h> instead of
32284 <grub/machine/partition.h>.
32285 (main): Call `grub_pc_partition_map_init',
32286 `grub_amiga_partition_map_init' and
32287 `grub_apple_partition_map_init' and deinitialize afterwards.
32288 * util/i386/pc/biosdisk.c: Include `#include
32289 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
32290 `<grub/machine/partition.h>'.
32291 * util/i386/pc/grub-setup.c: Likewise.
32292 * util/i386/pc/biosdisk.c: Likewise.
32293 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
32294 partition information in case of a PC partition.
32295 * util/i386/pc/grub-setup.c: Include `#include
32296 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
32297 `<grub/machine/partition.h>'.
32298 (setup): Only access the PC specific partition information in case
32299 of a PC partition.
32300
0ef4ced9 323012004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 32302
0ef4ced9 32303 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
32304 (grub_longjmp): Likewise.
32305 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
32306 20.
32307 * normal/powerpc/setjmp.S: New file.
32308 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
32309 `normal/powerpc/setjmp.S'.
32310 (grubof_CFLAGS): Add `-DGRUBOF'.
32311 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
32312 [GRUB_UTIL && !GRUBOF].
f19dbdb7 32313
19950e29 323142004-11-16 Marco Gerards <metgerards@student.han.nl>
32315
32316 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
32317 property named `name'. Correctly handle the error returned by
32318 `grub_ieee1275_finddevice' if a device can not be opened.
32319
a2fea427 323202004-11-02 Hollis Blanchard <hollis@penguinppc.org>
32321
32322 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
32323 `actual' for negativity.
32324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
32325 kern/fshelp.c.
32326
41ea0ea3 323272004-11-01 Marco Gerards <metgerards@student.han.nl>
32328
32329 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
32330 (PAGE_OFFSET): New macro.
32331 (CRTC_ADDR_PORT): Likewise.
32332 (CRTC_DATA_PORT): Likewise.
32333 (START_ADDR_HIGH_REGISTER): Likewise.
32334 (START_ADDR_LOW_REGISTER): Likewise.
32335 (GRAPHICS_ADDR_PORT): Likewise.
32336 (GRAPHICS_DATA_PORT): Likewise.
32337 (READ_MAP_REGISTER): Likewise.
32338 (INPUT_STATUS1_REGISTER): Likewise.
32339 (INPUT_STATUS1_VERTR_BIT): Likewise.
32340 (page): New variable.
32341 (wait_vretrace): New function.
32342 (set_read_map): Likewise.
32343 (set_start_address): Likewise.
32344 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
32345 the right page.
32346 (check_vga_mem): Take the page into account.
32347 (write_char): Likewise.
32348 (write_cursor): Likewise.
32349 (scroll_up): Likewise. Copy the page to the page that is not
32350 shown and switch between both pages.
32351 (grub_vga_putchar): Fix off by one error.
32352 (grub_vga_cls): Wait for the vertical retrace. Take the page into
32353 account.
32354
ad0bd20b 323552004-11-01 Marco Gerards <metgerards@student.han.nl>
32356
32357 Add support for iso9660 (including rockridge).
f19dbdb7 32358
ad0bd20b 32359 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
32360 (iso9660_mod_SOURCES): New variable.
32361 (iso9660_mod_CFLAGS): Likewise.
32362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
32363 * include/grub/fs.h (grub_iso9660_init): New prototype.
32364 * util/grub-emu.c (main): Call `grub_iso9660_init'.
32365 * fs/iso9660.c: New file.
32366
32367 * include/grub/misc.h (grub_strncat): New prototype.
32368 * kern/misc.c (grub_strncat): New function.
f19dbdb7 32369
ad0bd20b 32370 * fs/hfs.c (grub_hfs_mount): Translate the error
32371 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
32372 * fs/jfs.c (grub_jfs_mount): Likewise.
32373 * fs/ufs.c (grub_ufs_mount): Likewise.
32374
a5477a59 323752004-10-28 Hollis Blanchard <hollis@penguinppc.org>
32376
32377 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
32378 which initialized BAT registers.
32379 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
32380 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
32381 Move from here...
32382 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
32383 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
32384 ... to here.
32385 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
32386 (grub_mapclaim): Likewise.
32387 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
32388 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
32389 hand.
32390
9304c1f8 323912004-10-19 Hollis Blanchard <hollis@penguinppc.org>
32392
32393 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
32394 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
32395 -ffreestanding and -msoft-float.
32396
86f4ae25 323972004-10-15 Hollis Blanchard <hollis@penguinppc.org>
32398
32399 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
32400 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
32401 set in grub_ieee1275_flags.
32402
38912228 324032004-10-14 Hollis Blanchard <hollis@penguinppc.org>
32404
32405 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
32406 prototype.
32407 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
32408 grub_console_init first.
32409 Change the memory range used for grub_ieee1275_claim and
32410 grub_mm_init_region.
32411 Print an error message if the claim fails.
32412 Include <grub/misc.h>.
32413
d1923dc8 324142004-10-13 Hollis Blanchard <hollis@penguinppc.org>
32415
32416 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
32417 Call grub_children_iterate for device nodes of type `scsi',
32418 `ide', or `ata'.
32419 (grub_ofdisk_open): Remove manual device alias resolution.
32420 Fix memory leak when device cannot be opened.
f19dbdb7 32421 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 32422 (grub_children_iterate): New prototype.
32423 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
32424 New function.
32425 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32426 Return -1 if args.size was -1.
32427
4512e4f3 324282004-10-11 Hollis Blanchard <hollis@penguinppc.org>
32429
32430 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
32431 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
32432 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
32433 Open Firmware's memory for it; claim memory from _start to _end.
32434 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
32435 (_end): New extern.
32436 (_start): Zero BSS from __bss_start to _end.
32437 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32438 New extern.
32439 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
32440
4d61feb0 324412004-10-11 Hollis Blanchard <hollis@penguinppc.org>
32442
ad0bd20b 32443 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
32444 -1 if args.base was -1.
4d61feb0 32445
026fa2f9 324462004-10-08 Hollis Blanchard <hollis@penguinppc.org>
32447
32448 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
32449 escape sequence instead of a literal ^L. Also call
32450 grub_ofconsole_gotoxy.
32451
9f2220ef 324522004-10-03 Hollis Blanchard <hollis@penguinppc.org>
32453
32454 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
32455 void * arguments to grub_addr_t. All callers updated. Also make
32456 the `result' argument optional.
32457 (grub_ieee1275_release): change void * arguments to grub_addr_t.
32458 All callers updated.
32459
8a572cd7 324602004-09-22 Hollis Blanchard <hollis@penguinppc.org>
32461
32462 * commands/ls.c (grub_ls_list_files): Use the string following the
32463 initial ')', if present, as the filesystem path.
32464 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
32465
32466 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
32467
18aa81f2 324682004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
32469
32470 Make the source code of the menu interface more readable.
f19dbdb7 32471
18aa81f2 32472 * normal/menu.c: Include grub/mm.h.
32473 (TERM_WIDTH): New macro.
32474 (TERM_HEIGHT): Likewise.
32475 (TERM_INFO_HEIGHT): Likewise.
32476 (TERM_MARGIN): Likewise.
32477 (TERM_SCROLL_WIDTH): Likewise.
32478 (TERM_TOP_BORDER_Y): Likewise.
32479 (TERM_LEFT_BORDER_X): Likewise.
32480 (TERM_BORDER_WIDTH): Likewise.
32481 (TERM_MESSAGE_HEIGHT): Likewise.
32482 (TERM_BORDER_HEIGHT): Likewise.
32483 (TERM_NUM_ENTRIES): Likewise.
32484 (TERM_FIRST_ENTRY_Y): Likewise.
32485 (TERM_ENTRY_WIDTH): Likewise.
32486 (TERM_CURSOR_X): Likewise.
32487 (draw_border): Use macros instead of magic numbers.
32488 (print_entry): Likewise.
32489 (print_entries): Likewise.
32490 (run_menu): Likewise. Also, handle the key 'e'.
32491 (run_menu_entry): Ignore empty command lines.
32492 (print_message): Added a new argument EDIT. If EDIT is true,
32493 print a different message.
32494 (init_page): Likewise.
32495 (edit_menu_entry): New function. Not implemented yet.
32496
b47efe30 324972004-09-17 Marco Gerards <metgerards@student.han.nl>
32498
32499 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
32500 can be loaded from normal mode.
f19dbdb7 32501
b47efe30 32502 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
32503 `multiboot.mod'.
32504 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
32505 (multiboot_mod_CFLAGS): New variables.
32506 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 32507 * loader/i386/pc/multiboot_normal.c: Likewise.
32508
b47efe30 32509 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
32510 attribute `unused'.
f19dbdb7 32511
b47efe30 32512 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
32513 `fdiro' to read the mode information from instead of `diro'.
32514
32515 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
32516 looking up a symlink.
32517
32518 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
32519 macro.
32520 * normal/command.c (grub_command_execute): Don't parse the
32521 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
32522 flags of the command.
32523
32524 * normal/menu.c (grub_menu_run): Fix typo.
32525
da75ac71 325262004-09-14 Hollis Blanchard <hollis@penguinppc.org>
32527
32528 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
32529
32530 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
32531 `y + 1' instead of `y - 1'.
32532
32533 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 32534
062b24c2 325352004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
32536
32537 From Hollis Blanchard <hollis@penguinppc.org>:
32538 * kern/misc.c (memmove): New alias for grub_memmove.
32539 (memcmp): New alias for grub_memcmp.
32540 (memset): New alias for grub_memset.
f19dbdb7 32541 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 32542 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 32543 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 32544 (grub_ieee1275_get_property): Likewise.
f19dbdb7 32545
8ddad845 325462004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
32547
32548 Added normal mode command `chainloader' as module chain.mod, which
32549 depends on normal.mod and _chain.mod.
f19dbdb7 32550
8ddad845 32551 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
32552 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
32553 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
32554 Deleted prototype.
32555 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
32556 but arguments parsing moved to ...
32557 (grub_chainloader_cmd): ... here. New function.
32558 * include/grub/i386/pc/chainloader.h: New file.
32559 * loader/i386/pc/chainloader_normal.c: Likewise.
32560
2c1f4ce3 325612004-09-11 Marco Gerards <metgerards@student.han.nl>
32562
32563 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
32564 (grub_mkimage_LDFLAGS): Likewise.
32565 (grub_emu_SOURCES): Likewise.
32566 (kernel_img_HEADERS): Added fshelp.h.
32567 * fs/ext2.c: Include <grub/fshelp.h>.
32568 (FILETYPE_REG): New macro.
32569 (FILETYPE_INO_REG): Likewise.
32570 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
32571 Changed all users.
32572 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
32573 all users.
32574 (grub_fshelp_node): New struct.
32575 (grub_ext2_data): Added member `diropen'. Changed member `inode'
32576 to a pointer.
32577 (grub_ext2_get_file_block): Removed function.
32578 (grub_ext2_read_block): New function.
32579 (grub_ext2_read_file): Replaced parameter `data' by `node'.
32580 This function was written.
32581 (grub_ext2_mount): Read the root inode. Create a diropen struct.
32582 (grub_ext2_find_file): Removed function.
32583 (grub_ext2_read_symlink): New function.
32584 (grub_ext2_iterate_dir): Likewise.
32585 (grub_ext2_open): Rewritten.
32586 (grub_ext2_dir): Rewritten.
32587 * include/grub/fshelp.h: New file.
32588 * fs/fshelp.c: Likewise.
32589
3c52136a 325902004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
32591
32592 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
32593 (print_message): Add a missing newline.
32594 (run_menu): Added timeout support.
32595 (run_menu_entry): New local function.
32596 (grub_menu_run): Added support for booting.
32597
32598 * kern/loader.c (grub_loader_is_loaded): New function.
32599
32600 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
32601 (grub_get_rtc): Exported.
32602
32603 * include/grub/i386/pc/time.h: Include grub/symbol.h.
32604 (grub_get_rtc): Exported.
32605
32606 * include/grub/normal.h (struct grub_command_list): Remove
32607 constant from the member `command'.
32608
32609 * include/grub/loader.h (grub_loader_is_loaded): Declared.
32610
32611 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
32612
32613 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
32614
aa033560 326152004-08-28 Marco Gerards <metgerards@student.han.nl>
32616
32617 Add support for the JFS filesystem.
32618
32619 * fs/jfs.c: New file.
32620 * include/grub/fs.h (grub_jfs_init): New prototype.
32621 (grub_jfs_fini): New prototype.
32622 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
32623 (grub_emu_SOURCES): Likewise.
32624 (pkgdata_MODULES): Add jfs.mod.
32625 (jfs_mod_SOURCES): New variable.
32626 (jfs_mod_CFLAGS): Likewise.
32627 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
32628 (grubof_SOURCES): Likewise.
32629 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
32630
32631 * fs/fat.c (grub_fat_find_dir): Convert the filename little
32632 endian to the host endian.
32633 (grub_fat_utf16_to_utf8): Move function from there...
32634 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 32635 the endianness of the source string anymore.
aa033560 32636 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
32637
94bc45af 326382004-08-24 Marco Gerards <metgerards@student.han.nl>
32639
32640 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
32641 (grub_boot_fini) [GRUB_UTIL]: Likewise.
32642 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
32643 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 32644
94bc45af 32645 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
32646 (grub_hfs_iterate_dir): Make the function static. Add prototypes
32647 for `node_found' and `it_dir'.
32648 (grub_hfs_dir): Add prototype for `dir_hook'.
32649
32650 * fs/minix.c (grub_minix_get_file_block): Add prototype for
32651 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
32652 and `indir32' to silence a gcc warning.
32653
32654 * include/grub/fs.h (grub_hfs_init): New prototype.
32655 (grub_hfs_fini): Likewise.
f19dbdb7 32656
32657
97543f08 326582004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
32659
32660 Each disk device has its own id now. This is useful to make use
32661 of multiple disk devices.
f19dbdb7 32662
97543f08 32663 * include/grub/disk.h (grub_disk_dev_id): New enum.
32664 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
32665 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
32666
32667 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
32668 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
32669
32670 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
32671 GRUB_DISK_DEVICE_OFDISK_ID as an id.
32672
32673 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
32674 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
32675
32676 * include/grub/disk.h (struct grub_disk_dev): Added a new member
32677 "id" which is used by the cache manager.
32678
32679 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
32680 of just "GRUB".
32681
64372eb4 326822004-08-18 Marco Gerards <metgerards@student.han.nl>
32683
32684 * fs/hfs.c: New file.
32685 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
32686 (grub_emu_SOURCES): Likewise.
32687 (pkgdata_MODULES): Add hfs.mod.
32688 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
32689 (grubof_SOURCES): Likewise.
32690 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
32691
32692 * include/grub/misc.h (grub_strncasecmp): Add prototype.
32693 * kern/misc.c (grub_strncasecmp): Add function.
32694
cc61b58f 326952004-08-14 Marco Gerards <metgerards@student.han.nl>
32696
32697 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
32698 with parentheses.
32699
32700 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
32701 (grub_ext2_dir): In case the directory entry type is unknown, read
32702 it from the inode.
32703
0ef123f6 327042004-08-02 Peter Bruin <pjbruin@dds.nl>
32705
32706 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
32707 grub_load_linux instead of grub_rescue_cmd_linux as second
32708 argument of grub_rescue_register_command.
32709
32710 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
32711
a447c5df 327122004-07-27 Marco Gerards <metgerards@student.han.nl>
32713
32714 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
32715 function.
32716 * commands/boot.c: Remove the check for `GRUB_UTIL'.
32717 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
32718 `loader/powerpc/ieee1275/linux.c',
32719 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
32720 * include/grub/powerpc/ieee1275/ieee1275.h
32721 (grub_ieee1275_release): New prototype.
32722 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
32723 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
32724 normal, boot, linux and linux_normal.
32725 * loader/powerpc/ieee1275/linux.c: New file.
32726 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32727
5a9e3546 327282004-07-12 Marco Gerards <metgerards@student.han.nl>
32729
32730 * normal/arg.c (grub_arg_parse): Correct error handling after
32731 reallocating the argumentlist (check if `argl' is not null instead
32732 of checking if `args' is not null).
32733 * kern/mm.c (grub_realloc): Return the same pointer when using the
32734 same region, instead of returning the header address.
32735
e15199cb 327362004-07-11 Marco Gerards <metgerards@student.han.nl>
32737
32738 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
32739 one block instead of two when looking for the initial partition.
32740 (grub_partition_probe): Initialize the local variable `p' with 0.
32741 Use base 10 for the grub_strtoul call.
32742 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
32743 need for one local variable.
32744 (grub_strtoul): Don't add the new value to `num', instead of that
32745 just assign it.
32746
020616c2 327472004-07-11 Marco Gerards <metgerards@student.han.nl>
32748
32749 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
32750 (pxeboot_img_SOURCES): New variable.
32751 (pxeboot_img_ASFLAGS): Likewise.
32752 (pxeboot_img_LDFLAGS): Likewise.
32753 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
32754 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
32755 <lode_leroy@hotmail.com>.
32756
6c51eb64 327572004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32758
32759 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
32760 there was no input.
32761
cfb12aff 327622004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32763
32764 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
32765 the history buffer logic.
32766
6eabba74 327672004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32768
32769 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
32770 (FILETYPE_INO_SYMLINK): New macros.
32771 (grub_ext2_find_file): Check if the node is a directory using the
32772 inode stat information instead of using the filetype in the
32773 dirent. Exclude the first character of an absolute symlink.
32774 (grub_ext2_dir): Mask out the filetype part of the mode member of
32775 the inode.
32776
66e19ef8 327772004-05-24 Marco Gerards <metgerards@student.han.nl>
32778
32779 Add support for UFS version 1 and 2. Add support for the minix
32780 filesystem version 1 and 2, both the variants with 14 and 30 long
32781 filenames.
f19dbdb7 32782
66e19ef8 32783 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
32784 fs/minix.c.
32785 (grub_emu_SOURCES): Likewise.
32786 (pkgdata_MODULES): Add ufs.mod and minix.mod.
32787 (ufs_mod_SOURCES): New variable.
32788 (ufs_mod_CFLAGS): Likewise.
32789 (minix_mod_SOURCES): Likewise.
32790 (minix_mod_CFLAGS): Likewise.
32791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
32792 fs/minix.c.
32793 (grubof_SOURCES): Likewise.
32794 * fs/ufs.c: New file.
32795 * fs/minix.c: New file.
32796 * include/grub/fs.h (grub_ufs_init): New prototype.
32797 (grub_ufs_fini): Likewise.
32798 (grub_minix_init): Likewise.
32799 (grub_minix_fini): Likewise.
32800 * util/grub-emu.c (main): Initialize and deinitialize UFS and
32801 minix fs.
32802
cc2e748a 328032004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
32804
32805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
32806 commands/ls.c, commands/terminal.c, commands/boot.c,
32807 commands/cmp.c and commands/cat.c.
32808 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
32809
32810 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
32811 "env.h"
32812
4b13b216 328132004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32814
32815 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
32816 and grub_, respectively. Because the conversion is trivial and
32817 mechanical, I omit the details here. Please refer to the CVS
32818 if you need more information.
32819
6a142551 328202004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32821
32822 * include/pupa: Renamed to ...
32823 * include/grub: ... this.
32824 * util/i386/pc/pupa-mkimage.c: Renamed to ...
32825 * util/i386/pc/grub-mkimage.c: ... this.
32826 * util/i386/pc/pupa-setup.c: Renamed to ...
32827 * util/i386/pc/grub-setup.c: ... this.
32828 * util/pupa-emu.c: Renamed to ...
32829 * util/grub-emu.c: ... this.
32830
e56cdf21 328312004-03-29 Marco Gerards <metgerards@student.han.nl>
32832
32833 Add support for the newworld apple macintosh (PPC). This has been
32834 tested on the powerbook 2000 only. It only adds support for
32835 generic ieee1275 functions, console and disk support. This should
32836 be easy to port to other architectures with support for Open
32837 Firmware.
f19dbdb7 32838
e56cdf21 32839 * configure.ac: Accept the powerpc as host_cpu. In the case of
32840 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
32841 specific tests are only executed while building for the i386.
32842 Inverse test for crosscompile.
32843 * genmk.rb (Utility): Allow assembler files.
32844 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
32845 * conf/powerpc-ieee1275.rmk: New file.
32846 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
32847 * disk/powerpc/ieee1275/partition.c: Likewise.
32848 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
32849 * include/pupa/powerpc/ieee1275/console.h: Likewise.
32850 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
32851 * include/pupa/powerpc/ieee1275/time.h: Likewise.
32852 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
32853 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
32854 * include/pupa/powerpc/ieee1275/loader.h
32855 * include/pupa/powerpc/setjmp.h: Likewise.
32856 * include/pupa/powerpc/types.h: Likewise.
32857 * kern/powerpc/ieee1275/init.c: Likewise.
32858 * kern/powerpc/ieee1275/openfw.c: Likewise.
32859 * term/powerpc/ieee1275/ofconsole.c: Likewise.
32860
32861 These files were written by Johan Rydberg
32862 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 32863
e56cdf21 32864 * boot/powerpc/ieee1275/cmain.c: New file.
32865 * boot/powerpc/ieee1275/crt0.S: Likewise.
32866 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
32867 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
32868
8c8cc205 328692004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
32870
32871 * Makefile.in: Update copyright.
32872 * genmodsrc.sh: Likewise.
32873 * gensymlist.sh: Likewise.
32874 * term/i386/pc/vga.c: Indent correctly.
32875
32876 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
32877 bugreporting address.
32878 * util/i386/pc/pupa-setup.c (usage): Likewise,
32879 (main): Call pupa_ext2_init and pupa_ext2_fini.
32880
f19dbdb7 32881 * fs/fat.c (log2): Renamed to ...
8c8cc205 32882 (fat_log2): ... this.
32883 All callers changed.
32884 * kern/misc.c (memcpy): Alias to pupa_memmove.
32885 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
32886 lvalue cast.
32887 * util/console.c (pupa_ncurses_fini): Return 0.
32888
32889 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
32890 Move fail label here.
32891 [__GNU__]: Don't warn when using stat.
32892 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
32893 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
32894 long int. Use strtol instead of strtoul.
f19dbdb7 32895
db1771cf 328962004-03-14 Marco Gerards <metgerards@student.han.nl>
32897
32898 * commands/boot.c: New file.
32899 * commands/cat.c: Likewise.
32900 * commands/cmp.c: Likewise.
32901 * commands/ls.c: Likewise.
32902 * commands/terminal.c: Likewise.
32903 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
32904 (pupa_register_command): Changed interface to match the new
32905 argument parser.
32906 (pupa_command_execute): Changed (almost rewritten) so it uses
32907 pupa_split_command. Added support for setting variables using the
32908 syntax `foo=bar'.
32909 (rescue_command): Changed to work with the new argument parser.
32910 (terminal_command): Moved from here to commands/terminal.c.
32911 (set_command): New function.
32912 (unset_command): New function.
32913 (insmod_command): New function.
32914 (rmmod_command): New function.
32915 (lsmod_command): New function.
32916 (pupa_command_init): Don't initialize the command terminal
32917 anymore. Initialize the commands set, unset, insmod, rmmod and
32918 lsmod.
32919 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
32920 (kernel_img_HEADERS): Add arg.h and env.h.
32921 (pupa_mkimage_LDFLAGS): Add kern/env.c.
32922 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
32923 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
32924 normal/arg.c.
32925 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
32926 terminal.mod.
32927 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
32928 (boot_mod_SOURCES): New variable.
32929 (terminal_mod_SOURCES): Likewise.
32930 (ls_mod_SOURCES): Likewise.
32931 (cmp_mod_SOURCES): Likewise.
32932 (cat_mod_SOURCES): Likewise.
32933
32934 * normal/arg.c: New file.
32935 * kern/env.c: Likewise.
32936 * include/pupa/arg.h: Likewise.
32937 * include/pupa/env.h: Likewise.
32938 * font/manager.c (font_command): Changed to match argument parsing
32939 interface changes.
32940 (PUPA_MOD_INIT): Likewise.
32941 * hello/hello.c (pupa_cmd_hello): Likewise.
32942 (PUPA_MOD_INIT): Likewise.
32943 * include/pupa/disk.h: Include <pupa/device.h>.
32944 (pupa_print_partinfo): New prototype.
32945 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
32946 (pupa_dl_get_prefix): Likewise.
32947 * include/pupa/misc.h: Include <pupa/err.h>.
32948 (pupa_isgraph): New prototype.
32949 (pupa_isdigit): Likewise.
32950 (pupa_split_cmdline): Likewise.
32951 * include/pupa/normal.h: Include <pupa/arg.h>.
32952 (pupa_command): Changed the prototype of the member `func' to
32953 match the argument parsing interface. Added member `options'.
32954 (pupa_register_command): Updated to match function.
32955 (pupa_arg_parse): New prototype.
32956 (pupa_hello_init) [PUPA_UTIL]: New prototype.
32957 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
32958 (pupa_ls_init) [PUPA_UTIL]: Likewise.
32959 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
32960 (pupa_cat_init) [PUPA_UTIL]: Likewise.
32961 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
32962 (pupa_boot_init) [PUPA_UTIL]: Likewise.
32963 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
32964 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
32965 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
32966 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
32967 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
32968 * kern/disk.c: Include <pupa/file.h>.
32969 (pupa_print_partinfo): New function.
32970 * kern/dl.c: Include <pupa/env.h>.
32971 (pupa_dl_dir): Variable removed.
32972 (pupa_dl_load): Use the environment variable `prefix' instead of
32973 the variable pupa_dl_dir.
32974 (pupa_dl_set_prefix): Function removed.
32975 (pupa_dl_get_prefix): Likewise.
32976 * kern/i386/pc/init.c: Include <pupa/env.h>.
32977 (pupa_machine_init): Use the environment variable `prefix' instead of
32978 using pupa_dl_set_prefix to set the prefix.
32979 * kern/main.c: Include <pupa/env.h>.
32980 (pupa_set_root_dev): Use the environment variable `prefix' instead of
32981 using pupa_dl_get_prefix to get the prefix.
32982 * kern/misc.c: Include <pupa/env.h>.
32983 (pupa_isdigit): New function.
32984 (pupa_isgraph): Likewise.
32985 (pupa_ftoa): Likewise.
32986 (pupa_vsprintf): Added support for printing values of the type
32987 `double'. Make it possible to format variable output when using
32988 formatting like `%1.2%f'.
32989 (pupa_split_cmdline): New function.
32990 * kern/rescue.c: Include <pupa/env.h>.
32991 (next_word): Removed function.
32992 (pupa_rescue_cmd_prefix): Likewise.
32993 (pupa_rescue_cmd_set): New function.
32994 (pupa_rescue_cmd_unset): New function.
32995 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
32996 split the command line instead of splitting it here. Added
32997 support for setting variables using the syntax `foo=bar'. Don't
32998 initialize the prefix command anymore. Initialized the set and
32999 unset commands.
33000 * normal/cmdline.c: Include <pupa/env.h>.
33001 (pupa_tab_complete): Added prototypes for print_simple_completion,
33002 print_partition_completion, add_completion, iterate_commands,
33003 iterate_dev, iterate_part and iterate_dir. Moved code to print
33004 partition information from here to kern/disk.c.
fe6b695a 33005 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 33006 * normal/main.c: Include <pupa/env.h>.
33007 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
33008 instead of using pupa_dl_get_prefix to get the prefix.
33009 * term/i386/pc/vga.c: Include <pupa/arg.h>.
33010 (check_vga_mem): Cast pointers to `void *' to silence a gcc
33011 warning.
33012 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
33013 (pupa_vga_setcolor): Declare unused variables with `__attribute__
33014 ((unused))' to silence a gcc warning.
33015 (pupa_vga_setcolor): Likewise.
33016 (debug_command): Changed to match argument parsing
33017 interface changes.
33018 * util/pupa-emu.c: Include <pupa/env.h>.
33019 (options): Added 0's for unused fields to silence a gcc warning.
33020 (argp): Likewise.
33021 (main): Use the environment variable `prefix' instead of using
33022 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
33023 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
33024 and terminal.
33025
33026 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
33027 * util/misc.c: Include <malloc.h>.
33028 (pupa_malloc): Rewritten so errors are correctly reported.
33029 (pupa_realloc): Likewise.
33030 (pupa_memalign): Likewise.
33031 (pupa_mm_init_region): Declare unused variables with
33032 `__attribute__ ((unused))' to silence a gcc warning.
33033 * normal/i386/setjmp.S: Remove tab at the end of the file to
33034 silence a gcc warning.
33035 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
33036 variables with `__attribute__ ((unused))' to silence a gcc
33037 warning.
33038 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
33039 local variable i unsigned to silence a gcc warning.
33040
33041 * kern/term.c: Include <pupa/misc.h>.
33042 (pupa_more_lines): New variable.
33043 (pupa_more): Likewise.
33044 (pupa_putcode): When the pager is active pause at the end of every
33045 screen.
33046 (pupa_set_more): New function.
33047 * include/pupa/term.h (pupa_set_more): New prototype.
33048
33049
3b1139cb 330502004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
33051
33052 Now this project is GRUB 2 rather than PUPA. The location of
33053 the CVS repository was moved to GRUB's.
f19dbdb7 33054
3b1139cb 33055 * configure.ac: Use bug-grub as the reporting address.
33056 Use GRUB instead of PUPA.
33057 Change the version number to 1.90.
33058
8367695c 330592004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
33060
33061 * genkernsyms.sh: Updated copyright information.
33062 * genmk.rb: Likewise.
33063 * genmodsrc.sh: Likewise.
33064 * gensymlist.sh: Likewise.
33065 * boot/i386/pc/boot.S: Likewise.
33066 * boot/i386/pc/diskboot.S: Likewise.
33067 * disk/i386/pc/biosdisk.c: Likewise.
33068 * disk/i386/pc/partition.c: Likewise.
33069 * font/manager.c: Likewise.
33070 * fs/ext2.c: Likewise.
33071 * fs/fat.c: Likewise.
33072 * include/pupa/boot.h: Likewise.
33073 * include/pupa/device.h: Likewise.
33074 * include/pupa/disk.h: Likewise.
33075 * include/pupa/dl.h: Likewise.
33076 * include/pupa/elf.h: Likewise.
33077 * include/pupa/err.h: Likewise.
33078 * include/pupa/file.h: Likewise.
33079 * include/pupa/font.h: Likewise.
33080 * include/pupa/fs.h: Likewise.
33081 * include/pupa/kernel.h: Likewise.
33082 * include/pupa/loader.h: Likewise.
33083 * include/pupa/misc.h: Likewise.
33084 * include/pupa/mm.h: Likewise.
33085 * include/pupa/net.h: Likewise.
33086 * include/pupa/normal.h: Likewise.
33087 * include/pupa/rescue.h: Likewise.
33088 * include/pupa/setjmp.h: Likewise.
33089 * include/pupa/symbol.h: Likewise.
33090 * include/pupa/term.h: Likewise.
33091 * include/pupa/types.h: Likewise.
33092 * include/pupa/i386/setjmp.h: Likewise.
33093 * include/pupa/i386/types.h: Likewise.
33094 * include/pupa/i386/pc/biosdisk.h: Likewise.
33095 * include/pupa/i386/pc/boot.h: Likewise.
33096 * include/pupa/i386/pc/console.h: Likewise.
33097 * include/pupa/i386/pc/init.h: Likewise.
33098 * include/pupa/i386/pc/kernel.h: Likewise.
33099 * include/pupa/i386/pc/linux.h: Likewise.
33100 * include/pupa/i386/pc/loader.h: Likewise.
33101 * include/pupa/i386/pc/memory.h: Likewise.
33102 * include/pupa/i386/pc/multiboot.h: Likewise.
33103 * include/pupa/i386/pc/partition.h: Likewise.
33104 * include/pupa/i386/pc/time.h: Likewise.
33105 * include/pupa/i386/pc/vga.h: Likewise.
33106 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
33107 * include/pupa/util/getroot.h: Likewise.
33108 * include/pupa/util/misc.h: Likewise.
33109 * include/pupa/util/resolve.h: Likewise.
33110 * kern/device.c: Likewise.
33111 * kern/disk.c: Likewise.
33112 * kern/dl.c: Likewise.
33113 * kern/err.c: Likewise.
33114 * kern/file.c: Likewise.
33115 * kern/fs.c: Likewise.
33116 * kern/loader.c: Likewise.
33117 * kern/main.c: Likewise.
33118 * kern/misc.c: Likewise.
33119 * kern/mm.c: Likewise.
33120 * kern/rescue.c: Likewise.
33121 * kern/term.c: Likewise.
33122 * kern/i386/dl.c: Likewise.
33123 * kern/i386/pc/init.c: Likewise.
33124 * kern/i386/pc/lzo1x.S: Likewise.
33125 * kern/i386/pc/startup.S: Likewise.
33126 * loader/i386/pc/chainloader.c: Likewise.
33127 * loader/i386/pc/linux.c: Likewise.
33128 * loader/i386/pc/multiboot.c: Likewise.
33129 * normal/cmdline.c: Likewise.
33130 * normal/command.c: Likewise.
33131 * normal/main.c: Likewise.
33132 * normal/menu.c: Likewise.
33133 * normal/i386/setjmp.S: Likewise.
33134 * term/i386/pc/console.c: Likewise.
33135 * term/i386/pc/vga.c: Likewise.
33136 * util/console.c: Likewise.
33137 * util/genmoddep.c: Likewise.
33138 * util/misc.c: Likewise.
33139 * util/pupa-emu.c: Likewise.
33140 * util/resolve.c: Likewise.
33141 * util/unifont2pff.rb: Likewise.
33142 * util/i386/pc/biosdisk.c: Likewise.
33143 * util/i386/pc/getroot.c: Likewise.
33144 * util/i386/pc/pupa-mkimage.c: Likewise.
33145 * util/i386/pc/pupa-setup.c: Likewise.
33146
e6eced71 331472004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
33148
33149 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
33150 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
33151 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
33152 reading and reset it after reading.
33153 (pupa_ext2_close): Return PUPA_ERR_NONE.
33154
33155 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
33156 Correct value.
33157 (struct linux_kernel_header): Add kernel_version and
33158 initrd_addr_max.
33159 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
33160 pupa_file_read succeeds.
33161 (pupa_rescue_cmd_initrd): Implement.
33162
5aded270 331632003-12-03 Marco Gerards <metgerards@student.han.nl>
33164
33165 * fs/ext2.c (pupa_ext2_label): New function.
33166 (pupa_ext2_fs): Added label.
33167 * fs/fat.c (pupa_fat_label): New function.
33168 (pupa_fat_fs): Added label.
33169 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
33170
33171 * kern/misc.c (pupa_strndup): New function.
33172 * include/pupa/misc.h (pupa_strndup): New prototype.
33173
33174 * include/pupa/normal.h: Include <pupa/err.h>.
33175 (pupa_set_history): New prototype.
33176 (pupa_iterate_commands): New prototype.
33177 * normal/cmdline.c: Include <pupa/machine/partition.h>,
33178 <pupa/disk.h>, <pupa/file.h>.
33179 (hist_size): New variable.
33180 (hist_lines): Likewise.
33181 (hist_end): Likewise.
33182 (hist_used): Likewise.
33183 (pupa_set_history): New function.
33184 (pupa_history_get): Likewise.
33185 (pupa_history_add): Likewise.
33186 (pupa_history_replace): Likewise.
33187 (pupa_tab_complete): Likewise.
33188 (pupa_cmdline_run): Added tab completion and history buffer. Tab
33189 completion shows partitionnames while completing partitions, this
33190 feature was suggested by Jeff Bailey.
33191 * normal/command.c (pupa_iterate_commands): New function.
33192 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
33193 (pupa_normal_init): Initialize history buffer.
33194 (PUPA_MOD_INIT): Likewise.
33195 (pupa_normal_fini): Free the history buffer.
33196 (PUPA_MOD_FINI): Likewise.
33197
33198 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
33199 key.
33200
33201 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
33202 * configure.ac [i386]: Check for regparam bug.
33203 (NESTED_FUNC_ATTR) [! i386]: Defined.
33204
1f7315a3 332052003-11-17 Marco Gerards <metgerards@student.han.nl>
33206
33207 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
33208 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
33209 (pupa_emu_SOURCES): New variable.
33210 (pupa_emu_LDFLAGS): Likewise.
33211 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
33212 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
33213 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
33214 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
33215 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
33216 (pupa_jmp_buf): New typedef.
33217 (pupa_setjmp) [PUPA_UTIL]: New macro.
33218 (pupa_longjmp) [PUPA_UTIL]: Likewise.
33219 * include/pupa/term.h (struct pupa_term): New member `refresh'.
33220 (pupa_refresh): New prototype.
33221 * include/pupa/util/getroot.h: New file.
33222 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
33223 it.
33224 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
33225 (pupa_rescue_cmd_cat): Likewise.
33226 (pupa_rescue_cmd_ls): Likewise.
33227 (pupa_rescue_cmd_testload): Likewise.
33228 (pupa_rescue_cmd_lsmod): Likewise.
33229 * normal/cmdline.c (pupa_cmdline_get): Likewise.
33230 * normal/menu.c (run_menu): Likewise.
33231 * kern/term.c (pupa_cls): Likewise.
33232 (pupa_refresh): New function.
33233 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
33234 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
33235 * util/console.c: New file.
f19dbdb7 33236
1f7315a3 33237 * util/i386/pc/getroot.c: New file.
33238 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
33239 (pupa_putchar): New function.
33240 (pupa_refresh): Likewise.
33241 (xgetcwd): Function moved to ...
33242 (strip_extra_slashes): Likewise.
33243 (get_prefix): Likewise.
f19dbdb7 33244 * util/i386/pc/getroot.c: ... here.
1f7315a3 33245 (find_root_device): Function moved and renamed to...
33246 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
33247 Changed all callers.
33248 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
33249 and renamed to...
33250 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
33251 Changed all callers.
33252 * util/misc.c (pupa_memalign): New function.
33253 (pupa_mm_init_region): Likewise.
33254 (pupa_register_exported_symbols): Likewise.
33255 (pupa_putchar): Function removed.
33256 * util/pupa-emu.c: New file.
33257
9a5c1ade 332582003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
33259
33260 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
33261 (_multiboot_mod_SOURCES): New variable.
33262 (_multiboot_mod_CFLAGS): Likewise.
33263 * loader/i386/pc/multiboot.c: New file.
33264 * include/pupa/i386/pc/multiboot.h: Likewise.
33265 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
33266 (pupa_multiboot_real_boot): New function.
33267 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
33268 (pupa_multiboot_real_boot): New prototype.
33269 (pupa_rescue_cmd_multiboot): Likewise
33270 (pupa_rescue_cmd_module): Likewise.
33271
33272 * kern/loader.c (pupa_loader_set): Continue when
33273 pupa_loader_unload_func() fails.
33274 (pupa_loader_unset): New function.
33275 * include/pupa/loader.h (pupa_loader_unset): New prototype.
33276
33277 * kern/misc.c (pupa_stpcpy): New function.
33278 * include/pupa/misc.h (pupa_stpcpy): New prototype.
33279
8e72a9c0 332802003-11-12 Marco Gerards <metgerards@student.han.nl>
33281
33282 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
33283 for available extensions.
33284
33285 * include/pupa/i386/pc/time.h: New file.
33286 * kern/disk.c: Include <pupa/machine/time.h>.
33287 (PUPA_CACHE_TIMEOUT): New macro.
33288 (pupa_last_time): New variable.
33289 (pupa_disk_open): Flush the cache when there was a timeout.
33290 (pupa_disk_close): Reset the timer.
33291 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
33292 pupa_currticks.
33293 * util/misc.c: Include <sys/times.h>
33294 (pupa_get_rtc): New function.
33295
c4adbd32 332962003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33297
33298 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
33299 as blocks.
33300 (pupa_ext2_get_file_block): Use blocks member.
33301
33302 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
33303 first block. Return -1 instead of pupa_errno on error.
33304
bfd30f06 333052003-10-27 Marco Gerards <metgerards@student.han.nl>
33306
33307 * README: In the pupa-mkimage example use _chain instead of chain
33308 and ext2 instead of fat.
33309 * TODO: Replace ext2fs with jfs as an example. Add an item for
33310 adding journal playback for ext2fs.
33311 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
33312 (pkgdata_MODULES): Added ext2.mod.
33313 (ext2_mod_SOURCES): New variable.
33314 (ext2_mod_CFLAGS): Likewise.
33315 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
33316 * include/pupa/misc.h (pupa_strncpy): New prototype.
33317 (pupa_strcat): Likewise.
33318 (pupa_strncmp): Likewise.
33319 * kern/misc.c (pupa_strcat): Enable function.
33320 (pupa_strncpy): New function.
33321 (pupa_strncmp): Likewise.
33322 * fs/ext2.c: New file.
f19dbdb7 33323
bfd30f06 33324 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
33325 when the read failed before retrying.
33326 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
33327 (_FILE_OFFSET_BITS): Likewise.
33328 * configure.ac: Added AC_SYS_LARGEFILE.
33329
98d15063 333302003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
33331
33332 * genmk.rb (PModule#rule): Make sure to get only symbol names
33333 from the output of nm.
59cad637 33334 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 33335
18d9c7cd 333362003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
33337
33338 I forgot to check in these changes for a long time. This adds
33339 incomplete support for VGA console, and this is still very
33340 buggy. Also, a lot of consideration is required for I18N,
33341 UNICODE, and VGA font issues. Therefore, assume that this is
33342 such that "better than nothing".
f19dbdb7 33343
18d9c7cd 33344 * font/manager.c: New file.
33345 * include/pupa/font.h: Likewise.
33346 * include/pupa/i386/pc/vga.h: Likewise.
33347 * term/i386/pc/vga.c: Likewise.
33348 * util/unifont2pff.rb: Likewise.
33349
33350 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
33351 (pkgdata_MODULES): Added vga.mod and font.mod.
33352 (vga_mod_SOURCES): New variables.
33353 (vga_mod_CFLAGS): Likewise.
33354 (font_mod_SOURCES): Likewise.
33355 (font_mod_CFLAGS): Likewise.
33356
33357 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
33358
33359 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 33360 (struct pupa_term): Added init and fini.
18d9c7cd 33361 Changed the argument of putchar to pupa_uint32_t.
33362
33363 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
33364 (pupa_console_real_putchar): New prototype.
33365 (pupa_console_putchar): Removed.
33366 (pupa_console_checkkey): Exported.
33367 (pupa_console_getkey): Likewise.
33368
33369 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
33370 characters.
33371
33372 * kern/term.c (pupa_term_set_current): Rewritten.
33373 (pupa_putchar): Likewise.
33374 (pupa_putcode): New function.
33375
33376 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
33377 (pupa_console_real_putchar): ... this.
33378 (pupa_vga_set_mode): New function.
33379 (pupa_vga_get_font): Likewise.
33380
33381 * normal/command.c: Include pupa/term.h.
33382 (terminal_command): New function.
33383 (pupa_command_init): Register the command "terminal".
33384
33385 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
33386 (DISP_UP): Likewise.
33387 (DISP_RIGHT): Likewise.
33388 (DISP_DOWN): Likewise.
33389 (DISP_HLINE): Likewise.
33390 (DISP_VLINE): Likewise.
33391 (DISP_UL): Likewise.
33392 (DISP_UR): Likewise.
33393 (DISP_LL): Likewise.
33394 (DISP_LR): Likewise.
33395
33396 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 33397
977329f5 333982003-02-08 NIIBE Yutaka <gniibe@m17n.org>
33399
33400 * util/resolve.c (pupa_util_resolve_dependencies): BUG
33401 FIX. Reverse the path_list.
33402
33403 * include/pupa/normal.h: Export pupa_register_command and
33404 pupa_unregister_command.
33405
33406 * hello/hello.c (pupa_cmd_hello): New module.
33407 * conf/i386-pc.rmk: Added hello.mod.
33408
1f5ab428 334092003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
33410
33411 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 33412
1f5ab428 33413 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
33414 (compress_kernel): New variable.
33415 (generate_image): Heavily modified to support compressing a
33416 large part of the core image.
33417
33418 * util/misc.c (pupa_util_read_image): Fix a file descriptor
33419 leak.
33420 (pupa_util_load_image): New function.
33421
33422 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
33423 (pupa_compressed_size): New variable.
33424 (codestart): Enable Gate A20 here.
33425 Decompress the compressed part of the core image.
33426 Rearrange the code to put functions and variables which are
33427 required for initialization in the non-compressed part.
33428 Include lzo1x.S.
33429
33430 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
33431 here.
33432
33433 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
33434
f19dbdb7 33435 * include/pupa/i386/pc/kernel.h
1f5ab428 33436 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
33437 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
33438 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
33439 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
33440 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
33441
33442 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
33443
33444 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
33445 (Utility#rule): Likewise.
33446
33447 * configure.ac: Check if LZO is available.
33448
ce5bf700 334492003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
33450
33451 * include/pupa/normal.h: New file.
33452 * include/pupa/setjmp.h: Likewise.
33453 * include/pupa/i386/setjmp.h: Likewise.
33454 * normal/cmdline.c: Likewise.
33455 * normal/command.c: Likewise.
33456 * normal/main.c: Likewise.
33457 * normal/menu.c: Likewise.
33458 * normal/i386/setjmp.S: Likewise.
f19dbdb7 33459
ce5bf700 33460 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
33461 (pupa_rescue_cmd_initrd): Likewise.
33462
33463 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
33464 Likewise.
33465
33466 * kern/i386/pc/startup.S (translation_table): New variable.
33467 (translate_keycode): New function.
33468 (pupa_console_getkey): Call translate_keycode.
33469
33470 * kern/rescue.c (attempt_normal_mode): New function.
33471 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
33472 it failed, print a message.
33473
33474 * kern/mm.c (pupa_real_malloc): Print more information when a
33475 free magic is broken.
33476 (pupa_free): If the first free header is not free actually, set
33477 it to P.
33478
33479 * kern/main.c (pupa_load_normal_mode): Just load the module
33480 "normal".
33481 (pupa_main): Don't print the message
33482 "Entering into rescue mode..." here.
33483
33484 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
33485 Declared.
33486 (pupa_rescue_cmd_initrd): Likewise.
33487 (pupa_rescue_cmd_initrd): Likewise.
33488
33489 * include/pupa/symbol.h (FUNCTION): Specify the type.
33490 (VARIABLE): Likewise.
33491
33492 * include/pupa/err.h (pupa_err_t): Added
33493 PUPA_ERR_UNKNOWN_COMMAND.
33494
33495 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
33496 (pupa_dl_get_prefix): Likewise.
33497
33498 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
33499 Added _chain.mod and _linux.mod instead of chain.mod and
33500 linux.mod.
33501 (chain_mod_SOURCES): Renamed to ...
33502 (_chain_mod_SOURCES): ... this.
33503 (chain_mod_CFLAGS): Renamed to ...
33504 (_chain_mod_CFLAGS): ... this.
33505 (linux_mod_SOURCES): Renamed to ...
33506 (_linux_mod_SOURCES): ... this.
33507 (linux_mod_CFLAGS): Renamed to ...
33508 (_linux_mod_CFLAGS): ... this.
33509 (normal_mod_SOURCES): New variable.
33510 (normal_mod_CFLAGS): Likewise.
33511 (normal_mod_ASFLAGS): Likewise.
33512
335132003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
33514
33515 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
33516 possible.
33517
fe6b695a 33518 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 33519 recursively.
33520 (pupa_dl_unref): Unrefer depending modules recursively.
33521 Don't call pupa_dl_unload implicitly, because PUPA can crash if
33522 a module is unloaded before one depending on that module is
33523 unloaded.
33524 (pupa_dl_unload): Unload depending modules explicitly,
33525 if possible.
33526
c04da074 335272003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
33528
33529 * include/pupa/i386/pc/linux.h: New file.
33530 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 33531
c04da074 33532 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
33533 Removed.
33534 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
33535 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
33536 of PUPA_CHAINLOADER_BOOT_SECTOR.
33537
33538 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
33539 (pupa_linux_prot_size): New variable.
33540 (pupa_linux_tmp_addr): Likewise.
33541 (pupa_linux_real_addr): Likewise.
33542 (pupa_linux_boot_zimage): New function.
33543 (pupa_linux_boot_bzimage): Likewise.
33544
33545 * kern/i386/pc/init.c (struct mem_region): New structure.
33546 (MAX_REGIONS): New macro.
33547 (mem_regions): New variable.
33548 (num_regions): Likewise.
33549 (pupa_os_area_addr): Likewise.
33550 (pupa_os_area_size): Likewise.
33551 (pupa_lower_mem): Likewise.
33552 (pupa_upper_mem): Likewise.
33553 (add_mem_region): New function.
33554 (compact_mem_regions): Likewise.
33555 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
33556 the size of the conventional memory and that of so-called upper
33557 memory (before the first memory hole).
33558 Instead of adding each found region to free memory, use
33559 add_mem_region and add them after removing overlaps.
33560 Also, add only 1/4 of the upper memory to free memory. The rest
33561 is used for loading OS images. Maybe this is ad hoc, but this
33562 makes it much easier to relocate OS images when booting.
33563
33564 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
33565 (pupa_enter_rescue_mode): Don't register initrd and module.
33566
33567 * kern/mm.c: Include pupa/dl.h.
33568
33569 * kern/main.c: Include pupa/file.h and pupa/device.h.
33570
33571 * kern/loader.c (pupa_loader_load_module_func): Removed.
33572 (pupa_loader_load_module): Likewise.
33573
33574 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
33575 ``.o''.
33576
33577 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
33578 (pupa_linux_tmp_addr): Likewise.
33579 (pupa_linux_real_addr): Likewise.
33580 (pupa_linux_boot_zimage): Likewise.
33581 (pupa_linux_boot_bzimage): Likewise.
33582
33583 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
33584 (pupa_upper_mem): Likewise.
33585 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
33586 module is too dangerous.
33587
33588 * include/pupa/loader.h (pupa_os_area_addr): Declared.
33589 (pupa_os_area_size): Likewise.
33590 (pupa_loader_set): Remove the first argument. Loader doesn't
33591 manage modules or initrd any longer.
33592 (pupa_loader_load_module): Removed.
33593
33594 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
33595 (linux_mod_SOURCES): New variable.
33596 (linux_mod_CFLAGS): Likewise.
33597
a13f9237 335982003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
33599
33600 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
33601 the length of a blocklist correctly.
33602
33603 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
33604 Use ioctl only if the OS file is a block device.
33605 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
33606 not very useful for normal files.
33607
33608 * kern/main.c (pupa_set_root_dev): New function.
33609 (pupa_load_normal_mode): Likewise.
33610 (pupa_main): Call those above.
33611
33612 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
33613 pupa_uint16_t.
33614
33615 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
33616
a5ffe966 336172003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33618
33619 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
33620 (setup): Configure the installed partition information and the
33621 dl prefix.
33622
33623 * loader/i386/pc/chainloader.c (my_mod): New variable.
33624 (pupa_chainloader_unload): New function.
33625 (pupa_rescue_cmd_chainloader): Refer itself.
33626 (PUPA_MOD_INIT): Save its own module in MY_MOD.
33627
33628 * kern/i386/pc/startup.S (install_partition): Removed.
33629 (version_string): Likewise.
33630 (config_file): Likewise.
33631 (pupa_install_dos_part): New variable.
33632 (pupa_install_bsd_part): Likewise.
33633 (pupa_prefix): Likewise.
33634 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
33635
33636 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
33637 and pupa/misc.h.
33638 (make_install_device): New function.
33639 (pupa_machine_init): Set the dl prefix.
33640
33641 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
33642 (buf): Renamed to ...
33643 (linebuf): ... this.
33644 (pupa_rescue_cmd_prefix): New function.
33645 (pupa_rescue_cmd_insmod): Likewise.
33646 (pupa_rescue_cmd_rmmod): Likewise.
33647 (pupa_rescue_cmd_lsmod): Likewise.
33648 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
33649 rmmod and lsmod.
33650
33651 * kern/mm.c (pupa_memalign): If failed even after invalidating
33652 disk caches, unload unneeded modules and retry.
33653
33654 * kern/misc.c (pupa_memmove): New function.
33655 (pupa_memcpy): Removed.
33656 (pupa_strcpy): New function.
33657 (pupa_itoa): Made static.
33658
33659 * kern/dl.c (pupa_dl_iterate): New function.
33660 (pupa_dl_ref): Likewise.
33661 (pupa_dl_unref): Likewise.
33662 (pupa_dl_unload): Return if succeeded or not.
33663 (pupa_dl_unload_unneeded): New function.
33664 (pupa_dl_unload_all): Likewise.
33665 (pupa_dl_init): Renamed to ...
33666 (pupa_dl_set_prefix): ... this.
33667 (pupa_dl_get_prefix): New function.
33668
33669 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
33670 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
33671 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
33672 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
33673 (pupa_install_dos_part): Declared.
33674 (pupa_install_bsd_part): Likewise.
33675 (pupa_prefix): Likewise.
33676 (pupa_boot_drive): Likewise.
33677
33678 * include/pupa/types.h: Fix a typo.
33679
33680 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
33681 pupa_memmove.
33682 (pupa_memmove): Declared.
33683 (pupa_strcpy): Likewise.
33684
33685 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
33686 pupa_mod_init takes one argument, its own module.
33687 (pupa_dl_unload_unneeded): Declared.
33688 (pupa_dl_unload_all): Likewise.
33689 (pupa_dl_ref): Likewise.
33690 (pupa_dl_unref): Likewise.
33691 (pupa_dl_iterate): Likewise.
33692 (pupa_dl_init): Renamed to ...
33693 (pupa_dl_set_prefix): ... this.
33694 (pupa_dl_get_prefix): Declared.
33695
33696 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 33697 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 33698 unloaded.
33699 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
33700 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
33701
33702 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
33703 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
33704
012d7999 337052003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
33706
33707 * util/i386/pc/pupa-setup.c (setup): Define the internal
33708 function find_first_partition_start at the top level, because GCC
33709 3.0.x cannot compile internal functions in deeper scopes
33710 correctly.
33711 (find_root_device): Use lstat instead of stat.
33712 Don't follow symbolic links.
33713 Fix the path-constructing code.
33714
33715 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
33716 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
33717 by a BLKGETSIZE ioctl first, because block devices don't fill
33718 the member st_mode of the structure stat on Linux.
33719 [__linux__] (linux_find_partition): Use a temporary buffer
33720 REAL_DEV for the working space. Copy it to DEV before returning.
33721 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
33722 buffer cache consistent.
33723 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
33724 strncmp. The previous value was merely wrong.
33725 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
33726
33727 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
33728 FAT size is 12. The previous value was merely wrong.
33729
33730 * kern/main.c (pupa_main): Don't split the starting message from
33731 newlines.
33732
33733 * kern/term.c (pupa_putchar): Put CR after LF instead of before
33734 LF, because BIOS goes crazy about character attributes in this
33735 case.
33736
1cc73a62 337372003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
33738
33739 * include/i386/pc/util/biosdisk.h: New file.
33740 * util/i386/pc/biosdisk.c: Likewise.
33741 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 33742
1cc73a62 33743 * Makefile.in (INCLUDE_DISTFILES): Added
33744 include/pupa/i386/pc/util/biosdisk.h.
33745 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
33746 directory util/i386/pc.
33747 (install-local): Added a rule for sbin_UTILITIES.
33748 (uninstall): Likewise.
33749
33750 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
33751
33752 * util/misc.c (xrealloc): New function.
33753 (pupa_malloc): Likewise.
33754 (pupa_free): Likewise.
33755 (pupa_realloc): Likewise.
33756 (pupa_stop): Likewise.
33757 (pupa_putchar): Likewise.
33758
33759 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
33760
33761 * include/pupa/util/misc.h (xrealloc): Declared.
33762
33763 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
33764 macro.
33765 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
33766 (PUPA_BOOT_MACHINE_BPB_END): ... this.
33767
33768 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
33769 [PUPA_UTIL] (pupa_fat_fini): Likewise.
33770
33771 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
33772 way should be implemented.
33773 [PUPA_UTIL] (pupa_fat_fini): Likewise.
33774
33775 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
33776 the size of NAME for safety.
33777 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
33778 0x88.
33779
33780 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
33781 (pupa_setup_SOURCES): Likewise.
33782
33783 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
33784
08b70fe8 337852002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
33786
33787 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
33788 bunch of pushl's from pusha, because this destroys the return
33789 value.
33790
62ddcc8f 337912002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
33792
33793 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
33794 This means that any missing prototypes could be fatal. Also, you
33795 must take care when writing assembly code. See the comments at
33796 the beginning of startup.S, for more details.
f19dbdb7 33797
62ddcc8f 33798 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
33799 compilation mechanism.
33800 (pupa_chainloader_real_boot): Likewise.
33801 (pupa_biosdisk_rw_int13_extensions): Likewise.
33802 (pupa_biosdisk_rw_standard): Likewise.
33803 (pupa_biosdisk_check_int13_extensions): Likewise.
33804 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
33805 (pupa_biosdisk_get_diskinfo_standard): Likewise.
33806 (pupa_get_memsize): Likewise.
33807 (pupa_get_mmap_entry): Likewise.
33808 (pupa_console_putchar): Likewise.
33809 (pupa_console_setcursor): Likewise.
33810 (pupa_getrtsecs): Use pushl instead of push.
33811
33812 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
33813 memory instead of the stack for a mmap entry, because some
33814 BIOSes may ignore the maximum size and overflow.
33815
33816 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
33817
33818 * genmk.rb (PModule#rule): Compile automatically generated
33819 sources with module-specific CFLAGS as well as other sources.
33820
9962ed99 338212002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33822
33823 * configure.ac: Check ld.
33824 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
33825 respectively, before checking endianness and sizes.
33826
33827 * Makefile.in (LD): New variable.
f19dbdb7 33828
abdfc3c5 338292002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33830
33831 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
33832
6a161fa9 338332002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33834
33835 * Changelog: New file.
33836